Control Builder Components Theory EPDOC XX16 en 501C
Control Builder Components Theory EPDOC XX16 en 501C
Control Builder Components Theory EPDOC XX16 en 501C
RELEASE 501
-2-
Contents 3
Chapter 1 - About This Document 38
1.1 Revision History 38
Chapter 2 - Control Builder Components 39
2.1 Control Builder Underlying Concepts 39
2.1.1 In the beginning or the Single-Loop Controller Reference 40
2.1.2 Experion architecture - partitioned functionality 41
2.1.3 Blocks for building process control operations 42
2.1.4 Naming convention- independent versus dependent 43
2.1.5 Full or expanded tag name 44
2.1.6 Parameter names 45
2.1.7 Naming restrictions and conventions 46
-3-
2.3.3 IO Unit load factors 68
-4-
4.1 About Relative References 108
4.2 Relative References structure rules 108
4.2.1 How relative reference matching function works 109
-5-
5.3 Implications for Control Builder Configuration 134
5.3.1 Multiple CPMs and ACEs 134
5.3.2 CEE execution and subscription rates 135
5.3.3 Function block support 135
5.3.4 Peer-to-peer connections and DEF and REF blocks 136
5.3.5 Peer-to-peer configuration example 136
5.3.6 Peer-to-peer configuration guidelines 139
5.3.7 Example to illustrate peer-to-peer configuration for non-CEE points 139
6.4.2 Example - Custom Algorithm Block (CAB) reads Time CDP 146
6.4.3 6.4.3 Example - Sequence Control Module (SCM) waits for a specified Time 147
6.4.4 Example - Sequence Control Module (SCM) records Time of process
command 147
-6-
7.3.4 Logic Blocks 155
7.3.5 Sequential Control Module (SCM) 156
7.3.6 Summary Of SCM Restart Behavior 159
7.3.7 Supporting SCM Functionalities 159
7.3.8 SCM Blocks 161
-7-
9.2.1 Inter Cluster Gateway configuration guidelines 180
9.2.2 When to use Inter Cluster Gateway 180
9.2.3 Reviewing Inter Cluster Gateway characteristics 181
9.2.4 Inter Cluster Gateway connectivity 182
-8-
11.2.7 Effects of BADOCOPT value on delay timer in various scenarios 210
11.2.8 Auxiliary memory usage for the parameters 210
11.2.9 Detail Displays 211
-9-
16.4 I/O Link Cable Status and Statistics 232
16.4.1 Periodic swap functionality 232
16.4.2 Periodic swap transition diagram 233
16.4.3 Enabling periodic channel swap 233
16.4.4 Viewing cable status and statistics 234
- 10 -
17.4.6 Event reporting 255
17.4.7 DI latched input point 255
17.4.8 DI sequence of events point 255
17.4.9 SOE definitions 256
17.4.10 SOE resolution considerations 256
17.4.11 DI SOE configuration considerations 257
19.1.4 Insertion type functional characteristics for regulatory control blocks 270
19.1.5 Functional requirements for Custom CAB algorithm for regulatory control
block 271
19.1.6 CAB insertions for Regulatory Control block parameters 272
19.1.7 Pin connections to inserted CAB instances 273
19.1.8 Insertion status and fail alarm for regulatory control blocks 274
19.1.9 Handling of insertion failure on regulatory control block 274
19.1.10 CAB insertion on regulatory control block configuration examples 274
19.1.11 Tuning Conversions from Interactive to Non-Interactive PID 280
- 11 -
19.4 About Red Tagging 287
19.4.1 Function of Red Tagging 288
19.4.2 Before red tagging a point 288
- 12 -
19.6.17 Mode shedding on timeout-ENHREGCALC 330
19.6.18 Override feedback processing-ENHREGCALC 330
19.6.19 Windup handling-ENHREGCALC 332
19.6.20 Windup processing-ENHREGCALC 332
19.6.21 Anti-Reset Windup Status-ENHREGCALC 334
19.6.22 Expressions 335
19.6.23 Parameters in Expressions 337
19.6.24 Guidelines for Writing Expressions 337
19.6.25 Enable/Disable switch example expression 339
19.6.26 String data support in expressions 339
19.6.27 Time support in expressions 339
19.6.28 Restart or point activation 341
19.6.29 ENHREGCALC parameters 341
- 13 -
19.8.6 Input descriptors-OVRDSEL block 373
19.8.7 Initializable outputs-OVRDSEL block 374
19.8.8 Output ranges and limits for OVRDSEL block 374
19.8.9 Output Indication Function-OVRDSEL block 375
19.8.10 Mode handling-OVRDSEL block 377
19.8.11 Timeout monitoring-OVRDSEL block 377
19.8.12 Timeout processing-OVRDSEL block 377
19.8.13 Bypass processing-OVRDSEL block 378
19.8.14 Bad input option 378
19.8.15 OVRDSEL Equations 378
19.8.16 Input switching 379
19.8.17 Output bias-OVRDSEL 379
19.8.18 Bad CV processing 379
19.8.19 Control initialization-OVRDSEL 379
- 14 -
19.9.18 Timeout processing-PID block 411
19.9.19 Output Indication Function-PID block 412
19.9.20 Windup handling-PID block 415
19.9.21 Windup processing 415
19.9.22 Anti-Reset Windup Status 417
19.9.23 Override feedback processing-PID block 418
19.9.24 PID parameters 419
- 15 -
19.11.1 Configuration example-PIDER block 456
19.11.2 Function 467
19.11.3 Operating modes and mode handling-PIDER block 468
19.11.4 Required inputs-PIDER block 468
19.11.5 Input ranges and limits-PIDER block 468
19.11.6 Initializable outputs-PIDER block 469
19.11.7 Control initialization-PIDER block 469
19.11.8 Output bias-PIDER block 470
19.11.9 Output ranges and limits-PIDER block 471
19.11.10 Direct or reverse control-PIDER block 471
19.11.11 Set Point Ramping-PIDER block 472
19.11.12 PV tracking 474
19.11.13 PID equations for PIDER block 475
19.11.14 PIDER equation variations 476
- 16 -
19.12.12 PV tracking-PIDFF block 505
19.12.13 Feedforward add or multiply action and equations-PIDFF block 506
19.12.14 Feedforward value status-PIDFF block 507
19.12.15 PID equations-PIDFF block 508
19.12.16 Gain options-PIDFF block 509
19.12.17 Output Indication Function-PIDFF block 510
19.12.18 Tuning Constant Change Considerations-PIDFF block 513
19.12.19 Timeout monitoring-PIDFF block 514
19.12.20 Timeout processing-PIDFF block 514
19.12.21 Windup handling-PIDFF block 514
19.12.22 Windup processing-PIDFF block 515
19.12.23 Anti-Reset Windup Status-PIDFF block 516
19.12.24 Bypassing feedforward control action-PIDFF block 517
19.12.25 Override feedback processing-PIDFF block 517
- 17 -
19.14.18 Anti-Reset Windup Status-POSPROP block 539
19.14.19 POSPROP parameters 540
- 18 -
19.18.5 Input ranges and limits-RATIOBIAS block 573
19.18.6 Initializable outputs-RATIOBIAS block 574
19.18.7 Output ranges and limits-RATIOBIAS block 574
19.18.8 Control initialization-RATIOBIAS block 575
19.18.9 Ratio bias option-RATIOBIAS block 575
19.18.10 Output bias-RATIOBIAS block 576
19.18.11 Timeout monitoring-RATIOBIAS block 578
19.18.12 Timeout processing-RATIOBIAS block 578
19.18.13 Override feedback processing 579
19.18.14 Output Indication Function-RATIOBIAS block 579
19.18.15 Windup handling-RATIOBIAS block 582
19.18.16 Windup processing-RATIOBIAS block 582
19.18.17 Anti-Reset Windup Status-RATIOBIAS block 584
19.18.18 RATIOBIAS parameters 585
- 19 -
19.20.3 Inputs-REGCALC block 620
19.20.4 Input ranges and limits-REGCALC block 620
19.20.5 Initializable outputs-REGCALC block 620
19.20.6 Output ranges and limits-REGCALC block 621
19.20.7 Assignable outputs-REGCALC block 621
19.20.8 Output assignment rules-REGCALC block 622
19.20.9 Control initialization-REGCALC block 623
19.20.10 Output bias-REGCALC block 623
19.20.11 Timeout monitoring-REGCALC block 625
19.20.12 Timeout processing-REGCALC block 625
19.20.13 Override feedback processing-REGCALC block 626
19.20.14 Output Indication Function-REGCALC block 627
19.20.15 Windup handling-REGCALC block 629
19.20.16 Windup processing-REGCALC block 629
- 20 -
19.22.10 Control initialization-REGSUMMER block 651
19.22.11 Override feedback processing-REGSUMMER block 652
19.22.12 Output Indication Function-REGSUMMER block 653
19.22.13 Windup processing-REGSUMMER block 655
19.22.14 REGSUMMER parameters 657
- 21 -
19.24.13 Input switching-SWITCH block 694
19.24.14 Output bias-SWITCH block 694
19.24.15 Error handling-SWITCH block 696
19.24.16 Control initialization-SWITCH block 696
19.24.17 Override feedback processing-SWITCH block 696
19.24.18 Output Indication Function-SWITCH block 697
19.24.19 Windup processing-SWITCH block 699
19.24.20 Anti-Reset Windup Status-SWITCH block 701
19.24.21 SWITCH parameters 701
- 22 -
22.4 REQTEXTARRAY Block 725
22.4.1 Function-REQTEXTARRAY Block 729
22.4.2 Input/Output-REQTEXTARRAY Block 729
22.4.3 REQTEXTARRAY parameters 729
- 23 -
23.4 CTUD (COUNTER UP/DOWN) Block 747
23.4.1 Function-CTUD block 748
23.4.2 Inputs-CTUD block 748
23.4.3 Outputs-CTUD block 750
23.4.4 Edge or Level trigger mechanism-CTUD block 750
23.4.5 Supported algorithms-CTUD block 752
23.4.6 Counter overflow and underflow conditions-CTUD block 753
23.4.7 Effects of restart or point activation on CTUD 755
23.4.8 Effects of Import or Export on CTUD 755
23.4.9 Effects of Checkpoint operations CTUD 755
23.4.10 Parameter error handling-CTUD block 756
23.4.11 CTUD parameters 757
- 24 -
23.7.4 Input-ENHGENLIN block 772
23.7.5 Output-ENHGENLIN block 773
23.7.6 Error Handling-ENHGENLIN block 773
23.7.7 Strategy Optimization using ENHGENLIN block 774
23.7.8 ENHGENLIN block - Usage Scenario 774
23.7.9 ENHGENLIN parameters 781
- 25 -
23.11.4 Outputs-ROC block 801
23.11.5 Error handling-ROC block 801
23.11.6 ROC parameters 802
- 26 -
24.1.2 CAB Insertions for DATAACQ block parameters 830
24.1.3 CAB insertion configuration considerations 831
24.1.4 Insertion type functional characteristics-DATAACQ block 831
24.1.5 Pin connections to inserted CAB instances-DATAACQ block 832
24.1.6 CAB Insertion status and fail alarm-DATAACQ block 832
24.1.7 Handling of insertion failure-DATAACQ block 833
24.1.8 CAB insertion configuration examples-DATAACQ block 833
24.1.9 Input-DATAACQ block 838
24.1.10 Input ranges and limits-DATAACQ block 838
24.1.11 P1 status 838
24.1.12 PV Characterization-DATAACQ block 839
24.1.13 Input filtering-DATAACQ block 839
24.1.14 Input clamping-DATAACQ block 840
24.1.15 Low signal cut off-DATAACQ block 840
- 27 -
25.2.14 Error handling-PITOTALIZER block 851
25.2.15 Restart and activation-PITOTALIZER block 852
25.2.16 PITOTALIZER parameters 852
- 28 -
26.1.34 Output command-DEVCTL block 883
26.1.35 Logic override OPREQ 884
26.1.36 DEVCTL parameters 884
26.1.37 Faceplate for VFD applications 884
- 29 -
27.17.1 CheckBool functionality 940
27.17.2 CheckBool scenario 1 942
27.17.3 CheckBool scenario 2 942
27.17.4 CheckBool scenario 3 943
27.17.5 CheckBool scenario 4 944
- 30 -
29.3.14 Override Interlocks-HTMOTOR block 984
29.3.15 Configurable Override/Permissive Interlock Bypass-HTMOTOR block 984
29.3.16 Alarms-HTMOTOR block 984
29.3.17 Seal-in option-HTMOTOR block 985
29.3.18 FIRSTUP functionality-HTMOTOR block 986
29.3.19 Initialization Manual condition-HTMOTOR block 986
29.3.20 OP initialization option-HTMOTOR block 986
29.3.21 Initialization Manual condition with Safety Override Interlock, Override
Interlocks, LocalMan, and OP initialization-HTMOTOR block 986
29.3.22 Initialization with pulse output-HTMOTOR block 987
29.3.23 Initialization request flags-HTMOTOR block 987
29.3.24 OP and DO initialization after load-HTMOTOR block 987
29.3.25 Maintenance statistics-HTMOTOR block 987
29.3.26 Output requests-HTMOTOR block 988
29.3.27 Output command-HTMOTOR block 988
- 31 -
29.5.15 Configurable Override/Permissive Interlock Bypass-LTMOTOR block 1013
29.5.16 Alarms-LTMOTOR block 1013
29.5.17 Seal-in option-LTMOTOR block 1014
29.5.18 Initialization Manual condition-LTMOTOR block 1014
29.5.19 OP initialization option-LTMOTOR block 1014
29.5.20 Initialization Manual condition with Safety Override Interlock, Override
Interlocks, LocalMan, and OP initialization-LTMOTOR block 1015
29.5.21 Initialization with pulse output-LTMOTOR block 1015
29.5.22 Initialization request flags-LTMOTOR block 1015
29.5.23 OP and DO initialization after load-LTMOTOR block 1016
29.5.24 Maintenance statistics-LTMOTOR block 1016
29.5.25 Output requests-LTMOTOR block 1016
29.5.26 Output command-LTMOTOR block 1016
29.5.27 Logic override OPREQ 1017
29.5.28 LTMOTOR parameters 1017
- 32 -
29.7.14 Override Interlocks-SOLENOID block 1041
29.7.15 Configurable Override/Permissive Interlock Bypass-SOLENOID block 1041
29.7.16 Alarms-SOLENOID block 1042
29.7.17 Seal-in option-SOLENOID block 1043
29.7.18 Initialization Manual condition-SOLENOID block 1043
29.7.19 OP initialization option-SOLENOID block 1043
29.7.20 Initialization Manual Condition with Safety Override Interlock, Override
Interlocks, LocalMan, and OP Initialization-SOLENOID block 1044
29.7.21 Initialization request flags-SOLENOID block 1044
29.7.22 OP and DO initialization after load-SOLENOID block 1044
29.7.23 Maintenance statistics-SOLENOID block 1044
29.7.24 Output requests-SOLENOID block 1045
29.7.25 Output command-SOLENOID block 1045
29.7.26 Logic override OPREQ 1046
29.7.27 SOLENOID parameters 1046
- 33 -
29.8.22 Initialization request flags-VALVEDAMPER block 1069
29.8.23 OP and DO initialization after load-VALVEDAMPER block 1069
29.8.24 Maintenance statistics-VALVEDAMPER block 1069
29.8.25 Output requests-VALVEDAMPER block 1069
29.8.26 Output command-VALVEDAMPER block 1070
29.8.27 Logic override OPREQ-VALVEDAMPER block 1071
29.8.28 VALVEDAMPER parameters 1071
- 34 -
31.6.2 Configuration example-DOREF block 1098
- 35 -
32.4.6 DIGACQ parameters 1121
- 36 -
32.12.2 Execution Status-PUSH block 1140
32.12.3 Store Status-PUSH block 1141
32.12.4 PUSH parameters 1141
- 37 -
CHAPTER
Provides general and detailed theoretical or how it works information for selected Control Builder
related functions and the control library function blocks. It does not cover the hardware
associated blocks like the Control Processor Module (CPM) and Input/Output Module blocks.
- 38 -
CHAPTER
ATTENTION
The C200E Controller is an enhanced C200 Controller with additional user memory and an
enhanced function block set. The C200E Controller provides increased user memory from
4 MB to 16 MB.
- 39 -
Chapter 2 - Control Builder Components
- 40 -
Chapter 2 - Control Builder Components
Function Description
Human Interface The user's “window-on-the-process” as well as the configuration for the
controller's functionality. It usually provides varying levels of access for
viewing and changing process related parameters, such as the:
l Process Variable (PV)
l Set Point (SP)
l Output (OP)
l Tuning Constants, and
l Alarm Conditions.
Communications The communications driver serves as the translator for the data that flows
Driver between the human interface and the control data process or functions. It
translates signals into appropriate display data or control action.
Control Data The control data processor defines the operating characteristics for the
Processor controller which is usually stored in memory as the controller's configuration
database. It solves the configured or selected Proportional, Integral, and
Derivative (PID) control equation and usually runs self-diagnostic tests.
I/O Interface The I/O interface links all analog and digital I/O to the control data processor
for communications with field devices. It provides any signal conversion
needed to condition an input or output for use by the processor or field
device.
- 41 -
Chapter 2 - Control Builder Components
Component A block which exists only as a component of a PID (All blocks listed in CM
container block. It appears as a generic named and SCM Libraries in
block with configurable pins and parameters within Control Builder, with the
a container block in Control Builder. Note that a exception of CM and SCM, of
component block may also be referred to as a Basic course.)
Function Block, or just a Basic Block.
- 42 -
Chapter 2 - Control Builder Components
In this document, we use “Function Block” as a generic term, which applies to all three types of
blocks, listed above. Once you begin using the Control Builder application, you will be able to readily
associate block type with the graphic style used to represent a given Function Block on the display.
ATTENTION
The HANDLER blocks are component type blocks even though they do contain STEP and
TRANSITION function blocks. Within the CEE, they are implemented as components of the
SCM block and not as container type blocks.
The following figure gives a block diagram view of how FBs are typically linked through Control
Builder configuration.
- 43 -
Chapter 2 - Control Builder Components
While the Experion system obviously 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
by default. This means 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. This means 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.
Figure 2.4 Component block names are dependent on container block tag name for system wide
recognition.
- 44 -
Chapter 2 - Control Builder Components
For example, the Full Tag Name for a PID block named PIDA in a Control Module named CM1
would be:
l CM1.PIDA
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:
l CM1.PIDA.OP
l To reference the Execution State (EXECSTATE) parameter of a Control Module named
PIDLOOP, you identify the parameter as follows:
l PIDLOOP.EXECSTATE
The main thing to remember about naming is that you must specify a unique name for the
Function Block or parameter that you want recognized on a system wide basis.
The following figure illustrates some typical Tag Name assignments used in a sample Control
Builder configuration.
- 45 -
Chapter 2 - Control Builder Components
Figure 2.5 Sample Control Builder configuration with sample tag name assignments.
See the following table for a description of the callouts in the figure above.
Callout Description
1 Tag names for CPM and CEE with MAC address of 01 and CPM installed in slot
number 1. (CPM0101, CEE0101)
Note that the format for these tag names is used for example purposes only.
2 Configured tag name for analog input type IOM FB. (AI_IOM_01)
5 Configured dependent block names for component FBs. (DACA, PIDA, AI00, AO00)
6 Configured full tag name for connection to a parameter in another Control Module.
(TIC101.PIDA.OP)
- 46 -
Chapter 2 - Control Builder Components
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.
- 47 -
Chapter 2 - Control Builder Components
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 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 will appear 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.
- 48 -
Chapter 2 - Control Builder Components
- 49 -
Chapter 2 - Control Builder Components
s up to the maximum
FTE Nodes allowed
per FTE Community.
(See Note 1)
(See Note 2)
- 50 -
Chapter 2 - Control Builder Components
Notes:
1. SCADA connected PLCs can still be connected through ControlNet/PCIC when
C200/C200Es or C300s reside on the FTE supervisory control network.
2. When any FTEB is present in the FTE community the limit is 200 FTE nodes.
3. SCADA PLCs do not count as “Controllers” against this limit on FTE.
4. Non-redundant 10Mbps Ethernet using the TC-CEN011 (obsolete) or TC-CEN021.
5. L3 FTE based servers will NOT support CIP Ethernet supervisory control network.
6. Only qualified for Redundant Servers + 10 non-Redundant Controllers.
7. FIMs are NOT supported on a supervisory CIP Ethernet system in any configuration.
8. ACEs are NOT supported on a supervisory CIP Ethernet system in any configuration.
9. Only 1 PCIC Card per computer supported.
10. Each of these nodes uses 1 PCIC connection from the server regardless of where they
reside in the system. For example, Supervisory or I/O ControlNet: CPM, IOLIM, FIM. Each
ControlNet resident PLC should be limited to 2 connections, if configured as SCADA
controllers (this is configured in RSLinx).
11. Default system is configured for 24 nodes (UMAX) but can be updated to 32 only if the
actual number of physical nodes required exceeds 24. (Any unconnected but configured
MAC addresses consume bandwidth time on the ControlNet.)
ATTENTION
The CEE of the C200E Controller supports only 50 ms base execution period.
- 51 -
Chapter 2 - Control Builder Components
Configurable Values for CM/SCM 5, 10, 20, 50, 100, 200 50, 100, 200, 500, 1000,
Execution Periods ms. 2000 ms.
Configurable Values of Peer Update 10, 20, 50, 100, 200, 500, 100, 200, 500, 1000 ms.
Rates (period). 1000 ms.
(See Note)
(Defines the period at which data is
updated for all 'pull/get' requests for
peer data required by all blocks within
a CEE.)
Note:
Supervisory CIP Ethernet LAN clusters only guarantee a Pull/Get Request Rate of 500
milliseconds or greater. Faster Pull/Get rates can be configured, however, data arrival at the
configured rate cannot be guaranteed for rates faster than 500 milliseconds.
ATTENTION
The PROFIBUS interface Module SST-PB3-CLX-HWL (SAP item 1120160021),
manufactured by Molex Inc. (formerly Woodhead / SST), supersedes models SST-PBF-CLX
and SST-PBF-CLX-RLL.
- 52 -
Chapter 2 - Control Builder Components
ATTENTION
The CEE of the C200E Controller supports only 50 ms base execution period.
The following table lists performance related values for C200/C200E Controller communications.
The abbreviation PPS stands for Average Parameters Per Second and PPM stands for Average
Parameters Per Minute.
Max Request/Response Parameter Access Rate 3000 PPM Read 3000 PPM Read
(Includes all Slow Server Data Requests, e.g. 1500 PPM Write 1500 PPM Write
Greater than 10 sec OPC data, Slow History,
Data Writes, etc.)
Maximum Initiator Pull/Get Request Rate to all 500 PPS 500 PPS
target nodes (incoming data)10
- 53 -
Chapter 2 - Control Builder Components
*Remote CEEs that this C200/C200E can (Includes total of (Includes total of other
initiate a peer connection with other ACEs, ACEs, SIM-ACEs,
C200/C200Es, C200/C200Es, C300s,
C300s, SIM- LIOMs, SIM-C200Es, SIM-
C200Es and/or C300s, IOLIMs and/or
SIM-C300s) Primary FIMs)
- 54 -
Chapter 2 - Control Builder Components
Notes:
1. CIP Ethernet is a non-redundant network that should not be used for a mission critical
control strategy
2. For CIP Ethernet Supervisory clusters; the maximum store rate is 500 msec.
3. Series A FIM and IOLIM have fixed publish rates, therefore, these rates and capacities are
not applicable to FIM or IOLIM Peer-Peer connections.
4. Currently the SCM Step and the PUSH Block are the only block types that can initiate peer
push/store requests for CEE-to-CEE peer communications.
5. Does not include Exchange Peer-Peer
6. May be limited by other Connection capacities.
7. DHRIO Module only counts as 1 Target Device even when communicating with multiple
PLCs on either of the two DH+ networks per DHRIO.
8. See C300 IO capacityfor DHRIO capacities supported.
9. An additional 4000 PPS is supported exclusively to IOLIMs. Response Rate to all other
peer and display clients remains 2000 PPS. Overall Response Rate with IOLIMs is
effectively 6000 PPS.
10. incoming peer data benefits from the RBE (Report by Exception) comparisons done at the
data source, so only changed parameters contribute to the incoming PPS load.
11. Outgoing peer data capacity is defined/measured before the RBE (Report by Exception)
comparisons are done, so all parameters requested as peer data contribute to the
outgoing PPS load, whether they are changing or not and sent over the network or not.
Maximum Initiator Whole Array Pull/Get Request Rate (to all peers) 500 EPS
Maximum Target Node Response Rate to Whole Array Pull/Get Requests (from all 500 EPS
initiator nodes)
- 55 -
Chapter 2 - Control Builder Components
Responder's Maximum Whole Array Connections (from all peers) using pub-sub 20
ATTENTION
The CEE of the C200E Controller supports only 50 ms base execution period.
The following table lists the processing resources for a C200/C200E Controller in Processing
Units (PU). The PU represents a platform independent amount of processing resources (time)
required to complete a predefined amount of computational (control) work.
Notes:
1. Available Processing Units at indicated maximum loading cycle percentage. For example,
for a 50 ms non-redundant CEE, it may be configured to use all of the 3600 PU. The CPU
load must be balanced across all cycles. No single cycle should exceed 60% in its
CPUCYCLEAVG value.
2. Maximum Cycle Loading: Over a cycle (0-39), the “Average CPU Used” (CPUCYCLEAVG)
statistic is not to exceed the stated maximums.
- 56 -
Chapter 2 - Control Builder Components
Maximum Total Number of CMs, SCMs and IOMs Configurable per l C200: 1000
C200/C200E CEE
l C200E:
4095
ATTENTION
C200 / C200E will continue to support a maximum of 10 parallel paths only, against a
maximum of 15 parallel paths supported by C300, SIM_C300, ACE and SIM_ACE.
I/O Link Speeds Available 375 Kbaud (PM 750 Kbaud (Series
I/O Link) C I/O Link)
750 Kbaud (Series
C I/O Link)
Configurable Values for CM/SCM Execution Periods 50, 100, 200, 20, 40, 80, 200,
500ms, 1s, 2s. 400, 800ms.
Configurable Values of Peer Update Rates (period). 100, 200, 500, 100, 200, 500,
1000 ms 1000 ms.
(Defines the period at which data is updated for all
‘pull/get’ requests for peer data required by all blocks
within a CEE.)
- 57 -
Chapter 2 - Control Builder Components
Notes:
1. Currently, every C300 must be connected to a Control Firewall.
2. A GPS connector is available on the IOTA, but it is not supported until a future release.
3. C300 - 20mS CEE Controller hardware is same as the C300 - 50ms Controller, and only
the C300 - 20mS CEE firmware is different.
Redundancy Cable Lengths 36, 48, 60, 84 inches 36, 48, 60, 84 inches
Notes:
1. Dual I/O Link failures may cause longer interruption times in the order of several
seconds.
- 58 -
Chapter 2 - Control Builder Components
- 59 -
Chapter 2 - Control Builder Components
Max Initiator Whole Array Request Rate 2500 EPS 625 EPS
(to all peers)
Max Target Node Response Rate to Whole 1500 EPS 375 EPS
Array Pull/Get Requests
(from all initiator nodes)
Target Node Whole Array Response Rate 1000 EPS 250 EPS
to Push/Store Requests
(from all initiator nodes)
- 60 -
Chapter 2 - Control Builder Components
Notes:
1. Series C FIM has fixed publish rate, therefore, these rates and capacities are not
applicable to Series C FIM Peer-Peer connections.
2. Exchange Peer-Peer does not count against this limit.
3. 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.
4. One DHRIO Module only counts as 1 Target Device even when communicating with
multiple PLCs on either of the two DH+ networks per DHRIO.
5. Redundant devices that use two PCDI Master blocks count as only one device.
6. PCDI impact on C300 performance can be estimated with the C300 Performance Model
worksheet; important factors are number of PCDI Master blocks, number of PCDI Request
block messages per second, and message data size.
7. Incoming peer data benefits from the RBE (Report by Exception) comparisons done at the
data source, so only changed parameters contribute to the incoming PPS load.
8. Outgoing peer data capacity is defined/measured before the RBE (Report by Exception)
comparisons are done, so all parameters requested as peer data contribute to the
outgoing PPS load, whether they are changing or not and sent over the network or not.
For Maximum Cycle Loading, over a cycle (0-39), the “Average CPU Used” (CPUCYCLEAVG)
statistic is not to exceed the stated maximums.
- 61 -
Chapter 2 - Control Builder Components
50mSec 20mSec
CEE CEE
Maximum Available C300 CEE Memory Resources 16000 MU 16000 MU
Maximum Total Number of CMs, SCMs, and IOMs Configurable 4095 4095
per C300 CEE
See Note.
Redundancy Supported No
30, 40 sec
1, 2, 5,10, 20, 30
min
1,2,4,8,12, 24 hr
NOPERIOD
- 62 -
Chapter 2 - Control Builder Components
Maximum ACE peer capacity per update rate choices 500@ 500 ms
1000 @ 1 sec
2000 @ 2 sec
5000 @ 5 sec
10000 @ 10 sec
- 63 -
Chapter 2 - Control Builder Components
Notes:
- 64 -
Chapter 2 - Control Builder Components
Maximum Total Number of CMs, SCMs and IOMs Configurable per ACE CEE 4095
ATTENTION
The CEE of the C200E Controller supports only 50 ms base execution period.
The following table lists I/O configuration constraints you should observe to avoid overloading the
C200/C200E Controller and impacting its ability to operate correctly.
- 65 -
Chapter 2 - Control Builder Components
- 66 -
Chapter 2 - Control Builder Components
Notes:
1. See the IO Unit Load Factors below for details.
2. Specific IO Devices may be further limited as described elsewhere.
3. FIM-only chassis or redundant chassis pairs do not count against this limit
4. PM I/O chassis do not count against this limit
5. This limit can be exceeded under special conditions
6. The drives have to reside on an isolated I/O network separate from standard Series A
chassis or Rail I/O
7. Each SIM FTA is the equivalent of 4 IO UNITS in the 64 IO per CPM calculation and the 24
IO per CNI calculation.
8. Each FIM counts as 2 IO UNITS in the 64 IO/CPM calculations above
9. Primary FIM counts as 2 IO UNITS in the 64 IO/CPM calculations above. Each FIM pair
counts as 4 IO Units in the 24 IO Units per downlink CNI calculation.
10. The C200/C200E Controller supports up to a total of 64 I/O Units which can be calculated
as:
PMIO I/O Units + Fieldbus IO Units = 64
Where …
- 67 -
Chapter 2 - Control Builder Components
Notes:
The C300 50ms controller strategies cannot be imported to a C300 - 20, as CM and IOM
assignments will fail.
To modify the exported file, change the CM Periods and IOM Scan rates to a value, which is
supported by the C300 - 20 and then import the exported file to a C300 - 20 controller. These
CMs can only contain function blocks that are supported by C300 - 20 controller.
- 68 -
Chapter 2 - Control Builder Components
1 (for 64 Unit/CPM
limit)
1.5 (for 24 Unit/CNI
limit)
C300:
2 (for 64 Unit/C300
Limit
and 16 Unit/FTEB
Limit)
- 69 -
Chapter 2 - Control Builder Components
The scheduling considerations for a given FB type are discussed in the following sections.
- 70 -
Chapter 2 - Control Builder Components
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 will be rejected if the configured scan period is not supported by the 5 ms CEE or 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 or to 200 milliseconds for a 5 ms CEE, when the CEE is loaded to a Controller. The following
figure provides a graphical interpretation of how the processing of some sample Control Module
configurations would be scheduled across the timing cycles for a 50 ms CEE.
Figure 2.7 Cycle time loading for sample container block configurations for a 50 ms CEE.
For example, a Control Module block with an Execution Period of 200 milliseconds and a Phase of
1 will run in cycles 1, 5, 9, …,37. Another Control Module block with an Execution Period of 200
milliseconds and a Phase of 2 will run in cycles 2, 6, 10, …,38. The entry value range for the
Execution Phase is -1 and 0 to 39. However, the system will accept and clamp values outside the
appropriate range for a given Period as long as the value is within the overall entry range.
Obviously, a block with an Execution Period of 50 milliseconds will always be evenly distributed,
since it will run in every cycle. The following table identifies the timing cycles in which a container
FB executes for the given combination of Execution Period and Phase values. For now, a Phase
value of -1 is changed to 0. In the future, a Phase value of -1 will instruct the CEE to assign Phase
values that will distribute the overall-processing load.
- 71 -
Chapter 2 - Control Builder Components
ATTENTION
This same scheduling concept applies for the ACE supervisory controller but for periods
from 500 milliseconds to 20 seconds.
10 100 0 0, 2, 4, . . ., 38
10 100 1 1, 3, 5, . . ., 39
20 200 0 0, 4, 8, . . ., 36
20 200 1 1, 5, 9, . . ., 37
20 200 2 2, 6, 10, . . ., 38
20 200 3 3, 7, 11, . . ., 39
100 1000 0 0, 20
100 1000 1 1, 21
100 1000 2 2, 22
100 1000 3 3, 23
100 1000 4 4, 24
100 1000 5 5, 25
100 1000 7 7, 27
100 1000 8 8, 28
- 72 -
Chapter 2 - Control Builder Components
200 2000 1 1
200 2000 2 2
200 2000 : :
200 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. This means the block with the lowest Order in CEE
value configured executes first. If both blocks have the same Order in CEE value, the CEE
determines the order of execution and maintains it.
C300 Execution Periods of 5 sec, 10 sec, 20 sec, 30 sec, and 1 min should only be used for
Control Modules with Profit Controller blocks. For more information on Profit Controller blocks in
CEE, see the Experion Profit Controller User's Guide.
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, although keeping 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 were 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.
- 73 -
Chapter 2 - Control Builder Components
With R400, 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 double-clicking the
parameter on the FB faceplate.
ATTENTION
any change made to the parameter value is visible only on the project side. To view the
configured value on the monitor side, load the modified strategy.
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.
- 74 -
Chapter 2 - Control Builder Components
Input type IOCHANNEL FBs do a sample and hold operation when they execute. IOCHANNEL FBs
read data from the associated IOM FB and hold that data. If the parent CM has an Execution
Period greater than 50 milliseconds, the input IOCHANNEL FBs will hold values static even if the
corresponding data is changing at the IOM FB.
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.
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 will ensure that the Control Module acts as a register moving the newest
input value through the registers from PV[1] to PV[10].
- 75 -
Chapter 2 - Control Builder Components
l ACE running instances of CAB types with string or time Value Custom Data Parameters that
- 76 -
Chapter 2 - Control Builder Components
can cause the memory to increase. Refer to the Custom Algorithm Block and Custom Data
Block User's Guide for more information about Organizing CAB programs for best performance.
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.
Obviously, you must change a CEE configuration that causes regular overruns by reducing the
total load or improving the balance of the load across the timing cycles.
These considerations are briefly reviewed in the following sections to provide general background
information only.
l Data categories
l Container and self-standing blocks load versus states
l Load error messages
l RAM Retention Start Up (RRSU)
- 77 -
Chapter 2 - Control Builder Components
Data Description
Category
Live 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 Data that does not change frequently enough to be considered “Live” data. It
Constant 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.
Structural 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.
The following table summarizes the state parameter status versus FB load permissions.
- 78 -
Chapter 2 - Control Builder Components
Severity Description
Category
Warning The store of an invalid parameter is being accepted with applied qualification. For
example, error message “OPHILM - Value Clamped Warning” tells you 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 tells you parameter TMOUTMODE is not operative for this
block configuration.
Severe The load of a block is being stopped. (Note that the load of other container blocks
Error will continue, if applicable). For example, error message “CM17 - Maximum
Available User Memory Exceeded” tells you 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 will as block configuration
load related stores. For example, an error message can be generated for an on-line parameter
store if its value or other conditions are incorrect.
- 79 -
Chapter 2 - Control Builder Components
per module and Memory Resource usage. The Processings are computed as “Processing
Resource Consumption (PU/module execution) divided by Execution Period (sec/module
execution)”. Refer to the previous C200/C200E, C300, and ACE processing and memory resource
sections for more information about the terms PU and MU. The following typical requirements also
apply for the ACE supervisory controller.
ATTENTION
The following Control Builder Block Libraries will consume the extra Memory Units listed,
when the first block of a given type is loaded to the C200/C200E Controller:
l RAIL_IO_HAZ = 125 MU
l RAIL IO = 125 MU
l EXCHANGE = 70 MU
l PLUSEINPUT = 100 MU
l FBUSIF = 90 MU
- 80 -
Chapter 2 - Control Builder Components
- 81 -
Chapter 2 - Control Builder Components
Note:
1. Total Processing Resources (PU/sec) per module are
computed as = Processing Resource Consumption
(PU/module execution) / Execution Period (sec/module
execution).
2. Memory usage for first module instance.
3. Memory usage for every subsequent module instance.
4. PID-PL use 1.4 X the PU values listed here.
AB_DRIVE_IF 90 MU
AGA 172 MU
DNETIF 106 MU
EXCHANGE 89 MU
HARTIO 105 MU
- 82 -
Chapter 2 - Control Builder Components
PULSEINPUT 90 MU
RAIL_IO 120 MU
RAIL_IO_HAZ 107 MU
(Per Module)
50 ms C300 50 ms C300
(PU/Module (MU/Module)
Execution)
Typical I/O Module 0.2 0.5
(Average consumption of available IOMs)
- 83 -
Chapter 2 - Control Builder Components
(Per Module)
50 ms C300 50 ms C300
(PU/Module (MU/Module)
Execution)
Device Control Module 1.3 2.3
(2 DI, 2 DO, 1 DevCtl, 5 Logic FBs)
Sequence Control Module with an alias table size of 45 rows 5.0 151.5
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 5.0 156.3
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
- 84 -
Chapter 2 - Control Builder Components
(Per Module)
50 ms C300 50 ms C300
(PU/Module (MU/Module)
Execution)
The RCM executes 5 Phases in parallel.
NOTES:)
1. Total Processing Resources (PU/sec) per module are computed as = Processing Resource
Consumption (PU/module execution) / Execution Period (sec/module execution).
2. Memory usage for first module instance.
3. Memory usage for every subsequent module instance.
4. PID-PL use 1.4 X the PU values listed here.
The C300 - 20msCEE controller supports all the modules except Sequence Control Module (SCM)
and Recipe Control Module (RCM) with same Memory Resource Usage.
- 85 -
Chapter 2 - Control Builder Components
- 86 -
Chapter 2 - Control Builder Components
NOTES:
1. Total Processing Resources (PU/sec) per module are computed as = Processing Resource
Consumption (PU/module execution) / Execution Period (sec/module execution).
2. Memory usage for first module instance.
3. Memory usage for every subsequent module instance.
4. PID-PL use 1.4 X the PU values listed here.
(Per Module)
500ms ACE 500ms ACE
CEE CEE
(PU/Module
Execution) (MU/Module)
Analog Digital Acquisition Module 3.4 7.3
(10 Numerics, 10 DataAcq FBs)
- 87 -
Chapter 2 - Control Builder Components
(Per Module)
500ms ACE 500ms ACE
CEE CEE
(PU/Module
Execution) (MU/Module)
Logic Control Module 1.3 3.9
(20 Logic FBs)
Sequence Control Module with an alias table of size 45 rows 3.0 128.5
by 100 columns
Sequence Control Module with an alias table of size 500 rows 3.0 124.5
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
- 88 -
Chapter 2 - Control Builder Components
(Per Module)
500ms ACE 500ms ACE
CEE CEE
(PU/Module
Execution) (MU/Module)
Recipe Control Module B 2.7 19.3
(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.)
The RCM executes 5 Phases in parallel.
NOTES:
1. Total Processing Resources (PU/sec) per module are computed as = Processing Resource
Consumption (PU/module execution) / Execution Period (sec/module execution).
2. Memory usage for first module instance.
3. Memory usage for every subsequent module instance.
4. PID-PL use 1.4 X the PU values listed here.
- 89 -
Chapter 2 - Control Builder Components
Category Description
Core CPU CPU load from core services independent of any load imposed by user
Load configuration.
Dynamic CPU load imposed circumstances, which are unaccounted for by block
CPU Load configuration. This includes such factors as CPU loading From:
notification report and distribution, and
parameter response Server Cache.
Configured CPU load imposed by the user's control strategy configuration. You can estimate
CPU Load this load by determining the number of “typical module types” as described in the
previous Typical Requirements section.
ATTENTION
This is not intended for the C300 - 20mS CEE Controller.
ABS 48 40 48
ACEFB 232
AICHANNEL 100 88
AND 44 36 44
- 90 -
Chapter 2 - Control Builder Components
CABLOCK 404
CEEACEFB 37752
CEEC300FB 30164
CEEFB 29784
CHECKBAD 44 36 44
CONTACTMON 68 68
CPMFB 516
DELAY 48 40 48
DICHANNEL 100 88
DIV 56 48 56
EHGOUT 470
EQ 80 72 80
EXP 48 40 40
FLAG 52 44 52
- 91 -
Chapter 2 - Control Builder Components
FTRIG 36 28 36
GE 80 72 80
GT 80 72 80
HANDLER 44 36 44
HIWAYOUT 472
LE 80 72 80
LN 48 40 48
LOG 48 40 48
LT 80 72 80
MAXPULSE 48 40 48
MINPULSE 48 40 48
MOD 56 48 56
MUX 56 48 68
MVOTE 68 64 68
NAND 44 36 44
NE 80 72 80
NEG 48 40 48
NOR 44 36 44
NOT 36 28 36
- 92 -
Chapter 2 - Control Builder Components
NUMERICARRAY 48 40 48
OFFDELAY 48 40 48
ONDELAY 48 40 48
OR 44 36 44
PCDI_MASTER 25512
PCDI_FLAGARRCH 13512
PCDINUMARCH 9140
PCDINTEXTARRCH 3232
POW 56 48 56
PULSE 48 40 48
QOR 60 52 60
ROL 40 32 40
ROR 40 32 40
ROUND 48 40 48
RS 36 28 36
- 93 -
Chapter 2 - Control Builder Components
SecCPMFB 400
SEL 40 32 40
SELREAL 60 52 60
SHL 40 32 40
SHR 40 32 40
SQRT 48 40 48
SR 36 28 36
STARTSIGNAL 44 36 44
SUB 56 48 56
TEXTARRAY 48 40 48
TIMER 72 64 72
TRIG 36 28 36
TRUNC 48 40 48
UCNOUT 472
WATCHDOG 48 40 48
XOR 44 36 44
- 94 -
Chapter 2 - Control Builder Components
IN 92 PROFIDRIVEDV 184
PICFB 132
- 95 -
Chapter 2 - Control Builder Components
TOTALIZER 204
- 96 -
CHAPTER
- 97 -
Chapter 3 - Control Module Independence
Infrastructure services
The infrastructure services would consist of a variety of system enablers, two of the most
important being a Real Time Operating System, vendor purchased or custom developed, and a set
of Communication Services. Another important set of infrastructure services would provide a
runtime environment and a set of utilities for use by the Application Program.
Application Program
Above these infrastructure services there might be a monolithic Application Program. The end
user would develop this program and implement custom control strategies. Supposing that
multiple control strategies could be supported within this program, all applications implemented
within it would share certain properties since it is a single program. For example, they would all be
loaded together and would have the same timing properties. Assuming that the timing properties
have the potential to be fast, they are unregulated.
- 98 -
Chapter 3 - Control Module Independence
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 consistent
with the control mission. Typically, various control applications within the
application program need to share data and do so 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 would have to be shut
down and the application program reloaded.
Memory A form of coupling exists between different control strategies in any case
Utilization 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.
- 99 -
Chapter 3 - Control Module Independence
Communication Data transfer between control strategies and IO requires the use
Bandwidth communication bandwidth. Similarly data transfer between control strategies
Utilization and supervisory controllers, peer controllers or HI requires the use of
communication bandwidth.
Communication bandwidth can be a somewhat 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.
- 100 -
Chapter 3 - Control Module Independence
Infrastructure services
As in the hypothetical controller, a CEE-based controller has a base software layer called
Infrastructure Services. These services are a combination of purchased and custom-developed
software components. They include a Real Time Operating System and Communication Services.
They set up an environment in which the execution and communication requirements of control
strategies can be met
Application programs
The architecture of a CEE-based controller also resembles the hypothetical controller in that it
supports application layers which sit above the Infrastructure Services. However, it differs in that
the application layers are constructed with a built-in partitioning. The controller application is
partitioned in the following two different ways.
l Partitioning between program and data set
l Partitioning between native programs and custom programs
- 101 -
Chapter 3 - Control Module Independence
In addition, control modules can be loaded and unloaded individually. Load and unload of one
module has no impact on any other.
The following three categories of custom block types are within CEE.
l PHASE blocks
l Custom Algorithm Blocks (CAB)
l 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.
- 102 -
Chapter 3 - Control Module Independence
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 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 is or is not data transfer between modules is completely controlled by
the application engineer.
However, the design of the CEE controller and the Experion 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 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 Modules are coupled in the sense that they all use memory from a common
Utilization 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 a module
to be loaded might not fit into the remaining memory. This can happen if an
application engineer has increased the module's configuration so that it
requires more memory. Or it can happen if application engineers have
changed other modules so that upon reload of this module, not enough
memory remains.
By design, memory allocations generally do not occur dynamically within a
CEE-based controller. They only happen 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 happens, 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
- 103 -
Chapter 3 - Control Module Independence
CPU Utilization 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 case of overrun.
The processing scheme is based on 40 cycles, each one 0.05 seconds long
(the count and length of base cycles are different in the ACE soft controller).
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. Rather 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 time-average CPU utilization
of any individual cycle should be loaded in accordance with the specifications
of the controller in use (C200/C200E, C300 or ACE). 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 will report an overrun alarm. This alarm
will clear once repetitive overruns cease.
Communication Like any controller, the CEE-based controllers use communication bandwidth
Bandwidth for data transfer. Types of data transfer include: communication with IO
Utilization 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. Reliance on this
- 104 -
Chapter 3 - Control Module Independence
- 105 -
Chapter 3 - Control Module Independence
Load / Unload The fact that Experion CMs and SCMs can be loaded independently of one
another gets continuously revalidated with every control configuration that is
created. That other modules are unaffected is implicitly revalidated when the
control strategies behave as testers expect.
That the programs associated with instances of custom block types are loaded
independently was tested extensively with the introduction of the first
Experion category of custom types, CAB. It has been retested with the
introduction of the new categories of CDB and PHASE. That loading a new
version of a custom block type does not impact blocks already running on a
previously loaded version was 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 the Experion 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 is very well
known by system testers and is covered by numerous tests that they have
designed and run. That fail-safe handling applies to de-activation is also well
known and well tested.
Memory Explicit testing has been done on the behavior of the controller when module
Utilization 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 has been done on the behavior of control execution in
response to overload and in response to configurations with poor balancing.
That the response is controlled overruns, that the overruns are counted and
that when they occur repetitively an alarm is generated has been very well
validated.
Communication Explicit testing has been done on the communication load that can be
Bandwidth handled by each of the communication channels used at run time by a CEE-
Utilization based controller. The capacities are consistent with published Experion
specifications.
- 106 -
Chapter 3 - Control Module Independence
Category Description
Programmatic These are dependencies which arise from the fact that algorithms are
Coupling implemented in a monolithic program or which arise from the fact that there are
explicit data dependencies among the algorithms. Of the types of coupling
described in the preceding sections, Load / Unload, Execution Timing and Data
Reference can be considered examples of Programmatic Coupling.
Resource Other dependencies are less direct but can arise from the fact that control
Coupling algorithms execute on the same hardware platform and share computing
resources. Of the types of coupling described in the preceding sections, Memory
Utilization, CPU Utilization and Communication Bandwidth Utilization can be
considered examples of Resource Coupling.
All CEE-based controllers have equivalent behavior with respect to Programmatic Coupling as
these characteristics are directly determined by the design of CEE. Each hosting controller,
C200/C200E, C300 and ACE, has distinct characteristics of resource coupling, which derive
directly from the capacities of the host platforms. In each case, the effects of adverse Resource
Coupling can be controlled by using configurations that are within specification for the hosting
platform.
- 107 -
CHAPTER
4 RELATIVE REFERENCES
This section describes what relative references are, how they are displayed, and what Control
Builder functions support them as well as some examples of how they may be used.
l About Relative References
l Relative References structure rules
l Display options for relative references
l Control Builder functions supporting relative references
l Control Builder blocks supporting expressions
l Example of TRANSITION block using relative references
l Example of parameter connector using relative references
l Example of other parameters using relative references
l Bulk Builder and Bulk Editor support
l A parameter reference on any block could refer to another parameter on the same block.
l A parameter reference on a container block could refer to a parameter of a contained basic
block.
l A parameter reference on a basic block could refer to a parameter on its container.
l A parameter reference on a basic block could refer to a parameter on another basic block
within the same container as the basic block.
- 108 -
Chapter 4 - Relative References
Note
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.
- 109 -
Chapter 4 - Relative References
- 110 -
Chapter 4 - Relative References
Reference Is Parameter to
Owned By be
Referenced
Is Owned By
Same Block Tagged Basic Container with Same Other basic
Block same param Container block within
name that a container
basic block has
Note
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.
- 111 -
Chapter 4 - Relative References
- 112 -
Chapter 4 - Relative References
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.
l example_scm.COMMAND=3
l COMMAND=3
The following example illustrations show how expressions would appear with Short Name as the
selected Relative Reference Display Option.
l A container reference from a chart
l A reference to a parameter on the same block from a form
l A reference to a parameter on a different block in the same CM
l Expression display interaction
- 113 -
Chapter 4 - Relative References
- 114 -
Chapter 4 - Relative References
l Parameters on the SCM and RCM associated with the alias table:
o ALIASREF
- 115 -
Chapter 4 - Relative References
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 shows how other parameters would appear if Short Name is the
Relative Reference Display Option selection.
l A reference to a parameter on a basic block of the CM
l Other parameters display interaction
- 116 -
CHAPTER
5 PEER-TO-PEER FUNCTIONALITY
You can visualize the peer-to-peer function as a set of connections between two CPMs. 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.
You can implement peer-to-peer communications among CEEs in multiple Application Control
Environment (ACE) supervisory controllers that belong to the same system Server over the Fault
Tolerant Ethernet (FTE) or Ethernet network. The ACE supervisory controller can peer-to-peer
with CEEs in multiple C200/C200E CPMs through an optional direct connection to the
ControlNet supervisory network. The following figure illustrates the possible peer-to-peer
communication topologies. It shows peer-to-peer between ACE supervisory controllers over
Ethernet, between ACE supervisory controller and C200/C200E Process Controllers over
ControlNet supervisory network, and between C200/C200E Process Controllers over the
supervisory network.
- 117 -
Chapter 5 - Peer-to-Peer Functionality
- 118 -
Chapter 5 - Peer-to-Peer Functionality
The Request/Response model involves a one-time request forget/store data. A get request reads
the value of a data item and a store request writes the value of a data item. Once the responder
fulfills the request and the requester receives the response, the operation is complete.
- 119 -
Chapter 5 - Peer-to-Peer Functionality
ATTENTION
Refer to the latest Experion Specification document for the operating system specifications.
- 120 -
Chapter 5 - Peer-to-Peer Functionality
Since the ACE/CEE runs on a time-sharing operating system, the timed event for function block
execution may be delayed or interrupted by other tasks. The ACE/CEE function block includes
statistical parameters for calculating timed event for function block execution.
Cyclic “get” requests are forwarded to the CDA during function block connection configuration
load. This results in the allocation and addition of a request in the shared memory between CDA-sp
and ACE/CEE where peer data is imaged. CDA-sp collects peer data and copies it from
communication buffers into shared memory. At run time, a function block converts memory data
into a reference to intimately access peer data.
ATTENTION
l Peer-to-peer communication is not supported between the non-CEE points and the
following:
o C300-20msCEE
o Fieldbus blocks
o PMIO and Series C I/O blocks
o Control cascade.
- 121 -
Chapter 5 - Peer-to-Peer Functionality
Peer-to-peer communication between the EHPM Controller and the PMD Controller is not
supported.
CAUTION
If there are any PMD-Experion server Peer Responder connections to points in an EHPM
Controller, then, before you import these EHPM points into ERDB, configure these PMD-
Experion server Peer Responder connections to use a different data access path to the
EHPM. If left unchanged, PMD-Experion server Peer Responder connections are lost
permanently after the EHPM points are imported and the EHPM block is loaded to the
Control Builder Monitoring side.
For example, consider a scenario where an EHPM Controller has a point n11b11pmp31,
and PMD is communicating with the EHPM point n11b11pmp31 through the Experion
server Peer Responder connection. In this case, import of EHPM point n11b11pmp31
succeeds but when the EHPM is loaded to the monitoring side in Control Builder, then the
PMD-n11b11pmp31 connection is lost permanently.
If the ACE/C300 CEE-Experion server Peer Responder connections to the EHPM points
exist, these connections are not affected by the import of EHPM points into ERDB and
continues to work unchanged.
Before configuring the peer-to-peer communication between CEE and non-CEE points, you must
adhere to the following common guidelines.
l Data type of non-CEE point's parameters and CEE parameters must be identical.
Note:If you try to configure different data type parameters for peer-to-peer communication,
DataType mismatch error appears.
l The format in which you need to reference non-CEE peer-to-peer parameters except for TPS
points must be as follows:
<point name>.<parameter name>[<array index1>,<array index2>]
Note:Use Square bracket [] instead of braces ().
l The format for configuring the TPS points must be as follows:
<point name>.<parameter name>(<array index1>,<array index2>)
l Non-CEE points can be entered while resolving substitute parameters.
Example: Consider that if the actual Safety Manager parameters are not published and the
configuration has to proceed. In this case, use substitute names feature of the Control Builder
to configure the points. Later, publish the Safety Manager points and use resolve substitute
parameter name to replace with the actual parameter name.
l For TPS points, only alphanumeric characters and the following special characters can be
used while configuring the expressions.
- 122 -
Chapter 5 - Peer-to-Peer Functionality
o Underscore (_)
o At sign (@)
o Dollar sign ($)
ATTENTION
l Whole array peer-to-peer communication is not supported between CEE and non-
CEE points.
l CAB on ACE dynamic re-referencing is not supported for non-CEE peer-to-peer
references.
l You cannot configure non-CEE points in the Server History and Trend configuration
of CM in Control Builder
l Non-CEE points are not listed in the Point Picker. Therefore, you must remember
the correct non-CEE point names to configure in the control strategies.
l The following parameters of the SCM-STEP block cannot be configured for peer-to-
peer communication with the non-CEE points.
o OP[].INSTRUCTTYPE
o OP[].CURRVALREF
o OP[].ENTRYVALREF
o OP[].MONTASKREF
o OP[].TARGETVALREF
o OP[].TARGETDESCREF
o OP[].TARGETMAXREF
o OP[].TARGETMINREF
o OP[].TARGETEUDESCREF
o OP[].CURRDESCREF
o OP[].CURREUDESCREF
o OP[].ENTRYDESCREF
o OP[].ENTRYMAXREF
o OP[].ENTRYMINREF
o OP[].ENTRYEUDESCREF
Before configuring a peer-to-peer reference in the Control Builder to an Experion Server point,
you must ensure the following:
l The point to which the peer-to-peer communication is being configured must exist in the
Experion Server database.
l Performing the Experion Server peer-to-peer configuration when both servers are running
and are in synchronization is recommended. If you perform peer-to-peer configuration when
only one server running as primary, ensure that the System Repository is in synchronized
state after the other server is started as backup server.
l Ensure that you do not perform Experion server peer-to-peer configuration and load when
the servers are in dual primary state. If you attempt to do so, the peer-to-peer communication
between the Experion server points would be lost once the servers recover from the dual
primary state.
l TPS points must be primed before referencing it for peer-to-peer communication.
l Array parameter of the TPS point must be configured before configuring the peer-to-peer
- 123 -
Chapter 5 - Peer-to-Peer Functionality
configuration to the array parameter of the TPS point in the Experion Controllers (Example:
C300, C200E or ACE). If you want to reconfigure the array parameter of the TPS point, you
must reload the control strategy. To reload the control strategy, refer Regulatory Control.
l Data type of the OPC advanced point is always configured as FLOAT64 parameter. Hence,
peer-to-peer configuration has to be done for FLOAT64 parameter only in the Control Builder.
For data type conversion (example, converting a data type from FLOAT64 to INT16), use
TYPECONVERT block for peer-to-peer communication.
l Variant data types published by point servers cannot be added to peer-to-peer configuration.
Data type matching between the Experion Server points and CEE points.
The following table lists the data type between the CEE, SCADA, OPC advanced, and DSA points.
ATTENTION
DSA point name has to be unique across clusters. The DSA point with the same name in
another cluster cannot be configured for peer-to-peer communication.
For more information about the supported release and subsystem configuration tools for enabling
the peer-to-peer communication between the Experion CEE points and non-CEE points, refer to
the respective subsystem documents. For example, if you want to know about the compatible
- 124 -
Chapter 5 - Peer-to-Peer Functionality
release of Experion with PMD Controller that supports native peer-to-peer communication with
CEE controllers, refer to Experion PKS with PMD Controller Software Change Notice and Experion PKS
with PMD Controller Overview Guide. For peer-to-peer configuration details, refer to Experion PKS
with PMD Controller Configuration and Operations Guides.
Though the Experion Server parameter is invalid, the parameter referenced in configuration is not
deleted automatically. However, the runtime of already loaded strategies with invalid non-CEE
parameter stops working. Loading or re-loading of strategies with the invalid non-CEE parameter
displays the validation error.
Similarly, a renaming of a Safety Manager (SM) point that is already configured for peer-to-peer
communication in Control Builder needs to re-configure the peer-to-peer connection as the
connection becomes invalid.
Perform the following steps to re-configure the peer-to-peer connection.
1. Find all the reference of the non-CEE point for which the data type has been changed.
Note: Configuration Studio Search function can be used to find all the references of the non-
CEE point used in the Control Builder.
2. Open the Control Builder and delete all peer-to-peer non-CEE point references from both
Project and Monitoring view for which the data type has been changed.
3. Close the Control Builder and the Recipe Builder on all nodes.
4. Use the following steps to clear the dangling non-CEE point parameter references when there
are dangling non-CEE point parameter references.
a. From the Configuration Studio, click Administer the control strategy database.
The dbadmin window opens.
b. Navigate to the Server node and select Non-ERDB Dangling Connections tree.
The dangling connections are displayed in the right pane.
c. Right-click Non-ERDB Dangling Connections and select Clear List.
The references to the dangling parameter are cleared.
5. Re-configure the parameter with the new data type.
- 125 -
Chapter 5 - Peer-to-Peer Functionality
ATTENTION
l If the dangling point is a DSA point and the data type of the parameter changes on
the publishing server, the parameter type does not change in the subscribing
server. This is applicable until the subscriber reads the changed value next time.
For example, viewing the point parameter value on a display or a trend.
l Before configuring the peer-to-peer configuration with the DSA points, ensure that
the DSA point is activated in the publishing server. Otherwise, the subscribing
Server handles the data type as INT16. If the DSA peer-to-peer reference displays
the wrong data type, perform the following steps to fetch the actual data type after
activating the DSA point.
1. Reload the DSA points from publisher and activate the DSA points.
2. Call the DSA parameters in the Trend display from the subscribing Server to fetch
the new data type.
3. Open the Control Builder and delete all peer-to-peer non-CEE point references
from both Project and Monitoring view for which the data type has been changed.
4. Close the Control Builder and the Recipe Builder on all nodes.
5. Use the following steps to clear the dangling non-CEE point parameter references
when there are dangling non-CEE point parameter references.
6. From the Configuration Studio, click Administer the control strategy database.
The dbadmin window opens.
7. Navigate to the Server node and select Non-ERDB Dangling Connections tree.
The dangling connections are displayed in the right pane.
8. Right-click Non-ERDB Dangling Connections and select Clear List.
The references to the dangling parameter are cleared.
9. Restart the Control Builder.
10. Reconfigure or re-import the DSA parameter references.
Normally, the control failsafe value must not be transferred directly to the process since this could
cause incorrect setpoints setting or inadequate logic results, generating process bumps or trips.
The control failsafe value can be handled using one of the following ways.
- 126 -
Chapter 5 - Peer-to-Peer Functionality
l Hold the previous good value until the non-CEE point parameter returns from control failsafe
to good values again.
l Hold the previous good value for a defined period (for example, 70 seconds) and then write a
specific value to the process to indicate that the input is bad.
The control strategy logic listed in the following table can be used to detect the control failsafe
value for each data type. Additional logic could be built to implement the appropriate behavior for
the process. In addition, the following table lists the values that the CEE can view for non-CEE
points during disconnection event.
- 127 -
Chapter 5 - Peer-to-Peer Functionality
- 128 -
Chapter 5 - Peer-to-Peer Functionality
ATTENTION
If there is any exception in this behavior, refer to the specific sub-system documentation for
the related information. For example, if there is any behavior change when PMD point is
deleted, renamed and published, refer to Experion PKS with PMD Controller Configuration and
Operations Guides.
Experion function block can successfully read the non-CEE point parameter value.
- 129 -
Chapter 5 - Peer-to-Peer Functionality
The following scenario is applicable when the Experion Server point participating in peer-to-peer
communication is deleted, recreated, and reloaded while reading the Experion Server point.
When an Experion Server point is deleted, the function block running in one of the CEE controllers
and reading the Experion point.parameter receives “FAILSAFE” value. However, if the deleted
Experion Server point is recreated with the same name and reloaded, the function blocks
continues to receive the “FAILSAFE” value. To avoid this issue, perform the following steps.
1. Delete the control modules referring to the Experion Server point.parameter completely from
the Monitoring view.
Note:You can use Configuration Studio Search Tool to find the Experion Server
point.parameter references in control modules (Search is performed on project configuration
and assumption is that project and monitor configuration is almost the same)
2. Wait for 20 seconds and reload the control modules from the Project to the Monitoring view.
Note:Even, if one of the control modules referring to the Experion Server point.parameter is not
deleted from the Monitoring view, the function blocks reading the Experion Server
point.parameter continues to receive the “FAILSAFE” value. This is applicable though the
corresponding control module is deleted/reloaded in the Monitoring view.
The following scenario is applicable when the Experion Server point is deleted, recreated, and
reloaded while writing the Experion Server point.
When an Experion Server point is deleted, the function block running in one of the CEE controllers
and storing the Experion point.parameter receives “FAILSAFE” value. This is because the
destination Experion Server point is deleted. The Experion Server point writing continues to FAIL
until the Experion Server point with the same name and data type is recreated.
Consider that the CEE controllers are reading the parameter from multiple SCADA points and
other Experion Server points such as SCADA, DSA, OPC, TPS points, and so on. In this case, say
parameter reading from one of the SCADA points fails because the particular SCADA point is not
functioning, the parameter reading from the other points may also result in failure. Similarly,
consider that the CEE controllers are trying to write the parameter to multiple SCADA points and
other Experion Server points. In this case, the parameter writing to one of the SCADA points or any
other points may fail because the particular SCADA point or other point is not functioning.
Consider that an Experion Server switchover is initiated when the CEE controllers are reading the
parameters from multiple Experion Server points. In this case, the parameter value store initiated
from the controllers may fail during the switchover. However, the parameter value store succeeds
only when the Experion Server switchover completes.
The minimum subscription period for any Experion Server point is 1 second. Any subscription
requests less than 1 second is not guaranteed to be less than a second for initiating controllers.
- 130 -
Chapter 5 - Peer-to-Peer Functionality
l If there is an IP address change for any of the Experion Servers, the strategies configured
with Experion Server parameter references must be reloaded from the Control Builder.
l If there is a change in CDA handle for the configured non-CEE parameter in SR, question
mark is displayed as “point.parameter?” only in Expressions.
l If the point exists and the non-CEE parameter is invalid, question mark is displayed as
“point?parameter” only in Expressions.
l If you are remapping the TPS unit's asset with Experion assets, the peer-to-peer
communication between the TPS points and the Experion does not automatically recover.
All the above parameters are present in the CEE block of the C300, C200/C200E and ACE
controllers, and SIM-C200E.
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.
l Configuration without peer environment table
l Configuration with peer environment table
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.
- 131 -
Chapter 5 - Peer-to-Peer Functionality
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 total initiator rate of the node. Follow the steps
below:
1. 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).
2. 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 =
3.
4. The Peer Subscription Period is used in the Peer Environment table for SUBSCPERIOD of the
target node.
5. Repeat steps 1 and 2 for each node listed in the Peer Environment table to calculate the
individual initiator rate for each of the connections.
6. For target nodes that do not have an entry in the Peer Environment Table, locate the
connection index (y1) for these target nodes, which is obtained from the Initiator Connections
list on the Peer Communications tab.
7. Calculate the initiator rate for these target nodes using the formula below.
Initiator Rate for the connection y1 =
8.
9. Note: The global Subscription Period value is used for SUBSCPERIOD (on the Peer
Configuration tab).
10. Add the initiator rates obtained in the steps above for all the connections to obtain the total
initiator rate.
Total Initiator Rate N = N[x1] + N[x2] + ? + N[y1] + N[y2] + ?
This CEE block shows the Peer Environment Table with one target node configured, ACE_TGT1,
with a Peer Subscription Period of 500mS.
- 132 -
Chapter 5 - Peer-to-Peer Functionality
ACE_TGT2 is configured to use the Global Subscription Period which is 1sec. (shown above) and is
shown on the Peer Communications tab which lists both initiator connections.
In Station, the number of initiator requests is listed for each indexed connection.
To calculate the Initiator rate for ACE_TGT1 (CEEACEFB_TGT1), find its connection index from the
Peer Communications tab which is 2. The Peer Subscription Period configured for this node is
500mS = 0.5 Seconds.
- 133 -
Chapter 5 - Peer-to-Peer Functionality
To calculate the Initiator rate for ACE_TGT2, find its connection index from the Peer
Communications tab which is 1. This node uses the global Subscription Period which is 1sec.
Initiator Rate for the connection to the target ACE_TGT2 =
ATTENTION
Note that the format used for the CPM and CEE tag names in this section is for example
purposes only and does not reflect the current default naming conventions used in Control
Builder.
- 134 -
Chapter 5 - Peer-to-Peer Functionality
on the Ethernet network by its host name and Internet Protocol (IP) address that must be
configured by the user. If the ACE supervisory controller includes a network interface card for
direct connection to a ControlNet supervisory network, users must also specify the MAC address
assigned to the interface card.
If Function Block Is From This Library Then, It Can Be Used With This Control
in Control Builder . . . Environment . . .
CPM/CEE
ACE/CEE
CPM/CEE
(Restrictions apply - loaded strategies must
contain supported blocks only.)
ACE/CEE
CPM/CEE
ACE/CEE
CPM/CEE
ACE/CEE
CPM/CEE
CPM/CEE
CPM/CEE
CPM/CEE
- 135 -
Chapter 5 - Peer-to-Peer Functionality
If Function Block Is From This Library Then, It Can Be Used With This Control
in Control Builder . . . Environment . . .
ACE/CEE
CPM/CEE
ACE/CEE
CPM/CEE
ACE/CEE
CPM/CEE
ACE/CEE
CPM/CEE
CPM/CEE
CPM/CEE
CPM/CEE
CPM/CEE
CPM/CEE
CPM/CEE
ACE/CEE
- 136 -
Chapter 5 - Peer-to-Peer Functionality
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 C200/C200E Process Controllers with
CPM blocks configured as CPM0101 and CPM0301, and their associated CEE blocks CEE0101
and CEE0301, respectively. The remote primary loop is configured as a CM named REMCAS_
PRIMARY and is assigned to CEE0101. The local primary loop is configured as a CM named
REMCAS_CM and is assigned to CEE0301.
In this example, the PID_PRIMARY and REMCAS_1 blocks have both DEF and REF relationships for
peer-to-peer communications.
- 137 -
Chapter 5 - Peer-to-Peer Functionality
Figure 5.3 Example of DEF and REF block functions in CB configuration using REMCAS block.
The following table includes descriptions of the callouts in the figure above.
Callout Description
1 The PID_PRIMARY block represents the remote primary control loop for a cascade
loop using the REMCAS block. It is contained in a CM named REMCAS_PRIMARY,
which is assigned to CEE0101.
3 The output parameter OP is to be used as the input value for the X1 parameter for the
REMCAS_1 block contained in another CM named REMCAS_CM.
This means the PID_PRIMARY block is considered a DEF type block and the REMCAS_
1 block is considered a REF type block for peer-to-peer communications of the control
variable data.
4 The PID_BACKUP block represents the local or backup primary control loop for a
cascade loop using the REMCAS block. It is contained in the REMCAS_CM CM with the
REMCAS_1 block. If there is a problem with the remote primary loop, the REMCAS_1
block switches its input to the backup primary loop.
5 The REMCAS block operates like any cascaded secondary loop except that it can
switch between two different primaries.
- 138 -
Chapter 5 - Peer-to-Peer Functionality
Callout Description
6 A parameter connector is used to form a peer-to-peer connection to the OP
parameter from the PID_PRIMARY block contained in another CM named REMCAS_
PRIMARY, which is assigned to CEE0101. In this case, the full tag name for the
parameter is REMCAS_PRIMARY.PID_PRIMARY.OP.
This means the PID_PRIMARY block is considered a DEF type block and the REMCAS_
1 block is considered a REF type block for peer-to-peer communications of the control
variable data.
7 CB builds implicit/hidden connections for BACKCAL data. In this case, the BACKCAL
parameter X1BACKCALOUT is to be used as the input value for the BACKCALCIN
parameter for the PID_PRIMARY block contained in another CM named REMCAS_
PRIMARY.
This means the REMCAS_1 block is considered a DEF type block and the PID_
PRIMARY block is considered a REF type block for peer-to-peer communications of the
BACKCAL data.
- 139 -
Chapter 5 - Peer-to-Peer Functionality
the CEE and non-CEE points. The communication between the CEE SM points is explained using
the parameter connector.
Consider that you have already configured the Safety Manger points in the Safety Manager
builder and published the points to the Experion server. In addition, consider that you have
configured the CEE points in the Control Builder.
The following figure illustrates how you can configure the Safety Manager in the Control Builder.
- 140 -
CHAPTER
Experion uses Coordinated Universal Time (UTC) which is raw time with no time zone and no
daylight savings time adjustments. UTC is stored internally in Experion and is converted to local
time when shown to the user using time zone and daylight savings time adjustments.
Whenever time is stored by Server for history and events, Server also stores bias (minutes offset
from UTC including daylight adjustment) so that local time can be reconstructed at any time in the
future regardless of any adjustments in daylight savings rules in future years, which can be
expressed as
l Local Time = UTC + bias
- 141 -
Chapter 6 - Time Support in Experion System
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.
Note that the C300 and Series C Fieldbus Interface Module will start with time sources noted
below, but they require an NTP time source for optimal operation.
Time Comments
Source
CDA Time is provided by the first Windows Server/Station that makes a data connection.
Time 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 will flag
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.
Details of NTP and its subset SNTP (Simple Network Time Protocol) are available by referencing
RFC 1361 on the Web.
l BOOTP Mechanism and Multiple Clusters
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.
- 142 -
Chapter 6 - Time Support in Experion System
TIME
Use of TIME CDPs requires attention to issues of time zone. In particular, users who create
algorithms to manipulate CDPs of type TIME must understand the Experion policy with respect to
time zones and daylight savings time. This policy is stated below.
l 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.
l 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.
l When HMI receives user input of TIME parameters it is assumed that they have been supplied
as values consistent with the local time zone and with any seasonal daylight savings
adjustment currently in effect. They are converted to UTC before transport to any EE or user
algorithm.
TIMEOFDAY
As with TIME CDPs, use of TIMEOFDAY CDPs requires attention to issues of time zone. In
particular, users who create algorithms to manipulate CDPs of type TIMEOFDAY must understand
the Experion policy with respect to time zones and daylight savings time. This policy is stated below.
- 143 -
Chapter 6 - Time Support in Experion System
l 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.
l 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.
l 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, be that algorithm implemented
as a CAB program or as an SCM or calculator expression, behavior of the datum is simple and
intuitive with respect to HMI.
l Time zone is irrelevant to the display of DELTATIME parameters.
l DELTATIMEs are always displayed as time intervals in a format such as “DD HH:MM:SS“.
Parameter Description
Current Time Format is MM/DD/YY HH:MM:SS
(CURTIME)
Server local time communicated to the controller by Control Data Access (CDA)
from Server.
Not affected by TIMEZONE and DAYLIGHTTIME
CURTIME is stored as UTC within the CEE and converted to local time when
displayed at HMI.
TIMEZONE Conversion value for controller's “local time”; must be configured once for
each individual platform
default = 0.0
Range of Values:
-12.0 to 13.0
Consult a World Map of Time zones for the appropriate value for your time
zone.
Allows support for unusual case of controller physically residing in different
time zone than the Server, and interpretation of YEAR, MONTH, etc.
parameters based on controller's time zone
DAYLIGHTTIME Conversion value for controller's “local time”; must be configured once for
each individual platform
default = OFF
Possible Values:
ON = Daylight savings time is active
OFF = Daylight savings time is inactive
Allows support for unusual case of controller physically residing in different
time zone than the Server, and interpretation of YEAR, MONTH, etc.
parameters based on controller's time zone
YEAR “local time” for use in control strategies, including expressions IF TIMEZONE
- 144 -
Chapter 6 - Time Support in Experion System
Parameter Description
and DAYLIGHTTIME are set to their default values, YEAR, MONTH, DAY,
HOUR, MINUTE, SECOND, WEEKDAY integer values will always be in raw UTC.
Function Description
UtcNow current UTC time
For CAB VB.NET programs, DateTime.Now is derived from Experion
synchronized time. Time zone and daylight selection are configured through
the Windows date / time applet on the primary server which has been
designated as the system time source. This configuration need only be done
on one server within the system
It is appropriate for some applications to make use of the UTC time references, DateTime.UtcNow
in the case of CAB VB.NET and UTCNOW in the case of CEE expressions. For other applications, it is
appropriate to use the local time references, DateTime.Now in VB.NET and NOW in CEE
expressions.
- 145 -
Chapter 6 - Time Support in Experion System
1. Within CAB or within non-CAB Control Execution Environments, time precision is consistent
down to the execution period of the blocks.
2. Between CAB and non-CAB CEE, the potential skew is the same or slightly worse than the
Windows mechanism. For example, Windows Simple Network Time Protocol (SNTP) should not
be expected to provide better than +/- 2 seconds synchronization between machines.
- 146 -
Chapter 6 - Time Support in Experion System
(The statement If DateTime.Now = CAPTURETIME.Value would not work because by the time CAB
receives the value of CAPTURETIME it is in UTC, not local time.)
1. Setup Custom Data Block (CDB) located within a Control Module. Name the Custom Data Block
CDB2.
2. Locate CDB2 in a control module called CM2. The SCM will use CDB2 within CM2 as a data
repository.
3. CM2.CDB2 has a parameter called STARTTIME of type TIME. The operator will specify
STARTTIME.
4. The SCM's transition waits until the specified time before advancing. The transition condition
expression reads: UTCNOW = CM2.CDB2.STARTTIME
UTCNOW is the valid time parameter to use in this instance. UTC (Universal Coordinated Time)
is stored raw time with no time zone and no daylight savings time adjustments. UTC is
converted to local time when shown to the user and then includes time zone and daylight
savings time adjustments.
(The transition condition expression NOW = CM2.CDB2.STARTTIME would not work even
though the operator enters values for STARTTIME according to the local time zone.)
1. Create a Custom Data Block (CDB) called CDB1 in a Control Module called CM1.
2. Create a parameter of type TIME in CM1.CDB1 called CMDISSUETIME.
3. 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
would not use the value of CMDISSUETIME according to the local time zone.)
- 147 -
CHAPTER
l Overview
l Planning
l Configuration of Restart Behaviors
l Warm and Cold Restart Behaviors of Cascades
l Operations
7.1 Overview
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.
- 148 -
Chapter 7 - Cold and Warm Restart Functionality
l 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 a 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 would normally go to run with a cold start command but nothing prevents him from
commanding warm start. In regulatory cascades MODE values loaded as configuration data will be
retained across warm restart even if the cascade terminates on a direct analog output.
7.2 Planning
- 149 -
Chapter 7 - Cold and Warm Restart Functionality
l Blocks which perform the same start up initialization regardless of the type of restart in
progress
l 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.
l 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 (PITOTALIZER and TOTALIZER are the only exceptions). 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, etc.) all history is re-
initialized.
l 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 or IOLIM 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.
- 150 -
Chapter 7 - Cold and Warm Restart Functionality
Logic gate inputs and outputs are not treated as persistent state variables in CEE. Thus, they
are not restored as part of a configuration load nor saved as part of checkpoint data. On any
execution, including the first following a restart, connected gate inputs are fetched just before
the output is calculated. This insures that logic gate outputs contained within an executing
control module are a function of the most currently fetched inputs.
In the case of a load or checkpoint restore, all outputs are set to False, and inputs are set to
default values appropriate for the block type. This policy insures that output values will be at a
defined, known state, after load even if the value is read before first block execution. Thus, if an
output value happens to be read by an off node agent before first execution, it will always
return False. Logic strategies must be designed so that they are tolerant of the appearance of
False valued outputs before first execution of the source block. Again, for critical applications, it
may be necessary to utilize CHECKBOOL pairs for inter-Control Module references to fully
specify behavior under all restart scenarios.
The policies governing logic gate behavior for restart and load allow strategies to be configured
that allow detection of certain types of restarts. For example if a FLAG block's PVFL is TRUE at
the time as checkpoint save, or is configured as TRUE before load, it will be restored as TRUE. If
connected to an RTRIG's IN, the RTRIG would generate a pulse only on the first restart
following a restore. In all cases this type of implementation is not recommended. If detection of
various restart types is required, it should only be implemented using the STARTSIGNAL block.
l 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.
Table 7.1 Special Case Blocks with Invariant Restarts
# Library Block Summary Description
Type
1 DEVCTL DEVCTL Initialization behavior is the same regardless of restart type.
Supports different initialization behaviors based on input
mapping, output mapping and other configuration.
2 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 ramping action to
stop and await intervention by the operator.
4 <Custom Custom CEE and CAB infrastructure leave values of all custom
Libraries Algorithm parameters unchanged across all restarts.
Created By Block Types
End Users> (CAB Types) User-implemented CAB algorithms may detect restarts and either
- 151 -
Chapter 7 - Cold and Warm Restart Functionality
5 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.
- 152 -
Chapter 7 - Cold and Warm Restart Functionality
5 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.
5 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.
5 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.
9 UCNIF EUCNOUT 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.
- 153 -
Chapter 7 - Cold and Warm Restart Functionality
l CEE Block
l Control Module (CM)
l Control Module Function Blocks
l Logic Blocks
l Sequential Control Module (SCM)
l Summary Of SCM Restart Behavior
l Supporting SCM Functionalities
l SCM Blocks
CM Configuration Options
Parameter
CEESTARTOPT l ALWAYSCOLD (default)
(Access Lock = For this configuration parent control modules instruct their component
ENGR) blocks to do a cold restart regardless of which restart option has been
selected for the CEE as a whole.
l 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.
l 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.
- 154 -
Chapter 7 - Cold and Warm Restart Functionality
On CEE startup the behavior of the PITOTALIZER block varies depending upon whether warm or
cold restart has been commanded and upon how parameter PVEQN is configured. The value
selected for PVEQN actually controls PITOTALIZER behavior on restart handling and on bad input
handling. This is shown in the following table.
EQB Use last good value if input Continue after input Set PV to bad and stop
is bad. turns valid. accumulation.
EQC Stop if the input is bad and Continue after input Set PV to bad and stop
set PV to NaN. turns valid. accumulation.
EQD Stop accumulation while Set PV to bad and stop Set PV to bad and stop
input is bad. accumulation. accumulation.
EQE Use last good value if input Set PV to bad and stop Set PV to bad and stop
is bad. accumulation. accumulation.
EQF Stop if the input is bad and Set PV to bad and stop Set PV to bad and stop
set PV to NaN. accumulation. accumulation.
Auxiliary Totalizer
All restart behavior of the AUXILIARY TOTALIZER block is equivalent to that of the PULSEINPUT
PITOTALIZER block.
Startsignal
STARTSIGNAL is a Logic function block supported to aid in the handling of restarts within Control
Modules. It may be optionally used within any Control Module to give the designer better control
over how the module initializes in response to events such as cold or warm restart. STARTSIGNAL
is useful in logic gate configurations which hold state.
Block STARTSIGNAL supports read-only parameters which may be accessed to drive initialization
actions. Each parameter has “puls” semantics which means that each parameter normally holds a
value which indicates that no initialization is required. When a transition occurs appropriate
parameters acquire an informative value. 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.
- 155 -
Chapter 7 - Cold and Warm Restart Functionality
Parameter Description
RESTART An enumeration valued summary parameter. Following a transition, it shows a
value different from NONE until the end of first block execution. For each of the
values of RESTART, a corresponding flag is set. The flag holds true until the restart
state changes. The possible values for RESTART and the corresponding flags are:
l NONE - normally shown.
l CMLOAD - Holds CMLOADFL true for the first execution cycle following a
load of the parent control module.
l CMACTIVE - Holds CMACTIVEFL true for the first execution cycle following
inactivation and then activation of the parent control module.
l CEECOLD -Holds CEECOLDFL true for the first execution cycle following cold
start of the CEE.
l CEEWARM -Holds CEEWARMFL true for the first execution cycle following
warm start of the CEE.
l CEESWITCH - Holds CEESWITCHFL true for the first execution cycle
following redundant switchover of the CEE on a C200/C200E.
l ANYRESTART - Holds ANYRESTARTFL true for the first execution cycle if any
of the preceding flag parameters are true.
It is possible for more than one transition to occur between the time that a control
module stops executing and the time that it restarts. For this reason, there is a
priority built into the values of parameter RESTART. This priority insures that the
strongest initialization signal is the one which will be seen. The priority for
RESTART values is CMLOAD > CMACTIVE > CEECOLD > CEEWARM > CEESWITCH >
NONE.
There is no implied priority or mutual exclusivity among the flag parameters.
Consider a scenario in which the CEE starts out in idle, the control module is
loaded, the control module is activated, then the CEE is warm started. On first
execution of the control module parameters CMLOADFL, CMACTIVEFL,
CEEWARMFL and ANYRESTARTFL will be True. Parameters CEECOLDFL and
CEESWITCHFL will be False. Parameter RESTART will have the value CMLOAD.
Parameter RESTART may be displayed on the symbol faceplate of block RESTART for monitoring
purposes but it will only show a value other than NONE until first execution.
Parameter RESTART may be used to drive initializations within the control module but in many
cases it will be more convenient to use one of the associated Boolean-valued flag parameters.
l Run-time selection of warm or cold restart and resultant impact on SCM MODE
- 156 -
Chapter 7 - Cold and Warm Restart Functionality
o 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.
l Configuration time selection of whether or not to follow the restart selection made for CEE as a
whole
The SCM supports a CEESTARTOPT parameter which is fully analogous to that of CM as described
in the following table.
- 157 -
Chapter 7 - Cold and Warm Restart Functionality
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 will start 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 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 will resume execution at that step within the Main handler unless the operator
commands execution to start at a different handler.
CEERESADDRN[ ]
The CEERESADDR[ ] parameter may be explicitly changed by SCM expressions, but not through
direct assignment to parameter CEERESADDR[ ]. This is because CEERESADDR[ ] has type BlockId
which is not supported in SCM expressions. A parallel parameter named CEERESADDRN[ ] of
integer type is supported.
The CEERESADDRN[ ] parameter is a mirror image of parameter CEERESADDR[ ]. Thus,
CEERESADDR[] and CEERESADDRN[] work in tandem. Anytime one of these parameters changes,
the change is reflected in the other parameter automatically.
To change the values of CEERESADDR[ ] and CEERESADDRN[ ] by writing from a step output, the
syntax would be as shown in the following example.
- 158 -
Chapter 7 - Cold and Warm Restart Functionality
l SCM1.CEERESADDRN[1] := SCM1.Step2.NUM
EXCMODEOPT
- 159 -
Chapter 7 - Cold and Warm Restart Functionality
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.
Auto When the SCM is in Manual MODE, invoke Transitions for higher priority
Exception handlers are evaluated. MODE will be automatically changed to
Auto when the SCM is commanded to execute another handler or when an
invoke 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.
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.
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.
l 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 would be read within the Check handler.
l 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 would have be 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 Then, …
Value Is …
NONE There has been no restart transition since the last execution of the SCM/RCM.
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 gone through a cold restart since the
last execution of the SCM/RCM.
- 160 -
Chapter 7 - Cold and Warm Restart Functionality
If RESTART Then, …
Value Is …
CEEWARM The CEE containing the SCM/RCM has gone through a warm restart since the
last execution of the SCM/RCM.
CEESWITCH The controller hosting the CEE which contains the SCM/RCM has gone 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:
l CMLOAD > CMACTIVE > CEECOLD > CEEWARM > CEESWITCH > NONE
l Definitions
l Regulatory Cascades
l CEE to CEE Cascades
l CEE to Legacy Cascade when Node hosting Primary is restarted
l CEE to EHPM FTE Cascade
l CEE to Legacy Cascade when Node hosting Secondary is restarted
l RegCtl Cascades when Node hosting the Primary is restarted
l Cascades through UCNIF: UCNOUT/EUCNOUT
7.4.1 Definitions
CEE-to-CEE Cascade - a cascade relationship in which the primary is located within the CEE-ACE
or CEE-C200/C200E and the secondary is located within a CEE-ACE or, CEE-C200/C200E or
within an IOP presented by an IOLIM. The primary is always a CEE regulatory control block. The
secondary may be a regulatory control block or a direct analog output block (or slot). CEE-to-CEE
Cascades can be local (primary and secondary located within the same EE) or peer-peer (primary
and secondary located in different EEs).
CEE-to-Legacy Cascade - a cascade relationship in which the primary is located within the CEE-
ACE and the secondary is located within a legacy controller presented by an interface gateway or
bridge. The primary is always a CEE regulatory control block assisted by a special purpose interface
block. The secondary may be a regulatory control block or direct analog output located in an XPM
accessed through a TPN Server and one or more additional gateways. It may be a regulatory
control block or direct analog output located in a TDC2000 Hiway box accessed through a TPN
Server and one or more additional gateways.
- 161 -
Chapter 7 - Cold and Warm Restart Functionality
CEE-to-EHPM FTE Cascade - a cascade relationship in which the primary is located within the
CEE-ACE or CEE-C300 and the secondary is located within a legacy controller presented by an
EHPM FTE. The primary is always a CEE regulatory control block assisted by a special purpose
EUCNOUT interface block. The secondary may be a regulatory control block or direct analog output
located in an EHPM accessed through FTE.
CEE to Legacy Cascade when Node hosting CEE to Legacy Cascade when Node hosting
Secondary is restarted Secondary is restarted
RegCtl Cascades when Node hosting the RegCtl Cascades when Node hosting the
Primary is restarted Primary is restarted
When the node undergoing the restart is an ACE or C200/C200E and it is hosting the cascade
primary then the CEE generally responds as follows according to restart type.
l Warm Restart
All cascades resume processing under the mode that applied before shut down.
l Cold Restart
Cascades in which the secondary is another regulatory block resume processing under the
mode that applied before shut down. Cascades in which the secondary is a direct analog output
shed to manual and do not resume automatic control until the operator changes mode.
While the above description conveys a guiding principle, actual behavior can be different
depending on the type of node which hosts the cascade secondary. Behavior is as described above
when the secondary is hosted by an ACE, C200/C200E or IOLIM. If the secondary is presented by
a different type of node (for example a TPN Server) the behavior can be different.
- 162 -
Chapter 7 - Cold and Warm Restart Functionality
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.
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.
l 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.
- 163 -
Chapter 7 - Cold and Warm Restart Functionality
The following table enumerates the types of events which cause each of the 4 behaviors listed
above.
RegCtl block in RegCtl block in ACE Shutdown and cold Recall Primary Mode
C200/C200E restart at primary.
RegCtl block in ACE1 RegCtl block in ACE Shutdown and warm Recall Primary Mode
restart at primary
RegCtl block in RegCtl block in ACE Shutdown and warm Recall Primary Mode
C200/C200E restart at primary
RegCtl block in ACE1 RegCtl block in ACE Shutdown and any Hold Primary Mode
recovery at secondary Across Secondary
Fault
- 164 -
Chapter 7 - Cold and Warm Restart Functionality
RegCtl block in RegCtl block in ACE Shutdown and any Hold Primary Mode
C200/C200E recovery at secondary Across Secondary
Fault
Notes:
1. When you shutdown the ACE, you do not have an ACE block that you can issue
COLDSTART, IDLE or WARMSTART command to unless you load the ACE. ACE does not
support RAM retention startup or redundancy. Only in this case, ACE comes up as IDLE.
The following table enumerates the types of events which cause each behavior listed above.
- 165 -
Chapter 7 - Cold and Warm Restart Functionality
CEE-to- Cold Mode is preserved for all cascades. Outstanding cascade requests at
Legacy downstream secondaries are reset.
- 166 -
Chapter 7 - Cold and Warm Restart Functionality
Notes:
1. Performing a cold primary restart clears the EHPM secondary point cascade request flags
in the EHPM (for example, MAN-C goes to MAN mode), and resumes control with the
secondary EHPM points in cascade (CAS) mode.
2. When the control module containing EUCNOUT block contains a CEERESTARTOPT
parameter value of ALWAYSCOLD, the WARMSTART primary controller selection is
overridden, and the controller goes through a COLDSTART.
3. Performing a warm primary restart resumes control with the EHPM secondary points
having cascade request flags set in the EHPM (for example, MAN-C goes to CAS mode),
and resumes control with the secondary EHPM points in CAS mode.
- 167 -
Chapter 7 - Cold and Warm Restart Functionality
7.5 Operations
Across Experion there are several different kinds of subsystems which respond to “activation” or
“start up” commands. Though similar, the manner in which these subsystems respond is not
equivalent in all cases. The table below illustrates the differences.
IOM Yes No No No
IOLIM EE No No No Yes
FIM EE No No No Yes
Because of the different types of startup transitions supported across different Experion
subsystems, the HMI which issues startup commands includes Restart functionality. The following
principles apply:
l “Activation” applies only to CMs, SCMs and IOMs
l “Run”, “Warm Start“ and “Cold Start“ are applied, as appropriate, to the idle to run transition of
Execution Environments
- 168 -
Chapter 7 - Cold and Warm Restart Functionality
has no effect.
- 169 -
CHAPTER
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.
- 170 -
Chapter 8 - External OPC Server Support
- 171 -
Chapter 8 - External OPC Server Support
Note: If the OPC server data specific name contains illegal characters of Experion namespace, you
must use the following syntax.
<OPC server function block name>.‘<OPC server data specific item name>’
- 172 -
Chapter 8 - External OPC Server Support
With R400, the OPC parameter, which is referenced through the OPC gateway, appears as a
hyperlinked parameter. This enables you to navigate to the configuration form of the
corresponding tagged block.
ATTENTION
Expressions support the single quote character, ‘, as a special delimiter that can be used to
surround the OPC Server namespace portion of an external/OPC reference.
For example, OPCTag.‘tag.Param(1)’ can be used so that the parenthesis characters do not
confuse the expression parser.
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.
- 173 -
Chapter 8 - External OPC Server Support
l Gets conversions
l General data conversion considerations
l Stores conversions
VT_UI1 UINT8
VT_UI2 UINT16
VT_UI4 UINT32
VT_UI8 UINT64
VT_I1 INT8
VT_I2 INT16
VT_I4 INT32
VT_I8 INT64
VT_R4 FLOAT32
VT_R8 FLOAT64
VT_BSTR STRING
VT_FILETIME TIME
VT_ARRAY EXTREF_STRUCT
VT_BLOB
l The CDA-sp performs the interface specific translation of external reference type to system
type.
l The system value status is set according to the quality bit field of the OPC item state quality.
l The sub status and limits bit fields of the OPC item are ignored.
l The OPC array and blob variant types are forced into a system External reference structure
type to distinguish them from internal system structures. A specific purpose function block,
such as the UCNOUT block, is required to use an External reference structure type.
l The OPC variant types that are not supported result in a data type mismatch error.
l The CDA-sp delivers a system value to the appropriate function block.
l When the data types do not match, the function block receiving the data makes an attempt to
convert between the actual and expected data types.
- 174 -
Chapter 8 - External OPC Server Support
Yes means that the conversion is supported or not required, when the data types match, and a No
means that the data type conversion is not supported.
Table 8.1 Keep the following considerations in mind when dealing with data conversions.
From BOOL UINT8 UINT INT8 INT ENUM FLOAT STRING TIME
UINT16 INT16 SD_
To 64 64 32
UINT32 INT32 ENUM
FLOAT
64
BOOL Yes Yes Yes Yes Yes Yes Yes No No
STRING No No No No No No No Yes No
EXTREF_ No No No No No No No No No
STRUCT
l Be aware that downcasting occurs when conversions involve a type that supports a wider
range of values to a type with a more narrow range of values.
o For example, an INIT16 value of 333 is converted to UNIT8 value of 255.
o For example, an INT32 value of 100,000 is converted to the maximum Enumeration
value of 65,535. The function block that receives the Enumeration ordinal of 65,535
will likely reject this value, since it is out of range for the applicable Enumeration
parameter. This is consistent with the current behavior where an out of range store
to an Enumeration parameter does not cause the destination parameter to assume
the failsafe value.
o For example, an OPC server data type of Integer is connected to a PID block's MODE
parameter. If the Integer value is 7 at run time, the MODE parameter rejects the
value because it is outside the MODE enumeration range of 0 to 5.
l Float to integer conversions use truncation instead of rounding. For example, a Float of 3.75
is converted to the Integer 3.
l The underlying type for system Boolean values is unsigned character. Since the underlying
type for Boolean external references cannot be assumed, all external Boolean references are
converted in the context of the system, which uses 0 for False and 1 for True. For example:
- 175 -
Chapter 8 - External OPC Server Support
l Conversions between Strings and Integers and between Strings and Floats are not supported
The following table summarizes the failsafe data value that is substituted when a given data type
conversion is not supported.
UINT8 0
UINT16
UINT32
UINT64
INT8 0
INT16
INT32
INT64
FLOAT32 NaN
FLOAT64
STRING Blank
TIME 0
For example, if the OPC1.InterlockA.Active parameter used as the input to an AND block in the
previous figure in section Parameter connectors only returns a Boolean, Integer, or Float data type
at run time, the appropriate conversion is made and the data get is completed successfully. If the
OPC1.InterlockA.Active parameter returns a String data type, the Boolean failsafe value of Off is
applied to the AND block input.
- 176 -
Chapter 8 - External OPC Server Support
Redirection When the Redirection Server is installed on the ACE node, the CDA-sp interfaces
Server to it just like a remote HCI server. As long as the OPC server block configured in
Control Builder identifies the HCI Redirection Server, the HCI Redirection
capabilities are used.
TIP
The additional HCI related functions are transparent to the Control Modules and Sequential
Control Modules in control strategies that are executing in the ACE supervisory controller.
No changes are required in control strategy configurations through Control Builder whether
the OPC server being accessed supports HCI or not.
- 177 -
Chapter 8 - External OPC Server Support
- 178 -
CHAPTER
l Inter-Cluster Communication
l Using the Inter Cluster Gateway for Communication between Experion Clusters
l Remote EEOUT (REEOUT) Function Block
- 179 -
Chapter 9 - System Namespace Workaround
l An ICG is required for each Experion cluster which contains blocks that are secondary to
another Experion cluster.
l The primary Experion cluster requires an OPC Gateway configured to talk to the I-C Server
(“Hci.OPCGateway”). The primary Experion cluster can contain an ICG if there is a need for bi-
directional control cascade or data transfer.
l There can only be one ICG per ACE.
l The ACE node hosting the ICG may also host OPC Gateways. Up to four gateways of either type
can be hosted by the ACE
The ACE interconnections possible using the OPCG, ICG, and the REEOUT, UCNOUT, EHGOUT,
and HIWAYOUT function blocks are summarized in the following table:
When communicating between Experion clusters, it is required that the Inter Cluster Gateway
block is configured and loaded in the secondary Experion cluster. The primary Experion cluster
only requires that an OPC Gateway block is used. The primary Experion cluster could also use an
ICG block if there is a need for bi-directional control cascade or data transfer.
- 180 -
Chapter 9 - System Namespace Workaround
In the primary Experion cluster, the OPC Gateway block needs to be activated in order to enable
communication. The secondary Experion cluster's ICG block makes data available as soon as it is
loaded. It only needs to be activated if it is also being used as a client.
Without the use of Inter Cluster Gateway, the OPC Gateway block can be connected to the
Experion OPC server in another Experion cluster to access data. The following table shows when
an ICG might be needed.
- 181 -
Chapter 9 - System Namespace Workaround
Both Experion clusters can contain an ICG if there is a need for bi-directional control cascade or
data transfer, as shown in the following figure.
- 182 -
Chapter 9 - System Namespace Workaround
l Functional description-REEOUT
- 183 -
CHAPTER
- 184 -
Chapter 10 - Controller Redundancy Functionality
The goal of Controller redundancy is to improve the availability of the Controller to perform its
assigned control functions. The RCP does this by providing a pair of Controller chassis so a
component failure in one chassis switches the handling of the assigned control functions to the
other chassis. This is considered a dual redundant system, which is characterized by the following
two main redundancy states.
l Primary - Refers to the chassis executing the assigned control functions.
l Secondary - Refers to the chassis in some state of readiness to assume the responsibilities of
the Primary.
The ability of a Secondary chassis to take over the assigned control functions of the Primary
depends upon which one of the following readiness states reflects its current state.
Synchronized Can assume the Primary state upon switchover. In this state, the database in
the Secondary is aligned with the database in the Primary. The Secondary
closely tracks database changes to maintain its synchronization with the
database of the Primary. Otherwise, the Secondary will revert to a Disqualified
state.
The following table identifies failure conditions that result in a switchover. As noted in the table
above, the Secondary control chassis must be in its synchronized state for a switchover to occur.
ATTENTION
When any failure that results in a switchover occurs in a Secondary, the Secondary
chassis/FIM loses synchronization.
In addition to the failure conditions, these events are reported as diagnostic notifications:
l Loss of view of redundant partner on H1 network (applies to FIM link).
l Loss of private path connection from Primary to Secondary (lonely event).
- 185 -
Chapter 10 - Controller Redundancy Functionality
The following tables identify failure conditions that do not result in a switchover. The first table
identifies conditions that are categorized as non-switchover triggers or that trigger no action in the
Secondary. The second table identifies conditions that are categorized as disqualification triggers
or that trigger disqualified state in the Secondary.
Either or both Channel A and/or Channel B RJ-45 cable(s) to Secondary IOLIM is(are) lost.
- 186 -
Chapter 10 - Controller Redundancy Functionality
- 187 -
Chapter 10 - Controller Redundancy Functionality
10.2.2 RM configuration
You can configure the RM block and its partner RM through the Main tab in the RM/RCP dialog
box in the Control Builder Project tree view only. The corresponding redundant RM icons appear in
the Project view.
Refer to Creating Redundancy Modules in the Control Building Guide for block configuration details.
While the Configuration tab in the RM/RCP dialog box in Control Builder Project view shows the
default values as Never for Auto-Synchronization and DISABLED for Program Command
Recognition, these values are not written to the RM when the RM block is loaded from the Project
view.
For a fully functional pair of RMs, some configuration changes applicable to both RMs can be made
through the dialog box for either RM in the Monitoring view. In either case, the Primary RM
eventually receives and executes the request, and directs the Secondary to make the same
change. If the partner RM is not present, the local RM makes the changes regardless of the
redundancy state.
- 188 -
Chapter 10 - Controller Redundancy Functionality
You can also configure Description and Keyword text strings for use with Station displays through
the RM profiles tab in the RM/RCP dialog box in the Project view only. You must call up the
RM/RCP dialog box for the Primary RM to enter the text strings in the applicable Primary fields on
the RM profiles tab. You must call up the RM/RCP dialog box for the Secondary RM to enter the
text strings in the applicable Secondary fields on the RM profiles tab. These entries are written to
the appropriate RM when the given RM block is loaded from the Project view.
The RM overwrites the unassigned Chassis ID parameter at power up to be Chassis_A, if its
redundancy state is Primary; or Chassis_B, if its redundancy state is Secondary. You can toggle the
chassis ID assignment through a button on the Configuration tab or the Display tab in the
RM/RCP dialog box.
10.2.3 RM monitoring
You can view relevant information about the operation of the RMs and the RCP and issue online
commands through the RM/RCP dialog box in the Control Builder Monitoring tree view. You only
need to double-click the Primary or Secondary icon for a loaded RM in the Monitoring tree view to
call up the RM/RCP dialog box. As shown in following figure, the dialog box includes nine different
categories of information under separately labeled tabs.
TIP
The Identification, Dependencies, and Template Defining tabs only appear when the
optional Template license is activated.
The following paragraphs give a brief description of the functions associated with the RM/RCP
dialog box and each of its tabs.
- 189 -
Chapter 10 - Controller Redundancy Functionality
l Primary- Relates physical hardware data for chassis identification (Chassis_A) and RM serial
number to the Primary redundancy state.
l Secondary Readiness - Shows readiness of Secondary chassis to assume the role of the
Primary if a switchover occurs. The possible readiness states are:
o UNDEFINED: Insufficient data to assess readiness. This is generally a startup state.
o NOPARTNER: Partner (Secondary) is not visible through RM-to-RM private path and
cannot assume the role of the Primary.
o DISQUALIFIED: Secondary is present and disqualified for operation as the Primary. It
cannot assume the role of the Primary.
o SYNCHRONIZED: Secondary is synchronized with the Primary. It can now assume the
role of the Primary.
o STANDBY: Secondary is not synchronized but it can assume the role of the Primary.
This state is not available in R120.
l Secondary - Relates physical hardware data for chassis identification (Chassis_B) and RM serial
number to the Secondary redundancy state.
If a switchover occurs, the data in the Primary and Secondary boxes change places.
- 190 -
Chapter 10 - Controller Redundancy Functionality
l Auto-Synchronization - This refers to the ability of the RCP to synchronize without user
intervention. This is only applicable when the Auto-Synchronization state is Enabled and an
Auto-Synchronization event is triggered.
o Option: Shows the current configuration status and provides these on-line
configuration selections.
ALWAYS - Auto-Synchronization State is always Enabled.
NEVER - Auto-Synchronization is always Disabled
CONDITIONAL - Auto-Synchronization is Enabled upon receipt of any valid Initiate
Synchronization command; or Disabled upon receipt of any valid Disqualify
Secondary command.
o State: Shows the current Auto-Synchronization state.
ENABLED: An RM with a Disqualified Secondary will attempt to synchronize the
Secondary when it receives any Auto-Synchronization event trigger.
DISABLED: An RM ignores any Auto-Synchronization event trigger.
l Synchronize Secondary Button - Lets you send a synchronize command to the RM. If a
Primary RM with a Disqualified Secondary accepts the command, it attempts to synchronize
with its partner.
l Disqualify Secondary Button - Lets you send an abort synchronization command to the RM. If
a Primary RM with a Qualified Secondary accepts the command, it aborts synchronization with
its partner.
l Swap Control Button - Not active for R120.
l Swap to Standby Button - Not active for R120.
- 191 -
Chapter 10 - Controller Redundancy Functionality
l Become Primary Button - Lets you send a change to Primary command to the RM. If a
Disqualified Secondary RM with no partner (Primary not visible) accepts the command, it
switches to the Primary state.
l Chassis Synchronization States - Provides a status overview of the synchronization activity on
a module by module basis.
o Slot: Numbered reference to the ICP chassis slot location.
o % Complete: Shows status of synchronization effort for a module pair as a percentage
(0 to 100). Modules synchronize at different rates. For example, a CPM can take as
long as a minute to synchronize. The RM always shows 0%, since it does not perform
a configuration data exchange during synchronization. The RMs synchronize their
configurations at startup (or reconnect) and whenever a configuration change
occurs.
o Module: Identifies the module installed in a given slot with an abbreviation.
UNK - Unknown
- - - No module present
CPM - Control Processor module
CNI - ControlNet Interface
RM - Redundancy Module
o Compatibility: Shows module compatibility with respect to its partner.
UNDEFINED: No module, no partner, or not yet assessed. (Note that the second slot
for a doublewide module is shown as UNDEFINED.)
INCOMPATIBLE: Modules have detected an incompatibility in one or more of these
attributes.
Honeywell ID
Product Type
Product Code
Revision
FULLY: Modules are compatible. It is possible that minor module differences do not
warrant incompatibility. If versions differ, the newer version is programmed to make
this determination. .
o Initiate Switchover Button - Lets you send a switchover command to the RM. If a
Primary RM with a Qualified (Synchronized) Secondary accepts the command, it
immediately initiates the switchover.
- 192 -
Chapter 10 - Controller Redundancy Functionality
l SUMMARY STATUS - List of items that reflect the general status of the RM.
o General State: Shows the general operational state of the RM.
UNDEFINED - General state of the RM has not yet been assessed.
STARTUP - RM in process of startup.
RELOAD - RM firmware in reload cycle.
FAULT - RM in fault state.
OK - RM is fully operational.
o Auto-Sync Option: Shows current Auto-Synchronization option selection - See
Summary tab for more details.
ALWAYS
- 193 -
Chapter 10 - Controller Redundancy Functionality
NEVER
CONDITIONAL
o Auto-Sync State: Shows current state for Auto-Synchronization relative to an event
trigger - See Summary tab for more details.
ENABLED
DISABLED
o Program Cmnd: Shows current configuration selection for allowing the RM to accept
program commands from a controller module.
ENABLED - RM accepts all valid commands from a Control Processor module.
DISABLED - RM rejects any command from a Control Processor module and
generates an error message.
o Error Code: Shows any detected error code in the format EXXX. Where XXX
represents an alphanumeric code.
o Fault Bits: Shows status of four severity fault flags in the RM. A checkmark in a box
indicates an active fault.
- 194 -
Chapter 10 - Controller Redundancy Functionality
l Chassis ID - Shows current chassis ID position relative to Primary (Chassis_A) and Secondary
(Chassis_B) for given RM serial number.
o RM Serial Number: Lists unique identification number assigned to given RM.
o Chassis ID: Shows display position relative to Primary and Secondary states as
Chassis_A and Chassis_B, respectively.
l Toggle Chassis ID Button - Lets you send a Toggle Display command to the RM. It switches the
chassis ID labels between two RM serial numbers.
- 195 -
Chapter 10 - Controller Redundancy Functionality
l Recent Synchronization Attempts - Lists the result and cause for the four most recent
synchronization attempts.
o Order: Shows the chronological order of the data as follows.
N… Most recent data
N-1 Second most recent data
N-2 Third most recent data
N-3 Fourth most recent data
o Result: Shows the result of the synchronization attempt.
NOATTEMPT - Indication of an empty location in the Result log. Usually only seen
soon after an RM startup, when the RM doesn't have enough Synchronization
attempts to fill its log.
SUCCESS - Indication that attempt resulted in RCP reaching full synchronization.
ABORT - Indication that attempt was aborted.
o Cause: Shows a message that identifies the possible cause for the result of the given
recent synchronization attempt. The following table lists the cause messages and
gives a brief description of each for reference.
- 196 -
Chapter 10 - Controller Redundancy Functionality
Cause Description
Message
BADSEC_EXIST Module in Secondary chassis failed prior to the synchronization attempt.
Repair or replace the failed module and retry.
COMM_NOEXIST Communications failed before the synchronization attempt. Try the recovery
procedures listed for the COMM_DISCONN message.
CROSSLD_FAIL The cross load of data from Primary partner modules failed. Try the recovery
procedures listed for the COMM_DISCONN message.
LOC_MAJFLT Major unrecoverable fault detected for module in the local chassis. Repair or
replace the failed module and retry the synchronization attempt.
MODCONF_ERR Module configuration error. Check module configuration for compliance with
redundancy requirements and retry the synchronization attempt.
MOD_INSERT Module was inserted into the chassis during the synchronization attempt.
Check and correct module installation and pairing in the RCP and retry the
synchronization attempt.
MODPAIRINCMP A pair of modules is incompatible. Use other RM/RCP dialog box tab views to
identify the incompatible pair. Use the Network Tools application to check
module data and update firmware as required. Retry the synchronization
attempt.
MOD_REMOVAL Module was removed from the chassis during the synchronization attempt.
Check and correct module installation and pairing in the RCP and retry the
synchronization attempt.
PRTNR_MAJFLT Major unrecoverable fault detected for the partner module. Repair or replace
the failed module and retry the synchronization attempt.
SECMOD_FAIL Module in Secondary chassis failed. Repair or replace the failed module and
retry the synchronization attempt.
SECRM_ Communications error with the RM in the Secondary chassis. Try the
COMERR following recovery procedures in the order presented and retry the
synchronization attempt after each procedure.
l Check redundancy cable installation.
l Reseat each RM in turn.
l Replace each RM in turn.
- 197 -
Chapter 10 - Controller Redundancy Functionality
Cause Description
Message
l Reseat each module in turn.
l Replace each module in turn.
l Replace each chassis in turn. .
SECRMMAJRFLT Major recoverable fault detected for the RM in the Secondary chassis. Repair
or replace the RM and retry the synchronization attempt.
SECRMMAJUFLT Major unrecoverable fault detected for the RM in the Secondary chassis.
Replace the RM and retry the synchronization attempt.
WRONG_CHS_ST Chassis is in the wrong redundancy state for synchronization. The Primary
chassis must have a Disqualified Secondary to accept the synchronization
attempt. Disqualify the Secondary and retry the synchronization attempt.
WRON_DEV_ST Module is in the wrong device state. Individual module state does not support
redundancy function. For example, the CPM is in its ALIVE state. Change
device state as required and retry the synchronization attempt.
- 198 -
Chapter 10 - Controller Redundancy Functionality
- 199 -
Chapter 10 - Controller Redundancy Functionality
- 200 -
Chapter 10 - Controller Redundancy Functionality
Control Level - A system wide configuration parameter for Experion Server to limit control over
selected display data in Station. A control level can be any number from 0 to 255. An operator can
only control a point if their assigned control level is equal or greater than the assigned Control
Level. The default value is 200.
Control Area - A system wide configuration parameter for Experion Server to restrict access to data
in Station.
Number of History Parameters - Defines the number of history parameters to be included in the
History Configuration table. Key in the desired number from 1 to 25 and press <Enter> to initiate
changes in the Table.
Parameter - Enter a valid parameter name for a parameter associated with the given point that is
to be collected and stored as historical data at predetermined intervals. You can enter up to 25
different parameters for this given point.
Description - This read-only field provides a brief description of the entered parameter.
FAST - Check box lets you select the Fast type of history collection.
STD - Check box lets you select the Standard type of history collection.
EXTD - Check box lets you select the Extended type of history collection.
EXC - Check box lets you select the Exception type of history collection.
Gating Parameter - Enter an optional gating parameter to define the conditions under which data
for this parameter should be collected. This field is only active when associated valid parameter
and history type are configured.
Gate State - Defines the gate state for the configured gating parameter. This field is only active
when a gating parameter is configured.
- 201 -
Chapter 10 - Controller Redundancy Functionality
standard display functions in the Experion Server applications. The entries are the same for both
Primary and Secondary chassis.
Point Detail Page - Links the RM data to a Detail display template for Station. The default display
file name is sysDtlRMA.dsp
Associated Display - Links a custom schematic created in Display Builder to the RM Detail display.
Enter page number or file name assigned to the custom graphic in Display Builder.
Group Detail Page - Links RM faceplates to a Group display template for Station. The default
display file name is sysGrpRMA.dsp.
Number of Trends - Defines the number of trend parameters to be included in the Trends
Configuration table. Key in the desired number from 1 to 25 and press <Enter> to initiate changes
in the Table.
Trend # - Key in the desired Trend # (Number) to be associated with this trend parameter. Trend
set displays are standard Station displays that provide a way of viewing historical data for points.
Trend set displays complement other types of displays that can be used to view historical data such
as point detail trends, group trends, and custom display trends.
Pen - Defines the color of the pen that will be used to trace the assigned parameter on the Station
Trend display.
Trend Parameter - Enter a valid parameter name for a parameter associated with the given point
that is configured for history collection. When a point parameter has been configured for history
collection, it is sampled and stored in the server database history files. The Trend displays show the
history data contained in these files. You can include this point as a member of up to 10 trends.
Description - This read-only field provides a brief description of the entered parameter.
- 202 -
Chapter 10 - Controller Redundancy Functionality
Number of Groups - Defines the number of group parameters to be included in the Groups
Configuration table. Key in the desired number from 1 to 25 and press <Enter> to initiate changes
in the Table.
Group # - Key in the desired Group # (Number) to be associated with this group parameter. Group
displays are single Station displays that provide a way of viewing up to eight related points. Each
group display can contain a mixture of point types.
Pos - Defines the number of the position the configured parameter will occupy in the Station
Group display.
Group Parameter - Enter a valid parameter name for a parameter associated with the given point
that is configured in the system. You can include this point as a member of up to 10 groups.
Description - This read-only field provides a brief description of the entered parameter.
l Module detected in either chassis. Detection means that the module has completed a portion
of its startup process and begins interacting with the RM. Other actions, such as a switchover
caused by inserting a module, may precede Auto-Synchronization.
l Module goes invisible in the Secondary chassis.
l All major faults cleared in the Primary chassis.
l The redundancy's backplane hardware failure signal (SYS_FAIL_L) is deactivated. This applies
to either chassis, and is probably caused by the removal of a failed module.
l Auto-Synchronization option changes to ALWAYS, with Auto-Synchronization state of
DISABLED. This causes the Auto-Synchronization state to change to ENABLED.
Note that all of these events result in only one attempt at synchronization. If the synchronization
function aborts, it takes another event trigger (or Secondary command) to initiate another
synchronization attempt.
- 203 -
CHAPTER
- 204 -
Chapter 11 - Control Mode Shed on Loss of I/O Functionality
ATTENTION
These common actions do not break the communications path or initiate a control mode
shed:
l Activating/inactivating the IOM block.
l Activating/inactivating the CEE that contains the IOM block.
l Activating/inactivating the Control Module that contains an associated AOCHANNEL
or PWMCHANNEL block.
For example, if the Analog Output module associated with the AO_SECONDARY block in the typical
cascade control strategy shown below is removed from the chassis, the control MODE of the
connected PID_SECONDARY block would shed to MAN (Manual). You could observe this action
take place through the Monitoring tab in Control Builder or the associated Detail display in Station.
11.2 Option to specify a time delay for the REGCTL blocks to shed
the mode
With R400, you can specify a time delay for the regulatory control blocks to shed the control mode
in the event of an IO communication loss.
Note that this functionality is applicable to all the regulatory control blocks which supported the
mode shed functionality prior to R400.
You can select one of the following options in the event of an IO communication loss.
- 205 -
Chapter 11 - Control Mode Shed on Loss of I/O Functionality
l Shed the mode to MANual immediately after an IO communication loss (existing functionality).
l Shed the mode to MANual after a specified time delay (0 to 60 seconds).
l 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.
l Enabling the option of specifying time delay for REGCTL blocks to shed the mode
l Description of values for Bad Output Connection Option
l Considerations for setting the BADOCOPT value
l Applicability of BADOCOPT parameter for FANOUT blocks
l Simulation support for the BADOCOPT parameter
l Impact of BADOCOPT parameter on regulatory control functionalities
l Effects of BADOCOPT value on delay timer in various scenarios
l Auxiliary memory usage for the parameters
l Detail Displays
11.2.1 Enabling the option of specifying time delay for REGCTL blocks
to shed the mode
The complete functionality of specifying time delay for the regulatory control blocks to shed the
mode in the event of an IO communication loss can be optionally enabled. This is accomplished
through a new parameter BADOCOPTENB. The available values for the BADOCOPTENB parameter
are as follows:
l Enable - When this parameter is enabled, you can specify the time delay for the regulatory
control blocks to shed their mode.
l 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.
- 206 -
Chapter 11 - Control Mode Shed on Loss of I/O Functionality
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).
- 207 -
Chapter 11 - Control Mode Shed on Loss of I/O Functionality
1 - 60 Mode sheds to MANual and the mode attribute After the IO communication is
changes to Operator based on the following restored, the initialization
conditions: request is reset and you must
revert the mode setting
When the BADOCOPT value is less than its manually. However, if the IO
associated Control Module's execution period, the communication is restored
mode shedding occurs after a time delay of one CM within the specified time delay,
Period. For example, if the Control Module's there is no need to revert the
execution period is 5 secs and the BADOCOPT value mode setting.
is 1 sec then the mode shed to MANual happens
after 5 seconds. (1 block execution cycle)
When the BADOCOPT value is greater than its
associated Control Module's execution period, the
mode shedding occurs as follows:
l 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 Module's period is 1 sec then the mode
shed to MANual happens after 10 seconds.
(10/1=10 block execution cycles)
l 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 Period. For
example, if the BADOCOPT value is 15 secs and
the Control Module's 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)
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.
- 208 -
Chapter 11 - Control Mode Shed on Loss of I/O Functionality
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.
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.
- 209 -
Chapter 11 - Control Mode Shed on Loss of I/O Functionality
NaN You change the Change comes into effect immediately. Mode does not
BADOCOPT value to shed to MANual. Timer is reset.
NaN while the delay
timer is running.
Between 1 - You change the Mode sheds to MANual, even if the specified time delay is
60 secs mode to a non- not expired. However, if the communication error is
MANual mode after restored and restarted, the mode sheds to MANual after
the block has shed the specified time delay is expired.
to MANual after the
specified time delay
or
You set the mode to
MANual before the
delay time expires
and then change
the mode to a non-
MANual mode.
Between 1 - You set the CEE to Timer value is reset. The timer is restarted after the CEE
60 secs Idle or make the is started, Control Module is active and the IO
Control Module communication loss continues to exist.
containing the
regulatory block
inactive.
Between 1 - You perform a Checkpoint Save does not store the active delay timer
60 secs Checkpoint Save value. When the checkpoint data is restored, the
operation. 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 - You perform an On- On-Process Migration does not restore the active delay
60 secs Process Migration. timer value after migrating to the new release. The
BADOCOPT value option is restored after migration but
the delay timer value is reset. If the IO communication is
not restored even at this point, this is considered a new
instance and the delay timer is restarted.
Between 1 - You perform a RAM RAM Retention Restart does not restore the active timer
60 secs Retention Restart. value but it is reset.
- 210 -
Chapter 11 - Control Mode Shed on Loss of I/O Functionality
The following figure displays the detail display of the Main tab of a regulatory control block.
The following figure displays the detail display of the Alarms tab of a regulatory control block.
- 211 -
Chapter 11 - Control Mode Shed on Loss of I/O Functionality
- 212 -
Chapter 11 - Control Mode Shed on Loss of I/O Functionality
- 213 -
CHAPTER
Starting from Experion R430, project engineers can set the MODE behavior of the regulatory
control blocks to go to Manual mode or the configured mode upon controller download, last saved
mode upon Checkpoint Restore, and last mode upon RAM Retention Restart (RRR). To accomplish
this, a new parameter MODESTARTMAN is introduced on the Main page of the regulatory control
blocks.
The behavior of the MODE parameter of the regulatory control blocks is decided by the following
parameters. These parameters take the priority in the order in which they are listed .
l MODESTARTMAN (Load and Start MODE in Manual)
l CEESTARTOPT (CEE Restart Option)
l RRRCEESTATERAM (Retention Restart CEESTATE)
- 214 -
Chapter 12 - Enhancements to MODE behavior of the regulatory control blocks
ATTENTION
l The MODESTARTMAN parameter is not applicable for the following blocks:
o REEOUT block
o RAMPSOAK block
o PULSECOUNT block
o PULSELENGHT block
l If you are on an R430 server and the controller is in R410 or earlier version, the
MODESTARTMAN is available in the database and on the configuration form of the
regulatory control blocks. However, this does not have any functional impact and
the parameter value is displayed as blank in the Monitoring view. In addition, if you
try to modify the MODESTARTMAN parameter from the Monitoring view, an error
message appears indicating that the parameter is not recognized by the CEE.
- 215 -
Chapter 12 - Enhancements to MODE behavior of the regulatory control blocks
ATTENTION
l After a controller download or a Checkpoint Restore, you must perform a Cold Start
or a Warm Start, as applicable. The MODESTARTMAN parameter behavior then
depends on the start type.
l After an RRR;
o If CEESTATE is Idle, this must be followed by either a Cold Start or a Warm
Start. The MODESTARTMAN parameter behavior then depends on the start
type.
o If the CEESTATE is RUN, the MODESTARTMAN parameter behavior then
depends on the RRRCEESTATE and the CEESTARTOPT parameters.
l In a CEE-to-CEE cascade where the primary regulatory control block and the
secondary AO channel are hosted on different nodes, the primary regulatory control
block’s mode is changed to Manual, if the node hosting the secondary (AO channel)
is shutdown and restarted.
- 216 -
Chapter 12 - Enhancements to MODE behavior of the regulatory control blocks
12.2 MODESTARTMAN
On (1)
l Sets MODE to Man and MODEATTR to Operator during controller download
and Checkpoint Restore.
l Sets MODE to Man and MODEATTR TO Operator during RAM Retention
Restart (RRR) if the regulatory control block is connected to a downstream IO
channel.
Config Yes
Load
Active Yes
Loadable
Residence CEE
Related MODE
Parameters
MODEATTR
Remarks The parameter determines the values of the MODE and the MODEATTR
parameters of the block after controller download, Checkpoint Restore, and Ram
Retention Restart.
l When this parameter is disabled;
l MODE and MODEATTR are downloaded as per the configuration.
l Checkpoint Restore restores MODE and MODEATTR with the value
in the Checkpoint file. Checkpoint Restore must then be followed by
a Cold or a Warm Start.
l Ram Retention Restart restores MODE as per the configuration of
the RRRCEESTATE and the CEESTARTOPT parameters and any
subsequent Warm or Cold Start operations, if required. MODEATTR
is restored to the value it had before Ram Retention Restart.
- 217 -
CHAPTER
l Export functionality
l Import functionality
- 218 -
Chapter 13 - Control Builder Export and Import Functionality
By default, the ERDB used by the Control Builder is stored in SQL Server under the filename ps_
erdb (default name).
ATTENTION
If you have installed Experion in a different drive other than “c,” the exported portion of the
ERDB is automatically stored in the following directory by default.
C:\Users\Public\Public Documents\Honeywell\Experion PKS\Ixport
- 219 -
CHAPTER
ATTENTION
The hyperlinks appear with the normal text color and the hyperlink text color is not used in
the SCM chart of Monitoring mode.
- 220 -
Chapter 14 - SCM and CM Chart Visualization Functionality
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.
For example: The example_pid.pida.SP is indicated as a hyperlink since the mouse pointer is moved
on the parameter.
- 221 -
Chapter 14 - SCM and CM Chart Visualization Functionality
Figure 14.2 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.
- 222 -
Chapter 14 - SCM and CM Chart Visualization Functionality
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.
l 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.
l Open only one SCM or CM chart for display in Station at a time.
l You can display the same SCM or CM chart on multiple Stations at the same time.
l You can display different SCM or CM charts on multiple Stations at the same time.
l Since the operator security level can be changed through Station, it is possible that the
security level for Station will be different than the security level for Control Builder.
l A communications failure will result in question marks (?) being shown in place of live values
until the fault is cleared.
- 223 -
CHAPTER
Prior to R410, you could only configure on-delay time (deadband time) for process alarms at block
level. For example, if you configured an on-delay time for a PID block, all alarms associated with
that PID block would be set to the same on-delay time.
Although on-delay time was configured at block level, you could modify it individually for all alarms
from the Monitoring view only. However, the values modified from the Monitoring view could not
be restored after a Checkpoint Restore. As a result, you had to re-configure the on-delay time for
individual alarms every time you reloaded the strategies.
With R410, you can configure alarm attributes separately for individual alarms associated with a
block. In addition, these values are restored after a Checkpoint Restore. As a result, there is no
need for reconfiguration after a Checkpoint Restore.
For example, you can individually configure the alarm attributes for PID block's OPHIALM as
follows:
l on-delay time - 5 seconds
l off-delay time - 10 seconds
l deadband value - 2
l deadband unit - Engineering Unit (EU)
This enhancement is applicable only for a set of analog and digital process alarms and is
supported for the following controllers.
l ACE
l SIM-ACE
l C200E
l SIM-C200E
l C300
l C300 - 20msCEE
l SIM-C300
- 224 -
Chapter 15 - Enhancements to reporting of alarms in Station
l On-delay time (xxxxALM.TM parameter) - You can configure time duration in seconds during
which a process alarm reporting is suppressed. The alarm is reported on the Station only when
this time expires and the alarm condition continues to exist even after this time expires.
For example, consider that you have configured an on-delay time of 10 seconds for OPHIALM.
In this scenario, an active OPHIALM alarm is reported in the Station only when it exists for
more than 10 seconds.
l Off-delay time (xxxxALM.TMO parameter) - You can configure time duration in seconds during
which an RTN reporting is suppressed even though the alarm condition does not exist. The
RTN is reported on the Station only after this time expires and the alarm condition has
returned to normal. However, if a deadband value is also configured, the RTN is reported only
when OP value is less than the trip point value - deadband value for the configured off-delay
time.
For example, consider that you have configured an off-delay time of 10 seconds for OPHIALM.
In this scenario, an existing OPHIALM is reported in the Station as RTN only when it is in the
RTN state for more than 10 seconds.
l Deadband value (xxxxALM.DB parameter) - With R410, deadband value can be individually
configured for each alarm. The deadband value is calculated as follows depending on the
alarms.
o For high and high high alarms: Trip point - deadband value (configured)
o For low and low low alarms: Trip point + deadband value (configured)
For example, you can configure OPHIALM.DB as 5 and OPLOALM.DB as 3.
l Deadband units (xxxxALM.DBU parameter) - With R410, deadband unit can be individually
configured for each alarm.
For example, you can configure PVHIALM.DBU as percent and PVLOALM.DBU as Engineering
Unit for the DATAACQ block.
However, you can configure only identical deadband units for the alarms in the following
blocks.
o AUTOMAN
o ENHREGCALC
o OVRDSEL
o PID
o PIDER
o PIDFF
o PID-PL
o POSPROP
o RAMPSOAK
o RATIOBIAS
o RATIOCTL
o REGCALC
o REGSUMMER
o REMCAS
o SIGNALSEL
o SWITCH
- 225 -
Chapter 15 - Enhancements to reporting of alarms in Station
configure on-delay time, off-delay time, deadband value, and deadband units.
- 226 -
Chapter 15 - Enhancements to reporting of alarms in Station
ATTENTION
The INALM parameter also changes based on the expiration of the alarm timer values.
- 227 -
Chapter 15 - Enhancements to reporting of alarms in Station
BADCTLOPT as SHEDHI, SHEDLO, SHEDSAFE, or Reset to zero (default value) and the
SHEDHOLD when BADCTLALM.TM is already set to following message appears.
a non-zero value
“Bad Control Alarm OnDelay Time is Reset
[EPKS_E_WARNING (1L.101.2190)]”
For more information about the error
message, refer to Control Builder Error
Codes Reference Guide.
The following table illustrates with example the behavior of the active/RTN of the alarm based on
the configured alarm attributes.
- 228 -
Chapter 15 - Enhancements to reporting of alarms in Station
l Off-delay time
= 30 sec
l Deadband
value = 0
l Trip point = OP value OP value reaches a value = trip point - deadband value, 78 in
80 exceeds 80. this example.
l Off-delay time
=0
l Deadband
value = 2
l Trip point = OP value OP value goes below a value = trip point - deadband value,
80 exceeds 80. 78 in this example, and persists in the same range for 30
sec or more.
l Off-delay time
= 30 sec
l Deadband
value = 2
RTN is not issued if after crossing the trip point, the OP value
returns to normal range but again crosses the trip point. In
addition, the off-delay timer is reset when the OP value
crosses the trip point.
- 229 -
Chapter 15 - Enhancements to reporting of alarms in Station
For example, consider that the ALMTM value of the PID block is configured as 20 seconds before
server/controller migration to R410. In this scenario, after completion of server and controller
migration to R410, the deadband time for all alarms associated with the PID block is set to 20
seconds. Otherwise, if only server migration is complete, the new alarm attributes are available in
the configuration of each block. You can configure those alarm attributes for your requirements
only when the controller migration is complete. If you try to configure the new alarm attributes
without completing the controller migration, the following error message appears.
“InvalidParameterBlank”
The alarm/RTN is reported only after the controller migration/switch-over based on the alarm
condition. You can reconfigure the attributes based on your alarm reporting requirements.
- 230 -
CHAPTER
The IOLINK connection for process Manager I/O can be established through C200/C200E
controller and IOLIM or C300 controller.
l C300 controller: where the IOLINK contains a function that enables programming and
reprogramming the executable image (rather than substitution of a removable hardware
component).
- 231 -
Chapter 16 - I/O Link Interface
If Then, Cable is . . .
Status
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.
- 232 -
Chapter 16 - I/O Link Interface
1. In the Monitoring tab, expand the hierarchy for the applicable IOLIM block and double click
the IOLINK icon to open its configuration form.
2. On the Main tab, click the arrow button in the COMMAND box and select ENB PRESWAP.
3. Click the Yes button to confirm the action.
- 233 -
Chapter 16 - I/O Link Interface
1. In the Monitoring tab, expand the hierarchy for the applicable IOLIM block and double click
the IOLINK icon to open its configuration form.
2. Click the I/O Status Summary tab to open it.
3. Scroll the IOP/IOM Number grid to locate the applicable IOP/IOM number. Click the
appropriate row in the IOM Commands column. Click the arrow button in the row and select
SWAP PRIMARY.
4. Click the Yes button to confirm the action.
5. Click the OK button to close the form.
6. This completes the procedure.
1. In the Monitoring tab, expand the hierarchy for the applicable IOLIM block and double click
the IOLINK icon to open its configuration form.
2. Click the Statistics tab to check various link interface and performance related parameters.
Click the Show Parameter Names check box in the lower left-hand corner of the form to
display the actual parameter name associated with a field. Refer to the Control Builder
Parameter Reference document to find a definition for a given parameter.
3. Repeat Step 2 for the I/O Link Status and I/O Status Summary tabs.
4. Click the OK button to close the form.
5. This completes the procedure.
- 234 -
CHAPTER
- 235 -
Chapter 17 - Process Manager Input/Output Functionality
High-level points are located in the High Level Analog Input (HLAI and HLAIHART) IOP. One type
of low level point is located in the Low Level Analog Input (LLAI) IOP. This type is generally used for
control points. The other type is located in either the Low Level Multiplexer (LLMUX) or the
Remote Hardened Multiplexer (RHMUX) IOP. This type is generally used for data acquisition
points. The type of analog input point needed is based on the type of field sensor that is providing
the input to the point and the characterization options selected by the user as listed in following
table.
- 236 -
Chapter 17 - Process Manager Input/Output Functionality
HL Thermocouple
HL RTD
HL RTD
HL RTD
- 237 -
Chapter 17 - Process Manager Input/Output Functionality
Notes:
1. PVRAW is the voltage signal at the IOP Field Termination Assembly as a percentage of the
voltage range for the sensor type. The exceptions are as follows:
a. For a thermocouple sensor type, PVRAW is in microvolts after reference junction
compensation. If an open thermocouple is detected, PVRAW is set to NaN.
b. For an RTD sensor type, PVRAW is in milliohms after lead-wire compensation. If an
open RTD * is detected, PVRAW is set to NaN.
c. An external power source is used to excite the slidewire. The power source and the
slidewire are connected to separate analog input points. One power source input
can be used with several slidewire inputs.
For slidewire input, PVRAW is the slidewire ratio (Vin/Vsrc).
Where: Vin is the FTA voltage input for this data point (slot)
Vsrc is the FTA voltage source at the slidewire source slot specified by
parameter SLWSRCID. If Vsrc is zero (fails the under-range check), PVRAW
is set to NaN.
d. For a 0 to 100 millivolt sensor type, PVRAW is the FTA voltage input for the slot.
2. If the diagnostics determine that the A/D converter has failed, PVRAW of the slot is set to
NaN.
3. The normal operating range for PVRAW is configured by the user (for a thermocouple, 0
percent equals PVRAWLO and 100 percent equals PVRAWHI; for a slidewire, 0 equals
PVRAWLO and 1 equals PVRAWHI).
* Note that LLMUX FTAs provide three wire terminations for each sensor. Open wire detection for
RTDs is limited in that the FTA will detect an open wire between the “A” and “C” leads, but not the
“B”lead.
17.1.2 PV Characterization
The PV signal received from the field is characterized based on the entries that the user makes for
the SENSRTYP, PVCHAR, PVTEMP, INPTDIR, and TCRNGOPT parameters as shown in the previous
figure. The input PV signal is first converted to a raw PV signal (PVRAW) whose units can be
percent, ratio, millivolts, microvolts, or milliohms depending on the entry made for the SENSRTYP
- 238 -
Chapter 17 - Process Manager Input/Output Functionality
parameter. The PVRAW signal is then converted to the engineering units. The engineering unit
conversions that are performed in the HLAI, HLAIHART, LLAI and LLMUX points are listed in the
previous table and described in the following sections.
TIP
The LLMUX points include points built against the LLMUX IOP as well as the RHMUX IOP.
The RHMUX does not have a unique point type. The RHMUX IOP does not support RTD.
l For 0 to 5 Volts, 0.4 to 2 Volts, and 1 to 5 Volts sensor types, when INPTDIR is Direct:
l For slidewire and 0 to 100 millivolts sensor types, when INPTDIR is Reverse:
l For 0 to 5 Volts, 0.4 to 2 Volts, and 1 to 5 Volts sensor types, when INPTDIR is Reverse:
- 239 -
Chapter 17 - Process Manager Input/Output Functionality
ATTENTION
Proper compensation for lead-wire resistance depends on the resistance being equal in
each leg of the RTD. This includes resistance due to lead-wire resistance and intrinsic safety
barriers. No provision is made to compensate for lead-wire resistance mismatch or intrinsic-
safety-barrier resistance mismatch. Both the lead resistance and the intrinsic-safety-barrier
resistance are allowed simultaneously when connected to an RTD in a Division 1 area.
- 240 -
Chapter 17 - Process Manager Input/Output Functionality
The STI points are located on the STI IOPs. Each STI IOP has a maximum of 16 inputs, and it can
communicate bi-directionally with up to 16 Smart transmitters, regardless of the mix of transmitter
types (pressure, temperature, or flow) using Honeywell's Digitally Enhanced (DE.) protocol.
- 241 -
Chapter 17 - Process Manager Input/Output Functionality
The bidirectional digital communication allows the user to configure, view, and modify the
transmitter database through the Analog Input Channel block associated with the STI IOP in the
Monitor mode of Control Builder or the IOP's Detail display in Station. This digital protocol allows a
more precise PV value to be transferred, thereby permitting more accurate control of the process.
In addition, the transmitter can also send a secondary variable such as the transmitter
temperature, cold junction temperature, or totalized value, depending on the transmitter type.
An STIMV IOP allows up to four multi-PV transmitters or a mix of multi-PV and single PV
transmitter inputs that total no more than 16. A multi-PV transmitter is configured as if it were in
“n” contiguous slots where “n“ equals the number of PVs expected. The STITAG parameter value
for each contiguous slot must be identical.
- 242 -
Chapter 17 - Process Manager Input/Output Functionality
Upper Range URL These parameters are the respective built-in maximum
Limit and Lower and minimum limits of the transmitter and they cannot be
Range Limit LRL changed. The LRL is a read-only parameter. The URL
must be configured to match the URL value of the
transmitter.
Software Version STISWVER Revision level of the software in the transmitter. This is a
read-only parameter.
Serial Number SERIALNO Serial number (PROM) of the transmitter. This is a read-
only parameter.
- 243 -
Chapter 17 - Process Manager Input/Output Functionality
ATTENTION
We recommend using the PV_DB or PV_SV_DB mode, since they support database
mismatch detection and on process mismatch recovery.
DnLoadDb downloads the transmitter parameters from the STI point database
into the transmitter.
UpLoadDb uploads the transmitter database from the transmitter into the STI
point.
Cor_Inpt corrects the zero point for the Process Variable (PV).
- 244 -
Chapter 17 - Process Manager Input/Output Functionality
Loading loading of the database is occurring between the STI point and the transmitter.
Loadcomp loading of the database between the STI point and the transmitter has completed
successfully.
Loadfail loading of the database between the STI point and the transmitter has failed.
OK Normal State - The STI and the transmitter are okay. Transmitter is updating the
Process Variable (PV) value at the STI point. State remains OK when the point is
made inactive.
DBChange a database mismatch exists between the STI point and the transmitter. Transmitter
is not updating the PV value at the STI point. State remains DBchange when point
is made inactive
- 245 -
Chapter 17 - Process Manager Input/Output Functionality
- 246 -
Chapter 17 - Process Manager Input/Output Functionality
Notes:
1. PVRAW is a percentage of the configured range for the sensor type. For Multivariable
transmitters, PVRAW Engineering Units are different for each PV slot.
2. If the transmitter gross status indicates Output mode or Bad, PVRAW of the STI point is set
to NaN, and PVSTS is set to Bad.
3. The normal operating range for PVRAW (0 percent equals PVRAWLO, 100 percent equals
PVRAWHI) is configured by the user.
4. For the supported temperature ranges, refer to the definition of the PVCHAR parameter in
the Control Builder Parameter Reference.
- 247 -
Chapter 17 - Process Manager Input/Output Functionality
l If INPTDIR = Reverse:
- 248 -
Chapter 17 - Process Manager Input/Output Functionality
If the range-checked and filtered value is less than the value specified by the user-configured
LOCUTOFF parameter, the final output called PVAUTO is forced to PVEULO.
PV filtering can be implemented at the STI IOP, or at the Smartline Transmitter. At the STI IOP,
first-order filtering is performed on PVCALC, as specified by the user through parameter TF (filter
lag time). At a transmitter, filtering is performed on the PV depending on the value entered for the
DAMPING parameter using the SFC. The user should decide the type of filtering required based on
the following guidelines:
l The DAMPING parameter allows for better control accuracy because more PV samples are used
in calculating the filtered PV value at the transmitter.
l TF can be changed on-process from the DI Channel block configuration form. To change the
DAMPING value requires the point to be made inactive and requires the database to be
downloaded to the transmitter after the change has been made.
For better control accuracy, the use of the DAMPING value is preferred over the TF value. The
transmitter accepts only certain DAMPING values from the STI IOP, and the value received must
first be converted to one of the predefined DAMPING values that reside in the transmitter. This
conversion is accomplished automatically by the STI IOP by finding the DAMPING value that is
nearest to the desired DAMPING value.
DAMPING values differ between the Smartline Transmitters. The valid DAMPING values for each
transmitter type are contained in the following table.
l AO functions
l AO direct/reverse output
l AO output characterization
l AO calibration compensation
17.3.1 AO functions
The analog output point converts the output value (OP) to a 4-20 mA output signal for operating
final control elements such as valves and actuators in the field. The OP parameter value can be
- 249 -
Chapter 17 - Process Manager Input/Output Functionality
controlled from a regulatory function block contained in a Control Module. To convert the OP value
to a 4-20 mA signal, the analog output point performs:
l Direct/reverse Output Function
l Nonlinear Output Characterization
An option allows redundant Analog Output points. The following figure is a functional diagram of
the analog output point.
- 250 -
Chapter 17 - Process Manager Input/Output Functionality
ATTENTION
Slot or module level soft failures can prevent a point (or points) from outputting to the field.
The regulatory control point will initiate a “Bad Output“ alarm (If configured) when any
connection is broken. If all configured point connections to the field are broken, the
regulatory control point driving that analog output slot goes into initialization.
- 251 -
Chapter 17 - Process Manager Input/Output Functionality
l DI functions
l DI status point
l DI PV source selection
l DI off-normal alarming
l Alarm delay
l Event reporting
l DI latched input point
l DI sequence of events point
l SOE definitions
l SOE resolution considerations
l DI SOE configuration considerations
17.4.1 DI functions
A digital input point converts a digital PVRAW signal received from the field to a PV that can be used
by other data points in the control strategy. A functional diagram of the digital input point is shown
in the following figure.
Control strategies can test for a bad Digital Input PV. Parameter BADPVFL is set ON when:
l The PV source has been switched to Substituted, and the point is inactive or the module status
is Idle.
l The PV source is AUTO and the PV is not being updated, because either the point is inactive,
the module is idle, there is a slot soft failure, or the FTA is missing.
The digital input point is a single-input point that can be configured as a status input or a latched
input, as described in the following sections.
- 252 -
Chapter 17 - Process Manager Input/Output Functionality
- 253 -
Chapter 17 - Process Manager Input/Output Functionality
point. The source can be the PV input from the field (PVAUTO), the PV state entered by the
operator (PVman), or it can be supplied by a user program (PVsub). PVSOURCE has no effect on
the latched and accumulation options of the digital input point. If PVSOURCE is PVAUTO, PV tracks
PVRAW.
- 254 -
Chapter 17 - Process Manager Input/Output Functionality
- 255 -
Chapter 17 - Process Manager Input/Output Functionality
SOE events are recorded in a journal with a timestamp so that you can determine, for example,
which event started an upset and the progression of events thereafter. The record includes the
point ID, point descriptor, state text unit, and time of occurrence to one millisecond resolution.
Term Definition
Resolution The smallest increment of real time that can separate two consecutive SOE
(Tres) time-stamped events. The resolution of the field-connected equipment which
first stamps an event limits the inherent resolution of the system.
Sequence The minimum difference in logged time stamps that guarantees the order of
Stamp two time stamps.
Difference
(SSD)
Minimum The smallest interval between two ideal (bounceless) physical events, so the
Physical Event events can be correctly ordered by the Sequence Stamp Difference.
Separation
(MPES)
Skew (Tskew) The sum of all factors which cause differing time stamps to be applied to the
same physical event, if wired into two different places in the system.
*Estimated value.
- 256 -
Chapter 17 - Process Manager Input/Output Functionality
This means that time stamps that differ by 2, 2, 3 milliseconds in the SOE journal show order for
events that differ by 3.8, 3.8, 5.8 milliseconds, respectively.
The specification for the Sequence Stamp Difference (SSD) and the Minimum Physical Event
Separation (MPES) can be updated on completion of the Unit or FIT test for the following cases.
l Two events within the same DI-SOE module.
l Two events within the same C300 IOLink using multiple DI-SOE modules.
l Two events within the same C300 (different IO Links) using multiple DI-SOE modules.
Choose STATUS as the Digital Input Type (DITYPE). You can use the DISOE IOP as a conventional
digital input, if you choose LATCHED.
The Contact Debounce time (DEBOUNCE) parameter specifies the time interval used to debounce
an input from mechanical contacts of a field input source. It is defined as the length of time
following an input state change during which the input must remain unchanged in the new state
to declare it a valid event. DEBOUNCE has a range of - 50 milliseconds in one-millisecond
increments. The default value of 10 ms should suffice for most contacts. If not, choose a value
slightly longer than the manufacturer's specified contact bounce time.
The following figures illustrate the debounce operation.
- 257 -
Chapter 17 - Process Manager Input/Output Functionality
This waveform represents the field input. Tick marks across the waveform indicate the 200
microsecond scan intervals of the DISOE IOP hardware. Assume that the input state changes at
point A.
At point B, the state change is detected. At this point, the current time and old state are recorded.
The debounce timer is started.
l If the input remains at a steady state until the debounce timer expires, then an event is
generated with a timestamp corresponding to the time of detection (point B).
l If the input changes before the debounce timer expires (point c), then the change of state
event detected at B is discarded, the timer is restarted and runs for the full debounce time:
o If a new input detected at D remains in a steady state until the debounce timer
expires (point F), then an event is generated with a timestamp corresponding to the
original time of detection (point D).
o If the input has returned to the old state (dotted line at E) when the debounce timer
runs out (point F), no event is generated.
The PV Hold Delay (PVCHGDLY) parameter specifies the time of separation in seconds for
reporting two consecutive PV change events from the same input source. It is intended to prevent
repeated rapid reporting of PV change events (i.e., chattering). It can be configured over a 0 to60
second range in one second increments. It applies to points configured as SOE only. Ideally,
PVCHGDLY and DLYTIME should have the same value.
When a PV state change is detected, the change is reported and the PV change delay timer is
started.
l If the PV does not change before the delay timer runs out, no further action is taken.
l If the PV state changes only once before the delay timer runs out, this second event is noticed
and time stamped with the actual time of detection, but it is not reported until the delay timer
expires.
l If the PV state changes more than once before the PV change delay timer runs out, only the
last state change is noticed and time stamped but not yet reported. When the delay timer
expires:
o If the PV state is different from the state that started the timer, this event is reported.
o If the PV state is the same as the original PV state that started the timer, no event is
reported.
l DO functions
l Pulse Width Modulated (PWM) Output Type
l Status Output Type
l Initialization request flag
- 258 -
Chapter 17 - Process Manager Input/Output Functionality
17.5.1 DO functions
The digital output point provides a digital output to the field based on the origin of the input and
the configured parameters. A functional diagram of the digital output point is shown in the
following figure. The digital output point does not have any modes.
- 259 -
Chapter 17 - Process Manager Input/Output Functionality
There are two types of digital output points: pulse-width modulated (PWM) output and status
output. Selection of the output type is accomplished through the DOTYPE parameter shown in the
previous figure. The PWM type is used in combination with regulatory control block algorithms to
provide true proportional control. The status type output is the normal configuration for digital
outputs that are linked to Device Control block points. Actual output action can be status, latched
or momentary, depending on the configuration of the Device Control point. The default for
untagged component DO points is Status.
If the value of OP is less than 0 percent, it is clamped to 0 percent; an OP with a value greater than
100 percent is clamped to 100 percent.
- 260 -
Chapter 17 - Process Manager Input/Output Functionality
- 261 -
CHAPTER
l About categories
l Function block types and data organization
These categories are explained in the Experion 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. 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.
- 262 -
Chapter 18 - Component Categories and Types
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 Control Builder
Components Reference.
- 263 -
CHAPTER
19 REGULATORY CONTROL
- 264 -
Chapter 19 - Regulatory Control
Fanout FANOUT Block Sends one input to many outputs, whereby a different gain
and bias may be assigned to each output.
Override OVRDSEL Selects one input from many based on the highest or lowest
Selector (Override input value; the OVRDSEL block always forces the unselected
Selector) Block inputs to track the selected inputs, but provides two methods
for doing so:
l Propagate override feedback data to the unselected
inputs.
l Continually initialize the unselected inputs.
Proportional, PID Block Provides an implementation of the PID algorithm, using the
Integral & Ideal form, whereby the following combinations of control
Derivative terms may be configured:
l Proportional-only (acts on the error PV -SP)
l Integral-only (acts on the error PV -SP)
l Proportional & integral (act on error PV - SP), & derivative
(acts on changes in PV)
l Proportional & derivative (act on changes in PV), &
integral (acts on the error PV - SP)
l Proportional, integral & derivative (act on the error PV -
SP)
Proportional, PID-PL (Profit Provides PID control using a model predictive control package
Integral & Loop PKS) Block called Profit Loop PKS that incorporates robust control
Derivative techniques to enhance control performance despite process
with Profit model uncertainty and measurement error.
Loop PKS
Proportional, PIDFF (PID with Provides the same classic PID function as outlined above with
- 265 -
Chapter 19 - Regulatory Control
Position POSPROP Provides two digital outputs for pulse control of a final control
Proportional (Position element. It accepts process variable (PV) and set point (SP)
Control Proportional) inputs.
Block
Proportional)
Block
Pulse Count PULSECOUNT Provides pulse waveform generation on its four main outputs
Block 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 PULSELENGTH Provides pulse waveform generation on its four main outputs
Length Block 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 Provides an output that follows the user configured sequence
Block 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 RATIOBIAS Provides a calculated output based on the ratio of the input
Bias Block variables plus a fixed and/or a floating bias. Typically, used
between two PID blocks to implement a form of ratio control.
Ratio Control RATIOCTL (Ratio Accepts the actual value of the controlled flow (X1), the actual
Control) Block 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.
Regulatory REGCALC Lets you write up to eight expressions for creating custom
Control (Regulatory algorithms for Calculated Variable (CV) calculations. Provides
Calculator Control an interface to windup, initialization and override feedback
Calculator) processing, so you can add user-defined control blocks to your
Block control strategies.
Remote REEOUT Used in conjunction with the Inter Cluster Gateway to support
EEOut (Remote regulatory cascades between ACE nodes residing in two
EEOUT) Block separate Experion clusters.
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.
- 266 -
Chapter 19 - Regulatory Control
l Common regulatory control functions for C200/C200E and ACE controllers without insertion
points
l Common regulatory control functions for ACE controllers with insertion points
l CAB insertion configuration considerations for regulatory control blocks
l Insertion type functional characteristics for regulatory control blocks
l Functional requirements for Custom CAB algorithm for regulatory control block
l CAB insertions for Regulatory Control block parameters
l Pin connections to inserted CAB instances
l Insertion status and fail alarm for regulatory control blocks
l Handling of insertion failure on regulatory control block
l CAB insertion on regulatory control block configuration examples
l Tuning Conversions from Interactive to Non-Interactive PID
ATTENTION
The Regulatory Control blocks can interact with Sequential Control Modules (SCM) to
provide interactive control action. Refer to the Sequential Control Module User's Guide for
more information on this function.
Listed below are the major functions performed by all Regulatory Control blocks along with a brief
functional description for each. Functional descriptions for each block are given in the following
subsections.
- 267 -
Chapter 19 - Regulatory Control
Major Description
Function
Input Provides these functions for all Regulatory Control function blocks to be used as
Processing needed.
PV Processing - Regulatory control blocks that have PV input use this function to
fetch the input value, status, and update the appropriate PV parameters.
SP Processing - Regulatory Control blocks that have a SP input use this function
for SP limit checking.
SP/PV Processing - Regulatory Control blocks that have SP and PV inputs use this
function for SP target value processing, PV tracking, deviation alarming, and
advisory deviation alarming. These functions are configurable.
PUSHSP Parameter Processing - You can use the PUSHSP parameter only to
enable SP value to be pushed from another block. This parameter helps in
configuring cascade control offering of inter-cluster peer-to-peer regulatory
controls. When the PushSP option is enabled on the block, no wired or parameter
reference connection should be made to the SP pin on the block.
Mode “Mode” identifies who may store to certain Regulatory Control parameters (for
Processing example, SP and OP). Possible choices of who may store are the operator, another
function block, or a user program. Mode Processing checks for the following
conditions and sets the mode as appropriate:
External requests for mode switch, and
Mode switch requests due to safety interlocks
Initial If a Regulatory Control block is in a Cascade strategy, this function checks if the
Control cascade has been broken. If it has, this function initializes the block and builds an
Processing initialization request for its primary or primaries.
Algorithm This involves calculations that are unique to each Regulatory Control block (for
Calculation example, PID calculation). These calculations are described more fully for each
individual block in the remainder of this section.
Output This function derives the control output (OP) from the algorithm's calculated
Processing variable (CV). Among other things, it applies an output bias, compares against
output limits, and if necessary, clamps OP to those limits. This function also
performs OP limit alarming.
Feedback If a Regulatory Control block is in a cascade strategy, this function may propagate
Propagation windup, initialization and override information to upstream blocks. This
information is used to constrain the output of the upstream blocks when a limiting
condition exists downstream. Windup status is used by PID blocks to turn integral
control on or off; and override is used to prevent windup when an output of a PID
has been disconnected from the process (by an OVRDSEL block).
- 268 -
Chapter 19 - Regulatory Control
Post_Ctlout Insert CAB instance after the execution of control output processing.
The following illustration shows where you can insert CAB programs in relation to the regulatory
control block's major functions. This means that you can use CAB programs to enhance aspects of
the block's execution but still take advantage of the more complex system functions such as
initialization, anti-reset windup, range-checking and alarming integral to the native block.
Table 19.1 CAB insertion locations in regulatory control block major functions
- 269 -
Chapter 19 - Regulatory Control
l You cannot use CAB insertion programs with the following Regulatory Control blocks.
o POSPROP
o PULSECOUNT
o PULSELENGTH
o REGCALC
- 270 -
Chapter 19 - Regulatory Control
Insertion Function
Type
Post Input Provides the capability of performing custom functions such as:
(Post_
Input) l Custom calculations on inputs,
l Custom timeout processing function, and
l Enable/disable external mode switching based on input values.
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.
Control Provides the capability of replacing the standard regulatory control block algorithm
Algorithm with user custom one written in a CAB program.
(Ctl_Alg)
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:
l Bad input handling (CV gets set to bad when input is bad).
l CV calculation for the various control states (FORWARD, MAN and INIT).
l INITVAL calculation.
l Override feedback handling, if the block is part of an override strategy.
l Input timeout processing, if required.
l 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 Provides the capability of implementing custom calculation for output values.
Algorithm
(Post_Alg)
Post Provides the capability of implementing custom windup calculations. You can use
Control parameters ARWNETIN and ARWOPIN to modify windup states.
Output
(Post_
Ctlout)
- 271 -
Chapter 19 - Regulatory Control
Functio Requirement
n
Error The CAB program must not abort when the regulatory control block goes into a bad
Handling 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.
Initializati The CAB program algorithm must calculate the initialization value (INITVAL) that is to
on be propagated to its primaries during initialization. The algorithm must perform CV
calculations based on the control state of the regulatory control block, which can be
determined by reading the value of the CTLSTATE parameter. If the CTLSTATE value
is INIT, the regulatory control block is in its initialization state.
Windup The CAB program must set the COMPUTEARW parameter to True to initiate
recomputation of windup when process conditions change.
The windup state of the regulatory control block is computed after the control output
has been computed.
Override If the regulatory control block is part of an override strategy, the CAB program must
Feedback 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
Floating The standard Regctl algorithms include a floating bias function so that output is
Bias 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.
- 272 -
Chapter 19 - Regulatory Control
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
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).
INITVAL[1..8] Initialization Value. There is one value All Regulatory Control blocks that
for each primary. support insertion points
Pidff,
TMOUTFL Timeout Flag. Indicates if an initializable All Regulatory Control blocks that
input has timed-out. support insertion points
- 273 -
Chapter 19 - Regulatory Control
configuration for configured parameter references. The parameter references ensure that data
flow occurs in the proper sequence with respect to the execution of the calling block and the CAB
program.
If your application calls for inserted CAB instances to share data with blocks other than the calling
block, you can configure pin connections for custom data parameters on the CAB instance. If pin
connections are configured, be aware that the data transfer operates as follows:
l Pin connections always transfer data into a CAB insertion program just before execution of the
calling block.
l Pin connections always transfer data out of a CAB insertion program just before execution of
the block that is pulling the CAB custom data parameter (CDP).
19.1.8 Insertion status and fail alarm for regulatory control blocks
The following table summarizes failure considerations when a CAB program encounters an
exception or termination condition. When the program completes execution normally, the CAB
instance returns an execution status of NORMAL. When any of the insertions is in a non-normal
status, the insertion fail flag (INSFAILFL) is set to TRUE. The flag is reset to FALSE, when all the
abnormal programs return to normal status
Failure Considerations
Type
Program CAB programs in general must not be repetitious. If repetitive calculations must be
Termination used, be sure you carefully design and thoroughly test them to be sure that
excessive execution time is not required. CAB programs that take longer than one
half of the ACE base cycle (250ms), are automatically terminated. 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 If the inserted CAB program encounters an exception failure condition, the
Failures program is terminated in the current cycle but will execute in the next cycle. The
insertion fail flag (INSFAILFL) is set to TRUE. The flag will be reset 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
- 274 -
Chapter 19 - Regulatory Control
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.
Table 19.2 Configuration example using single CAB insertion for regulatory control block
Callout Description
1 The Control Module contains a PID block
named pida.
- 275 -
Chapter 19 - Regulatory Control
Callout Description
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.
If the CAB program encounters a termination failure (example execution time is too long), CAB_
1A returns a termination status to the calling master pida. In this case, pida sets INITMAN to true
and skips the rest of its processing. On the next execution cycle, pida will remain in INIT unless
the problem has been corrected and the program returns a NORMAL status.
With a termination failure, the CAB instance does not execute again unless manually restarted.
You should correct the defect in the program before reactivating the control strategy. If you just
try restarting a terminated CAB program, it will most likely terminate again.
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.
Figure 19.1 Configuration example using multiple CAB insertions for regulatory control block
- 276 -
Chapter 19 - Regulatory Control
Callout Description
1 The Control Module contains a AUTOMAN block named
AUTOMANA.
- 277 -
Chapter 19 - Regulatory Control
Callout Description
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.
If CAB_1A fails, none of the steps after input processing are executed in the current cycle
including the execution of the other three insertion programs CAB_2A, CAB_3A and CAB_4A.
This means that the output values (CV and OP) will remain unchanged and will not be
recalculated based on the new input values fetched in the current cycle.
If CAB_2A fails, the execution of CAB_3A, CAB_4A, control output processing and windup
processing are skipped. If this happens, the CV value will remain at the old value
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.
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..
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 19.2 Configuration example using two CAB insertions of the same type for regulatory control
block
- 278 -
Chapter 19 - Regulatory Control
Callout Description
1 The Control Module contains a PID block named pida.
2 The pida block is configured to include insertion type Post_Alg from CAB instances
named CAB_1A and CAB_2A
3 The CAB instances named CAB_1Aand CAB_2A are added to the Control Module
containing the pida block.
4 During configuration, the ORDERINCM parameters for CAB_1A and CAB_2A are
changed to match the setting of ORDERINCM for the pida block. Also, the insertion
point parameters (INSMASTER) for both CAB instances are turned On or set to True
and the show the tag name of the pida block on their configuration forms.
5 Once the Control Module and its components is loaded to an ACE controller and
activated, the pida block controls the execution of both CAB instances as required.
Since the CAB instances are both inserted at Post_Alg, the instances will be executed
in the order in which they were configured. For example, if CAB instance CAB_1A was
added to the CM before CAB_2A, CAB_1A is executed first. If both CAB instances run
successively with no failures, the cycle is repeated during every Control Module
execution cycle. In this case, both CAB instances return a NORMAL status.
If either of the CAB instances returns a non-normal status, the insertion fail flag
(INFAILFL) is set to TRUE and the INITMAN parameter of pida block is set to TRUE,
causing the block to go into its INIT state. The execution steps that follow the failure
are skipped. For example, if CAB_1Aexecution returns a non-normal status, CAB_2A
will not be executed and the subsequent steps namely windup and feedback
processing are skipped.
If a CAB instance is not used for an insertion point and the INSMASTER parameter is
turned Off or set to False, it is included in the Control Module execution list and runs
- 279 -
Chapter 19 - Regulatory Control
Callout Description
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.
1 Interactive
2 Non-Interactive
If the rate limiters are ignored, the transfer functions take on the following forms:
3 Interactive
4 Non-Interactive
- 280 -
Chapter 19 - Regulatory Control
where,
Kni - non-interactive gain (CEE)
TI - non-interactive integral time constant (CEE)
TD - non-interactive derivative time constant (CEE)
K - interactive gain
T1 - interactive integral time constant
T2- interactive derivative time constant
19.2.2 Configuration
Clamping the OP amperage based on the specified limits is an existing feature. However, the
solution discussed in this section provides detailed information about configuring the higher and
lower limits appropriately to ensure that the OP amperage is clamped at 3.5 mA, when the
amperage supplied to the smart valve positioners is outside the specified limits.
The parameters, OPEXHILM, OPEXLOLM, OPHILM, and OPLOLM are used for limiting the OP
amperage.
The configuration details for the following scenarios are discussed:
- 281 -
Chapter 19 - Regulatory Control
The Output Extended High Limit (OPEXHILM) must be higher than or equal to the Output High
Limit (OPHILM). The Output Extended Low Limit (OPEXLOLM) must be lower than or equal to the
OP Limit (OPLOLM).
NOTE
When OUTIND=DIRECT, 4 mA indicates 0 percent and 20 mA indicates 100 percent.
Similarly, when OUTIND=REVERSE, 4 mA indicates 100 percent and 20 mA indicates 0
percent.
OPHILM = 100 forced OP is clamped at -3% because the OP value is outside the
OP = - specified extended lower limit (OPEXLOLM = -3%).
OPLOLM = 0
5%
Note that an error message is displayed when you force the
OPEXHILM = 105 value of OP to -5%.
OPEXLOLM = -3
the displayed OP value after clamping = -3%
- 282 -
Chapter 19 - Regulatory Control
Figure 19.3 Sample configuration in Control Builder: Configuring the Output Limits
- 283 -
Chapter 19 - Regulatory Control
OPHILM = 105 calculated OP is clamped at -3% because the OP value is outside the
OP = -5% specified lower limit (OPLOLM = -3%).
OPLOLM = -3
the displayed OP value after clamping = -3%
OPEXHILM = 105
the output amperage to valve as measured by the
OPEXLOLM = -5
multimeter = 3.52 mA
- 284 -
Chapter 19 - Regulatory Control
NOTE
As OUTIND=Reverse, the OPEXHILM must be set to
103% to clamp the OP at -3%.
- 285 -
Chapter 19 - Regulatory Control
state. When SIFL is ON, the regulatory control block does the following:
l Checks if a Safety Interlock alarm should be issued.
l 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.
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.
If the block is in The OP value will not be impacted by any change other than the
initialization in the INITVAL from the secondary. The OP will be dynamically updated
previous scenarios, based on the SIOPT, only after the block comes out of initialization.
- 286 -
Chapter 19 - Regulatory Control
When there is a Program l The Mode will be shed but the OP will not be set based on the
store configured to set the Shed option.
SIFL to ON once and if the
block is in initialization, l The OP will be equal to the INITVAL from the secondary in this
case.
l The user has to execute the program to pulse the SIFL to ON,
after the block comes out of initialization to update the OP
based on the Shed Option.
When SIFL changes from l The function block clears the Safety Interlock alarm (if one was
ON to OFF, issued).
l 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.
l If mode was not shed, the function block clears its windup
condition .
- 287 -
Chapter 19 - Regulatory Control
With R410, you can configure the on-delay time, off-delay time, deadband value, and deadband
unit for the individual alarms. For example, you can use the following parameters to configure the
on-delay time, off-delay time, deadband values, and deadband units for the OPHIALM parameter.
l OPHIALM.TM
l OPHIALM.TMO
l OPHIALM.DB
l OPHIALM.DBU
- 288 -
Chapter 19 - Regulatory Control
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.
- 289 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l Description (DESC) - Block descriptor of up to 132 characters long.
l 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.
l 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.
l 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.
l 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).
l 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.
l 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.
l 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.
l External request for MODE switching.
l Safety interlock request.
l 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.
l 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.
l 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).
l Enable External Mode Switching (ESWENB) - Lets you specify if external
MODE switching through user configured interlocks is enabled or not, if
- 290 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
ESWPERM is checked (Permitted). The default is Disabled (unchecked).
l 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).
l 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.
l 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.
l 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.
l 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.
l 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.
Output l 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%.
l 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%.
l 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%.
l Extended Low Limit (%) (OPEXLOLM) - Lets you specify the output
- 291 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
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%.
l 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
slowdown 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.
l 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.
l 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.
l 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.
l 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.
l 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.
l 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.
l 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 l 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:
l Safety Interlock (SIALM.FL)
l Bad Control (BADCTLALM.FL)
- 292 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l OP High (OPHIALM.FL)
l OP Low (OPLOALM.FL)
l 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.
l Deadband Value (ALMDB/xxxxALM.DB) - Defines the minimum value that
needs to be added to or subtracted from trip point before reporting an
RTN. By specifying a deadband value, you can prevent nuisance alarms
due to noise at values near the trip point. The default value is 1. For a
high alarm, RTN is reported only when the OP value is less than the trip
point - deadband value. For a low alarm, RTN is reported only when the
OP value is more than the trip point + deadband value.
Prior to R410, once the deadband value was configured, this value was
loaded to the individual alarm parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM was loaded. If you configured the individual
alarm parameters as Monitoring Parameters for the block, you could
change the individual alarm value while monitoring the loaded block in
CB.
With R410, deadband value can be individually configured for each alarm.
For example, you can configure OPHIALM.DB as 5 and OPLOALM.DB as
3. However, if you are migrating from pre-R410 to later release, refer to
Impact of migration on alarm attributes.
l Deadband Time (ALMTM/xxxxALM.TM) - Defines the duration in seconds
during which a process alarm reporting is suppressed. This helps in
preventing the nuisance alarms from being reported repeatedly during
the process upset and improves the efficiency of the operator. Once you
configure this value for an alarm, the alarm is reported on the Station
only if the alarm condition continues to exist even after this value expires.
The default time is 0; that is the alarm is reported as soon as the alarm
condition occurs.
Prior to R410, once configured, this value was loaded to the individual
alarm parameters (for example, OPHIALM.TM and OPLOALM.TM) when
the CM was loaded. If you configured the individual alarm parameters as
- 293 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Monitoring parameters for the block, you could change the individual
alarm value while monitoring the loaded block in CB.
With R410, the deadband time can be individually configured for each
alarm. For example, you can configure OPHIALM.TM as 5 seconds and
OPLOALM.TM as 3 seconds. However, if you are migrating from pre-
R410 to later releases, refer to Impact of migration on alarm attributes.
l Deadband Units (ALMDBU/xxxxALM.DBU) - Defines the unit for the
deadband value - percent or engineering units. The default value is
percent.
Prior to R410, once configured, this value was loaded to the individual
alarm parameters (for example, OPHIALM.DBU and OPLOALM.DBU)
when the CM was loaded. If you configured the individual alarm
parameters as Monitoring parameters for the block, you could change the
individual alarm value while monitoring the loaded block in CB.
With R410, you cannot individually configure the deadband unit for the
AUTOMAN block. If you configure the deadband unit as “EU or Percent”
for an alarm, this configuration is identical for the all other alarms in the
AUTOMAN block. However, if you are migrating from pre-R410 to later
releases, refer to Impact of migration on alarm attributes.
You must configure identical deadband units for all alarms in the AUTOMAN
block.
l 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:
l 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.
l Disable - An alarm is not notified whenever a mode shed
happens in the event of an IO communication loss.
This parameter is available for configuration only if the Enable Bad Output
Connection Option is enabled.
l Off-delay Time (xxxxALM.TMO) - Defines the duration in seconds during
which an RTN reporting is suppressed even though the alarm condition
does not exist. The RTN is reported on the Station only after this time
expires and the alarm condition has returned to normal. The default time
is 0; that is RTN is reported as soon as the alarm condition returns to
normal. If a deadband value is also configured, the RTN is reported only
when the OP value is less than trip point - deadband for the configured
Off-delay time. However, if you are migrating from pre-R410 to later
releases, the alarm off-delay time will be set as default value (0).
SCM l 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:
l None
l ONESHOT
l SEMICONT
- 294 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l CONTRTN
l CONT
l 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:
l NONE - No changes.
l MAN - Set MODEREQ = MANUAL.
l AUTO - Set MODEREQ = AUTOMATIC (not applicable to this
block).
l CAS - Set MODEREQ = CASCADE.
l FIXEDOP - Set OPREQ = Configured Value.
l HOLDPV - Set SPREQ = PV.
l FIXED SP - Set SPREQ = Configured Value and SPRATEREQ =
NaN.
l RAMPEDSP - Set SPTVREQ = Configured Value and
SPRATEREQ = Configured Rate.
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 Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences 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:
- 295 -
Chapter 19 - Regulatory Control
X1 = input value
l K and OPBIAS.FIX may either be fixed (that is, stored manually or by the program) or external
(that is, brought from another block).
l After an initialization, the block calculates OPBIAS.FLOAT as follows:
OPBIAS.FLOAT = CVINIT - [K*X1 + OPBIAS.FIX]
where: CVINIT = initialization value from the secondary
l Function-AUTOMAN
l Configuration example-AUTOMAN
l Inputs-AUTOMAN
l Output-AUTOMAN
l Initializable inputs and outputs for AUTOMAN
l Output ranges of AUTOMAN
l Output bias-AUTOMAN
l Output Indication function for AUTOMAN
l Mode Handling-AUTOMAN
l Timeout Monitoring-AUTOMAN
l Control Initialization-AUTOMAN
l Secondary initialization option-AUTOMAN
l Override feedback processing-AUTOMAN
l Windup processing-AUTOMAN
l Anti-Reset Windup Status-AUTOMAN
l AUTOMAN parameters
19.5.1 Function-AUTOMAN
The AUTOMAN block is typically used:
l in a cascade control strategy where one of the upstream blocks may not accept an initialization
request from its secondary.
l between a FANOUT block and a final control element to provide a “bumpless” output on return
to cascade
ATTENTION
The AUTOMAN block:
l has one primary and one secondary.
l requests the primary to initialize when mode changes from CAScade to MANual.
- 296 -
Chapter 19 - Regulatory Control
The following table includes descriptions of the callouts in the figure above.
- 297 -
Chapter 19 - Regulatory Control
Callout Description
1 You can use the FANOUT block to distribute a single primary output to multiple
secondaries. (Note that the individual BACKCALCIN/BACKCALCOUT connections for
each FANOUT output used are automatically built by Control Builder as implicit/hidden
connections.)
Since the FANOUT block only initializes when all of its secondaries request it, insert an
AUTOMAN block for individual downstream blocks (like PIDB in this example) to ensure
bumpless transfer during mode changes.
2 You can specify a gain and bias for each of the FANOUT block outputs.
3 The primary purpose of this AUTOMAN block is to ensure a bumpless output upon
return to Cascade mode. The AUTOMAN block is typically used between a FANOUT
block and a final control element.
Upon a return to Cascade, each secondary provides an initialization request to its
primary. In most cases, the primary adjusts its output accordingly. However, if the
primary is a FANOUT block, it may ignore the initialization request, since all of its
secondaries may not be requesting it. In this case, the AUTOMAN block compensates
for this by applying a floating bias to the output.
This block applies a user-specified gain and bias to the output. The user-specified
values can be fixed or external. A fixed value is stored manually or by a program, and
an external value comes from another function block. The AUTOMAN block uses the
following equation to calculate its output.
l CV = K * X1 + OPBIAS.FIX + OPBIAS.FLOAT
l where:
l K = gain for CV
l X1 = input value
l OPBIAS.FIX = fixed output bias (user-specified)
l OPBIAS. FLOAT = floating output bias (calculated)
19.5.3 Inputs-AUTOMAN
The AUTOMAN block requires one input - X1:
l X1 = initializable input which, if used, must be pulled from another block (it cannot be stored to).
l An engineering unit range for X1 (XEUHI and XEULO) must be specified.
l XEUHI and XEULO define the full range of X1:
o XEUHI represents the 100% of full-scale value.
o XEULO represents the 0% of full-scale value.
ATTENTION
(Note that this block applies no range checks and assumes that X1 is within the XEUHI and
XEULO range.)
19.5.4 Output-AUTOMAN
The AUTOMAN block has the following initializable outputs:
- 298 -
Chapter 19 - Regulatory Control
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.
TIP
The AUTOMAN block provides the X1 input range (XEUHI/XEULO) to the primary through
BACKCALC. The primary uses this for its output range (CVEUHI/CVEULO).
- 299 -
Chapter 19 - Regulatory Control
ATTENTION
When the function block goes Active or the Mode changes to Auto or Cascade, OPBIAS and
OPBIAS.FLOAT are recomputed.
l 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.
l 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.
l 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:
o The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the new value.
o The floating bias (OPBIAS.FLOAT) is set to zero.
Where:
l 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
- 300 -
Chapter 19 - Regulatory Control
be zero.
If OPBIAS.FLOAT is not zero, you can configure it to ramp down to zero through the
OPBIAS.RATE parameter.
l 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.
o 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.
o 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.
Where:
cycles_per_min = number of times the function block executes per minute (calculated)
l 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.
- 301 -
Chapter 19 - Regulatory Control
ATTENTION
The OUTIND parameter has no affect on the block's control operation. The CTLACTN
parameter on the Algorithm tab still supports the output direction of the block, the OPTDIR
parameter on the Main tab for the AOCHANNEL block form applies the conversion of OP to
OPFINAL. You can manipulate the DIRECT/REVERSE selections for the OUTIND, CTLACTN,
and OPTDIR parameters to meet your process and operator needs.
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.
OPHIALM.PR and .SV, and OPLOALM.PR Reverse of Actual OPHIALM.PR and .SV, and
and .SV OPLOALM.PR and .SV
OPHIALM.DB, .DBU, and .TM, and Reverse of Actual OPHIALM.DB and .DBU, and
OPLOALM.DB, .DBU, and .TM OPLOALM.DB and .DBU
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.
- 302 -
Chapter 19 - Regulatory Control
ATTENTION
The swapping/reversal of values will not be done, if the block was loaded with REVERSE
OUTIND configured. The reversal of values will be done only on a subsequent change to the
OUTIND value, if appropriate.
For example: If a PID block is loaded with OPHILM = 95, OPLOLM = 10 and OUTIND as
REVERSE, the OPHILM and OPLOLM after load will still be 95 and 10, respectively.
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.
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 Experion high or low Output Alarms display shall track the
value of displayed output parameters. An OUTIND value of REVERSE, shall show the limit and
value subjected to reversal. For example, an OPHI alarm will have the displayed trip limit set to 100
- (output low limit).
If the OUTIND parameter setting is changed:
l from Direct, DirectDispInd, or ReverseDispInd to Reverse or
l from Reverse to Direct, DirectDispInd, or ReverseDispInd,
a return for the existing Output Alarm condition occurs and a new Output Alarm would be sent.
- 303 -
Chapter 19 - Regulatory Control
Note that the AUTOMAN block does not support mode shedding on timeout.
The maximum time between updates is specified by TMOUTTIME (in seconds)
ATTENTION
If the input is from a connection in another controller in a peer-to-peer architecture, the
actual timeout time equals the configured TMOUTTIME plus the CDA timeout time. The CDA
timeout time equals four times the configured CEE subscription rate. For example, if the CEE
subscription rate is 100 milliseconds and the TMOUTTIME is 5 seconds, the actual timeout
time for the block is 4 times 100ms plus 5s or 5.4 seconds.
INITREQ(X1) = On
l Where:
CV = calculated value
K = Output gain
- 304 -
Chapter 19 - Regulatory Control
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.
- 305 -
Chapter 19 - Regulatory Control
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.
A secondary exists but this block cannot fetch secondary data from it
(communications or configuration error).
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.
- 306 -
Chapter 19 - Regulatory Control
The CV is NaN
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)
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)
NORMAL HI HI
NORMAL LO LO
HI NORMAL HI
HI HI HI
HI LO HILO
- 307 -
Chapter 19 - Regulatory Control
LO NORMAL LO
LO HI HILO
LO LO LO
LO HILO HILO
HILO HI HILO
HILO LO HILO
l 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
l Mode can be placed in Automatic so operator or program can supply SP.
l 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.
- 308 -
Chapter 19 - Regulatory Control
With R410, you can configure the on-delay time, off-delay time, deadband value, and deadband
unit for the individual alarms. For example, you can use the following parameters to configure the
on-delay time, off-delay time, deadband values, and deadband units for the OPHIALM parameter.
l OPHIALM.TM
l OPHIALM.TMO
l OPHIALM.DB
l OPHIALM.DBU
Each ENHREGCALC block supports the following user configurable attributes. The following table
lists the given name of the “Tab” in the parameter configuration form and then briefly describes
the attributes associated with that Tab. This data is only provided as a quick document reference,
since this same information is included in the on-line context sensitive Help.
l
- 309 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l Description (DESC) - Block descriptor of up to 132 characters long.
l 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.
l 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.
l 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.
l 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.
l 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.
l 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.
l 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
“runtim” based on current conditions. MODE processing checks for the
following conditions, and changes the block's MODE as appropriate.
l External request for MODE switching.
l Safety interlock request.
l 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.
l 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.
l 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).
- 310 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l 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).
l 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).
Setpoint l SP (SP) - Lets you specify an initial set point value. The default value is 0.
l 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.
l 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.
l 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.
l 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).
l 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.
l 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.
l 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.
l Normal Ramp Rate (SPTVNORMRATE) - Lets you specify a ramp rate in
engineering units per minute for the SP ramping function, when it is
- 311 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
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.
l Enable SP Push: (PUSHSP) - Lets you specify that the ENHREGCALC SP
will be pushed from an Inter Cluster Gateway when the ENHREGCALC is
the secondary of a cascade that extends over two Experion clusters.
Output l 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%.
l 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%.
l 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%.
l 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%.
l 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
slowdown 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
- 312 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
is Not a Number (NaN), which means no rate limiting is applied.
l 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.
l 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. ’
l 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.
l 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.
l 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 “bumples” following initialization or mode changes. The
default value is 1.
l 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.
l 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.
l CV (CVSRC) - Lets you assign an input or expression result as the source
for the CV. The default selection is NONE.
l CV Initialization (CVINITSRC) - Lets you assign an input or expression
result as the source of the CV initialization. The default selection is NONE.
l CV Override (CVORFBSRC) - Lets you assign an input or expression result
as the source of the CV during override. The default selection is NONE.
l 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
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.
l If a source is assigned, this block uses the assigned source
value even if a secondary does exist.
l If no source is assigned and a secondary does exist, this block
uses the corresponding value from the secondary.
l If no source is assigned and there is no secondary, this block
uses default values (NaN for values, OFF for flags).
- 313 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l 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.
l If a source is assigned, this block uses the assigned source
value even if a secondary does exist.
l If no source is assigned and a secondary does exist, this block
uses the corresponding value from the secondary.
l If no source is assigned and there is no secondary, this block
uses default values (NaN for values, OFF for flags).
Alarms l 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:
l Safety Interlock (SIALM.FL)
l Bad Control (BADCTLALM.FL)
l OP High (OPHIALM.FL)
l OP Low (OPLOALM.FL)
- 314 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
the Project and Monitoring tree view, respectively.
l 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.
l 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:
l NONE - Alarm is neither reported nor annunciated.
l JOURNAL - Alarm is logged but it does not appear on the Alarm
Summary display.
l LOW, HIGH, URGENT - Alarm is annunciated and appears on
the Alarm Summary display.
l 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.
l Deadband Value (ALMDB/xxxxALM.DB) - Defines the minimum value that
needs to be added to or subtracted from the trip point before reporting an
RTN. By specifying a deadband value, you can prevent the nuisance
alarms due to noise at values near the trip point. The default value is 1.
For a high alarm, RTN is reported only when the OP value is less than the
trip point - deadband value. For a low alarm, RTN is reported only when
the OP value is more than the trip point + deadband value.
Prior to R410, once the deadband value was configured, this value was
loaded to the individual alarm parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM was loaded. If you configured the individual
alarm parameters as Monitoring Parameters for the block, you could
change the individual alarm value while monitoring the loaded block in
CB.
With R410, the deadband value can be individually configured for each
alarm. For example, you can configure OPHIALM.DB as 5 and
OPLOALM.DB as 3. However, if you are migrating from pre-R410 to later
releases, refer to Impact of migration on alarm attributes.
l Deadband Time (ALMTM/xxxxALM.TM) - Defines the duration in seconds
during which a process alarm reporting is suppressed. This helps in
preventing the nuisance alarms from being reported repeatedly during
the process upset and improves the efficiency of the operator. Once you
configure this value for an alarm, the alarm is reported on the Station
only if the alarm condition continues to exist even after this value expires.
The default time is 0; that is the alarm is reported as soon as the alarm
condition occurs.
Prior to R410, once configured, this value was loaded to the individual
alarm parameters (for example, OPHIALM.TM and OPLOALM.TM) when
the CM was loaded. If you configured the individual alarm parameters as
Monitoring parameters for the block, you could change the individual
alarm value while monitoring the loaded block in CB.
With R410, the deadband time can be individually configured for each
alarm. For example, you can configure OPHIALM.TM as 5 seconds and
OPLOALM.TM as 3 seconds. However, if you are migrating from pre-
R410 to later releases, refer to Impact of migration on alarm attributes.
l Deadband Units (ALMDBU/xxxxALM.DBU) - Defines the unit for the
deadband value - percent or engineering units. The default value is
- 315 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
percent.
Prior to R410, once configured, this value was loaded to the individual
alarm parameters (for example, OPHIALM.DBU and OPLOALM.DBU)
when the CM was loaded. If you configured the individual alarm
parameters as Monitoring parameters for the block, you could change the
individual alarm value while monitoring the loaded block in CB.
With R410, the cannot individually configure the deadband unit for the
ENHREGCALC block. If you configure the deadband unit as “EU or
Percent” for an alarm, this configuration is identical for the all other
alarms in the ENHREGCALC block. However, if you are migrating from
pre-R410 to later releases, refer to Impact of migration on alarm
attributes.
Note: You must configure the identical deadband units for the all alarms
in the ENHREGCALC block.
l 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:
l 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.
l Disable - An alarm is not notified whenever a mode shed
happens in the event of an IO communication loss.
This parameter is available for configuration only if the Enable
Bad Output Connection Option is enabled.
SCM l 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 SCM Interface and CM Interaction
section in this document for selection details. The default selection is
ONESHOT. The selections are:
l None
l ONESHOT
l SEMICONT
l CONTRTN
l CONT
l 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
- 316 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
(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:
l NONE - No changes.
l MAN - Set MODEREQ = MANUAL.
l AUTO - Set MODEREQ = AUTOMATIC.
l CAS - Set MODEREQ = CASCADE.
l FIXEDOP - Set OPREQ = Configured Value.
l HOLDPV - Set SPREQ = PV (not applicable to this block).
l FIXED SP - Set SPREQ = Configured Value and SPRATEREQ =
NaN (not applicable to this block).
l RAMPEDSP - Set SPTVREQ = Configured Value and
SPRATEREQ = Configured.
Expr# 1 to l Expression (C[1..8]) - Lets you write up to eight desired expressions for
Expr# 8 custom calculations. You can also write a short descriptive text for each
expression.
l 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 Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences 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
l Function-ENHREGCALC
l Configuration example-ENHREGCALC
l Operating modes and mode handling for ENHREGCALC
l Inputs-ENHREGCALC
l Initializable input-ENHREGCALC
- 317 -
Chapter 19 - Regulatory Control
l SP limit checking-ENHREGCALC
l SP target value processing-ENHREGCALC
l Initializable outputs-ENHREGCALC
l Output ranges and limits-ENHREGCALC
l Assignable outputs-ENHREGCALC
l Output assignment rules-ENHREGCALC
l Control initialization-ENHREGCALC
l Output bias-ENHREGCALC
l Output Indication Function-ENHREGCALC
l Timeout monitoring-ENHREGCALC
l Timeout processing-ENHREGCALC
l Mode shedding on timeout-ENHREGCALC
l Override feedback processing-ENHREGCALC
l Windup handling-ENHREGCALC
l Windup processing-ENHREGCALC
l Anti-Reset Windup Status-ENHREGCALC
l Expressions
l Parameters in Expressions
l Guidelines for Writing Expressions
l Enable/Disable switch example expression
l String data support in expressions
l Time support in expressions
l Restart or point activation
l ENHREGCALC parameters
19.6.1 Function-ENHREGCALC
l Each expression can contain any valid combination of inputs, operators and functions; and
may perform arithmetic or logic operations.
l 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.
l 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.
- 318 -
Chapter 19 - Regulatory Control
If Mode is . . Then,
.
Manual (MAN) the output can be set by the operator or a user program. The SP input is
ignored.
Automatic the block derives OP; the initializable input (SP) may be stored by the operator
(AUTO) or a user program.
The initialization request occurs when the MODE changes from CAScade to MANual, but not from
MANual to CAScade. When the block is put in MANual mode, it initializes itself and requests its
primary to initialize.
19.6.4 Inputs-ENHREGCALC
The ENHREGCALC block has the following inputs.
- 319 -
Chapter 19 - Regulatory Control
l 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.
l X[1] through X[10] general purpose inputs.
l XB[1..10] individually configurable bias value for each X input.
l XDESC[1..10] individually configurable description for each X input.
l XENABLE[1..10] individually configurable enable/disable switch for each X input.
l XK[1..10] individually configurable gain value for each X input.
l XKB[1..10] individual inputs with gain and bias values applied to them.
l XSTS[1..10] individual status for each X input.
l XSUB[1..10] individually configurable substitute value for each X/PX input, when
corresponding X input is disabled.
l XWHIFL - An external windup high flag.
l 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.
This function provides a smooth transition (ramp) from the current SP to a target SP. It is invoked
through the configuration option, SPTVOPT.
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.
- 320 -
Chapter 19 - Regulatory Control
SPTVSTATE current target value processing state (possible states are Off, Preset, Run)
SP target value processing works as follows:
l You may start ramping without specifying a ramp time. If you do, 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
Otherwise,
SPTVRATE = NaN
SPTVTIME = 0, or do a step change
l If you specify a ramp time (SPTVTIME), the function block calculates a ramp rate (SPTVRATE) as
follows:
If SPTVTIME is non-zero:
SPTVRATE = |(SPTV - SP)| / SPTVTIME
SPTVTIME = 0, or do a step changeOtherwise,
SPTVRATE = NaN
SPTVTIME = 0, or do a step change
l 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:
- 321 -
Chapter 19 - Regulatory Control
TIP
l 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.
l If the anti-reset windup status (ARWNET) indicates that SP is woundup (Hi, Lo or HiLo), then
SP ramping will stop. When ARWNET indicates that SP has returned to normal, SP ramping
will continue from where it stopped.
TIP
When SP is ramping, ARWNET is not shown on the Group or Detail displays.
- 322 -
Chapter 19 - Regulatory Control
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.
l The ENHREGCALC block has the following initializable outputs:
o OP = calculated output in percent.
o OPEU = calculated output in engineering units.
You may create a connection to OP or OPEU but not both. Therefore, this block may have only one
secondary. If you do not create a connection to OP or OPEU, then the block does not have a
secondary. Alternately, if you connect OP or OPEU to a non-initializable input, then this block does
not have a secondary. (Note that the default OP connection pin is exposed on the blocks and the
implicit/hidden connection function automatically makes the appropriate value/status parameter
(OPX/OPEUX) connection when required.
For example, if you connect the output from a 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.
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.
- 323 -
Chapter 19 - Regulatory Control
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
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.
- 324 -
Chapter 19 - Regulatory Control
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.
l The following parameters are provided to the primary through this block's BACKCALC data.
o INITREQSRC
o INITVALSRC
o ORFBVALSRC
o ORFBSTSSRC
o 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.
unassigned does not exist uses default values, such as NaN for values and Off
for flags.
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 will initialize itself with the value 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.
- 325 -
Chapter 19 - Regulatory Control
The OPBIAS is the sum of the user-specified fixed bias (OPBIAS.FIX) and a calculated floating bias
(OPBIAS.FLOAT). The purpose of the floating bias is to provide a bumpless transfer when the
function block initializes or changes mode.
l 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.)
o When the function block starts up (that is, goes Active).
o When the function block initializes (for example, the secondary requests initialization).
o When the mode changes to Auto or Cascade.
ATTENTION
When the function block goes Active or the Mode changes to Auto or Cascade, OPBIAS and
OPBIAS.FLOAT are recomputed.
l 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.
l 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.
l 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:
o The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the new value.
o The floating bias (OPBIAS.FLOAT) is set to zero.
Where:
l 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.
l 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.
- 326 -
Chapter 19 - Regulatory Control
o 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.
o 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.
Where:
cycles_per_min = number of times the function block executes per minute (calculated)
l 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.
l After initialization, the ENHREGCALC block calculates the floating bias using the following
equation.
Where:
- 327 -
Chapter 19 - Regulatory Control
ATTENTION
The OUTIND parameter has no affect on the block's control operation. The CTLACTN
parameter on the Algorithm tab still supports the output direction of the block, the OPTDIR
parameter on the Main tab for the AOCHANNEL block form applies the conversion of OP to
OPFINAL. You can manipulate the DIRECT/REVERSE selections for the OUTIND, CTLACTN,
and OPTDIR parameters to meet your process and operator needs.
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.
OPHIALM.PR and .SV, and OPLOALM.PR Reverse of Actual OPHIALM.PR and .SV, and
and .SV OPLOALM.PR and .SV
- 328 -
Chapter 19 - Regulatory Control
The user store of an OP related parameter is intercepted and reversed when OUTIND equals
REVERSE. For example, a store of OPHILM = 80 produces OPLOLM = 100 - 80, so the OPHILM
parameter get will then view OPHILM = 100 - 20.
ATTENTION
The swapping/reversal of values will not be done, if the block was loaded with REVERSE
OUTIND configured. The reversal of values will be done only on a subsequent change to the
OUTIND value, if appropriate.
For example: If a PID block is loaded with OPHILM = 95, OPLOLM = 10 and OUTIND as
REVERSE, the OPHILM and OPLOLM after load will still be 95 and 10, respectively.
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.
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 Experion high or low Output Alarms display shall track the
value of displayed output parameters. An OUTIND value of REVERSE, shall show the limit and
value subjected to reversal. For example, an OPHI alarm will have the displayed trip limit set to 100
- (output low limit).
If the OUTIND parameter setting is changed:
l from Direct, DirectDispInd, or ReverseDispInd to Reverse or
l from Reverse to Direct, DirectDispInd, or ReverseDispInd,
a return for the existing Output Alarm condition occurs and a new Output Alarm would be sent.
- 329 -
Chapter 19 - Regulatory Control
ATTENTION
If the input is from a connection in another controller in a peer-to-peer architecture, the
actual timeout time equals the configured TMOUTTIME plus the CDA timeout time. The CDA
timeout time equals four times the configured CEE subscription rate. For example, if the CEE
subscription rate is 100 milliseconds and the TMOUTTIME is 5 seconds, the actual timeout
time for the block is 4 times 100ms plus 5s or 5.4 seconds.
l 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:
o Changes the mode back to CAScade.
o Updates the SP.
l You cannot set the CASREQFL. However, it can be cleared by setting the block's MODE to
MANUAL.
l If you want to disable the automatic return to CAScade, you may do one of the following:
o Store to MODE, which causes the CASREQFL to be cleared.
o Store to CASREQFL.
l 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.
- 330 -
Chapter 19 - Regulatory Control
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:
l initializes its 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:
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.
- 331 -
Chapter 19 - Regulatory Control
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.
The following table summarizes how the block derives ARWOP for some given conditions.
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
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.
- 332 -
Chapter 19 - Regulatory Control
ARWOP computation
The ARWOP indicates if the output (OP) can be raised or lowered. The PID-type function blocks use
ARWOP to restrict integral control. When ARWOP contains a value other than Normal, the PID
block stops integral control in the windup direction. Integral control continues in the other
direction, as does proportional and derivative control. But, windup status has no impact on
proportional and derivative control.
If a function block has a secondary, it fetches the secondary's windup status and recomputes its
ARWOP. The conditions within the function block, such as output being at its high limit, also affect
the ARWOP. The ARWOP is computed as follows, assuming the block has only one output or that it
is not a FANOUT block.
A secondary exists but this block cannot fetch secondary data from it
(communications or configuration error).
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.
The CV is NaN
- 333 -
Chapter 19 - Regulatory Control
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)
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)
NORMAL HI HI
NORMAL LO LO
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 HI HILO
- 334 -
Chapter 19 - Regulatory Control
19.6.22 Expressions
You can write up to eight expressions, each expression can contain any valid combination of
inputs, operators, and functions. Table 1 lists the expression operators and functions supported by
this block for reference as well as some case sensitive strings that can be used for special value
constants in expressions.
ATTENTION
Do not use equality operands = and <>to compare FLOAT64 and FLOAT32 floating point
values in expressions. Use inequality operands Less Than (<), Less Than or Equal To (<=),
Greater Than (>), or Greater Than or Equal To (>=) instead.
Parenthesis ()
Array Syntax []
Unary Functions
- 335 -
Chapter 19 - Regulatory Control
Operators Description
NaN. argument (bad value), it returns
NaN.
MAX maximum of n arguments (ignore MUL product of n arguments.
bad values).
This function ignores NaN values.
If this function has a NAN However, if all arguments are
argument (bad value), it returns NaN, then it returns 1.
NaN.
This function ignores NaN values. This function ignores NaN values.
However, if all arguments are NaN, However, if all arguments are
then it returns NaN. NaN, then it returns 0.
LEN Returns an integer length of the NUMSTR Takes the input parameter, casts
string it to a Float64 and converts it to a
string
MIDS Takes a string, an integer starting STRNUM Takes the string input parameter
position and an integer length. The and converts it to a Float64
function returns the specified
portion of the original string.
ABSTOD Takes an absolute time data type DTIMNUM Takes a delta TIME data type and
and strips off the year and date and returns a 64-bit float
returns a 64-bit float representing representing the number of
the time of day in milliseconds. milliseconds.
NOW Returns the current local date and NUMDTIM Takes a 64-bit float representing
time as an absolute time data type some number of milliseconds and
converts it to a delta TIME data
type.
NUMTIM Takes a 64-bit float representing STRTIM Takes a string input parameter
the number of milliseconds since and converts it to an Absolute
Jan 1, 1972 and converts it to time. The string must be in the
absolute TIME data type. same format as an Absolute time
constant.
TOD Returns the current local time of TIMNUM Takes an Absolute TIME data type
day as Time of Day data type and returns a 64-bit float
representing the total number of
milliseconds since Jan 1, 1972.
UTCTOD Returns the current UTC time of UTCNOW Returns the current UTC date and
day as Time of Day data type time of day as an absolute time
data type
1Be sure you specify the trigonometric functions cosine, sine, and tangent in radians and not
degrees.
PI PI (3.14159. . .)
- 336 -
Chapter 19 - Regulatory Control
TagName is the name of the external reference component (i.e. an OPC Server). Text can contain
any characters, space, and special characters except for the delimiter character.
When entering this format, only the syntax and TagName are checked for accuracy. The correct
syntax of TagName-dot-delimiter-text-delimiter is verified and the TagName is verified to be an
external reference component. If either of these stipulations is incorrect, an error is issued. The
text between the delimiters is not checked. It is the users responsibility to ensure that the text is
something that the external reference component will understand. If this text is incorrect, runtime
errors will occur.
Expressions support the single quote character, ‘, as a special delimiter that can be used to
surround the OPC Server namespace portion of an external/OPC reference.
For example, OPCTag.‘tag.Param(1)’ can be used so that the parenthesis characters do not
confuse the expression parser.
ATTENTION
When the expression is sent to the external reference component, the delimiters are
removed: TagName.‘text’ becomes TagName.text.
l 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.
l 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.
- 337 -
Chapter 19 - Regulatory Control
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.
l You can mix and nest all operators and functions (including conditional assignments) in any
order as long as types match or can be converted.
l You can use blanks between operators and parameter names, but they are not required.
l 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.
l 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:
o AVG (MIN(CM1.REGCALC.X[1], CM1.REGCALC.X[2], CM1.REGCALC.X[3]), MAX
(CM1.REGCALCX[1], CM1.REGCALC.X[2], CM1.REGCALC.X[3]))
ATTENTION
Prior to R400 releases, NUMERIC blocks were used for configuring the constant values to
the Calculator blocks. With R400 release, the constant values can be directly configured
(using CONST[1..8]) in the Calculator blocks and a short description for the expressions can
also be provided (using (EXPRDESC[1..8]).
The expression constant parameters (CONST[1..8]) are used with the expressions as follows:
l An expression can be configured using the expression constants parameters (CONST[1..8]).
CM1.CALC1.CONST[CM1.CALC1.X[1]] + CM1.CALC1.X[2]
l The results of the expressions, which use the CONST [1…8] parameters, are affected if you
change the values of these parameters on the Constants tab.
ATTENTION
When you migrate from a prior release (Pre-R400), the value of EXPRDESC[1..8] parameter
is blank by default. When you migrate to a future release, the EXPRDESC[1..8] parameter
retains its values.
- 338 -
Chapter 19 - Regulatory Control
l With R410, when you write the expressions using the TPS point's parameter references,
ensure that the TPS reference parameter is configured using the parentheses “()”to specify
array index. However, when you write the expressions using the other non-CEE points you can
use the brackets “[].”
Operator Description
:= Assignment - used only in the SCM Step Output blocks to assign the results of an
expression to a reference.
CM.block.mystringparam := “This is a string constant”
CM.block.mystringparam := CM.desc
+ Concatenation
CM.block.mystringparam + CM.desc
= Equal to
CM.block.mystringparam = CM.desc
- 339 -
Chapter 19 - Regulatory Control
Time constants
The following operators can have time constants and/or time references as operands:
Table 19.6 1The DAY, HOURS, MINS, SECS Operators are not case specific.
Operator Description
:= Assignment - used only in the SCM Step Output blocks to assign the results of an
expression to a reference. The data type in the expression result must agree with
the data type of the reference.
+ If both operands are of the same time data type the result is the same data type.
Delta time or Time of Day can be added to an absolute time, which results in
absolute time. Time of day can be added to delta time, which results in a delta time.
See the next section Adding time data types. .
* One operand can be a delta time or time of day data type and the second operand
must be a number. The result is a delta time data type.
- Absolute Time can be subtracted from Absolute time, which results in a Delta Time.
Delta time or Time of Day can be subtracted from an absolute time, which results in
absolute time. Time of Day can be subtracted from Delta Time, which results in a
Delta Time. See the following section Subtracting time data types.
=, <>, <=, Compares two operands of type time. Both operands must be of the same time data
>=, <, > type.
The following table shows results of adding the various time data types
- 340 -
Chapter 19 - Regulatory Control
The following table shows results of subtracting the various time data types
l CEE01.CURRTIME + 2
l CEE01.CURRTIME > 5.0
Refer to Time Support in Experion System for more information about time support in the system
- 341 -
Chapter 19 - Regulatory Control
calculates a separate floating bias for each output following an initialization or mode change. This
provides a “bumples” transition for each output. It looks like this graphically:
With R410, the following parameters are introduced for configuring the on-delay time and off-
delay time for BADCTL alarms.
l BADCTLALM.TM
l BADCTLALM.TMO
Each FANOUT block supports the following user configurable attributes. The following table lists
the given name of the “Tab” in the parameter configuration form and then briefly describes the
attributes associated with that Tab. This data is only provided as a quick document reference, since
this same information is included in the on-line context sensitive Help.
- 342 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l Description (DESC) - Block descriptor of up to 132 characters long.
l 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.
l 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. This is the block's parameter.
l 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.
l 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).
l 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.
l 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.
l 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.
l External request for MODE switching.
l Safety interlock request.
l 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.
l 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.
l 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).
l Enable External Mode Switching (ESWENB) - Lets you specify if external
MODE switching through user configured interlocks is enabled or not, if
- 343 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
ESWPERM is checked (Permitted). The default is Disabled (unchecked).
l 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.
l 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.
l 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.
l 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.
l 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 l High Limit (%) (OPHILM) - Lets you specify the output high limit as a
Output 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%.
l 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%.
l 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%.
l 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
- 344 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
is -6.9%.
l 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
slowdown 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.
l 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.
l 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.
l 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.
l 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.
l Independent Output Initialization (INDPTOUTINIT) - Enabling this
parameter allows the FANOUT to respond to initialization requests on a
per output basis. Using this feature removes the need for an AUTOMAN at
the output of the FANOUT to provide a bump less output after any mode
change.
NOTE
To prevent an output bump, the OPBIAS.RATE configuration is
required for the output of the FANOUT. The value of the
OPBIAS.RATE configuration (in Engineering Units per minute)
must be an appropriate value other than 0.0 (zero) or NaN (not
a Number) to enable the ramping function for the floating bias.
Individual l Gain (K[1..8]) - Lets you specify a gain (K) value to be factored into the
Output equation for calculating the CV output value for each individual output.
See the equation following this table for details. The default value is 1.
l 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.
l Output Bias Rate (OPBIAS[1..8].RATE) - Lets you specify an output
floating bias ramp rate in engineering units per minute for each
- 345 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
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.
l 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).
Alarms l 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:
l Safety Interlock (SIALM.FL)
l Bad Control (BADCTLALM.FL)
l 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.
l Deadband Time (BADCTLALM.TM) -
With R410, this parameter is introduced to define the duration in seconds
during which a process alarm reporting is suppressed. This helps in
preventing the nuisance alarms from being reported repeatedly during
the process upset and improves the efficiency of the operator. Once you
configure this value for an alarm, the alarm is reported on the Station
only if the alarm condition continues to exist even after this value expires.
The default time is 0; that is the alarm is reported as soon as the alarm
condition occurs.
You configure the individual deadband time for BADCTLALM. However, if
you are migrating from pre-R410 to later releases, refer to Impact of
migration on alarm attributes.
l 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:
l Enable - An alarm is notified in the alarm summary whenever a
mode shed happens in the event of an IO communication loss.
- 346 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
The alarm returns to normal state after you revert the mode
setting manually.
l Disable - An alarm is not notified whenever a mode shed
happens in the event of an IO communication loss.
This parameter is available for configuration only if the Enable Bad Output
Connection Option is enabled.
l Off-delay Time (BADCTLALM.TMO) - With R410, this parameter is
introduced to define the duration in seconds during which an RTN
reporting is suppressed even though the alarm condition does not exist.
The RTN is reported on the Station only after this time expires and the
alarm condition has returned to normal. The default time is 0; that is RTN
is reported as soon as the alarm condition returns to normal. However, if
you are migrating from pre-R410 to later releases, the alarm off-delay
time will be set as default value (0).
SCM l 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:
l None
l ONESHOT
l SEMICONT
l CONTRTN
l 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:
l NONE - No changes.
l MAN - Set MODEREQ = MANUAL.
l AUTO - Set MODEREQ = AUTOMATIC (Not applicable for this
block).
l CAS - Set MODEREQ = CASCADE.
l FIXEDOP - Set OPREQ = Configured Value.
l HOLDPV - Set SPREQ = PV (Not applicable for this block).
l FIXED SP - Set SPREQ = Configured Value and SPRATEREQ =
NaN (Not applicable for this block).
l RAMPEDSP - Set SPREQ = Configured Value and SPRATEREQ =
Configured Rate (Not applicable for this block).
- 347 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l 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 Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences 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 = input value
l A separate gain [K(n)] and bias [OPBIAS(n).FIX] may be specified for each output.
l 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.
l The FANOUT block applies a separate floating bias to each output.
l 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:
- 348 -
Chapter 19 - Regulatory Control
ATTENTION
The FANOUT block is the only Regulatory Control Block that can have multiple secondaries.
l Function-FANOUT block
l Configuration example-FANOUT block
l Inputs-FANOUT block
l Outputs-FANOUT block
l Initializable inputs and outputs for FANOUT block
l Output ranges for FANOUT block
l Output bias-FANOUT block
l Mode handling-FANOUT block
l Timeout monitoring-FANOUT block
l Control initialization-FANOUT block
l Secondary initialization option-FANOUT block
l Override feedback processing-FANOUT block
l BACKCALC processing
l Output Indication Function
l Windup processing in FANOUT block
l Windup processing in Regulatory blocks
l Anti-Reset Windup Status
l FANOUT parameters
- 349 -
Chapter 19 - Regulatory Control
ATTENTION
The FANOUT block:
l has 1 input and as many as 8 initializable outputs, and
l has 1 primary and up to 8 secondaries.
It requests the primary to initialize when mode changes from CAScade to MANual.
l CVEUHI[1..8] and CVEULO[1..8] define the full range of CV in engineering units for each given
output.
o 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.
o 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
- 350 -
Chapter 19 - Regulatory Control
[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.
o 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).
l 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.
o 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.
l OPEXHILM and OPEXLOLM define the extended high and low limits for OP as a percent of the
CV range. These are user-specified values. The same limits apply to all outputs. The operator is
prevented from storing an OP that exceeds these limits.
ATTENTION
When the function block goes Active or the Mode changes to Cascade (as applicable for the
given block), OPBIAS and OPBIAS.FLOAT are recomputed.
l 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.
l 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.
l You may store to OPBIAS.FIX only if the function block is inactive or the MODE is Manual; or if it
- 351 -
Chapter 19 - Regulatory Control
is a PID or PIDFF function block with the CTLEQN set to E. When you store to OPBIAS.FIX, the
following occurs:
o The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the new value.
o The floating bias (OPBIAS.FLOAT) is set to zero.
Where:
l 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.
l 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.
o 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.
o 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.
o The function block ramps the OPBIAS.FLOAT to zero by applying the following
calculation each time it executes.
Where:
cycles_per_min = number of times the function block executes per minute (calculated)
l 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.
- 352 -
Chapter 19 - Regulatory Control
ATTENTION
If the input is from a connection in another controller in a peer-to-peer architecture, the
actual timeout time equals the configured TMOUTTIME plus the CDA timeout time. The CDA
timeout time equals four times the configured CEE subscription rate. For example, if the
CEE subscription rate is 100 milliseconds and the TMOUTTIME is 5 seconds, the actual
timeout time for the block is 4 times 100ms plus 5s or 5.4 seconds.
If all secondaries are requesting initialization and the SECINITOPT for corresponding outputs is
enabled, the FANOUT block -
l Initializes its output so CV[1..8] = INITVAL[1..8] from corresponding secondary
INITREQ(X1) = On
NOTE Note
The gain value should be greater than zero.
l Where
- 353 -
Chapter 19 - Regulatory Control
(last) = last or most recent secondary to request initialization. When more than one
secondary requests initialization simultaneously and the FANOUT initializes, “las”
will be the secondary with the lowest index number from the secondaries that
requested initialization.
CV calculated value
NOTE Note
The gain value should be greater than zero.
ATTENTION
l SECINITOPT may be used to ignore initialization requests from selected
secondaries.
l 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.
l The FANOUT block performs initialization only if all of the secondaries are requesting
it. As long as one secondary is not requesting initialization, the FANOUT block
ignores all requests. Therefore, one of the following is recommended:
o Use an AUTOMAN block between a FANOUT block output and a given
AOCHANNEL block to provide a bumpless output after any mode change.
However, to prevent a bump in the output, you must configure the
OPBIAS.RATE parameter in AUTOMAN block for a value (in Engineering
Units per minute) other than 0.0 (zero) or NaN (Not a Number) to enable
the ramping function for the floating bias.
o Configure Independent Output Initialization (INDPTOUTINIT) for the
FANOUT to provide a bumpless output after any mode change. Additionally,
you must configure the FANOUT block output with an OPBIAS.RATE
parameter with a value (in Engineering Units per minute) other than 0.0
(zero) or NaN (Not a Number) to enable the ramping function for the
floating bias.
l Where:
- 354 -
Chapter 19 - Regulatory Control
Since the FANOUT block can have up to eight secondaries, you can selectively enable/disable the
SECINITOPT for each output.
Since initialization and windup data may be received from multiple secondaries, the FANOUT block
applies the following rules to decide what it should propagate from its secondaries:
1. Initialization is propagated only if all secondaries are requesting it. The FANOUT block uses the
initialization value from the last secondary to request it. SECINITOPT may be used to ignore
initialization requests from selected secondaries.
2. Refer to Windup Processing below.
- 355 -
Chapter 19 - Regulatory Control
ATTENTION
The OUTIND parameter has no affect on the block's control operation. The CTLACTN
parameter on the Algorithm tab still supports the output direction of the block, the OPTDIR
parameter on the Main tab for the AOCHANNEL block form applies the conversion of OP to
OPFINAL. You can manipulate the DIRECT/REVERSE selections for the OUTIND, CTLACTN,
and OPTDIR parameters to meet your process and operator needs.
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.
OPHIALM.PR and .SV, and OPLOALM.PR Reverse of Actual OPHIALM.PR and .SV, and
and .SV OPLOALM.PR and .SV
- 356 -
Chapter 19 - Regulatory Control
The user store of an OP related parameter is intercepted and reversed when OUTIND equals
REVERSE. For example, a store of OPHILM = 80 produces OPLOLM = 100 - 80, so the OPHILM
parameter get will then view OPHILM = 100 - 20.
ATTENTION
The swapping/reversal of values will not be done, if the block was loaded with REVERSE
OUTIND configured. The reversal of values will be done only on a subsequent change to the
OUTIND value, if appropriate.
For example: If a PID block is loaded with OPHILM = 95, OPLOLM = 10 and OUTIND as
REVERSE, the OPHILM and OPLOLM after load will still be 95 and 10, respectively.
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.
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 Experion high or low Output Alarms display shall track the
value of displayed output parameters. An OUTIND value of REVERSE, shall show the limit and
value subjected to reversal. For example, an OPHI alarm will have the displayed trip limit set to 100
- (output low limit).
If the OUTIND parameter setting is changed:
l from Direct, DirectDispInd, or ReverseDispInd to Reverse or
l from Reverse to Direct, DirectDispInd, or ReverseDispInd,
a return for the existing Output Alarm condition occurs and a new Output Alarm would be sent.
- 357 -
Chapter 19 - Regulatory Control
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.
Fail open valve; air to close - reversal handled l PID OUTIND = Direct
in AO channel
l AOCHANNEL OPTDIR = Reverse
l PID OP 0% translated to 20 mA by the AO,
corresponding to the valve closed
l PID OP 100% translated to 4 mA by the
AO, corresponding to the valve open
l Unpowered state of AO results in 0 mA and
valve open
Note that if the gain is reversed for one of the outputs, then high wind up on that output will be the
same as low windup on the others.
- 358 -
Chapter 19 - Regulatory Control
The FANOUT block propagates a normal windup status to its primary under the following
conditions:
l If at least one secondary has a normal windup status.
l 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.
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.
A secondary exists but this block cannot fetch secondary data from it
(communications or configuration error).
- 359 -
Chapter 19 - Regulatory Control
ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated to the
primary. The only limiting anti-reset windup status ever does is to stop integral action in one or
both directions on PID blocks. For any other regulatory control type block, ARWNET is not used for
any kind of limiting. The ARWNET is computed as follows, assuming the block has only one output
or that it is not a FANOUT block.
The CV is NaN
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)
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)
- 360 -
Chapter 19 - Regulatory Control
The ARWNETIN and ARWOPIN parameters would be ORed into the existing standard logic so it is
not lost. The following table summarizes the influence the ARWNETIN and ARWOPIN parameters
have on the ARWNET and ARWOP parameters, which are not user configurable.
NORMAL HI HI
NORMAL LO LO
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 HI HILO
HILO LO HILO
- 361 -
Chapter 19 - Regulatory Control
With R410, you can configure the on-delay time, off-delay time, deadband value, and deadband
unit for the individual alarms. For example, you can use the following parameters to configure the
on-delay time, off-delay time, deadband values, and deadband units for the OPHIALM parameter.
l OPHIALM.TM
l OPHIALM.TMO
l OPHIALM.DB
l OPHIALM.DBU
Each OVRDSEL block supports the following user configurable attributes. The following table lists
the given name of the “Tab” in the parameter configuration form and then briefly describes the
attributes associated with that Tab. This data is only provided as a quick document reference, since
this same information is included in the on-line context sensitive Help.
- 362 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l Description (DESC) - Block descriptor of up to 132 characters long.
l 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.
l 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.
l 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 non-
bypassed inputs.
l 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), which means the feedback data is not
propagated.
l 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.
l 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).
l 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.
l 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.
l 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.
l External request for MODE switching.
l Safety interlock request.
l Mode Attribute (MODEATTR) - Lets you set the block's mode attribute. The
- 363 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
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.
l 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.
l 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).
l 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).
l 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.
l 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.
l 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.
l 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 l 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.
l 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).
l 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.
l 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.
l Description - Lets you enter up to a 15-character description for each
- 364 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
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.
l 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).
l 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 l 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%.
l 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%.
l 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%.
l 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%.
l 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
slowdown 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.
l 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.
- 365 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l 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.
l 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.
l 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 l 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:
l Safety Interlock (SIALM.FL)
l Bad Control (BADCTLALM.FL)
l OP High (OPHIALM.FL)
l OP Low (OPLOALM.FL)
l 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.
l Deadband Value (ALMDB/xxxxALM.DB) - Defines the minimum value that
needs to be added to or subtracted from the trip point before reporting an
RTN. By specifying a deadband value, you can prevent the nuisance
alarms due to noise at values near the trip point. The default value is 1.
- 366 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
For a high alarm, RTN is reported only when the OP value is less than the
trip point - deadband value. For a low alarm, RTN is reported only when
the OP value is more than the trip point + deadband value.
Prior to R410, once the deadband value was configured, this value was
loaded to the individual alarm parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM was loaded. If you configured the individual
alarm parameters as Monitoring Parameters for the block, you could
change the individual alarm value while monitoring the loaded block in
CB.
With R410, deadband value can be individually configured for each
alarm. For example, you can configure OPHIALM.DB as 5 and
OPLOALM.DB as 3. However, if you are migrating from pre-R410 to later
releases, refer to Impact of migration on alarm attributes.
l Deadband Time (ALMTM/xxxxALM.TM) - Defines the duration in seconds
during which a process alarm reporting is suppressed. This helps in
preventing the nuisance alarms from being reported repeatedly during
the process upset and improves the efficiency of the operator. Once you
configure this value for an alarm, the alarm is reported on the Station
only if the alarm condition continues to exist even after this value expires.
The default time is 0; that is the alarm is reported as soon as the alarm
condition occurs.
Prior to R410, once configured, this value was loaded to the individual
alarm parameters (for example, OPHIALM.TM and OPLOALM.TM) when
the CM was loaded. If you configured the individual alarm parameters as
Monitoring parameters for the block, you could change the individual
alarm value while monitoring the loaded block in CB.
With R410, the deadband time can be individually configured for each
alarm. For example, you can configure OPHIALM.TM as 5 seconds and
OPLOALM.TM as 3 seconds. However, if you are migrating from pre-
R410 to later releases, refer to Impact of migration on alarm attributes.
l Deadband Units (ALMDBU/xxxxALM.DBU) - Defines the unit for the
deadband value - percent or engineering units. The default value is
percent.
Prior to R410, once configured, this value was loaded to the individual
alarm parameters (for example, OPHIALM.DBU and OPLOALM.DBU)
when the CM was loaded. If you configured the individual alarm
parameters as Monitoring parameters for the block, you could change the
individual alarm value while monitoring the loaded block in CB.
With R410, you cannot individually configure the deadband unit for the
OVRDSEL block. If you configure the deadband unit as “EU or Percent”
for an alarm, this configuration is identical for the all other alarms in the
OVRDSEL block. However, if you are migrating from pre-R410 to later
releases, refer to Impact of migration on alarm attributes.
Note: You must configure identical deadband units for all alarms in the
OVRDSEL block.
l 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:
l 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.
l Disable - An alarm is not notified whenever a mode shed
happens in the event of an IO communication loss.
- 367 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Note: This parameter is available for configuration only if the Enable Bad
Output Connection Option is enabled.
l Off-delay Time (xxxxALM.TMO) - Defines the duration in seconds during
which an RTN reporting is suppressed even though the alarm condition
does not exist. The RTN is reported on the Station only after this time
expires and the alarm condition has returned to normal. The default time
is 0; that is RTN is reported as soon as the alarm condition returns to
normal. If a deadband value is also configured, the RTN is reported only
when the OP value is less than the trip point - deadband for the
configured Off-delay time. However, if you are migrating from pre-R410
to later releases, the alarm off-delay time will be set as default value (0).
SCM l 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:
l None
l ONESHOT
l SEMICONT
l CONTRTN
l CONT
l 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:
l NONE - No changes.
l MAN - Set MODEREQ = MANUAL.
l AUTO - Set MODEREQ = AUTOMATIC (Not applicable for this
block).
l CAS - Set MODEREQ = CASCADE.
l FIXEDOP - Set OPREQ = Configured Value.
l HOLDPV - Set SPREQ = PV (Not applicable for this block).
l FIXED SP - Set SPREQ = Configured Value and SPRATEREQ =
NaN (Not applicable for this block).
l RAMPEDSP - Set SPTVREQ = Configured Value and
SPRATEREQ = Configured Rate (Not applicable for this block).
- 368 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
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 Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences 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
l Function-OVRDSEL block
l Configuration example-OVRDSEL block
l Configuration considerations-OVRDSEL block
l Inputs-OVRDSEL block
l Input ranges for OVRDSEL block
l Input descriptors-OVRDSEL block
l Initializable outputs-OVRDSEL block
l Output ranges and limits for OVRDSEL block
l Output Indication Function-OVRDSEL block
l Mode handling-OVRDSEL block
l Timeout monitoring-OVRDSEL block
l Timeout processing-OVRDSEL block
l Bypass processing-OVRDSEL block
l Bad input option
l OVRDSEL Equations
l Input switching
l Output bias-OVRDSEL
l Bad CV processing
l Control initialization-OVRDSEL
l Restart or function block activation
l Override feedback propagation
l Recommendations on configuring override strategies
l Windup processing
l Anti-Reset Windup Status
l OVRDSEL parameters
- 369 -
Chapter 19 - Regulatory Control
selecting the Enable Override Option check box on the block's parameter configuration form.
If Then, . . .
OROPT
is . . .
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.
1. 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.
2. 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:
l For a given input path, propagation stops at a block that is inactive.
l For a given path, propagation is interrupted at a block with an off-node primary. The primary
resumes propagation on its next execution cycle.
l 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.
- 370 -
Chapter 19 - Regulatory Control
ATTENTION
The system's ability to interrupt and resume override propagation has advantages and
disadvantages.
l The advantages are, there are no limitations on the number of blocks in an override
strategy or where the blocks reside.
l 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.
- 371 -
Chapter 19 - Regulatory Control
Callout Description
1 Use the PV parameter connection to carry data from the analog input to the PID block.
The default PV connection is exposed, but the implicit/hidden connection function
automatically makes a connection to a value/status parameter (PVVALSTS) when it is
required.
2 When monitoring Control Module, the FBORSTS parameter shows whether the PID
block is selected or not. You must configure the FBORSTS parameter to appear on the
faceplate of the block through the Monitoring Parameters tab in the block
configuration form.
3 The Enable Override Option (OROPT) is selected for the OVRDSEL block. This means
that the Not Selected primary PID's output is initialized to the same value as the
Selected PID's output. You must configure the OP parameter to appear on the
faceplate of the block through the Monitoring Parameters tab in the block
configuration form.
5 You can configure the OVRDSEL block to select the lower of the two primary inputs by
selecting Equation B or the higher of two inputs by selecting Equation A.
- 372 -
Chapter 19 - Regulatory Control
l 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.
l 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.
o 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.
o 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.
o 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.
This block assumes that all X-inputs are within XEUHI and XEULO. It applies no range checks.
- 373 -
Chapter 19 - Regulatory Control
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.
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 non-initializable input, then this block does
not have a secondary. (Note that the default OP connection pin is exposed on the blocks and the
implicit/hidden connection function automatically makes the appropriate value/status parameter
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.)
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).
l OPHILM and OPLOLM define the normal high and low limits for OP, as a percent of the CV
range. These are user-specified values.
o 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.
l OPEXHILM and OPEXLOLM define the extended high and low limits for OP, as a percent of the
CV range. These are user-specified values.
o The operator is prevented from storing an OP value that exceeds these limits.
- 374 -
Chapter 19 - Regulatory Control
l OPTOL allows the user to configure a tolerance limit for the manually entered OP. If the
difference between the new OP value and the current OP value is greater than OPTOL, then
confirmation is required from the user to store this new value.
ATTENTION
The OUTIND parameter has no affect on the block's control operation. The CTLACTN
parameter on the Algorithm tab still supports the output direction of the block, the OPTDIR
parameter on the Main tab for the AOCHANNEL block form applies the conversion of OP to
OPFINAL. You can manipulate the DIRECT/REVERSE selections for the OUTIND, CTLACTN,
and OPTDIR parameters to meet your process and operator needs.
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.
- 375 -
Chapter 19 - Regulatory Control
OPHIALM.PR and .SV, and OPLOALM.PR Reverse of Actual OPHIALM.PR and .SV, and
and .SV OPLOALM.PR and .SV
OPHIALM.DB, .DBU, and .TM, and Reverse of Actual OPHIALM.DB and .DBU, and
OPLOALM.DB, .DBU, and .TM OPLOALM.DB and .DBU
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.
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.
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.
- 376 -
Chapter 19 - Regulatory Control
OP Alarms considerations
When the OUTIND parameter value is set to REVERSE, the OP values displayed for the high or low
CEE Output Alarms are reversed. In the Alarm Summary display, the OP values of the high alarms
and the low alarms are swapped. The Experion high or low Output Alarms display shall track the
value of displayed output parameters. An OUTIND value of REVERSE, shall show the limit and
value subjected to reversal. For example, an OPHI alarm will have the displayed trip limit set to 100
- (output low limit).
If the OUTIND parameter setting is changed:
l from Direct, DirectDispInd, or ReverseDispInd to Reverse or
l from Reverse to Direct, DirectDispInd, or ReverseDispInd,
a return for the existing Output Alarm condition occurs and a new Output Alarm would be sent.
If MODE is . . . Then, . . .
Cascade All inputs must be pulled from another function block.
Manual OP may be stored by the operator or a user program. (All inputs are ignored.)
The initialization request occurs when the MODE changes from CAScade to MANual, but not from
MANual to CAScade.
- 377 -
Chapter 19 - Regulatory Control
ATTENTION
If the input is from a connection in another controller in a peer-to-peer architecture, the
actual timeout time equals the configured TMOUTTIME plus the CDA timeout time. The CDA
timeout time equals four times the configured CEE subscription rate. For example, if the CEE
subscription rate is 100 milliseconds and the TMOUTTIME is 5 seconds, the actual timeout
time for the block is 4 times 100ms plus 5s or 5.4 seconds.
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).
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].
- 378 -
Chapter 19 - Regulatory Control
l 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)
l 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.
- 379 -
Chapter 19 - Regulatory Control
Value Sent to
SEL (Selected) all blocks on the selected input path.
l Override feedback value: The OVRDSEL block sends its current CV to each of its primaries.
o The CV is clamped to OPHILM if it is greater than OPHILM and to OPLOLM if it is less
than OPLOLM.
l 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.
o If the offset flag is Off, the PID doesn't apply an offset; it initializes its CV as follows:
CV = override feedback value
o 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.
o Additionally, the Gain *(PVP - SPP) term is set to 0.0; If:
o Gain *(PVP - SPP) > 0.0 and the downstream OVRDSEL block is a High selector. Or,
o Gain *(PVP - SPP) < 0.0 and the downstream OVRDSEL block is a Low selector.
l 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.
l We do not recommend using a PID with External Reset Feedback in an override strategy.
l 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
- 380 -
Chapter 19 - Regulatory Control
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.
A secondary exists but this block cannot fetch secondary data from it
(communications or configuration error).
- 381 -
Chapter 19 - Regulatory Control
ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated to the
primary. The only limiting anti-reset windup status ever does is to stop integral action in one or
both directions on PID blocks. For any other regulatory control type block, ARWNET is not used for
any kind of limiting. The ARWNET is computed as follows, assuming the block has only one output
or that it is not a FANOUT block.
The CV is NaN.
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).
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).
- 382 -
Chapter 19 - Regulatory Control
The ARWNETIN and ARWOPIN parameters would be ORed into the existing standard logic so it is
not lost. The following table summarizes the influence the ARWNETIN and ARWOPIN parameters
have on the ARWNET and ARWOP parameters, which are not user configurable.
NORMAL HI HI
NORMAL LO LO
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 HI HILO
HILO LO HILO
- 383 -
Chapter 19 - Regulatory Control
The PID block has two analog inputs - a process variable (PV) and a set point (SP). The difference
between PV and SP is the error and this block calculates a control output (OP) that should drive the
error to zero.
The following equations are supported:
l Proportional, Integral, and Derivative (PID) on the error
l Proportional and Integral (PI) on the error and Derivative (D) on changes in PV
l Integral (I) on the error and Proportional and Derivative (PD) on changes in PV
l Integral (I) only
l 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.
- 384 -
Chapter 19 - Regulatory Control
With R410, you can configure the on-delay time, off-delay time, deadband value, and deadband
unit for the individual alarms. For example, you can use the following parameters to configure the
on-delay time, off-delay time, deadband values, and deadband units for the OPHIALM parameter.
l OPHIALM.TM
l OPHIALM.TMO
l OPHIALM.DB
l OPHIALM.DBU
The following parameters can be used for configuring the on-delay time and off-delay time for
the BADCTLALM alarm.
l BADCTLALM.TM
l BADCTLALM.TMO
Each PID block supports the following user configurable attributes. The following table lists the
given name of the “Tab” in the parameter configuration form and then briefly describes the
attributes associated with that Tab. This data is only provided as a quick document reference, since
this same information is included in the on-line context sensitive Help.
- 385 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l Description (DESC) - Block descriptor of up to 132 characters long.
l 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.
l 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.
l 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.
l 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).
l Manual PV Option (PVMANOPT) - Lets you specify the mode and output
the block is to assume when PVSTS changes to MANual. The selections
are:
l NOSHED - No changes.
l SHEDHOLD - Sets MODE to MANual and MODEATTR to
Operator, disables external mode switching (ESWPERM), and
holds output at the last good value.
l SHEDLOW - Sets MODE to MANual and MODEATTR to
Operator, disables external mode switching (ESWPERM), and
sets output to its extended low limit (OPEXLOLM) value.
l SHEDHIGH - Sets MODE to MANual and MODEATTR to
Operator, disables external mode switching (ESWPERM), and
sets output to its extended high limit (OPEXHILM) value.
l SHEDSAFE - Sets MODE to MANual and MODEATTR to
Operator, disables external mode switching (ESWPERM), and
sets output to the configured safe output (SAFEOP) value.
- 386 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l 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.
l 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 conditions. MODE processing checks for the following conditions,
and changes the block's MODE as appropriate.
l External request for MODE switching.
l Safety interlock request.
l 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.
l 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.
l 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).
l 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).
l 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).
l 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.
l 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.
l 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.
l Enable Bad Output Connection Option (BADOCOPTENB) - Lets you to
optionally enable the functionality of specifying a time delay for the
- 387 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
regulatory control blocks to shed the control mode in the event of an IO
communication loss. The default selection is Disable.
Algorithm l 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.
l 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.
l T1 (minutes) (T1) - Lets you set integral time to be used for the integral
term in the control equation.
l T1 High Limit (minutes) (T1HILM) - Lets you define the high limit value in
minutes for the integral time setting. The default limit is 1440.
l T1 Low Limit (minutes) (T1LOLM) - Lets you define the low limit value in
minutes for the integral time setting. The default limit is 0.
l T2 (minutes) (T2) - Lets you set the derivative time to be used for the
derivative term in the control equation.
l T2 High Limit (minutes) (T2HILM) - Lets you define the high limit value in
minutes for the derivative time setting. The default limit is 1440.
l T2 Low Limit (minutes) (T2LOLM) - Lets you define the low limit value in
minutes for the derivative time setting. The default limit is 0.
l 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.
l 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.
l 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:
l 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.
l GAP - The GAP gain option reduces the sensitivity of the control
action when the PV is in a user-specified band (gap) around the
set point. This applies to equations A, B, and C.
l 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.
l 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.
l 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.
l Gap High Limit (GAPHILM) - Lets you define the high limit value in PV
- 388 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
engineering units to be used when calculating GAP gain.
l Gap Low Limit (GAPLOLM) - Lets you define the low limit value in PV
engineering units to be used when calculating GAP gain.
l 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.
l 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.
l 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.
l 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.
l 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.
l 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 in R300
SetPoint l SP (SP) - Lets you specify an initial set point value. The default value is 0.
l 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.
l 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.
l 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.
l 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.
l Enable Advisory SP Processing (ADVDEVOPT) - Lets you specify whether
or not the block is to generate a deviation alarm when the PV deviates
- 389 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
from a user specified “advisory” SP value. The default selection is
unchecked (Disabled).
l 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.
l 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.
l 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).
l 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.
l 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.
l 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
l Enable SP Push: (PUSHSP) - Lets you specify that the PID SP will be
pushed from an Inter Cluster Gateway when the PID is the secondary of a
cascade that extends over two Experion clusters.
Output l 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%.
l 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%.
l 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
- 390 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
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%.
l 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%.
l 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
slowdown 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.
l 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.
l 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. ‘
l 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.
l 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).
l 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.
l 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 l 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:
l OP High (OPHIALM.FL)
- 391 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l OP Low (OPLOALM.FL)
l Deviation High (DEVHIALM.FL)
l Deviation Low (DEVLOALM.FL)
l Advisory Deviation (ADVDEVALM.FL)
l Safety Interlock (SIALM.FL)
l Bad Control (BADCTLALM.FL)
l 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:
l NONE - Alarm is neither reported nor annunciated.
l JOURNAL - Alarm is logged but it does not appear on the Alarm
Summary display.
l LOW, HIGH, URGENT - Alarm is annunciated and appears on
the Alarm Summary display.
l 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.
l Deadband Value (ALMDB/xxxxALM.DB) - Defines the minimum value that
needs to be added to or subtracted from the trip point before reporting an
RTN. By specifying a deadband value, you can prevent the nuisance
alarms due to noise at values near the trip point. The default value is 1.
For a high alarm, RTN is reported only when the OP value is less than the
trip point - deadband value. For a low alarm, RTN is reported only when
the OP value is more than the trip point + deadband value.
Prior to R410, once the deadband value was configured, this value was
loaded to the individual alarm parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM was loaded. If you configured the individual
alarm parameters as Monitoring Parameters for the block, you could
change the individual alarm value while monitoring the loaded block in
CB.
- 392 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
With R410, the deadband value can be individually configured for each
alarm. For example, you can configure OPHIALM.DB as 5 and
OPLOALM.DB as 3. However, if you are migrating from pre-R410 to later
releases, refer to Impact of migration on alarm attributes.
l Deadband Time (xxxxALM.TM) - Defines the duration in seconds during
which a process alarm reporting is suppressed. This helps in preventing
the nuisance alarms from being reported repeatedly during the process
upset and improves the efficiency of the operator. Once you configure
this value for an alarm, the alarm is reported on the Station only if the
alarm condition continues to exist even after this value expires. The
default time is 0; that is the alarm is reported as soon as the alarm
condition occurs.
Prior to R410, once configured, this value was loaded to the individual
alarm parameters (for example, OPHIALM.TM and OPLOALM.TM) when
the CM was loaded. If you configured the individual alarm parameters as
Monitoring parameters for the block, you could change the individual
alarm value while monitoring the loaded block in CB.
With R410, the deadband time can be individually configured for each
alarm. For example, you can configure OPHIALM.TM as 5 seconds and
OPLOALM.TM as 3 seconds. However, if you are migrating from pre-
R410 to late releases, refer to Impact of migration on alarm attributes.
l Deadband Units (ALMDBU/xxxxALM.DBU) - Defines the unit for the
deadband value - percent or engineering units. The default value is
percent.
Prior to R410, once configured, this value was loaded to the individual
alarm parameters (for example, OPHIALM.DBU and OPLOALM.DBU)
when the CM was loaded. If you configured the individual alarm
parameters as Monitoring parameters for the block, you could change the
individual alarm value while monitoring the loaded block in CB.
With R410, you cannot individually configure the deadband unit for the
PID block. If you configure the deadband unit as “EU or Percent” for an
alarm, this configuration is identical for the all other alarms in the PID
block. However, if you are migrating from pre-R410 to later releases, refer
to Impact of migration on alarm attributes.
You must configure identical deadband units for all alarms in the PID-PL
block.
l 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:
l 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.
l Disable - An alarm is not notified whenever a mode shed
happens in the event of an IO communication loss.
- 393 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
when the OP value is less than the trip point - deadband for the
configured Off-delay time. However, if you are migrating from pre-R410
to later releases, the alarm off-delay time will be set as default value (0).
SCM l 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:
l None
l ONESHOT
l SEMICONT
l CONTRTN
l CONT
l 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:
l NONE - No changes.
l MAN - Set MODEREQ = MANUAL.
l AUTO - Set MODEREQ = AUTOMATIC.
l CAS - Set MODEREQ = CASCADE.
l FIXEDOP - Set OPREQ = Configured Value.
l HOLDPV - Set SPREQ = PV.
l FIXED SP - Set SPREQ = Configured Value and SPRATEREQ =
NaN.
l RAMPEDSP - Set SPTVREQ = Configured Value and
SPRATEREQ = Configured Rate.
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 Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
- 394 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences 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
l Function-PID Block
l Functional scenario-PID Block
l Configuration examples-PID Block
l Operating modes and mode handling-PID Block
l Required inputs-PID Block
l Input ranges and limits-PID Block
l Initializable outputs-PID Block
l Control initialization-PID Block
l Output bias-PID Block
l Output ranges and limits-PID Block
l Direct or reverse control-PID Block
l Set Point Ramping-PID Block
l PV tracking-PID Block
l PID equations
l Gain options-PID block
l Tuning Constant Change Considerations
l Timeout monitoring-PID block
l Timeout processing-PID block
l Output Indication Function-PID block
l Windup handling-PID block
l Windup processing
l Anti-Reset Windup Status
l Override feedback processing-PID block
l PID parameters
- 395 -
Chapter 19 - Regulatory Control
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.
l ESWAUTO, ESWCAS, ESWMAN and SI - Indicates if an external source, such as a user
program, wants to change the PID's Mode:
o If ESWAUTO = On, the external source wants to change the Mode to Auto.
o If ESWCAS = On, the external source wants to change the Mode to Cascade.
o If ESWMAN = On, the external source wants to change the Mode to Manual.
o 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:
l 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.
l 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.
l The secondary builds BACKCALCIN when it receives a read request from the primary. This way,
BACKCALCIN is guaranteed to contain the most current status.
- 396 -
Chapter 19 - Regulatory Control
The functional steps associated with this PID operating scenario are listed in the following table.
1. The PID1 provides a value to the PID2 SP variable (before the PID1 executes).
2. The PID1's “Execute” method is called by the CEE (Control Execution Environment). The PID
execution period is configurable.
3. The PID2 performs timeout checking on SP (to make sure the variable has been updated).
The SP timeout value is configurable.
4. The PID1 checks PVSOURCE and decides whether or not to fetch PV. If PVSOURCE = Auto, it
brings PV from the DATAACQ; otherwise, it simply uses the current value of PV.
5. The PID1 checks SI, ESWAUTO, ESWCAS and ESWMAN to see if an external source wants to
invoke Safety Interlock processing or change the Mode.
6. The PID1 reads BACKCALCIN from the secondary, and decides if windup or initialization
processing is required. The BACKCALOUT to BACKCALIN connection is hidden.
7. The PID1 performs SP processing. (SP processing options are specified at configuration time.)
- 397 -
Chapter 19 - Regulatory Control
8. The PID1 calculates an output, based on PV and SP values and the configured algorithm.
9. The PID1 performs limit checking and alarming (if required) on OP.
10. The PID1 stores OP to the secondary.
11. The PID1's “Execute” method completes.
l 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 quick reference.
The view in following figure depicts a loaded configuration in Monitoring mode.
Table 19.9 Example of CB configuration using a PID block for single loop control.
The following table includes descriptions of the callouts in the figure above.
1. Use the PV parameter connection to carry data from the analog input to the PID block. The
default PV connection is exposed, but the implicit/hidden connection function automatically
makes a connection to a value/status parameter (PVVALSTS) when it is required.
2. Use the BACKCALCIN/BACKCALCOUT connection to carry secondary data from the AOC block
to the primary PID block. If the PIDA block were a secondary block, its BACKCALCOUT pin
connection would be connected to the BACKCALCIN pin connection on its primary PID block.
The individual BACKCALCIN/BACKCALCOUT connections for each output used are
automatically built by Control Builder as implicit/hidden connections.
The secondary data includes this information.
- 398 -
Chapter 19 - Regulatory Control
l Anti-Reset Windup Status: Indicates if the secondary's initializable input (which is this
block's output) is at its high or low limit.
l 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.
l 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.
l Initialization Value: Used for continuous and one shot initialization.
l 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.
l Override Feedback Value: Similar to initialization value; this is calculated to prevent “wind-
up” in unselected primaries.
l 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.
l Engineering Units: The engineering units (EU) of the secondary's initializable input. For
example, If the secondary's input is SP, it sends SPEUHI and SPEULO to the primary. The
primary then sets its CV range (CVEUHI and CVEULO) to this.
3. Use the OP parameter connection to send output data to the Analog Output Channel (AOC)
block. The default OP connection is exposed, but the implicit/hidden connection function
automatically makes a connection to a value/status parameter (OPX/OPEUX) when it is
required.
l Cascade PID Loop: The following figure and its companion callout description table show a
sample configuration that uses two PID blocks to form a cascade control loop for quick
reference. The view in the following figure depicts a loaded configuration in Monitoring mode.
Table 19.10 Example of CB configuration using two PID blocks for cascade loop control.
- 399 -
Chapter 19 - Regulatory Control
The following table includes descriptions of the callouts in the figure above.
1. Use the PV parameter connection to carry data from the analog input to the PID block. The
default PV connection is exposed, but the implicit/hidden connection function automatically
makes a connection to a value/status parameter (PVVALSTS) when it is required.
2. Use the OP parameter connection to send output data to another block. The default OP
connection is exposed, but the implicit/hidden connection function automatically makes a
connection to a value/status parameter (OPX/OPEUX) when it is required.
3. Use the BACKCALCIN/BACKCALCOUT connection to carry secondary data from the AOC block
to the secondary PID block and from the secondary PID block to the primary PID block. The
individual BACKCALCIN/BACKCALCOUT connections for each output used are automatically
built by Control Builder as implicit/hidden connections.
See the description for Callout 2 in the table for the previous figure Example of CB
configuration using a PID block for single loop control for more detailed information about the
elements that make up the secondary data.
l AUTO (AUTOmatic)
o 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.
l CAS (CAScade)
o 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.
- 400 -
Chapter 19 - Regulatory Control
l 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.
l SPHILM and SPLOLM define set point operating limits in engineering units.
o 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.
l SP contains set point value in engineering units and SPP contains the value in percent.
o If Mode is AUTOmatic, the operator or a user program may store to either SP or SPP.
You may create a connection to OP or OPEU but not both. Therefore, this block may have only one
secondary. If you do not create a connection to OP or OPEU, then the block does not have a
secondary. Alternately, if you connect OP or OPEU to a non-initializable input, then this block does
not have a secondary. (Note that the default OP connection pin is exposed on the blocks and the
implicit/hidden connection function automatically makes the appropriate value/status parameter
(OPX/OPEUX) connection when required. For example, if you connect the output from a 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.
- 401 -
Chapter 19 - Regulatory Control
l Note that SECINITOPT may be used to ignore initialization requests from the secondary.
l If the secondary is requesting initialization, the PID block:
o initializes its output
CV = initialization value from the secondary
o sets initialization request parameters for its primary
INITREQ = On
INITVAL = SP
l 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.)
o When the function block starts up (that is, goes Active).
o When the function block initializes (for example, the secondary requests initialization).
o When the mode changes to Auto or Cascade.
ATTENTION
When the function block goes Active or the Mode changes to Auto or Cascade, OPBIAS and
OPBIAS.FLOAT are recomputed.
l 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.
l 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.
l 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:
o The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the new value.
o The floating bias (OPBIAS.FLOAT) is set to zero.
- 402 -
Chapter 19 - Regulatory Control
Where:
CVINIT=initialization value received from the secondary
CVUNBIASED = unbiased calculated value (based on input from the primary)
OPBIAS.FIX=fixed bias (user-specified)
l 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.
l 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.
o 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.
o 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)
o 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.
l OPHILM and OPLOLM define the normal high and low limits for OP as a percent of the CV
range - these are user-specified values.
o 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.
l OPEXHILM and OPEXLOLM define the extended high and low limits for OP as a percent of the
CV range - these are user-specified values.
o The operator is prevented from storing an OP value that exceeds these limits.
- 403 -
Chapter 19 - Regulatory Control
For example, if SPP = 50% and PVP = 51%, then the error is 1%.
l With direct-control action, if PVP changes to 52%, the error increases causing CV to increase.
l With reverse-control action, if PVP changes to 52%, the error increases causing CV to
decrease. .
- 404 -
Chapter 19 - Regulatory Control
Parameter Description
Normal Ramp Rate Normal ramp rate value in engineering units that you enter. The value can
(SPTVNORMRATE) 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:
l If SPTVNORMRATE is a value other than zero or NaN:
SPTVRATE = SPTVNORMRATE
SPTVTIME = |(SPTV - SP)| / SPTVRATE
l Otherwise,:
SPTVRATE = NaN
SPTVTIME = 0 (That is, do a step change.)
Max. Ramp Lets you specify a maximum deviation in engineering units per minute
Deviation allowed between PV and SP during ramping. The value can be NaN or
(SPTVDEVMAX) greater than zero. If value is NaN, it means no ramp deviation checking is
done.
If the maximum ramp deviation value is other than NaN, SP ramping stops
when the absolute value of the deviation (|PV - SP|) exceeds the maximum
deviation. And also SP Ramping will pause/stops when the calculated SP
increment would cause the SP to exceed the deviation limit, the SP is
paused at the current value, which may be less than the deviation limit
value.
The deviation flag (SPTVDEVFL) is set, and SP ramping state (SPTVSTATE)
remains in Run. Ramping resumes as soon as the absolute value of the
deviation returns within the maximum deviation limit. This also resets the
deviation flag (SPTVDEVFL).
If you have entered a ramp time (SPTVTIME) and ramping is interrupted by
maximum ramp deviation, the actual ramp time (SPTVTIME) will be greater
than the time you specified.
You can configure these other SP ramping related parameters to appear as block pins or
monitoring parameters that can be viewed on the block during Control Builder monitoring, as
shown in the following figure. You can access these parameters to invoke and monitor SP ramping
while monitoring the control strategy through Control Builder or the PID Loop Point Detail display
in Station.
- 405 -
Chapter 19 - Regulatory Control
Parameter Description
SPTV SP target value that you enter. You can only set SPTV when the SPTVOPT is
Enabled, the SPTVSTATE is Off or Preset, and the block's mode is Auto or Manual.
When you set SPTV with the block's Control Module active, this occurs:
l The block calculates a ramp time (SPTVTIME).
l The SPTVSTATE goes to Preset.
l 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:
l If you specify a ramp time (SPTVTIME) value other than zero:
SPTVRATE = |(SPTV - SP)| / SPTVTIME
Otherwise:
SPTVRATE = NaN
l 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.
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:
l An “R” modifier appears next to the SP value on the PID detail display in
Station.
l SP begins to ramp toward SPTV and SPTVTIME decreases.
When SPTVTIME reaches zero, SP equals SPTV and the SPTVSTATE goes to Off.
Figure 19.7 PID block with SP ramping parameters configured for monitoring.
- 406 -
Chapter 19 - Regulatory Control
The following table includes descriptions of the callouts in the figure above.
1. Block's mode must be Auto and SPTVSTATE must be Preset, before you can start SP ramping
by setting SPTVSTATE to Run with SPTV set to desired value.
2. The SPTVSTATE automatically goes to Preset, when:
l You set a value for SPTV or SPTVTIME.
l Mode changes to Manual while SPTVSTATE is Run.
l Block is initialized (INITMAN = ON) while SPTVSTATE is Run. However, a one shot
initialization does not cause a change in SPTVSTATE.
l Control Module goes Inactive.
3. You can only set a value for SPTV and SPTVTIME, when:
l SPTVSTATE is Off or Preset, and
l Mode is Auto or Manual.
ATTENTION
l When SP ramping is Enabled, the SPTVSTATE must be Off before you can make
changes to the SP limits (SPHILM and SPLOLM).
l 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.
- 407 -
Chapter 19 - Regulatory Control
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:
l PID block is in Manual mode
l PID block is initializing and not in Auto mode.
ATTENTION
l PV tracking does not occur on recovery from a bad PV.
l PV tracking does not occur if PID block is in Auto mode.
l If PID block is in Auto mode, it means SP is normally stored by the user.
l If PV tracking is initiated, this value is lost.
l 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.
l Equation B - the proportional and integral terms act on the error (PV - SP) and the derivative
term acts on changes in PV as follows:
l This equation is used to eliminate derivative spikes in the control action as a result of quick
changes in SP.
l Equation C - the integral term acts on the error (PV - SP) and the proportional and derivative
terms act on changes in PV as follows:
- 408 -
Chapter 19 - Regulatory Control
ATTENTION
Equation E does not work with the override feedback function. It is a whole value algorithm
that bumps the output to PV-SP regardless of the ORFBVAL preset to CV.
ATTENTION
To prevent a bump in the output, you must configure the OPBIAS.RATE parameter for a
value (in Engineering Units per minute) other than 0.0 (zero) or NaN (Not a Number) to
enable the ramping function for the floating bias.
Where:
PVP = PV in percent
s = La Place operator
SPP = SP in percent
- 409 -
Chapter 19 - Regulatory Control
l Gap Gain - used to reduce the sensitivity of the control action when PV is in a user-specified
band (gap) around the set point.
o Gap size and control action are specified at configuration time through the following
parameters:
K = KLIN
K = KLINKMODIFGAP
l Nonlinear Gain - provides control action that is proportional to the square of the error, rather
than the error itself.
o Gain (K) is derived as follows:
Where:
l 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.
o 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.
o For example, in controlling the level of a tank whose cross-section is not constant, the
- 410 -
Chapter 19 - Regulatory Control
gain could be modified to compensate for the nonlinear rate of level change that is
caused by the changing shape of the tank.
o Gain (K) is derived as follows:
K=KLIN*KMODIFEXT
Where:
ATTENTION
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.
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:
l Changes the mode back to CAScade.
l Updates the SP.
You cannot set the CASREQFL. However, it can be cleared by setting the block's MODE to MANUAL.
- 411 -
Chapter 19 - Regulatory Control
ATTENTION
If the input is from a connection in another controller in a peer-to-peer architecture, the
actual timeout time equals the configured TMOUTTIME plus the CDA timeout time. The CDA
timeout time equals four times the configured CEE subscription rate. For example, if the CEE
subscription rate is 100 milliseconds and the TMOUTTIME is 5 seconds, the actual timeout
time for the block is 4 times 100ms plus 5s or 5.4 seconds.
ATTENTION
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.
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.
- 412 -
Chapter 19 - Regulatory Control
OPHIALM.PR and .SV, and OPLOALM.PR Reverse of Actual OPHIALM.PR and .SV, and
and .SV OPLOALM.PR and .SV
OPHIALM.DB, .DBU, and .TM, and Reverse of Actual OPHIALM.DB and .DBU, and
OPLOALM.DB, .DBU, and .TM OPLOALM.DB and .DBU
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.
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.
- 413 -
Chapter 19 - Regulatory Control
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 Experion high or low Output Alarms display shall track the
value of displayed output parameters. An OUTIND value of REVERSE, shall show the limit and
value subjected to reversal. For example, an OPHI alarm will have the displayed trip limit set to 100
- (output low limit).
If the OUTIND parameter setting is changed:
l from Direct, DirectDispInd, or ReverseDispInd to Reverse or
l from Reverse to Direct, DirectDispInd, or ReverseDispInd,
a return for the existing Output Alarm condition occurs and a new Output Alarm would be sent.
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.
- 414 -
Chapter 19 - Regulatory Control
Fail open valve; air to close - reversal handled l PID OUTIND = Direct
in AO channel
l AOCHANNEL OPTDIR = Reverse
l PID OP 0% translated to 20 mA by the AO,
corresponding to the valve closed
l PID OP 100% translated to 4 mA by the
AO, corresponding to the valve open
l Unpowered state of AO results in 0 mA and
valve open
- 415 -
Chapter 19 - Regulatory Control
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.
A secondary exists but this block cannot fetch secondary data from it
(communications or configuration error).
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.
- 416 -
Chapter 19 - Regulatory Control
The CV is NaN.
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).
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).
NORMAL HI HI
NORMAL LO LO
HI NORMAL HI
HI HI HI
- 417 -
Chapter 19 - Regulatory Control
HI HILO HILO
LO NORMAL LO
LO HI HILO
LO LO LO
LO HILO HILO
HILO HI HILO
HILO LO HILO
- 418 -
Chapter 19 - Regulatory Control
Where:
K=overall gain
PV=PV in engineering units
PVP=PV in percent
SPP=SP in percent
With R410, you can configure the on-delay time, off-delay time, deadband value, and deadband
unit for the individual alarms. For example, you can use the following parameters to configure the
on-delay time, off-delay time, deadband values, and deadband units for the OPHIALM parameter.
l OPHIALM.TM
l OPHIALM.TMO
l OPHIALM.DB
l OPHIALM.DBU
The following parameters can be used for configuring the on-delay time and off-delay time for
the BADCTLALM and Predicted PV alarms.
l BADCTLALM.TM
l BADCTLALM.TMO
l PREDPVHIALM.TM
l PREDPVHIALM.TMO
l PREDPVLOALM.TM
l PREDPVLOALM.TMO
In many cases, Profit Loop PKS provides superior control and should be used in place of the
standard PID algorithms. These cases include:
o Processes with significant delay or inverse (wrong-way) response
o Property control employing infrequent measurement updates (such as from a gas
chromatograph)
o Noisy processes where valve wear is problematic
o Dynamically changing processes
o 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 setpoint
- 419 -
Chapter 19 - Regulatory Control
l Graphic presentation
l Modes
l Configurable attributes
19.10.1 Benefits
Key benefits of Profit Loop PKS include:
Benefit Discussion
Superior Because it is a predictive controller, Profit Loop PKS directly accounts for
control 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 A well-designed robust controller maintains a balance between aggressive control
extension 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 Uses a single tuning “knob,” the performance ratio. If the controller is sluggish
tuning and unresponsive, decreasing the performance ratio will improve performance. If
handle the controller is oscillatory or operating conditions change frequently, increasing
the performance ratio will slow the controller response to gain robustness.
Using a single handle as compared to the traditional three mode PID controller
dramatically simplifies retuning of the loop while in service.
Integrated Profit Loop PKS includes Profit Loop Assistant, a suite of tools for configuring,
tools 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.
Range Employs the patented Range Control Algorithm found in Honeywell's Profit
control Controller advanced control software. Unlike traditional PID, Profit Loop PKS is
not restricted to a single target (the setpoint), but may actively constrain the
response within a user-specified range.
This capability makes it ideally suited to tank capacity (surge) control where the
tank level must be bounded but is otherwise free to move. Here, the control
objective is to minimize change to the in-flow or out-flow of the tank.
- 420 -
Chapter 19 - Regulatory Control
Benefit Discussion
Optimization When the process is not constrained to a setpoint, Profit Loop PKS provides
freedom to choose the ultimate resting value for the process. The process may
completely float within the range, or a secondary “optimizatio” objective may be
imposed to drive the process to an optimal state.
Dual The key advantage of optimization over setpoint control is that the response of
objective the optimizer and controller can be tuned separately, providing dual objective
control control.
Discrete As a predictive controller, Profit Loop PKS models the behavior of the PV based on
analysis changes in the OP. If PV measurements are not available, Profit Loop PKS
proceeds with the control calculation using the current model estimate.
Profit Loop PKS's ability to compensate for missing process measurement data
makes it ideal for control of processes with discrete analyzers, such as gas
chromatographs. Using the internal model, Profit Loop PKS avoids inter-sample
integral wind-up associated with a PID controller.
19.10.3 Modes
The PID-PL operates in one of three distinct modes:
- 421 -
Chapter 19 - Regulatory Control
l 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.)
l When CTLEQN is PROFITLOOP and CTRLMODE is set to SETPOINT, this block operates as a
setpoint controller. Profit Loop PKS calculates a control output (OP) that drives the process
variable (PV) to the setpoint (SP).
l When CTLEQN is PROFITLOOP and CTRLMODE is set to RANGE, this block calculates a control
output (OP) to merely constrain the process variable (PV) between an upper bound (SPHI) and
lower bound (SPLO). A secondary objective can be applied to set the PV within the range, but
specification of this objective is optional.
The remainder of this discussion concentrates on the latter two operating modes. Where
appropriate, the term “setpoint control” will be applied to the second operating mode, and “range
control”will be applied to the third. These two modes are distinguished by the setting of the
CTRLMODE parameter.
- 422 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
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:
l 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
Control Building Guide in Experion documentation, Working with Profit
Loop PKS, Converting a PID-based Control Loop to PID-PL.
l ProfitLoop Control Mode (CTRLMODE) - Lets you select the means of
control for the PID-PL block:
l SETPOINT: With this selection, the function block will attempt to
have the PV track the setpoint (SP).
l RANGE: With this selection, the function block will attempt to
have the PV stay within high and low setpoint limits (SPHI and
SPLO).
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.
- 423 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Attributes specific to the PID-PL block are as follows:
l 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.
l 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.
l ProfitLoop Range Control Ramping, SPLO Ramp Rate (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.
l 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:
l NORMAL: Apply no additional noise filtering.
l MODERATE: Apply some additional filtering.
l 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 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.
- 424 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Advanced, 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.
Model area 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:
l 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.
l 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:
l 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.
l 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.
l 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.
l Transfer Function Denominator Coefficients - The desired value for each
coefficient in the array defining the denominator polynomial in 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.
l 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.
l 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.
l Process Gain Units - The units to be used in conjunction with the process
gain:
l PVEU/OPEU: Gain expressed in engineering units.
l %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:
l 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
- 425 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
calculates the controller.
This button is inactive if the model in the configuration form matches the
model in the active controller.
l 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.
l 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 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 Control Building Guide in
Experion documentation for information on performing these
procedures.
Advanced, With range control, because the process is no longer constrained to a setpoint,
Optimization you are free to choose the ultimate resting value for the process. The process
area 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.”
l 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 “optimizatio” 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:
l NONE: No optimization.
l MINIMIZE: Optimize toward the lower limit of the range
(minimize the PV).
l MAXIMIZE: Optimize toward the upper limit of the range
(maximize the PV).
l OPTTARGET: Optimize toward a specific target value (a user-
specified SP).
l 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
(SP).
- 426 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l 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.
l Profit Loop PKS uses the following formula:
l Where:
CLOSEDLOOPRESP = Closed-loop response time
OPTSPEED = Optimization speed
OPTRESP = Settling time associated with changes induced
through optimization
- 427 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l the Control Mode (on the Algorithm form) must be set to
RANGE, and
l the Optimizer Mode (on the Advanced form) must be set to
other than NONE.
l 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
l The impact of this offset depends on the selected Optimizer
Mode.
Advanced, 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
PV function block does not react to obsolete information.
Configuration
area l 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.
l 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.
l 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:
l 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).
l A value greater than or equal to zero enables the predicted PV
high alarm trip point.
- 428 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l NaN (Not a Number) disables the predicted PV high alarm.
- 429 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
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
l Note that the default selection is LOW, and that alarm levels are
prioritized as follows: JOURNAL --> LOW --> HIGH --> URGENT
(highest priority)
l 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 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 view information pertinent to the qualification and version control
system and enter block comments, if desired.
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 Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences block's faceplate.
- 430 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Template Lets you view and define parameters for associated templates.
Defining
Insertion Type Lets you include an insertion type from a CAB instances in the block. See CAB
insertion configuration considerations for regulatory control blocks for more
information
l Function-PID-PL
l Configuration examples-PID-PL
l Operating modes and mode handling-PID-PL
l Required inputs-PID-PL
l Input ranges and limits-PID-PL
l Initializable outputs-PID-PL
l Control initialization-PID-PL
l Output bias-PID-PL
l Output ranges and limits-PID-PL
l Direct or reverse control-PID-PL
l Set Point Ramping-PID-PL
l Range Control Ramping-PID-PL
l PV tracking-PID-PL
l PV Bad Value Handling
l PV Calibration
l Asynchronous PV Inputs
l Control Equations-PID-PL block
l Output Indication Function
l Tuning Constant Change Considerations
l Timeout monitoring
l Windup handling-PID-PL block
l Windup processing
l Anti-Reset Windup Status
l Override feedback processing-PID-PL block
l PID-PL parameters
19.10.5 Function-PID-PL
The Profit Loop PKS control algorithm belongs to a class of controllers known as “model predictive
control.” These controllers rely on a dynamic model to predict future movement in the process
variable. If this predicted PV does not meet the control objectives (maintain at current setpoint),
control action is taken to realign the PV with its objectives. In contrast, a PID controller uses past
and current error trajectories to restore the PV to its SP within one control move, regardless of the
long-term consequences of the move.
Additional functional details about Profit Loop PKS are provided in the following discussions:
- 431 -
Chapter 19 - Regulatory Control
l Auxiliary Functions
l Data Acquisition Functions
l Pulse Input
l Device Control
l Logic Functions
l Math Functions
l Power Generation Functions
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.
In the preceding figure, the white line represents the predicted future PV trajectory. (This is the
line in the upper right quadrant of the graph.)
For Profit Loop PKS, the dynamic model is entered as a Laplace transfer function of the form:
where
G is the process gain;
T is the deadtime;
n and d1 are the process dynamics.
The Laplace variable, s, has units of min -1, requiring dynamics and deadtimes to be entered in
minutes.
- 432 -
Chapter 19 - Regulatory Control
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.
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.
- 433 -
Chapter 19 - Regulatory Control
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.
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.
- 434 -
Chapter 19 - Regulatory Control
To tune the function block, you must specify the closed-loop response time. To make tuning
simpler, this response time is normalized by the open loop response time, and the ratio of the
response times, the performance ratio is entered. A performance ratio of 1 indicates that the
function block should bring the process to its setpoint value in approximately open loop response
time minutes. This function block action is similar to the response from a steady-state-only
controller.
When the performance ratio is less than 1, more aggressive control is required as the process is
driven to its setpoint faster than its natural (open loop) response. In contrast, a performance ratio
greater than 1 generates laxer control but is more robust to modeling errors.
When the process is not self-correcting (contains an integrator), the open loop response time is
not defined, and consequently, the use of a performance ratio is meaningless. Under these
circumstances, you enter the closed-loop response time directly, and the performance ratio is
reset to 1.
Range control
With the above algorithm, it is possible to control the PV within a user-entered range instead of to
a hard target (SP). Errors then represent the deviation of the future trajectory outside of the
operating range. If the future trajectory lies inside the operating range, there is no error.
Conceptually, Profit Loop's range control option is PID gap control with a gap gain factor of 0.
However, unlike gap control, Profit Loop PKS considers the long-term process response and not
the current process value, applying control action only when the projected PV trajectory is out of
bounds.
The parameters SPHI and SPLO define the operating range for the gap, in the same engineering
units as SP. This block ensures these values do not exceed the absolute SP range limits, SPHILM
and SPLOLM, capping the operating range limit when required.
Furthermore, if the input SP value is outside the range specified by SPHI and SPLO, this function
block clamps SP to the appropriate limit. This additional restriction on SP only applies when the
range control option is selected. Otherwise, the SPHI and SPLO parameters track the current
setpoint, SP.
The user-entered parameter, CTRLMODE, indicates whether Profit Loop PKS controls within a
range, (RANGE), or to a setpoint (SETPOINT). The parameter has no meaning if PID control is
selected.
- 435 -
Chapter 19 - Regulatory Control
Optimization
With range control, the steady-state operating conditions are allowed to float (within the range);
there is no unique resting value. While this may be acceptable for dynamic control, it may not be
suitable for planning and long-term operations.
To define the steady-state operations, Profit Loop PKS includes a small optimizer that allows you to
specify the desired steady-state operating conditions. Depending on the control objectives (as
specified by the OPTMODE parameter), you can minimize the process variable (MINIMIZE),
maximize this variable (MAXIMIZE), aim to a user-entered target (OPTTARGET), or aim toward a
narrower PV range but not to a unique value (DUALRANGE). Furthermore, you can disable this
option completely (NONE).
The rate at which the process approaches steady-state operations is typically slower than the rate
at which dynamic constraints are resolved. This allows Profit Loop PKS to be configured for two
control objectives - quick resolution of dynamic errors with a slower approach to optimal
operations.
The optimization rate is normalized by the closed-loop response time and specified by the
parameter, OPTSPEED:
When OPTSPEED = 6, the optimizer tries to bring the process to its steady-state value by the end
its control horizon. When OPTSPEED = 3, the optimizer is twice as slow; when 12, twice as fast. The
default value for OPTSPEED is 2.
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.
- 436 -
Chapter 19 - Regulatory Control
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.
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.
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:
- 437 -
Chapter 19 - Regulatory Control
l Because the gain multiplier is restricted to be greater than 0, the process model gain never
changes direction.
l 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:
l 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.
- 438 -
Chapter 19 - Regulatory Control
Setpoint control
The following figure and table show a sample configuration that uses a PID-PL block to form a
single control loop set for setpoint control. Note that this configuration is nearly identical to the
single-loop PID configuration.
- 439 -
Chapter 19 - Regulatory Control
Callout Description
1 Use the PV parameter connection to carry data from the analog input to the data
acquisition block.
2 Use the data acquisition block to filter and scale the PV input. This block also maintains
several PV alarms.
3 Use the PID-PL block for control. A separate SP block pin is exposed for on-line
parameter changes. To implement Profit Loop PKS control, the control equation is set
to PROFITLOOP and control mode to SETPOINT.
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.
- 440 -
Chapter 19 - Regulatory Control
Callout Description
1 Configuration is nearly identical to setpoint control configuration. Use block pins SPHI
and SPLO to allow on-line change of the control range. SP is not used in this case.
Discrete analyzer
The following figure and table show a sample configuration for interfacing a PID-PL block to a
discrete analyzer. In this example, the wo digital signals- an on-off flag to indicate when the
analyzer is in calibration, and a 30-second pulse signal whenever a new measurement is
available.
Callout Description
1 Because the analyzer maintains a set of control signals, PVASYNCOPT is set to
ExternalSync to force bias updating only when the analyzer indicates that a new
reading is available.
3 The calibration flag runs directly to the calibration pin on the PID-PL block. As long as
this signal is ON, the analyzer is presumed to be calibrating. The new sample input is
buffered by the FTRIG block before it links to the new sample pin on the PID-PL block.
4 FTRIG captures the leading edge of the new sample pulse and sets the new sample
flag on the PID-PL block. The new sample parameter remains ON for one execution
period before it is reset by FTRIG.
- 441 -
Chapter 19 - Regulatory Control
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.
Callout Description
1 For clarity, the tank level is shown as a separate independent block connection. In
practice, the input to the regulatory control block may be connected to the output of
the data acquisition block.
- 442 -
Chapter 19 - Regulatory Control
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:
l SETPOINT - Controller alters OP so PV tracks the SP.
l 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:
l NONE - PV is allowed to freely float between SPHI and SPLO. If projected to remain in range,
no additional control action is taken.
l MINIMIZE - At steady-state, PV is minimized.
l MAXIMIZE - At steady-state, PV is maximized.
l OPTTARGET (OPTimize to TARGET) - At steady-state, PV equals SP.
l 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.
- 443 -
Chapter 19 - Regulatory Control
l 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.
- 444 -
Chapter 19 - Regulatory Control
and SPLO limits to newly entered values by ramping range limit changes 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.
19.10.17 PV tracking-PID-PL
The PV Tracking option sets SP equal to PV when automatic control is disabled (e.g. cascade is
broken, mode is manual). Having SP track PV avoids output bumps when automatic control is
reestablished. See PV tracking-PID Block 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:
l If SPLO is greater than SP then set SPLO equal to SP
l If SPHI is less than SP then set SPHI equal to SP
ATTENTION
l SPHI and SPLO track the current SP (and only indirectly the PV).
l 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.
l 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.
- 445 -
Chapter 19 - Regulatory Control
ATTENTION
The Bad PV duration alarm is in addition to any other Bad PV alarms, specifically the Bad PV
alarm in the DATAACQ block.
19.10.19 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.
When CALIBRATION is set, Profit Loop PKS:
l Disables updating of bias between model prediction and PV
l Continues control action based on model prediction only
- 446 -
Chapter 19 - Regulatory Control
l 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
l Logic blocks should be employed to set and reset the NEWSAMPLE flag. It is the
users responsibility to design and construct the appropriate logic.
l The PID-PL block makes no attempt to set or reset this flag.
l 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.
- 447 -
Chapter 19 - Regulatory Control
ATTENTION
The OUTIND parameter has no affect on the block's control operation. The CTLACTN
parameter on the Algorithm tab still supports the output direction of the block, the OPTDIR
parameter on the Main tab for the AOCHANNEL block form applies the conversion of OP to
OPFINAL. You can manipulate the DIRECT/REVERSE selections for the OUTIND, CTLACTN,
and OPTDIR parameters to meet your process and operator needs.
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.
OPHIALM.PR and .SV, and OPLOALM.PR Reverse of Actual OPHIALM.PR and .SV, and
and .SV OPLOALM.PR and .SV
- 448 -
Chapter 19 - Regulatory Control
The user store of an OP related parameter is intercepted and reversed when OUTIND equals
REVERSE. For example, a store of OPHILM = 80 produces OPLOLM = 100 - 80, so the OPHILM
parameter get will then view OPHILM = 100 - 20.
ATTENTION
The swapping/reversal of values will not be done, if the block was loaded with REVERSE
OUTIND configured. The reversal of values will be done only on a subsequent change to the
OUTIND value, if appropriate.
For example: If a PID block is loaded with OPHILM = 95, OPLOLM = 10 and OUTIND as
REVERSE, the OPHILM and OPLOLM after load will still be 95 and 10, respectively.
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.
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 Experion high or low Output Alarms display shall track the
value of displayed output parameters. An OUTIND value of REVERSE, shall show the limit and
value subjected to reversal. For example, an OPHI alarm will have the displayed trip limit set to 100
- (output low limit).
If the OUTIND parameter setting is changed:
l from Direct, DirectDispInd, or ReverseDispInd to Reverse or
l from Reverse to Direct, DirectDispInd, or ReverseDispInd,
a return for the existing Output Alarm condition occurs and a new Output Alarm would be sent.
- 449 -
Chapter 19 - Regulatory Control
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.
Fail open valve; air to close - reversal handled l PID OUTIND = Direct
in AO channel
l AOCHANNEL OPTDIR = Reverse
l PID OP 0% translated to 20 mA by the AO,
corresponding to the valve closed
l PID OP 100% translated to 4 mA by the
AO, corresponding to the valve open
l Unpowered state of AO results in 0 mA and
valve open
ATTENTION
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.
- 450 -
Chapter 19 - Regulatory Control
You cannot undo a change in a tuning constant in an online control loop by simply changing the
constant back to its original value. The output (OP) does not jump back to its original prior value
just because you return the constant to its prior value. In this case, you must put the loop in
MANUAL mode and set the output (OP) to the desired value before returning the loop to AUTO
mode.
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.
- 451 -
Chapter 19 - Regulatory Control
ARWOP computation
The ARWOP indicates if the output (OP) can be raised or lowered. The PID-type function blocks use
ARWOP to restrict integral control. When ARWOP contains a value other than Normal, the PID
block stops integral control in the windup direction. Integral control continues in the other
direction, as does proportional and derivative control. But, windup status has no impact on
proportional and derivative control.
If a function block has a secondary, it fetches the secondary's windup status and recomputes its
ARWOP. The conditions within the function block, such as output being at its high limit, also affect
the ARWOP. The ARWOP is computed as follows, assuming the block has only one output or that it
is not a FANOUT block.
A secondary exists but this block cannot fetch secondary data from it
(communications or configuration error).
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.
The CV is NaN.
- 452 -
Chapter 19 - Regulatory Control
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).
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).
NORMAL HI HI
NORMAL LO LO
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 HI HILO
- 453 -
Chapter 19 - Regulatory Control
- 454 -
Chapter 19 - Regulatory Control
The PIDER block accepts five analog inputs - a process variable (PV), a set point (SP), a reset
feedback value (RFB), a tracking value (TRFB), and a tracking control switch (S1). The difference
between PV and SP is the error and this block calculates a control output (OP) that should drive
the error to zero.
The reset feedback (RFB) signal comes from the remote controller's PV, and the tracking value
(TRFB) comes from its PV or SP. By monitoring the remote controller's PV and SP, the PIDER block
can determine if the remote controller is responding. If the remote controller is not responding, it
can prevent its own output from winding up.
The tracking control switch (S1) determines the output of the PIDER block. The S1 parameter is
usually stored through an output connection from another function block, or by a user program.
When S1 is Off, the PID control value output (CVPID) is combined with the reset feedback (RFB)
value to obtain the control value (CV); and when it is On, CV is set equal to the tracking value
(TRFB).
The following equations are supported:
l Proportional, Integral, and Derivative (PID) on the error
l Proportional and Integral (PI) on the error and Derivative (D) on changes in PV
l Integral (I) on the error and Proportional and Derivative (PD) on changes in PV
l Integral (I) only
- 455 -
Chapter 19 - Regulatory Control
The PIDER block may be used in a single control loop or with multiple PIDs in a cascade
strategy.
With R410, you can configure the on-delay time, off-delay time, deadband value, and
deadband unit for the individual alarms. For example, you can use the following parameters to
configure the on-delay time, off-delay time, deadband values, and deadband units for the
OPHIALM parameter.
l OPHIALM.TM
l OPHIALM.TMO
l OPHIALM.DB
l OPHIALM.DBU
The following parameters can be used for configuring the on-delay time and off-delay time for
the BADCTLALM alarm.
l BADCTLALM.TM
l BADCTLALM.TMO
- 456 -
Chapter 19 - Regulatory Control
Table 19.11 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.
- 457 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l Item Name - The name of the Entity that the Control Module containing
the block will be associated with in the Enterprise Model Builder
hierarchy.
l Description (DESC) - Block descriptor of up to 132 characters long.
l 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.
l 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.
l 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.
l 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).
l Manual PV Option (PVMANOPT) - Lets you specify the mode and output
the block is to assume when PVSTS changes to MANual. The selections
are:
l NOSHED - No changes.
l SHEDHOLD - Sets MODE to MANual and MODEATTR to
Operator, disables external mode switching (ESWPERM), and
holds output at the last good value
l SHEDLOW - Sets MODE to MANual and MODEATTR to
Operator, disables external mode switching (ESWPERM), and
sets output to its extended low limit (OPEXLOLM) value.
l SHEDHIGH - Sets MODE to MANual and MODEATTR to
Operator, disables external mode switching (ESWPERM), and
sets output to its extended high limit (OPEXHILM) value.
l SHEDSAFE - Sets MODE to MANual and MODEATTR to
Operator, disables external mode switching (ESWPERM), and
sets output to the configured safe output (SAFEOP) value.
l Normal Mode (NORMMODE) - Lets you specify the MODE the block is to
assume when the Control to Normal function is initiated through the
- 458 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Station display. Selections are MANual, AUTOmatic, CAScade,
BackupCAScade and NONE. All selections are not valid for a given block.
The default selection is NONE.
l 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.
l 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 conditions. MODE processing checks for the following conditions,
and changes the block's MODE as appropriate.
l External request for MODE switching.
l Safety interlock request.
l 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.
l 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.
l 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).
l 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).
l 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).
l 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.
l 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 l 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.
- 459 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l 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.
l T1 (minutes) (T1) - Lets you set integral time to be used for the integral
term in the control equation.
l T1 High Limit (minutes) (T1HILM) - Lets you define the high limit value in
minutes for the integral time setting. The default limit is 1440.
l T1 Low Limit (minutes) (T1LOLM) - Lets you define the low limit value in
minutes for the integral time setting. The default limit is 0.
l T2 (minutes) (T2) - Lets you set the derivative time to be used for the
derivative term in the control equation.
l T2 High Limit (minutes) (T2HILM) - Lets you define the high limit value in
minutes for the derivative time setting. The default limit is 1440.
l T2 Low Limit (minutes) (T2LOLM) - Lets you define the low limit value in
minutes for the derivative time setting. The default limit is 0.
l 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.
l 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.
l 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:
l 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.
l GAP - The GAP gain option reduces the sensitivity of the control
action when the PV is in a user-specified band (gap) around the
set point. This applies to equations A, B, and C.
l 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.
l 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.
l 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.
l Gap High Limit (GAPHILM) - Lets you define the high limit value in PV
engineering units to be used when calculating GAP gain.
l Gap Low Limit (GAPLOLM) - Lets you define the low limit value in PV
engineering units to be used when calculating GAP gain.
l 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
- 460 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
band (GAPLOLM - GAPHILM) around the SP. The value range is 0.0 to
1.0.
l 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.
l 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.
l 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.
l 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.
l 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 in R300
SetPoint l SP (SP) - Lets you specify an initial set point value. The default value is 0.
l 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.
l 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.
l 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.
l 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.
l 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).
l 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
- 461 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
deviation alarm.
l 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.
l 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).
l 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.
l 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.
l 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.
l Enable SP Push: (PUSHSP) - Lets you specify that the PIDER SP will be
pushed from an Inter Cluster Gateway when the PIDER is the secondary
of a cascade that extends over two Experion clusters.
Output l 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%.
l 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%.
l 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%.
l Extended Low Limit (%) (OPEXLOLM) - Lets you specify the output
extended low limit as a percent of the Calculated Variable range (CVEUHI
- 462 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
- 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%.
l 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
slowdown 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.
l 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.
l 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.
l 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.
l 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).
l 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.
l 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 l 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:
l OP High (OPHIALM.FL)
l OP Low (OPLOALM.FL)
l Deviation High (DEVHIALM.FL)
l Deviation Low (DEVLOALM.FL)
l Advisory Deviation (ADVDEVALM.FL)
- 463 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l Safety Interlock (SIALM.FL)
l Bad Control (BADCTLALM.FL)
l 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.
l Deadband Value (ALMDB/xxxxALM.DB) - Defines the minimum value that
needs to be added to or subtracted from trip point before reporting an
RTN. By specifying a deadband value, you can prevent the nuisance
alarms due to noise at values near the trip point. The default value is 1.
For a high alarm, RTN is reported only when the OP value is less than the
trip point - deadband value. For a low alarm, RTN is reported only when
the OP value is more than the trip point + deadband value.
Prior to R410, once the deadband value was configured, this value was
loaded to the individual alarm parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM was loaded. If you configured the individual
alarm parameters as Monitoring Parameters for the block, you could
change the individual alarm value while monitoring the loaded block in
CB.
With R410, the deadband value can be individually configured for each
alarm. For example, you can configure OPHIALM.DB as 5 and
OPLOALM.DB as 3. However, if you are migrating from pre-R410 to later
releases, refer to Impact of migration on alarm attributes.
l Deadband Time (xxxxALM.TM) - Defines the duration in seconds during
- 464 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
which a process alarm reporting is suppressed. This helps in preventing
the nuisance alarms from being reported repeatedly during the process
upset and improves the efficiency of the operator. Once you configure
this value for an alarm, the alarm is reported on the Station only if the
alarm condition continues to exist even after this value expires. The
default time is 0; that is the alarm is reported as soon as the alarm
condition occurs.
Prior to R410, once configured, this value was loaded to the individual
alarm parameters (for example, OPHIALM.TM and OPLOALM.TM) when
the CM was loaded. If you configured the individual alarm parameters as
Monitoring parameters for the block, you could change the individual
alarm value while monitoring the loaded block in CB.
With R410, the deadband time can be individually configured for each
alarm. For example, you can configure OPHIALM.TM as 5 seconds and
OPLOALM.TM as 3 seconds. However, if you are migrating from pre-
R410 to later releases, refer to Impact of migration on alarm attributes.
l Deadband Units (ALMDBU/xxxxALM.DBU) - Defines the unit for the
deadband value - percent or engineering units. The default value is
percent.
Prior to R410, once configured, this value was loaded to the individual
alarm parameters (for example, OPHIALM.DBU and OPLOALM.DBU)
when the CM was loaded. If you configured the individual alarm
parameters as Monitoring parameters for the block, you could change the
individual alarm value while monitoring the loaded block in CB.
With R410, the cannot individually configure the deadband unit for the
PIDER block. If you configure the deadband unit as “EU or Percent” for an
alarm, this configuration is identical for the all other alarms in the PIDER
block. However, if you are migrating from pre-R410 to later releases, refer
to Impact of migration on alarm attributes.
Note: You must configure identical deadband units for all alarms in the PIDER
block.
l 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:
l 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.
l 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 l SCM Mode Tracking Option (MODETRACK) - Lets you select the desired
- 465 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
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:
l None
l ONESHOT
l SEMICONT
l CONTRTN
l CONT
l 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:
l NONE - No changes.
l MAN - Set MODEREQ = MANUAL.
l AUTO - Set MODEREQ = AUTOMATIC.
l CAS - Set MODEREQ = CASCADE.
l FIXEDOP - Set OPREQ = Configured Value.
l HOLDPV - Set SPREQ = PV.
l FIXED SP - Set SPREQ = Configured Value and SPRATEREQ =
NaN.
l RAMPEDSP - Set SPTVREQ = Configured Value and
SPRATEREQ = Configured Rate.
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 Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
- 466 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Block Lets you change several block-viewing preferences including the color of the
Preferences 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
19.11.2 Function
The PIDER block requires five inputs -- PV, SP, RFB, TRFB and S1. RFB is the reset feedback value,
TRFB is the tracking value, and S1 is a tracking control switch (a Boolean input). S1 indicates
whether the PID output should be combined with the RFB or replaced by TRFB.
l 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.
l 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).
l 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.
l TRFB is pulled from another function block. You cannot store a value to this parameter.
l S1 is triggered by another function block or set by a user-written program. When S1 is Off, the
PID control value output (CVPID) is combined with the reset feedback (RFB) value to obtain the
control value (CV); and when it is On, CV is set equal to the tracking value (TRFB).
A PIDER also has the following optional inputs. Typically, these are flags which may be stored by
the operator or user program to change the normal operation of the PIDER.
l ESWAUTO, ESWCAS, ESWMAN and SI - Indicates if an external source, such as a user
program, wants to change the PIDER's Mode:
o If ESWAUTO = On, the external source wants to change the Mode to Auto.
o If ESWCAS = On, the external source wants to change the Mode to Cascade.
o If ESWMAN = On, the external source wants to change the Mode to Manual.
o 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:
l 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.
l 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.
l The secondary builds BACKCALCIN when it receives a read request from the primary. This way,
BACKCALCIN is guaranteed to contain the most current status.
- 467 -
Chapter 19 - Regulatory Control
l AUTO (AUTOmatic)
o 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.
l CAS (CAScade)
o 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.
l 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.
l SPHILM and SPLOLM define set point operating limits in engineering units.
- 468 -
Chapter 19 - Regulatory Control
o 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.
o 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).
l SP contains set point value in engineering units and SPP contains the value in percent.
o If Mode is AUTOmatic, the operator or a user program may store to either SP or SPP.
o The PIDER block monitors SP for time-out.
l The RFB and TRFB values typically come from a remote controller. The PIDER block applies no
range check for these parameters.
l The S1 input is a Boolean flag and the values are only On and Off.
ATTENTION
The PIDER block does not support output initialization, and therefore cannot have a
secondary. Initialization only occurs when the tracking control switch (S1) is On.
ATTENTION
Be sure you use a FANOUT block to make multiple output connections. We recommend that
you do not make multiple connections from a single PID output.
- 469 -
Chapter 19 - Regulatory Control
ATTENTION
When the function block goes Active or the Mode changes to Auto or Cascade, OPBIAS and
OPBIAS.FLOAT are recomputed.
l 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.
l 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.
l 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:
o The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the new value.
o The floating bias (OPBIAS.FLOAT) is set to zero.
- 470 -
Chapter 19 - Regulatory Control
the OPBIAS.FLOAT is not zero. The OPBIAS.RATE is expressed in Engineering Units per minute
and may have the following values.
o 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.
o 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)
o 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.
l OPHILM and OPLOLM define the normal high and low limits for OP as a percent of the CV
range - these are user-specified values.
o 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.
o The operator may store an OP value that is outside of these limits.
l OPEXHILM and OPEXLOLM define the extended high and low limits for OP as a percent of the
CV range - these are user-specified values.
o The operator is prevented from storing an OP value that exceeds these limits.
l MAXRFBDEV is the maximum deviation allowed between CV and RFB, in percent. It is used to
provide windup protection for OP.
o 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.
- 471 -
Chapter 19 - Regulatory Control
l With direct-control action, an increase in the error (PV - SP) increases the PIDER output (CV).
l 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%.
l With direct-control action, if PVP changes to 52%, the error increases causing CV to increase.
l With reverse-control action, if PVP changes to 52%, the error increases causing CV to
decrease. .
Parameter Description
Normal Ramp Rate Normal ramp rate value in engineering units that you enter. The value can
(SPTVNORMRATE) 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:
l If SPTVNORMRATE is a value other than zero or NaN:
l SPTVRATE = SPTVNORMRATE
l SPTVTIME = |(SPTV - SP)| / SPTVRATE
Otherwise,:
l SPTVRATE = NaN
l SPTVTIME = 0 (That is, do a step change.)
Max. Ramp Lets you specify a maximum deviation in engineering units per minute
Deviation allowed between PV and SP during ramping. The value can be NaN or
(SPTVDEVMAX) 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.
- 472 -
Chapter 19 - Regulatory Control
Parameter Description
SPTV SP target value that you enter. You can only set SPTV when the SPTVOPT is
Enabled, the SPTVSTATE is Off or Preset, and the block's mode is Auto or Manual.
When you set SPTV with the block's Control Module active, this occurs:
The block calculates a ramp time (SPTVTIME).
The SPTVSTATE goes to Preset.
A “P” modifier appears next to the SP value on the PIDER detail display in Station.
SPTVDEVFL SP target value deviation flag indicates when deviation exceeds the maximum
ramp deviation limit.
SPTVRATE SP target value ramp rate. This rate is calculated as shown above for the
SPTVNORMRATE and as follows:
l If you specify a ramp time (SPTVTIME) value other than zero:
SPTVRATE = |(SPTV - SP)| / SPTVTIME
Otherwise:
SPTVRATE = NaN
l 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.
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:
l An “R” modifier appears next to the SP value on the PIDER detail display in
Station.
l SP begins to ramp toward SPTV and SPTVTIME decreases.
When SPTVTIME reaches zero, SP equals SPTV and the SPTVSTATE goes to Off.
Figure 19.9 PIDER block with SP ramping parameters configured for monitoring.
- 473 -
Chapter 19 - Regulatory Control
The following table includes descriptions of the callouts in the figure above.
1. Block's mode must be Auto and SPTVSTATE must be Preset, before you can start SP ramping
by setting SPTVSTATE to Run with SPTV set to desired value
2. The SPTVSTATE automatically goes to Preset, when:
l You set a value for SPTV or SPTVTIME.
l Mode changes to Manual while SPTVSTATE is Run.
l Block is initialized (INITMAN = ON) while SPTVSTATE is Run. However, a one shot
initialization does not cause a change in SPTVSTATE.
l Control Module goes Inactive.
3. You can only set a value for SPTV and SPTVTIME, when:
l SPTVSTATE is Off or Preset, and
l Mode is Auto or Manual.
ATTENTION
l When SP ramping is Enabled, the SPTVSTATE must be Off before you can make
changes to the SP limits (SPHILM and SPLOLM).
l If the anti-reset windup status (ARWNET) indicates that SP is woundup (Hi, Lo or
HiLo), SP ramping stops. When ARWNET indicates that SP has returned to normal,
SP ramping continues from where it stopped.
19.11.12 PV tracking
The PV Tracking option sets SP equal to PV when a cascade is broken due either to function block
initialization or operator or program action (such as, setting the mode to Manual).
You select the Enable PV Tracking selection on the block configuration form to enable the function
(PVTRAKOPT = Track).
Typically, PV tracking is configured for PID blocks in a cascade configuration strategy. This allows
the PIDs to resume control with no error after initialization or when they are taken out of Manual
mode.
- 474 -
Chapter 19 - Regulatory Control
If PV tracking is configured, the block sets SP equal to PV (subject to SP limits) when either of the
following conditions exist:
l block is in Manual mode
l block is initializing and not in Auto mode.
ATTENTION
l PV tracking does not occur on recovery from a bad PV.
l PV tracking does not occur if block is in Auto mode.
l If block is in Auto mode, it means SP is normally stored by the user.
l If PV tracking is initiated, this value is lost.
l The PVTRAKOPTAI parameter provides a PV Tracking option for the specific case
when the block is in Auto mode and it is undergoing initialization (INITMAN is On).
The PV Tracking option parameter (PVTRAKOPT) does not include the Auto/Init case,
but does cover several other situations as noted above.
Equation B - the proportional and integral terms act on the error (PV - SP) and the derivative
term acts on changes in PV as follows:
l 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:
- 475 -
Chapter 19 - Regulatory Control
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.
Where:
PVP = PV in percent
s = La Place operator
SPP = SP in percent
If the tracking switch S1 is Off, this block combines RFB with the PID output as follows:
- 476 -
Chapter 19 - Regulatory Control
If the tracking switch (S1) is On, the PIDER block forces CV to track the tracking value (TRFB)
input as follows:
Where:
CV = full value output of the PID block. This is an internal calculated parameter and is not
PID available to user-written programs.
rfb =
s = La Place operator
- 477 -
Chapter 19 - Regulatory Control
l Gap Gain - used to reduce the sensitivity of the control action when PV is in a user-specified
band (gap) around the set point.
o Gap size and control action are specified at configuration time through the following
parameters:
K = KLIN
K = KLIN*KMODIFGAP
l Nonlinear Gain - provides control action that is proportional to the square of the error, rather
than the error itself.
o Gain (K) is derived as follows:
Where:
l 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.
o 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.
o 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.
o Gain (K) is derived as follows:
K = KLIN*KMODIFEXT
Where:
- 478 -
Chapter 19 - Regulatory Control
ATTENTION
The OUTIND parameter has no affect on the block's control operation. The CTLACTN
parameter on the Algorithm tab still supports the output direction of the block, the OPTDIR
parameter on the Main tab for the AOCHANNEL block form applies the conversion of OP to
OPFINAL. You can manipulate the DIRECT/REVERSE selections for the OUTIND, CTLACTN,
and OPTDIR parameters to meet your process and operator needs.
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.
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.
- 479 -
Chapter 19 - Regulatory Control
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.
Fail open valve; air to close - reversal handled l PID OUTIND = Direct
in AO channel
l AOCHANNEL OPTDIR = Reverse
l PID OP 0% translated to 20 mA by the AO,
corresponding to the valve closed
l PID OP 100% translated to 4 mA by the
AO, corresponding to the valve open
l Unpowered state of AO results in 0 mA and
valve open
ATTENTION
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.
- 480 -
Chapter 19 - Regulatory Control
ATTENTION
If the input is from a connection in another controller in a peer-to-peer architecture, the
actual timeout time equals the configured TMOUTTIME plus the CDA timeout time. The CDA
timeout time equals four times the configured CEE subscription rate. For example, if the
CEE subscription rate is 100 milliseconds and the TMOUTTIME is 5 seconds, the actual
timeout time for the block is 4 times 100ms plus 5s or 5.4 seconds.
- 481 -
Chapter 19 - Regulatory Control
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.
A secondary exists but this block cannot fetch secondary data from it
(communications or configuration error).
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.
- 482 -
Chapter 19 - Regulatory Control
The CV is NaN.
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).
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).
NORMAL HI HI
NORMAL LO LO
HI NORMAL HI
HI HI HI
- 483 -
Chapter 19 - Regulatory Control
HI HILO HILO
LO NORMAL LO
LO HI HILO
LO LO LO
LO HILO HILO
HILO HI HILO
HILO LO HILO
l If the tracking control switch (S1) is Off and the reset feedback value (RFB) is bad, this block
sets CV to NaN (Bad).
o When the RFB returns to good, CV is initialized, and the dynamic PID terms are
returned to steady-state.
l If S1 is On and the tracking value (TRFB) is bad, the block sets CV to NaN (Bad).
o 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.
- 484 -
Chapter 19 - Regulatory Control
The PIDFF block has three analog inputs - a process variable (PV), a set point (SP), and a
feedforward signal (FF). The difference between PV and SP is the error and this block calculates a
control output (OP) that should drive the error to zero. The feedforward signal (FF) is included in
the calculation of the PID's incremental output before the full value output is accumulated.
The following equations are supported:
l Proportional, Integral, and Derivative (PID) on the error
l Proportional and Integral (PI) on the error and Derivative (D) on changes in PV
l Integral (I) on the error and Proportional and Derivative (PD) on changes in PV
l Integral (I) only
l 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.
- 485 -
Chapter 19 - Regulatory Control
With R410, you can configure the on-delay time, off-delay time, deadband value, and deadband
unit for the individual alarms. For example, you can use the following parameters to configure the
on-delay time, off-delay time, deadband values, and deadband units for the OPHIALM parameter.
l OPHIALM.TM
l OPHIALM.TMO
l OPHIALM.DB
l OPHIALM.DBU
The following parameters can be used for configuring the on-delay time and off-delay time for
the BADCTLALM alarm.
l BADCTLALM.TM
l BADCTLALM.TMO
Each PIDFF block supports the following user configurable attributes. The following table lists the
given name of the “Tab” in the parameter configuration form and then briefly describes the
attributes associated with that Tab. This data is only provided as a quick document reference, since
this same information is included in the on-line context sensitive Help.
- 486 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l Description (DESC) - Block descriptor of up to 132 characters long.
l 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.
l 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.
l 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.
l 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).
l Manual PV Option (PVMANOPT) - Lets you specify the mode and output
the block is to assume when PVSTS changes to MANual. The selections
are:
l NOSHED - No changes.
l SHEDHOLD - Sets MODE to MANual and MODEATTR to
Operator, disables external mode switching (ESWPERM), and
holds output at the last good value.
l SHEDLOW - Sets MODE to MANual and MODEATTR to
Operator, disables external mode switching (ESWPERM), and
sets output to its extended low limit (OPEXLOLM) value.
l SHEDHIGH - Sets MODE to MANual and MODEATTR to
Operator, disables external mode switching (ESWPERM), and
sets output to its extended high limit (OPEXHILM) value.
l 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 one shot initialization.
l 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.
- 487 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
The default selection is NONE.
l 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.
l 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 conditions. MODE processing checks for the following conditions,
and changes the block's MODE as appropriate.
l External request for MODE switching.
l Safety interlock request.
l 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.
l 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.
l 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).
l 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).
l 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).
l 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.
l 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.
- 488 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l 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 l 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.
l 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.
l T1 (minutes) (T1) - Lets you set integral time to be used for the integral
term in the control equation.
l T1 High Limit (minutes) (T1HILM) - Lets you define the high limit value
in minutes for the integral time setting. The default limit is 1440.
l T1 Low Limit (minutes) (T1LOLM) - Lets you define the low limit value in
minutes for the integral time setting. The default limit is 0.
l T2 (minutes) (T2) - Lets you set the derivative time to be used for the
derivative term in the control equation.
l T2 High Limit (minutes) (T2HILM) - Lets you define the high limit value
in minutes for the derivative time setting. The default limit is 1440.
l T2 Low Limit (minutes) (T2LOLM) - Lets you define the low limit value in
minutes for the derivative time setting. The default limit is 0.
l 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.
l 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.
l 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:
l 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.
l GAP - The GAP gain option reduces the sensitivity of the control
action when the PV is in a user-specified band (gap) around the
set point. This applies to equations A, B, and C.
l 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.
l 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.
- 489 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l 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.
l Gap High Limit (GAPHILM) - Lets you define the high limit value in PV
engineering units to be used when calculating GAP gain.
l Gap Low Limit (GAPLOLM) - Lets you define the low limit value in PV
engineering units to be used when calculating GAP gain.
l 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.
l 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.
l 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.
l 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.
l 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.
l 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 in R300
l 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.
l Gain (KFF) - Lets you specify the desired gain for the feedforward input. It
is clamped between GAINLOLM and GAINHILM. The default setting is 1.
l Bias (BFF) - Lets you specify the desired bias value for the feedforward
input. The default setting is 0.
SetPoint l SP (SP) - Lets you specify an initial set point value. The default value is 0.
l 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.
l 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.
l 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.
l Time (TMOUTTIME) - Lets you specify a time in seconds that must expire
- 490 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
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.
l 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).
l 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.
l 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.
l 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).
l 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.
l 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.
l 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.
l Enable SP Push: (PUSHSP) - Lets you specify that the PIDFF SP will be
pushed from an Inter Cluster Gateway when the PIDFF is the secondary
of a cascade that extends over two Experion clusters.
Output l 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
- 491 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
in the MANual mode. The default value is 105%.
l 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%.
l 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%.
l 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%.
l 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
slowdown 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.
l 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.
l 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. ’
l 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.
l 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).
l 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.
- 492 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l 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 l 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:
l OP High (OPHIALM.FL)
l OP Low (OPLOALM.FL)
l Deviation High (DEVHIALM.FL)
l Deviation Low (DEVLOALM.FL)
l Advisory Deviation (ADVDEVALM.FL)
l Safety Interlock (SIALM.FL)
l Bad Control (BADCTLALM.FL)
l 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.
l Deadband Value (ALMDB/xxxxALM.DB) - Defines the minimum value that
- 493 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
needs to be added to or subtracted from trip point before reporting an
RTN. By specifying a deadband value, you can prevent the nuisance
alarms due to noise at values near the trip point. The default value is 1.
For a high alarm, RTN is reported only when the OP value is less than the
trip point - deadband value. For a low alarm, RTN is reported only when
the OP value is more than the trip point + deadband value.
Prior to R410, once the deadband value was configured, this value was
loaded to the individual alarm parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM was loaded. If you configured the individual
alarm parameters as Monitoring Parameters for the block, you could
change the individual alarm value while monitoring the loaded block in
CB.
With R410, the deadband value can be individually configured for each
alarm. For example, you can configure OPHIALM.DB as 5 and
OPLOALM.DB as 3. However, if you are migrating from pre-R410 to later
releases, refer to Impact of migration on alarm attributes.
l Deadband Time (xxxxALM.TM) - Defines the duration in seconds during
which a process alarm reporting is suppressed. This helps in preventing
the nuisance alarms from being reported repeatedly during the process
upset and improves the efficiency of the operator. Once you configure
this value for an alarm, the alarm is reported on the Station only if the
alarm condition continues to exist even after this value expires. The
default time is 0; that is the alarm is reported as soon as the alarm
condition occurs.
Prior to R410, once configured, this value was loaded to the individual
alarm parameters (for example, OPHIALM.TM and OPLOALM.TM) when
the CM was loaded. If you configured the individual alarm parameters as
Monitoring parameters for the block, you could change the individual
alarm value while monitoring the loaded block in CB.
With R410, the deadband time can be individually configured for each
alarm. For example, you can configure OPHIALM.TM as 5 seconds and
OPLOALM.TM as 3 seconds. However, if you are migrating from pre-
R410 to later releases, refer to Impact of migration on alarm attributes.
l Deadband Units (ALMDBU/xxxxALM.DBU) - Defines the unit for the
deadband value - percent or engineering units. The default value is
percent.
Prior to R410, once configured, this value was loaded to the individual
alarm parameters (for example, OPHIALM.DBU and OPLOALM.DBU)
when the CM was loaded. If you configured the individual alarm
parameters as Monitoring parameters for the block, you could change the
individual alarm value while monitoring the loaded block in CB.
With R410, you cannot individually configure the deadband unit for the
PIDFF block. If you configure the deadband unit as “EU or Percent” for an
alarm, this configuration is identical for the all other alarms in the PIDFF
block. However, if you are migrating from pre-R410 to later releases,
refer to Impact of migration on alarm attributes.
You must configure identical deadband units for all alarms in the PIDFF
block.
l 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:
l 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
- 494 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
setting manually.
l 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 l 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:
l None
l ONESHOT
l SEMICONT
l CONTRTN
l CONT
l 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:
l NONE - No changes.
l MAN - Set MODEREQ = MANUAL.
l AUTO - Set MODEREQ = AUTOMATIC.
l CAS - Set MODEREQ = CASCADE.
l FIXEDOP - Set OPREQ = Configured Value.
l HOLDPV - Set SPREQ = PV.
l FIXED SP - Set SPREQ = Configured Value and SPRATEREQ =
NaN.
l RAMPEDSP - Set SPTVREQ = Configured Value and
SPRATEREQ = Configured Rate.
- 495 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
within SPLOLM to SPHILM, for set point. The default value is NaN (Not a
Number).
l 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 Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences 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
l Function-PIDFF block
l Functional scenario-PIDFF block
l Operating modes and mode handling-PIDFF block
l Required inputs-PIDFF block
l Input ranges and limits-PIDFF block
l Initializable outputs-PIDFF block
l Control initialization-PIDFF block
l Output bias-PIDFF block
l Output ranges and limits-PIDFF block
l Direct or reverse control for PIDFF block
l Set Point Ramping-PIDFF block
l PV tracking-PIDFF block
l Feedforward add or multiply action and equations-PIDFF block
l Feedforward value status-PIDFF block
l PID equations-PIDFF block
l Gain options-PIDFF block
l Output Indication Function-PIDFF block
l Tuning Constant Change Considerations-PIDFF block
l Timeout monitoring-PIDFF block
l Timeout processing-PIDFF block
l Windup handling-PIDFF block
l Windup processing-PIDFF block
l Anti-Reset Windup Status-PIDFF block
l Bypassing feedforward control action-PIDFF block
l Override feedback processing-PIDFF block
- 496 -
Chapter 19 - Regulatory Control
l PIDFF parameters
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.
l ESWAUTO, ESWCAS, ESWMAN and SI - Indicates if an external source, such as a user
program, wants to change the PID's Mode:
o If ESWAUTO = On, the external source wants to change the Mode to Auto.
o If ESWCAS = On, the external source wants to change the Mode to Cascade.
o If ESWMAN = On, the external source wants to change the Mode to Manual.
o 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:
l 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.
l 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.
l The secondary builds BACKCALCIN when it receives a read request from the primary. This way,
BACKCALCIN is guaranteed to contain the most current status.
- 497 -
Chapter 19 - Regulatory Control
figure.
l PIDFF pulls FF from the LEADLAG function block as shown in the following figure.
l The PV, FF, and OP connections are all good which means there are no communication errors
or timeouts.
The functional steps associated with this PIDFF operating scenario are listed in the following table.
1. The Operator provides a value to the PIDFF1 SP variable (before the PIDFF1 executes).
2. The PIDFF1's “Execute” method is called by the CEE (Control Execution Environment). The
PID execution period is configurable.
3. The PIDFF1 checks PVSOURCE and decides whether or not to fetch PV. If PVSOURCE = Auto, it
brings PV from the DATAACQ; otherwise, it simply uses the current value of PV.
4. The PIDFF pulls the FF from the LEADLAG block.
5. The PIDFF1 checks SI, ESWAUTO, ESWCAS and ESWMAN to see if an external source wants to
invoke Safety Interlock processing or change the Mode.
6. The PIDFF1 performs SP processing. (SP processing options are specified at configuration
time.)
7. The PIDFF1 calculates an output, based on PV and SP values and the configured algorithm
plus FF (FF processing option is specified at configuration time).
8. The PIDFF1 performs limit checking and alarming (if required) on OP.
9. The PIDFF1 stores OP to the AOCHANNEL.
10. The PIDFF1's “Execute” method completes.
- 498 -
Chapter 19 - Regulatory Control
l MAN (MANual)
o 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.
l AUTO (AUTOmatic)
o 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.
l CAS (CAScade)
o 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.
l 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.
l 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.
l 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.
l 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.
l SPHILM and SPLOLM define set point operating limits in engineering units.
o 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.
l SP contains set point value in engineering units and SPP contains the value in percent.
o If Mode is AUTOmatic, the operator or a user program may store to either SP or SPP.
- 499 -
Chapter 19 - Regulatory Control
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.
l OP = Calculated output, in percent.
l OPEU = Calculated output, in engineering units.
You may create a connection to OP or OPEU but not both. Therefore, this block may have only one
secondary. If you do not create a connection to OP or OPEU, then the block does not have a
secondary. Alternately, if you connect OP or OPEU to a non-initializable input, then this block does
not have a secondary. (Note that the default OP connection pin is exposed on the blocks and the
implicit/hidden connection function automatically makes the appropriate value/status parameter
(OPX/OPEUX) connection when required. For example, if you connect the output from a 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.
l Note that SECINITOPT may be used to ignore initialization requests from the secondary.
l If the secondary is requesting initialization, the PIDFF block:
o initializes its output
CV = initialization value from the secondary
o sets initialization request parameters for its primary
INITREQ = On
INITVAL = SP
INITMAN = On
- 500 -
Chapter 19 - Regulatory Control
l 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.)
o When the function block starts up (that is, goes Active).
o When the function block initializes (for example, the secondary requests initialization).
o When the mode changes to Auto or Cascade.
ATTENTION
When the function block goes Active or the Mode changes to Auto or Cascade, OPBIAS and
OPBIAS.FLOAT are recomputed.
l 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.
l 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.
l 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:
o The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the new value.
o The floating bias (OPBIAS.FLOAT) is set to zero.
l 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.
l 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.
o 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.
o Non-zero:
- 501 -
Chapter 19 - Regulatory Control
l 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.
l OPHILM and OPLOLM define the normal high and low limits for OP as a percent of the CV
range - these are user-specified values.
o 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.
l OPEXHILM and OPEXLOLM define the extended high and low limits for OP as a percent of the
CV range - these are user-specified values.
o The operator is prevented from storing an OP value that exceeds these limits.
For example, if SPP = 50% and PVP = 51%, then the error is 1%.
l With direct-control action, if PVP changes to 52%, the error increases causing CV to increase.
l With reverse-control action, if PVP changes to 52%, the error increases causing CV to
decrease. .
- 502 -
Chapter 19 - Regulatory Control
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 Description
Normal Ramp Rate Normal ramp rate value in engineering units that you enter. The value can
(SPTVNORMRATE) 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:
l If SPTVNORMRATE is a value other than zero or NaN:
SPTVRATE = SPTVNORMRATE
SPTVTIME = |(SPTV - SP)| / SPTVRATE
l Otherwise:
SPTVRATE = NaN
SPTVTIME = 0 (That is, do a step change.)
Max. Ramp Lets you specify a maximum deviation in engineering units per minute
Deviation allowed between PV and SP during ramping. The value can be NaN or
(SPTVDEVMAX) 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.
- 503 -
Chapter 19 - Regulatory Control
Parameter Description
SPTV SP target value that you enter. You can only set SPTV when the SPTVOPT is
Enabled, the SPTVSTATE is Off or Preset, and the block's mode is Auto or Manual.
When you set SPTV with the block's Control Module active, this occurs:
l The block calculates a ramp time (SPTVTIME).
l The SPTVSTATE goes to Preset.
l 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:
l If you specify a ramp time (SPTVTIME) value other than zero:
SPTVRATE = |(SPTV - SP)| / SPTVTIME
Otherwise:
SPTVRATE = NaN
l If you change the SPTVNORMRATE, this block recalculates the ramp time
(SPTVTIME) and ramp rate (SPTVRATE) as follows:
If ramp time (SPTVTIME) is a value other zero
SPTVRATE = SPTVNORMRATE
SPTVTIME = |(SPTV - SP)| / SPTVRATE
Otherwise:
SPTVRATE = NaN
SPTVTIME = 0 (That is, do a step change.)
SPTVTIME SP target value time in minutes. This time is calculated in conjunction with
SPTVRATE as described above or is entered by you. You can only set SPTVTIME
when the SPTVOPT is Enabled, the SPTVSTATE is Off or Preset, and the block's
mode is Auto or Manual.
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:
l An “R” modifier appears next to the SP value on the PID detail display in
Station.
l SP begins to ramp toward SPTV and SPTVTIME decreases.
When SPTVTIME reaches zero, SP equals SPTV and the SPTVSTATE goes to Off.
Figure 19.10 PID block with SP ramping parameters configured for monitoring.
- 504 -
Chapter 19 - Regulatory Control
The following table includes descriptions of the callouts in the figure above.
Callout Description
1 Block's mode must be Auto and SPTVSTATE must be Preset, before you can start SP
ramping by setting SPTVSTATE to Run with SPTV set to desired value.
3 You can only set a value for SPTV and SPTVTIME, when:
l SPTVSTATE is Off or Preset, and
l Mode is Auto or Manual.
ATTENTION
l When SP ramping is Enabled, the SPTVSTATE must be Off before you can make
changes to the SP limits (SPHILM and SPLOLM).
l 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.
- 505 -
Chapter 19 - Regulatory Control
Typically, PV tracking is configured for PIDFF blocks in a cascade configuration strategy. This allows
the PIDs to resume control with no error after initialization or when they are taken out of Manual
mode.
If PV tracking is configured, the PIDFF block sets SP equal to PV (subject to SP limits) when either
of the following conditions exist:
l PIDFF block is in Manual mode
l PIDFF block is initializing and not in Auto mode.
ATTENTION
l PV tracking does not occur on recovery from a bad PV.
l PV tracking does not occur if PID block is in Auto mode.
1. If PIDFF block is in Auto mode, it means SP is normally stored by the user.
2. If PV tracking is initiated, the stored SP value is lost.
l 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.
l If the configured control equation (CTLEQN) is E and the feedforward action is Additive, then:
o 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.)
o 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.)
- 506 -
Chapter 19 - Regulatory Control
l If the configured control equation (CTLEQN) is E and the feedforward action is Multiplicative,
then:
o 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.)
o 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) )
o 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 = Notation to indicate value of this pass
n-1 = Notation to indicate value of preceding pass
- 507 -
Chapter 19 - Regulatory Control
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.
l Equation A - all three terms (Proportional, Integral, Derivative) act on the error
(PV - SP) as follows:
l Equation B - the proportional and integral terms act on the error (PV - SP) and the derivative
term acts on changes in PV as follows:
l This equation is used to eliminate derivative spikes in the control action as a result of quick
changes in SP.
l Equation C - the integral term acts on the error (PV - SP) and the proportional and derivative
terms act on changes in PV as follows:
ATTENTION
Equation E does not work with the override feedback function. It is a whole value algorithm
that bumps the output to PV-SP regardless of the ORFBVAL preset to CV.
- 508 -
Chapter 19 - Regulatory Control
l 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.
Where:
PVP = PV in percent
s = La Place operator
SPP = SP in percent
l Gap Gain - used to reduce the sensitivity of the control action when PV is in a user-specified
band (gap) around the set point.
o Gap size and control action are specified at configuration time through the following
parameters:
- 509 -
Chapter 19 - Regulatory Control
K = KLIN
K = KLIN * KMODIFGAP
l Nonlinear Gain - provides control action that is proportional to the square of the error, rather
than the error itself.
o Gain (K) is derived as follows:
Where:
l 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.
o 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.
o 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.
o Gain (K) is derived as follows:
K = KLIN*KMODIFEXT
Where:
- 510 -
Chapter 19 - Regulatory Control
You choose from the following configuration selections to tailor the block's output to meet your
particular operation and display requirements.
ATTENTION
The OUTIND parameter has no affect on the block's control operation. The CTLACTN
parameter on the Algorithm tab still supports the output direction of the block, the OPTDIR
parameter on the Main tab for the AOCHANNEL block form applies the conversion of OP to
OPFINAL. You can manipulate the DIRECT/REVERSE selections for the OUTIND, CTLACTN,
and OPTDIR parameters to meet your process and operator needs.
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.
OPHIALM.PR and .SV, and OPLOALM.PR Reverse of Actual OPHIALM.PR and .SV, and
and .SV OPLOALM.PR and .SV
- 511 -
Chapter 19 - Regulatory Control
OPHIALM.DB, .DBU, and .TM, and Reverse of Actual OPHIALM.DB and .DBU, and
OPLOALM.DB, .DBU, and .TM OPLOALM.DB and .DBU
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.
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.
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 Experion high or low Output Alarms display shall track the
value of displayed output parameters. An OUTIND value of REVERSE, shall show the limit and
value subjected to reversal. For example, an OPHI alarm will have the displayed trip limit set to 100
- (output low limit).
If the OUTIND parameter setting is changed:
- 512 -
Chapter 19 - Regulatory Control
a return for the existing Output Alarm condition occurs and a new Output Alarm would be sent.
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.
Fail open valve; air to close - reversal handled l PID OUTIND = Direct
in AO channel
l AOCHANNEL OPTDIR = Reverse
l PID OP 0% translated to 20 mA by the AO,
corresponding to the valve closed
l PID OP 100% translated to 4 mA by the
AO, corresponding to the valve open
l Unpowered state of AO results in 0 mA and
valve open
ATTENTION
- 513 -
Chapter 19 - Regulatory Control
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.
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:
l Changes the mode back to CAScade.
l Updates the SP.
l 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.
- 514 -
Chapter 19 - Regulatory Control
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.
A secondary exists but this block cannot fetch secondary data from it
(communications or configuration error).
- 515 -
Chapter 19 - Regulatory Control
ARWNET computation
When ARWNET is HiLo, stores to SP are not limited, rather this is the status propagated to the
primary. The only limiting anti-reset windup status ever does is to stop integral action in one or
both directions on PID blocks. For any other regulatory control type block, ARWNET is not used for
any kind of limiting. The ARWNET is computed as follows, assuming the block has only one output
or that it is not a FANOUT block.
The CV is NaN.
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).
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).
- 516 -
Chapter 19 - Regulatory Control
The ARWNETIN and ARWOPIN parameters would be ORed into the existing standard logic so it is
not lost. The following table summarizes the influence the ARWNETIN and ARWOPIN parameters
have on the ARWNET and ARWOP parameters, which are not user configurable.
NORMAL HI HI
NORMAL LO LO
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 HI HILO
HILO LO HILO
- 517 -
Chapter 19 - Regulatory Control
l 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)
l If the override offset flag is On and the PID is using direct 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*(PVP - SPP)
l 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*(PVP - SPP)
Where:
CV=Full-value output of this function block 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.)
BFF=Bias of the feedforward input
K=Overall gain
KFF=Gain of the feedforward input that is clamped between GAINLOLM and GAINHILM.
FF=Feedforward input value
PVP=PV in percent
SPP=SP in percent
ATTENTION
You can use SECINITOPT to ignore override requests from the secondary.
- 518 -
Chapter 19 - Regulatory Control
19.13.2 Equation-LEGACYGAP
As described in the previous section, a PID block when configured for GAP or non linear gain will
include a gain change component in CV calculation if LEGACYGAP is set to the default value of
FALSE. The PID calculation performed is as follows
CV (t) = CV(t-l) + K * d/dt[ E(t) + 1/ Tl | E(t) dt + T2 E(t)/dt ] +
[ E(t) + 1/ Tl | E(t) dt + T2 E(t)/dt ] * dK/dt
where
CV (t) = Calculated CV during the current execution cycle
CV(t-l) = CV at the end of the last execution cycle
K = Gain
T1 = Integral time
T2 = Derivative time
E(t) = Current error (PV -SP)
If LEGACYGAP is set TRUE, the CV calculation will exclude the gain change component in the CV
calculation and the will be as follows
- 519 -
Chapter 19 - Regulatory Control
19.13.3 Configuration-LEGACYGAP
The LEGACYGAP configuration parameter will be displayed as a checkbox on the right side in the
algorithm tab of the forms for PID type blocks as shown in the figure below.
The parameter is typically configured before loading the PID blocks. The user (with ENGRINEER
access) may change the value after loading if the FB is inactive or the block is in Manual mode.
19.13.4 Migration-LEGACYGAP
When PID type function blocks are migrated from older releases to R300, the LEGACYGAP
parameter of PID type blocks will be set to the default value of FALSE.
- 520 -
Chapter 19 - Regulatory Control
With R410, youYou can configure the on-delay time, off-delay time, deadband value, and
deadband unit for the individual alarms. For example, you can use the following parameters to
configure the on-delay time, off-delay time, deadband values, and deadband units for the
DEVHIALM parameter.
l DEVHIALM.TM
l DEVHIALM.TMO
l DEVHIALM.DB
l DEVHIALM.DBU
The following parameters can be used for configuring the on-delay time and off-delay time for
BADCTL alarms.
l BADCTLALM.TM
l BADCTLALM.TMO
Each POSPROP block supports the following user configurable attributes. The following table lists
the given name of the “Tab” in the parameter configuration form and then briefly describes the
attributes associated with that Tab. This data is only provided as a quick document reference, since
this same information is included in the on-line context sensitive Help.
- 521 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l Description (DESC) - Block descriptor of up to 132 characters long.
l 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.
l 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.
l 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.
l 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).
l Manual PV Option (PVMANOPT) - Lets you specify the mode and output
the block is to assume when PVSTS changes to MANual. The selections
are:
l NO_SHED - Idle.
l SHEDHIGH - Raise.
l SHEDLOW - Lower
l SHEDSAFE - Depends on Safe State.
l SHEDHOLD - Idle
l 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.
l 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.
l 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.
l External request for MODE switching.
l Safety interlock request.
l Mode Attribute (MODEATTR) - Lets you set the block's mode attribute. The
- 522 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
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.
l 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.
l 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).
l 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).
l 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).
l 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.
l 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 l Cycle Time (CYCLETIME) - Lets you specify a pulse cycle time in seconds.
The default value is 10 seconds.
l 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.
l [Raise] Output Desc (RAISEDESC) - Lets you specify a description of up to
15 characters for the raise output.
l [Raise] Overall Gain (KR) - Lets you specify an overall gain for the raise
pulse generation. The default value is 1.
l [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.
l [Raise] Stiction Compensation (STICTIONR) - Lets you specify a stiction
compensation in seconds for raising the final control element. The default
value is 0.
l [Raise] Backlash Compensation (BACKLASHR) - Lets you specify a
backlash compensation when raising the final control element. The
default value is 0.
l [Raise] Min. Pulse Time (MINPULSER) - Lets you specify the minimum
pulse time in seconds for the raise pulses. The default value is 0.
l [Raise] Max. Pulse Time (MAXPULSER) - Lets you specify the maximum
pulse time in seconds for the raise pulses. The default value is 60.
l [Raise] Error Deadband (ERRORDBR) - Lets you specify the error
deadband in percent for the raise pulses.
l Safe Output Command (SAFEOPCMD) - Lets you select the output mode
- 523 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
to shed to for Bad control condition. The default selection is Idle.
l Manual Pulse Time (MANPULSETIME) - Lets you specify the pulse time in
seconds to be used in Manual mode. The default value is 1.
l No Command (PULSECMDTEXT[0]) - Lets you specify a text description
for the no command condition. The default text is Idle.
l Low Command (PULSECMDTEXT[1] - Lets you specify a text description
for the Raise Command condition. The default text is Raise.
l Raise Command (PULSECMDTEXT[2]) - Lets you specify a text
description for the Low Command condition. The default text is Low.
l [Lower] Output Desc (LOWERDESC) - Lets you specify a description of up
to 15 characters for the lower output.
l [Lower] Overall Gain (KL) - Lets you specify an overall gain for the lower
pulse generation. The default value is 1.
l [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.
l [Lower] Stiction Compensation (STICTIONL) - Lets you specify a stiction
compensation in seconds for lowering the final control element. The
default value is 0.
l [Lower] Backlash Compensation (BACKLASHL) - Lets you specify a
backlash compensation when lowering the final control element. The
default value is 0.
l [Lower] Min. Pulse Time (MINPULSEL) - Lets you specify the minimum
pulse time in seconds for the lower pulses. The default value is 0.
l [Lower] Max. Pulse Time (MAXPULSEL) - Lets you specify the maximum
pulse time in seconds for the lower pulses. The default value is 60.
l [Lower] Error Deadband (ERRORDBL) - Lets you specify the error
deadband in percent for the lower pulses.
SetPoint l SP (SP) - Lets you specify an initial set point value. The default value is 0.
l 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.
l 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.
l 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.
l 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.
- 524 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l 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).
l 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.
l 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.
l 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.
l 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 l 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:
l Deviation High (DEVHIALM.FL)
l Deviation Low (DEVLOALM.FL)
l Advisory Deviation (ADVDEVALM.FL)
l Safety Interlock (SIALM.FL)
l Bad Control (BADCTLALM.FL)
- 525 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l NONE - Alarm is neither reported nor annunciated.
l JOURNAL - Alarm is logged but it does not appear on the Alarm
Summary display.
l LOW, HIGH, URGENT - Alarm is annunciated and appears on
the Alarm Summary display.
l 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.
l 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.
l 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, 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.
l 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 l 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:
l None
l ONESHOT
l SEMICONT
l CONTRTN
l CONT
l 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
- 526 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
(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:
l NONE - No changes.
l MAN - Set MODEREQ = MANUAL.
l AUTO - Set MODEREQ = AUTOMATIC.
l CAS - Set MODEREQ = CASCADE.
l FIXEDOP - Set OPREQ = Configured Value (Not applicable to
this block).
l HOLDPV - Set SPREQ = PV.
l FIXED SP - Set SPREQ = Configured Value and SPRATEREQ =
NaN.
l RAMPEDSP - Set SPTVREQ = Configured Value and
SPRATEREQ = Configured Rate.
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 Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences 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
l Function-POSPROP block
l Operating modes and mode handling-POSPROP block
l Required inputs-POSPROP block
l Input ranges and limits-POSPROP block
l Output-POSPROP block
l Initializable inputs and outputs-POSPROP block
l Output ranges-POSPROP block
l Set Point Ramping-POSPROP block
l Timeout monitoring-POSPROP block
- 527 -
Chapter 19 - Regulatory Control
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.
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.
Figure 19.11 Example of Position Proportional loop for controlling valve position through pulse length
or pulse count function.
- 528 -
Chapter 19 - Regulatory Control
l AUTO (AUTOmatic)
o 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.
l CAS (CAScade)
o 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.
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.
- 529 -
Chapter 19 - Regulatory Control
l You must specify a PV engineering unit range through the configurable PVEUHI and PVEULO
parameters.
o PVEUHI and PVEULO define the full range of PV in engineering units.
o PVEUHI represents the 100% of full scale value.
o PVEULO represents the 0% of full scale value.
l 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.
l SPHILM and SPLOLM define set point operating limits in engineering units.
o 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.
l SP contains set point value in engineering units and SPP contains the value in percent.
o If Mode is AUTOmatic, the operator or a user program may store to either SP or SPP.
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 RAISETIME or LOWERTIME 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 PULSETIME output to
these parameters.)
- 530 -
Chapter 19 - Regulatory Control
(Note that the POSPROP block does not use these common regulatory control block range and
limit parameters: CVEUHI, CVEULO, OPHILM, OPLOLM, OPEXHILM, and OPEXLOLM.)
- 531 -
Chapter 19 - Regulatory Control
Parameter Description
Normal Ramp Rate Normal ramp rate value in engineering units that you enter. The value can
(SPTVNORMRATE) 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:
l If SPTVNORMRATE is a value other than zero or NaN:
SPTVRATE = SPTVNORMRATE
SPTVTIME = |(SPTV - SP)| / SPTVRATE
l Otherwise,:
SPTVRATE = NaN
SPTVTIME = 0 (That is, do a step change.)
Max. Ramp Lets you specify a maximum deviation in engineering units per minute
Deviation allowed between PV and SP during ramping. The value can be NaN or
(SPTVDEVMAX) greater than zero. If value is NaN, it means no ramp deviation checking is
done.
If the maximum ramp deviation value is other than NaN, SP ramping stops
when the absolute value of the deviation (|PV - SP|) exceeds the maximum
deviation.
And also SP Ramping will pause/stops when the calculated SP increment
would cause the SP to exceed the deviation limit, the SP is paused at the
current value, which may be less than the deviation limit value.
The deviation flag (SPTVDEVFL) is set, and SP ramping state (SPTVSTATE)
remains in Run. Ramping resumes as soon as the absolute value of the
deviation returns within the maximum deviation limit. This also resets the
deviation flag (SPTVDEVFL).
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.
- 532 -
Chapter 19 - Regulatory Control
Parameter Description
SPTV SP target value that you enter. You can only set SPTV when the SPTVOPT is
Enabled, the SPTVSTATE is Off or Preset, and the block's mode is Auto or Manual.
When you set SPTV with the block's Control Module active, this occurs:
l The block calculates a ramp time (SPTVTIME) .
l The SPTVSTATE goes to Preset.
l 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:
l If you specify a ramp time (SPTVTIME) value other than zero:
SPTVRATE = |(SPTV - SP)| / SPTVTIME
Otherwise:
SPTVRATE = NaN
l 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.
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:
l An “R” modifier appears next to the SP value on the PID detail display in
Station.
l SP begins to ramp toward SPTV and SPTVTIME decreases.
When SPTVTIME reaches zero, SP equals SPTV and the SPTVSTATE goes to Off.
Figure 19.12 PID block with SP ramping parameters configured for monitoring.
- 533 -
Chapter 19 - Regulatory Control
The following table includes descriptions of the callouts in the figure above.
Callout Description
1 Block's mode must be Auto and SPTVSTATE must be Preset, before you can start SP
ramping by setting SPTVSTATE to Run with SPTV set to desired value.
3 You can only set a value for SPTV and SPTVTIME, when:
l SPTVSTATE is Off or Preset, and
l Mode is Auto or Manual.
ATTENTION
l When SP ramping is Enabled, the SPTVSTATE must be Off before you can make
changes to the SP limits (SPHILM and SPLOLM).
l 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.
- 534 -
Chapter 19 - Regulatory Control
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:
l Changes the mode back to CAScade.
l 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.
- 535 -
Chapter 19 - Regulatory Control
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.
l The PULSETIME output is set to either the RAISETIME or -LOWERTIME, when either
RAISETIME or LOWERTIME is non-zero.
- 536 -
Chapter 19 - Regulatory Control
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.
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.
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:
- 537 -
Chapter 19 - Regulatory Control
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.
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.
- 538 -
Chapter 19 - Regulatory Control
The CV is NaN.
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).
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).
NORMAL HI HI
NORMAL LO LO
HI NORMAL HI
HI HI HI
- 539 -
Chapter 19 - Regulatory Control
HI HILO HILO
LO NORMAL LO
LO HI HILO
LO LO LO
LO HILO HILO
HILO HI HILO
HILO LO HILO
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.
- 540 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l 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.
l 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.
l 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.
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 Lets you select the available parameters that you want to appear on the face
Parameters of the function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face
Parameters of the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences 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
l Function-PULSECOUNT block
l Required inputs-PULSECOUNT block
l Output-PULSECOUNT block
l Initializable inputs and outputs-PULSECOUNT block
l PULSECOUNT parameters
- 541 -
Chapter 19 - Regulatory Control
l The + PULSETIME or -PULSETIME come from the POSPROP block at the beginning of a
control interval.
l The control interval is a property of the connected POSPROP block.
l The individual pulses are generated in relation to the configured POPERIOD. The number of
pulses is determined as follows: Pulse Count = PULSETIME / POPERIOD
l 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.
- 542 -
Chapter 19 - Regulatory Control
l 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.
l 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.
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.
- 543 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l 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.
l 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.
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 Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences 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
l Function-PULSELENGTH block
l Required inputs-PULSELENGTH block
l Output-PULSELENGTH block
l Initializable inputs and outputs-PULSELENGTH block
l PULSELENGTH parameters
- 544 -
Chapter 19 - Regulatory Control
following figure has a configured Direction Change Delay (PDELAYDIRCHG) of Zero (0).
- 545 -
Chapter 19 - Regulatory Control
l 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.
- 546 -
Chapter 19 - Regulatory Control
The RAMPSOAK block has one analog input identified as a process variable (PV). The block
monitors the PV value and guarantees that its output (OP) will not deviate from the input (PV) by
more than the user configured limits.
With R, you can configure the on-delay time, off-delay time, deadband value, and deadband unit
for the individual alarms. For example, you can use the following parameters to configure the on-
delay time, off-delay time, deadband values, and deadband units for the OPHIALM parameter.
l OPHIALM.TM
l OPHIALM.TMO
l OPHIALM.DB
l OPHIALM.DBU
Each RAMPSOAK block supports the following user configurable attributes. The following table lists
the given name of the “Tab” in the parameter configuration form and then briefly describes the
attributes associated with that Tab. This data is only provided as a quick document reference, since
this same information is included in the on-line context sensitive Help.
- 547 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l Description (DESC) - Block descriptor of up to 132 characters long.
l 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.
l 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.
l 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.
l 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).
l 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.
l 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.
l 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
“runtim” 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.)
l External request for MODE switching.
l Safety interlock request.
l 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.
l 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.
l 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
- 548 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
(unchecked).
l 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).
l 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
l 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 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.)
l 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.
l 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.
l 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 l Profile ID - List box shows the configured profiles. The New, Copy, and
Delete buttons let you manipulate profiles as desired.
l 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.
l 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.
l Max Hi Soak Dev (MAXHISOAKDEV[n] - Lets you specify a desired
maximum high 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 high soak value
checking is done.
l 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.
l Starting OP Value (STARTOP[n]) - Lets you specify a desired starting
output (OP) value for each profile. The default value is 0.
l Starting Segment ID (STARTSEG[n]) - Lets you specify the starting
- 549 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
segment for each profile. The ramp segments have odd numbers and the
soak segments have even numbers. The default value is 1.
l 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.
l 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.
l Even ID - Lets you configure up to 16 event flags (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.
Profile Graph l Graph - Shows you a graphic representation of the configured set point
versus time profile.
l Profile ID - List box shows configured profiles that you can select for
display in the graph.
l No. of Segments - Number of segments in selected profile.
l Target Profile Time (TOTALTIME[n]) - Total time in minutes to complete
the selected profile.
l 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 l Graph - Shows you a graphic representation of the configured set point
Graph versus time profile with real time data when profile is running in CB
Monitoring tab.
l Mode (MODE) - Shows current mode selection and lets you change the
mode of running profile in CB Monitoring tab.
l Current Profile ID (CURPROFILEID) - Shows number of profile currently
running.
l No. of Segments - Shows the total number of segments in the current
profile.
l Current Segment ID (CURSEGID) - Shows the number of the segment
currently being executed in the selected profile.
l Total Elapsed Time (TOTELAPSEDTM) - Shows the total elapsed time for
current profile execution. It includes time for stopped timers due to
deviation exceeding limits.
l Net Elapsed Time (NETELAPSEDTM) - Shows the net elapsed time for
- 550 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
current profile execution. It does not include the time for stopped timers
due to deviation exceeding limits.
l Rem Soak Time (REMSOAKTIME) - Shows the remaining soak time for the
current soak segment.
l Soak Duration - Shows the duration of the current soak segment.
l 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 l 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.)
l 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.)
l 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 through
Monitoring mode after the configuration is loaded in the Controller.)
l 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.)
l 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
slowdown 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.
l 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
- 551 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
applied for a function block that is in the MANual mode. The default value
is 0, which means no change limiting is applied.
l 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.
l 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.
l 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 l 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:
l OP High (OPHIALM.FL)
l OP Low (OPLOALM.FL)
l Deviation High (DEVHIALM.FL)
l Deviation Low (DEVLOALM.FL)
l Safety Interlock (SIALM.FL)
l 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.
- 552 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l Deadband Value (ALMDB/xxxxALM.DB) - Defines the minimum value that
needs to be added to or subtracted from trip point before reporting an
RTN. By specifying a deadband value, you can prevent the nuisance
alarms due to noise at values near the trip point. The default value is 1.
For a high alarm, RTN is reported only when the OP value is less than the
trip point - deadband value. For a low alarm, RTN is reported only when
the OP value is more than the trip point + deadband value.
Prior to R410, once the deadband value was configured, this value was
loaded to the individual alarm parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM was loaded. If you configured the individual
alarm parameters as Monitoring Parameters for the block, you could
change the individual alarm value while monitoring the loaded block in
CB.
With R410, the deadband value can be individually configured for each
alarm. For example, you can configure OPHIALM.DB as 5 and
OPLOALM.DB as 3. However, if you are migrating from pre-R410 to later
releases, refer to Impact of migration on alarm attributes.
l Deadband Time (xxxxALM.TM) - Defines the duration in seconds during
which a process alarm reporting is suppressed. This helps in preventing
the nuisance alarms from being reported repeatedly during the process
upset and improves the efficiency of the operator. Once you configure
this value for an alarm, the alarm is reported on the Station only if the
alarm condition continues to exist even after this value expires. The
default time is 0; that is the alarm is reported as soon as the alarm
condition occurs.
Prior to R410, once configured, this value was loaded to the individual
alarm parameters (for example, OPHIALM.TM and OPLOALM.TM) when
the CM was loaded. If you configured the individual alarm parameters as
Monitoring parameters for the block, you could change the individual
alarm value while monitoring the loaded block in CB.
With R410, the deadband time can be individually configured for each
alarm. For example, you can configure OPHIALM.TM as 5 seconds and
OPLOALM.TM as 3 seconds. However, if you are migrating from pre-
R410 to later releases, refer to Impact of migration on alarm attributes.
l Deadband Units (ALMDBU/xxxxALM.DBU) - Defines the unit for the
deadband value - percent or engineering units. The default value is
percent.
Prior to R410, once configured, this value was loaded to the individual
alarm parameters (for example, OPHIALM.DBU and OPLOALM.DBU)
when the CM was loaded. If you configured the individual alarm
parameters as Monitoring parameters for the block, you could change the
individual alarm value while monitoring the loaded block in CB.
With R410, you cannot individually configure the deadband unit for the
RAMPSOAK block. If you configure the deadband unit as “EU or Percent”
for an alarm, this configuration is identical for the all other alarms in the
RAMPSOAK block. However, if you are migrating from pre-R410 to later
releases, refer to Impact of migration on alarm attributes.
You must configure identical deadband units for all alarms in the RAMPSOAK
block.
l 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:
l Enable - An alarm is notified in the alarm summary whenever a
- 553 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
mode shed happens in the event of an IO communication loss.
The alarm returns to normal state after you revert the mode
setting manually.
l Disable - An alarm is not notified whenever a mode shed
happens in the event of an IO communication loss.
This parameter is available for configuration only if the Enable Bad Output
Connection Option is enabled.
l Off-delay Time (xxxxALM.TMO) - Defines the duration in seconds during
which an RTN reporting is suppressed even though the alarm condition
does not exist. The RTN is reported on the Station only after this time
expires and the alarm condition has returned to normal. The default time
is 0; that is RTN is reported as soon as the alarm condition returns to
normal. If a deadband value is also configured, the RTN is reported only
when the OP value is less than the trip point - deadband for the
configured Off-delay time. However, if you are migrating from pre-R410
to later releases, the alarm off-delay time will be set as default value (0).
SCM l 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:
l None
l ONESHOT
l SEMICONT
l CONTRTN
l CONT
l 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:
l NONE - No changes.
l MAN - Set MODEREQ = MANUAL.
l AUTO - Set MODEREQ = AUTOMATIC.
l CAS - Set MODEREQ = CASCADE.
l FIXEDOP - Set OPREQ = Configured Value.
l HOLDPV - Set SPREQ = PV. (Not applicable for RAMPSOAK
block)
l FIXED SP - Set SPREQ = Configured Value and SPRATEREQ =
NaN. (Not applicable for RAMPSOAK block)
l RAMPEDSP - Set SPTVREQ = Configured Value and
SPRATEREQ = Configured Rate. (Not applicable for RAMPSOAK
block)
- 554 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l 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 Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences 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
l Function-RAMPSOAK block
l Required inputs-RAMPSOAK block
l Input ranges and limits-RAMPSOAK block
l Initializable outputs-RAMPSOAK block
l Output ranges and limits-RAMPSOAK block
l Mode handling-RAMPSOAK block
l Hold command-RAMPSOAK block
l CEE idle or Control Module inactivate command-RAMPSOAK block
l Profile statistics-RAMPSOAK block
l Guaranteed ramp rate-RAMPSOAK block
l Guaranteed soak time-RAMPSOAK block
l Event timer functions-RAMPSOAK block
l Control initialization-RAMPSOAK block
l Override feedback processing-RAMPSOAK block
l Output Indication Function-RAMPSOAK block
l Windup processing-RAMPSOAK block
l Anti-Reset Windup Status-RAMPSOAK block
l RAMPSOAK parameters
- 555 -
Chapter 19 - Regulatory Control
The RAMPSOAK block usually feeds its output (OP) to the set point of a PID block. The PID block
uses the PID algorithm to control a process variable (PV) according to the set point versus time
profile OP. The PV input to the RAMPSOAK block is normally the same PV input used for the PID
block.
The following figure shows a simple functional diagram of a PID loop with its set point driven by the
output of a RAMPSOAK block according to the configured ramp and soak segments.
Table 19.16 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.
l Calculates its output based on whether the current segment is a ramp or a soak.
o 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]).
o 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.
l 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].
- 556 -
Chapter 19 - Regulatory Control
l You must specify a PV engineering unit range, PVEUHI and PVEULO. The default range is 0 to
100.
o PVEUHI and PVEULO define the full range of PV in engineering units.
o PVEUHI represents the 100% of full scale value.
o PVEULO represents the 0% of full scale value.
l 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.
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.
l OP = Calculated output, in percent.
l OPEU = Calculated output, in engineering units.
You may create a connection to OP or OPEU but not both. Therefore, this block may have only one
secondary. If you do not create a connection to OP or OPEU, then the block does not have a
secondary. Alternately, if you connect OP or OPEU to a non-initializable input, then this block does
not have a secondary. (Note that the default OP connection pin is exposed on the blocks and the
implicit/hidden connection function automatically makes the appropriate value/status parameter
(OPX/OPEUX) connection when required. For example, if you connect the output from a
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.)
- 557 -
Chapter 19 - Regulatory Control
l 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.
o 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.
l 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.
o The operator is prevented from storing an OP value that exceeds these limits.
(Note that the RAMPSOAK block does not apply a floating bias to the output.)
ATTENTION
You must select MANual as the configuration setting for the MODE parameter on the
RAMPSOAK block's configuration form in the Control Builder Project tree. Control Builder
generates an error if you try to load a RAMPSOAK block with a MODE configuration of
AUTOmatic to the Controller. The MODE of the RAMPSOAK block must be MANual after it is
loaded to the Controller.
l 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.
l 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
- 558 -
Chapter 19 - Regulatory Control
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.
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.)
- 559 -
Chapter 19 - Regulatory Control
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.)
- 560 -
Chapter 19 - Regulatory Control
1 The RAMPSOAK block does not support the Reverse option selection.
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.
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.
- 561 -
Chapter 19 - Regulatory Control
ARWOP computation
The ARWOP indicates if the output (OP) can be raised or lowered. The PID-type function blocks use
ARWOP to restrict integral control. When ARWOP contains a value other than Normal, the PID
block stops integral control in the windup direction. Integral control continues in the other
direction, as does proportional and derivative control. But, windup status has no impact on
proportional and derivative control.
If a function block has a secondary, it fetches the secondary's windup status and recomputes its
ARWOP. The conditions within the function block, such as output being at its high limit, also affect
the ARWOP. The ARWOP is computed as follows, assuming the block has only one output or that it
is not a FANOUT block.
A secondary exists but this block cannot fetch secondary data from it
(communications or configuration error).
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.
The CV is NaN
- 562 -
Chapter 19 - Regulatory Control
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)
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)
NORMAL HI HI
NORMAL LO LO
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 HI HILO
- 563 -
Chapter 19 - Regulatory Control
With R410, you can configure the on-delay time, off-delay time, deadband value, and deadband
unit for the individual alarms. For example, you can use the following parameters to configure the
on-delay time, off-delay time, deadband values, and deadband units for the OPHIALM parameter.
l OPHIALM.TM
l OPHIALM.TMO
l OPHIALM.DB
l OPHIALM.DBU
The following parameters can be used for configuring the on-delay time and off-delay time for
BADCTL alarms.
l BADCTLALM.TM
l BADCTLALM.TMO
Each RATIOBIAS block supports the following user configurable attributes. The following table lists
the given name of the “Ta” in the parameter configuration form and then briefly describes the
attributes associated with that Tab. This data is only provided as a quick document reference, since
this same information is included in the on-line context sensitive Help.
- 564 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l Description (DESC) - Block descriptor of up to 132 characters long.
l 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.
l 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.
l 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.
l 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.
l 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).
l Ratio High Limit (RTHILM) - Lets you specify the high ratio limit value in
engineering units. The default value is 100.
l Ratio Low Limit (RTLOLM) - Lets you specify the low ratio limit value in
engineering units. The default value is 0.001.
l 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.
l 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.
l 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
“runtim” based on current conditions. MODE processing checks for the
following conditions, and changes the block's MODE as appropriate.
l External request for MODE switching.
l Safety interlock request.
l 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.
l Permit Operator Mode Changes (MODEPERM) - Lets you specify if
- 565 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
operators are permitted to make MODE changes or not. The default is
Enabled (checked). A store to MODE does not change the NORMMODE.
l 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).
l 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).
l 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).
l 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.
l 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.
l 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.
l 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.
l 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.
l 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.
Output l 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%.
l Low Limit (%) (OPLOLM) - Lets you specify the output low limit as a
- 566 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
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%.
l 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%.
l 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%.
l 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
slowdown 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.
l 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.
l 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. ‘
l 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.
l 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 l 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).
- 567 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
The types are:
l Safety Interlock (SIALM.FL)
l Bad Control (BADCTLALM.FL)
l OP High (OPHIALM.FL)
l OP Low (OPLOALM.FL)
l 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.
l Deadband Value (ALMDB/xxxxALM.DB) - Defines the minimum value that
needs to be added to or subtracted from the trip point before reporting an
RTN. By specifying a deadband value, you can prevent the nuisance
alarms due to noise at values near the trip point. The default value is 1.
For a high alarm, RTN is reported only when the OP value is less than the
trip point - deadband value. For a low alarm, RTN is reported only when
the OP value is more than the trip point + deadband value.
Prior to R410, once the deadband value was configured, this value was
loaded to the individual alarm parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM was loaded. If you configured the individual
alarm parameters as Monitoring Parameters for the block, you could
change the individual alarm value while monitoring the loaded block in
CB.
With R410, the deadband value can be individually configured for each
alarm. For example, you can configure OPHIALM.DB as 5 and
OPLOALM.DB as 3. However, if you are migrating from pre-R410 to later
releases, refer to Impact of migration on alarm attributes.
l Deadband Time (xxxxALM.TM) - Defines the duration in seconds during
which a process alarm reporting is suppressed. This helps in preventing
the nuisance alarms from being reported repeatedly during the process
upset and improves the efficiency of the operator. Once you configure
this value for an alarm, the alarm is reported on the Station only if the
alarm condition continues to exist even after this value expires. The
- 568 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
default time is 0; that is the alarm is reported as soon as the alarm
condition occurs.
Prior to R410, once configured, this value was loaded to the individual
alarm parameters (for example, OPHIALM.TM and OPLOALM.TM) when
the CM was loaded. If you configured the individual alarm parameters as
Monitoring parameters for the block, you could change the individual
alarm value while monitoring the loaded block in CB.
With R410, the deadband time can be individually configured for each
alarm. For example, you can configure OPHIALM.TM as 5 seconds and
OPLOALM.TM as 3 seconds. However, if you are migrating from pre-
R410 to later releases, refer to Impact of migration on alarm attributes.
l Deadband Units (ALMDBU/xxxxALM.DBU) - Defines the unit for the
deadband value - percent or engineering units. The default value is
percent.
Prior to R410, once configured, this value was loaded to the individual
alarm parameters (for example, OPHIALM.DBU and OPLOALM.DBU)
when the CM was loaded. If you configured the individual alarm
parameters as Monitoring parameters for the block, you could change the
individual alarm value while monitoring the loaded block in CB.
With R410, you cannot individually configure the deadband unit for the
RATIOBIAS block. If you configure the deadband unit as “EU or Percent”
for an alarm, this configuration is identical for the all other alarms in the
RATIOBIAS block. However, if you are migrating from pre-R410 to later
releases, refer to Impact of migration on alarm attributes.
Note: You must configure identical deadband units for all alarms in the
RATIOBIAS block.
l 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:
l 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.
l 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 l 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:
- 569 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l None
l ONESHOT
l SEMICONT
l CONTRTN
l CONT
l 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:
l NONE - No changes.
l MAN - Set MODEREQ = MANUAL.
l AUTO - Set MODEREQ = AUTOMATIC.
l CAS - Set MODEREQ = CASCADE.
l FIXEDOP - Set OPREQ = Configured Value.
l HOLDPV - Set SPREQ = PV (not applicable to this block).
l FIXED SP - Set SPREQ = Configured Value and SPRATEREQ =
NaN (not applicable to this block).
l RAMPEDSP - Set SPTVREQ = Configured Value and
SPRATEREQ = Configured Rate (not applicable to this block).
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 Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences 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 blocksfor more
information
l Function-RATIOBIAS block
l Configuration example-RATIOBIAS block
l Operating modes and mode handling-RATIOBIAS block
- 570 -
Chapter 19 - Regulatory Control
- 571 -
Chapter 19 - Regulatory Control
The following table includes descriptions of the callouts in the figure above.
Callout Description
1 Use the PV parameter connection to carry data from the analog input to the other
block. The default PV connection is exposed, but the implicit/hidden connection
function automatically makes a connection to a value/status parameter (PVVALSTS)
when it is required.
2 Use the DATAACQ block to define input range values and provide alarm monitoring on
the analog input.
3 Use the RATIOBIAS block in cascade mode to accept X1 and RT primary inputs from
other blocks.
4 Use the REGCALC block output (OP) to provide the RT input based on assigning
expression 1 as its CV source. The default OP connection is exposed, but the
implicit/hidden connection function automatically makes a connection to a
value/status parameter (OPX/OPEUX) when it is required.
- 572 -
Chapter 19 - Regulatory Control
Callout Description
5 Use the PID block output (OP) to provide the X1 input. The default OP connection is
exposed, but the implicit/hidden connection function automatically makes a
connection to a value/status parameter (OPX/OPEUX) when it is required.
If Mode Then,
is . . .
Manual the output can be set by the operator or a user program. The X1 and RT inputs are
(MAN) ignored. The block continually initializes both primaries, while in this mode.
Automatic the X1 input comes from another function block and the RT input can be set by the
(AUTO) operator or a user program. The block continually initializes the RT primary, while in
this mode.
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.
l 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.
l The X1 input must come from another function block. You cannot set this value.
l 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.
- 573 -
Chapter 19 - Regulatory Control
l This block assumes X1 is within XEUHI and XEULO - it applies no range check
l 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.
o 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.
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.
l The RATIOBIAS block has the following initializable outputs:
o OP = calculated output in percent.
o OPEU = calculated output in engineering units.
You may create a connection to OP or OPEU but not both. Therefore, this block may have only one
secondary. If you do not create a connection to OP or OPEU, then the block does not have a
secondary. Alternately, if you connect OP or OPEU to a non-initializable input, then this block does
not have a secondary. (Note that the default OP connection pin is exposed on the blocks and the
implicit/hidden connection function automatically makes the appropriate value/status parameter
(OPX/OPEUX) connection when required. For example, if you connect the output from a
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.
- 574 -
Chapter 19 - Regulatory Control
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:
l CV = X1 * RT + OPBIAS.FIX + OPBIAS.FLOAT
(If the calculated INITVAL[2] value exceeds either the high or low ratio limit (RTHILM or
RTLOLM), it is clamped to the limit.)
l requests both primaries to initialize:
o INITREQ[1] = ON
o INITREQ[2] = ON
Where:
- 575 -
Chapter 19 - Regulatory Control
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.
- 576 -
Chapter 19 - Regulatory Control
l 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.)
o When the function block starts up (that is, goes Active).
o When the function block initializes (for example, the secondary requests initialization).
o When the mode changes to Auto or Cascade.
ATTENTION
When the function block goes Active or the Mode changes to Auto or Cascade, OPBIAS and
OPBIAS.FLOAT are recomputed.
l 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.
ATTENTION
When the Ratio Bias Option (RBOPTION) is set to FixedRatioBias, the OPBIAS.FIX value is
limited to a range between BSLOLM and BSHILM (-50.0 to 50.0, by default). If you enter
any values outside this range for OPBIAS.FIX, the following error appears
“RATIOBIASA.OPBIAS.FIX: Limit or Range Exceeded [EPKS_E_RangeLimitEr
(2L.101.2058)].”
l 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.
l 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:
o The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the new value.
o The floating bias (OPBIAS.FLOAT) is set to zero.
- 577 -
Chapter 19 - Regulatory Control
l 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.
o 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.
o 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)
o NaN:
When the OPBIAS.RATE is Not a Number (NaN), no OPBIAS.FLOAT is calculated. This
means a bump in the output will occur, if the primary does not accept this block's
initialization value.
If 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.
- 578 -
Chapter 19 - Regulatory Control
ATTENTION
If the input is from a connection in another controller in a peer-to-peer architecture, the
actual timeout time equals the configured TMOUTTIME plus the CDA timeout time. The CDA
timeout time equals four times the configured CEE subscription rate. For example, if the
CEE subscription rate is 100 milliseconds and the TMOUTTIME is 5 seconds, the actual
timeout time for the block is 4 times 100ms plus 5s or 5.4 seconds.
ATTENTION
You can use SECINITOPT to ignore override requests from the secondary.
- 579 -
Chapter 19 - Regulatory Control
ATTENTION
The OUTIND parameter has no affect on the block's control operation. The CTLACTN
parameter on the Algorithm tab still supports the output direction of the block, the OPTDIR
parameter on the Main tab for the AOCHANNEL block form applies the conversion of OP to
OPFINAL. You can manipulate the DIRECT/REVERSE selections for the OUTIND, CTLACTN,
and OPTDIR parameters to meet your process and operator needs.
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.
OPHIALM.PR and .SV, and Reverse of Actual OPHIALM.PR and .SV, and
OPLOALM.PR and .SV OPLOALM.PR and .SV
- 580 -
Chapter 19 - Regulatory Control
The user store of an OP related parameter is intercepted and reversed when OUTIND equals
REVERSE. For example, a store of OPHILM = 80 produces OPLOLM = 100 - 80, so the OPHILM
parameter get will then view OPHILM = 100 - 20.
ATTENTION
The swapping/reversal of values will not be done, if the block was loaded with REVERSE
OUTIND configured. The reversal of values will be done only on a subsequent change to the
OUTIND value, if appropriate.
For example: If a PID block is loaded with OPHILM = 95, OPLOLM = 10 and OUTIND as
REVERSE, the OPHILM and OPLOLM after load will still be 95 and 10, respectively.
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.
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 Experion high or low Output Alarms display shall track the
value of displayed output parameters. An OUTIND value of REVERSE, shall show the limit and
value subjected to reversal. For example, an OPHI alarm will have the displayed trip limit set to 100
- (output low limit).
If the OUTIND parameter setting is changed:
l from Direct, DirectDispInd, or ReverseDispInd to Reverse or
l from Reverse to Direct, DirectDispInd, or ReverseDispInd,
a return for the existing Output Alarm condition occurs and a new Output Alarm would be sent.
- 581 -
Chapter 19 - Regulatory Control
clamped at Hi HiLo Hi
its high limit
clamped at is Lo Lo HiLo
low limit
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; And ARWOP = Lo; And ARWOP = Hi;
then, ARWNET[2] =. . . then, ARWNET[2] =. . then, ARWNET[2] =. .
. .
not NORMAL Lo Hi
clamped
clamped at Hi HiLo Hi
its high
limit
clamped at Lo Lo HiLo
is low limit
- 582 -
Chapter 19 - Regulatory Control
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.
A secondary exists but this block cannot fetch secondary data from it
(communications or configuration error).
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.
- 583 -
Chapter 19 - Regulatory Control
The CV is NaN
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)
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)
NORMAL HI HI
NORMAL LO LO
HI NORMAL HI
HI HI HI
HI LO HILO
- 584 -
Chapter 19 - Regulatory Control
LO NORMAL LO
LO HI HILO
LO LO LO
LO HILO HILO
HILO HI HILO
HILO LO HILO
- 585 -
Chapter 19 - Regulatory Control
With R410, you can configure the on-delay time, off-delay time, deadband value, and deadband
unit for the individual alarms. For example, you can use the following parameters to configure the
on-delay time, off-delay time, deadband values, and deadband units for the OPHIALM parameter.
l OPHIALM.TM
l OPHIALM.TMO
l OPHIALM.DB
l OPHIALM.DBU
The following parameters can be used for configuring the on-delay time and off-delay time for the
BADCTLALM alarm.
l BADCTLALM.TM
l BADCTLALM.TMO
Each RATIOCTL block supports the following user configurable attributes. The following table lists
the given name of the “Tab” in the parameter configuration form and then briefly describes the
attributes associated with that Tab. This data is only provided as a quick document reference, since
this same information is included in the on-line context sensitive Help.
- 586 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l Item Name - The name of the Entity that the Control Module containing
the block will be associated with in the Enterprise Model Builder
hierarchy.
l Description (DESC) - Block descriptor of up to 132 characters long.
l 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.
l 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.
l 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.
l 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.
l 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
“runtim” based on current conditions. MODE processing checks for the
following conditions, and changes the block's MODE as appropriate.
l External request for MODE switching.
l Safety interlock request.
l 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.
l 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.
l 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).
l 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).
l Enable Secondary Initialization Option (SECINITOPT) - Lets you specify if
- 587 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
the block is to ignore initialization and override requests from the
secondary or not. The default selection is Enabled (checked, do not
ignore).
l 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.
l 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.
l 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.
l 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 l 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-
RATIOCTL block section for this block for details. The default selection is
EQA.
l 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.
l 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).
l X1 Input Bias (X1BIAS) - Lets you specify a bias value for the X1 input.
l X2 Input Bias (X2BIAS) - Lets you specify a bias value for the X2 input.
l X1 Scale Factor (K1) - Lets you specify a scaling factor for the X1 input.
l X2 Scale Factor (K2) - Lets you specify a scaling factor for the X2 input.
l 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.
l 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 l SP (SP) - Lets you specify an initial set point value. The default value is 0.
l 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.
l 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.
l 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
- 588 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
AUTOmatic, BCAScade, CAScade, MANual, NONE, and NORMAL. The
default selection is MANual.
l 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.
l 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 “advisor” SP value. The default selection is
unchecked (Disabled).
l 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.
l 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.
l 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.
l 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.
l Enable SP Push: (PUSHSP) - Lets you specify that the RATIOCTL SP will
be pushed from an Inter Cluster Gateway when the RATIOCTL is the
secondary of a cascade that extends over two Experion clusters.
Output l 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%.
l 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%.
l Extended High Limit (%) (OPEXHILM) - Lets you specify the output
- 589 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
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%.
l 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%.
l 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
slowdown 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.
l 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.
l 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. ‘
l 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.
l 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).
l 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.
l 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.
l Process Variable (PV) - Lets you view the actual ratio between inputs X1
and X2.
- 590 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l OP Tolerance Limit in % - Lets you specify a tolerance limit in percent for
the OP output.
Alarms l 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:
l Safety Interlock (SIALM.FL)
l Bad Control (BADCTLALM.FL)
l OP High (OPHIALM.FL)
l OP Low (OPLOALM.FL)
l 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.
l Deadband Value (ALMDB/xxxxALM.DB) - Defines the minimum value that
needs to be added to or subtracted from the trip point before reporting an
RTN. By specifying a deadband value, you can prevent nuisance alarms
due to noise at values near the trip point. The default value is 1. For a
high alarm, RTN is reported only when the OP value is less than the trip
point - deadband value. For a low alarm, RTN is reported only when the
OP value is more than the trip point + deadband value.
Prior to R500.1, once the deadband value was configured, this value was
loaded to the individual alarm parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM was loaded. If you configured the individual
alarm parameters as Monitoring Parameters for the block, you could
change the individual alarm value while monitoring the loaded block in
CB.
l With R410, the deadband value can be individually configured for each
alarm. For example, you can configure OPHIALM.DB as 5 and
OPLOALM.DB as 3. However, if you are migrating from pre-R500.1 to
later releases, refer to Impact of migration on alarm attributes.
- 591 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l Deadband Time (xxxxALM.TM) - Defines the duration in seconds during
which a process alarm reporting is suppressed. This helps in preventing
the nuisance alarms from being reported repeatedly during the process
upset and improves the efficiency of the operator. Once you configure
this value for an alarm, the alarm is reported on the Station only if the
alarm condition continues to exist even after this value expires. The
default time is 0; that is the alarm is reported as soon as the alarm
condition occurs.
Prior to R500.1, once configured, this value was loaded to the individual
alarm parameters (for example, OPHIALM.TM and OPLOALM.TM) when
the CM was loaded. If you configured the individual alarm parameters as
Monitoring parameters for the block, you could change the individual
alarm value while monitoring the loaded block in CB.
l With R410, the deadband time can be individually configured for each
alarm. For example, you can configure OPHIALM.TM as 5 seconds and
OPLOALM.TM as 3 seconds. However, if you are migrating from pre-
R500.1 to later releases, refer to Impact of migration on alarm attributes.
l Deadband Units (ALMDBU/xxxxALM.DBU) - Defines the unit for the
deadband value - percent or engineering units. The default value is
percent. Prior to R500.1, once configured, this value was loaded to the
individual alarm parameters (for example, OPHIALM.DBU and
OPLOALM.DBU) when the CM was loaded. If you configured the
individual alarm parameters as Monitoring parameters for the block, you
could change the individual alarm value while monitoring the loaded
block in CB.
With R410, you cannot individually configure the deadband unit for the
RATIOCTL block. If you configure the deadband unit as “EU or Percent”
for an alarm, this configuration is identical for the all other alarms in the
RATIOCTL block. However, if you are migrating from pre-R500.1 to later
releases, refer to Impact of migration on alarm attributes.
Note: You must configure identical deadband units for all alarms in the
RATIOCTL block.
l 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:
l 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.
l 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 l SCM Mode Tracking Option (MODETRACK) - Lets you select the desired
- 592 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
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:
l None
l ONESHOT
l SEMICONT
l CONTRTN
l CONT
l 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:
l NONE - No changes.
l MAN - Set MODEREQ = MANUAL.
l AUTO - Set MODEREQ = AUTOMATIC.
l CAS - Set MODEREQ = CASCADE.
l FIXEDOP - Set OPREQ = Configured Value.
l HOLDPV - Set SPREQ = PV (not applicable to this block).
l FIXED SP - Set SPREQ = Configured Value and SPRATEREQ =
NaN (not applicable to this block).
l RAMPEDSP - Set SPTVREQ = Configured Value and
SPRATEREQ = Configured Rate (not applicable to this block).
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 Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
- 593 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Block Lets you change several block-viewing preferences including the color of the
Preferences 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
l Function-RATIOCTL block
l Configuration example-RATIOCTL block
l Operating modes and mode handling-RATIOCTL block
l Required inputs-RATIOCTL block
l Input ranges and limits-RATIOCTL block
l Initializable outputs-RATIOCTL block
l Output ranges and limits-RATIOCTL block
l Control initialization-RATIOCTL block
l Equations-RATIOCTL block
l Output bias-RATIOCTL block
l Timeout monitoring-RATIOCTL block
l Timeout processing-RATIOCTL block
l Override feedback processing-RATIOCTL block
l Output Indication Function-RATIOCTL block
l Windup handling-RATIOCTL block
l Windup processing-RATIOCTL block
l Anti-Reset Windup Status-RATIOCTL block
l Restart or point activation-RATIOCTL block
l Error handling-RATIOCTL block
l RATIOCTL parameters
- 594 -
Chapter 19 - Regulatory Control
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.
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.
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 water for each gallon of
juice concentrate. This algorithm helps to produce different concentrations of orange juice by
controlling the ratio set point.
- 595 -
Chapter 19 - Regulatory Control
If Mode Then,
is …
Manual the block does not compute OP; it maintains the user-specified OP value and
(MAN) ignores all input.
When MODE is changed to Man, the block:
l 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.
l 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 The function block derives OP and the initializable input (SP) may be stored by the
(AUTO) operator or a user program.
Cascade The function block fetches its intializable input (SP) from the primary, and calculates
(CAS) OP. The primary may be on-node or off.
l 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.
l The X1and X2 inputs must come from other function blocks. You cannot store to them.
l 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.
l You must specify X1 and X2 engineering unit range, XEUHI and XEULO.
o XEUHI and XEULO define the full range of the X inputs in engineering units.
o XEUHI represents the 100% of full scale value.
o XEULO represents the 0% of full scale value.
l This block assumes X inputs are within XEUHI and XEULO - it applies no range check
l 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.
- 596 -
Chapter 19 - Regulatory Control
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.
l The RATIOCTL block has the following initializable outputs:
o OP = calculated output in percent.
o OPEU = calculated output in engineering units.
You may create a connection to OP or OPEU but not both. Therefore, this block may have only one
secondary. If you do not create a connection to OP or OPEU, then the block does not have a
secondary. Alternately, if you connect OP or OPEU to a non-initializable input, then this block does
not have a secondary. (Note that the default OP connection pin is exposed on the blocks and the
implicit/hidden connection function automatically makes the appropriate value/status parameter
(OPX/OPEUX) connection when required. For example, if you connect the output from a
RATIOCTL block (RATIOCTL.OP) to the set point of a PID block (PIDA.SP), the implicit/hidden
connection is made to RATIOCTL.OPX to provide value/status data.)
ATTENTION
Be sure you use a FANOUT block to make multiple output connections. We recommend that
you do not make multiple connections from a single RATIOCTL output.
ATTENTION
This block gets the secondary's input range regardless of SECINITOPT. This means
regardless of whether the secondary's initialization and override data will be used.
The primary sets its output range (CVEUHI/CVEULO) to the SP range (SPEUHI/SPEULO) of the
secondary.
The RATIOCTL block monitors SP for time-out.
OPHILM and OPLOLM define the normal high and low limits for OP, as a percent of the CV range.
These are user-specified values.
OP will be clamped to these limits if the algorithm's calculated result (CV) exceeds them, or another
function block or user program attempts to store an OP value that exceeds them. However, the
operator may store an OP value that is outside these limits.
OPEXHILM and OPEXLOLM define the extended high and low limits for OP, as a percent of the CV
range. These are user-specified values.
The operator is prevented from storing an OP value that exceeds these limits.
- 597 -
Chapter 19 - Regulatory Control
l Builds an initialization request for its primary based on CTLEQN selected as follows:
If CTLEQN And, Initialization Request for Then, Initialization Value for the
Is… Primary Primary Is…
Is…
A On
B On
C On
D On
Where:
K1 = gain for X1
K2 = gain for X2
- 598 -
Chapter 19 - Regulatory Control
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:
Equation D - For this equation, actual ratio = (uncontrolled flow) / (controlled flow + uncontrolled
flow).
Then:
Where:
- 599 -
Chapter 19 - Regulatory Control
l OPBIAS is recomputed under the following conditions to avoid a bump in the output.
o When the function block starts up (that is, goes Active).
o When the function block initializes (for example, the secondary requests initialization).
o When the mode changes to Auto or Cascade.
ATTENTION
When the function block goes Active or the Mode changes to Auto or Cascade, OPBIAS and
OPBIAS.FLOAT are recomputed.
l 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.
l 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.
l 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:
o The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the new value.
o The floating bias (OPBIAS.FLOAT) is set to zero.
- 600 -
Chapter 19 - Regulatory Control
Where:
l 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.
l 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.
o 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.
o 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.
Where:
cycles_per_min = number of times the function block executes per minute (calculated)
l 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.
- 601 -
Chapter 19 - Regulatory Control
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.
l The RATIOCTL block only sets CASREQFL if the original mode was Cascade, the SP input
times-out, and TMOUTMODE = Auto.
l You may clear the CASREQFL but you cannot set it. This lets you disable the automatic return
to Cascade mode.
l If you change mode, the CASREQFL is cleared, which disables the return to Cascade mode.
ATTENTION
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:
l Does not initialize its CV
l Computes a feedback value for the SP primary depending on the CTLEQN selected as follows:
- 602 -
Chapter 19 - Regulatory Control
Where:
K1 = gain for X1
K2 = gain for X2
- 603 -
Chapter 19 - Regulatory Control
ATTENTION
The OUTIND parameter has no affect on the block's control operation. The CTLACTN
parameter on the Algorithm tab still supports the output direction of the block, the OPTDIR
parameter on the Main tab for the AOCHANNEL block form applies the conversion of OP to
OPFINAL. You can manipulate the DIRECT/REVERSE selections for the OUTIND, CTLACTN,
and OPTDIR parameters to meet your process and operator needs.
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.
OPHIALM.PR and .SV, and OPLOALM.PR Reverse of Actual OPHIALM.PR and .SV, and
and .SV OPLOALM.PR and .SV
OPHIALM.DB, .DBU, and .TM, and Reverse of Actual OPHIALM.DB and .DBU, and
OPLOALM.DB, .DBU, and .TM OPLOALM.DB and .DBU
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.
- 604 -
Chapter 19 - Regulatory Control
ATTENTION
The swapping/reversal of values will not be done, if the block was loaded with REVERSE
OUTIND configured. The reversal of values will be done only on a subsequent change to the
OUTIND value, if appropriate.
For example: If a PID block is loaded with OPHILM = 95, OPLOLM = 10 and OUTIND as
REVERSE, the OPHILM and OPLOLM after load will still be 95 and 10, respectively.
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.
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 Experion high or low Output Alarms display shall track the
value of displayed output parameters. An OUTIND value of REVERSE, shall show the limit and
value subjected to reversal. For example, an OPHI alarm will have the displayed trip limit set to 100
- (output low limit).
If the OUTIND parameter setting is changed:
l from Direct, DirectDispInd, or ReverseDispInd to Reverse or
l from Reverse to Direct, DirectDispInd, or ReverseDispInd,
a return for the existing Output Alarm condition occurs and a new Output Alarm would be sent.
- 605 -
Chapter 19 - Regulatory Control
clamped Hi HiLo Hi
at its high
limit
clamped Lo Lo HiLo
at is low
limit
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.
clamped at is Lo Lo HiLo
low limit
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.
- 606 -
Chapter 19 - Regulatory Control
ARWOP computation
The ARWOP indicates if the output (OP) can be raised or lowered. The PID-type function blocks use
ARWOP to restrict integral control. When ARWOP contains a value other than Normal, the PID
block stops integral control in the windup direction. Integral control continues in the other
direction, as does proportional and derivative control. But, windup status has no impact on
proportional and derivative control.
If a function block has a secondary, it fetches the secondary's windup status and recomputes its
ARWOP. The conditions within the function block, such as output being at its high limit, also affect
the ARWOP. The ARWOP is computed as follows, assuming the block has only one output or that it
is not a FANOUT block.
A secondary exists but this block cannot fetch secondary data from it
(communications or configuration error).
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.
The CV is NaN
- 607 -
Chapter 19 - Regulatory Control
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)
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)
NORMAL HI HI
NORMAL LO LO
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 HI HILO
- 608 -
Chapter 19 - Regulatory Control
- 609 -
Chapter 19 - Regulatory Control
With R410, you can configure the on-delay time, off-delay time, deadband value, and deadband
unit for the individual alarms. For example, you can use the following parameters to configure the
on-delay time, off-delay time, deadband values, and deadband units for the OPHIALM parameter.
l OPHIALM.TM
l OPHIALM.TMO
l OPHIALM.DB
l OPHIALM.DBU
The following parameters can be used for configuring the on-delay time and off-delay time for
the BADCTLALM alarm.
l BADCTLALM.TM
l BADCTLALM.TMO
Each REGCALC block supports the following user configurable attributes. The following table lists
the given name of the “Tab” in the parameter configuration form and then briefly describes the
attributes associated with that Tab. This data is only provided as a quick document reference, since
this same information is included in the on-line context sensitive Help.
- 610 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l Description (DESC) - Block descriptor of up to 132 characters long.
l 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.
l 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.
l 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.
l 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.
l 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.
l External request for MODE switching.
l Safety interlock request.
When an operator changes the mode (MODE), then Mode
Attribute (MODEATTR) is changed to OPERATOR automatically.
This allows single button access by the operator.
l 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.
l 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.
l 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).
l 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).
l Enable Secondary Initialization Option (SECINITOPT) - Lets you specify if
- 611 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
the block is to ignore initialization and override requests from the
secondary or not. The default selection is Enabled (checked, do not
ignore).
l 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.
l 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 l 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.
l 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..6]). The
default value is 0 (zero).
l 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.
l XK (XK[1..6]) - Lets you specify an individual gain value for each of the six
X inputs. The default value is 1.
l XB (XB[1..6]) - Lets you specify an individual bias value for each of the six
X inputs. The default value is 0.00, which means no bias is added.
Output l 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%.
l 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%.
l 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%.
- 612 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l 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%.
l 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
slowdown 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.
l 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.
l 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. ‘
l 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.
l 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.
l 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.
l 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.
l 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.
l CV (CVSRC) - Lets you assign an input or expression result as the source
for the CV. The default selection is NONE.
Note:Be aware that selecting NONE causes the CV value to default to NaN
and the block to generate a BadControl alarm.
- 613 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l CV Initialization (CVINITSRC) - Lets you assign an input or expression
result as the source of the CV initialization. The default selection is NONE.
Note: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.
l CV Override (CVORFBSRC) - Lets you assign an input or expression result
as the source of the CV during override. The default selection is NONE.
Note: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.
l 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.
l 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.
l If no source is assigned (NONE configured) and the block is
connected to an initializable input of a secondary block, this
block uses the corresponding value from the secondary
(SECDATAIN.INITSTS).
l 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.
Note: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.
- 614 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Note: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)
- 615 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
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). This
means that ORFBVALSRC can point to the same expression as
INITVALSRC.
Alarms l 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:
l Safety Interlock (SIALM.FL)
l Bad Control (BADCTLALM.FL)
l OP High (OPHIALM.FL)
l OP Low (OPLOALM.FL)
l 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.
l Deadband Value (ALMDB/xxxxALM.DB) - Defines the minimum value that
needs to be added to or subtracted from the trip point before reporting an
RTN. By specifying a deadband value, you can prevent the nuisance
alarms due to noise at values near the trip point. The default value is 1.
For a high alarm, RTN is reported only when the OP value is less than the
trip point - deadband value. For a low alarm, RTN is reported only when
the OP value is more than the trip point + deadband value.
Prior to R410, once the deadband value was configured, this value was
loaded to the individual alarm parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM was loaded. If you configured the individual
alarm parameters as Monitoring Parameters for the block, you could
change the individual alarm value while monitoring the loaded block in
CB.
With R410, the deadband value can be individually configured for each
- 616 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
alarm. For example, you can configure OPHIALM.DB as 5 and
OPLOALM.DB as 3. However, if you are migrating from pre-R410 to later
releases, refer to Impact of migration on alarm attributes.
l Deadband Time (xxxxALM.TM) - Defines the duration in seconds during
which a process alarm reporting is suppressed. This helps in preventing
the nuisance alarms from being reported repeatedly during the process
upset and improves the efficiency of the operator. Once you configure
this value for an alarm, the alarm is reported on the Station only if the
alarm condition continues to exist even after this value expires. The
default time is 0; that is the alarm is reported as soon as the alarm
condition occurs.
Prior to R410, once configured, this value was loaded to the individual
alarm parameters (for example, OPHIALM.TM and OPLOALM.TM) when
the CM was loaded. If you configured the individual alarm parameters as
Monitoring parameters for the block, you could change the individual
alarm value while monitoring the loaded block in CB.
With R410, the deadband time can be individually configured for each
alarm. For example, you can configure OPHIALM.TM as 5 seconds and
OPLOALM.TM as 3 seconds. However, if you are migrating from pre-
R410 to later releases, refer to Impact of migration on alarm attributes.
l Deadband Units (ALMDBU/xxxxALM.DBU) - Defines the unit for the
deadband value - percent or engineering units. The default value is
percent.
Prior to R410, once configured, this value was loaded to the individual
alarm parameters (for example, OPHIALM.DBU and OPLOALM.DBU)
when the CM was loaded. If you configured the individual alarm
parameters as Monitoring parameters for the block, you could change the
individual alarm value while monitoring the loaded block in CB.
With R410, you cannot individually configure the deadband unit for the
REGCALC block. If you configure the deadband unit as “EU or Percent”
for an alarm, this configuration is identical for the all other alarms in the
REGCALC block. However, if you are migrating from pre-R410 to later
releases, refer to Impact of migration on alarm attributes.
Note:You must configure identical deadband units for all alarms in the
REGCALC block.
l 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:
l 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.
This parameter is available for configuration only if the Enable
Bad Output Connection Option is enabled.
- 617 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
configured Off-delay time. However, if you are migrating from pre-R410
to later releases, the alarm off-delay time will be set as default value (0).
SCM l 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:
l None
l ONESHOT
l SEMICONT
l CONTRTN
l CONT
l 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:
l NONE - No changes.
l MAN - Set MODEREQ = MANUAL.
l AUTO - Set MODEREQ = AUTOMATIC (not applicable to this
block).
l CAS - Set MODEREQ = CASCADE.
l FIXEDOP - Set OPREQ = Configured Value.
l HOLDPV - Set SPREQ = PV (not applicable to this block).
l FIXED SP - Set SPREQ = Configured Value and SPRATEREQ =
NaN (not applicable to this block).
l RAMPEDSP - Set SPTVREQ = Configured Value and
SPRATEREQ = Configured Rate (not applicable to this block).
Expr# 1 to Expression (C[1..8]) - Lets you write up to eight desired expressions for custom
Expr# 8 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 Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Project tab in Control Builder.
- 618 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences 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
l Function-REGCALC block
l Operating modes and mode handling-REGCALC block
l Inputs-REGCALC block
l Input ranges and limits-REGCALC block
l Initializable outputs-REGCALC block
l Output ranges and limits-REGCALC block
l Assignable outputs-REGCALC block
l Output assignment rules-REGCALC block
l Control initialization-REGCALC block
l Output bias-REGCALC block
l Timeout monitoring-REGCALC block
l Timeout processing-REGCALC block
l Override feedback processing-REGCALC block
l Output Indication Function-REGCALC block
l Windup handling-REGCALC block
l Windup processing-REGCALC block
l Anti-Reset Windup Status-REGCALC block
l Expressions-REGCALC block
l Parameters in Expressions-REGCALC block
l Guidelines for Writing Expressions-REGCALC block
l String data support in expressions-REGCALC block
l Time support in expressions-REGCALC block
l REGCALC parameters
l Each expression can contain any valid combination of inputs, operators and functions; and
may perform arithmetic or logic operations.
l 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.
l 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.
- 619 -
Chapter 19 - Regulatory Control
If Mode is … Then,
Manual (MAN) the output can be set by the operator or a user program. The X1 input is
ignored.
The initialization request occurs when the MODE changes from CAScade to MANual, but not from
MANual to CAScade.
Since X[1] is an initializable input, the block can have one primary. There is one primary for each
initializable input.
l If this block has a primary, you must specify an X[1] engineering unit range, XEUHI and
XEULO. These only apply to initializable input.
o XEUHI and XEULO define the full range of X1 in engineering units.
o XEUHI represents the 100% of full scale value.
o XEULO represents the 0% of full scale value.
l 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.
- 620 -
Chapter 19 - Regulatory Control
You may create a connection to OP or OPEU but not both. Therefore, this block may have only one
secondary. If you do not create a connection to OP or OPEU, then the block does not have a
secondary. Alternately, if you connect OP or OPEU to a non-initializable input, then this block does
not have a secondary. (Note that the default OP connection pin is exposed on the blocks and the
implicit/hidden connection function automatically makes the appropriate value/status parameter
(OPX/OPEUX) connection when required.
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.
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.
- 621 -
Chapter 19 - Regulatory Control
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..6] - Inputs
XSTS[1..6] - Input Status
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.
l The following parameters are provided to the primary through this block's BACKCALC data.
- 622 -
Chapter 19 - Regulatory Control
o INITREQSRC
o INITVALSRC
o ORFBVALSRC
o ORFBSTSSRC
o 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.
unassigned does not exist uses default values, such as NaN for values and Off
for flags.
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. This
means that 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:
l Connecting X[1] for input from the primary.
l Assigning CVSRC to X[1] input.
l Configuring all other parameters like OPBIAS.RATE the same as you would for an AUTOMAN
block.
- 623 -
Chapter 19 - Regulatory Control
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.
l 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 latter two conditions,
when it is the first initializable block.)
o When the function block starts up (that is, goes Active).
o When the function block initializes (for example, the secondary requests initialization).
o When the mode changes to Auto or Cascade.
ATTENTION
When the function block goes Active or the Mode changes to Auto or Cascade, OPBIAS and
OPBIAS.FLOAT are recomputed.
l 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.
l 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.
l 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:
o The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the new value.
o The floating bias (OPBIAS.FLOAT) is set to zero.
- 624 -
Chapter 19 - Regulatory Control
o 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.
o 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)
o 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.
l After initialization, the REGCALC block calculates the floating bias using the following equation.
OPBIAS.FLOAT=CVINIT - (Cvunbiased + OPBIAS.FIX)
Where:
CVunbiased=unbiased CV (It equals K*X[1], if X[1] is assigned to CV.)
OPBIAS.FIX=fixed output bias (user specified)
- 625 -
Chapter 19 - Regulatory Control
ATTENTION
If the input is from a connection in another controller in a peer-to-peer architecture, the
actual timeout time equals the configured TMOUTTIME plus the CDA timeout time. The CDA
timeout time equals four times the configured CEE subscription rate. For example, if the CEE
subscription rate is 100 milliseconds and the TMOUTTIME is 5 seconds, the actual timeout
time for the block is 4 times 100ms plus 5s or 5.4 seconds.
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.
CVORFBSRC - If you make a CVORFBSRC parameter assignment, the REGCALC block computes
the CV override feedback value based on the assignment and it sets its CV equal to the CVORFB,
when the override status for the block is “unselecte”. The override status could be based on the
default status received from the secondary, when the ORFBSTSSRC parameter is unassigned, or a
computed customized status based on the CVFBSTSSRC parameter assignment.
- 626 -
Chapter 19 - Regulatory Control
You can write incremental (like PID block) or non-incremental (like AUTOMAN block) expressions
for CV, but certain configuration combinations may cause misleading block behavior - especially,
when the expression for CV is non-incremental. For example, if you assign CVSRC to X[1] and
CVORFBSRC to C[1] with C[1] configured as X[2], assume that at some moment X[1] is 10.0 and X
[2] is 50.0, and the override status for the block is “unselecte”. This configuration produces
different values for the block's CV and OP parameters. Based on X[1], the first CV value is
computed as 10.0 and the resulting OP value is 10.0. But, based on X[2], the CVORFB value is
computed as 50.0 and the block overwrites the previous CV value of 10.0 with 50.0, resulting in
different CV and OP values. In this case, assigning CVSRC to X[1] was the wrong configuration to
use. You can eliminate this type of discrepancy by assigning the CVSRC to an expression that
calculates a CV incrementally, such as CV + Delta (CV) so that Delta (CV) is the incremental value
added to its previous value of CV.
ATTENTION
The OUTIND parameter has no affect on the block's control operation. The CTLACTN
parameter on the Algorithm tab still supports the output direction of the block, the OPTDIR
parameter on the Main tab for the AOCHANNEL block form applies the conversion of OP to
OPFINAL. You can manipulate the DIRECT/REVERSE selections for the OUTIND, CTLACTN,
and OPTDIR parameters to meet your process and operator needs.
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.
- 627 -
Chapter 19 - Regulatory Control
OPHIALM.PR and .SV, and OPLOALM.PR Reverse of Actual OPHIALM.PR and .SV, and
and .SV OPLOALM.PR and .SV
OPHIALM.DB, .DBU, and .TM, and Reverse of Actual OPHIALM.DB and .DBU, and
OPLOALM.DB, .DBU, and .TM OPLOALM.DB and .DBU
The user store of an OP related parameter is intercepted and reversed when OUTIND equals
REVERSE. For example, a store of OPHILM = 80 produces OPLOLM = 100 - 80, so the OPHILM
parameter get will then view OPHILM = 100 - 20.
ATTENTION
The swapping/reversal of values will not be done, if the block was loaded with REVERSE
OUTIND configured. The reversal of values will be done only on a subsequent change to the
OUTIND value, if appropriate. If a PID block is loaded with OPHILM = 95, OPLOLM = 10 and
OUTIND as REVERSE, the OPHILM and OPLOLM after load will still be 95 and 10,
respectively.
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.
- 628 -
Chapter 19 - Regulatory Control
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 Experion high or low Output Alarms display shall track the
value of displayed output parameters. An OUTIND value of REVERSE, shall show the limit and
value subjected to reversal. For example, an OPHI alarm will have the displayed trip limit set to 100
- (output low limit).
If the OUTIND parameter setting is changed:
l from Direct, DirectDispInd, or ReverseDispInd to Reverse or
l from Reverse to Direct, DirectDispInd, or ReverseDispInd,
a return for the existing Output Alarm condition occurs and a new Output Alarm would be sent.
The following table summarizes how the block derives ARWOP for some given conditions.
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.
- 629 -
Chapter 19 - Regulatory Control
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.
A secondary exists but this block cannot fetch secondary data from it
(communications or configuration error).
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.
- 630 -
Chapter 19 - Regulatory Control
The CV is NaN
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)
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)
NORMAL HI HI
NORMAL LO LO
HI NORMAL HI
HI HI HI
HI LO HILO
- 631 -
Chapter 19 - Regulatory Control
LO NORMAL LO
LO HI HILO
LO LO LO
LO HILO HILO
HILO HI HILO
HILO LO HILO
ATTENTION
Do not use equality operands = and <> to compare FLOAT64 and FLOAT32 floating point
values in expressions. Use inequality operands Less Than (<), Less Than or Equal To (<=),
Greater Than (>), or Greater Than or Equal To (>=) instead.
Parenthesis ()
Array Syntax []
Unary Functions
- 632 -
Chapter 19 - Regulatory Control
Operators Description
ISFIN is finite SQRT square root
This function ignores NaN values. This function ignores NaN values.
However, if all arguments are NaN, However, if all arguments are NaN,
then it returns NaN. then it returns 0.
LEN Returns an integer length of the NUMSTR Takes the input parameter, casts it
string to a Float64 and converts it to a
string
MIDS Takes a string, an integer starting STRNUM Takes the string input parameter
position and an integer length. The and converts it to a Float64
function returns the specified
portion of the original string.
ABSTOD Takes an absolute time data type and DTIMNUM Takes a delta TIME data type and
strips off the year and date and returns a 64-bit float representing
returns a 64-bit float representing the number of milliseconds.
the time of day in milliseconds.
NOW Returns the current local date and NUMDTIM Takes a 64-bit float representing
time as an absolute time data type some number of milliseconds and
converts it to a delta TIME data
type.
NUMTIM Takes a 64-bit float representing the STRTIM Takes a string input parameter and
number of milliseconds since Jan 1, converts it to an Absolute time. The
1972 and converts it to absolute string must be in the same format
TIME data type. as an Absolute time constant.
TOD Returns the current local time of day TIMNUM Takes an Absolute TIME data type
as Time of Day data type and returns a 64-bit float
representing the total number of
milliseconds since Jan 1, 1972.
UTCTOD Returns the current UTC time of day UTCNOW Returns the current UTC date and
as Time of Day data type time of day as an absolute time
data type
- 633 -
Chapter 19 - Regulatory Control
1Be sure you specify the trigonometric functions cosine, sine, and tangent in radians and not
degrees.
PI PI (3.14159. . .)
E e (2.718. . .)
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.
l 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.
l 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.
- 634 -
Chapter 19 - Regulatory Control
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.
l You can mix and nest all operators and functions (including conditional assignments) in any
order as long as types match or can be converted.
l You can use blanks between operators and parameter names, but they are not required.
l 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.
l 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:
o AVG (MIN(CM1.REGCALC.X[1], CM1.REGCALC.X[2], CM1.REGCALC.X[3]),
MAX(CM1.REGCALCX[1], CM1.REGCALC.X[2], CM1.REGCALC.X[3]))
ATTENTION
Prior to R400 releases, NUMERIC blocks were used for configuring the constant values to
the Calculator blocks. With R400 release, the constant values can be directly configured
(using CONST[1..8]) in the Calculator blocks and a short description for the expressions can
also be provided (using (EXPRDESC[1..8]).
The expression constant parameters (CONST[1..8]) are used with the expressions as follows:
l An expression can be configured using the expression constants parameters (CONST[1..8]).
CM1.CALC1.CONST[CM1.CALC1.X[1]] + CM1.CALC1.X[2]
The results of the expressions, which use the CONST [1…8] parameters, are affected if you change
the values of these parameters on the Constants tab.
ATTENTION
When you migrate from a prior release (Pre-R400), the value of EXPRDESC[1..8] parameter
is blank by default. When you migrate to a future release, the EXPRDESC[1..8] parameter
retains its values.
l With R410, when you write the expressions using the TPS point's parameter references,
ensure that the TPS reference parameter is configured using the parentheses “()”to specify
array index. However, when you write the expressions using the other non-CEE points you can
use the brackets “[].”
- 635 -
Chapter 19 - Regulatory Control
Operator Description
:= Assignment - used only in the SCM Step Output blocks to assign the results of an
expression to a reference.
CM.block.mystringparam := “This is a string constant”
CM.block.mystringparam := CM.desc
+ Concatenation
CM.block.mystringparam + CM.desc
= Equal to
CM.block.mystringparam = CM.desc
Time constants
The following operators can have time constants and/or time references as operands:
- 636 -
Chapter 19 - Regulatory Control
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.
1The DAY, HOURS, MINS, SECS Operators are not case specific.
The following table shows results of adding the various time data types
The following table shows results of subtracting the various time data types
- 637 -
Chapter 19 - Regulatory Control
Refer to the section Time Support in Experion System for more information about time support in
the system
- 638 -
Chapter 19 - Regulatory Control
Each REEOUT block supports the following user configurable attributes. The following table lists
the given name of the “Ta” in the parameter configuration form and then briefly describes the
attributes associated with that TAB. This data is only provided as a quick document reference, since
this same information is included in the on-line context sensitive Help.
Configuration Description
Tab
Identification Lets you view information pertinent to the qualification and version control
system and enter block comments, if desired.
Configuration Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Project tab in Control Builder.
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.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences block's faceplate.
l Function-REEOUT block
l Configuration Example-REEOUT block
l Inputs-REEOUT block
l Outputs-REEOUT block
l Push of SP to secondary cluster's regulatory FBs-REEOUT block
l REEOUT parameters
- 639 -
Chapter 19 - Regulatory Control
- 640 -
Chapter 19 - Regulatory Control
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:
With R410, you can configure the on-delay time, off-delay time, deadband value, and deadband
unit for the individual alarms. For example, you can use the following parameters to configure the
on-delay time, off-delay time, deadband values, and deadband units for the OPHIALM parameter.
l OPHIALM.TM
l OPHIALM.TMO
l OPHIALM.DB
l OPHIALM.DBU
The following parameters can be used for configuring the on-delay time and off-delay time for the
BADCTLALM alarm.
l BADCTLALM.TM
l BADCTLALM.TMO
Each REGSUMMER block supports the following user configurable attributes. The following table
lists the given name of the “Ta” in the parameter configuration form and then briefly describes the
attributes associated with that Tab. This data is only provided as a quick document reference, since
this same information is included in the on-line context sensitive Help.
- 641 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l Description (DESC) - Block descriptor of up to 132 characters long.
l 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.
l 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 and 32767. The default value is 10. Refer to the
Function Block Execution Schedules section in the beginning of this
document for more information.
l 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.
l 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.
l 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
“runtim” based on current conditions. MODE processing checks for the
following conditions, and changes the block's MODE as appropriate.
l External request for MODE switching.
l Safety interlock request.
l 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.
l 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.
l Permit External ModeSwitching (ESWPERM) - Lets you specify if external
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).
l 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).
l Safety Interlock Option (SIOPT) - Lets you specify MODE and OP block is
to assume upon a safety interlock alarm. The selections are NO_SHED,
- 642 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
SHEDHOLD, SHEDLOW, SHEDHIGH, and SHEDSAFE. The default
selection is SHEDHOLD.
l 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.
Input l 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.
l 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).
l 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.
l XDESC[1..4] - Lets you specify a text string of up to 23 characters to
identify inputs 1..4.
l XK(1)..XK(4) - Lets you specify the scaling factors for inputs 1..4
Output l 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%.
l 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%.
l 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
- 643 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
value is 106.9%.
l 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%.
l 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
slowdown 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.
l 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.
l 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.
l 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.
l Output Tolerance (OPTOL) - Lets you specify a limit for operator entered
output changes in %. Operator-entered values greater than OPTOL will
result in a warning to the operator which must be overridden to permit
the value to be entered.
l 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.
l 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.
l 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.
l 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.
- 644 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Alarms l 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:
l Safety Interlock (SIALM.FL)
l Bad Control (BADCTLALM.FL)
l OP High (OPHIALM.FL)
l OP Low (OPLOALM.FL)
l 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.
l Deadband Value (ALMDB/xxxxALM.DB) - Defines the minimum value that
needs to be added to or subtracted from the trip point before reporting an
RTN. By specifying a deadband value, you can prevent the nuisance
alarms due to noise at values near the trip point. The default value is 1.
For a high alarm, RTN is reported only when the OP value is less than the
trip point - deadband value. For a low alarm, RTN is reported only when
the OP value is more than the trip point + deadband value.
Prior to R410, once the deadband value was configured, this value was
loaded to the individual alarm parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM was loaded. If you configured the individual
alarm parameters as Monitoring Parameters for the block, you could
change the individual alarm value while monitoring the loaded block in
CB.
With R410, the deadband value can be individually configured for each
alarm. For example, you can configure OPHIALM.DB as 5 and
OPLOALM.DB as 3. However, if you are migrating from pre-R410 to later
releases, refer to Impact of migration on alarm attributes.
l Deadband Time (xxxxALM.TM) - Defines the duration in seconds during
which a process alarm reporting is suppressed. This helps in preventing
the nuisance alarms from being reported repeatedly during the process
- 645 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
upset and improves the efficiency of the operator. Once you configure
this value for an alarm, the alarm is reported on the Station only if the
alarm condition continues to exist even after this value expires. The
default time is 0; that is the alarm is reported as soon as the alarm
condition occurs.
Prior to R410, once configured, this value was loaded to the individual
alarm parameters (for example, OPHIALM.TM and OPLOALM.TM) when
the CM was loaded. If you configured the individual alarm parameters as
Monitoring parameters for the block, you could change the individual
alarm value while monitoring the loaded block in CB.
With R410, the deadband time can be individually configured for each
alarm. For example, you can configure OPHIALM.TM as 5 seconds and
OPLOALM.TM as 3 seconds. However, if you are migrating from pre-
R410 to later releases, refer to Impact of migration on alarm attributes.
l Deadband Units (ALMDBU/xxxxALM.DBU) - Defines the unit for the
deadband value - percent
or engineering units. The default value is percent. Prior to R410, once
configured, this value was loaded to the individual alarm parameters (for
example, OPHIALM.DBU and OPLOALM.DBU) when the CM was loaded. If
you configured the individual alarm parameters as Monitoring
parameters for the block, you could change the individual alarm value
while monitoring the loaded block in CB.
With R410, you cannot individually configure the deadband unit for the
REGSUMMER block. If you configure the deadband unit as “EU or
Percent” for an alarm, this configuration is identical for the all other
alarms in the REGSUMMER block. However, if you are migrating from
pre-R410 to later releases, refer to Impact of migration on alarm
attributes.
Note:You must configure identical deadband units for all alarms in the
REGSUMMER block.
l 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:
l 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.
l 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 l 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
- 646 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
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:
l None
l ONESHOT
l SEMICONT
l CONTRTN
l CONT
l 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:
l NONE - No changes.
l MAN - Set MODEREQ = MANUAL.
l AUTO - Set MODEREQ = AUTOMATIC (not applicable to this
block).
l CAS - Set MODEREQ = CASCADE.
l FIXEDOP - Set OPREQ = Configured Value.
l HOLDPV - Set SPREQ = PV.
l FIXED SP - Set SPREQ = Configured Value and SPRATEREQ =
NaN.
l RAMPEDSP - Set SPTVREQ = Configured Value and
SPRATEREQ = Configured Rate.
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 Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences 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 view information pertinent to the qualification and version control
- 647 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
system and enter block comments, if desired.
Template Lets you view and define parameters for associated templates.
Defining
l Equation-REGSUMMER block
l Function-REGSUMMER block
l Configuration example-REGSUMMER block
l Inputs-REGSUMMER block
l Outputs-REGSUMMER block
l Initializable inputs and outputs-REGSUMMER block
l Output Ranges-REGSUMMER block
l Output bias-REGSUMMER block
l Mode handling-REGSUMMER block
l Control initialization-REGSUMMER block
l Override feedback processing-REGSUMMER block
l Output Indication Function-REGSUMMER block
l Windup processing-REGSUMMER block
l REGSUMMER parameters
- 648 -
Chapter 19 - Regulatory Control
- 649 -
Chapter 19 - Regulatory Control
ATTENTION
The user may create a connection to OP or OPEU, but not both i.e. only one connection to
the RegCtl block output should be made Therefore, this block may have only one secondary.
If the user does not create a connection to OP or OPEU, then the block does not have a
secondary. Alternately, if the user connects OP or OPEU to a non-initializable input, then
this block does not have a secondary. If the block has a secondary, then the OPX or OPEUX
is the proper parameter to connect to RegCtl secondary. The “X” parameter is a structure
containing both the OP value and the OP status; it is critical to use these parameters so that
Initialization handshaking works properly. The BACKCALCOUT or X1BACKCALOUT of
secondary must be connected to the BACKCALCIN of primary.
l CVEUHI and CVEULO define the full range of CV, in engineering units.
l If this block has a secondary, it fetches the secondary's input range via BACKCALC and sets its
CV range to that. If it has no secondary, CVEUHI and CVEULO track the X-input range (XEUHI
and XEULO).
l Note: 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).
l 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.
l OPHILM and OPLOLM define the normal high and low limits for OP, as a percent of the CV
range. These are user-specified values.
l 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.
l OPEXHILM and OPEXLOLM define the extended high and low limits for OP, as a percent of the
CV range. These are user-specified values.
l The operator is prevented from storing an OP value that exceeds these limits.
l 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.
- 650 -
Chapter 19 - Regulatory Control
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 = CV - [K * [ K(1) * X(1) + K(2) * X(2) + K(3) * X(3) + K(4) * X(4)] + OPBIAS.FIX]
where:
OPBIAS.FIX = fixed output bias
OPBIAS.FLOAT = floating output bias
ATTENTION
SECINITOPT may be used to ignore initialization requests from the secondary.
- 651 -
Chapter 19 - Regulatory Control
NOTE Note
The gain value should be greater than zero.
Where:
OPBIAS.FIX = Fixed output bias
K = Overall gain for CV
XK(1..4) = Individual gain for each input
INITREQ = initialization request flag for the X(1) primary
INITVAL = initialization value for the X(1) primary
When the cascade is broken, input X1 goes into initialization.
The initialization value to the primary is
NOTE Note
The gain value should be greater than zero.
When the cascade resumes, the internal ramping bias value OPBIAS.FLOAT is calculated
ATTENTION
SECINITOPT may be used to ignore override requests from the secondary.
When the override status changes from selected to unselected, this block does the following:
l Calculates a feedback value for its primary:
- 652 -
Chapter 19 - Regulatory Control
primary feedback =
NOTE Note
The gain value should be greater than zero.
where:
OPBIAS.FIX = Fixed output bias
OPBIAS.FLOAT = Floating output bias
K = Overall gain for CV
XK(1..4) = Individual gain for each input
When only the X1 input is used:
- 653 -
Chapter 19 - Regulatory Control
ATTENTION
The OUTIND parameter has no affect on the block's control operation. The CTLACTN
parameter on the Algorithm tab still supports the output direction of the block, the OPTDIR
parameter on the Main tab for the AOCHANNEL block form applies the conversion of OP to
OPFINAL. You can manipulate the DIRECT/REVERSE selections for the OUTIND, CTLACTN,
and OPTDIR parameters to meet your process and operator needs.
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.
OPHIALM.PR and .SV, and Reverse of Actual OPHIALM.PR and .SV, and
OPLOALM.PR and .SV OPLOALM.PR and .SV
OPHIALM.DB, .DBU, and .TM, and Reverse of Actual OPHIALM.DB and .DBU, and
OPLOALM.DB, .DBU, and .TM OPLOALM.DB and .DBU
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.
- 654 -
Chapter 19 - Regulatory Control
ATTENTION
The swapping/reversal of values will not be done, if the block was loaded with REVERSE
OUTIND configured. The reversal of values will be done only on a subsequent change to the
OUTIND value, if appropriate.
For example: If a PID block is loaded with OPHILM = 95, OPLOLM = 10 and OUTIND as
REVERSE, the OPHILM and OPLOLM after load will still be 95 and 10, respectively.
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.
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 Experion high or low Output Alarms display shall track the
value of displayed output parameters. An OUTIND value of REVERSE, shall show the limit and
value subjected to reversal. For example, an OPHI alarm will have the displayed trip limit set to 100
- (output low limit).
If the OUTIND parameter setting is changed:
l from Direct, DirectDispInd, or ReverseDispInd to Reverse or
l from Reverse to Direct, DirectDispInd, or ReverseDispInd,
a return for the existing Output Alarm condition occurs and a new Output Alarm would be sent.
- 655 -
Chapter 19 - Regulatory Control
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.
A secondary exists but this block cannot fetch secondary data from it
(communications or configuration error).
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.
- 656 -
Chapter 19 - Regulatory Control
The CV is NaN
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)
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)
- 657 -
Chapter 19 - Regulatory Control
If this block can communicate with both sources, it always selects the remote source. If it loses
communications with the remote, it switches to the backup source; and when communications are
restored, it automatically switches back to the remote.
You may force the unselected input to track the selected input through the TRACKING option:
l 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.
l If TRACKING is Off, this block does not initialize the unselected input.
This block provides bumpless switching by applying a floating bias to the output, regardless of
whether TRACKING is On or Off.
With R410, you can configure the on-delay time, off-delay time, deadband value, and deadband
unit for the individual alarms. For example, you can use the following parameters to configure the
on-delay time, off-delay time, deadband values, and deadband units for the OPHIALM parameter.
l OPHIALM.TM
l OPHIALM.TMO
l OPHIALM.DB
l OPHIALM.DBU
The following parameters can be used for configuring the on-delay time and off-delay time for the
BADCTLALM alarm.
l BADCTLALM.TM
l BADCTLALM.TMO
- 658 -
Chapter 19 - Regulatory Control
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.
- 659 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l Description (DESC) - Block descriptor of up to 132 characters long.
l 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.
l 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 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.
l 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.
l 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.
l 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.
l External request for MODE switching.
l Safety interlock request.
l 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.
l 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.
l 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).
l 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).
l 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.
l 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
- 660 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
(zero).
l X1 (XDESC[1]) - X1 input descriptor of up to 15 characters long.
l X2 XDESC[2]) - X2 input descriptor of up to 15 characters long.
l Enable Tracking Option (TRACKING) - Lets you select if the unselected
input is to track the selected input or not. The default selection is box
checked, which means TRACKING is ON.
l When TRACKING is ON, the block only propagates to the
selected input.
l When TRACKING is OFF, the block propagates changes in the
windup status and override feedback data to all inputs.
Output l 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%.
l 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%,
- 661 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
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%.
l 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%.
l 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%.
l 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
slowdown 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.
l 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.
l 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.
l 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.
l 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 l 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:
l Safety Interlock (SIALM.FL)
- 662 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l Bad Control (BADCTLALM.FL)
l OP High (OPHIALM.FL)
l OP Low (OPLOALM.FL)
l 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.
l Deadband Value (ALMDB/xxxxALM.DB) - Defines the minimum value that
needs to be added to or subtracted from the trip point before reporting an
RTN. By specifying a deadband value, you can prevent the nuisance
alarms due to noise at values near the trip point. The default value is 1.
For a high alarm, RTN is reported only when the OP value is less than the
trip point - deadband value. For a low alarm, RTN is reported only when
the OP value is more than the trip point + deadband value.
Prior to R410, once the deadband value was configured, this value was
loaded to the individual alarm parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM was loaded. If you configured the individual
alarm parameters as Monitoring Parameters for the block, you could
change the individual alarm value while monitoring the loaded block in
CB.
With R410, the deadband value can be individually configured for each
alarm. For example, you can configure OPHIALM.DB as 5 and
OPLOALM.DB as 3. However, if you are migrating from pre-R410 to later
releases, refer to Impact of migration on alarm attributes.
l Deadband Time (xxxxALM.TM) - Defines the duration in seconds during
which a process alarm reporting is suppressed. This helps in preventing
the nuisance alarms from being reported repeatedly during the process
upset and improves the efficiency of the operator. Once you configure
this value for an alarm, the alarm is reported on the Station only if the
alarm condition continues to exist even after this value expires. The
default time is 0; that is the alarm is reported as soon as the alarm
condition occurs.
Prior to R410, once configured, this value was loaded to the individual
alarm parameters (for example, OPHIALM.TM and OPLOALM.TM) when
- 663 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
the CM was loaded. If you configured the individual alarm parameters as
Monitoring parameters for the block, you could change the individual
alarm value while monitoring the loaded block in CB.
With R410, the deadband time can be individually configured for each
alarm. For example, you can configure OPHIALM.TM as 5 seconds and
OPLOALM.TM as 3 seconds. However, if you are migrating from pre-
R410 to later releases, refer to Impact of migration on alarm attributes.
l Deadband Units (ALMDBU/xxxxALM.DBU) - Defines the unit for the
deadband value - percent or engineering units. The default value is
percent.
Prior to R410, once configured, this value was loaded to the individual
alarm parameters (for example, OPHIALM.DBU and OPLOALM.DBU)
when the CM was loaded. If you configured the individual alarm
parameters as Monitoring parameters for the block, you could change the
individual alarm value while monitoring the loaded block in CB.
With R410, you cannot individually configure the deadband unit for the
REMCAS block. If you configure the deadband unit as “EU or Percent” for
an alarm, this configuration is identical for the all other alarms in the
REMCAS block. However, if you are migrating from pre-R410 to later
releases, refer to Impact of migration on alarm attributes.
You must configure identical deadband units for all alarms in the REMCAS
block.
l 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:
l 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.
l Disable - An alarm is not notified whenever a mode shed
happens in the event of an IO communication loss.
This parameter is available for configuration only if the Enable Bad Output
Connection Option is enabled.
l Off-delay Time (xxxxALM.TMO) - Defines the duration in seconds during
which an RTN reporting is suppressed even though the alarm condition
does not exist. The RTN is reported on the Station only after this time
expires and the alarm condition has returned to normal. The default time
is 0; that is RTN is reported as soon as the alarm condition returns to
normal. If a deadband value is also configured, the RTN is reported only
when the OP value is less than the trip point - deadband for the
configured Off-delay time. However, if you are migrating from pre-R410
to later releases, the alarm off-delay time will be set as default value (0).
SCM l 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:
l None
l ONESHOT
l SEMICONT
- 664 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l CONTRTN
l CONT
l 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:
l NONE - No changes.
l MAN - Set MODEREQ = MANUAL.
l AUTO - Set MODEREQ = AUTOMATIC (not applicable to this
block).
l CAS - Set MODEREQ = CASCADE.
l FIXEDOP - Set OPREQ = Configured Value.
l HOLDPV - Set SPREQ = PV (not applicable to this block).
l FIXED SP - Set SPREQ = Configured Value and SPRATEREQ =
NaN (not applicable to this block).
l RAMPEDSP - Set SPTVREQ = Configured Value and
SPRATEREQ = Configured Rate (not applicable to this block).
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 Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences 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
l Function-REMCAS block
l Configuration example-REMCAS block
l Inputs-REMCAS block
l Input ranges and limits-REMCAS block
l Input descriptors-REMCAS block
- 665 -
Chapter 19 - Regulatory Control
l Outputs-REMCAS block
l Output ranges and limits-REMCAS block
l Output Indication Function-REMCAS block
l Mode handling-REMCAS block
l Timeout monitoring-REMCAS block
l Timeout processing-REMCAS block
l Input switching-REMCAS block
l Equations-REMCAS block
l Output bias-REMCAS block
l Control Initialization-REMCAS block
l Override feedback processing-REMCAS block
l Windup processing-REMCAS block
l Anti-Reset Windup Status-REMCAS block
l REMCAS parameters
- 666 -
Chapter 19 - Regulatory Control
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 Monitoring
mode.
- 667 -
Chapter 19 - Regulatory Control
The following table includes descriptions of the callouts in Views A and B of the figure above.
Callout Description
1 Control Builder connects the X1BACKCALOUT parameter of the REMCAS_1 block to
the BACKCALCIN parameter for the PID_PRIMARY block in another Control Module
(CM). The individual BACKCALCIN/BACKCALCOUT connections for each output used
are automatically built by Control Builder as implicit/hidden connections.
2 This control loop represents a remote cascade primary located in a different CM.
Typically, this loop is also located in a different controller. This loop serves as the
remote primary for the REMCAS_1 block located in another CM. The REMCAS_1 block
uses the output from this loop as its primary input (X1), as long as this loop provides a
valid output value. If a communication or some other problem interrupts this loop's
output, the REMCAS_1 block switches to the output from the backup/local primary
loop.
3 Use the parameter connector function to connect the output (OP) from this loop to the
input (X1) of the REMCAS_1 block in another Control Module (CM). See callout 9 in
View B for the parameter connector to the X1 pin. The default OP connection is
exposed, but the implicit/hidden connection function automatically makes a
connection to a value/status parameter (OPX/OPEUX) when it is required.
4 Typically, the Analog Input Channel (AIC) block supplying the input for the
backup/local primary loop (PID_BACKUP) is field wired to the same location as the AIC
for the remote primary loop (PID_PRIMARY).
5 Use the PV parameter connection to carry data and status from the analog input to
the PID block. The default PV connection is exposed, but the implicit/hidden
- 668 -
Chapter 19 - Regulatory Control
Callout Description
connection function automatically makes a connection to a value/status parameter
(PVVALSTS) when it is required.
6 The PID_BACKUP block serves as a backup/local primary source for the remote
primary source (PID_PRIMARY) located in another CM. The REMCAS_1 block switches
to this backup source, if there is a problem with the output from the PID_PRIMARY.
8 With the Tracking option enabled, the output (OP) of the PID_BACKUP block always
equals the value being sent by the PID_PRIMARY, while the PID_PRIMARY is being
used for control.
9 Use the parameter connector function to connect the OP parameter of the PID_
PRIMARY block in another Control Module (CM) to the X1 parameter on this REMCAS_
1 block. See callout 3 in View A for the location of the OPEUX pin. The default OP
connection is exposed, but the implicit/hidden connection function automatically
makes a connection to a value/status parameter (OPX/OPEUX) when it is required.
l 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%.
l XEUHI and XEULO apply to both inputs (X1 and X2).
l This block assumes both inputs are within XEUHI and XEULO; it applies no range-checks.
- 669 -
Chapter 19 - Regulatory Control
You may create a connection to OP or OPEU but not both. Therefore, this block may have only one
secondary. If you do not create a connection to OP or OPEU, then the block does not have a
secondary. Alternately, if you connect OP or OPEU to a non-initializable input, then this block does
not have a secondary. (Note that the default OP connection pin is exposed on the blocks and the
implicit/hidden connection function automatically makes the appropriate value/status parameter
(OPX/OPEUX) connection when required.
For example, if you connect the output from a 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.)
l 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 This means regardless
of whether the secondary's initialization and override data will be used.
l 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.
l 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.
- 670 -
Chapter 19 - Regulatory Control
ATTENTION
The OUTIND parameter has no affect on the block's control operation. The CTLACTN
parameter on the Algorithm tab still supports the output direction of the block, the OPTDIR
parameter on the Main tab for the AOCHANNEL block form applies the conversion of OP to
OPFINAL. You can manipulate the DIRECT/REVERSE selections for the OUTIND, CTLACTN,
and OPTDIR parameters to meet your process and operator needs.
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.
OPHIALM.PR and .SV, and OPLOALM.PR Reverse of Actual OPHIALM.PR and .SV, and
and .SV OPLOALM.PR and .SV
OPHIALM.DB, .DBU, and .TM, and Reverse of Actual OPHIALM.DB and .DBU, and
OPLOALM.DB, .DBU, and .TM OPLOALM.DB and .DBU
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.
- 671 -
Chapter 19 - Regulatory Control
ATTENTION
The swapping/reversal of values will not be done, if the block was loaded with REVERSE
OUTIND configured. The reversal of values will be done only on a subsequent change to the
OUTIND value, if appropriate.
For example: If a PID block is loaded with OPHILM = 95, OPLOLM = 10 and OUTIND as
REVERSE, the OPHILM and OPLOLM after load will still be 95 and 10, respectively.
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.
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 Experion high or low Output Alarms display shall track the
value of displayed output parameters. An OUTIND value of REVERSE, shall show the limit and
value subjected to reversal. For example, an OPHI alarm will have the displayed trip limit set to 100
- (output low limit).
If the OUTIND parameter setting is changed:
l from Direct, DirectDispInd, or ReverseDispInd to Reverse or
l from Reverse to Direct, DirectDispInd, or ReverseDispInd,
a return for the existing Output Alarm condition occurs and a new Output Alarm would be sent.
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 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.
- 672 -
Chapter 19 - Regulatory Control
Regarding mode-changes:
l This block requests both primaries to initialize after any mode-change except MANual to
CAScade and CAScade to Backup CAScade.
- 673 -
Chapter 19 - Regulatory Control
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.
l This block only sets CASREQFL if the original mode was Cascade, the X1 input times out, and
TMOUTMODE = Backup Cascade.
l 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:
l If SELXINP is X2, and X1 is good, (i.e., X1 just changed from bad to good) , the block:
o sets SELXINP to X1
o changes MODE to Cascade
When TRACKING is Off, this block propagates changes in windup status and override feedback data
to both inputs. When TRACKING is On, it only propagates to the selected input (because the
unselected input is in the initialized state).
- 674 -
Chapter 19 - Regulatory Control
For Override Processing, the Override Status from the Override Selector secondary block is
propagated only to the selected primary of the REMCAS block regardless of whether the TRACKING
option is Off or On. See the following Override Feedback Processing section for more details.
This block provides bumpless switching by applying a floating bias to the output, regardless of
whether TRACKING is On or Off.
Where:
ATTENTION
When the function block goes Active or the Mode changes to Cascade, OPBIAS and
OPBIAS.FLOAT are recomputed.
l 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.
l 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.
- 675 -
Chapter 19 - Regulatory Control
l 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:
o The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the new value.
o The floating bias (OPBIAS.FLOAT) is set to zero.
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.
l 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.
o 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.
o 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.
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.
- 676 -
Chapter 19 - Regulatory Control
INITREQ[1] = On
INITVAL[1] = CV - OPBIAS.FIX
INITREQ[2] = On
INITVAL[2] = CV - OPBIAS.FIX
Where:
When the override status changes from selected to unselected, this block does the following:
l Computes a feedback value for the selected primary:
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.
- 677 -
Chapter 19 - Regulatory Control
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.
A secondary exists but this block cannot fetch secondary data from it
(communications or configuration error).
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.
- 678 -
Chapter 19 - Regulatory Control
The CV is NaN
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)
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)
NORMAL HI HI
NORMAL LO LO
HI NORMAL HI
HI HI HI
HI LO HILO
- 679 -
Chapter 19 - Regulatory Control
LO NORMAL LO
LO HI HILO
LO LO LO
LO HILO HILO
HILO HI HILO
HILO LO HILO
You may force the unselected inputs to track the selected input through the TRACKING option:
- 680 -
Chapter 19 - Regulatory Control
l 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.
l If TRACKING is Off, this block does not initialize the unselected inputs.
This block provides bumpless switching by applying a floating bias to the output, regardless of
whether TRACKING is On or Off.
With R410, you can configure the on-delay time, off-delay time, deadband value, and deadband
unit for the individual alarms. For example, you can use the following parameters to configure the
on-delay time, off-delay time, deadband values, and deadband units for the OPHIALM parameter.
l OPHIALM.TM
l OPHIALM.TMO
l OPHIALM.DB
l OPHIALM.DBU
The following parameters can be used for configuring the on-delay time and off-delay time for
the BADCTLALM alarm
l BADCTLALM.TM
l BADCTLALM.TMO
Each SWITCH block supports the following user configurable attributes. The following table lists
the given name of the “Tab” in the parameter configuration form and then briefly describes the
attributes associated with that Tab. This data is only provided as a quick document reference, since
this same information is included in the on-line context sensitive Help.
- 681 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l Description (DESC) - Block descriptor of up to 132 characters long.
l 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.
l 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.
l 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.
l Enable Tracking Option (TRACKING) - Lets you select if the unselected
input is to track the selected input or not. The default selection is box
checked, which means TRACKING is ON.
l When TRACKING is ON, the block continually initializes the
unselected inputs. This means the block requests the
unselected primaries to initialize and set their output to the
selected input value.
l When TRACKING is OFF, the block does not initialize the
unselected inputs.
- 682 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l 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.
l 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.
l 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).
l 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).
l 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.
l 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.
l 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.
l 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 l High Limit (XEUHI) - Lets you specify the high input range limit that
represents 100% full scale input for all the block inputs (X[1..8]). The
default value is 100.
l 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).
l 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
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.
l 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
- 683 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
SELXINP is updated.
l 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 l 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%.
l 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%.
l 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%.
l 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%
l 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
slowdown 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.
l 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.
l 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. ‘
- 684 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
l 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.
l 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 l 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:
l Safety Interlock (SIALM.FL)
l Bad Control (BADCTLALM.FL)
l OP High (OPHIALM.FL)
l OP Low (OPLOALM.FL)
l 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.
l Deadband Value (ALMDB/xxxxALM.DB) - Defines the minimum value that
needs to be added to or subtracted from the trip point before reporting an
RTN. By specifying a deadband value, you can prevent the nuisance
alarms due to noise at values near the trip point. The default value is 1.
For a high alarm, RTN is reported only when the OP value is less than the
trip point - deadband value. For a low alarm, RTN is reported only when
the OP value is more than the trip point + deadband value.
Prior to R410, once the deadband value was configured, this value was
loaded to the individual alarm parameters (for example, OPHIALM.DB and
OPLOALM.DB) when the CM was loaded. If you configured the individual
- 685 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
alarm parameters as Monitoring Parameters for the block, you could
change the individual alarm value while monitoring the loaded block in
CB.
With R410, deadband value can be individually configured for each alarm.
For example, you can configure OPHIALM.DB as 5 and OPLOALM.DB as
3. However, if you are migrating from pre-R410 to later releases, refer to
Impact of migration on alarm attributes.
l Deadband Time (xxxxALM.TM) - Defines the duration in seconds during
which a process alarm reporting is suppressed. This helps in preventing
the nuisance alarms from being reported repeatedly during the process
upset and improves the efficiency of the operator. Once you configure
this value for an alarm, the alarm is reported on the Station only if the
alarm condition continues to exist even after this value expires. The
default time is 0; that is the alarm is reported as soon as the alarm
condition occurs.
Prior to R410, once configured, this value was loaded to the individual
alarm parameters (for example, OPHIALM.TM and OPLOALM.TM) when
the CM was loaded. If you configured the individual alarm parameters as
Monitoring parameters for the block, you could change the individual
alarm value while monitoring the loaded block in CB.
With R410, the deadband time can be individually configured for each
alarm. For example, you can configure OPHIALM.TM as 5 seconds and
OPLOALM.TM as 3 seconds. However, if you are migrating from pre-
R410 to later releases, refer to Impact of migration on alarm attributes.
l Deadband Units (ALMDBU/xxxxALM.DBU) - Defines the unit for the
deadband value - percent or engineering units. The default value is
percent.
Prior to R410, once configured, this value was loaded to the individual
alarm parameters (for example, OPHIALM.DBU and OPLOALM.DBU)
when the CM was loaded. If you configured the individual alarm
parameters as Monitoring parameters for the block, you could change the
individual alarm value while monitoring the loaded block in CB.
With R410, you cannot individually configure the deadband unit for the
SWITCH block. If you configure the deadband unit as “EU or Percent” for
an alarm, this configuration is identical for the all other alarms in the
SWITCH block. However, if you are migrating from pre-R410 to later
releases, refer to Impact of migration on alarm attributes.
Note: You must configure identical deadband units for all alarms in the
SWITCH block.
l 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:
l 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.
l 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.
- 686 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
does not exist. The RTN is reported on the Station only after this time
expires and the alarm condition has returned to normal. The default time
is 0; that is RTN is reported as soon as the alarm condition returns to
normal. If a deadband value is also configured, the RTN is reported only
when the OP value is less than the trip point - deadband for the
configured Off-delay time. However, if you are migrating from pre-R410
to later releases, the alarm off-delay time will be set as default value (0).
SCM l 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:
l None
l ONESHOT
l SEMICONT
l CONTRTN
l CONT
l 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:
l NONE - No changes.
l MAN - Set MODEREQ = MANUAL.
l AUTO - Set MODEREQ = AUTOMATIC (not applicable to this
block)..
l CAS - Set MODEREQ = CASCADE.
l FIXEDOP - Set OPREQ = Configured Value.
l HOLDPV - Set SPREQ = PV (not applicable to this block).
l FIXED SP - Set SPREQ = Configured Value and SPRATEREQ =
NaN (not applicable to this block).
l RAMPEDSP - Set SPTVREQ = Configured Value and
SPRATEREQ = Configured Rate (not applicable to this block).
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 Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Project tab in Control Builder.
- 687 -
Chapter 19 - Regulatory Control
Configuration Description
Tab
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences 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
l Function-SWITCH block
l Inputs-SWITCH block
l Input ranges and limits-SWITCH block
l Input descriptors-SWITCH block
l Initializable Outputs-SWITCH block
l Output ranges and limits-SWITCH block
l Mode handling-SWITCH block
l Timeout monitoring-SWITCH block
l Timeout processing-SWITCH block
l Equations-SWITCH block
l Bad input handling-SWITCH block
l Bypass processing-SWITCH block
l Input switching-SWITCH block
l Output bias-SWITCH block
l Error handling-SWITCH block
l Control initialization-SWITCH block
l Override feedback processing-SWITCH block
l Output Indication Function-SWITCH block
l Windup processing-SWITCH block
l Anti-Reset Windup Status-SWITCH block
l SWITCH parameters
- 688 -
Chapter 19 - Regulatory Control
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 Monitoring mode.
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.
Figure 19.16 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.
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 19.17 Example CB configuration using multiple SWITCH blocks to assign a primary to a
different secondary.
- 689 -
Chapter 19 - Regulatory Control
l You must specify an engineering unit range for the X inputs, by entering values for XEUHI and
XEULO.
l 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%.
l XEUHI and XEULO apply to all of the X inputs.
l This block assumes all of the X inputs are within XEUHI and XEULO; it applies no range checks.
- 690 -
Chapter 19 - Regulatory Control
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.
l OP = Calculated output, in percent.
l OPEU = Calculated output, in engineering units.
You may create a connection to OP or OPEU but not both. Therefore, this block may have only one
secondary. If you do not create a connection to OP or OPEU, then the block does not have a
secondary. Alternately, if you connect OP or OPEU to a non-initializable input, then this block does
not have a secondary. (Note that the default OP connection pin is exposed on the blocks and the
implicit/hidden connection function automatically makes the appropriate value/status parameter
(OPX/OPEUX) connection when required.
For example, if you connect the output from a 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.)
l 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 This means
regardless of whether the secondary's initialization and override data will be used.
l 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.
l 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.
- 691 -
Chapter 19 - Regulatory Control
ATTENTION
This block does not support mode shedding on timeout.
l 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:
o turns all other selection flags Off,
o updates SELXINP and SELXDESC, and
o calculates CV as noted above for Equation A.
Equation B prevents you from storing to SELXINP.
l 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:
- 692 -
Chapter 19 - Regulatory Control
The input selection is changed by storing On or Off to the selection flags as follows:
SELX SELX SELX SELX SELX SELX SELX SELX Given Selection Flag
FL[1] FL[2] FL[3] FL[4] FL[5] FL[6] FL[7] FL[8] States Select Input…
On NA NA NA NA NA NA NA X[1]
Off On NA NA NA NA NA NA X[2]
BADINPTOPT = IncludeBad:
(i)
CV is set to NaN,
the selected input does not change (no automatic switching).
BADINPTOPT = IgnoreBad
(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:
l 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
- 693 -
Chapter 19 - Regulatory Control
For this block, a bad input will cause CV to go bad. This means Bad Control.
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.
- 694 -
Chapter 19 - Regulatory Control
ATTENTION
When the function block goes Active or the Mode changes to Cascade, OPBIAS and
OPBIAS.FLOAT are recomputed.
l 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.
l 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.
l 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:
o The total bias (OPBIAS) and fixed bias (OPBIAS.FIX) are both set to the new value.
o The floating bias (OPBIAS.FLOAT) is set to zero.
- 695 -
Chapter 19 - Regulatory Control
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.
You may use SECINITOPT to ignore initialization requests from the secondary.
If the secondary is requesting initialization, this block:
CV=initialization value from the secondary
l builds an initialization request for the selected primary as follows:
INITREQ(s)=On
INITVAL(s)=CV - OPBIAS.FIX
where:
(s)=identifies the selected input
INITREQ(s)=initialization request flag for the selected input
INITVAL(s)=initialization value for the selected input
l If TRACKING is On, this block also builds an initialization request for the unselected primaries
as follows:
INITREQ(n)=On
INITVAL(n)=CV - OPBIAS.FIX
where:
(n)=identifies the unselected inputs
INITREQ(n)=initialization request flag for the unselected
INITVAL(n)=initialization value for the unselected inputs
- 696 -
Chapter 19 - Regulatory Control
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.
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.
- 697 -
Chapter 19 - Regulatory Control
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.
OPHIALM.PR and .SV, and Reverse of Actual OPHIALM.PR and .SV, and
OPLOALM.PR and .SV OPLOALM.PR and .SV
OPHIALM.DB, .DBU, and .TM, and Reverse of Actual OPHIALM.DB and .DBU, and
OPLOALM.DB, .DBU, and .TM OPLOALM.DB and .DBU
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.
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.
- 698 -
Chapter 19 - Regulatory Control
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 Experion high or low Output Alarms display shall track the
value of displayed output parameters. An OUTIND value of REVERSE, shall show the limit and
value subjected to reversal. For example, an OPHI alarm will have the displayed trip limit set to 100
- (output low limit).
If the OUTIND parameter setting is changed:
l from Direct, DirectDispInd, or ReverseDispInd to Reverse or
l from Reverse to Direct, DirectDispInd, or ReverseDispInd,
a return for the existing Output Alarm condition occurs and a new Output Alarm would be sent.
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.
- 699 -
Chapter 19 - Regulatory Control
A secondary exists but this block cannot fetch secondary data from it
(communications or configuration error).
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.
The CV is NaN
The ARWOP equals Hi (Pid function blocks have a configurable Control Action Hi
option (CTLACTN). If CTLACTN = Reverse , ARWNET will track ARWOP; but if
CTLACTN = Direct , ARWNET will be the opposite of ARWOP.)
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 LO
option (CTLACTN). If CTLACTN = Reverse , ARWNET will track ARWOP; but if
CTLACTN = Direct , ARWNET will be the opposite of ARWOP.)
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)
- 700 -
Chapter 19 - Regulatory Control
NORMAL HI HI
NORMAL LO LO
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 HI HILO
HILO LO HILO
- 701 -
CHAPTER
20 UCN INTERFACE
NOTE
The EUCNOUT block does not require an OPC gateway or a TPN server to communicate
with the EHPM.
This library includes the UCNOUT and the EUCNOUT function blocks that provide configurable
connections and compatible data mapping between controllers. The following subsection provides
a functional description of the EUCNOUT block.
- 702 -
Chapter 20 - UCN Interface
The following table lists the major functions the UCNOUT/EUCNOUT block performs along with a
brief description of the function.
- 703 -
Chapter 20 - UCN Interface
Function Description
Translates secondary data The data structures for SECDATA and BACKCALC pass
(SECDATA) from Process information back up the control path from secondaries to
Manager regulatory control primaries. They contain data like initialization request,
points to ACE/C300 initialization value, and anti-reset windup status.
controller compatible back
calculation (BACKCALC) Since SECDATA does not provide override feedback propagation
data. data, the UCNOUT/EUCNOUT block cannot use BACKCALC to
forward this data to its primary. This means override strategies
are not possible between the ACE/C300 supervisory controller
and the UCN based Process Manager/EHPM Controller.
Forwards inputs from The Process Manager/EHPM point uses the Engineering Units
primary regulatory control obtained from the SECDATA fetch to convert stores to its
blocks in ACE/C300 regulatory control point setpoint to Engineering Units. The
supervisory controller to a BACKCALC structure supports the same Engineering Units
Process Manager/EHPM information function for ACE/C300 regulatory control blocks.
regulatory control point.
- 704 -
Chapter 20 - UCN Interface
DDC - Used for Supervisory store to Output directly - UCNOUT block writes to the output
Direct (OP) of the Process Manager regulatory control point, when the point is in
Digital Cascade (CAS) mode.
Control
RSP - Used for Supervisory to Level 1 controller cascade with a backup primary also
Remote existing in Level 1 - UCNOUT block writes to the setpoint (SP) of the local backup
Setpoint Process Manager regulatory control point, when the point is in Automatic Mode
Control and being initialized by its secondary, which is in either SPC or DDC control by ACE
supervisory controller.
DDCRSP - Used for Supervisory store to Output directly - UCNOUT block writes to output (OP)
Direct of the Process Manager regulatory control point, when the point is in Cascade
Digital (CAS) mode. UCNOUT block also writes to the setpoint (SP) of the same Process
Control Manager regulatory control point to supply a backup SP.
with
Remote
Setpoint
DDC - Used for Supervisory store to Output directly - The ACE/C300 control strategy
Direct writes to the output (OP) of the EHPM regulatory control point and the OP of the
Digital EHPM analog output, when the point is in CAS mode. The output limits are not
Control applicable in this case. The SP cannot be written by the ACE/ C300 control strategy
to the regulatory control point.
If the control algorithm is a PID type and is configured for PV tracking, the SP is set
equal to the PV when in CAS mode. This option is configured by setting RCASOPT to
DDC.
RSP - Used for Supervisory to Level 1 controller cascade with a backup primary also
Remote existing in Level 1 - The ACE/C300 control strategy writes to the SP through an
Setpoint ACE/C300 output connection, subject to the SP limits, when the point is in
Control Automatic Mode and being initialized by its secondary (that is, INITMAN flag is ON).
If RSP is selected, PV tracking is not performed in Automatic mode when INITMAN is
ON. This option is available for only PID-type algorithms and is configured by setting
RCASOPT to RSP.
DDCRSP - Used for Supervisory store to Output directly - The ACE/C300 control strategy
Direct writes to the OP of the EHPM regulatory control point, when the point is in CAS
Digital mode. The ACE/C300 also writes to the SP of the same EHPM regulatory control
Control point subject to the SP limits.
with
Remote PV tracking is not performed in CAS mode. This option is used primarily when a
- 705 -
Chapter 20 - UCN Interface
Remote Description
Cascade
Type
Setpoint single PID controller in the EHPM is used as a back up to a higher level control
strategy running in the ACE/C300. The higher level control strategy writes to the
OP and also provides the SP for the backup control strategy. This option is available
for only PID-type algorithms and is configured by setting RCASOPT to DDCRSP.
For more information on remote cascade, refer to the HPM Control Theory in the TPN/TPS PDF
bookset.
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l Item Name - The name of the Entity that the Control Module containing
the block will be associated with in the Enterprise Model Builder
hierarchy.
l 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.
l Remote Cascade Type (REMCASTYPE) - Used for selecting the type of
remote cascade function the UCNOUT/EUCNOUT block is to support. See
the previous section About remote cascade - UCNOUT/EUCNOUT block
for more information.
l Simulation Mode (SIMMODE) - Used for specifying the type of simulation
mode the block is to support in an ACE controller simulation application.
The default selection is NONE and cannot be changed in an ACE
controller that is operating on process. You can only change this
parameter, if the simulation enable (SIMENABLE) parameter for the ACE
Controller is True or ON and the ACE Controller simulation state
(SIMSTATE) parameter has a value other than SIMNONE. See the SIM-
ACE User Guide for more information about defining simulation levels
using SIMMODE.
Block Pins Used for selecting the available parameters that you want to expose as
input/output pins on the function block graphic in Control Builder.
Configuration Used for selecting the available parameters that you want to appear on the
Parameters face of the function block in the Project tab in Control Builder.
Monitoring Used for selecting the available parameters that you want to appear on the
Parameters face of the function block in the Monitoring tab in Control Builder.
Block Used for selecting several block-viewing preferences including the color of the
Preferences block's faceplate.
- 706 -
Chapter 20 - UCN Interface
ATTENTION
It is possible to configure and load a Control Module that includes an UCNOUT/EUCNOUT
block with connections that are not consistent for the selected Remote Cascade Type. In this
case, you will not be permitted to activate the Control Module in the Monitoring mode.
If a warning prompt appears about inconsistent UCNOUT/EUCNOUT input and output
connections when saving a Control Module, be sure you have configured the correct inputs
and outputs for the selected Remote Cascade Type before you close the Control Module.
The secondary data input (SECDATAIN) and the mode output (MODEOUT) connections are
required for all Remote Cascade Types. The following table summarizes the UCNOUT/EUCNOUT
block inputs and outputs needed for the given Remote Cascade Type selection.
- 707 -
Chapter 20 - UCN Interface
The SPPIN, RSPPIN, and/or OPIN input to the UCNOUT block is updated as part of each execution
of the Control Module. The SECDATAIN input is gathered at the rate specified by periodic update
rate configured for the referenced OPC server peer environment through the CEEACE block
configuration of the peer subscription period. The SPOUT and/or OPOUT outputs are stored at the
- 708 -
Chapter 20 - UCN Interface
rate of the UCNOUT block execution, while the MODEOUT output is stored whenever necessary
(normally a one-time store) to form the cascade with the UCN point. The monitoring parameter
CASSTS shows the status of the remote cascade match between ACE controller and UCN
regulatory control points during execution as follows:
Starting with Experion R430, the SPPIN, RSPPIN, and/or OPIN input to the EUCNOUT block is
updated as part of each execution of the Control Module. The SPOUT and/or OPOUT outputs are
stored at the rate of the EUCNOUT block execution, while the MODEOUT output is stored
whenever necessary (normally a one-time store) to form the cascade with the EUCN point. The
monitoring parameter CASSTS shows the status of the remote cascade match between ACE/C300
Controller and EUCN regulatory control points during execution as follows:
l CASSTS = CASOK: Shows that remote cascade match is found between ACE/C300 and
UCN/EUCN regulatory control point.
l CASSTS = CASMISMATCH: Shows that remote cascade mismatch was found between
ACE/C300 and UCN/EUCN regulatory point.
l CASSTS = SECDATANOTREAD: Shows that secondary data from UCN/EUCN regulatory control
point is not being fetched.
- 709 -
CHAPTER
21 HIWAY INTERFACE
This library includes a HIWAYOUT block. The HIWAYOUT block provides configurable connections
and compatible data mapping between ACE and Data Hiway controllers through the OPC in a
TotalPlant Process Network (TPN) server. The following subsections provide a functional
description of the HIWAYOUT block
The following table lists the major functions the HIWAYOUT block performs along with a brief
description of the function.
- 710 -
Chapter 21 - Hiway Interface
Function Description
Stores to Translates secondary data (SECDATA) from Data Hiway regulatory control points
regulatory to ACE controller compatible back calculation (BACKCALC) data.
points.
The data structures for SECDATA and BACKCALC pass information back through
the control path from secondaries to primaries. They contain data like
initialization request, initialization value, and anti-reset windup status.
The block forwards inputs it receives from the primary of a regulatory control
function block in the ACE controller to a Data Hiway regulatory control point.
Stores to setpoint (SP) Data Hiway Regulatory Control point are converted to
Engineering Units using the Engineering Units range obtained from the Data
Hiway point SECDATA fetch.
Stores to Participates in Remote Cascade Request protocol for Data Hiway regulatory
Analog control point MODE changes.
Output and
Composite If a user or a program attempts to change the MODE of a Data Hiway point to
Points. Cascade (CAS), the MODE does not change immediately nor is it stored to a box
on the Data Hiway. It does set the cascade request (CASREQ) parameter in the
SECDATA structure to REQ.
Setting the CASREQ value to REQ, triggers the HIWAYOUT block to set the mode
to Cascade when it reads the CASREQ parameter in the SECDATA. This completes
the formation of the cascade strategy. The MODE now goes to CAS and the
CASREQ reverts to its default value of NOTREQ.
If communications between the ACE controller and the Data Hiway fail, the
MODE goes back to Manual (MAN) and the CASREQ value is set to REQ.
Remote Description
Cascade
Type
SPC - Used for Supervisory to Level 1 controller cascade - HIWAYOUT block writes to the
Setpoint setpoint (SP) of the Data Hiway regulatory control point, when the point is in
Control Cascade (CAS) mode.
DDC - Used for Supervisory store to Output directly - HIWAYOUT block writes to the output
Direct (OP) of the Data Hiway regulatory control, Analog Output (AO), or Analog Composite
Digital (AC) point, when the point is in Cascade (CAS) mode.
Control
- 711 -
Chapter 21 - Hiway Interface
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l Item Name - The name of the Entity that the Control Module containing
the block will be associated with in the Enterprise Model Builder
hierarchy.
l 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.
l Remote Cascade Type (REMCASTYPE) - Lets you select the type of remote
cascade function the HIWAYOUT block is to support. See the previous
section
l About remote cascade - UCNOUT/EUCNOUT block for more information.
l Simulation Mode (SIMMODE) - Lets you specify the type of simulation
mode the block is to support in an ACE controller simulation application.
The default selection is NONE and cannot be changed in an ACE
controller that is operating on process. You can only change this
parameter, if the simulation enable (SIMENABLE) parameter for the ACE
Controller is True or ON and the ACE Controller simulation state
(SIMSTATE) parameter has a value other than SIMNONE. See the SIM-
ACE User Guide for more information about defining simulation levels
using SIMMODE.
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 Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences block's faceplate.
- 712 -
Chapter 21 - Hiway Interface
ATTENTION
ATTENTION It is possible to configure and load a Control Module that includes a HIWAYOUT
block with connections that are not consistent for the selected Remote Cascade Type. In this
case, you will not be permitted to activate the Control Module in the Monitoring mode.
If a warning prompt appears about inconsistent HIWAYOUT input and output connections
when saving a Control Module, be sure you have configured the correct inputs and outputs
for the selected Remote Cascade Type before you close the Control Module.
Figure 21.1 Example of HIWAYOUT block used to do setpoint control of a regulatory Control Builder
point
- 713 -
Chapter 21 - Hiway Interface
Table 21.1 Example of HIWAYOUT block used to write to an AO block on the High Level Process
Interface Unit (HLPIU) for Direct Digital Control
- 714 -
Chapter 21 - Hiway Interface
l CASSTS = CASOK: Shows that remote cascade match is found between ACE and HIWAY
regulatory control point.
l CASSTS = CASMISMATCH: Shows that remote cascade mismatch was found between ACE and
HIWAY regulatory point.
l CASSTS = SECDATANOTREAD: Shows that secondary data from HIWAY regulatory control point
is not being fetched.
- 715 -
CHAPTER
22 EXCHANGE FUNCTIONS
- 716 -
Chapter 22 - Exchange Functions
- 717 -
Chapter 22 - Exchange Functions
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l 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.
l Command (COMMAND) - Lets you set the block's current MODE. The
selections are PLC5TYPREAD, PLC5TYPWRITE, CIPREAD, and
CIPWRITE.
(Note that the corresponding communications protocol for a
PLC5TYPREAD or PLCTYPWRITE selection is PCCC (Programmable
Controller Communications Commands) and the CIP (Control and
Information Protocol) communications protocol is used for a CIPREAD or
CIPWRITE selection.)
l Number of Flag Values (NFLAG) - Lets you set the amount of Flags you
want to control (1 .. 512).
Communications l Path to Device (PATH) - The relative path from the originator (C300 or
C200/C200E Controller) to the target device (or the DHRIO module
when the target device is on DH+) is specified as a comma-separated list
of path segments. Each path segment is specified as an X, Y pair where
X can either be 1 (indicating that this is an ICP Backplane Segment) or 2
(indicating that this is a ControlNet/Ethernet or FTE Segment)
depending on the type of communication network used between the
originator and the target devices.
l For ControlNet communications, when X is 1, Y denotes a slot number
in the range 0 to 16. When X is 2, Y denotes a ControlNet MAC ID in the
range 1 to 99. The first path segment must be an ICP Backplane
Segment. The path segment types, MAC IDs and slot numbers must be
specified in decimal values. Binary, octal or hexadecimal values are not
supported. IP Addresses are not supported, when communicating on
ControlNet. The following are examples of valid paths:
1. 1, 5 (Path from the C200/C200E to a device in slot 5 of the same
chassis)
2. 1, 0, 2, 3 (Path from the C200/C200E through the CNI in slot 0 to a
device that is on ControlNet with MAC ID 3)
3. 1, 5, 2, 7, 1, 3 (Path from the C200/C200E through the CNI in slot 5 to
a CNI with MAC ID 7 to a device in slot 3)
- 718 -
Chapter 22 - Exchange Functions
Configuration Description
Tab
the FTEB module in the target C200/C200E chassis. The second path
segment denotes an ICP backplane segment and X must always be 1.
The Y denotes a slot number for the target module in the chassis in
the range 0 to 16. The path segment types must be specified in
decimal values. Binary, octal or hexadecimal values are not supported.
For example,
l 2, 10.0.0.6,1,3 is a valid path from the C300 through the
FTEB module with IP address 10.0.0.6 to the target device in
slot 3 in the C200/C200E chassis.
When the target device is on the DH+ network, the path is the relative path
from the originator to the DHRIO module. Additional values are used to
specify the address of the target device on the DH+ network. See the
following DHFL parameter for details.
- 719 -
Chapter 22 - Exchange Functions
Configuration Description
Tab
l File Name in Target Device (FILENAME) -The File Name in the target
device is specified as a Logical ASCII Symbolic address without the
Logical ASCII Identifier, when COMMAND is PLC5TYPREAD or
PLC5TYPWRITE. For example, a valid PCCC File Name and Offset in a
target device value might be N7:0.
When COMMAND is CIPREAD or CIPWRITE, this is then the name of the
file in the target device.
l When CIPREAD or CIPWRITE is selected, the FILENAME refers to the
Controller tag associated with the variable in the target device. For
example, HMI_Read is the name of a Numeric array in the CL5555
controller tags.
l Use DH+ through DHRIO? (DHFL) - Lets you specify whether or not the
target device is on an Allen-Bradley Data Highway and is connected
through a DHRIO module. The default selection is UNCHECKED (target
device is not on DH+).
The following parameters are only active when the DHFL parameter is
selected (CHECKED).
l DH+ Channel A/B (DHCHANNEL) - Lets you specify which DH+ channel
on the DHRIO to use for this connection. The default selection is A for
Channel A.
l DH+ Source Link (DHSRCLINK) - Lets you specify the source link for the
DH+ route when using DH+ Remote Messaging. This parameter should
be set to zero when using DH+ Local Messaging. The default selection is
0.
l DH+ Destination Link (DHDESTLINK) - Lets you specify the destination
link for the DH+ route when using DH+ Remote Messaging. This
parameter should be set to zero when using DH+ Local Messaging. The
default selection is 0.
l Target Node Address (octal) (DHNODE) - Lets you specify the node
number (0 to 77 octal) of the target node on the DH+ network. The
default value is 0 (octal).
Status/Data Process Value, from device (PVFL) - The Status/Data Tab in Configuration
Form contains the initial values of the configured number of flag values.
When this is a “read” block, we cannot write to these values (they will be
obtained from the target device when the block starts executing and a send is
triggered.
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 Lets you select the available parameters that you want to appear on the face
Parameters of the function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face
Parameters of the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences block's faceplate.
l Function-REQFLAGARRAY Block
l Input/Output-REQFLAGARRAY Block
l REQFLAGARRAY parameters
- 720 -
Chapter 22 - Exchange Functions
- 721 -
Chapter 22 - Exchange Functions
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l 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.
l Command (COMMAND) - Lets you set the block's current MODE. The
selections are PLC5TYPREAD, PLC5TYPWRITE, CIPREAD, and
CIPWRITE.
(Note that the corresponding communications protocol for a
PLC5TYPREAD or PLCTYPWRITE selection is PCCC (Programmable
Controller Communications Commands) and the CIP (Control and
Information Protocol) communications protocol is used for a CIPREAD or
CIPWRITE selection.)
l Number of Numeric Values (NNUMERIC) - Lets you set the amount of
floating point integers you want to control (1 .. 64).
l Data Type in Target device (TGTDATATYPE) - Lets you specify the type of
data in the target device. The selections are FLOAT32, SIGNEDINT8,
SIGNEDINT16 AND SIGNEDINT 32.
Communications l Path to Device (PATH) - The relative path from the originator (C300 or
C200/C200E Controller) to the target device (or the DHRIO module
when the target device is on DH+) is specified as a comma-separated list
of path segments. Each path segment is specified as an X, Y pair where
X can either be 1 (indicating that this is an ICP Backplane Segment) or 2
(indicating that this is a ControlNet/Ethernet or FTE Segment)
depending on the type of communication network used between the
originator and the target devices.
l For ControlNet communications, when X is 1, Y denotes a slot number
in the range 0 to 16. When X is 2, Y denotes a ControlNet MAC ID in the
range 1 to 99. The first path segment must be an ICP Backplane
Segment. The path segment types, MAC IDs and slot numbers must be
specified in decimal values. Binary, octal or hexadecimal values are not
supported. IP Addresses are not supported, when communicating on
ControlNet. The following are examples of valid paths:
1. 1, 5 (Path from the C200/C200E to a device in slot 5 of the same
chassis)
2. 1, 0, 2, 3 (Path from the C200/C200E through the CNI in slot 0 to a
device that is on ControlNet with MAC ID 3)
3. 1, 5, 2, 7, 1, 3 (Path from the C200/C200E through the CNI in slot 5 to
a CNI with MAC ID 7 to a device in slot 3)
- 722 -
Chapter 22 - Exchange Functions
Configuration Description
Tab
2. C300 (Originator on FTE) to C200/C200E (Target on FTE) within the
same FTE community but associated with different Experion servers
scenario: The X in the first path segment should always start with a 2 to
indicate that it is a FTE segment. The Y path denotes the IP address for
the FTEB module in the target C200/C200E chassis. The second path
segment denotes an ICP backplane segment and X must always be 1.
The Y denotes a slot number for the target module in the chassis in
the range 0 to 16. The path segment types must be specified in
decimal values. Binary, octal or hexadecimal values are not supported.
For example,
l 2, 10.0.0.6,1,3 is a valid path from the C300 through the
FTEB module with IP address 10.0.0.6 to the target device in
slot 3 in the C200/C200E chassis.
- 723 -
Chapter 22 - Exchange Functions
Configuration Description
Tab
When the target device is on the DH+ network, the path is the relative path
from the originator to the DHRIO module. Additional values are used to
specify the address of the target device on the DH+ network. See the
following DHFL parameter for details.
l File Name in Target Device (FILENAME) -The File Name in the target
device is specified as a Logical ASCII Symbolic address without the
Logical ASCII Identifier, when COMMAND is PLC5TYPREAD or
PLC5TYPWRITE. For example, a valid PCCC File Name and Offset in a
target device value might be N7:0.
When COMMAND is CIPREAD or CIPWRITE, this is then the name of the
file in the target device.
l When CIPREAD or CIPWRITE is selected, the FILENAME refers to the
Controller tag associated with the variable in the target device. For
example, HMI_Read is the name of a Numeric array in the CL5555
controller tags.
l Use DH+ through DHRIO? (DHFL) - Lets you specify whether or not the
target device is on an Allen-Bradley Data Highway and is connected
through a DHRIO module. The default selection is UNCHECKED (target
device is not on DH+).
The following parameters are only active when the DHFL parameter is
selected (CHECKED).
l DH+ Channel A/B (DHCHANNEL) - Lets you specify which DH+ channel
on the DHRIO to use for this connection. The default selection is A for
Channel A.
l DH+ Source Link (DHSRCLINK) - Lets you specify the source link for the
DH+ route when using DH+ Remote Messaging. This parameter should
be set to zero when using DH+ Local Messaging. The default selection is
0.
l DH+ Destination Link (DHDESTLINK) - Lets you specify the destination
link for the DH+ route when using DH+ Remote Messaging. This
parameter should be set to zero when using DH+ Local Messaging. The
default selection is 0.
l Target Node Address (octal) (DHNODE) - Lets you specify the node
number (0 to 77 octal) of the target node on the DH+ network. The
default value is 0 (octal).
Status/Data Process Value, from device (PV) - The Status/Data tab contains the initial
data values to be written to the target. Control strategies in the CPM can
modify these values at run-time. The operator at run-time can also modify
these values.
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 Lets you select the available parameters that you want to appear on the face
Parameters of the function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face
Parameters of the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences block's faceplate.
l Function-REQNUMARRAY Block
- 724 -
Chapter 22 - Exchange Functions
l Input/Output-REQNUMARRAY Block
l REQNUMARRAY parameters
- 725 -
Chapter 22 - Exchange Functions
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l 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.
l Command (COMMAND) - Lets you set the block's current MODE. The
selections are PLC5TYPREAD, PLC5TYPWRITE, CIPREAD, and
CIPWRITE.
(Note that the corresponding communications protocol for a
PLC5TYPREAD or PLCTYPWRITE selection is PCCC (Programmable
Controller Communications Commands) and the CIP (Control and
Information Protocol) communications protocol is used for a CIPREAD or
CIPWRITE selection.)
l Number of String Values (NSTRING) - Lets you set the amount of ASCII
strings needed (1..8).
l Char Length of String Values (STRLEN) - Lets you select the length of
strings (1..64) needed. This is based on the NSTRING value. I.E.
NSTRING = 4 then STRLEN = 16. (The product of NSTRING and STRLEN
cannot exceed 64.)
Communications l Path to Device (PATH) - The relative path from the originator (C300 or
C200/C200E Controller) to the target device (or the DHRIO module
when the target device is on DH+) is specified as a comma-separated list
of path segments. Each path segment is specified as an X, Y pair where
X can either be 1 (indicating that this is an ICP Backplane Segment) or 2
(indicating that this is a ControlNet/Ethernet or FTE Segment)
depending on the type of communication network used between the
originator and the target devices.
Note: You cannot use the REQTEXTARRAY block to transfer text data
with a CL5550 PLC.
l For ControlNet communications, when X is 1, Y denotes a slot number
in the range 0 to 16. When X is 2, Y denotes a ControlNet MAC ID in the
range 1 to 99. The first path segment must be an ICP Backplane
Segment. The path segment types, MAC IDs and slot numbers must be
specified in decimal values. Binary, octal or hexadecimal values are not
supported. IP Addresses are not supported, when communicating on
ControlNet. The following are examples of valid paths:
1. 1, 5 (Path from the C200/C200E to a device in slot 5 of the same
chassis)
2. 1, 0, 2, 3 (Path from the C200/C200E through the CNI in slot 0 to a
device that is on ControlNet with MAC ID 3)
3. 1, 5, 2, 7, 1, 3 (Path from the C200/C200E through the CNI in slot 5 to
a CNI with MAC ID 7 to a device in slot 3)
- 726 -
Chapter 22 - Exchange Functions
Configuration Description
Tab
C300 having the IP address 10.0.0.6.
2. C300 (Originator on FTE) to C200/C200E (Target on FTE) within the
same FTE community but associated with different Experion servers
scenario: The X in the first path segment should always start with a 2 to
indicate that it is a FTE segment. The Y path denotes the IP address for
the FTEB module in the target C200/C200E chassis. The second path
segment denotes an ICP backplane segment and X must always be 1.
The Y denotes a slot number for the target module in the chassis in
the range 0 to 16. The path segment types must be specified in
decimal values. Binary, octal or hexadecimal values are not supported.
For example,
2, 10.0.0.6,1,3 is a valid path from the C300 through the FTEB module
with IP address 10.0.0.6 to the target device in slot 3 in the
C200/C200E chassis.
3. C300 (Originator on FTE) to C200/C200E (Target on ControlNet)
scenario: The X path segment should always start with 2 (Indicating
that this is an FTE segment) and the Y path denotes the IP Address of
the FTEB module in the target C200/C200E chassis. The subsequent
X, Y pair must denote path segments for the ICP Backplane Segment.
Where the X path is always 1, and the Y path denotes a slot number of
the target module in the range 0 to 16. The path segment types must
be specified in decimal values. Binary, octal or hexadecimal values are
not supported. For example,
2, 10.0.0.6,1,5,2,7,1,3 is a valid path from the C300 through the FTEB
module with the IP address 10.0.0.6 to the CNI in slot 5 to the CNI with
MAC ID 7 on ControlNet to the device in slot 3.
4. C200/C200E (Originator on FTE) to C200/C200E (Target on FTE)
within the same FTE community but associated with different Experion
servers scenario: When the X path is 1, the Y path denotes a slot
number in the range 0 to 16. When X is 2, Y denotes a FTE IP address.
The first path segment must be an ICP Backplane Segment, so the X
path is always 1. The path segment types, IP address and slot numbers
must be specified in decimal values. Binary, octal or hexadecimal
values are not supported. For example,
1,5,2,10.0.0.6,1,3 is a valid path from the C200/C200E to a FTEB
module in slot 5 of the same chassis, then through FTE to a FTEB
module with the IP address 10.0.0.6 in the target C200/C200E
chassis to the device in slot 3.
5. C200/C200E (Originator on FTE) to C200/C200E (Target on
ControlNet) scenario: When the X path is 1, the Y path denotes a slot
number in the range 0 to 16. When X is 2, Y denotes a FTE IP address.
The first path segment must be an ICP Backplane Segment, so the X
path is always 1. The subsequent X, Y pair following the IP address,
must denote an ICP Backplane Segment through CNIs to the
ControlNet C200/C200E Controller. The path segment types, IP
address and slot numbers must be specified in decimal values. Binary,
octal or hexadecimal values are not supported. For example,
1,5,2,10.0.0.6,1,5,2,7,1,3 is a valid path from the C200/C200E to the
FTEB module in slot 5 of the same chassis, then through FTE to the
FTEB module with IP address 10.0.0.6 in the target C200/C200E
chassis to the CNI in slot 5 to the CNI with MAC ID 7 on ControlNet to
the device in slot 3.
When the target device is on the DH+ network, the path is the relative path
from the originator to the DHRIO module. Additional values are used to
- 727 -
Chapter 22 - Exchange Functions
Configuration Description
Tab
specify the address of the target device on the DH+ network. See the
following DHFL parameter for details.
l File Name in Target Device (FILENAME) -The File Name in the target
device is specified as a Logical ASCII Symbolic address without the
Logical ASCII Identifier, when COMMAND is PLC5TYPREAD or
PLC5TYPWRITE. For example, a valid PCCC File Name and Offset in a
target device value might be N7:0.
When COMMAND is CIPREAD or CIPWRITE, this is then the name of the
file in the target device.
l When CIPREAD or CIPWRITE is selected, the FILENAME refers to the
Controller tag associated with the variable in the target device. For
example, HMI_Read is the name of a Numeric array in the CL5555
controller tags.
l Use DH+ through DHRIO? (DHFL) - Lets you specify whether or not the
target device is on an Allen-Bradley Data Highway and is connected
through a DHRIO module. The default selection is UNCHECKED (target
device is not on DH+).
The following parameters are only active when the DHFL parameter is
selected (CHECKED).
l DH+ Channel A/B (DHCHANNEL) - Lets you specify which DH+ channel
on the DHRIO to use for this connection. The default selection is A for
Channel A.
l DH+ Source Link (DHSRCLINK) - Lets you specify the source link for the
DH+ route when using DH+ Remote Messaging. This parameter should
be set to zero when using DH+ Local Messaging. The default selection is
0.
l DH+ Destination Link (DHDESTLINK) - Lets you specify the destination
link for the DH+ route when using DH+ Remote Messaging. This
parameter should be set to zero when using DH+ Local Messaging. The
default selection is 0.
l Target Node Address (octal) (DHNODE) - Lets you specify the node
number (0 to 77 octal) of the target node on the DH+ network. The
default value is 0 (octal).
Status/Data Process Value, from device (STR) - The Status/Data tab contains the initial
data values to be written to the target. Control strategies in the CPM can
modify these values at run-time. The operator at run-time can also modify
these values.
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 Lets you select the available parameters that you want to appear on the face
Parameters of the function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face
Parameters of the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences block's faceplate.
l Function-REQTEXTARRAY Block
l Input/Output-REQTEXTARRAY Block
- 728 -
Chapter 22 - Exchange Functions
l REQTEXTARRAY parameters
The REQTEXTARRAY block supports a maximum size of 64 two-byte characters. The following table
shows the maximum data combinations that you can configure through NSTRING and STRLEN
values. Illegal combinations of NSTRING and STRLEN values, those requiring more than 64 two-
byte characters of data, will be rejected.
2 32 [0. .1]
4 16 [0. .3]
8 8 [0. .7]
- 729 -
Chapter 22 - Exchange Functions
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l PCCC File Number (FILENUM) - Lets you specify the file number (0 to
999) to be emulated when accessing this block through the PCCC
(Programmable Controller Communications Commands) protocol from a
remote device. The default value is 0.
l CIP Tag Name (CIPNAME) - Lets you specify the tag name of this array
when accessing this block through the CIP protocol from a remote device.
The default entry is blank (no name).
l Number of Flag Values (NFLAG) - Lets you set the amount of Flags you
want to control (1 .. 512). The default value is 1.
l Process Value, from device (PVFL) - Contains the values of the configured
number of flag values that are the “target” for a remote device initiated
read or write message request.
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 Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences block's faceplate.
l Function-RSPFLAGARRAY Block
l Input/Output-RSPFLAGARRAY Block
l RSPFLAGARRAY parameters
ATTENTION
The Process Values (PVFL[N]) can be overwritten by operators or other programs (SCMs),
when the value is also being written by a remote device as part of a write request type
operation. Be sure your control strategy design does not allow write conflicts.
- 730 -
Chapter 22 - Exchange Functions
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l PCCC File Number (FILENUM) - Lets you specify the file number (0 to
999) to be emulated when accessing this block through the PCCC
(Programmable Controller Communications Commands) protocol from a
remote device. The default value is 0.
l CIP Tag Name (CIPNAME) - Lets you specify the tag name of this array
when accessing this block through the CIP protocol from a remote device.
The default entry is blank (no name).
l Number of Numeric Values (NNUMERIC) - Lets you set the amount of
floating point integers you want to control (1 .. 64). The default value is 1.
l Data Type for PCCC/CIP access (DATATYPE) - Lets you specify the type of
data that can be read from or written to by a remote device. The
selections are FLOAT32, SIGNEDINT8, SIGNEDINT16 and SIGNEDINT
32. The default value is FLOAT32.
l Process Value, from device (PV) - Contains the data values to be read
from or written to by the remote device.
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 Lets you select the available parameters that you want to appear on the face
Parameters of the function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face
Parameters of the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences block's faceplate.
l Function-RSPNUMARRAY Block
l Input/Output-RSPNUMARRAY Block
l RSPNUMARRAY parameters
- 731 -
Chapter 22 - Exchange Functions
- 732 -
Chapter 22 - Exchange Functions
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l PCCC File Number (FILENUM) - Lets you specify the file number (0 to
999) to be emulated when accessing this block through the PCCC
(Programmable Controller Communications Commands) protocol from a
remote device. The default value is 0.
l CIP Tag Name (CIPNAME) - Lets you specify the tag name of this array
when accessing this block through the CIP protocol from a remote device.
The default entry is blank (no name).
l Number of String Values (NSTRING) - Lets you set the amount of ASCII
strings needed (1..8).
l Character Length of String Values (STRLEN) - Lets you select the length
of strings (1..64) needed. This is based on the NSTRING value. I.E.
NSTRING = 4 then STRLEN = 16. (The product of NSTRING and STRLEN
cannot exceed 64.)
l Process Value, from device (STR) - Contains the array of strings to be
read from or written to by the remote device.
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 Lets you select the available parameters that you want to appear on the face
Parameters of the function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face
Parameters of the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences block's faceplate.
l Function-RSPTEXTARRAY Block
l Input/Output-RSPTEXTARRAY Block
l RSPTEXTARRAY parameters
The RSPTEXTARRAY block supports a maximum size of 64 two-byte characters. The following table
shows the maximum data combinations that you can configure through NSTRING and STRLEN
values. Illegal combinations of NSTRING and STRLEN values, those requiring more than 64 two-
byte characters of data, will be rejected.
- 733 -
Chapter 22 - Exchange Functions
2 32 [0. .1]
4 16 [0. .3]
8 8 [0. .7]
- 734 -
CHAPTER
Auxiliary function blocks provide a variety of configurable functions for conditioning, calculating,
and compensating PV data in support of regulatory control functions.
The following table presents the various functions that can be performed through the
configuration of the associated Auxiliary function block.
ATTENTION
The ROC block can be used only with C300, C200E, and ACE controllers and it is not
supported with C200 controllers.
CTUD Counts the inputs Lets you configure the algorithm to start functioning
(COUNTER values according to the status of the count on level flag
UP/DOWN) (CNTLVLFL).
Block
- 735 -
Chapter 23 - Auxiliary Function Blocks
LEADLAG Block Provide lead and lag Provides lead and lag compensation to a change in
compensation input value calculation for corresponding change in
PV.
ROC (Rate of Limits the rate of Provides computational block intended for use on the
Change) Block input and provides input side of function blocks for limiting the input
the output variable variable to the block (typically SP).
based on the rate trip
limits
SIGNALSEL Select one of up to six The Signal Selector function block accepts as many
(Signal input signals or as six input signals, and may be configured to do one
Selector) Block calculate the average of the following on these inputs:
of a set of inputs
Select the input with the minimum value.
Select the input with the maximum value.
- 736 -
Chapter 23 - Auxiliary Function Blocks
l LEADLAG Block
l ROC (Rate of Change) Block
l SIGNALSEL (Signal Selector) Block
l TOTALIZER Block
Major Description
Function
Input Auxiliary blocks get input data from other function blocks. Input processing gets
Processing this data, checks that its valid, and updates the appropriate block parameters.
Algorithm This involves calculations that are unique to each block. The result or output is
Calculation stored in PV. Depending of the particular Auxiliary block, additional functions may
be included.
l Function-AUXCALC block
l Configuration example-AUXCALC block
l Input-AUXCALC block
l Output-AUXCALC block
l Expressions-AUXCALC block
l Parameters in Expressions-AUXCALC block
l Guidelines for Writing Expressions-AUXCALC block
l Assignable Outputs-AUXCALC block
l AUXCALC parameters
- 737 -
Chapter 23 - Auxiliary Function Blocks
- 738 -
Chapter 23 - Auxiliary Function Blocks
Table 23.2 Example CB configuration using AUXCALC block for range conversion.
- 739 -
Chapter 23 - Auxiliary Function Blocks
TagName is the name of the external reference component (i.e. an OPC Server). Text can contain
any characters, space, and special characters except for the delimiter character.
When entering this format, only the syntax and TagName are checked for accuracy. The correct
syntax of TagName-dot-delimiter-text-delimiter is verified and the TagName is verified to be an
external reference component. If either of these stipulations is incorrect, an error is issued. The
text between the delimiters is not checked. It is the users responsibility to ensure that the text is
something that the external reference component will understand. If this text is incorrect runtime
errors will occur.
Expressions support the single quote character, ‘, as a special delimiter that can be used to
surround the OPC Server namespace portion of an external/OPC reference.
For example, OPCTag.‘tag.Param(1)’ can be used so that the parenthesis characters do not
confuse the expression parser.
ATTENTION
When the expression is sent to the external reference component, the delimiters are
removed: TagName.‘text’ becomes TagName.text.
l 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.
l Expressions cannot contain an assignment operation (a colon followed by an equal sign with
- 740 -
Chapter 23 - Auxiliary Function Blocks
TIP
You can use the integer parameters YEAR, MONTH, DAY HOUR, MINUTE, and SECOND that
provide local date and time for the controller in all expressions, just like other integer
parameters.
ATTENTION
Prior to R400 releases, NUMERIC blocks were used for configuring the constant values to
the Calculator blocks. With R400 release, the constant values can be directly configured
(using CONST[1..8]) in the Calculator blocks and a short description for the expressions can
also be provided (using (EXPRDESC[1..8]).
The expression constant parameters (CONST[1..8]) are used with the expressions as follows:
l 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
l The expression constant parameters (CONST[1..8]) support runtime indexing in the
expressions.
Example:
CM1.CALC1.CONST[CM1.CALC1.X[1]] + CM1.CALC1.X[2]
The results of the expressions, which use the CONST [1…8] parameters, are affected if you
change the values of these parameters on the Constants tab.
Note: When you migrate from a prior release (Pre-R400), the value of EXPRDESC[1..8]
parameter is blank by default. When you migrate to a future release, the EXPRDESC[1..8]
parameter retains its values.
l With R410, whenWhen you write the expressions using the TPS point's parameter references,
ensure that the TPS reference parameter is configured using the parentheses “()”to specify
array index. However, when you write the expressions using the other non-CEE points you can
use the brackets “[].”
- 741 -
Chapter 23 - Auxiliary Function Blocks
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.
l Function-AUXSUMMER block
l Configuration parameters-AUXSUMMER block
l Configuration example-AUXSUMMER block
l Input-AUXSUMMER block
l Output-AUXSUMMER block
l Error handling-AUXSUMMER block
l Restart or point activation-AUXSUMMER block
l AUXSUMMER parameters
- 742 -
Chapter 23 - Auxiliary Function Blocks
configured inputs.
PV = CPV * {((C [1] * P[1]) + D [1] ) + … ((C [i] * P[i] )+ D [i] )} + DPV
The AUXSUMMER block brings values from other function blocks and determines their statuses in
every execution cycle of the Control Module. It evaluates up to ten inputs and determines their
statuses. It derives values for PV and PV status based on its calculation of the inputs and the
configuration entries for the overall PV scale factor (CPV) and overall PV bias factor (DPV)
parameters.
You can also choose to disable an input (PENABLE[1..10]) and define a substitute value (PSUB
[1..10]) for the disabled input.
Overall Scaling CPV Lets you define the scaling factor to be applied to the PV value to
Factor for PV 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 DPV Lets you define the bias factor to be applied to the PV value to
PV 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 PDESC Lets you define a specific description for each input. This
Description [1..10] parameter can only be changed in the Project mode in Control
Builder before the block is loaded or re-loaded.
Enable/Disable PENABLE Lets you enable or disable a given input for the block. This
Switch [1..10] 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 C[1..10] Lets you define a scaling factor for the given input to meet your
for Inputs 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.
- 743 -
Chapter 23 - Auxiliary Function Blocks
Bias Values for D[1..10] Lets you define the bias value to be applied to the corresponding
Inputs 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 NUMPINPT This is a read-only parameter that shows the number of inputs
Process Input connected to the block. This parameter does not appear on the
Connections Main tab. It can be configured as monitoring parameter on the
face of the block.
- 744 -
Chapter 23 - Auxiliary Function Blocks
- 745 -
Chapter 23 - Auxiliary Function Blocks
- 746 -
Chapter 23 - Auxiliary Function Blocks
With R400, a newgeneral 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.
l C300 Controller
l C200E Controller
l ACE Controller
l ACE-T Controller
l SIM-C300
l SIM-C200E
l SIM-ACE
l Function-CTUD block
l Inputs-CTUD block
l Outputs-CTUD block
l Edge or Level trigger mechanism-CTUD block
l Supported algorithms-CTUD block
l Counter overflow and underflow conditions-CTUD block
l Effects of restart or point activation on CTUD
l Effects of Import or Export on CTUD
l Effects of Checkpoint operations CTUD
l Parameter error handling-CTUD block
l CTUD parameters
- 747 -
Chapter 23 - Auxiliary Function Blocks
ATTENTION
Counter equation selection (CNTEQN): Equation A is selected as the default equation. You
can select any equation based on your control strategy requirements.
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.
l If SELINT32FL is set to “FALSE”, the float input (INFLOAT64) is used.
l If SELINT32FL is set to “TRUE”, the integer input (ININT32) is used.
The following list illustrates how the different input values are stored.
l Boolean value
o If the input is 0, it is stored as 0.
o 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.
l Integer value
Full ranges of signed integer values (- 2,147,483,648 to + 2,147,483,647) are accepted.
l Floating point value
- 748 -
Chapter 23 - Auxiliary Function Blocks
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
REEOUT (Remote EEOUT) Block table.
l 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.
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.
- 749 -
Chapter 23 - Auxiliary Function Blocks
l Pause (PAUSEFL) - When this parameter is set to “TRUE”, the CTUD stops counting.
l 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.
l Reset (RESETFL) - When this parameter is set to “TRUE”, the CTUD's 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.
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.
The following diagram displays how the transition occurs in case of edge-trigger.
- 750 -
Chapter 23 - Auxiliary Function Blocks
ATTENTION
Input edge detection on the count up and countdown inputs are not enabled until the
second execution cycle following the initialization. Therefore, the reload of a CM containing
a CTUD block with an unchanged input state of “1” does not generate a count.
Level Trigger
If the CNTLVLFL flag is set to “TRUE”, the counter evaluates the count inputs (CNTUPFL or
CNTDNFL) as level-triggered quantities. CTUD counter value increment when the CNTUPFL is set
to “TRUE.”. The counter value decrements when the CNTDNFL is set to “TRUE.” The count input
flag (CNTDNFL or CNTUPFL) is cleared after the block execution. This allows for the recognition of
individual asynchronous value stores from programs, SCMs, CABs, or the Push block in between
counter block executions. The level value from wired input connections is fetched and recognized
each block execution even though Control Builder displays the “cleared” input value.
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.
- 751 -
Chapter 23 - Auxiliary Function Blocks
The following diagram displays how the transition occurs in case of level trigger.
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.
- 752 -
Chapter 23 - Auxiliary Function Blocks
- 753 -
Chapter 23 - Auxiliary Function Blocks
ATTENTION
The CTUD excludes a gap between zero and IN (INT32/FLOAT64) value for the following
scenarios.
l The IN value is greater than zero when using Equation D.
l 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.
The following table illustrates the scenarios in which the QUFL or QDFL parameters are set for
each algorithm.
D OUT == IN OUT == 0
- 754 -
Chapter 23 - Auxiliary Function Blocks
H OUT == 0 OUT == IN
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.
- 755 -
Chapter 23 - Auxiliary Function Blocks
ININT32 0
INFLOAT64 0.0
Count Flags
Configuration parameters
Output Flags
Output parameters
OUTINT32 0
OUTFLOAT64 NaN
l 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.
l Warnings are displayed while storing out-of-range or NaN floating point values.
l You can see errors while entering configuration values or dialog entry failures due to access
- 756 -
Chapter 23 - Auxiliary Function Blocks
lock. (For example, while trying to store a parameter with insufficient access level.)
l 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.
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.
- 757 -
Chapter 23 - Auxiliary Function Blocks
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l Description (DESC) - Block descriptor of up to 132 characters long.
l 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.
l Overall Scale Factor (CPV) - Lets you specify the overall-scaling factor for
the PV output. The default value is 1.
l Factor for P1 (C1) - Lets you specify the scaling factor for the P1 input.
The default value is 1.
l 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.
l Overall Bias (DPV) - Lets you specify an overall bias for the PV output. The
default value is zero (0).
l Bias for P1 (D1) - Lets you specify a bias for the P1 input. The default
value is zero (0).
l 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).
l Delay Type (DELAYTYP) - Lets you select the delay type as either Fixed or
Variable. The default selection is Fixed.
l 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).
l 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.
l 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
means 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 Control Builder.
Configuration Lets you select the available parameters that you want to appear on the face
Parameters of the function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face
Parameters of the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences block's faceplate.
l Function-DEADTIME block
l Input-DEADTIME block
l Output-DEADTIME block
l PV status-DEADTIME block
l Error handling-DEADTIME block
- 758 -
Chapter 23 - Auxiliary Function Blocks
The following Boolean flags (typically used with Logic and Alarm blocks) also reflect the value of
PVSTS:
l PVSTSFL.BAD - if PVSTS = Bad, this flag is on; otherwise it is off.
l PVSTSFL.NORM - if PVSTS = Normal, this flag is on; otherwise it is off.
l PVSTSFL.MAN - if PVSTS = Manual, this flag is ON; otherwise it is off.
l PVSTSFL.UNCERTN - if PVSTS = Uncertain, this flag is on; otherwise it is off.
- 759 -
Chapter 23 - Auxiliary Function Blocks
l 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:
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)
- 760 -
Chapter 23 - Auxiliary Function Blocks
l The sample rate of the P1 input value. This is the execution rate of the block.
l The delay time (DELAYTIME). For Fixed delay, delay time is user configured. For Variable delay,
the delay time is derived from the P2 input.
l 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.
The following relationship exists between DELAYTIME, Period (FB execution period in minutes)
and NUMLOC.
DELAYTIME>=Period * NUMLOC
DELAYTIME<=Period * 32000
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.
l P2<=1 / (Period * NUMLOC)
l P2>=1 / (Period * 32000)
In all other cases, use the scaling and bias factors to make sure the calculated delay time remains
within the range defined above.
ATTENTION
l 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.
l 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.
l You can connect DEADTIME blocks in series to achieve longer delays.
When the INITREQ parameter is True, the block's algorithm produces the same result as the
Restart condition.
- 761 -
Chapter 23 - Auxiliary Function Blocks
l Expands existing arrayed input parameters PSTS and P from six to ten.
l These arrayed parameters are added to correspond to each of the ten inputs.
o Input Description
o Scaling Factor
o Enable/Disable Switch
o PSUB Substitute Parameter
o PP Scaled Input
l 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.
l Function-ENHAUXCALC block
l Configuration parameters-ENHAUXCALC block
l Input-ENHAUXCALC block
l Output-ENHAUXCALC block
l Expressions-ENHAUXCALC block
l Parameters in Expressions-ENHAUXCALC block
l Guidelines for Writing Expressions-ENHAUXCALC block
l Enable/Disable switch example expression-ENHAUXCALC block
l Scaled Input example expression-ENHAUXCALC block
l Assignable Outputs-ENHAUXCALC block
l ENHAUXCALC parameters
- 762 -
Chapter 23 - Auxiliary Function Blocks
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.
l If PENABLE = 0 (Disable), then:
PP[i] = PSUB[i] * CP[i]
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.
l If PENABLE = 1 (Enable), then:
P[I] = The original input
PP[i] = P[I] * CP[I]
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.
- 763 -
Chapter 23 - Auxiliary Function Blocks
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 PDESC Lets you type your own description for each input.
Description [1..10]
Scaling CP[1..10] Lets you define a scaling factor for a corresponding input. The
Factor default value is 1.
Input PSUB[1..10] Lets you define a substitute value for corresponding input/scaled
Substitute input when the input is disabled. The default is NaN.
Value
Scaled PP[1..10] Lets you use a scaled input value in your expressions. This is a
Input read-only parameter with a NaN value in the Project tab.
- 764 -
Chapter 23 - Auxiliary Function Blocks
You do not need to associate the PENABLE[1..10] parameter with the corresponding input (p
[1..10]) explicitly in an expression.
l For example: MIN(CM.ENHAUXCALCA.P[1],value2,value3)
- 765 -
Chapter 23 - Auxiliary Function Blocks
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:
l TagName.'text'
TagName is the name of the external reference component (i.e. an OPC Server). Text can contain
any characters, space, and special characters except for the delimiter character.
When entering this format, only the syntax and TagName are checked for accuracy. The correct
syntax of TagName-dot-delimiter-text-delimiter is verified and the TagName is verified to be an
external reference component. If either of these stipulations is incorrect, an error is issued. The
text between the delimiters is not checked. It is the users responsibility to ensure that the text is
something that the external reference component will understand. If this text is incorrect runtime
errors will occur.
Expressions support the single quote character, ‘, as a special delimiter that can be used to
surround the OPC Server namespace portion of an external/OPC reference.
For example, OPCTag.'tag.Param(1)' can be used so that the parenthesis characters do not
confuse the expression parser.
ATTENTION
When the expression is sent to the external reference component, the delimiters are
removed: TagName.'text' becomes TagName.text.
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”.
l 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.
l 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.
l You can mix and nest all operators and functions (including conditional assignments) in any
order as long as types match or can be converted.
l You can use blanks between operators and parameter names, but they are not required.
l 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.
- 766 -
Chapter 23 - Auxiliary Function Blocks
ATTENTION
Prior to R400 releases, NUMERIC blocks were used for configuring the constant values to
the Calculator blocks. With R400 release, the constant values can be directly configured
(using CONST[1..8]) in the Calculator blocks and a short description for the expressions can
also be provided (using (EXPRDESC[1..8]).
The expression constant parameters (CONST[1..8]) are used with the expressions as follows:
l 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
l The expression constant parameters (CONST[1..8]) support runtime indexing in the
expressions.
Example: CM1.CALC1.CONST[CM1.CALC1.X[1]] + CM1.CALC1.X[2]
The results of the expressions, which use the CONST [1…8] parameters, are affected if you
change the values of these parameters on the Constants tab.
ATTENTION
When you migrate from a prior release (Pre-R400), the value of EXPRDESC[1..8] parameter
is blank by default. When you migrate to a future release, the EXPRDESC[1..8] parameter
retains its values.
l With R410, when you write the expressions using the TPS point's parameter references,
ensure that the TPS reference parameter is configured using the parentheses “()”to specify
array index. However, when you write the expressions using the other non-CEE points you can
use the brackets “[].”
PP[1]*2+P[2]
Here
- 767 -
Chapter 23 - Auxiliary Function Blocks
MIN(PP[10],P[2],C[1])
SQRT(PP[5])
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.
- 768 -
Chapter 23 - Auxiliary Function Blocks
The ENHGENLIN block processes the input value (P1) based on the linearization segment table
selected by the ACTLINSEG parameter. The number of configured linearization segment tables is
defined by NUMLINSEG parameter.
The block compares the input value (P1) with each segment based on a coordinate pair.
ATTENTION
ENHGENLIN block has two dimensional input (IN[i][j]) and output (OUT[i][j]) parameters.
i = represents the linearization segment table number determined by ACTLINSEG.
j = represents the co-ordinate number. The “j” value is determined by the P1 value.
n = represents the number of segment in the active curve. The “n” value is determined by
NUMSEGS [ACTLINSEG].
- 769 -
Chapter 23 - Auxiliary Function Blocks
When it finds a segment that intersects with the input, the block displays the respective output
value (PV) as follows:
l 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]
l If P1 is less than IN value in the first linearization point (IN[i][0]), the first segment is
extrapolated:
l If P1 is greater than the IN value in the last linearization point (IN[i][n]), the last segment is
extrapolated:
l 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.
l Function-ENHGENLIN block
l Configuration Parameters-ENHGENLIN block
l Configuration Example-ENHGENLIN block
l Input-ENHGENLIN block
l Output-ENHGENLIN block
l Error Handling-ENHGENLIN block
l Strategy Optimization using ENHGENLIN block
l ENHGENLIN block - Usage Scenario
l ENHGENLIN parameters
- 770 -
Chapter 23 - Auxiliary Function Blocks
ATTENTION
Note: The IN/OUT parameter values can be edited only through the TEMPIN and TEMPOUT
parameter values when the system is running. TEMPIN and TEMPOUT parameter is
enabled when ENBTUNE parameter is “ON”.
If you try to modify the IN/OUT parameter value when the CM is ACTIVE and CEE is RUN, an error
follows: “ENBTUNE parameter must be used to change IN/OUT parameter values”.
A single ENHGENLIN block is similar with four GENLIN blocks by providing 4 input-output
relationship curves. The ENHGENLIN block provides only one output for inputs rather the GENLIN
blocks provide 4 outputs.
Active ACTLINSEG Lets you assign the linearization segment table based on the
Linearization number of segment tables for PV calculation.
Segment Table
Number of NUMSEGS Lets you select the number of segments for the linearization
Segments [INDEX1] 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.
- 771 -
Chapter 23 - Auxiliary Function Blocks
Output Co OUT Lets you to type the output values for the linearization
ordinate [INDEX1] segment table.
[INDEX2]
- 772 -
Chapter 23 - Auxiliary Function Blocks
ATTENTION
The output of the C300 20ms PID block can be connected as an input (P1) to the
ENHGENLIN block instead of the NUMERIC block used in this example.
l PV.
l Boolean flag (PVSTSFL.BAD) set by PV to indicate to other function blocks, that this block's PV
status is bad.
l The ENHGENLIN block modifies the PVSTSFL.BAD status to ON if the following conditions are
satisfied:
l The Control Module containing the ENHGENLIN block cannot change the EXECSTATE status
to ACTIVE, if the following conditions are satisfied:
l Any of the segment co-ordinates (IN [ ] [ ] or OUT [ ] [ ]) contains NaN in the NUMSEGS range of
the two coordinate arrays.
l The IN [ ][ ] parameter values are not in ascending order. The values must be monotonically
strictly increasing.
l The OUT [][] parameters values are not in ascending order.
- 773 -
Chapter 23 - Auxiliary Function Blocks
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.
l Full Arc mode of governing (Uniform Operations)
l Partial Arc mode of governing (Sequence Operations)
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.
- 774 -
Chapter 23 - Auxiliary Function Blocks
The relation between the load percentage and the Governor Valves opening is gradually increases
and it is listed in the following table.
-1 -1
0 0
12.5 11.6
35.65 17.6
56.37 23
68.94 26.5
79.5 30
85.16 32.43
91.23 37.83
95.3 46.36
98.56 62.92
100 101
101 101
The Governor Valves open in a sequence defined by the manufacturer. There are three different
Governor Valves opening sequence.
- 775 -
Chapter 23 - Auxiliary Function Blocks
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.
- 776 -
Chapter 23 - Auxiliary Function Blocks
Sequenc Description
e
Number
SEQ 1 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:
l Governor Valves 3, 5, and 6 are fully opened
l GV4 is opened 25 % (approx)
l GV1 is opened 8% (approx.)
l GV2 is opened 0%
SEQ 2 First, the Governor Valves 3, 5, and 6 operation starts in the initial load, then the
Governor Valves 1, 2, and 4 operation starts sequentially in order as the load
increases. The following graph displays, when the load is 60 percentage:
l Governor Valves 3, 5, and 6 are fully opened
l GV1 is opened 25 % (approx)
l GV2 is opened 8% (approx.)
l GV4 is opened 0%
- 777 -
Chapter 23 - Auxiliary Function Blocks
Sequenc Description
e
Number
SEQ 3 First, the Governor Valves 3, 5, and 6 operation starts in the initial load, then the
Governor Valves 2, 4, and 1 operation starts sequentially in order as the load
increases. The following graph displays, when the load is 60 percentage:
l Governor Valves 3, 5, and 6 are fully opened
l GV2 is opened 25 % (approx)
l GV4 is opened 8% (approx.)
l GV1 is opened 0%
The co-ordinates for the Governor Valves for each sequence are explained in the following table.
For Governor Valves 1:
- 778 -
Chapter 23 - Auxiliary Function Blocks
52 -1 36 0 70 0
70 -1 52 0 36 0
- 779 -
Chapter 23 - Auxiliary Function Blocks
36 -1 70 0 52 0
0 -1
8.9 12.55
17.825 17.6
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
- 780 -
Chapter 23 - Auxiliary Function Blocks
ATTENTION
The ENHGENLIN block is typically applicable in the C200E and C300 (20ms CEE and 50ms
CEE) controllers, and ACE controllers. The ENHGENLIN block is not supported in the C200
controller.
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.
l Function-FLOWCOMP block
l Configuration parameters-FLOWCOMP block
l Input-FLOWCOMP block
- 781 -
Chapter 23 - Auxiliary Function Blocks
l Output-FLOWCOMP block
l Equations-FLOWCOMP block
l Additional considerations for FLOWCOMP Equation A
l Error handling-FLOWCOMP block
l Alarm behavior-FLOWCOMP block
l Alarm example-FLOWCOMP block
l Fail-Safe values-FLOWCOMP block
l FLOWCOMP parameters
Overall Scaling CPV Lets you define the overall scaling factor to be applied
Factor for PV to the PV value to meet your process requirements. The
default value is 1.
- 782 -
Chapter 23 - Auxiliary Function Blocks
Compensation COMPLOLM Lets you define a low limit for the flow compensation
Term Low Limit term The default value is 0.8.
PV Equation PVEQN Lets you select the flow compensation equation type
Type the block is to use. The default value is EQA (Equation
A).
Bad Comp Term BADCOMPTERM.PR Lets you specify the priority level for a bad COMPTERM
Alarm Priority alarm. The default value is LOW.
Bad Comp Term BADCOMPTERM.SV Lets you specify the severity level for a bad COMPTERM
Alarm Severity alarm. The default value is 0.
Alarm Filter MAXCYCLE Lets you specify the number of filter cycles before a bad
Cycles 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 P0 Lets you specify the zero pressure reference value for
Pressure equations that require it. The default value is 0.
Zero Ref. for T0 Lets you specify the zero temperature reference value
Temperature 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.
Steam Quality RQ Lets you specify the steam quality reference value for
equations that require it. The default value is 1.
Reference RMW Lets you specify the molecular weight reference value
Molecular for equations that require it. The default value is 1.
Weight
- 783 -
Chapter 23 - Auxiliary Function Blocks
If you need characterization or alarming on individual inputs to the FLOWCOMP block, provide the
inputs through a DATAACQ block.
If you want alarming for the compensated flow output, send the output to a DATAACQ block.
You can configure the COMPTERM parameter as an output pin on the FLOWCOMP block for
connection to another block.
Where:
- 784 -
Chapter 23 - Auxiliary Function Blocks
Equation A
- 785 -
Chapter 23 - Auxiliary Function Blocks
Equation B
Equation C
Equation C
- 786 -
Chapter 23 - Auxiliary Function Blocks
Equation E
Symbol definitions
Where:
G = Specific gravity
MW = Molecular weight
P = Pressure (input)
T = Temperature (input)
- 787 -
Chapter 23 - Auxiliary Function Blocks
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::
l NaN - In this case:
l COMPTERM will freeze to its last good value
l COMPTERM will never go to bad
l PV status will be set to UNCERTAIN
l 0 - In this case:
l If the COMPTERM is BAD, BAD COMPTERM alarm is raised right
away, PV status will be set to UNCERTAIN.
- 788 -
Chapter 23 - Auxiliary Function Blocks
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.
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:
- 789 -
Chapter 23 - Auxiliary Function Blocks
l If P1 is exactly equal to the input value at the beginning of any segment (that is, P1 = IN[i], for i
in the range of 0 to NUMSEGS):
PV = OUT[i]
l If P1 intersects the first segment (that is, P1 < IN[1]):
l If P1 intersects the last segment (that is, P1 > IN[i] for i = NUMSEGS - 1)):
l If P1 intersects any other segment (that is, IN[i] < P1 < IN[i + 1] for i =1 to NUMSEGS -2):
where:
IN[i] = input value at the beginning of the intersecting segment.
IN[i + 1] = input value at the end of the intersecting segment
ATTENTION
l 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.
l The segment coordinate values (IN[i]) must be specified in ascending order, from
smallest to largest value.
l Function-GENLIN block
l Inputs
l Outputs-GENLIN block
l Error handling-GENLIN block
l GENLIN parameters
- 790 -
Chapter 23 - Auxiliary Function Blocks
23.9.2 Inputs
The GENLIN block requires one input value (P1):
l P1 must be brought from another function block.
l P1STS represents the status of P1.
l PV and its status, PVSTS. It also sets Boolean flags PVSTSFL to reflect the status of PVSTS for
logical use.
- 791 -
Chapter 23 - Auxiliary Function Blocks
Each LEADLAG block supports the following user configurable attributes. The following table lists
the given name of the “Ta” in the parameter configuration form and then briefly describes the
attributes associated with that Tab. This data is only provided as a quick document reference, since
this same information is included in the on-line context sensitive Help.
- 792 -
Chapter 23 - Auxiliary Function Blocks
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l Description (DESC) - Block descriptor of up to 132 characters long.
l 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.
l 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.
l 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. .
l 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.
l 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.
l Overall Scale Factor (CPV) - Lets you specify the overall-scaling factor for
the PV output. The default value is 1.
l 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 Control Builder.
Configuration Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences block's faceplate.
l Function-LEADLAG block
l Input-LEADLAG block
l Output-LEADLAG block
l PV status-LEADLAG block
l Error handling-LEADLAG block
l Equation-LEADLAG block
l Time constant recommendations-LEADLAG block
l Restart condition-LEADLAG block
l LEADLAG parameters
- 793 -
Chapter 23 - Auxiliary Function Blocks
The following Boolean flags (typically used with Logic and Alarm blocks) also reflect the value of
PVSTS:
l PVSTSFL.BAD - if PVSTS = Bad, this flag is on; otherwise it is off.
l PVSTSFL.NORM - if PVSTS = Normal, this flag is on; otherwise it is off.
l PVSTSFL.MAN - if PVSTS = Manual, this flag is ON; otherwise it is off.
l PVSTSFL.UNCERTN - if PVSTS = Uncertain, this flag is on; otherwise it is off.
Where:
- 794 -
Chapter 23 - Auxiliary Function Blocks
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.)
When the INITREQ parameter is True, the block's algorithm produces the same result as the
Restart condition.
- 795 -
Chapter 23 - Auxiliary Function Blocks
ATTENTION
The ROC block can only be used with C300, C200E, and ACE Controllers.
With R410, the following parameters are introduced for configuring the on-delay time and off-
delay time for BADPV alarms.
l BADPVALM.TM
l BADPVALM.TMO
- 796 -
Chapter 23 - Auxiliary Function Blocks
The Rate of Change block supports the following user configurable attributes. The following table
lists the given name of the “Ta” in the parameter configuration form and then briefly describes the
attributes associated with that tab.
- 797 -
Chapter 23 - Auxiliary Function Blocks
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l 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.
l Description (DESC) - Block descriptor of up to 132 characters long.
l 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.
l Low Range in EUs - 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).
l 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.
l 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 slowdown in response time caused by this
rate limiting. The default value is Not a Number (NaN), which means no
rate limiting is applied.
l 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 slowdown in response
time caused by this rate limiting. The default value is Not a Number (NaN),
which means no rate limiting is applied.
l Deadband Time (BADPVALM.TM) -
With R410, thisparameter is introduced to define the duration in seconds
during which a process alarm reporting is suppressed. This helps in
preventing the nuisance alarms from being reported repeatedly during
the process upset and improves the efficiency of the operator. Once you
configure this value for an alarm, the alarm is reported on the Station
only if the alarm condition continues to exist even after this value expires.
The default time is 0; that is the alarm is reported as soon as the alarm
condition occurs.
You can configure individual deadband time for BADPVALM. However, if
you are migrating from pre-R410 to later releases, refer to Impact of
migration on alarm attributes
l Off-delay Time (BADPVALM.TMO) - With R410, thisparameter is
introduced to define the duration in seconds during which an RTN
reporting is suppressed even though the alarm condition does not exist.
The RTN is reported on the Station only after this time expires and the
alarm condition has returned to normal. The default time is 0; that is RTN
is reported as soon as the alarm condition returns to normal. However, if
you are migrating from pre-R410 to later releases, the alarm off-delay
time will be set as default value (0).
- 798 -
Chapter 23 - Auxiliary Function Blocks
Configuration Description
Tab
Identification Lets you view information pertinent to the qualification and version control
system and enter block comments, if desired.
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 Lets you select the available parameters that appear on the face of the
Parameters function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences block's faceplate.
Template Lets you view and define parameters for associated templates.
Defining
l Function-ROC block
l Configuration examples-ROC block
l Inputs-ROC block
l Outputs-ROC block
l Error handling-ROC block
l ROC parameters
l Limits the rate of input and provides the output variable based on the rate trip limits.
l 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.
l Uses the PVROCBYPASSFL parameter to BYPASS the rate trip limit.
l Provides a Bad PV alarm based on the status of the output.
l Rate limit is not applied and PV is set to P1 if the rate limits are NaN.
l For an invalid input (=NAN), rate limiting is not done and the output is NaN.
- 799 -
Chapter 23 - Auxiliary Function Blocks
ATTENTION
l The ROC block is basically a Math block.
l The use of an ROC block is not recommended in case the OP of a PID block is
connected to the P1 of an ROC block and the output is transmitted through PV to
the SP of a secondary PID in cascade. In such a case, if the secondary PID is back
INITIALIZED, the INITREQ is not propagated to the Primary PID because the ROC
block is connected between them. The ROC block does not have back initialization
capability.
l 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.
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
- 800 -
Chapter 23 - Auxiliary Function Blocks
direction and PVROCNEGFL indicates if the limit is exceeded in the negative direction. If P1= NAN,
rate limiting is not done and PV is set to NaN and PVROCPOSFL and PVROCNEGFL are reset. If the
limit is NaN, then limit is not applied and PV is set to P1.
User scenario 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.
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
l P1 - Process Input 1.
l PVROCPOSLM - PV Rate of Change limit in the positive direction.
l PVROCNEGLM - PV Rate of Change limit in the negative direction.
l PVROCPOSFL - This flag turns ON when rate limiting is done in the positive direction.
l PVROCNEGFL - This flag turns ON when rate limiting is done in the negative direction.
l PV - Output of ROC.
l BADPVFL - This flag is set when a bad input is received at the block.
l Access lock and index are verified during Load and Store of the block's parameters.
l If the positive limit is greater than span in EUs/min or less than 0, then a
“LimitOrRangeCrossover” Error is reported.
l If P1 is set to NaN, then, PV is set to NaN and BADPVFL is set to TRUE.
l If negative limit is greater than the span in EUs/min or less than 0 %, then
- 801 -
Chapter 23 - Auxiliary Function Blocks
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.
- 802 -
Chapter 23 - Auxiliary Function Blocks
R410For example, you can use the following parameters to configure the on-delay time, off-delay
time, deadband values, and deadband units for DEVALM parameter.
l DEVALM.TM
l DEVALM.TMO
l DEVALM.DB
l DEVALM.DBU
l Function-SIGNALSEL block
l Configuration parameters-SIGNALSEL block
l Configuration examples-SIGNALSEL block
l Input-SIGNALSEL block
- 803 -
Chapter 23 - Auxiliary Function Blocks
Method Processing
MIN Select the input with the minimum value. Ignored inputs are excluded.
MAX Select the input with the maximum value. Ignored inputs are excluded.
AVG Calculate the average of the inputs. Ignored inputs are excluded.
MUX Select an input based on the Multiplex value; i.e., act as a multiplexer. Inputs are not
ignored.
- 804 -
Chapter 23 - Auxiliary Function Blocks
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l Description (DESC) - Block descriptor of up to 132 characters long.
l 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.
l 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.
l 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.
l 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).
l Positive ROC Limit (EUs/min) (PVROCPOSLM) - 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
slowdown in response time caused by this rate limiting. The default value
is Not a Number (NaN), which means no rate limiting is applied.
l Negative ROC Limit (EUs/min) (PVROCNEGLM) - 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
slowdown in response time caused by this rate limiting. The default value
is Not a Number (NaN), which means no rate limiting is applied.
- 805 -
Chapter 23 - Auxiliary Function Blocks
Configuration Description
Tab
l Deviation Alarm Severity (DEVALM.SV) - Lets you set the severity of the
deviation alarm.
l Deadband Value (ALMDB/xxxxALM.DB) - Defines the minimum value that
needs to be added to or subtracted from trip point before reporting an
RTN. By specifying a deadband value, you can prevent nuisance alarms
due to noise at values near the trip point. The default value is 0. For a
high alarm, RTN is reported only when the OP value is less than trip point
- deadband value. For a low alarm, RTN is reported only when the OP
value is more than trip point + deadband value.
Prior to R410, once the deadband value was configured, this value was
loaded to the individual alarm parameters (for example, DEVALM.DB)
when the CM was loaded. If you configured the individual alarm
parameters as Monitoring Parameters for the block, you could change the
individual alarm value while monitoring the loaded block in CB.
With R410, deadband value can be individually configured for each alarm.
For example, you can configure DEVALM.DB as 5. However, if you are
migrating from pre-R410 to later releases, refer to Impact of migration on
alarm attributes.
l Deadband Time (xxxxALM.TM) - Defines the duration in seconds during
which a process alarm reporting is suppressed. This helps in preventing
nuisance alarms from being reported repeatedly during process upset
and improves the efficiency of the operator. Once you configure this value
for an alarm, the alarm is reported on the Station only if the alarm
condition continues to exist even after this value expires. The default time
is 0; that is the alarm is reported as soon as the alarm condition occurs.
Prior to R410, once configured, this value was loaded to the individual
alarm parameters (for example, DEVALM.TM) when the CM was loaded. If
you configured the individual alarm parameters as Monitoring
parameters for the block, you could change the individual alarm value
while monitoring the loaded block in CB.
With R410, deadband time can be individually configured for each alarm.
For example, you can configure DEVALM.TM as 5 seconds. However, if
you are migrating from pre-R410 to later releases, refer to Impact of
migration on alarm attributes.
l Deadband Units (ALMDBU/xxxxALM.DBU) - Defines the unit for the
deadband value - percent or engineering units. The default value is
percent.
Prior to R410, once configured, this value was loaded to the individual
alarm parameters (for example, DEVALM.DBU) when the CM was loaded.
If you configured the individual alarm parameters as Monitoring
parameters for the block, you could change the individual alarm value
while monitoring the loaded block in CB.
With R410, deadband unit can be individually configured for each alarm.
For example, you can configure DEVALM.DBU as percent. However, if you
are migrating from pre-R410 to later releases, refer to Impact of
migration on alarm attributes.
l Off-delay Time (xxxxALM.TMO) - Defines the duration in seconds during
which an RTN reporting is suppressed even though the alarm condition
does not exist. The RTN is reported on the Station only after this time
expires and the alarm condition has returned to normal. The default time
is 0; that is RTN is reported as soon as the alarm condition returns to
normal. If a deadband value is also configured, the RTN is reported only
when the OP value is less than trip point - deadband for the configured
Off-delay time. However, if you are migrating from pre-R410 to later
- 806 -
Chapter 23 - Auxiliary Function Blocks
Configuration Description
Tab
releases, the alarm off-delay time will be set as default value (0).
l Forced Select Permissive (FRCPERM) - Lets you allow the operator to
force select an input.
l Forced Select (FRCSEL) - Lets you override the selected input.
l Forced Request (FRCREQ)
Identification Lets you view information pertinent to the qualification and version control
system and enter block comments, if desired.
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 Lets you select the available parameters that appear on the face of the
Parameters function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences block's faceplate.
Template Lets you view and define parameters for associated templates.
Defining
A strategy configured for a SIGNALSEL block with four inputs configured to find the median value
of the valid inputs would function as follows:
- 807 -
Chapter 23 - Auxiliary Function Blocks
Case 1:
Here, as shown in the figure above the block is configured for “Middle Two Inputs (MEDOPT):
MIN”.
Hence, the selected input shall be the Minimum of the middle two input values (P[1] and P[3])
which is P1. Hence P1 is selected and PV of SIGNALSEL is the 9, the value of P[1].
Case 2:
If the block were configured for “Middle Two Inputs (MEDOPT): MAX”, then following parameters
would be
PV: 11
PVSTS: UNCERTN
SELIN: Select P3
Now, Maximum of the middle two input values (P[1] and P[3]) is selected. Hence P3 is selected and
PV is 11, the value of P[3]. PVSTS is UNCERTN because P[3] is the selected input and the status of
P[3] is uncertain.
Case 3:
If the block were configured for “Middle Two Inputs (MEDOPT): AVG”, then following parameters
would be
PV: 10
PVSTS: UNCERTN
SELIN: None
Now Average of the middle two input values (P[1] and P[3]) is selected. Hence none is selected and
PV is 10. PVSTS is UNCERTN because selected input is an average of P[1] and P[3], one of which
(P[3]) has status as uncertain.
Case 4:
- 808 -
Chapter 23 - Auxiliary Function Blocks
Say input P[3] goes Bad. Now only three (odd) inputs are valid and hence the middle value (P[1]) of
the three is taken as the PV directly whatever be the MEDOPT (applicable only for even number of
valid inputs). The strategy would look as below
Case 5:
Say input P[1], P[3], P[4] are ignored, then the respective IGNORDFL[ ] parameters are set. Now
only one input is valid and CURINPT goes less than the NMIN and hence the blocks output is set to
Bad and SELIN is None.
Case 6:
Now, the user could override the selection using force-select, i.e.) both FRCPERM and FRCREQ are
set, then the input denoted by the FRCSEL shall be the selected input. The user can force-select
ignored inputs also.
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:
- 809 -
Chapter 23 - Auxiliary Function Blocks
If the block is configured with Selection Method = MUX and BOOLMUX= On, it would function as
follows.
- 810 -
Chapter 23 - Auxiliary Function Blocks
l 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]).
l All inputs shall be fetched from other function blocks.
l 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.
l 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.
l 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..
The user may also choose to ignore inputs that are outside a user-specified ignore limits.
l It calculates a high and low ignore limit from specified limit (IGNORLM):
o High ignore limit = “center value” + IGNORLM / 2
o Low ignore limit = “center value” - IGNORLM / 2
l It compares each of the remaining inputs with the high and low ignore limits.
l 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,
- 811 -
Chapter 23 - Auxiliary Function Blocks
IGNORDFL[1…6] and the current number of valid inputs CURPINPT). As a result, the input will
be ignored in future processing (i.e., Input Selection).
l The center value, high and low ignore limits shall be computed every cycle of execution of the
block.
l 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.
l This auxiliary PV block shall have output PV and its status PVSTS.
l It shall have a parameter SELIN denoting which input, if any has been selected as the output.
l The block shall have the following output flags
o One flag denoting if any of the inputs is ignored or not (IGNORD).
o Individual flags for each input indicating if it was ignored (IGNORDFL[1…6]).
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.
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
- 812 -
Chapter 23 - Auxiliary Function Blocks
l The output (PV) gets the minimum value of all the valid (not ignored) inputs.
l The selected input shall be the input that has this minimum value.
l 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
AVG
MED
l All the valid inputs are arranged in ascending order and median value is taken as PV.
l 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.
l 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)':
l If MEDOPT is MIN, then PV shall be the minimum of the middle two values and the respective
input shall be selected input.
l If MEDOPT is MAX, then PV shall be the maximum of the middle two values and the respective
input shall be selected input.
l 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
l 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.
l In Integer Mux selection, a control signal MUXSEL (multiplex-selector) is required, which shall
be user configurable or fetched from other function block, or user programs could also store
to it.
l 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
- 813 -
Chapter 23 - Auxiliary Function Blocks
remains selected.
l 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.
l 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.
l If the Boolean selected input is not connected, then the PV value goes bad (NaN) and SELIN
will have the index of unconnected input.
l 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.
l Bad inputs may also be selected.
l Ignoring of Inputs and deviation alarming are not applicable for MUX. Also, the deviation
alarm state should return to normal.
l PV gets the value of the selected input.
l If the value of the input denoted by the control signal is Bad, then the PV also goes Bad.
l The operator or a user program may override the selection method and “force select” a
particular input.
l Force-select may override only the following selection methods: MIN, MAX, MED, or AVG and is
not applicable if the selection method is MUX.
l If the force selected input is not connected, then the PV value goes Bad (NaN) and the
respective unconnected input remains selected
l Ignore Inputs, Ignore limit checking, NMIN and deviation alarming are not applicable during
force selection. Also, the deviation alarm state should return to normal.
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 would occur. Ramping can be disabled by setting ramp rate to
NaN.
l 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.
l 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.
l Once deviation alarm is triggered, a deviation alarm flag is set. When the alarm goes off, the
flag is reset.
- 814 -
Chapter 23 - Auxiliary Function Blocks
l The SIGNALSEL block also has a deadband (DEVALM.DB) for the deviation alarm.
l The purpose of this parameter is to prevent recurring alarms and returns-to-normal due to
noise.
l 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.
l The SIGNALSEL block also has a parameter called deadband units (DEVALM.DBU) for the
deviation alarm.
l 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.
The block sets the PV state to Manual under any of the following conditions:
l An input selection is forced and the status of that input is Manual.
l The selection method is MIN, MAX, or MUX, and the status of the selected input is Manual.
l The selection method is AVG, and the status of any input is Manual.
l 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:
l Forced selection is in effect, and the status of that input is Bad.
l 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.
- 815 -
Chapter 23 - Auxiliary Function Blocks
l PV is set to NaN.
l P(1) through P(6) values are set to NaN.
l PSTS(1) through PSTS(6) are set to BadValSts.
l CURPINPT is set to zero.
l DEVALM.FL and INALM alarming flags are set to OFF.
l 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.
l Description
l Function-TOTALIZER block
l Configuration example-TOTALIZER block
l Input-TOTALIZER block
l Outputs-TOTALIZER block
l TOTALIZER states
l Accumulator target value-TOTALIZER block
l Deviation trip points-TOTALIZER block
l Equations-TOTALIZER block
l Accumulated value calculation-TOTALIZER block
l Error handling-TOTALIZER block
l Restart and activation-TOTALIZER block
l TOTALIZER parameters
23.13.1 Description
The TOTALIZER block periodically adds an input value (P1) to an accumulator value (PV). It looks
like this graphically:
- 816 -
Chapter 23 - Auxiliary Function Blocks
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.
- 817 -
Chapter 23 - Auxiliary Function Blocks
Figure 23.6 Example of CB configuration using a TOTALIZER block in a flow control loop
The following table includes descriptions of the callouts in the figure above.
Callout Description
1 Use the PV parameter connection to carry data and status from the analog input,
DATAACQ, and TOTALIZER blocks to the PID block. The default PV connection is
exposed, but the implicit/hidden connection function automatically makes a
connection to a value/status parameter (PVVALSTS) when it is required.
2 When monitoring, you can use the COMMAND parameter on the block to issue Start,
Stop, or Reset command. You must configure COMMAND as a monitoring parameter
through the block configuration form.
You can also use logic inputs to STARTFL, STOPFL, and RESETFL pins on the block to
initiate Start, Stop, and Reset commands, respectively.
3 When the accumulated value (PV) reaches the accumulated target value (ACCTV), the
accumulated target value flag (ACCTVFL) turns ON.
4 In this example, the following values were configured for the Trip Points 1 to 4
through the parameter configuration form based on a configured target value of 100.
l Trip Point 1 (ACCDEV.TP[1] = 10
l Trip Point 2 (ACCDEV.TP[2] = 20
l Trip Point 3 (ACCDEV.TP[3] = 30
l Trip Point 4 (ACCDEV.TP[4] = 40
- 818 -
Chapter 23 - Auxiliary Function Blocks
Callout Description
l ACCDEV.FL[2] turns ON at PV = 80
l ACCDEV.FL[3] turns ON at PV = 70
l ACCDEV.FL[4] turns ON at PV = 60
5 Be sure to configure the ORDERINCM parameters for the DATAACQ block and the
AICHANNEL block to be lower numbers than the ORDERINCM parameter for the
TOTALIZER block, so the DATAACQ and AICHANNEL blocks execute before the
TOTALIZER block. This configuration avoids possible TOTALIZER interruptions during
a warm restart scenario.
- 819 -
Chapter 23 - Auxiliary Function Blocks
l CMDATTR: Specifies who may store to COMMAND (that is, either the operator or a user
program through another function block). CMDATTR is used to prevent the operator from
inadvertently changing the accumulator while it is under program control and allows the
operator to override a program.
Possible choices are:
o Operator - only the operator may store to COMMAND.
o OtherFB- only a program through another function block may store to COMMAND;
the operator may override the program by setting CMDATTR = Operator.
l STARTFL (Start Flag): Allows either a Logic block or user-written program to store to
COMMAND.
o Off-to-On transitions cause the TOTALIZER state to change to Running.
l STOPFL (Stop Flag): Allows either a Logic block or user-written program to store to COMMAND.
o Off-to-On transitions cause the TOTALIZER state to change to Stop.
l RESETFL (Reset Flag): Allows either a Logic block or user-written program to store to
COMMAND.
o Off-to-On transitions cause the TOTALIZER to be reset.
B Use last good value if input is bad. Continue after input turns valid
C Stop if the input is bad and set PV to NaN. Continue after input turns valid
- 820 -
Chapter 23 - Auxiliary Function Blocks
F 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. .
Running (STATE Use last Sets the input value (P1) to its last good value and sets PVSTS to
= RUNNING) and good Uncertain
the input status value if
(P1STS) is BAD input is When the input status (P1STS) returns to normal, PVSTS
bad remains Uncertain until a Reset command is received.
Running (STATE Stop if Sets the input value (P1) to NaN (Not a Number) and sets PVSTS
= RUNNING) and the input to Bad.
the input status is bad
(P1STS) is 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 Continue Sets PVSTS to Uncertain and continues accumulation from last
= RUNNING) after a value of PV.
warm
restart PVSTS remains Uncertain until a Reset command is received.
Running (STATE Stop Sets the accumulated value (PV) to NaN (Not a Number), sets
= RUNNING) after a PVSTS to Bad, and stops the accumulation. The operator must
warm intervene to restart the accumulator.
restart
Where:
PVi = TOTALIZER block output from the current
pass
PV(i-1) = accumulated value at the end of block's last
processing pass
C1 = scale factor for P1; used to convert to
different engineering units
Pi = input value from current pass
P(i-1) = input value from last pass
- 821 -
Chapter 23 - Auxiliary Function Blocks
l When PVSTS is Bad, the TOTALIZER block sets ACCTVFL and ACCDEV.FL[1-4] to Off.
ATTENTION
When the input status returns to normal, a Reset command is needed to return PVSTS to
Normal.
- 822 -
CHAPTER
With R410, you can configure the on-delay time, off-delay time, deadband value, and deadband
unit for the individual alarms. For example, you can use the following parameters to configure the
on-delay time, off-delay time, deadband values, and deadband units for the PVHIALM parameter.
l PVHIALM.TM
l PVHIALM.TMO
l PVHIALM.DB
l PVHIALM.DBU
The following parameters can be used for configuring the on-delay time and off-delay time for the
BADPVALM, ROCPOSALM, and ROCNEGALM alarms.
l BADPVALM.TM
l BADPVALM.TMO
l ROCPOSALM.TM
l ROCPOSALM.TMO
l ROCNEGALM.TM
l ROCNEGALM.TMO
- 823 -
Chapter 24 - Data Acquisition Functions
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.
- 824 -
Chapter 24 - Data Acquisition Functions
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l Description (DESC) - Block descriptor of up to 132 characters long.
l 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.
l 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.
l 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.
l 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.
l 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.
l 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.
l 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.
l 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).
l 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.
l PV Limits Low (PVEXLOLM) - Lets you specify a low limit value for the PV
in engineering units. If the PV value 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.
l 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.
l 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
- 825 -
Chapter 24 - Data Acquisition Functions
Configuration Description
Tab
clamping is applied.
l Lag Time (P1FILTTIME) - Lets you specify a first order filter time in
minutes for the P1 input. When time is non-zero (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 l 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:
l PV High High (PVHHALM.FL
l PV High (PVHIALM.FL)
l PV Low (PVLOALM.FL)
l PV Low Low (PVLLALM.FL)
l Positive Rate of Change (ROCPOSALM.FL)
l Negative Rate of Change (ROCNEGALM.FL)
l Bad PV (BADPVALM.FL)
l High Significant Change (PVHISIGCHG.TP)
l Low Significant Change (PVLOSIGCHG.TP)
l Trip Point - Lets you specify the following trip points for the given alarm.
The default value is NaN, which disables the trip point.
l PVHHALM.TP (PV High High Alarm Trip Point)
l PVHIALM.TP (PV High Alarm Trip Point
l PVLOALM.TP (PV Low Alarm Trip Point)
l PVLLALM.TP (PV Low Low Alarm Trip Point)
l ROCPOSALM.TP (Positive Rate of Change Alarm Trip Point)
l ROCNEGALM.TP (Negative Rate of Change Alarm Trip Point)
l PVHISIGCHG.TP (High Significant Change Alarm Trip Point)
l PVLOSIGCHG.TP TP (Low Significant Change Alarm Trip Point)
l 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:
l NONE - Alarm is neither reported nor annunciated.
l JOURNAL - Alarm is logged but it does not appear on the Alarm
Summary display.
l LOW, HIGH, URGENT - Alarm is annunciated and appears on
the Alarm Summary display.
l 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.
l Deadband Value (ALMDB/xxxxALM.DB) - Defines the minimum value that
- 826 -
Chapter 24 - Data Acquisition Functions
Configuration Description
Tab
needs to be added to or subtracted from the trip point before reporting an
RTN. By specifying a deadband value, you can prevent the nuisance
alarms due to noise at values near the trip point. The default value is 1.
For a high alarm, RTN is reported only when the OP value is less than the
trip point - deadband value. For a low alarm, RTN is reported only when
the OP value is more than the trip point + deadband value.
Prior to R410, once the deadband value was configured, this value was
loaded to the individual alarm parameters (for example, PVHIALM.DB and
PVLOALM.DB) when the CM was loaded. If you configured the individual
alarm parameters as Monitoring Parameters for the block, you could
change the individual alarm value while monitoring the loaded block in
CB.
With R410, the deadband value can be individually configured for each
alarm. For example, you can configure PVHIALM.DB as 5 and
PVLOALM.DB as 3. However, if you are migrating from pre-R410 to later
releases, refer to Impact of migration on alarm attributes.
l Filter Time (ALMTM/xxxxALM.TM) -
Defines the duration in seconds during which a process alarm reporting
is suppressed. This helps in preventing the nuisance alarms from being
reported repeatedly during the process upset and improves the efficiency
of the operator. Once you configure this value for an alarm, the alarm is
reported on the Station only if the alarm condition continues to exist even
after this value expires. The default time is 0; that is the alarm is reported
as soon as the alarm condition occurs.
Prior to R410, once configured, this value was loaded to the individual
alarm parameters (for example, PVHIALM.TM and PVLOALM.TM) when
the CM was loaded. If you configured the individual alarm parameters as
Monitoring parameters for the block, you could change the individual
alarm value while monitoring the loaded block in CB.
With R410, the filter time can be individually configured for each alarm. If
the configured filter time is more than 9999 seconds, the values are
clamped. For example, you can configure PVHIALM.TM as 5 seconds and
PVLOALM.TM as 3 seconds. However, if you are migrating from pre-R410
to later releases, refer to Impact of migration on alarm attributes.
l Deadband Units (ALMDBU/xxxx.ALMDBU) - Defines the unit for the
deadband value - percent or engineering units. The default value is
percent.
Prior to R410, once configured, this value was loaded to the individual
alarm parameters (for example, PVHIALM.DBU and PVLOALM.DBU) when
the CM was loaded. If you configured the individual alarm parameters as
Monitoring parameters for the block, you could change the individual
alarm value while monitoring the loaded block in CB.
With R410, the deadband unit can be individually configured for each
alarm. For example, you can configure PVHIALM.DBU as percent and
PVLOALM.DBU as EU. However, if you are migrating from pre-R410 to
later releases, refer to Impact of migration on alarm attributes.
l Off-delay Time (xxxxALM.TMO) - Defines the duration in seconds during
which an RTN reporting is suppressed even though the alarm condition
does not exist. The RTN is reported on the Station only after this time
expires and the alarm condition has returned to normal. The default time
is 0; that is RTN is reported as soon as the alarm condition returns to
normal. If a deadband value is also configured, the RTN is reported only
when the OP value is less than the trip point - deadband for the
configured Off-delay time. However, if you are migrating from pre-R410
- 827 -
Chapter 24 - Data Acquisition Functions
Configuration Description
Tab
to later releases, the alarm off-delay time will be set as default value (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 Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences 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
l Function-DATAACQ block
l CAB Insertions for DATAACQ block parameters
l CAB insertion configuration considerations
l Insertion type functional characteristics-DATAACQ block
l Pin connections to inserted CAB instances-DATAACQ block
l CAB Insertion status and fail alarm-DATAACQ block
l Handling of insertion failure-DATAACQ block
l CAB insertion configuration examples-DATAACQ block
l Input-DATAACQ block
l Input ranges and limits-DATAACQ block
l P1 status
l PV Characterization-DATAACQ block
l Input filtering-DATAACQ block
l Input clamping-DATAACQ block
l Low signal cut off-DATAACQ block
l Output-DATAACQ block
l PV source selection-DATAACQ block
l PV status-DATAACQ block
l Alarm processing-DATAACQ block
l Additional Rate of Change Alarm considerations-DATAACQ block
l PV significant-change alarming-DATAACQ block
l Bad PV alarm-DATAACQ block
l DATAACQ parameters
- 828 -
Chapter 24 - Data Acquisition Functions
The DATAACQ block is normally configured to fetch an analog input from an AI Channel function
block. As shown in the following figure, it performs the following major functions:
l Input Processing - fetches input data from another block through process connections,
checks its validity, and updates input parameters P1 and P1STS as appropriate.
l PV Characterization - converts input parameter P1 to Engineering Units, when the user
configurable PV Characterization option is configured as Linear or Square Root. The
converted P1 value is stored in a read-only parameter (P1EU).
l Filtering and Clamping - performs filtering and clamping on the read-only parameter P1EU
and stores the result in PVAUTO. There are user configurable parameters associated with both
the filtering (P1FILTTIME) and clamping (P1CLAMPOPT) functions.
l Low Signal Cut Off - Applies a user configurable low signal cut off limit to the PVAUTO value
after filtering and clamping.
l PV Source Selection - normally copies the filtered and clamped value of PVAUTO to the output
PV, but also allows for instances where the operator or user program can store to PV, if the
user configurable PV Source selection is configured for MAN or SUB, respectively.
l Alarm Processing - generates alarm flags when PV exceeds any of a number of user-specified
alarm trip points for longer than a designated time interval.
- 829 -
Chapter 24 - Data Acquisition Functions
In systems running R210 or greater, you can insert Control Algorithm Block (CAB) programs at the
following predefined locations in a DATAACQ block that is associated with a control strategy to be
run in an ACE Controller.
The following illustration shows where you can insert CAB programs in relation to the DATAACQ
block's major functions. This means that you can use CAB programs to enhance aspects of the
block's execution but still take advantage of the more complex system functions such as
initialization, anti-reset windup, range-checking and alarming integral to the native block.
- 830 -
Chapter 24 - Data Acquisition Functions
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
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)
- 831 -
Chapter 24 - Data Acquisition Functions
Post Clamping Provides the capability of implementing custom source selection strategies
and Filtering and bypass the built source selection. The final value is stored in PV. The CAB
(Post_Clampfilt) program should also set PVSTS, PVEXHIFL, and PVEXLOFL parameters to
the appropriate states.
Post PV Source Provides the capability of implementing custom PV calculations. The CAB
(Post_PVsrc) 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 Provides the capability of modifying the built-in alarm processing.
Processing
(Post_ For example, selected alarms can be disabled in the next execution cycle by
Alarmproc) setting their trip points to NaN.
- 832 -
Chapter 24 - Data Acquisition Functions
When any of the insertions return a non normal status, the insertion fail flag (INSFAILFL) in the
DATAACQ block is set to TRUE (ON). The flag is reset to FALSE (OFF), when all the insertions
recover and return a normal status.
If 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.
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.
- 833 -
Chapter 24 - Data Acquisition Functions
Callout Description
1 The Control Module contains a DATAACQ block named daca.
2 The daca block is configured to include an insertion type PV_Alg from a CAB
instance named CAB_1A.
3 The CAB instance named CAB_1A is added to the Control Module containing the
daca block.
5 Once the Control Module and its components is loaded to an ACE controller and
activated, the daca block controls the execution of the CAB_1A instance as
required. If the CAB_1A instance runs successively with no failures, the cycle is
repeated during every Control Module execution cycle. In this case, the CAB_1A
instance returns a NORMAL status.
If the CAB_1 instance is not used for an insertion point and the INSMASTER
parameter is turned Off or set to False, it is included in the Control Module
execution list and runs normally during each cycle. In this case, no tag name
appears in the Insertion Point (INSMASTER) field on the block's configuration form
and the CAB must be re-configured for an Access Level of PROGRAM.
- 834 -
Chapter 24 - Data Acquisition Functions
Callout Description
Failure Scenario
If the CAB_1 program does not run till completion and returns a non-normal status, the
following action takes place:
l The value of PVAUTO and PV are set to NaN.
l If PVSOURCE is configured as AUTO, PV status is set to BAD and BADPV alarm condition is
set to TRUE
l P1FILTINIT is set to TRUE. This will reset the filtered P1 value in the next cycle.
l INSFAILFl parameter is set to TRUE.
l BADPV alarm is generated.
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.
- 835 -
Chapter 24 - Data Acquisition Functions
Callout Description
1 The Control Module contains a DATAACQ block named daca.
2 The daca block is configured to include an insertion type PV_Alg from a CAB
instance named CAB_1A, insertion type Post_PVchar from a CAB instance named
CAB_2A, insertion type Post_PVsrc from a CAB instance named CAB_3A, and
insertion type Post_Alarmproc from a CAB instance named CAB_4A
3 The CAB instances named CAB_1A, CAB_2A, CAB_3A, and CAB 4A are added to the
Control Module containing the daca block.
5 Once the Control Module and its components is loaded to an ACE controller and
activated, the daca block controls the execution of all CAB instances as required. If
all CAB instances run successively with no failures, the cycle is repeated during
every Control Module execution cycle. In this case, all CAB instances return a
NORMAL status.
If a CAB instance is not used for an insertion point and the INSMASTER parameter
is turned Off or set to False, it is included in the Control Module execution list and
runs normally during each cycle. In this case, no tag name appears in the Insertion
Point (INSMASTER) field on the block's configuration form and the CAB must be re-
configured for an Access Level of PROGRAM.
If any of the programs CAB_1A, CAB_2A or CAB_3A return a non normal status, the following
actions are taken.
l PVAUTO and PV are set to NAN.
l If PVSOURCE is configured as AUTO, PV status is set to BAD and BADPV alarm condition is
set to TRUE
l P1FILTINIT is set to TRUE
l The BADPV and any other alarms detected during the current cycle is processed
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 24.3 Configuration example using two CAB insertions of the same type
- 836 -
Chapter 24 - Data Acquisition Functions
Callout Description
1 The Control Module contains a DATAACQ block named daca.
2 The daca block is configured to include insertion type Post_PVsrc from CAB instances
named CAB_1A and CAB_2A
3 The CAB instances named CAB_1A and CAB_2A are added to the Control Module
containing the dacablock.
4 During configuration, the ORDERINCM parameters for CAB_1A and CAB_2A are
changed to match the setting of ORDERINCM for the daca block. Also, the insertion
point parameters (INSMASTER) for both CAB instances are turned On or set to True.
5 Once the Control Module and its components is loaded to an ACE controller and
activated, the daca block controls the execution of both CAB instances as required.
Since the CAB instances are both inserted at Post_PVsrc, the instances will be
executed in the order in which they were configured. For example, if CAB instance
CAB_1A was added to the CM before CAB_2A, CAB_1A is executed first. If both CAB
instances run successively with no failures, the cycle is repeated during every Control
Module execution cycle. In this case, both CAB instances return a NORMAL status.
If a CAB instance is not used for an insertion point and the INSMASTER parameter is
turned Off or set to False, it is included in the Control Module execution list and runs
normally during each cycle.
- 837 -
Chapter 24 - Data Acquisition Functions
Callout Description
Failure Scenario
If either CAB_1A or CAB_2A program does not run till completion and returns a non-normal
status, the following action takes place:
l The value of PVAUTO and PV are set to NaN.
l If PVSOURCE is configured as AUTO, PV status is set to BAD and BADPV alarm condition is
set to TRUE
l P1FILTINIT is set to TRUE. This will reset the filtered P1 value in the next cycle.
l INSFAILFl parameter is set to TRUE.
l BADPV alarm is generated.
PVEXHILM and PVEXLO.LM define the high and low limits of P1 in engineering units.
l If P1 clamping is desired (P1CLAMPOPT = Enable), the DATAACQ block clamps the input within
the range defined by PVEXHILM and PVEXLOLM.
24.1.11 P1 status
You must configure the DATAACQ block to bring P1 from another block. Typically, the other block is
an AI Channel block. If the P1 source provides a value and status, the DATAACQ block fetches both;
otherwise it fetches the value only and derives a status from that.
l If the P1 source provides a value and status, the status (P1STS) may have one of the following
values:
o BAD - value is NaN (Not a Number)
o Normal - value is OK.
o Manual - value is OK, but was stored by an operator (at the source block)
o Uncertain - value is OK, but was stored by a user-program (at the source block)
l If the P1 source provides a value only, the block derives P1STS as follows:
o If P1 is NaN (Not a Number), then: P1STS = Bad.
o Otherwise, P1STS = Normal.
l If P1 cannot be fetched (for example, due to a communications error), P1 is set to NaN and
P1STS is set to Bad.
- 838 -
Chapter 24 - Data Acquisition Functions
where:
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
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.
l SQUARE ROOT: Applies a square root calculation to the P1 input such that 100% of span
equals 1.0. Then, converts the square root value to Engineering Units based on the configured
PV span in Engineering Units (PVEUHI - PVEULO). The Square Root conversion is calculated as
follows.
o For P1 input greater than or equal to zero (0):
P1EU SQRT (P1 /100) * (PVEUHI - PVEULO) + PVEULO
o For P1 input less than zero (0):
P1EU - (SQRT (-P1 /100)) * (PVEUHI - PVEULO) + PVEULO
For example, If you want to convert the P1 input to a range of 0 to 1200 gallons per hour,
configure PVEULO as “0” and PVEUHI as “1200”. In this case, if P1 input is 40%, P1EU equals the
square root of (40 / 100) * (1200 - 0) + 0 or 0.632 * 1200 equals 758.4 gallons per hour.
l NONE: Applies no conversion to the P1 input.
where:
- 839 -
Chapter 24 - Data Acquisition Functions
l 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.
l Status of the filtered/clamped value is stored in PVAUTOSTS.
l If P1 is bad (NaN), the block stops filtering and sets PVAUTO to NaN. When P1 returns to good,
the block sets FilteredP1 LAST equal to the new P1EU, and starts filtering again.
l P1FILTTIME may have a value of 0 to 1440 minutes (or fractions thereof). Given a single-step
change in P1:
o FilteredP1 = 63.2% of P1EU after P1FILTTIME.
o FilteredP1 = 86.5% of P1EU after 2 * P1FILTTIME.
o FilteredP1 = 95.0% of P1EU after 3 * P1FILTTIME.
o FilteredP1 = approximately 100% of P1EU after 10 * P1FILTTIME.
l 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:
o P1 = Actual input value
o P1STS = Normal
o PVAUTO = NaN
o PVAUTOSTS = Bad
o Appropriate “limit exceeded” flag is set (PVEXHIFL or PVEXLOFL).
- 840 -
Chapter 24 - Data Acquisition Functions
l SUB (Substitution) - indicates that a user program may enter the PV and -
o sets PVSTS to uncertain
o 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.
o applies no filtering on program-entered values.
The following Boolean flags (typically used with Logic and Alarm blocks) also reflect the value of
PVSTS:
l PVSTSFL.BAD - if PVSTS = Bad, this flag is on; otherwise it is off.
l PVSTSFL.NORM - if PVSTS = Normal, this flag is on; otherwise it is off.
l PVSTSFL.MAN - if PVSTS = Manual, this flag is ON; otherwise it is off.
l PVSTSFL.UNCERTN - if PVSTS = Uncertain, this flag is on; otherwise it is off.
- 841 -
Chapter 24 - Data Acquisition Functions
(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.
l 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.
l 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.
l Positive Rate-of-Change trip point (ROCPOSALM.TP) - The rate-of-change trip point is specified
by the user as EUs per minute, and the function block converts this to EUs per 4-second
period. If PV changes in a positive direction by more than this amount for two consecutive 4-
second periods, the function block will generate a Positive Rate-of-Change alarm and set the
Positive Rate-of-Change alarm flag (ROCPOSALM.FL).
Positive Rate-of-Change alarming is enabled by setting ROCPOSALM.TP >= 0, and disabled by
setting ROCPOSALM.TP = NaN.
ATTENTION
l The rate-of-change trip point is specified in EUs per minute.
l ROCPOSALM.TP is expressed as a positive number in EUs per minute.
ATTENTION
l The rate-of-change trip point is specified in EUs per minute.
l ROCNEGALM.TP is expressed as a positive number in EUs per minute.
The following parameters also apply to each of the previously specified alarms:
l 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).
l Alarm Deadband Value (PVHIALM.DB, PVHHALM.DB, etc.) - Note that alarm deadband is not
- 842 -
Chapter 24 - Data Acquisition Functions
Similarly, if PV is between the low and low-low alarm trip points and continues to decrease, the
following parameters may be used to re-annunciate the low alarm:
- 843 -
Chapter 24 - Data Acquisition Functions
- 844 -
CHAPTER
25 PULSE INPUT
You specify a target value for the accumulator, and up to four trip points, which are “near” and
“nearer to” the target value. The PITOTALIZER block sets status flags to indicate when the
accumulator value is near (and nearer to) the user-specified target values. Accumulation
proceeds even when the target value is exceeded. An external operator or program command is
required to stop the block from further accumulating.
l Function-PITOTALIZER block
l Configuration example-PITOTALIZER block
l Input-PITOTALIZER block
l Outputs-PITOTALIZER block
- 845 -
Chapter 25 - Pulse Input
l PITOTALIZER states
l Accumulator target value-PITOTALIZER block
l Deviation trip points-PITOTALIZER block
l Near-Zero Cutoff-PITOTALIZER block
l Bad Input Handling and Warm-Restart Options-PITOTALIZER block
l Bad Input Options (PVEQN) Selection Summary
l Control Module Activation-PITOTALIZER block
l Operating Algorithms-PITOTALIZER block
l Pulse versus Analog Operation
l Error handling-PITOTALIZER block
l Restart and activation-PITOTALIZER block
l PITOTALIZER parameters
- 846 -
Chapter 25 - Pulse Input
l When monitoring, you can use the COMMAND parameter on the PITOTALIZER block to issue
Start, Stop or RESET commands. 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.
l When the accumulated value (P1) reaches the accumulated target value (ACCTV), the
accumulated target value flag (ACCTVFL) turns on.
l In this example, the following values were configured for 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 1 (ACCDEV.TP[2]) = 20
Trip Point 1 (ACCDEV.TP[3]) = 30
Trip Point 1 (ACCDEV.TP[4]) = 40
Based on these configured trip point values, the corresponding accumulated deviation flag
turns ON at the following accumulated values:
ACCDEV.FL[1] turns on at P1 = 90
ACCDEV.FL[2] turns on at P1 = 80
ACCDEV.FL[3] turns on at P1 = 70
ACCDEV.FL[4] turns on at P1 = 60
l The DATAACQ block generates alarm flags when PV exceeds any of a number of user-specified
alarm trip points for longer than the designated time interval.
- 847 -
Chapter 25 - Pulse Input
l CMDATTR: Specifies who may store to COMMAND (that is, either the operator or a user
program). CMDATTR is used to prevent the operator from inadvertently changing the
accumulator while it is under program control and allows the operator to override a program.
Possible choices are:
o Operator - only the operator may store to COMMAND.
o Program - only a program may store to COMMAND; the operator may override the
program by setting CMDATTR = Operator.
l STARTFL (Start Flag): Allows either a Logic block or user-written program to store to
COMMAND.
o Off-to-On transitions cause the PITOTALIZER state to change to Running.
l STOPFL (Stop Flag): Allows either a Logic block or user-written program to store to COMMAND.
o Off-to-On transitions cause the PITOTALIZER state to change to Stop.
l RESETFL (Reset Flag): Allows either a Logic block or user-written program to store to
COMMAND.
o Off-to-On transitions cause the PITOTALIZER to be reset.
- 848 -
Chapter 25 - Pulse Input
If accumulator is running and P1STS goes BAD, the RATE is replaced by zero and PVSTS will
become UNCERTAIN. The block will use the Analog Operation and the resulting PV will hold.
When P1STS becomes NORMAL, accumulation will continue. The PVSTS remains UNCERTAIN
until a Reset command is received.
If accumulator is running and P1STS goes BAD, accumulation continues under the assumption of
constant flow. The analog operation algorithm is used with the last good RATE value. The PV will
continue accumulating and PVSTS will be UNCERTAIN.
When P1STS becomes NORMAL, the Pulse Input algorithm will be used again as accumulation
continues. The PVSTS remains UNCERTAIN until a Reset command is received.
If accumulator is running and P1STS goes BAD, the PV becomes NaN and PVSTS goes BAD.
When P1STS becomes NORMAL, the PV remains NaN and PVSTS remains BAD until a Reset
command is received.
On warm restart when the accumulator is running, the first execution cycle is used to prime P1.
Accumulation continues in the following cycles. This means pulses that were counted while the
CEE was IDLE will NOT be accumulated by the PITOTALIZER. The PVSTS will be set to UNCERTAIN
until a Reset command is received.
On warm restart when the accumulator is running, the PV remains NaN, PVSTS remains BAD and
accumulator is stopped. The operator must intervene to restart the accumulator.
- 849 -
Chapter 25 - Pulse Input
selection.
EQB Use last calculated rate value if input is bad Continue after a warm restart
EQD Use zero rate if input is bad Stop after a warm restart
EQE Use last calculated rate value if input is bad Stop after a warm restart
For equations A through F, when accumulator is running, the accumulated value (PV) is calculated
as follows:
Where:
PV (i-1) = accumulated value in EU at the end of block's last processing pass for the function
block
C1 = dimensionless scale factor for P1; used to convert to different Engineering Units
Analog Operation
For all equations A through F, when the P1 Input goes bad and the accumulator is running, the
accumulated value (PV) is calculated as follows:
- 850 -
Chapter 25 - Pulse Input
Where:
Rate Calculation
The RATE parameter represents the calculated P1 Input Flow Rate in EU / TIMEBASE. During
Pulse Input operation, RATE is calculated every control execution cycle. During Analog Operation,
RATE is used to calculate PV when PVEQN is B or E.
Where:
C1 = dimensionless scale factor for P1; used to convert to different Engineering Units
- 851 -
Chapter 25 - Pulse Input
o The status of the input (P1STS) is Bad and the “stop if input is bad” option is
configured (Equation C or F).
o The PITOTALIZER block is in warm restart and the “stop” option is configured
(Equation D, E, or F).
l When PVSTS is Bad, the PITOTALIZER block sets ACCTVFL and ACCDEV.FL[1-4] to Off.
ATTENTION
When the input status returns to normal, a Reset command is needed to return PVSTS to
Normal.
CAUTION
Be aware that there can be an unexpected large value of PV when the input value (P1)
jumps from a higher value to a lower value. The chances of this behavior are rare as the
PITOTALIZER block is used with the PICHANNEL. However, if this condition exists due to
some reset mechanisms, you must stop the PITOTALIZER block prior to the jump and restart
it afterwards. If you do not perform this action, the PITOTALIZER calculates the P1
difference to be extremely large and may cause an unexpected behavior.
- 852 -
CHAPTER
26 DEVICE CONTROL
Each DEVCTL block supports the following user configurable attributes. The following table lists
the given name of the “Tab”in the parameter configuration form and then briefly describes the
attributes associated with that Tab. This data is only provided as a quick document reference,
since this same information is included in the on-line context sensitive Help.
- 853 -
Chapter 26 - Device Control
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l Description (DESC) - Block descriptor of up to 132 characters long.
l 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.
l 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. This is the block's parameter.
l 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.
l 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.
l Enable PV Source Selection (PVSRCOPT) - Lets you enable or disable PV
source selection. Check box 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.
l SUB - Provided by an SCM.
l MAN - Operator stores value directly.
l AUTO - Derived from the parameter PVAUTO (GPVAUTO)
representing the assigned state of the actual inputs DI[1..4].
l TRACK - Derived directly for the commanded output state (OP).
Use this online when a limit switch has failed, or as a debug
mode.
- 854 -
Chapter 26 - Device Control
Configuration Description
Tab
l Inputs 1, 2, 3, 4 (DI[1..4]) - Shows the input combinations to be
associated with a given state. A Check in the box for the input represents
its ON condition and no Check is 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.
- 855 -
Chapter 26 - Device Control
Configuration Description
Tab
collection of Maintenance Statistics for the DEVCTL block is to be enabled
or not. When enabled or box checked, 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.
l NUMTRANS[0..2] - Accumulated number of transitions of PV to
each state, since the last statistics reset.
l NUMSIOVRD - Accumulated number of safety interlock trips
that result in OP changing state, since the last statistics reset.
SCM l 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:
l None
l ONESHOT
l SEMICONT
l CONTRTN
l CONT
l Abnormal State Options - Lets you specify the action the function block is
to take 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.
- 856 -
Chapter 26 - Device Control
Configuration Description
Tab
l 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.
l 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.
l 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.
l 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.
l Command Disagree - Lets you configure the following parameters for this
alarm.
l Time to State0 (or assigned State Name) (CMDDISALM.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.
l 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.
l Time to State 2 (or assigned State Name) (CMDDISALM.TM[2]):
Lets you set the feedback time for State 2 in 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.
l Priority (CMDDISALM.PR): Lets you select the priority level as
NONE, JOURNAL, LOW, HIGH, or URGENT. The default setting
is LOW.
l 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.
l Command Fail - Lets you configure the following parameters for the
command fail alarm.
l 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].
l Time to State 1 (or assigned State Name) (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].
- 857 -
Chapter 26 - Device Control
Configuration Description
Tab
l Time to State 2 (or assigned State Name) (CMDFALALM.TM[2]):
Lets you set the feedback time for State 2 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
[2]. This can only be configured if the number of states is 3.
l Priority (CMDFALALM.PR): Lets you select the priority level as
NONE, JOURNAL, LOW, HIGH, or URGENT. The default setting
is LOW.
l 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.
l Bad PV - Lets you configure the following parameters for this alarm.
l Priority (BADPVALM.PR): Lets you select the priority level as
NONE, JOURNAL, LOW, HIGH, or URGENT. The default setting
is LOW.
l 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.
l Override Alarms - Lets you configure the following parameters for the
safety override interlock alarm.
l Option (SIALM.OPT): Lets you specify whether the safety
override interlock alarm is enabled or not. The default setting is
DISABLED.
l Priority (SIALM.PR): Lets you select the priority level as NONE,
JOURNAL, LOW, HIGH, or URGENT. The default setting is LOW.
l 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
- 858 -
Chapter 26 - Device Control
Configuration Description
Tab
default setting is 0.
l Off Normal Condition - Lets you configure the following parameters for
this alarm.
l Priority (OFFNRMALM.PR): Lets you select the priority level as
NONE, JOURNAL, LOW, HIGH, or URGENT. The default setting
is LOW.
l 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.
- 859 -
Chapter 26 - Device Control
Configuration Description
Tab
l CHGOFSTALM.SV
l CHGOFSTALM.TM
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 Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences block's faceplate.
l Function-DEVCTL block
l Configuration examples-DEVCTL block
l Inputs-DEVCTL block
l Outputs-DEVCTL block
l States-DEVCTL block
l State parameters and descriptors-DEVCTL block
l Two-State motor input example-DEVCTL block
l Valve input example-DEVCTL block
l Two-Input motor example-DEVCTL block
l Reversible motor input example-DEVCTL block
l Four-Input two-valve example-DEVCTL block
l DI to PV state map
l Two-State motor with latched output example
l Valve Output Example-DEVCTL block
l Three-State Motor output examples-DEVCTL block
l Mode and mode attribute-DEVCTL block
l Safe output state-DEVCTL block
l Momentary state-DEVCTL block
l Local manual-DEVCTL block
l Permissive interlocks-DEVCTL block
l Safety Override Interlock-DEVCTL block
l Override Interlocks-DEVCTL block
l Configurable Override/Permissive Interlock Bypass-DEVCTL block
l Alarms-DEVCTL block
l Seal-In option-DEVCTL block
l Initialization Manual condition-DEVCTL block
l OP Initialization Option-DEVCTL block
l Initialization Manual Condition with Safety Override Interlock, Override Interlocks, LocalMan,
and OP Initialization
l Initialization with Pulse Output-DEVCTL block
- 860 -
Chapter 26 - Device Control
ATTENTION
Refer to the Sequential Control Module User Guide for more information on the DEVCTL
block's batch level 1 driver interface function.
The following figures are a graphic representation of the DEVCTL block's major functions and
associated parameters.
- 861 -
Chapter 26 - Device Control
- 862 -
Chapter 26 - Device Control
- 863 -
Chapter 26 - Device Control
The DEVCTL block is enhanced for you to configure the same for generation of COS alarms. A COS
alarm is reported when the time delay expires. If there is a state change before the time delay
expires the time delay is reset and COS alarm is not reported.
To accomplish this, new parameters CHGOFSTALMENB,CHGOFSTALM.PR, CHGOFSTALM.SV,
CHGOFSTALM.TM are introduced in the DEVCTL block.
l To configure CHGOFSTALM.PR, CHGOFSTALM.SV, CHGOFSTALM.TM parameters you need
to enable/disable the CHGOFSTALMENB parameter.
l The COS alarm is reported in the station with the priority defined in priority column of the
CHGOFSTALM.PR parameter. The possible priorities are None, Journal, Low, High and
Urgent.
l The COS alarm is reported in the station with given severity defined in the Severity column of
the CHGOFSTALM.SV parameter.
l The COS alarm is reported in the station whenever there is a state change after a configured
delay time defined in CHGOFSTALM.TM parameter.
l 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.
- 864 -
Chapter 26 - Device Control
Figure 26.3 Example of CB configuration using a DEVCTL block to provide two status outputs.
The following table includes descriptions of the callouts in the figure above.
Callout Description
1 Use the PVFL parameter connection to carry data from the DICHANNEL block to the
DEVCTL block.
In device control, the inputs provide the feedback that the commanded action has or
has not taken place.
2 You can use an appropriate interlock logic to activate the safety interlock function.
3 You can command the device through the output (OP), which shows the state names
you configured for the block through Control Builder.
4 You can have the device commanded by another block or Sequential Control Module
through the generic output (GOP), which shows the state as S0 to S2.
The GOPSCADA parameter provides a link to Station detail displays and custom
schematics to show the state as STATE_0 to STATE_2.
- 865 -
Chapter 26 - Device Control
Callout Description
as implicit/hidden connections.)
The secondary data contains this information for DEVCTL blocks.
l 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.
l Initialization value - provides continuous and one shot initialization.
l Pulse Output - The following figure and its companion callout description table show a sample
configuration that uses a DEVCTL block to command two on pulse outputs. The view in the
following figure depicts a loaded configuration in Monitoring mode.
Figure 26.4 Example of CB configuration using DEVCTL block to provide two on pulse outputs.
The following table includes descriptions of the callouts in the figure above.
Callout Description
1 Use the PVFL parameter connection to carry data from the DICHANNEL block to the
DEVCTL block.
In device control, the inputs provide the feedback that the commanded action has or
has not taken place.
2 You can use an appropriate interlock logic to activate the safety interlock function.
3 The DEVCTL block is in a CMDDISAGREE alarm state because its input states do not
agree with the input conditions consistent with the commanded state.
4 You can command the device through the output (OP), which shows the state names
you configured for the block through Control Builder.
5 You can have the device commanded by another block or Sequential Control Module
through the generic output (GOP), which shows the state as S0 to S2.
- 866 -
Chapter 26 - Device Control
Callout Description
The GOPSCADA parameter provides a link to Station detail displays and custom
schematics to show the state as STATE_0 to STATE_2.
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.
- 867 -
Chapter 26 - Device Control
l 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.
l 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.
l 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.
o 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.
o 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
l For pulsed outputs (ONPULSE and OFFPULSE), only one of these inputs may be
connected for any one DOCHANNEL block.
l 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.
- 868 -
Chapter 26 - Device Control
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:
l Null - Stands for Bad Value.
l Inbet - Represents an in between state and could be designated MOVPV for moving PV.
l 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.
l Safe - Stands for SAFEOP. If an external FB issues a Safe command to GOP, the internal value
is set to the designated SAFEOP.
l S0 -Represents settable output State 0.
l S1 - Represents settable output State 1.
l S2 - Represents settable output State 2.
STATETEXT[4] State0* S0
- 869 -
Chapter 26 - Device Control
STATETEXT[6] State2* S2
DI[1] Input State Configured State Name Related DIPVMAP and GENSTAT
0 Stop S0
1 Run S1
* 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.
1 0 Open SO
0 1 Closed S1
1 1 Fault Null
X * 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.
- 870 -
Chapter 26 - Device Control
reference.
1 0 Stop S0
0 1 Run S1
1 1 Run S1
* 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.
1 0 Run S1
0 1 Reverse S2
1 1 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.
- 871 -
Chapter 26 - Device Control
1 0 0 0 Fault Null
1 1 0 0 Fault Null
1 0 1 0 Valve1 Open S1
0 1 1 0 Val1&2 Close S0
1 1 1 0 Fault Null
0 0 0 1 Fault Null
1 0 0 1 Fault Null
1 0 1 0 Valve2 Open S2
1 1 0 1 Fault Null
0 0 1 1 Fault Null
1 0 1 1 Fault Null
0 1 1 1 Fault Null
1 1 1 1 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.
- 872 -
Chapter 26 - Device Control
Run S1 1
Close S0 1 0
Open S1 0 1
Stop S0 0 0
Run S1 1 0
Reverse S2 0 1
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.
Stop S0 0 0
Run S1 1 0
Reverse S2 1 1
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.
- 873 -
Chapter 26 - Device Control
Stop S0 1 0 0
Run S1 0 1 0
Reverse S2 0 0 1
ATTENTION
Output combinations are not necessarily the same as the input feedback combinations for
the same state.
l Mode (MODE) is fixed at MANual. The Normal Mode (NORMMODE) parameter is also fixed at
MANual.
l 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:
o OPERATOR = only the operator may command the output state.
o PROGRAM = only other function blocks (such as Logic blocks, SCM programs) may
command the output state by setting OPREQ.
o NORMAL = the setting specified by the Normal Mode Attribute (NORMMODEATTR) is
assumed.
- 874 -
Chapter 26 - Device Control
If Momentary Then,
State selection
is …
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.
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.
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.
- 875 -
Chapter 26 - Device Control
- 876 -
Chapter 26 - Device Control
l 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.
o 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].
l Bad PV Alarm - generated whenever the Current Active State (PV) is detected to be a NULL (or
bad) state.
l 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.
l 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.
l 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.
l 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.
o 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.
l 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.
o The higher level function, such as a Sequential Control Module (SCM), can tell that
something is wrong by reading the OFFNRMALM.FL. This flag value can be used as a
condition for exception handling. The Off Normal condition is examined as follows:
- 877 -
Chapter 26 - Device Control
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.
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.
l 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.
l Override Interlock Alarms - When the alarm is enabled and the active interlock causes an OP
state change, the alarm will be generated.
l Safety Override Interlock Alarm - When the alarm is enabled and the active interlock causes an
OP state change, the alarm will be generated.
o 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.
l Change of State Alarm - When a PV state change occurs and the time-delay expires the COS
alarm is reported. New parameters CHGOFSTALM.ALL, CHGOFSTALM.FL, CHGOFSTALM.PR,
CHGOFSTALM.SV and CHGOFSTALM.TM are introduced to configure the priority, severity and
delay time of this alarm.
o CHGOFSTALM.FL is set to ON whenever there is a state change in DIGACQ block.
o The COS alarm is reported in the station with the priority defined in priority column of
the CHGOFSTALM.PR parameter. The possible priorities are None, Journal, Low, High
and Urgent.
o The COS alarm is reported in the station with given severity defined in the Severity
column of the CHGOFSTALM.SV parameter.
o The COS alarm is reported in the station whenever there is a state change after a
configured delay time defined in CHGOFSTALM.TM parameter.
PV Off Normal Alarm - The normal PV state and based on which the PV Off Normal Alarm
will be generated.
o A new parameter PVNORMAL is introduced to store the PV Normal state set.
o This parameter will allow to set States based on the state names configured. Similar to
the states list available for configuration of inputs.
o PVNORMAL parameter by default will be set to Bad as the normal value.
o A new parameter PVNORMALFL is introduced to store if Normal state configuration
should be allowed or not.
o PVNORMALFL parameter by default will be set to False. This it will help not to
generate OffNormal Alarm during migration.
o During load of DevCtl block there will be a check made to get the configured input
states based on which user will show an error message if the Normal state is not set
as per that. Since the same configured states is what PV can take too and OffNormal
alarm can be generated only based on these states.
o Off Normal Alarm configuration can be done in Alarms tab.
o New parameters OFFNRMPVALM.ALL, OFFNRMPVALM.FL, OFFNRMPVALM.PR,
OFFNRMPVALM.SV and OFFNRMPVALM.TM is introduced to store the PV Off Normal
alarm flag, PV Off Normal alarm priority, PV Off Normal alarm severity and PV
OffNormal On Delay time respectively.
- 878 -
Chapter 26 - Device Control
o User will be allowed to set NONE, JOURNAL, LOW, HIGH AND URGENT priorities for
the Off Normal Alarm priority.
o Alarm will be generated once the PV goes to a state other than the Normal state set in
PVNORMAL parameter.
o User will be allowed to set all these parameters from monitoring side too.
o The priority of PVOFFNORMAL alarm will be handled similar to other alarm tags.
- 879 -
Chapter 26 - Device Control
ATTENTION
If INITOPOPT=HOLDOPOPT and LEGACYINITOPT = ENABLE, the state of the output field
device might not match the state of the OPFINAL parameter after recovery from initialization
is complete. There can be a mismatch between the Device Control output value and the
output device state that requires operator's intervention to correct this mismatch. Therefore,
there may be uncertainty in the validity of the field device state after recovering from
initialization.
l If LEGACYINITOPT = DISABLE, OP is either back initialized from the outputs if a valid OP can be
constructed or OP is set to SafeOP.
- 880 -
Chapter 26 - Device Control
The following table represents the state of the pulse and digital outputs with respect to INITOPOPT
and LEGACYINITOPT after recovering from initialization.
- 881 -
Chapter 26 - Device Control
For more information on the LEGACYINITOPT parameter, refer to the Control Builder Parameter
Reference guide.
TIP
Note that the INITREQ is used differently in DevCtl block than in other blocks, such as DOC,
AOC, or RegCtl.
CAUTION
When the default option for parameter INITOPAFTLD is selected, there may be a mismatch
between the OP value and the DO states until a back-initialization or state change occurs.
State0 may not correspond to all DOs of 0 (OFF).
- 882 -
Chapter 26 - Device Control
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.
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.
- 883 -
Chapter 26 - Device Control
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.
The OP parameter represents the Commanded Output State. The OP value can be modified at any
time during the block execution. When a new OP is commanded, the new OP will be accepted and
stored in the block. The new OP parameter value can be stored at any time during the block
execution. However, the new OP parameter value will be effective after validating the OP value
conditions such as Permissive/Safety/Override interlocks, and output requests which happens in
the subsequent execution of the block. In addition, the last OP remains displayed in the block's
faceplate. This is because the new OP value will be effective from the next execution cycle.
- 884 -
Chapter 26 - Device Control
The VFD applications have nine tabs for different functions. They are:
l VFD application point detail display main tab.
A new point detail display can be invoked by entering CM name containing PID function
block in station and press F12 key. CM general parameters like execution state, CEE state,
execution period, execution phase, will appear for both CM. There are Alarm enable,
Journal only option and control module in alarm status will appear for both CM. In case
PID function block and Devctl function block be in the same CM only one column will
appear showing the CM general parameters. Main tab of detail display shows the
information in two column. Left column shows the information related to the Devctl
function block (Ex: Permissive and Override interlocking, Mode attribute and selection)
Right column shown the information related to PID function block (Ex: Control windup,
Mode and Mode attribute and other settings).
l VFD application point detail display loop tune tab.
This tab shows information related to the PID function block tuning and the information
presented here is same set of parameters available in the standard PID function block
detail display.
l VFD application point detail display Set Point tab.
This tab shows the same set of information available in the standard PID function block
detail display.
l VFD application point detail display PV and OP tab.
This tab shows same set of information available in the standard PID function block detail
display.
l VFD application point detail display I/O States tab.
- 885 -
Chapter 26 - Device Control
This tab shows information about the different states configured and the individual digital
input and digital output states of the device control function block.
l VFD application point detail display Alarms tab
This page enables user to monitor and configure the various alarms for the DACA and PID
function block. User have the option to scroll down and monitor and configure the
DEVCTLA function block alarms as well. Using scroll bar at the right side, user will be able
scroll between the DACA, PID function block alarm configuration and Devctl function block
alarm configuration.
l VFD application point detail display Chart tab.
This page enable the user to view the CM chart view in station. In this page chart view will
be loaded of the CM containing PID function block.
l VFD application point detail display Chart tab.
This page enable the user to monitor some statistics parameter when the CM execution is
driven from SCM. This tab will be visible only when CM parameter SCM option is set to
COMMON. This page shows the statistics of the CM containing PID function block.
l VFD application point detail display Chart tab.
Faceplate enables user to monitor and control some key parameters like SP, OP, and PV.
Faceplate for VFD application has all behaviors same as PID function block, except mode
attribute has been removed. User can command the VFD by selecting appropriate
command from the command dropdown on the lower panel. This is mapped with the OP
parameter of the Devctl block. FB, feedback is mapped to PV of Devctl function block. In
case of some interlocking set to Devctl function block like Permissive and Override
interlock, the standard symbol will be shown to the faceplate. Next to feedback L symbol is
used to show the Localman status of the Devctl function block. In case of auto selection
behavior, SP and OP parameter of the PID function block will be selected depending the
mode AUTO and MAN. Mode attribute parameter of both PID function block and Devctl
function block has been moved to main page uder sub heading mode attribute.
- 886 -
CHAPTER
27 LOGIC 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.
- 887 -
Chapter 27 - Logic Functions
If Configured LOGICINITOPT Value Is … And, Some IN Disagree … Then, DISCREP Value After
State Transition Is …
PULSEEXPIRED OFF OFF
PULSEREADY ON 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.
- 888 -
Chapter 27 - Logic Functions
OUT =
OFF.
CHECKBAD Provides bad input Checks if
handling for desired input (IN)
input. value equals
NaN.
l If IN =
NaN
l Then,
OUT =
ON
l Else,
OUT =
OFF
CHECKBOOL Provides the ability toDetermines
modify the OUTPUT the action to
based on be taken in
programmable the event of
parameters where the an invalid
OUTPUT will either input. If the
track the INPUT, latch value of
the OUTPUT, (ON or INSTS[1..8] is
OFF), or latch the kBadValSts,
OUTPUT to a specific the value
known good value for a passed
specific time based on through the
configuration block, from IN
parameters associated [1..8] to OUT
with the block. [1..8], will be
modified
See CheckBool
based on the
functionality under configuration
Examples and of the
Scenarios for Use Case BADINACT
examples of the [1..8]
CheckBool block. 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]
- 889 -
Chapter 27 - Logic Functions
The CONTACTMON block can only be used with C300, C200E, and ACE Controllers.
- 890 -
Chapter 27 - Logic Functions
l OUT2 -
Tracks
IN[2]
when
both
inputs of
COC are
not ON
Error
Handling:
l The
block
displays
an error
when an
invalid
index or
access
lock is
detected
during
loading.
l SR
paramet
ers are
not
editable
on the
monitori
ng side.
A string
input to
the SR
paramet
er
results
in an
error
messag
e being
reported
during
configur
ation
and the
input
string is
rejected.
l The
alarm
flags are
cleared
when
the CM
is
inactivat
ed or
- 891 -
Chapter 27 - Logic Functions
CEE is
made
IDLE.
DELAY Provides the ability to The OUT
delay the output (OUT) always
response to the given follows the
input (IN) by a sample input (IN)
cycle time. action by a
sample cycle
time.
EQ Provides a 2-input Turns the
Compare Equal (with digital output
deadband range) (OUT) ON
function, meaning that only when
it compares two inputs the two
for equality within a inputs (IN[1]
specified deadband and IN[2])
range. are
considered
equal within
a specified
deadband
range or, for
single inputs,
a designated
trip point
parameter
(TP) as
follows:
l If ((IN[1]
- IN[2)
<=
DEADBA
ND1),
then:
OUT =
ON.
l If ((IN[1]
- IN[2]) >
DEADBA
ND2),
then:
OUT =
OFF.
l Else
OUT is
not
change
d.
DEADBAND1
and
DEADBAND2
must satisfy
the following
constraint:: 0
<=
- 892 -
Chapter 27 - Logic Functions
DEADBAND1
<=
DEADBAND2
If either input
(IN[1] or IN
[2]) is NaN,
the output
(OUT) is set to
INBADOPT.
FTRIG Falling edged Trigger Provides
Block sets the output falling edged
(OUT) to ON following change
the ON-to-OFF detection,
transition of the input thereby
and stays ON until the turning the
next execution cycle, at output ON if
which time it returns to an ON-to-
OFF. OFF
transition is
detected.
Starting in Experion R311.1, the configuration of the LOGICINITOPT parameter for the Control
Module determines how the FTRIG block OUT responds as a result of block state transitions such
as activate, warm start, cold start or RAM Retention Restart (RRR). The following table
summarizes the possible OUT action for a given LOGICINITOPT configuration.
If Configured LOGICINITOPT Value Is … And, Current IN Value Is … Then, OUT Value After
State Transition Is …
PULSEEXPIRED ANY OFF
- 893 -
Chapter 27 - Logic Functions
OUT =
ON.
l If IN[1] <
(IN[2] -
DEADBA
ND),
then:
OUT =
OFF.
l If (IN[2]
-
DEADBA
ND) < IN
[1] < IN
[2], then
OUT is
not
change
d.
If either input
(IN[1] or IN
[2]) is NaN,
the output
(OUT) is set to
INBADOPT.
GT Provides a 1- or 2- Turns the
input Compare Greater digital output
Than (with deadband) (OUT) ON
function, meaning that only when
it checks to see if one one
designated input (IN designated
[1]) is greater than input (IN[1])
either a second input is greater
(IN[2]) or, for a single than a
input, a designated trip second input
point parameter (TP). (IN[2]) or, for
single input,
a designated
trip point
parameter
(TP) as
follows:
l If IN[1] >
IN[2],
then:
OUT =
ON.
l If IN[1]
<= (IN[2]
-
DEADBA
ND),
then:
OUT =
OFF.
- 894 -
Chapter 27 - Logic Functions
l If (IN[2]
-
DEADBA
ND) < IN
[1] <= IN
[2],
then:
OUT is
not
change
d.
If either input
(IN[1] or IN
[2]) is NaN,
the output
(OUT) is set to
INBADOPT.
LE Provides a 1- or 2- Turns the
input Compare Less digital output
Than or Equal (with (OUT) ON
deadband) function, only when
meaning it checks to one
see if one designated designated
input (IN[1]) is less input (IN[1])
than or equal to either is less than or
a second input (IN[2]) equal to a
or, for a single input, a second input
designated trip point (IN[2]) or, for
parameter (TP). a single
input, a
designated
trip point
parameter
(TP) as
follows:
l If IN[1]
<= IN[2],
then:
OUT =
ON.
l If IN[1] >
(IN[2] +
DEADBA
ND),
then:
OUT =
OFF.
l If IN[2] <
IN[1] <=
(IN[2] +
DEADBA
ND),
then:
OUT is
not
change
d.
- 895 -
Chapter 27 - Logic Functions
If either input
(IN[1] or IN
[2]) is NaN,
the output
(OUT) is set to
INBADOPT.
LIMIT Provides a 3-input limit Provides an
function, meaning that output that is
it provides an output maintained
that is maintained within a
within a specified specified
range as defined by range as
user-specified follows:
minimum and
maximum values. l MN ≤
OUT
≤MX
l If IN is
not NaN,
OUT =
MIN (
MAX (
IN, MIN
), MAX )
l If IN =
NaN,
OUT =
NaN
LT Provides a 1- or 2- Turns the
input Compare Less digital output
Than (with deadband) (OUT) ON
function, meaning that only when
it checks to see if one one
designated input (IN designated
[1]) is less than either input (IN[1])
a second input (IN[2]) is less than a
or, for a single input, a second input
designated trip point (IN[2]) or, for
parameter (TP). a single
input, a
designated
trip point
parameter
(TP) as
follows:
l If IN[1] <
IN[2],
then:
OUT =
ON.
l If IN[1]
>= (IN[2]
+
DEADBA
ND),
then:
OUT =
OFF.
- 896 -
Chapter 27 - Logic Functions
l If IN[2]
<= IN[1]
< (IN[2]
+
DEADBA
ND),
then:
OUT is
not
change
d.
If either input
(IN[1] or IN
[2]) is NaN,
the output
(OUT) is set to
INBADOPT.
MAX Provides an N-input Used to
MAX function, isolate the
meaning that it highest value
provides an output of multiple
that is the maximum input values
value of N-inputs. and use it as
a designated
output value.
MAXPULSE Provides a maximum Used to limit
time limit pulse output the output
(OUT) each time the (OUT) pulse
input (IN) transitions to a
from OFF to ON. You maximum
specify the maximum width.
output pulse width
(PULSEWIDTH) in l If the
seconds through input
configuration. (IN)
pulse
time is
less
than or
equal to
the
specified
PULSE
WIDTH
time, IN
is
assume
d to
equal
one
output
(OUT)
pulse.
l If the IN
pulse
time is
greater
- 897 -
Chapter 27 - Logic Functions
than the
specified
PULSE
WIDTH
time,
OUT
pulse
terminat
es at
end of
specified
PULSE
WIDTH
time.
MAXPULSE timing diagram:
Starting in Experion R311.1, the configuration of the LOGICINITOPT parameter for the Control
Module determines how the MAXPULSE block OUT responds as a result of block state
transitions such as activate, warm start, cold start or RAM Retention Restart (RRR). The following
table summarizes the possible OUT action for a given LOGICINITOPT configuration.
If Configured LOGICINITOPT Value Is … And, Current IN Value Is … Then, OUT Value After
State Transition Is …
PULSEEXPIRED ANY OFF
- 898 -
Chapter 27 - Logic Functions
- 899 -
Chapter 27 - Logic Functions
Starting in Experion R311.1, the configuration of the LOGICINITOPT parameter for the Control
Module determines how the MINPULSE block OUT responds as a result of block state transitions
such as activate, warm start, cold start or RAM Retention Restart (RRR). The following table
summarizes the possible OUT action for a given LOGICINITOPT configuration.
If Configured LOGICINITOPT Value Is … And, Current IN Value Is … Then, OUT Value After
State Transition Is …
PULSEEXPIRED ANY OFF
- 900 -
Chapter 27 - Logic Functions
If Configured LOGICINITOPT Value Is … And, Some IN Disagree … Then, DISCREP Value After
State Transition Is …
PULSEEXPIRED OFF OFF
PULSEREADY ON 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.
- 901 -
Chapter 27 - Logic Functions
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.
nOON n-out-of-N voting Provides
block; outputs are VOTED,
computed as follows: ORED and
ALARM
l VOTED output is outputs in
set to ON if at support of
least n inputs are logical
ON, otherwise it is functions.
set to OFF.
l ORED output is
set to ON if any
- 902 -
Chapter 27 - Logic Functions
input is ON,
otherwise it is set
to OFF.
l 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.
Starting in Experion R311.1, 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 … Then, OUT Value After
State Transition Is …
PULSEEXPIRED ANY OFF
- 903 -
Chapter 27 - Logic Functions
l If IN =
ON,
then:
OUT =
OFF.
l If IN =
OFF,
then
OUT =
ON.
OFFDELAY Delays the input signal Used to delay
supplied at the input the input by a
(IN) when the input specified
signal transitions from delay time
ON to OFF. after an
ON/OFF
device
transitions
from the ON
state to the
OFF state.
l Delay
time is
specified
by the
DELAYTI
ME
paramet
er.
OFFDELAY timing diagram:
Starting in Experion R311.1, the configuration of the LOGICINITOPT parameter for the Control
- 904 -
Chapter 27 - Logic Functions
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
Starting in Experion R311.1, 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 …
- 905 -
Chapter 27 - Logic Functions
PULSEEXPIRED ON ON
- 906 -
Chapter 27 - Logic Functions
l If the IN
pulse
time is
greater
than the
fixed
PULSE
WIDTH
time,
OUT
pulse
width is
restricte
d to the
fixed
time.
Another
output
pulse
cannot
be
generat
ed until
the
precedin
g pulse
has
complet
ed.
PULSE timing diagram:
Starting in Experion R311.1, 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 … Then, OUT Value After
State Transition Is …
PULSEEXPIRED ON ON
- 907 -
Chapter 27 - Logic Functions
parameter of the Control Module for all new logic applications. The LOGICINITOPT configuration
of PULSEREADY is supported for migration purposes only.
- 908 -
Chapter 27 - Logic Functions
If Configured LOGICINITOPT Value Is … And, Current IN Value Is … Then, OUT Value After
State Transition Is …
PULSEEXPIRED ON ON
- 909 -
Chapter 27 - Logic Functions
l If G =
ON, OUT
= IN2
SEL-REAL Provides a 3-input Sets the
selector function, actual output
meaning it selects 1 of (OUT) equal
2 inputs (IN[1] or IN to the value
[2]) depending on the of 1 of 2
separate input (G). inputs (IN[1]
or IN[2]),
depending on
the value of a
separate
input (G).
l If G =
OFF,
OUT =
IN1
l If G =
ON, OUT
= IN2
SHL Provides a 16-bit Used to shift
integer output (OUT) out bits in the
that is shifted to the output (OUT)
left by the number of by shifting
bits (N) specified from the bits in the
the 16-bit integer input (IN) left
input (IN). You specify by the
the number of bits (N) number of
through configuration. bits (N)
specified.
l OUT = IN
left
shifted
by N
bits,
zero
filled on
right.
SHL execution diagram:
- 910 -
Chapter 27 - Logic Functions
l OUT = IN
right
shifted
by N
bits,
zero
filled on
left.
SHR execution diagram:
- 911 -
Chapter 27 - Logic Functions
- 912 -
Chapter 27 - Logic Functions
5. CEESW
ITCH
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 Boolean-
valued
parameters
described
below.
STARTSIGNAL Boolean Parameters CMLOADFL This
parameter
Note that there is no implied priority or mutual exclusivity holds True
among the flag parameters described here. For example, for the first
if a CEE starts in idle, has a control module loaded, is execution
activated, and then CEE is warm started, the first cycle
execution of the CM parameters CMLOADFL, following a
CMACTIVEFL, CEEWARMFL, AND ANYRESTARTFL will be load of the
True. Parameters CEECOLDFL and CEESWITCHFL will be parent CM.
False. Parameter RESTART will have the value CMLOAD.
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
- 913 -
Chapter 27 - Logic Functions
cycle
following
warm start of
the CEE.
CEESWITCHFL This
parameter
holds True
for the first
execution
cycle
following
redundant
switchover of
the CEE on a
C200/C200E
Controller.
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.
TRIG The edge detect l An Off to
(change detect) On or
function block. The On to
input (IN) and output Off
(OUT) types must be transitio
type BOOLEAN. n of the
IN sets
the OUT
to On
and it
stays On
until the
next
executio
n cycle
when it
returns
to Off.
l The IN is
assume
d to start
at the
- 914 -
Chapter 27 - Logic Functions
Off
stage
when
the
function
block is
first
turned
On.
Starting in Experion R311.1, 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 … Then, OUT Value After
State Transition Is …
PULSEEXPIRED ON ON
- 915 -
Chapter 27 - Logic Functions
This action
adheres to
the IEC DIS
- 916 -
Chapter 27 - Logic Functions
1131-3
standard.
But, this may
not be the
expected
behavior for
an XOR with
more than
two inputs.
- 917 -
Chapter 27 - Logic Functions
You can only use the CHGEXEC block with blocks that are qualified to run under change driven
execution. Most Experion Control 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.
- 918 -
Chapter 27 - Logic Functions
Create Using CHGEXEC to create CM logic strategies that execute most of their logic by
Control exception, reduces the average processing power consumed by the strategy.
Module logic
strategies to Be sure you are fully aware of the advantages, disadvantages and constraints of
execute most designing control strategies that execute by exception. You are responsible for
of their logic identifying and resolving any design issues with your given strategy.
by exception.
Vary the When ordinary CMs are scheduled to run continuously, it is relatively easy to
control judge the controller processing load and risk of CEE cycle overruns. In contrast,
module's the processing load for a CM using a CHGEXEC block can vary greatly depending
processing on whether the input state has changed since the last execution cycle or not.
load.
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.
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.
- 919 -
Chapter 27 - Logic Functions
Consistent Do not use logic gates to directly access input data that is monitored for change.
Input Data Read data from the output pins on the CHGEXEC block instead.
Multiple Most change driven configurations only work with single CHGEXEC defined within
CHGEXEC the parent CM. The only exception would be when two CHGEXEC blocks are placed
blocks in in the same CM to expand the number of change detected inputs. See the
same Cascading within a CM Example section for more information.
Control
Module
Increased Using a CHGEXEC block within a logic strategy always adds processing weight to
Processing the CM. The execution of the CHGEXEC block itself and the data flow processing of
Weight 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 addition of the CHGEXEC will add 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.
ATTENTION
Support for the periodic auto-trigger does not allow the CHGEXEC block to be used with
blocks other than those listed as qualified in the following table. Blocks that are not qualified
will malfunction under change driven execution despite the support of auto-trigger.
CAUTION
Neither Control Builder nor the CEE prevent application engineers from using unqualified
blocks in a change driven configuration. Application engineers are responsible using only
qualified blocks with the CHGEXEC block. Failure to follow this guideline can lead to
unpredictable results in the operation of control strategies.
- 920 -
Chapter 27 - Logic Functions
LOGIC Library
2OO3 Yes
AND Yes
CHECKBAD Yes
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 See comment above for the DELAY block type.
GE Yes
GT Yes
LE Yes
LIMIT Yes
LT Yes
MAX Yes
- 921 -
Chapter 27 - Logic Functions
MINPULSE Yes See comment above for the MAXPULSE block type.
MUX Yes
MUXREAL Yes
MVOTE Yes
NAND Yes
NE Yes
NOON Yes See comment above for the MAXPULSE block type.
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 See comment above for the MAXPULSE block type.
QOR Yes
ROL Yes
ROR Yes
RS Yes
RTRIG Yes See comment above for the DELAY block type.
SEL Yes
SELREAL Yes
SHL Yes
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
- 922 -
Chapter 27 - Logic Functions
PUSH Yes See comment above for the MAXPULSE block type.
TEXTARRAY Yes
TIMER Yes 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 to within the error of the auto-trigger
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.
TYPECONVERT Yes
TIP
You can test CM strategies employing CHGEXEC blocks either on simulation platforms or
controller platforms. As with any CM, the CMs with CHGEXEC blocks do not need to be
modified in any way when moved between controllers and simulators.
- 923 -
Chapter 27 - Logic Functions
1 TheC200 Controller does not support the CHGEXEC block. When an application engineer
attempts to load a CM containing a CHGEXEC instance to the CEEC200, the load fails. The
message "Component block type reference error" (error number 101.2013) appears.
- 924 -
Chapter 27 - Logic Functions
LASTDATA An indexed parameter of type Boolean holding the value of the input array, DATA
[1..32 ] [ ], that was captured during the last execution cycle.
RIGGER 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 downstream 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 will
execute 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.
- 925 -
Chapter 27 - Logic Functions
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
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.
l NOTEST, EXECALL, and NOAUTOTRIG
- 926 -
Chapter 27 - Logic Functions
- 927 -
Chapter 27 - Logic Functions
- 928 -
Chapter 27 - Logic Functions
Consideration Description
Coordinated A CHGEXEC cascade crossing CM boundaries would probably involve
Logic coordinated logic, which had been partitioned across modules. Such
strategies would typically execute with the same PERIOD and PHASE values.
This is shown in the Control Module figures above.
Block Execution Order of block execution must be deliberately assigned for any CM strategy,
Order but especially for CHGEXEC strategies. Often the CHGEXEC will run as the
first block within a CM, with computational logic following. The ORDERINCM
values would be chosen accordingly. This is shown in the Control Module
figures above.
It is not required to have the CHGEXEC execute as the first block within a CM.
But any logic preceding the CHGEXEC would execute once every CM period
and would not benefit from the change driven execution. The CHGEXEC
instance and its position within the block execution order determines where
the CM exits if there has been no change of inputs.
Control Module When a change-driven logic strategy is split across CMs, execution order of
Execution Order 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 For cascades between CMs, EXITOPT is set to EXITONEQU for both the
Setting primary CHGEXEC and the secondary CHGEXEC. This is shown in the Control
Module figures above.
TRIGGER with In cascaded CHGEXEC strategies, multiple secondaries can follow a single
Multiple primary with all consuming the primary's TRIGGER output. In this case, each
Secondaries of the secondary CHGEXEC's would be triggered to run to completion by a
change in the primary's TRIGGER parameter.
Secondary Be careful when building CHGEXEC cascades across CMs. In some strategies,
Control Module it may save time to have the secondary CM connect to outputs from the
Output primary CM without first passing those values through the secondary's
Connections CHGEXEC. This should work as long as:
l the primary and secondary execute with the same PERIOD and PHASE
and
l 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 Be careful when using CHGEXEC cascades that cross CEE boundaries. In
Cross CEE general, if a CHGEXEC pulls the TRIGGER parameter from a CHGEXEC in a
Boundaries different CM, then the two CMs must be in the same CEE. If CHGEXEC
cascade must cross CEE boundaries, then the secondary should not use the
TRIGGER output from the primary. It should explicitly pass all output data from
the primary through the CHGEXEC.
- 929 -
Chapter 27 - Logic Functions
ATTENTION
The following figure shows the leading CHGEXEC with only two data elements, which is
inaccurate. A second CHGEXEC would be introduced to support additional inputs only after
those of the first had been exhausted.
- 930 -
Chapter 27 - Logic Functions
l 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.
l 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.
l 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.
Figure 27.4 Wrong Use Of CHGEXEC: Downstream Logic Pulls Change Data Directly
- 931 -
Chapter 27 - Logic Functions
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 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 27.5 Correct Use Of CHGEXEC: Downstream Logic Pulls From CHGEXEC Output
- 932 -
Chapter 27 - Logic Functions
scenarios.
Upper Limit Periodic auto-trigger does not provide a reliable time tick for blocks whose
On Time Out execution is gated by a CHGEXEC. Timing blocks such as MAXPULSE and
Delays 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.
The CHGEXEC block's auto-trigger activity is specifically designed to disallow multiple executions
within a single AUTOPERIOD interval. Doing otherwise would cause undesirable behavior in
CHGEXEC cascades. It would cause downstream CMs to have an effective auto-trigger period of N
times AUTOPERIOD where N is the depth of the cascade.
- 933 -
Chapter 27 - Logic Functions
l 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.
l 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.
l The value of AUTOPHASE is preserved across RAM Retention Restart and across checkpoint
save / restore. This means that the processing load from periodic auto-trigger which is seen by
each cycle will not change when the CEE restarts. Note, however, that AUTOPHASE is not
preserved across CM reload unless the application engineer takes deliberate action. If
AUTOPHASE has been left at -1 within the CB project configuration then reloading will cause a
new AUTOPHASE value to be assigned. To avoid this, the application engineer should do
Control Builder Upload and Update on the parent CM after AUTOPHASE been assigned.
l 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.
l 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.
- 934 -
Chapter 27 - Logic Functions
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.
ATTENTION
l 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.
l The TRIGGER toggles whenever the parent CM is allowed to run to completion.
Consequently, it toggles at least once whenever a state change occurs.
- 935 -
Chapter 27 - Logic Functions
- 936 -
Chapter 27 - Logic Functions
Note:
1. Activation of Parent CM consists
of the following transition.
l EXECSTATE changes from
Inactive to Active on
parent CM when
CEESTATE is Run.
- 937 -
Chapter 27 - Logic Functions
- 938 -
Chapter 27 - Logic Functions
l EXITOPT
l NUMDATA
l AUTOPERIOD
l AUTOPHASE
l 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).
l DATA[ ]
l LASTDATA[ ]
l TRIGGER
l CHGINDEX
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
- 939 -
Chapter 27 - Logic Functions
Stage Description
1 Implement the CHGEXEC CM as well as any cascaded CMs whose implementation is
closely coupled.
3 Make sure no CMs of interest have inputs which can change during the course of the
test.
4 Make sure other control strategies are completely unchanging during the course of the
test. Other strategies may be loaded and active. But they may not be loaded or unloaded
while the test is in progress. Similarly no strategies may be activating or inactivated
during the test.
5 Identify which cycle to monitor for load effects. If the CMs of interest all execute at the
fastest period, then CPUCYCLEAVG[40] provides the best information. If the CMs do not
execute at the fast period then CPUCYCLEAVG[40] cannot be used. Instead identify one
cycle (called CYCLE here) where all CMs of interest execute and monitor that. For
example, if the CMs of interest have a PERIOD of 1 second and a PHASE of 3 then
CYCLE could be either 3 or 23.
7 Set STATSRESET to ON. Note that STATSRESET will never show a value of ON. But
setting it to ON causes statistics parameters to reinitialize.
8 Let 3 minutes pass after setting STATSRESET in order for averages to equilibrate.
9 Verify that CRCYCLEORN[40] is zero. If it is not zero, verify that it is not changing. Any
overruns during the course of the test would invalidate the results.
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.
l CheckBool functionality
l CheckBool scenario 1
l CheckBool scenario 2
l CheckBool scenario 3
l CheckBool scenario 4
- 940 -
Chapter 27 - Logic Functions
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 connecting 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.
Table 27.3 Sample CHECKBOOL Strategy linking Control Modules in Project Mode
Table 27.4 Viewing Sample CHECKBOOL Strategy Linking Control Modules in Monitoring Mode
- 941 -
Chapter 27 - Logic Functions
The CHECKBOOL inputs and outputs are of type value/status. The CHECKBOOL block is capable
of connecting eight sets of input and output value/status pairs. However, the default block
configuration assumes only one connection pair. The block utilizes an input status parameter
INSTS[n] to determine the validity of the input IN[n]. If the status value is valid, the logic block
simply passes its received input value/status though to its associated output value/status.
In the event a BADINACT condition is detected, the CHECKBOOL block uses three additional
parameters to determine when and how long OUT[n] is to be held at the configured BADINACT
value. The Inactive Input Detection Threshold Time (INACTINDETTM) parameter specifies the
amount of time that must expire before the block determines if it should take the configured Bad
Input Action. During this time, the inputs status must be continually INACTIVE during this
detection time for the action to be taken. When the input is INACTIVE for less than this time, no
action is taken. If the input goes INACTIVE again the time starts counting over. The other two
parameters are Bad Input Detection Threshold Time (BADINDETTM[n]) and Bad Input Action
Minimum Time (BADINACTMINTM[n]). The BADINDETTM[n] parameter determines how long the
block will delay before the configured action. The BADINACTMINTM[n] establishes the minimum
time the action will be provided on OUT. Once this minimum time expires, the output value/status
is only set to the input value/status when the input status is valid. While invalid, the bad action will
continue to be provided on OUT.
The following scenarios define the CHECKBOOL block operation for both valid and invalid input
data. In each of the scenarios, it is assumed that the CHECKBOOL block is connected to a device
which is capable of supplying it the proper input data ( IN[1] and INSTS[1]) and the CHECKBOOL
block is sending this data to a block which requires validated data downstream. Neither the
upstream and downstream blocks nor their connections have been shown. Only the operations
within the CHECKBOOL block and its actions on both input and output data will be discussed here.
Also, only one input/output pair is shown for each CHECKBOOL block, but each block can handle
up to eight input/output pairs.
- 942 -
Chapter 27 - Logic Functions
when an INSTS is “BAD”. Once the Bad Input Detection Threshold Time has elapsed, the output
values will track those of the input.
- 943 -
Chapter 27 - Logic Functions
l Function-CONTACTMON block
l Predecessor Block-CONTACTMON block
l Execution-CONTACTMON block
- 944 -
Chapter 27 - Logic Functions
expires. The default time is 0; that is the alarm is reported as soon as the alarm condition
occurs.
You can configure individual deadband time for BADPVALM. However, if you are migrating from
pre-R410 to later releases, refer to Impact of migration on alarm attributes.
l Off-Delay Time (BADPVALM.TMO) - With R410, this parameter is introduced to define the
duration in seconds during which an RTN reporting is suppressed even though the alarm
condition does not exist. The RTN is reported on the Station only after this time expires and the
alarm condition has returned to normal. The default time is 0; that is RTN is reported as soon
as the alarm condition returns to normal. However, if you are migrating from pre-R410 to later
releases, the alarm off-delay time will be set as default value (0).
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:
ON OFF ON State1 No
- 945 -
Chapter 27 - Logic Functions
- 946 -
CHAPTER
28 MATH FUNCTIONS
l If a NaN input is encountered when calculating, the result (and the output) shall be NaN.
l Disconnected inputs have a default value of zero (with the exception of multiply where the
input(s) default is one).
l 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.
DIV Division 60
- 947 -
Chapter 28 - Math Functions
MOD (x MOD y) 60
NEG -(x) 50
POW (x^y) 60
SUB Subtraction 60
- 948 -
Chapter 28 - Math Functions
- 949 -
Chapter 28 - Math Functions
- 950 -
Chapter 28 - Math Functions
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.
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.
l 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).
l ROLLFRBASE - Unit of time that is associated with the frequency of sample collection. This
could be seconds, minutes, or hours.
- 951 -
Chapter 28 - Math Functions
o For example if ROLLFREQ is “5”, and ROLLFRBASE is “Seconds” then samples are
collected every 5 seconds.
OUT = (4+6+8)/3=6
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.
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:
l CM EXECSTATE transitions from INACTIVE to ACTIVE.
l CEE transitions from IDLE to RUN.
l The rolling average restart (ROLLAVGRST) parameter value is “ON.”
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).
- 952 -
Chapter 28 - Math Functions
l 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.
l 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 Module's remaining functions are unaffected.
l 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 parameter value remains at “0.” However, the Control Module's
remaining functions are unaffected.
Refer to the Control Builder Parameter Reference document for more information on the
parameters.
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:
l The ACE Control Module's NOPERIOD and SCALEPERIOD parameter values are NaN. This is
considered as an illegal combination for the Rolling Average function block.
l The number of samples in the sample buffer exceeds its limits (greater than 3800).
l The frequency of sample collection (ROLLFREQ) is lesser than 1 or greater than 3800.
l 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).
l 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).
l 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.
l 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.
The estimated memory size for the Rolling Average function block is as follows:
l Estimated user memory (RAM) is 112 bytes per instance. (This size is reflected in the block size
information).
l Estimated code size (firmware) is 3100 bytes. (This size is not reflected in the block size
information).
l 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).
- 953 -
Chapter 28 - Math Functions
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.
l The CEE calculates and verifies the memory associated with the block to be within the range
(1 to 3800).
l 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.
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.
Only configuration values are saved during Checkpoint Save and restored on start-up. The
internal sample buffer is not maintained in the Checkpoint.
The Rolling Average function block does note execute in the following scenarios:
l CM Period is “None” and SCALEPERIOD parameter is “NaN.”
l 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.
- 954 -
CHAPTER
ATTENTION
The following blocks can only be used with C300 Controllers. They are not supported for
use with C200/C200E Controllers.
Support HT motor HTMOTOR (HT Motor Used to define inputs and interlocks for
drive control Drive Control) Block conventional HTMOTOR drive.
requirements
Support drum level LEVELCOMP (Drum Used to compute drum level from measured
computation Level Computation) differential pressure and other field specific
Block constants.
Support LT motor LTMOTOR (LT Motor Used to define inputs and interlocks for
drive control Drive Control) Block conventional LTMOTOR drive.
requirements
Provide Integral MAINIBV (IBV Logic) Used to define configurable timing logic for
Block the main valve.
- 955 -
Chapter 29 - Power Generation Functions
Support solenoid valve SOLENOID (Solenoid Used to define inputs and interlocks for
drive control Valve Drive Control) conventional solenoid valve drive control.
requirements Block
- 956 -
Chapter 29 - Power Generation Functions
Configuration Description
Tab
Main l Name: Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l 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 and 32767. The default value is 10.
l Description (DESC): Block descriptor of up to 132 characters long.
l Engineering Units (EUDESC): Lets you specify a text string of up to 16
characters to identify the variable values associated with this block.
l 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.
l 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.
l Display Configuration -Lets you specify the number of GRPCAPRBK
blocks in the CM for which a common display is required. Default Value as
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.
l Alarms -Lets you specify the priority and severity for following alarms.
l 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.
l 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.
l 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.
l 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 view information pertinent to the qualification and version control
system and enter block comments, if desired.
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 Lets you select the available parameters that appear on the face of the
Parameters function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
- 957 -
Chapter 29 - Power Generation Functions
Configuration Description
Tab
Block Lets you change several block-viewing preferences including the color of the
Preferences block's faceplate.
Template Lets you view and define parameters for associated templates.
Defining
l Function-GRPCAPRBK block
l Configuration examples-GRPCAPRBK block
l Inputs-GRPCAPRBK block
l Outputs-GRPCAPRBK block
l Error handling-GRPCAPRBK block
l GRPCAPRBK parameters
l This block provides the capability for a group of same type of equipments depending upon the
equipment status.
l This block provides the Group Capability and Group Runback Rate for the configured number
of equipments.
l The block accepts configurable number of equipments' input status and desired unit load set
point.
l The block provides a configurable parameter NUMBEROFEQP which represents the number of
equipments used for input connection to the block.
l The block enables the user to configure equipment OFF state Capability Value (OFFCAP) and
ON state Capability Value (ONCAP) for individual equipment.
l 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.
l The block has the capability to generate alarm for Run back Active when out capability is less
than unit load set point.
ATTENTION
Ensure that the OFFCAP value is configured less than the ONCAP value. If the OFFCAP value
is greater than the ONCAP value, the ONCAP value is not stored.
If the Group Capability block is connected through another block and the OFFCAP is greater
than the ONCAP value, the ONCAP value is not stored (Also, there is no error message.)
This block provides the Group Capability and Group Runback Rate of the configured number of
equipments. The block accepts configurable number of equipments' status inputs and desired unit
load set point. This block provides two analog and one discrete output.
The possible blocks in the downstream are:
l Auxcalc - (Most often used) - OUTCAP and ROCLM to P1
l Signalsel - (Often used) - OUTCAP and ROCLM to P1
- 958 -
Chapter 29 - Power Generation Functions
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.
l 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:
l DigAcq (PVFL) or Digital Inpits - For DI
l 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.
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).
- 959 -
Chapter 29 - Power Generation Functions
l 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.
l This block supports the invalid index check and Access level checks for all parameters specific
to the block.
- 960 -
Chapter 29 - Power Generation Functions
l On CM inactivation or CEE state IDLE, all output values are set to default values.
l If LOADSP status is BAD , then:
o 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.
o The RUNBKACTFL is set to FALSE.
l If all the DISTS of the Configured Number of Equipment are BAD, then:
o ROCLM is retained at the last value if ROCLMOPT= LASTVAL is selected. If ROCLMOPT
= SAFEVAL, the user selected value is substituted for ROCLM.
o The RUNBKACTFL is set to FALSE.
o OUTCAP is retained at the last value if CAPVALOPT = LASTVAL is selected. If
ROCLMOPT = SAFEVAL, the user selected value is substituted for OUTCAP.
l 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.
l OFFCAP[], ONCAP[] and RBROCLM parameters are not allowed to be changed/edited when the
CM is active.
l If there is more than one block per CM, the number of blocks per display depends on the
configuration on the first block. A maximum of six blocks per display are possible. If more than
six blocks per display is configured, the details of the first six blocks are displayed along with an
error message.
ATTENTION
l 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.
l 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.
- 961 -
Chapter 29 - Power Generation Functions
The following diagram illustrates the START logic flow for an HT Motor block.
The following diagram illustrates the STOP logic flow for an HT Motor block.
- 962 -
Chapter 29 - Power Generation Functions
The following diagram illustrates the TRIP logic flow for an HT Motor block.
- 963 -
Chapter 29 - Power Generation Functions
Each HT Motor Control block supports the following user configurable attributes. The following
table lists the given name of the “Ta” in the parameter configuration form and then briefly
describes the attributes associated with that tab
- 964 -
Chapter 29 - Power Generation Functions
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l 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 and 32767. The default value is 10.
l Description (DESC) - Block descriptor of up to 132 characters long.
l Engineering Units (EUDESC) - Lets you specify a text string of up to 16
characters to identify the variable values associated with this block.
l 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 ALL.
l 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, TRACK for tracking OP. Only applicable with PV Source Option
selection of ALL. The default selection is AUTO.
l 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.
l 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 l 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.
l 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.
l 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.
l 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.
l 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.
l 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.
l 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
- 965 -
Chapter 29 - Power Generation Functions
Configuration Description
Tab
is OFF (unchecked). Operator cannot bypass override interlocks to change
OP.
SCM l 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.
l Abnormal State Options - Lets you specify the action the function block is
to take when the SCM is in an abnormal state.
l 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.
l 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.
l The Hold State Option (HOLDOPT) applies when the SCM state
is Holding or Hold. The options are NONE, SAFEOP. The default
selection is NONE.
l 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.
- 966 -
Chapter 29 - Power Generation Functions
Configuration Description
Tab
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.
l 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.
l 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.
l 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.
l 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.
l 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.
l Priority (CMDDISALM.PR): Lets you select the priority level as NONE,
JOURNAL, LOW, HIGH, or URGENT. The default setting is LOW.
l 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.
l 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
disables the alarm. The default setting is 0. This value must be less than
the value set for CMDDISALM.TM[0].
l 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].
l Priority (CMDFALALM.PR): Lets you select the priority level as NONE,
JOURNAL, LOW, HIGH, or URGENT. The default setting is LOW.
l 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.
l Priority (UNCMDALM.PR): Lets you select the priority level as NONE,
JOURNAL, LOW, HIGH, or URGENT. The default setting is LOW.
l 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.
- 967 -
Chapter 29 - Power Generation Functions
Configuration Description
Tab
Bad PV - Lets you configure the following parameters for this alarm.
l Priority (BADPVALM.PR): Lets you select the priority level as NONE,
JOURNAL, LOW, HIGH, or URGENT. The default setting is LOW.
l 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.
l Safety Override Interlock (SIALM.FL): This alarm is generated when the
safety override interlock (SI) causes an OP state change.
l Option (SIALM.OPT): Lets you specify whether the safety override
interlock alarm is enabled or not. The default setting is DISABLED.
l Priority (SIALM.PR): Lets you select the priority level as NONE, JOURNAL,
LOW, HIGH, or URGENT. The default setting is LOW.
l 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.
RUN Override Interlock Alarm - Lets you configure the following parameters for
this alarm.
l Option (OIALM[1].OPT): Lets you specify whether the RUN override
interlock alarm is enabled or not. The default setting is DISABLED.
l Priority (OIALM[1].PR): Lets you select the priority level as NONE,
JOURNAL, LOW, HIGH, or URGENT. The default setting is LOW.
l 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 for the following
alarms.
Motor trip alarm: Lets you configure the following parameters for this alarm
l Option (MOTORTRIPALM.OPT): Lets you specify whether the motor trip is
enabled or not. The default setting is ENABLE.
l Priority (MOTORTRIPALM.PR): Lets you select the priority level as NONE,
JOURNAL, LOW, HIGH, or URGENT. The default setting is LOW.
l 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.
- 968 -
Chapter 29 - Power Generation Functions
Configuration Description
Tab
Lockout Relay Reset alarm: Lets you configure the following parameters for
this alarm.
l Option (LRRALM.OPT): Lets you specify whether the lockout relay reset
alarm is enabled or not. The default setting is ENABLE.
l Priority (LRRALM.PR): Lets you select the priority level as NONE,
JOURNAL, LOW, HIGH, or URGENT. The default setting is LOW.
l 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.
l Option (WDGTEMPALM.OPT): Lets you specify whether the winding
temperature trip alarm is enabled or not. The default setting is ENABLE.
l Priority (WDGTEMPALM.PR): Lets you select the priority level as NONE,
JOURNAL, LOW, HIGH, or URGENT. The default setting is LOW.
l 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.
Bearing Temperature Trip alarm: Lets you configure the following parameters
for this alarm.
l Option (BRNGTEMPALM.OPT): Lets you specify whether the bearing
temperature trip alarm is enabled or not. The default setting is ENABLE.
l Priority (BRNGTEMPALM.PR): Lets you select the priority level as NONE,
JOURNAL, LOW, HIGH, or URGENT. The default setting is LOW.
l 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.
l Option (VIBRALM.OPT): Lets you specify whether the vibration trip alarm
is enabled or not. The default setting is ENABLE.
l Priority (VIBRALM.PR): Lets you select the priority level as NONE,
JOURNAL, LOW, HIGH, or URGENT. The default setting is LOW.
l 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
l 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.
l Priority (OFFNRMALM.PR): Lets you select the priority level as NONE,
JOURNAL, LOW, HIGH, or URGENT. The default setting is LOW.
l Severity (OFFNRMALM.SV): Lets you set the relative severity of the alarm
- 969 -
Chapter 29 - Power Generation Functions
Configuration Description
Tab
on a scale of 0 to 15. Where 15 is the most severe. The default setting is
0.
Identification Lets you view information pertinent to the qualification and version control
system and enter block comments, if desired.
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 Lets you select the available parameters that appear on the face of the
Parameters function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences block's faceplate.
Template Lets you view and define parameters for associated templates.
Defining
l Function-HTMOTOR block
l Configuration examples-HTMOTOR block
l Inputs-HTMOTOR block
l Outputs-HTMOTOR block
l Error handling-HTMOTOR block
l States-HTMOTOR block
l State parameters and descriptors-HTMOTOR block
l Mode and mode attribute-HTMOTOR block
l Safe output state-HTMOTOR block
l Command dependency on switches and Mode attribute-HTMOTOR block
l Local manual-HTMOTOR block
l Permissive interlocks-HTMOTOR block
l Safety Override Interlock-HTMOTOR block
l Override Interlocks-HTMOTOR block
l Configurable Override/Permissive Interlock Bypass-HTMOTOR block
l Alarms-HTMOTOR block
l Seal-in option-HTMOTOR block
l FIRSTUP functionality-HTMOTOR block
l Initialization Manual condition-HTMOTOR block
l OP initialization option-HTMOTOR block
l Initialization Manual condition with Safety Override Interlock, Override Interlocks, LocalMan,
and OP initialization-HTMOTOR block
l Initialization with pulse output-HTMOTOR block
l Initialization request flags-HTMOTOR block
l OP and DO initialization after load-HTMOTOR block
- 970 -
Chapter 29 - Power Generation Functions
l The HT Motor Control block has two inputs, two states, and two outputs.
l Provides PV Source Selection; PV has 2 basic states such as RUN and STOP plus an additional
BAD state.
l Provides latched and pulsed outputs.
l Provides Initialization, Local Manual and Redtagging.
l Provides BADPV, Command Disagree, Equipment Safety, Uncommanded Change, Command
Fail, and Interlock trip alarms.
l Provides PV change of state event.
l Provides Permissive and Override Interlocks for each state.
l Provides Seal In option.
l The Safety Interlock enforces the defined safe state.
l Provides predefined Safe State.
l Provides generic state parameters defined as consistent data types.
l Provides initialization with OPFINAL based configuration.
l Provides Boolean command option.
l Provides Batch level 1 driver option.
l Provides OFF Normal alarm associated with requested OP.
l Provides First out detection mechanism to detect the input that acted first to cause the motor to
trip.
l 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.
l Provides Bypass permissive interlock and protection interlock when the breaker is in test
position (BKT = ON). However, this does not bypass SI interlocks and Switchgear protection.
You can red tag a HTMOTOR block. Refer to the Configuration examples-PID Blocksection for more
information.
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.
Scenario 1:
- 971 -
Chapter 29 - Power Generation Functions
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:
- 972 -
Chapter 29 - Power Generation Functions
- 973 -
Chapter 29 - Power Generation Functions
Callout Description
1 Use the PV parameter connection to carry MCC inputs (MTR, MTS) from the
DICHANNEL block to the HT Motor block.
In HT Motor block, the MCC inputs (MTR, MTS) provide the feedback that the
commanded action has or has not taken place.
Use the PV parameter connection to carry MCC trip inputs (MTT, LRR) and breaker
status inputs (BKS, BKR) from the DICHANNEL block to the HT Motor block.
2 Use the PV parameter connection to carry Remote switch input from the DI channel
block to the HT Motor block.
In case of an auto standby configuration, the HT motor block can be commanded by
Auto Start, Auto Stop provided the Remote switch is ON, the local switch is OFF and
MODEATTR is in PROGRAM.
3 Use the PV parameter connection to carry Local switch input from the DI channel
block to the HT Motor block.
In case of a local mode configuration, the HT motor block can be commanded by Local
Start, Local Stop provided the Remote switch is OFF, the local switch is ON and
MODEATTR is in PROGRAM.
4 Use the PVFL parameter connection of the Dig Acq block to carry vibration trip inputs
from the DI channel block to the HT Motor through the Dig Acq block.
Use the PV parameter connection to carry equipment trip inputs (bearing
temperature, winding temperature) from the DI channel block to the HT Motor.
5 You can command the device through the output (OP) directly, provided the
MODEATTR is Operator, Remote switch is ON and the local switch is OFF.
- 974 -
Chapter 29 - Power Generation Functions
Scenario 2
The following scenario depicts the implementation of an HT Motor block in a Control Strategy with
Safety, Override, and Permissive logic and MCC Inputs.
- 975 -
Chapter 29 - Power Generation Functions
Callout Description
1 Use the PV parameter connection to carry MCC inputs (MTR, MTS) from the
DICHANNEL block to the HT Motor block.
In HT Motor block, the MCC inputs (MTR, MTS) provide the feedback that the
commanded action has or has not taken place. Use the PV parameter connection to
carry MCC trip inputs (MTT, LRR) and breaker status inputs (BKS, BKR) from the
DICHANNEL block to the HT Motor block.
2 Use the PVFL parameter connection to carry safety, override and permissive inputs
(SI, OI[0], PI[1]) from the DICHANNEL block to the HT Motor.
3 You can command the device through the output (OP) directly, provided the
MODEATTR is Operator, Remote switch is ON and the local switch is OFF.
Scenario 3
The following scenario depicts the implementation of an HT Motor block in a Control Strategy with
Equipment trips and UCP Start/Stop logic and MCC Inputs.
- 976 -
Chapter 29 - Power Generation Functions
- 977 -
Chapter 29 - Power Generation Functions
- 978 -
Chapter 29 - Power Generation Functions
Callout Description
1 Use the PV parameter connection to carry MCC inputs (MTR, MTS) from the
DICHANNEL block to the HT Motor block.
In HT Motor block, the MCC inputs (MTR, MTS) provide the feedback that the
commanded action has or has not taken place.
Use the PV parameter connection to carry MCC trip inputs (MTT, LRR) and breaker
status inputs (BKS, BKR) from the DICHANNEL block to the HT Motor block.
2 Use the PVFL parameter connection of the Dig Acq block to carry vibration trip inputs
from the DI channel block to the HT Motor through the Dig Acq block.
Use the PV parameter connection to carry equipment trip inputs (bearing
temperature, winding temperature) from the DICHANNEL block to the HT Motor.
4 You can command the device through the output (OP) directly, provided the
MODEATTR is Operator, Remote switch is ON and the local switch is OFF.
- 979 -
Chapter 29 - Power Generation Functions
The inputs which are physically wired into the system and brought to this block via Channel blocks
are termed as Hard inputs. The Soft inputs normally operate from displays or other function
blocks.
Hard Inputs: MTT, MTR, MTS, LRR, BKS, BKT, BKR, WDGTEMPTRIP, VIBRTRIP, BRNGTEMPTRIP,
LOCALSWITCH, REMOTESWITCH, LOCALSTART, LOCALSTOP, UCPREL, UCPSTART, UCPSTOP,
SEQSTART, SEQSTOP, AUTOSTART, AUTOSTOP, RESETFIRSTUP, BKTBYPASS
Soft Inputs: PORUNCONNECTED, POSTOPCONNECTED, RUNPULSEWIDTH, STOPPULSEWIDTH,
PI[0], PI[1], OI[0], OI[1], TRKNUMTRANS, TRKNUMSIOVRD, TRKSTATETIME, RESETFL.
l LOCALSTART can be initiated only when ‘Other FB’ access lock, Operator mode and
Local/Remote selection switch is at LOCAL.
l AUTOSTART can be initiated only when access lock in not ‘Other FB’ and local/remote switch is
at REMOTE.
l SEQSTART can be initiated only when the mode is at PROGRAM.
l UCPSTART can be initiated only when access lock is not OtherFB and UCP RELEASE is
available.
- 980 -
Chapter 29 - Power Generation Functions
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:
l NULL - Stands for Bad Value.
l INBET - Represents an in between state and could be designated MOVPV for moving PV.
l 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.
l SAFE - Stands for SAFEOP. If an external FB issues a Safe command to GOP, the internal value
is set to the designated SAFEOP.
l S0 -Represents settable output State 0 (STOP).
l S1 - Represents settable output State 1 (RUN).
- 981 -
Chapter 29 - Power Generation Functions
STATETEXT[4] STOP S0
STATETEXT[5] RUN S1
STATETEXT[6] NOCOMMAND S2
l Mode (MODE) is fixed at MANual. The Normal Mode (NORMMODE) parameter is also fixed at
MANual.
l 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:
o OPERATOR = only the operator can command the output state.
o PROGRAM = only other function blocks (such as Logic blocks, SCM programs) can
command the output state by setting OPREQ.
o NORMAL = the setting specified by the Normal Mode Attribute (NORMMODEATTR) is
assumed.
l MODEATTR can be changed from PROG to OPER and vice versa through other FB via
MODEATTRCHGFL.
UCPStart REMOTE
- 982 -
Chapter 29 - Power Generation Functions
LocalStop LOCAL
UCPStop
ConsoleStop OPER
Ignore
Check
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.
- 983 -
Chapter 29 - Power Generation Functions
l 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.
l 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.
l 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].
- 984 -
Chapter 29 - Power Generation Functions
l 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.
o 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.
ATTENTION
l The CMDFALALM.TM[0..1] cannot be configured if CMDDISALM.TM[0..1] has not
been configured.
l The CMDFALALM.TM[0..1] setting must be less than the CMDDISALM.TM[0..1]
setting for the same state[0..1].
l Bad PV alarm - generated whenever the Current Active State (PV) is detected to be a NULL (or
bad) state.
l 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.
o 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.
o This alarm condition returns to NORMAL when the input PV state becomes equal to
the OP state.
l 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.
o This alarm condition returns to NORMAL when the input PV state becomes equal to
the commanded OP state.
l Off Normal alarm - This alarm is generated whenever PV does not match OPREQ, if OPREQ is
not Null.
l Override Interlock alarms - When the alarm is enabled and the active interlock causes an OP
state change, an alarm is generated.
l Safety Override Interlock alarm - When the alarm is enabled and the active interlock causes an
OP state change, an alarm is generated.
If a real-time conflict exists between a Safety Override Interlock alarm configured to alarm and a
PV alarm condition, such as Uncommanded Change alarm, interlock action (setting of the output
state and related alarm notification) always occurs regardless of the effect of the other alarm.
- 985 -
Chapter 29 - Power Generation Functions
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.
l 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.
- 986 -
Chapter 29 - Power Generation Functions
works. When the INITMAN parameter transitions from ON to OFF, the HT Motor FB provides an
output value OP as follows:
l If the Safety Interlock is active, the OP is set to STOP
l If any of the Override Interlocks are active and not bypassed, the OP is set to the highest
priority Override Interlock
l 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
l If OP Initialization is configured as HOLDOPOPT, OP remains on the last value
l If OP Initialization is configured as SAFEOPOPT, OP is set to STOP
l 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)
l OP value is back-initialized from the output connections if
o there are no output types of ONPULSE/OFFPULSE, and
o if a valid OP value can be constructed from the values of the output connections.
Otherwise, OP is set to STO
- 987 -
Chapter 29 - Power Generation Functions
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.
l 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
- 988 -
Chapter 29 - Power Generation Functions
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
l UCP START/STOP, SEQ START/STOP, LOCAL START/STOP work on OFF to ON
transitions. So, there is no priority for them.
l AUTO START/STOP work on priority as per SAFEOP which is STOP since they are
latched.
l LOCAL START/STOP, UCP START/STOP commands change the MODEATTR to
Operator.
l AUTO START/STOP, SEQ START/STOP, UCP START, CONSOLE START depends on
REMOTESWITCH which should be ON.
l AUTO START/STOP, SEQ START/STOP is not allowed when BYPASS is ON. However,
AUTO START/STOP, SEQ START/STOP is allowed when BKTBYPASS is ON.
l UCP STOP and CONSOLE STOP ignore the switches for its operation.
l 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.
l Restarting the motor is possible without resetting FIRSTUPACTED. An Auto reset of
the FIRSTUPACTED on restarting the motor can be achieved though Engineering
solution.
l 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.
l Since BKT and BKS are complimentary inputs, the HT motor can be commanded
only when either one of them is ON.
- 989 -
Chapter 29 - Power Generation Functions
h = ( H (ρ Ref - ρ S ) - DP ) / (ρ W - ρ S )
The variables in the equation stand for:
l h: Drum level to be measured
l H: Length of stand pipe.
l DP: Differential pressure of the drum
l ρ Ref: Density of water in wet leg (This computation uses the Water Leg temperature)
l ρ S: Density of steam
l ρ W: Density of water
- 990 -
Chapter 29 - Power Generation Functions
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l 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 and 32767. The default value is 10.
l Description (DESC) - Block descriptor of up to 132 characters long.
l 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.
l 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.
l 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.
l 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.
l DP Slope (DPSLOPE) - Defines the slope to be applied to DP parameter.
Default value =1.
l DP Bias (DPBIAS) - Defines the bias to be applied to the DP parameter.
Default value = 0.
l Pressure Slope (PRSLOPE) - Defines the slope component of Modified
Drum Pressure. Default value = 0.
l Pressure Bias (PRBIAS) - Defines the bias component of Modified Drum
Pressure. Default value =1
l 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.
l 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.
l DP Engineering Unit Selection - Lets you select the DP Engineering Unit
l Pressure Engineering Unit Selection (DPENGUNIT) - Lets you
select the Absolute Pressure Engineering Unit
l Engineering Unit Selection for Temperature (PRENGUNIT) -
Lets you select the Engineering Unit Selection for Temperature
l Temperature Engineering Unit Selection - Allows the user to
configure the temperature's engineering unit.
Identification Lets you view information pertinent to the qualification and version control
system and enter block comments, if desired.
- 991 -
Chapter 29 - Power Generation Functions
Configuration Description
Tab
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 Lets you select the available parameters that appear on the face of the
Parameters function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences block's faceplate.
Template Lets you view and define parameters for associated templates.
Defining
l Function-LEVELCOMP block
l Inputs-LEVELCOMP block
l Outputs-LEVELCOMP block
l Error handling-LEVELCOMP block
l LEVELCOMP parameters
l The Drum Level Computation function block computes the drum level from the measured DP,
Pressure and other field specific constants.
l The block has an algorithm for generating steam and water density from the given pressure
input as long as the pressure input is good.
l The Level Status (PV) becomes bad when one of the input's status becomes bad and PV is not
be computed
l 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.
- 992 -
Chapter 29 - Power Generation Functions
Predecessor Block
The channel blocks bring in analog channels such as DP and pressure to the Drum level
Computation.
l Block 2: DACA Block
This block is required as the transmitter selection block does not have alarm capability.
l Block 3: Transmitter Selection Block
The signals involved - Pressure and DP, employs dual/triple redundant configuration. Therefore
this block supports “median value selection.”
l Block 4: Drum level computation block
Successor Block
The output of the Drum Level Computation block has a direct connectivity to a DACA block.
- 993 -
Chapter 29 - Power Generation Functions
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.
l PV - Drum level.
l PVP - Drum level in %
l DENSTEAM - Density of steam in drum
l DENWATER - Density of water in drum
l DENWATERREF - Density of WETLEG water
l 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.
l 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).
l The PRESSURE and DP parameters do not accept negative values.
l If PVSTS is bad, PV is not computed and assigned with a NaN.
l If the inputs go to NaN, PV is not calculated and assigned with a NaN.
- 994 -
Chapter 29 - Power Generation Functions
l The block requires PVEUHI to be greater than PVEULO. If PVEUHI is attributed a value lower
than PVEULO, an error message is reported during configuration and the input value is
rejected.
l 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.
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.
- 995 -
Chapter 29 - Power Generation Functions
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l 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 and 32767. The default value is 10.
l Description (DESC) - Block descriptor of up to 132 characters long.
l Engineering Units (EUDESC) - Lets you specify a text string of up to 16
characters to identify the variable values associated with this block.
l 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.
l 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.
l 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 l 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, STOP
and RUN. Both digital outputs are set to OFF in DEFAULT mode.
l 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. By default, the option is
NORMALOPT.
l 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.
l 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.
l 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.
l 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.
- 996 -
Chapter 29 - Power Generation Functions
Configuration Description
Tab
l Track Number of SI Overrides (TRKSIOVRD) - When enabled or box
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.
l Maint. stats. reset flag (RESETFL) - An operator, a user program or
another FB can turn ON the RESETFL parameter to reset statistics
anytime.
l No. of safety ovr. Trips (NUMSIOVRD) - Accumulated number of safety
interlock trips that result in OP changing state, after the last statistics
reset.
l No. of all PV transitions (NUMALLTRANS) - Accumulated number of
transitions of PV to each state, after the last statistics reset.
l (Total number of statet transitions (NUMTRANS) - The accumulated
number of transitions to the reference state since the last reset of
Maintenance Statistics.
l Track State Time (TRKSTATETIME) - When enabled or box checked, you
can track the amount of time the drive is in different states. The default is
OFF or box unchecked.
l RUNTIME - Accumulated time the drive spends in the RUN
state.
l STOPTIME - Accumulated time the drive spends in the STOP
state.
l TRIPTIME - Accumulated time the drive spends in the STOP
state because of a trip.
SCM l 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.
l Abnormal State Options - Lets you specify the action the function block
should take when the SCM is in an abnormal state.
l 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.
l 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.
l The Hold State Option (HOLDOPT) applies when the SCM state
is Holding or Hold. The options are NONE, SAFEOP. The default
selection is NONE.
l 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.
Configuration Description
Tab
l Priority (OFFNRMALM.PR): Lets you select the priority level as NONE,
JOURNAL, LOW, HIGH, or URGENT. The default setting is LOW.
l 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 view information pertinent to the qualification and version control
system and enter block comments, if desired.
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 Lets you select the available parameters that appear on the face of the
Parameters function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences block's faceplate.
Template Lets you view and define parameters for associated templates.
Defining
l Function-LTMOTOR block
l Configuration examples-LTMOTOR block
l Inputs-LTMOTOR block
l Outputs-LTMOTOR block
l Error handling-LTMOTOR block
l States-LTMOTOR block
l State parameters and descriptors-LTMOTOR block
l Mode and mode attribute-LTMOTOR block
l Safe output state-LTMOTOR block
l Command dependency on switches and mode attribute-LTMOTOR block
l Local manual-LTMOTOR block
l Permissive interlocks-LTMOTOR block
l Safety Override Interlock-LTMOTOR block
l Override Interlocks-LTMOTOR block
l Configurable Override/Permissive Interlock Bypass-LTMOTOR block
l Alarms-LTMOTOR block
l Seal-in option-LTMOTOR block
l Initialization Manual condition-LTMOTOR block
l OP initialization option-LTMOTOR block
l Initialization Manual condition with Safety Override Interlock, Override Interlocks, LocalMan,
and OP initialization-LTMOTOR block
l Initialization with pulse output-LTMOTOR block
l Initialization request flags-LTMOTOR block
- 998 -
Chapter 29 - Power Generation Functions
l The LT Motor function block has two inputs, two states, and two outputs.
l Allows PV source selection (PVSRC) as RUN, STOP or faulty (BAD) state.
l Provides latched and pulsed outputs.
l Provides Initialization, Local Manual and Redtagging.
l Provides BADPV, Command Disagree, Equipment Safety, Uncommanded Change, Command
Fail, and interlock trip alarms.
l Provides PV Change of state event.
l Provides Permissive and Override Interlocks for each state.
l Provides Seal In option.
l Enables the Safety Interlock to enforce the defined safe state.
l Provides an explicitly configured Safe State.
l Provides generic State parameters defined as consistent data types.
l Provides Initialization with OPFINAL based configuration.
l Provides Boolean Command option.
l Provides batch level 1 driver option.
l Provides OFF Normal Alarm associated with requested OP.
l 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 Taggingsection for more information.
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.
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.
- 999 -
Chapter 29 - Power Generation Functions
- 1000 -
Chapter 29 - Power Generation Functions
- 1001 -
Chapter 29 - Power Generation Functions
- 1002 -
Chapter 29 - Power Generation Functions
Callout Description
1 Use the PV parameter connection to carry MCC inputs (MTR, MTS) from the
DICHANNEL block to the LT Motor block.
In the LT Motor block, the MCC inputs (MTR, MTS) provide the feedback that the
commanded action has or has not taken place.
Use the PV parameter connection to carry MCC trip input (MTT) from the DICHANNEL
block to the LT Motor block.
2 Use the PV parameter connection to carry Remote switch input from the DI channel
block to the LT Motor block.
In case of an auto standby configuration, the LT motor block can be commanded by
Auto Start, Auto Stop provided the Remote switch is ON, the local switch is OFF and
MODEATTR is in PROGRAM.
3 Use the PV parameter connection to carry Local switch input from the DI channel
block to the LT Motor block.
In case of a local mode configuration, the LT motor block can be commanded by Local
Start, Local Stop provided the Remote switch is OFF, the local switch is ON and
MODEATTR is in PROGRAM.
4 You can command the device through the output (OP) directly, provided the
MODEATTR is Operator, Remote switch is ON and the local switch is OFF.
Scenario 2
The following scenario depicts the implementation of an LT Motor block in a Control Strategy with
Safety, Override and permissive inputs and MCC inputs.
- 1003 -
Chapter 29 - Power Generation Functions
- 1004 -
Chapter 29 - Power Generation Functions
- 1005 -
Chapter 29 - Power Generation Functions
Callout Description
1 Use the PV parameter connection to carry MCC inputs (MTR, MTS) from the
DICHANNEL block to the LT Motor block.
In the LT Motor block, the MCC inputs (MTR, MTS) provide the feedback that the
commanded action has or has not taken place.
2 Use the PVFL parameter connection to carry safety, override and permissive inputs
(SI, OI[0], PI[1]) from the DICHANNEL block to the LT Motor.
3 You can command the device through the output (OP) directly, provided the
MODEATTR is Operator, Remote switch is ON and the local switch is OFF.
Scenario 3
The following scenario depicts the implementation of an LT Motor block in a Control Strategy with
UCP Start/Stop logic and MCC Inputs.
- 1006 -
Chapter 29 - Power Generation Functions
- 1007 -
Chapter 29 - Power Generation Functions
Callout Description
1 Use the PV parameter connection to carry MCC inputs (MTR, MTS) from the
DICHANNEL block to the LT Motor block.
In the LT Motor block, the MCC inputs (MTR, MTS) provide the feedback that the
commanded action has or has not taken place.
Use the PV parameter connection to carry MCC trip input (MTT) from the DICHANNEL
block to the LT Motor block.
2 Use the PV parameter connection to carry Remote switch input, UCP REL, UCP START,
UCP STOP from the DI channel block to the LT Motor block.
In case of a UCP configuration, the LT motor block can be commanded by UCP Start,
UCP Stop provided the Remote switch is ON, Local switch is OFF, UCP REL is ON and
MODEATTR is in PROGRAM.
3 You can command the device through the output (OP) directly, provided the
MODEATTR is Operator, Remote switch is ON and the local switch is OFF.
- 1008 -
Chapter 29 - Power Generation Functions
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.
l 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.
l LOCALSTART can be initiated only when access lock is ‘Other FB’, mode is Operator and
Local/Remote selection switch is at local.
l AUTOSTART can be initiated only when access lock in not ‘Other FB’ and local/remote switch is
at remote.
l SEQSTART can be initiated only when the mode is at Program.
l UCPSTART can be initiated only when access lock is not OtherFB and UCP RELEASE is
available.
l RUNTIME, STARTTIME, TRIPTIME do not accept a value less than 0 or more than 96000.
l TRKTRIPTIME, TRKRUNTIME, TRKSTOPTIME requires Engineer Access lock.
l For the LT Motor FB, if both feedback status is ON and OFF, a fault status is flagged and output
generation is not processed.
- 1009 -
Chapter 29 - Power Generation Functions
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:
l Null - Stands for Bad Value.
l Inbet - Represents an in between state and could be designated MOVPV for moving PV.
l 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.
l Safe - Stands for SAFEOP. If an external FB issues a Safe command to GOP, the internal value
is set to the designated SAFEOP.
STATETEXT[4] STOP S0
STATETEXT[5] RUN S1
STATETEXT[6] NOCOMMAND S2
l Mode (MODE) is fixed at MANual. The Normal Mode (NORMMODE) parameter is also fixed at
MANual.
l 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:
o OPERATOR = only the operator can command the output state.
o PROGRAM = only other function blocks (such as Logic blocks, SCM programs) can
command the output state by setting OPREQ.
- 1010 -
Chapter 29 - Power Generation Functions
l MODEATTR can be changed from PROG to OPER and vice versa through other FB via
MODEATTRCHGFL.
UCPStart REMOTE
LocalStop LOCAL
UCPStop
ConsoleStop OPER
Ignore
Check
- 1011 -
Chapter 29 - Power Generation Functions
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.
- 1012 -
Chapter 29 - Power Generation Functions
ATTENTION
l The CMDFALALM.TM[0..1] cannot be configured if CMDDISALM.TM[0..1] has not
been configured.
l The CMDFALALM.TM[0..1] setting must be less than the CMDDISALM.TM[0..1]
setting for the same state[0..1].
l Bad PV alarm - generated whenever the Current Active State (PV) is detected to be a NULL (or
bad) state.
l 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.
o 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.
o This alarm condition returns to NORMAL when the input PV state becomes equal to
the OP state.
l Uncommanded Change alarm - generated if the actual input state (PV) changes but has not
- 1013 -
Chapter 29 - Power Generation Functions
been commanded to change (unless it is a bad PV). This alarm is configured whenever the
Command Disagree alarm is configured.
o This alarm condition returns to NORMAL when the input PV state becomes equal to
the commanded OP state.
o Off Normal alarm - This alarm is generated whenever PV does not match OPREQ, if
OPREQ is not Null.
l Override Interlock alarms - When the alarm is enabled and the active interlock causes an OP
state change, an alarm is generated.
l Safety Override Interlock alarm - When the alarm is enabled and the active interlock causes an
OP state change, an alarm is generated.
If a real-time conflict exists between a Safety Override Interlock alarm configured to alarm and a
PV alarm condition, such as Uncommanded Change alarm, interlock action (setting of the output
state and related alarm notification) always occurs regardless of effects of the other alarm.
ATTENTION
To configure Seal-in option, ensure that the CM is inactive and CMDDISALM.TM [0..1] is
configured.
- 1014 -
Chapter 29 - Power Generation Functions
- 1015 -
Chapter 29 - Power Generation Functions
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.
- 1016 -
Chapter 29 - Power Generation Functions
l Similarly, you can command the LT Motor block through Console START/STOP provided the
following conditions are met:
o MODEATTR should be OPER
o Console STOP ignores LOCAL REMOTE SWITCH condition.
o 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
l UCP START/STOP, SEQ START/STOP, LOCAL START/STOP work on OFF to ON
transitions. So, there is no priority for them.
l AUTO START/STOP work on priority as per SAFEOP which is STOP since they are
latched.
l LOCAL START/STOP, UCP START/STOP commands change the MODEATTR to
Operator.
l AUTO START/STOP, SEQ START/STOP, UCP START, CONSOLE START depends on
REMOTESWITCH which should be ON.
l AUTO START/STOP, SEQ START/STOP is not allowed when BYPASS is ON.
l UCP STOP and CONSOLE STOP ignore switches for its operation.
l 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.
- 1017 -
Chapter 29 - Power Generation Functions
The Main - IBV Logic block supports the following user configurable attributes. The following table
lists the given name of the “Tab”in the parameter configuration form and then briefly describes
the attributes associated with that tab.
- 1018 -
Chapter 29 - Power Generation Functions
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l 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 and 32767. The default value is 10.
l Description (DESC) - Block descriptor of up to 132 characters long.
l Engineering Units (EUDESC) - Lets you specify a text string of up to 16
characters to identify the variable values associated with this block.
l 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
l 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.
l 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.
l Open Seq Fail Alarm Priority (OPENSEQALM.PR) - Indicates the relative
priority of the alarm.
l Open Seq Fail Alm Severity (OPENSEQALM.SV) - Indicates the relative
severity of the alarm (from 0 to 15).
l Close Seq Fail Alm Priority (CLOSESEQALM.PR) - Indicates the relative
priority of the alarm.
l Close Seq Fail Alm Severity (CLOSESEQALM.SV) - Indicates the relative
severity of the alarm (from 0 to 15).
l 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.
l 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.
l 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.
l 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 view information pertinent to the qualification and version control
system and enter block comments, if desired.
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 Lets you select the available parameters that appear on the face of the
Parameters function block in the Project tab in Control Builder.
- 1019 -
Chapter 29 - Power Generation Functions
Configuration Description
Tab
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences block's faceplate.
Template Lets you view and define parameters for associated templates.
Defining
l Function-MAINIBV block
l Inputs-MAINIBV block
l Outputs-MAINIBV block
l Control logic-MAINIBV block
l Open sequence logic-MAINIBV block
l Close sequence logic-MAINIBV block
l Error handling-MAINIBV block
l MAINIBV parameters
l 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.
l Triggers an open sequence failure alarm in case an OPEN command fails to open the Main
valve.
l Triggers a close sequence failure alarm in case a CLOSE command fails to close Main valve.
l Triggers a BADPV alarm in case the IBV open feedback or Main close feedback is in BAD state.
l Commands the Drive Control blocks for further operation of Main and IBV valve.
l Generates an extra event for IBVFEEDBACKTIMOUT and MAINFEEBACKTIMOUT whichever
applicable along with the OPENSEQFAIL and CLOSESEQFAIL to indicate the actual cause of
the alarm.
- 1020 -
Chapter 29 - Power Generation Functions
The details of the Control logic illustration are described in the following table:
Path Description
Path (1): Activation
Path (7): CLOSE Command Detected in IDLE status Detected in IDLE status
ATTENTION
l SCM writes directly to OPENSEQ and CLOSESEQ from SCM Expressions.
l 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.)
l Operator can take control of Valve Damper/ Drive/ Dev ctl by changing mode
attribute to operator whenever required for bypassing the MAINIBV.
- 1021 -
Chapter 29 - Power Generation Functions
- 1022 -
Chapter 29 - Power Generation Functions
ATTENTION
l The OPEN IBV command is withdrawn as soon as the OPEN IBV feedback is received.
To issue OPEN command, the CLOSEMAIN feedback should be ON.
l An Interlock error is displayed if the open cmd is issued when
CLOSEMAINFEEDBACK is OFF.
l 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.
l 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.)
- 1023 -
Chapter 29 - Power Generation Functions
l Displays an error for invalid input index while loading or accessing parameters.
l Verifies parameter access level during download and accessing.
l Limits the range of DELAY input for the user. Only a positive value can be entered for DELAY
on the Project and Monitoring side.
l Reports an error during download if the input value for OPENTIMEOUT or CLOSETIMEOUT is
zero on the project side.
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.
- 1024 -
Chapter 29 - Power Generation Functions
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l 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 and 32767. The default value is 10.
l Description (DESC) - Block descriptor of up to 132 characters long.
l Engineering Units (EUDESC) - Lets you specify a text string of up to 16
characters to identify the variable values associated with this block.
l 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.
l 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.
l 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 l 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.
l 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.
l OP Initialization Option (INITOPOPT) - The parameter INITOPOPT is used
to configure OP Initialization option. Lets you specify the state to 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.
l 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.
- 1025 -
Chapter 29 - Power Generation Functions
Configuration Description
Tab
l Track Number of SI Overrides (TRKSIOVRD) - When enabled or box
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.
l 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.
l No. of safety ovr. trips (NUMSIOVRD))- Accumulated number of safety
interlock trips that result in OP changing state, after the last statistics
reset.
l Number of State transitions (NUMTRANS) - Total number of state
transitions.
l No. of all PV transitions (NUMALLTRANS)- Accumulated number of
transitions of PV to each state, after the last statistics reset.
l (RESETFL) - Lets you reset all maintenance statistics to their default
values.
SCM l 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.
l Abnormal State Options - Lets you specify the action the function block
should take when the SCM is in an abnormal state.
l 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.
l 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.
l The Hold State Option (HOLDOPT) applies when the SCM state
is Holding or Hold. The options are NONE, SAFEOP. The default
selection is NONE.
l 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.
- 1026 -
Chapter 29 - Power Generation Functions
Configuration Description
Tab
generated, if an OP state has not been commanded and the PV state
changes for any reason except BADPV.
Command Disagree - Lets you configure the following parameters for this
alarm.
l 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.
l 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.
l Priority (CMDDISALM.PR): Lets you select the priority level as NONE,
JOURNAL, LOW, HIGH, or URGENT. The default setting is LOW.
l 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.
Uncommanded Change - Lets you configure the following parameters for this
alarm.
l Priority (UNCMDALM.PR): Lets you select the priority level as NONE,
JOURNAL, LOW, HIGH, or URGENT. The default setting is LOW.
l 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.
- 1027 -
Chapter 29 - Power Generation Functions
Configuration Description
Tab
override interlock (OI[0..1]) occurs, causing an OP state change.
l 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 parameters for the
safety override interlock alarm
l Safety Override Interlock (SIALM.FL): This alarm is generated when the
safety override interlock (SI) occurs, and causes an OP state change.
l Option (SIALM.OPT): Lets you specify whether the safety override
interlock alarm is enabled or not. The default setting is DISABLED.
l Priority (SIALM.PR): Lets you select the priority level as NONE, JOURNAL,
LOW, HIGH, or URGENT. The default setting is LOW.
l 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.
l Option (OIALM[0].OPT): Lets you specify whether the Close override
interlock alarm is enabled or not. The default setting is DISABLED.
l Priority (OIALM[0].PR): Lets you select the priority level as NONE,
JOURNAL, LOW, HIGH, or URGENT. The default setting is LOW.
l 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.
l Option (OIALM[1].OPT): Lets you specify whether the Close override
interlock alarm is enabled or not. The default setting is DISABLED.
l Priority (OIALM[1].PR): Lets you select the priority level as NONE,
JOURNAL, LOW, HIGH, or URGENT. The default setting is LOW.
l 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 parameters for this
alarm.
l Priority (OFFNRMALM.PR): Lets you select the priority level as NONE,
JOURNAL, LOW, HIGH, or URGENT. The default setting is LOW.
l 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 view information pertinent to the qualification and version control
system and enter block comments, if desired.
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 Lets you select the available parameters that appear on the face of the
- 1028 -
Chapter 29 - Power Generation Functions
Configuration Description
Tab
Parameters function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences block's faceplate.
Template Lets you view and define parameters for associated templates.
Defining
l Function-SOLENOID block
l Configuration examples-SOLENOID block
l Inputs-SOLENOID block
l Outputs-SOLENOID block
l Error handling-SOLENOID block
l States-SOLENOID block
l State parameters and descriptors-SOLENOID block
l Mode and mode attribute-SOLENOID block
l Safe output state-SOLENOID block
l Command dependency on switches and mode attribute-SOLENOID block
l Local manual-SOLENOID block
l Permissive interlocks-SOLENOID block
l Safety Override Interlock-SOLENOID block
l Override Interlocks-SOLENOID block
l Configurable Override/Permissive Interlock Bypass-SOLENOID block
l Alarms-SOLENOID block
l Seal-in option-SOLENOID block
l Initialization Manual condition-SOLENOID block
l OP initialization option-SOLENOID block
l Initialization Manual Condition with Safety Override Interlock, Override Interlocks, LocalMan,
and OP Initialization-SOLENOID block
l Initialization request flags-SOLENOID block
l OP and DO initialization after load-SOLENOID block
l Maintenance statistics-SOLENOID block
l Output requests-SOLENOID block
l Output command-SOLENOID block
l Logic override OPREQ
l SOLENOID parameters
l The solenoid valve has two inputs, three states, and one output.
- 1029 -
Chapter 29 - Power Generation Functions
l Allows PV source selection (PVSRC) as OPEN, CLOSE, INBET or faulty (BAD) state.
l Provides latched outputs.
l Provides Initialization, Local Manual and Redtagging.
l Provides BADPV, Command Disagree, SafetyInterlock , Uncommanded Change and Command
Fail, Override Interlock alarms.
l Allows PV change of state event.
l Provides Permissive and Override Interlocks for each state.
l Provides Interlock trip alarms.
l Provides a Seal In option.
l The Safety Interlock enforces the defined safe state.
l Provides an explicitly configured safe state.
l Provides generic state parameters defined as consistent data types.
l Provides Initialization with OPFINAL based configuration.
l Provides Boolean command option
l Provides batch level 1 driver option.
l Provides OFF Normal alarm associated with requested OP.
You can red tag a SOLENOID block. Refer to the About Red Tagging section for more information.
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.
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.
- 1030 -
Chapter 29 - Power Generation Functions
- 1031 -
Chapter 29 - Power Generation Functions
- 1032 -
Chapter 29 - Power Generation Functions
Callout Description
1 Use the PVFL parameter connection to carry MCC inputs from the DICHANNEL block
to the Solenoid Valve block.
In the Solenoid valve block, the MCC inputs (LTO, LTC) provide the feedback if the
valve is open or close.
2 Use the PV parameter connection to carry Remote switch input from the DI channel
block to the Solenoid Valve block.
In case of an auto standby configuration, the Solenoid Valve block can be commanded
by Auto Open, Auto Close provided the Remote switch is ON, the local switch is OFF
and MODEATTR is in PROGRAM.
3 Use the PV parameter connection to carry Local switch input from the DI channel
block to the Solenoid Valve block.
In case of a local mode configuration, the Solenoid Valve block can be commanded by
Local Open, Local Close provided the Remote switch is OFF, the local switch is ON and
MODEATTR is in PROGRAM.
4 You can command the device through the output (OP) directly, provided the
MODEATTR is Operator, Remote switch is ON and the local switch is OFF.
Scenario 2:
The following scenario depicts the implementation of a Solenoid Valve Control block in a Control
Strategy with Safety, Override and permissive inputs and MCC inputs.
- 1033 -
Chapter 29 - Power Generation Functions
- 1034 -
Chapter 29 - Power Generation Functions
Callout Description
1 Use the PVFL parameter connection to carry MCC inputs from the DICHANNEL block
to the Solenoid Valve block.
In the Solenoid Valve block, the MCC inputs (LTO, LTC) provide the feedback if the
valve is open or close.
2 Use the PVFL parameter connection to carry safety, override and permissive inputs
(SI, OI[0], PI[1]) from the DICHANNEL block to the Solenoid Valve block.
3 You can command the device through the output (OP) directly, provided the
MODEATTR is Operator, Remote switch is ON and the local switch is OFF.
Scenario 3:
The following scenario depicts the implementation of a Solenoid Valve Control block in a Control
Strategy with UCP Open/Close logic and MCC inputs.
- 1035 -
Chapter 29 - Power Generation Functions
- 1036 -
Chapter 29 - Power Generation Functions
Callout Description
1 Use the PVFL parameter connection to carry MCC inputs from the DICHANNEL block
to the Solenoid Valve block.
In the Solenoid Valve block, the MCC inputs (LTO, LTC) provide the feedback if the
valve is open or close.
2 Use the PV parameter connection to carry Remote switch input, UCP REL, UCP Open,
UCP Close from the DI channel block to the Solenoid Valve block.
In case of a UCP configuration, the Valve/Damper block can be commanded by UCP
Open, UCP Close provided the Remote switch is ON, Local switch is OFF, UCP REL is
ON and MODEATTR is in PROGRAM.
3 You can command the device through the output (OP) directly, provided the
MODEATTR is Operator, Remote switch is ON and the local switch is OFF.
l LOCALOPEN/LOCALCLOSE can be initiated only when 'Other FB' access lock, Operator mode
and Local/Remote selection switch is in local.
l AUTOOPEN/AUTOCLOSE can be initiated only when access lock in not 'Other FB' and
- 1037 -
Chapter 29 - Power Generation Functions
- 1038 -
Chapter 29 - Power Generation Functions
STATETEXT[4] CLOSE S0
STATETEXT[5] OPEN S1
STATETEXT[6] NOCOMMAND S2
l Mode (MODE) is fixed at MANual. The Normal Mode (NORMMODE) parameter is also fixed at
MANual.
l 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:
o OPERATOR = only the operator can command the output state.
o PROGRAM = only other function blocks (such as Logic blocks, SCM programs) can
command the output state by setting OPREQ.
o NORMAL = the setting specified by the Normal Mode Attribute (NORMMODEATTR) is
assumed.
l MODEATTR can be changed from PROG to OPER and vice versa through other FB via
MODEATTRCHGFL.
- 1039 -
Chapter 29 - Power Generation Functions
UCPOpen
ConsoleOpen OPER
LocalClose LOCAL
UCPClose
ConsoleClose OPER
Ignore
Check
If Safe OP = OPEN then UCPOpen and Console Open will ignore switches.
If Safe OP = CLOSE then UCPClose and ConsoleClose will ignore switches.
ATTENTION
LOCALMAN can be used for the above purpose, when the Solenoid Valve Commands are
Commanded by Local, controlled directly from MCC and not through DCS.
- 1040 -
Chapter 29 - Power Generation Functions
- 1041 -
Chapter 29 - Power Generation Functions
l When BYPASS is ON, OP can be changed regardless of the state of the Override and
Permissive Interlocks.
l When BYPASS is reset to OFF, existing Override Interlocks (if any) take effect immediately.
l BYPASS does not affect the Safety Override Interlock (SI).
l When BYPPERM is OFF, BYPASS is OFF by default in case of Solenoid and is read-only.
ATTENTION
l The CMDFALALM.TM[0..1] cannot be configured if CMDDISALM.TM[0..1] has not
been configured.
l The CMDFALALM.TM[0..1] setting must be less than the CMDDISALM.TM[0..1]
setting for the same state[0..1].
l Bad PV alarm - It is generated whenever the Current Active State (PV) is detected to be a NULL
(or bad) state.
l 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.
o 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.
o This alarm condition returns to NORMAL when the input PV state becomes equal to
the OP state.
l 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.
o This alarm condition returns to NORMAL when the input PV state becomes equal to
the commanded OP state.
l Off Normal alarm - This alarm is generated whenever PV does not match OPREQ, if OPREQ is
not Null.
- 1042 -
Chapter 29 - Power Generation Functions
l Override Interlock alarms - When the alarm is enabled and the active override interlock causes
an OP state change, an alarm is generated.
l Safety Override Interlock alarm - When the alarm is enabled and the active safety interlock
causes an OP state change, an alarm is generated.
If a real-time conflict exists between a Safety Override Interlock alarm configured to alarm and a
PV alarm condition, such as Uncommanded Change alarm, interlock action (setting of the output
state and related alarm notification) always occurs regardless of effects of the other alarm.
ATTENTION
To configure Seal-in option, ensure that the CM is inactive and CMDDISALM.TM [0..1] is
configured.
- 1043 -
Chapter 29 - Power Generation Functions
- 1044 -
Chapter 29 - Power Generation Functions
The statistics are accumulated after the most recent reset. The operator can reset the statistics of
Solenoid Valve Control block anytime irrespective of redtagging,
l Similarly, you can command the Solenoid Valve block through Console OPEN/CLOSE provided
the following conditions are met:
o MODEATTR should be OPER
o Console CLOSE ignores the LOCAL/REMOTE SWITCH condition provided SAFEOP is
configured to CLOSE.
o Console OPEN ignores the LOCAL/REMOTE SWITCH condition provided SAFEOP is
configured to OPEN.
- 1045 -
Chapter 29 - Power Generation Functions
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 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
l UCP OPEN/CLOSE, SEQ OPEN/CLOSE, LOCAL OPEN/CLOSE work on OFF to ON
transitions. So, there is no priority for them.
l AUTO OPEN/CLOSE works on priority as per SAFEOP which is CLOSE since they are
latched.
l LOCAL OPEN/CLOSE, UCP OPEN/CLOSE commands change the MODEATTR to
Operator.
l AUTO OPEN/CLOSE, SEQ OPEN/CLOSE depends on REMOTESWITCH which
should be ON.
l AUTO OPEN/CLOSE, SEQ OPEN/CLOSE is not allowed when BYPASS is ON.
l 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.
l 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.
- 1046 -
Chapter 29 - Power Generation Functions
The Valve/Damper control block (VALVEDAMPER), available under the POWERGEN library
supports the following user configurable attributes. The following table lists the given name of the
“Tab” in the parameter configuration form and then briefly describes the attributes associated with
that tab.
- 1047 -
Chapter 29 - Power Generation Functions
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l 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 and 32767. The default value is 10.
l Description (DESC) - Block descriptor of up to 132 characters long.
l Engineering Units (EUDESC) - Lets you specify a text string of up to 16
characters to identify the variable values associated with this block.
l 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.
l 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.
l 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.
- 1048 -
Chapter 29 - Power Generation Functions
Configuration Description
Tab
Maintenance l 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 box unchecked and NUMTRANS[0 -2] in maintenance
statistics is not collected
l Track Number of SI Overrides (TRKSIOVRD) - When enabled or box
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.
l 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.
l No. of safety ovr. trips (NUMSIOVRD)- Accumulated number of safety
interlock trips that result in OP changing state, after the last statistics
reset.
l No. of all PV transitions (NUMALLTRANS) - Accumulated number of
transitions of PV to each state, after the last statistics reset.
l Number of Transitions (NUMTRANS[0 -2]) - Accumulated time of PV in
each state, after the last statistics reset.
l Track Open Feedback Time (TRKOPENFEEDBKTIME) - When ON, the time
taken to receive Open feedback after the Open command is issued is
recorded.
l Track Close Feedback Time (TRKCLOSEFEEDBKTIME) - When ON, the
time taken to receive Close feedback after the Close command is issued is
recorded.
l Open Feedback Time (OPENFEEDBKTIME) - The time taken in seconds to
receive Open feedback after the Open command is issued.
l Close Feedback Time (CLOSEFEEDBKTIME) - The time taken to receive
Close feedback after the Close command is issued.
SCM l 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.
l Abnormal State Options - Lets you specify the action the function block is
to take when the SCM is in an abnormal state.
l 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.
l 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.
l The Hold State Option (HOLDOPT) applies when the SCM state
is Holding or Hold. The options are NONE, SAFEOP. The default
selection is NONE.
l 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.
- 1049 -
Chapter 29 - Power Generation Functions
Configuration Description
Tab
disagreements between the commanded state (OP) and the feedback state
(PV). These alarms are disabled if there are no inputs or outputs.
l 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.
l 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.
l 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.
l Bad PV (BADPVALM.FL): This alarm is generated whenever both
feedbacks are ON.
Command Fail - Lets you configure the following parameters for the command
fail alarm.
l 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
- 1050 -
Chapter 29 - Power Generation Functions
Configuration Description
Tab
for CMDDISALM.TM [1].
l Time to State CLOSE (CMDFALALM.TM[2]) - Lets you set the feedback
time for State 2 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[2]. This can only be configured if the number of
states is 3.
l 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.
l 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.
l Priority (UNCMDALM.PR) - Lets you select the priority level as NONE,
JOURNAL, LOW, HIGH, or URGENT. The default setting is LOW.
l 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.
l Priority (BADPVALM.PR) - Lets you select the priority level as NONE,
JOURNAL, LOW, HIGH, or URGENT. The default setting is LOW.
l 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.
l Option (SIALM.OPT) - Lets you specify whether the safety override
interlock alarm is enabled or not. The default setting is DISABLED.
l Priority (SIALM.PR) - Lets you select the priority level as NONE, JOURNAL,
LOW, HIGH, or URGENT. The default setting is LOW.
l 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.
OPEN Override Interlock Alarm - Lets you configure the following parameters
for this alarm.
l Option (OIALM[1].OPT): Lets you specify whether the OPEN override
interlock alarm is enabled or not. The default setting is DISABLED.
- 1051 -
Chapter 29 - Power Generation Functions
Configuration Description
Tab
l Priority (OIALM[1].PR): Lets you select the priority level as NONE,
JOURNAL, LOW, HIGH, or URGENT. The default setting is LOW.
l 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.
l Option (OIALM[2].OPT): Lets you specify whether the CLOSE override
interlock alarm is enabled or not. The default setting is DISABLED.
l Priority (OIALM[2].PR): Lets you select the priority level as NONE,
JOURNAL, LOW, HIGH, or URGENT. The default setting is LOW.
l 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.
l Priority (OFFNRMALM.PR): Lets you select the priority level as NONE,
JOURNAL, LOW, HIGH, or URGENT. The default setting is LOW.
l 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.
l Option (TSOALM.OPT): Lets you specify whether the OPEN override
interlock alarm is enabled or not. The default setting is DISABLED.
l Priority (TSOALM.PR): Lets you select the priority level as NONE,
JOURNAL, LOW, HIGH, or URGENT. The default setting is LOW.
l 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.
l Option (TSCALM.OPT): Lets you specify whether the OPEN override
interlock alarm is enabled or not. The default setting is DISABLED.
l Priority (TSCALM.PR): Lets you select the priority level as NONE,
JOURNAL, LOW, HIGH, or URGENT. The default setting is LOW.
l 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.
- 1052 -
Chapter 29 - Power Generation Functions
Configuration Description
Tab
of the motor trip alarm on a scale of 0 to 15. Where 15 is the
most severe. The default setting is 0.
Identification Lets you view information pertinent to the qualification and version control
system and enter block comments, if desired.
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 Lets you select the available parameters that appear on the face of the
Parameters function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences block's faceplate.
Template Lets you view and define parameters for associated templates.
Defining
l Function-VALVEDAMPER block
l Configuration examples-VALVEDAMPER block
l Inputs-VALVEDAMPER block
l Outputs-VALVEDAMPER block
l Limit Switches-VALVEDAMPER block
l Error handling-VALVEDAMPER block
l States-VALVEDAMPER block
l State parameters and descriptors-VALVEDAMPER block
l Mode and mode attribute-VALVEDAMPER block
l Safe output state-VALVEDAMPER block
l Command dependency on switches and Mode attribute-VALVEDAMPER block
l Local manual-VALVEDAMPER block
l Permissive interlocks-VALVEDAMPER block
l Safety Override Interlock-VALVEDAMPER block
l Override Interlocks-VALVEDAMPER block
l Configurable Override/Permissive Interlock Bypass-VALVEDAMPER block
- 1053 -
Chapter 29 - Power Generation Functions
l Alarms-VALVEDAMPER block
l Seal-in option-VALVEDAMPER block
l Initialization Manual condition-VALVEDAMPER block
l OP initialization option-VALVEDAMPER block
l Initialization Manual Condition with Safety Override Interlock, Override Interlocks, LocalMan,
and OP Initialization-VALVEDAMPER block
l Initialization request flags-VALVEDAMPER block
l OP and DO initialization after load-VALVEDAMPER block
l Maintenance statistics-VALVEDAMPER block
l Output requests-VALVEDAMPER block
l Output command-VALVEDAMPER block
l Logic override OPREQ-VALVEDAMPER block
l VALVEDAMPER parameters
l The Valve/Damper block has four inputs, three states, and two outputs.
l Allows PV source selection (PVSRC) as OPEN, CLOSE, INBET or faulty (BAD) state.
l Provides latched and pulsed outputs.
l Provides Initialization, Local Manual and Redtagging.
l Provides BADPV, Command Disagree, SafetyInterlock, Uncommanded Change and Command
Fail, Override Interlock alarms.
l Provides PV change of state event.
l Provides Permissive and Override Interlocks for each state.
l Provides interlock trip alarms.
l Provides a seal-in option.
l Provides a Safety Interlock that enforces the defined safe state.
l Predefines Safe State as NoCommand.
l Provides generic state parameters defined as consistent data types.
l Initialization has OPFINAL based configuration.
l Provides Boolean command option.
l Provides batch level one driver option.
l Provides OFF NORMAL alarm associated with requested OP.
l Provides alarm when Torque switch Open or Torque switch Close are detected
l Withdraws command when feedback is achieved to command initiate.
You can red tag a VALVEDAMPER block. Refer to the About Red Tagging section for more
information.
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 digital output. The output of
the block can be connected to DO or further connected to subsequent logic, if necessary.
- 1054 -
Chapter 29 - Power Generation Functions
Scenario 1:
The following scenario depicts the implementation of a Valve/Damper block in a control strategy
with Auto Open/Close, Remote Switch, Local Open/Close logic and MCC inputs.
- 1055 -
Chapter 29 - Power Generation Functions
- 1056 -
Chapter 29 - Power Generation Functions
Callout Description
1 Use the PVFL parameter connection to carry MCC inputs from the DICHANNEL block
to the Valve/Damper block.
In the Valve/Damper block, the MCC inputs (LTO, LTC, TSO, TSC) provide the feedback
if the valve is open or close.
Use the PV parameter connection to carry MCC trip input (MTT) from the DICHANNEL
block to the Valve/Damper block.
2 Use the PV parameter connection to carry Remote switch input from the DI channel
block to the Valve/Damper block.
3 Use the PV parameter connection to carry Local switch input from the DI channel
block to the Valve/Damper block.
In case of a local mode configuration, the Valve/Damper block can be commanded by
Local Open, Local Close provided the Remote switch is OFF, the local switch is ON and
MODEATTR is in PROGRAM.
4 You can command the device through the output (OP) directly, provided the
MODEATTR is Operator, Remote switch is ON and the local switch is OFF.
Scenario 2:
The following scenario depicts the implementation of a Valve/Damper block in a control strategy
with safety, override and permissive inputs and MCC inputs.
- 1057 -
Chapter 29 - Power Generation Functions
- 1058 -
Chapter 29 - Power Generation Functions
Callout Description
1 Use the PVFL parameter connection to carry MCC inputs from the DICHANNEL block
to the Valve/Damper block.
In the Valve/Damper block, the MCC inputs (LTO, LTC, TSO, TSC) provide the feedback
if the valve is open or close.
Use the PV parameter connection to carry MCC trip input (MTT) from the DICHANNEL
block to the Valve/Damper block.
2 Use the PVFL parameter connection to carry safety, override and permissive inputs
(SI, OI[0], PI[1]) from the DICHANNEL block to the Valve/Damper block.
3 You can command the device through the output (OP) directly, provided the
MODEATTR is Operator, Remote switch is ON and the local switch is OFF.
Scenario 3:
The following scenario depicts the implementation of a Valve/Damper block in a control strategy
with UCP Open/Close logic and MCC inputs.
- 1059 -
Chapter 29 - Power Generation Functions
- 1060 -
Chapter 29 - Power Generation Functions
Callout Description
1 Use the PVFL parameter connection to carry MCC inputs from the DICHANNEL block
to the Valve/Damper block.
In the Valve/Damper block, the MCC inputs (LTO, LTC, TSO, TSC) provide the feedback
if the valve is open or close.
Use the PV parameter connection to carry MCC trip input (MTT) from the DICHANNEL
block to the Valve/Damper block.
2 Use the PV parameter connection to carry Remote switch input, UCP REL, UCP Open,
UCP Close from the DI channel block to the Valve/Damper block.
In case of a UCP configuration, the Valve/Damper block can be commanded by UCP
Open, UCP Close provided the Remote switch is ON, Local switch is OFF, UCP REL is
ON and MODEATTR is in PROGRAM.
3 You can command the device through the output (OP) directly, provided the
MODEATTR is Operator, Remote switch is ON and the local switch is OFF.
- 1061 -
Chapter 29 - Power Generation Functions
l LOCALOPEN/LOCALCLOSE can be initiated only when access lock is ‘Other FB’, Operator
mode and Local/Remote selection switch is LOCAL.
l AUTOOPEN/AUTOCLOSE can be initiated only when access lock in not ‘Other FB’ and
local/remote switch is in REMOTE.
l SEQOPEN/SEQCLOSE can be initiated only when the mode is in PROGRAM.
l UCPOPEN/UCPCLOSE can be initiated only when access lock is not Other FB and UCP release
is available.
l OPENFEEDBKTIME, CLOSEFEEDBKTIME does not accept a value less than 0 or more than
96000.
l TRKOPENFEEDBKTIME, TRKCLOSEFEEDBKTIME requires AppDev Access lock.
l For Valve/Damper, both OFF status are valid state (In-between). oth ON is flagged and output is
not generated.
- 1062 -
Chapter 29 - Power Generation Functions
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:
l Null - Stands for Bad Value.
l Inbet - Represents an in between state and could be designated MOVPV for moving PV.
l Active - Refers to momentary state settings for a two-state device.
l 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.
l S0 -Represents settable output State 0 (NOCOMMAND).
l S1 - Represents settable output State 1 (OPEN).
l S2 - Represents settable output State 2 (CLOSE)
- 1063 -
Chapter 29 - Power Generation Functions
STATETEXT[4] NOCOMMAND S0
STATETEXT[5] OPEN S1
STATETEXT[6] CLOSE S2
l Mode (MODE) is fixed at MANual. The Normal Mode (NORMMODE) parameter is also fixed at
MANual.
l 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:
o OPERATOR = only the operator can command the output state.
o PROGRAM = only other function blocks (such as Logic blocks, SCM programs) can
command the output state by setting OPREQ.
o NORMAL = the setting specified by the Normal Mode Attribute (NORMMODEATTR) is
assumed.
l MODEATTR can be changed from PROG to OPER and vice versa through other FB via
MODEATTRCHGFL.
UCPOpen REMOTE
LocalClose LOCAL
- 1064 -
Chapter 29 - Power Generation Functions
Ignore
Check
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.
- 1065 -
Chapter 29 - Power Generation Functions
State (NOCOMMAND) when active. OP cannot be commanded to a different state when SI is active.
l 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.
l 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.
l When SI turns OFF, OP = NOCOMMAND is maintained until it is changed by an operator, a user
program, or another Safety Override Interlock.
- 1066 -
Chapter 29 - Power Generation Functions
l 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.
o 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
l The CMDFALALM.TM[1..2] cannot be configured if CMDDISALM.TM[1..2] has not
been configured.
l The CMDFALALM.TM[1..2] setting must be less than the CMDDISALM.TM[1..2]
setting for the same state[1..2].
l Bad PV alarm - This alarm is generated whenever the current active state (PV) is detected as
NULL (or bad) state.
l 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.
o This alarm condition returns to NORMAL when the input PV state becomes equal to
the commanded OP state.
l Off Normal alarm - This alarm is generated whenever PV does not match OPREQ, if OPREQ is
not Null.
l Override Interlock alarms - When the alarm is enabled and the active override interlock causes
an OP state change, an alarm is generated.
l 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.
- 1067 -
Chapter 29 - Power Generation Functions
ATTENTION
To configure Seal-in option, ensure that CM is inactive and CMDDISALM.TM [1..2] is
configured.
- 1068 -
Chapter 29 - Power Generation Functions
configured, the stored OP value tracks the PV state if the PV state is settable ( State0, State1);
l Otherwise, OP value is back-initialized from the output connections
l If a valid OP value can be constructed from the values of the output connections.
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.
- 1069 -
Chapter 29 - Power Generation Functions
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.
l Similarly, you can command the Valve/Damper block through Console OPEN/CLOSE provided
the following conditions are met:
o MODEATTR should be OPER
o Console OPEN/CLOSE depends on REMOTE SWITCH which should be ON.
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.
- 1070 -
Chapter 29 - Power Generation Functions
ATTENTION
l UCP OPEN/CLOSE, SEQ OPEN/CLOSE, LOCAL OPEN/CLOSE work on OFF to ON
transitions. So, there is priority for them.
l AUTO OPEN/CLOSE work on priority as per SAFEOP which is NOCOMMAND since
they are latched.
l LOCAL OPEN/CLOSE, UCP OPEN/CLOSE commands change the MODEATTR to
Operator.
l AUTO OPEN/CLOSE, SEQ OPEN/CLOSE, UCP OPEN/CLOSE, CONSOLE
OPEN/CLOSE depends on REMOTESWITCH which should be ON.
l AUTO OPEN/CLOSE, SEQ OPEN/CLOSE is not allowed when BYPASS is ON.
l 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.
l 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.
l 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.
- 1071 -
CHAPTER
Thermodynamic utility function blocks provide a variety of configurable functions for computing
the thermodynamic quantities of water and steam. The following table presents the functions
performed through the configuration of the associated thermodynamic utility function block.
Steam Property Compute the Used for computing enthalpy, entropy, specific
Block thermodynamic quantities volume, pressure, and temperature of a
(STEAMPROP) of water and steam. thermodynamic system.
You can use any one of them while configuring the inputs as applicable. The detailed display of
this block includes graphical representation of steam tables. For more information about the
graphical representation of the STEAMPROP block, refer to the STEAMPROP block detail displays
topic in the Control Building User's Guide.
The STEAMPROP block can be used in the following platforms.
- 1072 -
Chapter 30 - Thermodynamic Utility Functions
l C300 Controller
l ACE Controller
l SIM-C300
ATTENTION
In this platform, the STEAMPROP block is useful for any process simulation and is
best for optimizing the process operation.
l SIM-ACE
- 1073 -
Chapter 30 - Thermodynamic Utility Functions
where,
Shaft Power = Measured Generator Output Power in KW
Inlet Steam Mass Flow Rate = Measured from the Inlet Steam Mass Flow Transmitter in field (in
Tons/Hour)
Inlet Specific Enthalpy [Hin] = Output calculated by Steam Property Block-A configured for
Superheated Steam
Outlet Specific Enthalpy [Hexh] = Output calculated by Steam Property Block-B configured for
Saturated Steam
NOTE
Steam Quality can be measured using any steam quality measuring device (for example,
Throttling Calorimeter) or it can be entered manually.
l Function
l Inputs/Outputs - STEAMPROP block
l Configuration parameters - STEAMPROP block
l Configuration example - STEAMPROP block
l Typical configuration of STEAMPROP block
l Error handling - STEAMPROP block
l STEAMPROP block parameters
30.1.2 Function
Steam Property function block computes the thermodynamic quantities of water and steam. The
thermodynamic quantities of water and steam can be one of the following:
l Enthalpy (H)
l Entropy (S)
l Pressure (P)
l Temperature (T)
l Specific volume (V)
This function block uses the equations quoted in Industrial Formulation 1997 (IF-97) released by
the International Association for the Properties of Water and Steam (IAPWS). For more information
about Industrial Formulation 1997 (IF-97), refer to the http://www.iapws.org/.
- 1074 -
Chapter 30 - Thermodynamic Utility Functions
It uses rigorous thermodynamic equations to compute the required output. For example, in case of
water, if the pressure and the temperature are the inputs to the block, then the following outputs
can be computed.
l Enthalpy (H)
l Entropy (S)
l Specific volume (V)
Inputs
NOTE
For more information about the range of the inputs, refer to the respective parameters
documented in the Control Builder Parameter Reference.
Outputs
The output of the STEAMPROP block can be fetched through a wired connection or read directly by
a program. The STEAMPROP block output can be one of the following:
l Pressure (P)
l Temperature (T)
l Entropy (S)
l Enthalpy (H)
l Specific Volume (V)
The inputs/outputs of the STEAMPROP block varies based on the configuration of the STEAM_
WATER and STEAMTYPE parameters. The following table helps you to identify the supported
inputs and outputs based on the configuration of the STEAM_WATER and STEAMTYPE
parameters.
- 1075 -
Chapter 30 - Thermodynamic Utility Functions
l Temperatur l Specific
e (T) Volume (V)
l Steam l Enthalpy (H)
Quality (X)
l Entropy (S)
- 1076 -
Chapter 30 - Thermodynamic Utility Functions
NOTE
The table does not include descriptions of the common parameters such as block name and
description.
Steam Type STEAMTYPE Used for configuring the steam type for computing
thermodynamic quantities. By default, this parameter is
configured as "Saturated" if the preceding parameter is
configured as "Steam."
Engineering ENGUNITSYSTEM Used for configuring the engineering unit system for
Unit System water or steam. By default, this parameter is configured
as "SI."
Pressure (P) PRESSUREIO Used for configuring the pressure as input or output as
applicable. By default, this parameter is configured as
"Not Configured."
Enthalpy (H) ENTHALPYIO Used for configuring the enthalpy as output. By default,
this parameter is configured as "Not Configured."
Entropy (S) ENTROPYIO Used for configuring the entropy as input or output as
applicable. By default, this parameter is configured as
"Not Configured."
ATTENTION
By default, STEAMTYPE parameter is set as "Saturated."
- 1077 -
Chapter 30 - Thermodynamic Utility Functions
Finally, you have to configure the input/output parameters as mentioned in the Inputs/Outputs -
STEAMPROP block.
The following is an example illustration for computing the thermodynamic quantities of water.
Figure 30.3 STEAMPROP block configured for measuring thermodynamic quantities of water
In addition, the STEAMPROP block is configured to accept the pressure and the temperature
inputs using the NUMERIC blocks.
The following is an example illustration for computing the thermodynamic quantities of steam
(saturated).
- 1078 -
Chapter 30 - Thermodynamic Utility Functions
Figure 30.4 STEAMPROP block configured for measuring thermodynamic quantities of steam
(saturated)
In addition, the STEAMPROP block is configured to accept the pressure and the entropy inputs
using the NUMERIC blocks.
The following is an example illustration for computing the thermodynamic quantities of steam
(superheated).
Figure 30.5 STEAMPROP block configured for measuring thermodynamic quantities of steam
(superheated)
- 1079 -
Chapter 30 - Thermodynamic Utility Functions
In addition, the STEAMPROP block is configured to accept the pressure and the entropy inputs
using the NUMERIC blocks.
The following inputs of the Steam Turbine are provided to the AUXCALC to calculated the
mechanical efficiency.
l Superheated inlet steam flow
l Inlet steam temperature
l Exhaust steam pressure
l Exhaust steam quality
This typical configuration has been created using the typical usage explained in the Steam
Property Block (STEAMPROP).
- 1080 -
Chapter 30 - Thermodynamic Utility Functions
In this example, two STEAMPROP blocks, six NUMERIC blocks, and one AUXCALC blocks are used
to calculate the mechanical efficiency of a Steam Turbine. The following table explains the
configuration of each block.
For more information about the supported input/output configuration of the STEAMPROP block,
refer to the Inputs/Outputs - STEAMPROP block.
For detailed information about the supported input/output configuration of the STEAMPROP
block, refer to the Inputs/Outputs - STEAMPROP block.
- 1081 -
CHAPTER
I/O Reference blocks are available as basic function blocks and provide a mechanism to the CM
for referencing
the Input/Output channel of supported I/O families or parameter values of any block.
• Parameter Values
When the REF block references an I/O channel, or I/O point it provides access to values
associated with the
referenced object. The Reference block supports configuration and monitoring, and simulation.
Attention: Exposing I/O type specific parameters may be useful in some applications, but may
restrict the ability
to change I/O types without re-configuration of the CM.
Whenever a reference is made from the Reference blocks, you can navigate to the referenced
value by clicking
the hyper-link available in the faceplate of the Reference block.
Benefits of the Reference blocks
The following are the benefits of the Reference blocks.
l The Reference block does not have to be re-configured or re-tested when the I/O assignment
is changed.
l The control strategies can be tested without building dummy I/O modules.
l Parameter connectors can be modified through Bulk Edit without having to open each chart
and modify the paremeter connectors.
- 1082 -
Chapter 31 - I/O Reference blocks
l A single typical can be created to reference a calculated value, or any of the I/O types
supported by the reference block. Bulk build/edit tools can be used to specify the reference of a
strategy created from the typical.
l A reference value of a referenced block may be modified without deleting the CM from the
Monitoring view.
l Load of a strategy does not affect the state of a channel.
l For Series C and PM I/O:
o When CM is deleted from the Monitoring view, the output channels hold the last good
value and do not go to fail-safe state
o HART may be enabled for an I/O channel by performing “Load While Active” for the
channels. As a result of this, the channel state is not affected. The operation is
independent of the CM and has no impact to the CM.
l When CM is deleted from the Monitoring view, the output channels hold the last good value
and do not go to fail-safe state.
l HART may be enabled for an I/O channel by performing "Load While Active" for the channels.
As a result of this, the channel state is not affected. The operation is independent of the CM
and has no impact to the CM.
l Load of a strategy does not affect the state of a channel.
- 1083 -
Chapter 31 - I/O Reference blocks
Referencing
AOREF an AO channel
(AO block or an Acts as an interface between analog output I/O and the Control Module
Reference analog or between the parameters and the Control Module.
block) parameter
value.
Referencing a
DI channel
DIREF (DI
block or a Acts as an interface block between digital input I/O and the Control
Reference
digital Module or between the parameters and the Control Module.
block)
parameter
value.
Referencing a
Acts as an interface block between the digital output I/O and the
DOREF DO channel
Control Module to generates status output (0 or 1), pulsed output (ON
(DO block or a
or OFF) for specified pulse time based on origin of input and
Reference digital
parameters. Acts as a parameter connector between the parameters
block) parameter
and the Control Module.
value.
- 1084 -
Chapter 31 - I/O Reference blocks
Reference REFTYPE Indicates the type of interface. Enabled for edit only when the
Type Reference Type parameter is empty, and will be set automatically to
be compatible with the REF parameter. The reference type can be
one of the following:
• NONE
• SERIES_C_IO
• PMIO
• PARAMETER
• IOPOINT_PARAM
• CE900_IO
• EtherNet I/P
Note: Options for REFTYPE will be exposed
based on the Assigned controller platform of
the CM containing the REF block. Only types
supported for the platform will be exposed.
For unassigned CMs, all options are exposed
Channel CHANTYPE Enabled when the REF parameter is empty and REFTYPE is not
Type NONE, PARAMETER or IOPOINT_PARAM and will be set automatically
to be compatible with the REF parameter. Used to define the set of
parameters to be exposed on the REF block that are specific to the
reference. These parameters are accessed via
CMName.REFblock.parameter and may be exposed as pins to make
connections, or exposed on the faceplate of the block or accessed via
custom displays to supply I/O type specific information.
Note: Exposing I/O type specific parameters may be useful in some
applications, but may restrict the ability to change I/O types without
re-configuration of the CM.
Execution ORDERINCM Applies for cases when the REF block is loaded to the controller and
Order in executes. Recommendation is to configure the parameter correctly,
CM so can be applied when needed
- 1085 -
Chapter 31 - I/O Reference blocks
The REF parameter displayed on the faceplate can only display the 24 characters of the REF value.
Hence, if the referenced value is more than 24 characters, then the REF value is truncated and
right justified with an ellipsis on the left side.
ATTENTION
The parameter originating from the Reference block cannot be used as value for the REF
parameter of another Reference block. An error message is displayed when the REF value is
set as parameter originating from the Reference block. For more information about the error
message, see Control Builder Error Code Reference.
AOREF l PMIO:AOCHANNEL
l PMIO:HAOCHANNEL
DIREF PMIO:DICHANNEL
DOREF PMIO:DOCHANNEL
- 1086 -
Chapter 31 - I/O Reference blocks
AOREF SERIES_C_IO:AOCHANNEL
DIREF SERIES_C_IO:DICHANNEL
DOREF SERIES_C_IO:DOCHANNEL
Mapping between IOPOINT types and IOREFERENCES block types. The Reference block types map
to the following Series C I/O channel types and the UDTs derived from them.
Table 64: Mapping between Reference blocks and Series C I/O channel types
AOREF IOPOINTS:AO
DIREF IOPOINTS:DI
DOREF IOPOINTS:DO
The behavior of the Reference block varies based on the configuration of the REFTYPE parameter.
The following figure is an example Main tab of the AIREF block where the REFTYPE is set as
"SERIES_
C_IO."
- 1087 -
Chapter 31 - I/O Reference blocks
When the CHANTYPE parameter is set, the parameters of the channel type are exposed as
parameters of the Reference block. This provides access to channel parameters, using the
Reference block name (for example, CM.AIREF.BADPVFL). The parameters of the channel may be
exposed as faceplate parameters or pins on the Reference block; hence, they are displayed in the
following tabs.
l Block Pins
l Configuration Parameters
l Monitoring Parameters
The following figure displays an example of the Block Pins, Configuration Parameters, and
Monitoring Parameters tabs of the AIREF block where the project parameters from the reference
AI channel is automatically added. Note that parameters added are specific to type of I/O
referenced.
- 1088 -
Chapter 31 - I/O Reference blocks
- 1089 -
Chapter 31 - I/O Reference blocks
ATTENTION
If you refer a parameter from a DSA server, then the parameter value is not displayed in the
Reference block’s block pin even though it reads the parameter value.
REF value cannot refer to user-projected parameters with Reference blocks as origin.
You can select the parameter to be referenced using one of the following formats using the point
picker option.
l Point.Parameter
l Point.Block.Parameter
l @Substituteblockname.Parameter
l @Substitute Parameter
If the input-type Reference blocks (AIREF and DIREF) are configured to reference the parameters,
then there are no restrictions in the configuration.
The following figure displays the Block Pins, Configuration Parameters, and Monitoring
Parameters tabs of the AIREF block where the AIREF behaves as a parameter connector.
ATTENTION
These tabs display the same parameters when REFTYPE is set as "None" or "PARAMETER".
- 1090 -
Chapter 31 - I/O Reference blocks
AIREF (AI Reference block)The AIREF (AI Reference) block allows you toassociate a configured analog
I/O or a pulse input channel in a Control Module, orreference a parameter value of any block. You can
expose all the input/output pins of the AI channel/PI channel block as inputs and as outputs,
respectively, in the AIREF block.The graphical representation of AIREF block is follows:
- 1091 -
Chapter 31 - I/O Reference blocks
Table 31.2 Origin of the Input/output value for input Reference blocks
If REFTYPE is Then, the PV origin is...
configured as ...
Channel PV value of the referenced channel.
References:
PMIO or
SERIES_C_IO
IOPOINT I/O PV value resident on the AIREF block
References:
CE900_IO,
Ethernet
I/P
IOPOINT_ l For references where the datatype of the reference matches the type of the
PARAM REF block, the PV origin will be the reference configured for the IOPOINT.
l For references where type convert is required, PRIMARYVARORIGIN
parameter resident on the AIREF block
PARAMETER Values that are accessible by Control Builder. The values can be
l Point.Parameters, or
l Point.Block.Parameter
The following figure is an example of the AIREF block configuration when REFTYPE is set as
"IOPOINT_
PARAM."
Configuration of AIREF block when REFTYPE is IOPOINT_PARAM
- 1092 -
Chapter 31 - I/O Reference blocks
You can expose all the input/output pins of the AO channel block as inputs and as outputs,
respectively, in the AOREF block.
The graphical representation of AOREF block is follows:
l Function-AOREF
l Configuration example-AOREF block
31.4.1 Function-AOREF
The OP parameter represents a value of its reference (REF). The AOREF block makes the OP
available for connections to other blocks. The AOREF block cannot accept the OP values from
different controllers. The origin of OP is listed in the following table based on the REFTYPE
parameter configuration.
- 1093 -
Chapter 31 - I/O Reference blocks
Table 31.3 Origin of the Input/output value for output Reference blocks
If REFTYPE is configured as ... Then, the OP origin is...
PMIO or SERIES_C_IO OP value of the channel.
The following figure is an example of the AOREF block configuration when REFTYPE is set as
“SERIES_
C_IO.”
The following figure is an example of the AOREF block configuration when REFTYPE is set as
“IOPOINT_PARAM.”
Configuration of AIREF block
- 1094 -
Chapter 31 - I/O Reference blocks
You can expose all the input/output pins of the DI channel block as inputs and as outputs,
respectively, in the DIREF block.
The graphical representation of DIREF block is as follows:
ATTENTION
If a DI channel of a Universal Input/Output (UIO) module is configured for pulse counting,
then you must use the DIREF block for referencing the UIO-DI channel.
l Function-DIREF
l Configuration example-DIREF block
- 1095 -
Chapter 31 - I/O Reference blocks
31.5.1 Function-DIREF
The PV parameter represents a value of its reference (REF). The DIREF block makes the PV
available
for connections to other blocks. The origin of PV is listed in the following table based on the
REFTYPE
parameter configuration.
Table 31.4 Origin of the Input/output value for input Reference blocks
If REFTYPE is configured as ... Then, the PV origin is...
PMIO or SERIES_C_IO PV value of the channel.
l Point.Parameters, or
l Point.Block.Parameter
- 1096 -
Chapter 31 - I/O Reference blocks
The following figure is an example of the DIREF block configuration when REFTYPE is set as
"PARAMETER."
You can expose all the input/output pins of the DOREF block as inputs and as outputs,
respectively, in the DOREF block.
The graphical representation of DOREF block is follows:
l Function-DOREF
l Configuration example-DOREF block
31.6.1 Function-DOREF
The SO parameter represents a value of its reference (REF). The DOREF block makes the SO
available for connections to other blocks. The DOREF block cannot accept the SO values from
different controllers. The origin of SO is listed in the following table based on the REFTYPE
parameter configuration.
Table 31.5 Origin of the Input/output value for output Reference blocks
If REFTYPE is configured as ... Then, the SO origin is...
PMIO or SERIES_C_IO SO value of the channel.
ATTENTION
The SO values are accepted only from the
PUSH blocks or PUSH connections.
- 1097 -
Chapter 31 - I/O Reference blocks
The following figure is an example of the DOREF block configuration when REFTYPE is set as
"PARAMETER."
- 1098 -
Chapter 31 - I/O Reference blocks
7. Click Finish.
The copied Reference block is created in the CM chart.
The result of copying the Reference blocks varies based on the After column status in
the Resolve Indeterminate or Substitute Connections dialog box.
- 1099 -
Chapter 31 - I/O Reference blocks
Before modifying the REF parameter in the Bulk Build spreadsheet, ensure that the corresponding
channel is not used in any CM and it is a non-spare channel.
User defined templates (UDT) of Reference blocks are also created using the "Make Template"
option. You can create the UDT using the Reference blocks with the desired REFTYPE value and
then configure the Reference blocks in the CM.
- 1100 -
Chapter 31 - I/O Reference blocks
l The value of Channel Type (CHANTYPE) and Reference (REF) parameters cannot be set in the
UDT.
l The REFTYPE, CHANTYPE, and the REF parameters cannot be made as template defining in
UDTs.
- 1101 -
Chapter 31 - I/O Reference blocks
- 1102 -
CHAPTER
32 UTILITY FUNCTIONS
ATTENTION
The ALMWINDOW, ANNPANEL, DIGACQ, and FIRSTOUT block can only be used with C300,
C200E, and ACE Controllers.
- 1103 -
Chapter 32 - Utility Functions
Provide better use of DIGACQ (Digital Used to define PV source for associated DI
computing and memory Acquisition) Block channel input with PV alarm capability.
resources
Measure execution time EXECTIMER Block Used to measure the execution timing of CEE
of CEE blocks Blocks by creating two instances.
Provides first out logic FIRSTOUT (First Out Used to define configurable inputs to be
identification for digital Detection) Block scanned for first out function with alarm
input transition capability.
Store a single two-state FLAG Block Used to define two separate states (for
value example, Running/Stopped, Off/On) to
indicate the status of a particular input.
Store multiple two-state FLAGARRAY Block Used to define two separate states (Off/On) to
values indicate status of a particular input.
Store a floating point NUMERIC Block Used to store up to 8 bytes of a floating point
value value within defined upper and lower limits for
use in a control strategy.
Store multiple floating NUMERICARRAY Used to store up to 200 floating point values
point values Block for use in a control strategy.
Push the value of PUSH Block Used to push the value of different data types
various data types. to the output destination.
Store multiple text TEXTARRAY Block Used to store up to 120 text strings for use in
strings a control strategy.
Add comments into the TEXTCOMMENT (Text Used to add comments into the
strategies/templates Comment) Block strategies/templates.
Time process events or TIMER Block Used to keep track of elapsed time during a
create known delays. process and provides indication when elapsed
time reaches predefined limit.
Provide data type TYPECONVERT Block Used to convert one data type to another for
conversions connecting parameters of different data types.
- 1104 -
Chapter 32 - Utility Functions
With R410, the following parameters are introduced for configuring the on-delay time and off-
delay time for the Off-Normal alarms.
l OFFNRMALM.TM
l OFFNRMALM.TMO
Each Alarm Window block supports the following user configurable attributes. The following table
lists the given name of the “Tab” in the parameter configuration form and then briefly describes
the attributes associated with that tab.
- 1105 -
Chapter 32 - Utility Functions
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l 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 0 and 65535. The default value is 10.
l Description (DESC) - Block descriptor of up to 132 characters long.
l Number Of Inputs (NUMIN) - Lets you specify the number of digital inputs
to be used with the block. The default is 4.
l 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
l Off Normal Alarm Priority (OFFNRMALM.PR) - Indicates the relative
priority of the alarm.
l Off Normal Alarm Severity (OFFNRMALM.SV) - Indicates the relative
severity of the alarm (from 0 to 15).
l Deadband Time (OFFNRMALM.TM) -
With R410, this parameter is introduced to define the duration in seconds
during which a process alarm reporting is suppressed. This helps in
preventing the nuisance alarms from being reported repeatedly during
the process upset and improves the efficiency of the operator. Once you
configure this value for an alarm, the alarm is reported on the Station
only if the alarm condition continues to exist even after this value expires.
The default time is 0; that is the alarm is reported as soon as the alarm
condition occurs.
You can configure individual deadband time for OFFNRMALM. However, if
you are migrating from pre-R410 to later releases, refer to Impact of
migration on alarm attributes.
l Off-delay Time (OFFNRMALM.TMO) - With R410, this parameter is
introduced to define the duration in seconds during which an RTN
reporting is suppressed even though the alarm condition has returned to
normal. The RTN is reported on the Station only after this time expires
and the alarm condition has returned to normal. The default time is 0;
that is RTN is reported as soon as the alarm condition returns to normal.
However, if you are migrating from pre-R410 to later releases, the alarm
off-delay time will be set as default value (0).
Identification Lets you view information pertinent to the qualification and version control
system and enter block comments, if desired.
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 Lets you select the available parameters that appear on the face of the
Parameters function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences block's faceplate.
Template Lets you view and define parameters for associated templates.
Defining
- 1106 -
Chapter 32 - Utility Functions
l Function-ALMWINDOW block
l Inputs-ALMWINDOW block
l Outputs-ALMWINDOW block
l Alarms-ALMWINDOW block
l Error handling-ALMWINDOW block
l ALMWINDOW parameters
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.
Ringback sequence
- 1107 -
Chapter 32 - Utility Functions
Following is the state transition table of the Alarm window state machine
Lamp Events
State AckAlarm NewAlarm RtnAlarm RstAlarm
The following is an illustration of the Alarm window state machine Manual Reset:
- 1108 -
Chapter 32 - Utility Functions
Following is the state transition table of the Alarm window state machine Manual Reset:
LampState Events
NewAlarm AckAlarm RtnAlarm RstAlarm
LampOff LampState = NoAction NoAction NoAction
FastFlash
The following is an illustration of the Alarm window state machine Automatic Reset:
- 1109 -
Chapter 32 - Utility Functions
Following is the state transition table of the Alarm window state machine Automatic Reset:
LampState Events
NewAlarm AckAlarm RtnAlarm RstAlarm
LampOff LampState = No Action No Action No Action
FastFlash
l The block displays an error when an invalid index or access lock is received during loading of
the block.
l If the user tries to store a value more than 16 for the NUMIN parameter, error “Invalid Value”
is displayed.
- 1110 -
Chapter 32 - Utility Functions
- 1111 -
Chapter 32 - Utility Functions
Each Annunciator Panel block supports the following user configurable attributes. The following
table lists the given name of the “Tab”in the parameter configuration form and then briefly
describes the attributes associated with that tab.
- 1112 -
Chapter 32 - Utility Functions
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.
l Function-ANNPANEL block
l Configuration Example-ANNPANEL block
l Inputs-ANNPANEL block
l Outputs-ANNPANEL block
l Error Handling-ANNPANEL block
l ANNPANEL parameters
- 1113 -
Chapter 32 - Utility Functions
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.
ATTENTION
Be sure 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.
- 1114 -
Chapter 32 - Utility Functions
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.
The OUTHORN1 and OUTHORN2 outputs are the hooter outputs which are connected to DO
channels.
l The block displays an error when an invalid index or access lock is received during loading of
the block.
l If the user tries to store a value more than 32 for the NUMANNUNWIN parameter, than an
error “Invalid Value” appears.
l Access level check is done at the time of loading the block as well as during a parameter write.
- 1115 -
Chapter 32 - Utility Functions
With R410, the following parameters are introduced for configuring the on-delay time and off-
delay time for Off-Normal and Bad PV alarms.
l OFFNRMALM.TM
l OFFNRMALM.TMO
l BADPVALM.TM
l BADPVALM.TMO
DIGACQ block provides a feature to configure change of state (COS) alarm with Delay option for
Digital Inputs (DI). The following parameters are introduced to enable/disable and to configure the
priority, severity and delay time of this alarm.
l ALMSELOPT
l CHGOFSTALM.PR
l CHGOFSTALM.SV
l CHGOFSTALM.TM
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.
- 1116 -
Chapter 32 - Utility Functions
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l 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.
l Description (DESC) - Block descriptor of up to 132 characters long.
l Engineering Units (EUDESC) - Lets you specify a text string of up to 16
characters to identify the variable values associated with the block.
l Normal State - Defines the Normal State of the block, as selected by the
user.
l Actual State - Indicates the current state of the block as in PV
l 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.
l 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.
l Text for each state (STATETEXT) - Lets you select the text for each state.
l Display Configuration (DABLOCKSINCM) - Indicates the number of blocks
that will be displayed in system detail display.
- 1117 -
Chapter 32 - Utility Functions
Configuration Description
Tab
you are migrating from pre-R410 to later releases, the alarm off-delay
time will be set as default value (0).
l The COS alarm is reported in the station with the priority defined in
priority column of the CHGOFSTALM.PR parameter. The possible
priorities are None, Journal, Low, High and Urgent.
l The COS alarm is reported in the station with given severity defined in the
Severity column of the CHGOFSTALM.SV parameter.
l The COS alarm is reported in the station whenever there is a state
change after a configured delay time defined in CHGOFSTALM.TM
parameter.
Identification Lets you view information pertinent to the qualification and version control
system and enter block comments, if desired.
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 Lets you select the available parameters that appear on the face of the
Parameters function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face of
Parameters the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences block's faceplate.
Template Lets you view and define parameters for associated templates.
Defining
l Function-DIGACQ block
l Configuration Scenario-DIGACQ block
l Inputs-DIGACQ block
l Outputs-DIGACQ block
l Error handling-DIGACQ block
l DIGACQ parameters
Block configuration
l By default, the PVSRCOPT parameter is set to ONLYAUTO and PVSOURCE is set to AUTO.
l The PVSOURCE parameter is disabled when PVSRCOPT is set to 0 (ONLYAUTO). It can be
changed if PVSRCOPT is set to 1 (ALL).
Predecessor block
- 1118 -
Chapter 32 - Utility Functions
l If PVSOURCE is set to AUTO, any block with a digital output can be a predecessor.
l 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.
The DIGACQ block is enhanced for you to configure the same for generation of COS alarms. A COS
alarm is reported when the time delay expires. If there is a state change before the time delay
expires the time delay is reset and COS alarm is not reported.
To accomplish this, new parameters ALMSELOPT, CHGOFSTALM.PR, CHGOFSTALM.SV,
CHGOFSTALM.TM are introduced in the DIGACQ block.
l To configure CHGOFSTALM.PR, CHGOFSTALM.SV, CHGOFSTALM.TM parameters you need to
enable/disable the ALMSELOPT parameter.
l The COS alarm is reported in the station with the priority defined in priority column of the
CHGOFSTALM.PR parameter. The possible priorities are None, Journal, Low, High and
Urgent.
l The COS alarm is reported in the station with given severity defined in the Severity column of
the CHGOFSTALM.SV parameter.
l The COS alarm is reported in the station whenever there is a state change after a configured
delay time defined in CHGOFSTALM.TM parameter.
- 1119 -
Chapter 32 - Utility Functions
l IN - Input parameter
PVSRCOPT PVSOURCE PV
- 1120 -
Chapter 32 - Utility Functions
l 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.
l 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.
l The Digital Acquisition block reports errors when a parameter is accessed with a privilege lower
than the expected access level.
l The Digital Acquisition block provides PVSTATUS based on the PVOURCE.
If PVSOUCE is
o Manual - kManValSts.
o SCM - kUncertainValSts.
o Auto - kNormalValSts.
l If the CM is inactive or CEE is IDLE, the block holds the last legal value.
l 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.
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.
- 1121 -
Chapter 32 - Utility Functions
Configuration Description
Tab
Main l 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.
l Averaging Interval (TAU): TAU establishes the time interval over which
rolling averages are computed. Units are seconds.
- 1122 -
Chapter 32 - Utility Functions
Configuration Description
Tab
l 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.
l 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.
- 1123 -
Chapter 32 - Utility Functions
Configuration Description
Tab
measurement.
Identification Lets you view information pertinent to the qualification and version control
system and enter block comments, if desired.
Template Lets you view and define parameters for associated templates.
Defining
l Function-EXECTIMER block
l Input-EXECTIMER block
l Output-EXECTIMER block
l EXECTIMER Parameters
l EXECTIMER Example
l Limitations-EXECTIMER block
ATTENTION
EXECTIMER is not supported on the C200 platform.
- 1124 -
Chapter 32 - Utility Functions
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 CM is selected to cause
execution in the order listed. Measurements can include any number of CMs or SCMs.
- 1125 -
Chapter 32 - Utility Functions
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.
- 1126 -
Chapter 32 - Utility Functions
The First Out Detection block supports the following user configurable attributes. The following
table lists the given name of the “Tab”in the parameter configuration form and then briefly
describes the attributes associated with that tab.
- 1127 -
Chapter 32 - Utility Functions
Configuration Description
Tab
Main l Name - Block (Tag) name of up to 16 characters long. Must be unique
within the CM block containing it.
l 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 0 and 65535. The default value is 10.
l Description (DESC) - Block descriptor of up to 132 characters long.
l Engineering Units (EUDESC) - Lets you specify a text string of up to 16
characters to identify the variable values associated with this block.
l Number Of Inputs (NUMDINPUTS) - Lets you specify the number of
digital inputs to be used with the block. The default is 8.
Alarm l First Out Alarm Priority (FIRSTOUTALM.PR) - Indicates the relative priority
of the alarm. The default selection is LOW.
l First Out Alarm Severity (FIRSTOUTALM.SV) - Indicates the relative
severity of the alarm (from 0 to 15).
Transition Lets you configure the transition monitoring status of the block.
Monitoring
Identification Lets you view information pertinent to the qualification and version control
system and enter block comments, if desired.
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 Lets you select the available parameters that appear on the face of the
Parameters function block in the Project tab in Control Builder.
Monitoring Lets you select the available parameters that you want to appear on the face
Parameters of the function block in the Monitoring tab in Control Builder.
Block Lets you change several block-viewing preferences including the color of the
Preferences block's faceplate.
Template Lets you view and define parameters for associated templates.
Defining
l Function-FIRSTOUT block
l Inputs-FIRSTOUT block
l Outputs-FIRSTOUT block
l Error handling-FIRSTOUT block
l First out detection FB parameters
l 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.
- 1128 -
Chapter 32 - Utility Functions
l 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.
l 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).
l 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 do this, the following I/O pin connections are required:
l IN[1] - IN[8] Inputs
l RESET Input
l FIRSTOUTACTED Output
Therefore, these parameters are exposed via block pins in the default state. The following
parameters are exposed in the FB panel in monitoring view.
l NUMDINPUTS
l INPUTACTED[1] - INPUTACTED[8]
l FIRSTOUTINPUT
NUMDINPUTS
FIRSTOUT FB uses NUMDINPUTS parameter which obtains the value from the Main configuration
form. The range of NUMDINPUTS is 1-24. If user configured NUMDINPUTS data in the Main
configuration form is invalid, an error message is displayed during configuration and download.
Inputs
The First Out block accepts a set of related digital input and detects the input that first transitioned
from the configured NORMAL state. Usually, this block is associated with critical equipment.
Usually, equipment's or a drive's protection interlocks and stop command are connected as input to
the First-out block. When an input signal transitions from NORMAL state, the output flag of the
First Out logic is raised. In addition, the input responsible for the First Out flag is recorded. The
recording is locked until a reset is applied to the block.
You can view the configured normal state of input at the faceplate of the function block without
opening the configuration page. The hollow diamond symbol indicates that the input pin on the
faceplate is configured with the normal input state as “True.”
In the Monitoring view, the hollow symbol is indicated in the color configured under the Pins and
Wires tab of the System preferences.
- 1129 -
Chapter 32 - Utility Functions
ATTENTION
To view the hollow diamond symbol for inputs, which are configured with normal input state
as “True,” you must ensure to select the Show Normal Input State with Hollow Diamond
checkbox in the System preferences dialog box.
The following figure illustrates the hollow diamond symbol for the inputs with normal input state
configured as “True.”
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.
- 1130 -
Chapter 32 - Utility Functions
OI[*], PI[*], OPCMD[*], and SI are the recommended signals for a DEVCTL block.
The output signals are used to indicate the conditions responsible for a drive to trip, enabling the
operator to analyze the exact reason for the trip to take corrective action.
Execution
l The number of inputs can be restricted during configuration. By default, eight inputs are
allowed.
l 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.
o 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.
o If any of the inputs transition from the last cycle, the INPUTACTED is turned ON.
o The history inputs of the last cycle (equal to the values of current inputs in this cycle)
are updated.
o In the absence of a change, the control exits.
o Transition monitoring (TRANSMON) can be enabled by a user with Engineer access.
If FIRSTOUT has already acted, TRANSMON cannot be enabled. However, if
TRANSMON is enabled before FIRSTOUT acted, it will continue to monitor upto
64,534 cycles and capture the list of inputs that became ABNORMAL in each cycle.
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”.
- 1131 -
Chapter 32 - Utility Functions
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.
FIRSTOUTINPUT None
FIRSTUPACTED OFF
The block supports 24 inputs, of which eight inputs are exposed by default. The remaining inputs
(9…24) 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.”
l FIRSTOUTACTED - This flag is set when there is an input transition from its configured
NORMAL state.
l INPUTACTED[1..24] - Indicates whether the corresponding input has transitioned causing a
First Out action.
l FIRSTOUTINPUT - This is an enumeration that indicates the input that triggered First Out.
l 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.
l This block checks and reports for invalid input indexes while loading or accessing parameters.
l The SR parameter cannot be edited on the monitoring side. A string input to the SR parameter
- 1132 -
Chapter 32 - Utility Functions
results in an error message being reported during configuration and the input string is
rejected.
l Parameter Access level is checked.
l 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.
With R410, the following parameters are introduced for configuring the on-delay time and off-
delay time for the Off-Normal alarms.
l OFFNRMALM.TM
l OFFNRMALM.TMO
FLAG block provides a feature to configure change of state (COS) alarm with Delay option for
Digital Inputs (DI). The following parameters are introduced to enable/disable and to configure the
priority, severity and delay time of this alarm.
l ALMSELOPT
l CHGOFSTALM.PR
l CHGOFSTALM.SV
l CHGOFSTALM.TM
l Function-FLAG block
l Input/Output-FLAG block
l FLAG parameters
- 1133 -
Chapter 32 - Utility Functions
particular input.
l There are 2 user-configurable state descriptors, STATETEXT[0] and STATETEXT[1] which are
used to describe STATE0 and STATE1 respectively.
l Current state of flag can be changed/read using PVFL (Boolean) or using PV (either
STATETEXT[0] or STATETEXT[1]).
l Block also supports:
o configurable access lock which determines who can write a value to the block (such as
operator, engineer, or other function block).
o 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.
o an off-normal alert whereby one of the flag's states is configured as the normal state;
whenever the flag modifies state, the off-normal alert is generated.
o an Off-Normal On-Delay Time - With R410, this parameter is introduced to define the
duration in seconds during which a process alarm reporting is suppressed. This helps
in preventing the nuisance alarms from being reported repeatedly during the process
upset and improves the efficiency of the operator. Once you configure this value for
an alarm, the alarm is reported on the Station only if the alarm condition continues to
exist even after this value expires. The default time is 0; that is the alarm is reported
as soon as the alarm condition occurs. You can configure individual deadband time
for OFFNRMALM. However, if you are migrating from pre-R410 to later releases, refer
to Impact of migration on alarm attributes.
o an Off-Normal On-Delay Time - With R410, this parameter is introduced to define the
duration in seconds during which an RTN reporting is suppressed even though the
alarm condition does not exist. The RTN is reported on the Station only after this time
expires and the alarm condition has returned to normal. The default time is 0; that is
RTN is reported as soon as the alarm condition returns to normal. However, if you are
migrating from pre-R410 to later releases, the alarm off-delay time will be set as
default value (0).
With R410, the FLAG block is enhanced such that you can configure the FLAG blocks for
generation of alerts. An alert is an off-normal condition of the FLAG block and does not have a
priority or a severity.
To accomplish this, a new parameter Alert Enable Option (ALTENBOPT) is introduced in the FLAG
block. The ALTENBOPT parameter can be used to enable the block to generate an off-normal
alarm or an off-normal alert whenever the flag's state differs from the configured normal state. An
alert is generated whenever the flag's state differs from the configured normal state and the
ALTENBOPT parameter is enabled.
ATTENTION
l A FLAG block cannot be configured to generate an alarm and an alert
simultaneously. The selection between an alarm and an alert is based on the
ALTENBOPT parameter.
l When an alert is generated, the FLAG block's borders appear in red in the
Monitoring view.
l In a CM, alarms are prioritized over alerts. However, the alerts and the alarms can
be acknowledged simultaneously from the station.
For more information about configuring alerts, refer to the Server and Client Configuration Guide.
For more information about acknowledging alerts, refer to the Operator's Guide.
- 1134 -
Chapter 32 - Utility Functions
The FLAG block is enhanced for you to configure the same for generation of COS alarms. A COS
alarm is reported when the time delay expires. If there is a state change before the time delay
expires the time delay is reset and COS alarm is not reported.
To accomplish this, new parameters ALMSELOPT, CHGOFSTALM.PR, CHGOFSTALM.SV,
CHGOFSTALM.TM are introduced in the FLAG block.
l To configure CHGOFSTALM.PR, CHGOFSTALM.SV, and CHGOFSTALM.TM parameters you
need to select the Change Of State option from ALMSELOPT enumeration.
l The COS alarm is reported in the station with the priority defined in priority column of the
CHGOFSTALM.PR parameter. The possible priorities are None, Journal, Low, High and
Urgent.
l The COS alarm is reported in the station with given severity defined in the Severity column of
the CHGOFSTALM.SV parameter.
l The COS alarm is reported in the station whenever there is a state change after a configured
delay time defined in CHGOFSTALM.TM parameter.
l Function-FLAGARRAY block
l Input/Output-FLAGARRAY block
l FLAGARRAY parameters
- 1135 -
Chapter 32 - Utility Functions
ATTENTION
You must have the Electronic Signature system license to use the Single Signature and
Double Signature message types.
l Function-MESSAGE block
l Configuration and Operation Considerations-MESSAGE block
l Input/Output-MESSAGE block
l MESSAGE parameters
- 1136 -
Chapter 32 - Utility Functions
(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 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.
For single signature type (SINGLESIGNATURE) messages, the client trigger pulses the
corresponding SENDFL[n] to send the MESSAGE[n] to the Server. Once a user acknowledges the
message twice to confirm it through the Message Summary display in Station, a Single Signature
user interface appears for the user to record an electronic signature. The MEANINGPRI[n]
parameter provides an indication for the meaning of the primary signature. Once the message is
acknowledged and signature is obtained, the Message Summary Display sends a confirmation to
the MESSAGE block that turns on the CONFIRMED[n] parameter to show that the message has
been confirmed.
For double signature type (DOUBLESIGNATURE) messages, the client trigger pulses the
corresponding SENDFL[n] to send the MESSAGE[n] to the Server. Once a user acknowledges the
message twice to confirm it through the Message Summary Display in Station, a Single Signature
and Double Signature user interface appear for the user to record the required electronic
signatures. The MEANINGPRI[n] and MEANINGSEC[n] parameters provide indications for the
meaning of the primary and secondary signatures, respectively. Once the message is
acknowledged and signatures are obtained, the Message Summary Display sends a confirmation
to the MESSAGE block that turns on the CONFIRMED[n] parameter to show that the message has
been confirmed. In addition, the MINLVLSECSIG[n] parameter lets users define the minimum
security level required for a secondary signature.
The CONFIRM[n] parameter can be configured as a block input pin and/or a monitoring parameter
that appears on the face of the block in the Monitoring mode. This means that a client block or an
operator, depending upon application requirements, can trigger it.
The MESSAGE[n] and MSGTYPE[n] parameters can also be configured as block input pins and/or
monitoring parameters. However, the MESSAGE[n], MEANINGPRI[n], and MEANINGSEC[n]
parameters cannot be changed online in the monitoring mode. It is possible to change the
MSGTYPE[n] and MINLVLSECSIG[n] parameters online in the Monitoring mode should the
application requirements change with an access level of Engineer or greater.
Confirming a message
The confirming a message action varies based on whether you have Integrated Keyboard (IKB) in
your system or not.
If you have an IKB in your system, perform one of the following steps from the Message Summary
display in Station to confirm a message.
l Select the message and press MSG CONFM on the IKB.
l Select the message and click Confirm Message on the menu bar.
l Right-click the message and select Confirm.
If you do not have an IKB in your system, perform one of the following steps from the Message
Summary display in Station to confirm a message.
l Acknowledge the message twice.
l Select the message and click Confirm Message on the menu bar.
l Right-click the message and select Confirm.
- 1137 -
Chapter 32 - Utility Functions
In both scenarios, these actions set the CONFIRMED[n] parameter is set to ON (true). However, an
operator must still acknowledge the message from the Message Summary display if the CONFIRM
[n] parameter is set from the Monitoring view or from a logic connection in the control strategy.
l Function-NUMERIC block
l Input/Output-NUMERIC block
l NUMERIC parameters
- 1138 -
Chapter 32 - Utility Functions
l Function-NUMERICARRAY block
l Input/Output-NUMERICARRAY block
l NUMERICARRAY parameters
- 1139 -
Chapter 32 - Utility Functions
The PUSH function block is used to push the value of different data types to the output
destination.
l Function-PUSH block
l Execution Status-PUSH block
l Store Status-PUSH block
l PUSH parameters
The EXECSTS provide information on how successful the block is in fetching the input. EXECSTS
can have the following values:
- 1140 -
Chapter 32 - Utility Functions
l OK - Successful i.e. when fetching of inputs as well as the conversion was done without any
error or clamping.
l CLAMPWARNING - Function completed, but with some limitation (e.g. 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.
l BADINPUT - This happens when the connection to input block is lost or it is simply bad data.
l INBLKMISSING - This happens when the block detects that there is no input connection made
to any of the inputs of the PUSH block
The STORESTS provide information on how successful the block is in storing the input. STORESTS
can have the following values:
l STOREOK - Successful i.e. the store to destination was successful
l 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
l 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
l 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.
- 1141 -
Chapter 32 - Utility Functions
l Function-TEXTARRAY block
l Input/Output-TEXTARRAY block
l TEXTARRAY parameters
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.
30 32 [1. .30]
60 16 [1. .60]
- 1142 -
Chapter 32 - Utility Functions
logic and hence does not participate in control execution. In addition, the Text Comment block does
not contain any pin connections.
l Benefits of using Text Comment block
l TEXTCOMMENT parameters
With the introduction of the Text Comment block, adding comments is easy and it is less time
consuming. The following are the advantages of using the Text Comment block.
l The comments introduced using Text Comment block appears in the Bulk Build output file.
Therefore, you can edit the comments in the Bulk Build output file without opening the
strategies individually. This in turn reduces the time consumed in configuring strategies with
comments.
l The number of clicks required to insert a comment into a strategy is considerably reduced
(approximately from 8 to 4). This in turn reduces the time consumed to configure strategies
with comments.
- 1143 -
Chapter 32 - Utility Functions
l Function-TIMER block
l Input/Output-TIMER block
l Commands-TIMER block
l TIMER parameters
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).
- 1144 -
Chapter 32 - Utility Functions
When more than one of the Boolean command parameters is set at the same time, the following
priority is used:
l RESETFL - highest priority
l STOPFL
l RESTARTFL
l STARTFL - lowest priority
For example, when both RESETFL and STARTFL are ON, the TIMER executes the Reset command
and nothing else will happen 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
l Function-TYPECONVERT block
l Execution status-TYPECONVERT block
l Input/Output-TYPECONVERT block
l TYPECONVERT parameters
- 1145 -
Chapter 32 - Utility Functions
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.
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 will fail, 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 will fetch the GPV Enumeration when it runs,
and will convert 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 will be 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-to-Integer, are supported; but
you do not need to use the TYPECONVERT block in these cases.
- 1146 -
Chapter 32 - Utility Functions
The ClampWarning is issued only when the input needs to be clamped to match the output
type configured for conversion. For example, if the input is configured as UINT16 and is
configured to convert into UINT8 (output), then the value will be clamped to UINT8 ranges.
l BadInput - The input connection exists but the data fetched is NaN (bad value). This is
applicable only for float input types.
l InBlkMissing - The block has detected an input connection that does not exist.
ATTENTION
The TYPECONVERT block does not use BADINPUT EXECSTS when the block is in Inactive or
in IDLE state.
- 1147 -
CHAPTER
33 SEQUENTIAL CONTROL
- 1148 -
CHAPTER
34 APC
l PROFITCTL Block
l PROFITCTLIN Block
l PROFITCTLOUT Block
Function Description
Block
- 1149 -
Chapter 34 - APC
- 1150 -
CHAPTER
In the mode selection list, before R500, all Modes applicable/not applicable were listed
irrespective of whether a block supported a particular MODE or not. This enabled the Operator to
select an invalid mode from the MODE selection list. When an invalid MODE was selected a
system error would occur by which the Operator came to know that an invalid MODE was selected.
In addition, an Engineer had no provision of restricting the Operator from changing the
MODE/MODEATTR to a value which was inappropriate for a particular control strategy. Displaying
Mode selections that were not supported/ not applicable for a block was confusing to the Operator
and had the potential for the Operator to make an unsuitable selection.
In R500, the following features are implemented:
1. List only applicable modes in DEVCTL, POWERGEN. REGCTL blocks.
2. Mode Selection to filter out modes that are not applicable for an Operator to select during
control operations.
3. FORCEMODEATTR to prevent the Operator/Supervisor/Engineer from writing to MODE when
the MODEATTR is PROGRAM.
Access Locks
The following two users are impacted by the mode selection functionality:
l Project Engineer- Modifies the Mode Selection list to select the required Modes/Mode
Attribute either manually or through applications/control configurations. This restricts the
Operator from selecting a mode which is not applicable to a control strategy.
l Plant Operator- Will be able to view only the list of applicable modes configured by the project
engineer using mode selection.
- 1151 -
Chapter 35 - Mode selection functionality
NOTE
If you migrate from a release prior to R500 to R500 and if there are strategies configured
with invalid modes for MODE, MODEATTR and NORMMODE parameters, all the
configurations are set to the default value. Refer the error logs for the impacted control
strategies.
Mode selection list can also be configured using PIN connections where the Mode selection list
parameter receives inputs from the configured input PIN. This selection ensures that the
parameter MODE displays only the modes applicable to a particular block in the monitoring view.
- 1152 -
Chapter 35 - Mode selection functionality
NOTE
NORMMODE and NORMMODEATTR are not impacted by the change you make to the mode
selection list. These parameters will always display the applicable modes and mode
attributes.
The following table lists the Mode and Mode Attribute Selection List for the REGCTL, DEVCTL and
POWERGEN blocks.
PROGRAM
Any change made to the mode selection parameter affects the value of MODE and the MODEATTR,
that is, if MODESEL is configured to disallow the AUTO mode, then the corresponding MODE
parameter does not list AUTO in the monitoring view/Station Display. However, programmatically
the MODE value can still be set to the AUTO.
For example, in the PID block, the allowable modes are MAN, AUTO and CAS. Any of these modes
can be configured for exclusion from the mode selection list. If PID is running in AUTO mode and
from the monitoring side the user deselects AUTO from the mode selection list, then the strategy
still continues to run in the AUTO mode. Later if you change MODE to MAN/CAS the AUTO mode
disappears from the MODE list.
NOTE
The default value for mode selection parameter is ON which means that all applicable modes
are available in the MODE/MODEATTR list. Ensure that you select the appropriate
mode/mode attribute in the mode selection list to prevent any error/warning. For more
information about the error message, see Control Builder Error Code Reference.
DEVCTL/HTMOTOR/LTMOTOR/SOLENOID/VALVEDAMPER/MAINIBV
- 1153 -
Chapter 35 - Mode selection functionality
Since these blocks do not contain mode as a modifiable parameter, hence the mode selection
functionality is provided only for MODEATTR parameter.
NOTE
This section is only applicable to the REGCTL blocks.
- 1154 -
Notices
Trademarks
Experion®, PlantScape®, SafeBrowse®, TotalPlant®, ControlEdge™, and TDC 3000® are registered
trademarks of Honeywell International, Inc.
OneWireless™ is a trademark of Honeywell International Sàrl
Other trademarks
Microsoft and SQL Server are either registered trademarks or trademarks of Microsoft Corporation
in the United States and/or other countries.
Trademarks that appear in this document are used only to the benefit of the trademark owner,
with no intention of trademark infringement.
Third-party licenses
This product may contain or be derived from materials, including software, of third parties. The
third party materials may be subject to licenses, notices, restrictions and obligations imposed by
the licensor. The licenses, notices, restrictions and obligations, if any, may be found in the
materials accompanying the product, in the documents or files accompanying such third party
materials, in a file named third_party_licenses on the media containing the product, or at
http://www.honeywell.com/ps/thirdpartylicenses.
Documentation feedback
You can find the most up-to-date documents on the Honeywell Process Solutions support website
at:
l http://www.honeywellprocess.com/support
If you have comments about Honeywell Process Solutions documentation, send your feedback to:
Use this email address to provide feedback, or to report errors and omissions in the
documentation. For immediate help with a technical problem, contact your local Honeywell
Process Solutions Customer Contact Center (CCC) or Honeywell Technical Assistance Center
(TAC).
- 1155 -
Support
For support, contact your local Honeywell Process Solutions Customer Contact Center (CCC). To
find your local CCC visit the website, https://www.honeywellprocess.com/en-US/contact-
us/customer-support-contacts/Pages/default.aspx.
Training classes
Honeywell holds technical training classes about Experion PKS. These classes are taught by
experts in the field of process control systems. For more information about these classes, contact
your Honeywell representative, or see http://www.automationcollege.com.
- 1156 -