You are on page 1of 822

B0193AX

Rev AB
November 30, 2011


I/A Series

System
Integrated Control
Block Descriptions
Volume 1 of 3,
ACCUM DTIME


Invensys, Foxboro, FoxCAE, FoxView, InFusion, I/A Series, the Invensys logo, and EXACT are trademarks of
Invensys plc, its subsidiaries, and affiliates.
All other brand names may be trademarks of their respective owners.
Copyright 1990-2011 Invensys Systems, Inc.
All rights reserved
SOFTWARE LICENSE AND COPYRIGHT INFORMATION
Before using the Invensys Systems, Inc. supplied software supported by this documentation, you
should read and understand the following information concerning copyrighted software.
1. The license provisions in the software license for your system govern your obligations
and usage rights to the software described in this documentation. If any portion of
those license provisions is violated, Invensys Systems, Inc. will no longer provide you
with support services and assumes no further responsibilities for your system or its
operation.
2. All software issued by Invensys Systems, Inc. and copies of the software that you are
specifically permitted to make, are protected in accordance with Federal copyright
laws. It is illegal to make copies of any software media provided to you by
Invensys Systems, Inc. for any purpose other than those purposes mentioned in the
software license.
iii


Volume Set Information
Volume 1 of 3
ACCUM through DTIME
1. ACCUM Accumulator Block............................................................................................. 1
2. AIN Analog Input Block.................................................................................................. 25
3. AINR Redundant Analog Input Block............................................................................. 75
4. ALMPRI Alarm Priority Change Block.......................................................................... 127
5. AOUT Analog Output Block......................................................................................... 135
6. AOUTR Redundant Analog Output Block.................................................................... 173
7. BIAS Bias Block............................................................................................................. 209
8. BIN Binary Input Block................................................................................................. 237
9. BINR Redundant Binary Input Block............................................................................ 259
10. BLNALM Boolean Alarm Block .................................................................................. 285
11. BOOL Boolean Variable Block .................................................................................... 295
12. BOUT Binary Output Block ....................................................................................... 299
13. BOUTR Redundant Binary Output Block .................................................................. 325
14. CALC Calculator Block ............................................................................................... 353
15. CALCA Advanced Calculator Block............................................................................. 433
16. CHARC Characterizer Block ....................................................................................... 511
17. CIN Contact Input Block ............................................................................................ 529
18. CINR Redundant Contact Input Block ....................................................................... 553
19. CMP Compounds........................................................................................................ 575
20. COUT Contact Output Block..................................................................................... 585
21. COUTR Redundant Contact Output Block................................................................ 609
22. DEP Dependent Sequence Block ................................................................................. 633
23. DGAP Differential Gap Block ..................................................................................... 653
24. DPIDA Controller .......................................................................................................... 685
25. DSI Display Station Interface Block............................................................................. 769
26. DTIME Dead Time Compensator Block..................................................................... 779
Volume 2 of 3
ECB through MOVLV
27. Equipment Control Blocks.............................................................................................. 791
28. Primary ECB (ECBP or ECB11) .................................................................................... 797
29. ECB1 Analog Input ..................................................................................................... 805
30. ECB2 Analog Input and Analog Output...................................................................... 813
B0193AX Rev AB Volume Set Information
iv


31. ECB4 Pulse In and Analog Output .............................................................................. 823
32. ECB5 Digital In, Sustained/Momentary, and Digital Out ........................................... 831
33. ECB6 Sequence of Events Input .................................................................................. 845
34. ECB7 Digital and Pulse Count In................................................................................ 853
35. ECB8 Ladder Logic or DC Out/Validated Input ......................................................... 861
36. ECB9 Remote/Manual................................................................................................. 873
37. ECB11 (ECBP, Primary ECB)........................................................................................ 885
38. ECB12 Intelligent Transmitter 2 Interface................................................................... 893
39. ECB13 Hydrostatic Tank Gauge ................................................................................. 901
40. ECB14 Panel-Mounted Display................................................................................... 919
41. ECB15 Allen-Bradley PLC ECB.................................................................................. 927
42. ECB16 Modicon PC ECB........................................................................................... 933
43. ECB18 Intelligent Transmitter 2 (Child) ..................................................................... 941
44. ECB19 760 Micro Controller ...................................................................................... 953
45. ECB21 761 Micro Controller ...................................................................................... 959
46. ECB22 Mass Flow Transmitter.................................................................................... 965
47. ECB23 Intelligent Transmitter 2 Interface (Parent) ..................................................... 977
48. ECB34 MDACT Feedback Lag Tristate ...................................................................... 987
49. ECB36 MDACT Pulse Width Tristate ........................................................................ 999
50. ECB38R Intelligent Transmitter 2 Interface (Redundant Parent) .............................. 1011
51. ECB39 AMSPRI........................................................................................................ 1023
52. ECB41 Analog Input FBC......................................................................................... 1033
53. ECB42 Digital Input FBC......................................................................................... 1039
54. ECB43 Analog Output FBC...................................................................................... 1045
55. ECB44 Digital Output FBC...................................................................................... 1053
56. ECB46 Digital Input/Digital Output FBC................................................................ 1061
57. ECB47 FBP10 Interface to Cluster I/O..................................................................... 1069
58. ECB47R Redundant FBP10 Interface to Cluster I/O ................................................ 1079
59. ECB52 DPIDA Controller ........................................................................................ 1091
60. ECB53 Analog Output .............................................................................................. 1101
61. ECB73 Valve and Transmitter Parent ECB ............................................................... 1109
62. ECB74 Valve and Transmitter Child ECB................................................................. 1117
63. ECB110 Interface for FCM10 Family of Devices....................................................... 1135
64. ECB200 Single Module DCI FBM Interface ............................................................. 1141
65. ECB201 Device Interface........................................................................................... 1155
66. ECB202 REDUNDANT DCI FBM Interface .......................................................... 1175
67. ECB210 Redundant FCM100 Interface .................................................................... 1191
68. EVENT Event Block ................................................................................................. 1205
Volume Set Information B0193AX Rev AB
v


69. EXC Exception Sequence Block................................................................................. 1221
70. FBTUNE Feedback Tuner Block............................................................................... 1241
71. FFTUNE Feedforward Tuner Block .......................................................................... 1251
72. GDEV General Device Block..................................................................................... 1259
73. IIN Integer Input Block............................................................................................. 1291
74. IINR Redundant Integer Input Block ........................................................................ 1309
75. IND Independent Sequence Block............................................................................. 1331
76. IOUT Integer Output Block...................................................................................... 1349
77. LIM Limiter Block..................................................................................................... 1373
78. LLAG Lead Lag Block................................................................................................ 1387
79. LOGIC Logic Block................................................................................................... 1397
80. LONG Long Integer Variable Block .......................................................................... 1429
81. MAIN Multiple Analog Input Block.......................................................................... 1431
82. MATH Mathematics Block........................................................................................ 1473
83. MCIN Multiple Contact Input Block........................................................................ 1519
84. MCOUT Multiple Contact Output Block................................................................. 1543
85. MDACT Motor Driven Actuator Controller ................................................................ 1563
86. MEALM Measurement Alarm Block.......................................................................... 1607
87. MON Monitor Block ................................................................................................ 1623
88. MOVLV Motor Operated Valve Block...................................................................... 1639
Volume 3 of 3
MSG through VLV
89. MSG Message Generator Block.................................................................................. 1663
90. MTR Motor Control Block ....................................................................................... 1671
91. OUTSEL Output Select Block................................................................................... 1693
92. PACK Packed Long Integer Variable Block................................................................ 1705
93. PAKIN Packed Input Block....................................................................................... 1707
94. PAKINR Redundant Packed Input Block .................................................................. 1719
95. PAKOUT Packed Output Block................................................................................ 1735
96. PATALM Pattern Alarm Block.................................................................................. 1753
97. PATT Pattern Block .................................................................................................. 1765
98. PID Proportional Integral Derivative Block ............................................................... 1783
99. PIDA Advanced PID Block........................................................................................ 1819
100. PIDX PID Extended Block...................................................................................... 1895
101. PIDXE PID Extended with EXACT Block.............................................................. 1933
102. PIDE PID With EXACT Block............................................................................... 1977
103. PLB Programmable Logic Block............................................................................... 2019
B0193AX Rev AB Volume Set Information
vi


104. PLSOUT Pulse Output Block.................................................................................. 2037
105. PTC Proportional Time Controller Block................................................................ 2053
106. RAMP Ramp Block ................................................................................................. 2085
107. REAL Real Variable Block ....................................................................................... 2097
108. RATIO Ratio Block................................................................................................. 2101
109. REALM Real Alarm Block....................................................................................... 2133
110. RIN Real Input Block.............................................................................................. 2157
111. RINR Redundant Real Input Block ......................................................................... 2187
112. ROUT Real Output Block....................................................................................... 2223
113. ROUTR Redundant Real Output Block.................................................................. 2255
114. SIGSEL Signal Selector Block .................................................................................. 2291
115. STALM State Alarm Block ...................................................................................... 2305
116. STATE State Block.................................................................................................. 2317
117. Station Block............................................................................................................... 2349
118. STRIN String Input Block....................................................................................... 2377
119. STRING String Variable Block................................................................................ 2387
120. STROUT String Output Block ............................................................................... 2389
121. SWCH Switch Block ............................................................................................... 2397
122. TIM Timer Block .................................................................................................... 2409
123. VLV Valve Block ..................................................................................................... 2417
vii


Contents
Volume Set Information........................................................................................................ iii
Figures.................................................................................................................................. xxi
Tables.................................................................................................................................. xxv
Preface................................................................................................................................ xxix
1. ACCUM Accumulator Block.......................................................................................... 1
1.1 Overview ......................................................................................................................... 1
1.2 Basic Operation .................................................................................................................. 1
1.3 Features ............................................................................................................................... 2
1.4 Parameters ........................................................................................................................... 3
1.4.1 Parameter Definitions ................................................................................................. 4
1.5 Functions .......................................................................................................................... 15
1.5.1 Detailed Diagram ...................................................................................................... 16
1.5.2 Accumulator Process ................................................................................................. 16
1.5.2.1 Pulse Count Option .......................................................................................... 17
1.5.3 Meter Factor ............................................................................................................. 19
1.5.3.1 Meter Factor Functions ..................................................................................... 19
1.5.3.2 Meter Factor Calculation ................................................................................... 19
1.5.3.3 Meter Factor Examples ...................................................................................... 20
1.5.4 Carry ......................................................................................................................... 21
1.5.5 Block Control States .................................................................................................. 21
1.5.5.1 Measurement Error Handling for Auto to Manual Transitions .......................... 22
1.5.6 Alarming the Accumulator ........................................................................................ 23
1.5.7 Peer-to-Peer Connections of Real-Type Block Inputs ................................................ 23
1.5.8 Application Diagram ................................................................................................. 24
2. AIN Analog Input Block .............................................................................................. 25
2.1 Overview ........................................................................................................................... 25
2.2 Basic Operation ................................................................................................................ 26
2.3 Features ............................................................................................................................. 26
2.4 Parameters ......................................................................................................................... 27
2.4.1 Parameter Definitions ............................................................................................... 29
2.5 Functions .......................................................................................................................... 44
2.5.1 Detailed Diagram ...................................................................................................... 44
2.5.2 Input and Signal Conditioning .................................................................................. 45
2.5.2.1 General Analog Input: 0 to 20 mA or 0 to 10 V dc ........................................... 45
2.5.2.2 Thermocouple Input ......................................................................................... 48
2.5.2.3 RTD Input ........................................................................................................ 50
2.5.2.4 Pulse Rate Input ................................................................................................ 52
B0193AX Rev AB Contents
viii


2.5.2.5 Pulse Count Input ............................................................................................. 53
2.5.2.6 Intelligent Field Device Input ............................................................................ 53
2.5.2.7 Exceptions for Use of AIN Blocks with Intelligent Transmitters
and Positioners (Parent ECB73) .................................................................................... 55
2.5.2.8 Input from Another Block ................................................................................. 56
2.5.3 Zero and Span Scaling ............................................................................................... 57
2.5.4 Clamping .................................................................................................................. 57
2.5.5 Filtering .................................................................................................................... 58
2.5.5.1 First Order Lag Filtering (FLOP = 1) ................................................................ 59
2.5.5.2 Butterworth Filtering (FLOP = 2) ..................................................................... 60
2.5.5.3 Two-Sample-Average Filtering (FLOP = 3) ....................................................... 60
2.6 Bad Input and Out-of-Range Processing ........................................................................... 60
2.6.1 Bad Status and BAD Parameter ................................................................................. 60
2.6.2 Out-of-Range Conditions ......................................................................................... 61
2.6.2.1 Out-of-Range Due to Signal Conditioning ........................................................ 61
2.6.2.2 Out-of-Range Due to Clamping ........................................................................ 62
2.6.3 Out-of-Service Conditions ........................................................................................ 62
2.6.4 Last Good Value ....................................................................................................... 62
2.7 Manual Mode ................................................................................................................... 64
2.8 Alarming ........................................................................................................................... 65
2.9 Application Diagram ......................................................................................................... 66
2.10 Appendix A Signal Conditioning Tables ...................................................................... 67
2.10.1 Summary ................................................................................................................. 67
2.10.2 Linear/Square Root Signal Conditioning ................................................................. 68
2.10.3 Thermocouple Signal Conditioning ........................................................................ 70
2.10.4 RTD Signal Conditioning ....................................................................................... 70
2.11 Appendix B Valid Input Connections .......................................................................... 71
2.11.1 FBM201 through FBM242 Valid Input Connections ............................................. 71
2.11.2 FBM01 through FBM46 Valid Input Connections ................................................. 72
2.11.3 Cluster I/O Valid Input Connections ...................................................................... 73
3. AINR Redundant Analog Input Block.......................................................................... 75
3.1 Overview ........................................................................................................................... 75
3.2 Basic Operation ................................................................................................................ 76
3.3 Features ............................................................................................................................. 76
3.4 Parameters ......................................................................................................................... 77
3.4.1 Parameter Definitions ............................................................................................... 79
3.5 Functions .......................................................................................................................... 96
3.5.1 Detailed Diagram ...................................................................................................... 96
3.5.2 Input And Signal Conditioning ................................................................................. 97
3.5.2.1 General Analog Input: 0 to 20 mA or 0 to 10 V dc ........................................... 97
3.5.2.2 Thermocouple Input ....................................................................................... 100
3.5.2.3 RTD Input ...................................................................................................... 103
3.5.2.4 Pulse Rate Input .............................................................................................. 104
3.5.2.5 Pulse Count Input ........................................................................................... 105
3.5.2.6 Intelligent Field Device Input .......................................................................... 106
3.5.2.7 Inputs from Other Blocks ................................................................................ 107
3.5.3 Zero and Span Scaling ............................................................................................. 108
Contents B0193AX Rev AB
ix


3.5.4 Clamping ................................................................................................................ 109
3.5.5 Filtering .................................................................................................................. 110
3.5.5.1 First Order Lag Filtering (FLOP = 1) .............................................................. 110
3.5.5.2 Butterworth Filtering (FLOP = 2) ................................................................... 111
3.5.5.3 Two-Sample-Average Filtering (FLOP = 3) ..................................................... 111
3.6 Bad Input and Out-of-Range Processing ......................................................................... 112
3.6.1 Bad Status and BAD Parameter ............................................................................... 112
3.6.2 Out-of-Range Conditions ....................................................................................... 112
3.6.2.1 Out-of-Range Due to Signal Conditioning ...................................................... 112
3.6.2.2 Out-of-Range Due to Clamping ...................................................................... 113
3.6.3 Out-of-Service Conditions ...................................................................................... 113
3.6.4 Last Good Value ..................................................................................................... 113
3.7 Manual Mode ................................................................................................................. 115
3.8 Alarming ......................................................................................................................... 115
3.9 Application Diagram ....................................................................................................... 117
3.10 Appendix A Signal Conditioning Tables .................................................................... 118
3.10.1 Summary ............................................................................................................... 118
3.10.2 Linear/Square Root Signal Conditioning ............................................................... 119
3.10.3 Thermocouple Signal Conditioning ...................................................................... 121
3.10.4 RTD Signal Conditioning ..................................................................................... 121
3.11 Appendix B Valid Input Connections ........................................................................ 121
3.11.1 FBM201 through FBM242 Valid Input Connections ........................................... 121
3.11.2 FBM01 through FBM46 Valid Input Connections ............................................... 123
3.11.3 Cluster I/O Valid Input Connections .................................................................... 124
4. ALMPRI Alarm Priority Change Block...................................................................... 127
4.1 Overview ......................................................................................................................... 127
4.2 Features ........................................................................................................................... 127
4.3 Parameters ....................................................................................................................... 127
4.3.1 Parameter Definitions ............................................................................................. 128
4.4 Detailed Operation ......................................................................................................... 132
4.4.1 Detailed Diagram .................................................................................................... 132
4.4.2 Block States ............................................................................................................. 132
4.4.2.1 Initialization .................................................................................................... 132
4.4.2.2 Manual ............................................................................................................ 132
4.4.2.3 Auto ................................................................................................................ 132
4.4.3 Alarm Priority Changing ......................................................................................... 132
4.4.3.1 Example Application ....................................................................................... 133
5. AOUT Analog Output Block ..................................................................................... 135
5.1 Overview ......................................................................................................................... 135
5.2 Basic Operation .............................................................................................................. 136
5.3 Features ........................................................................................................................... 136
5.4 Parameters ....................................................................................................................... 137
5.4.1 Parameter Definitions ............................................................................................. 139
5.5 Functions ........................................................................................................................ 154
B0193AX Rev AB Contents
x


5.5.1 Detailed Diagram .................................................................................................... 154
5.5.2 Block Initialization .................................................................................................. 155
5.5.3 Block Validation ...................................................................................................... 156
5.5.4 Output Processing ................................................................................................... 157
5.5.4.1 Zero and Span Scaling ..................................................................................... 158
5.5.4.2 Reset Balance Action ....................................................................................... 159
5.5.4.3 Clamping ........................................................................................................ 160
5.5.4.4 Back Calculated Outputs ................................................................................. 160
5.5.4.5 Signal Conditioning ........................................................................................ 161
5.5.4.6 Output to FBM or FBC .................................................................................. 163
5.5.4.7 Configuring the AOUT Block for Intelligent Positioners ................................ 163
5.5.5 Changing Engineering Range Limits ....................................................................... 164
5.5.6 Hold State ............................................................................................................... 165
5.5.7 PRIBLK and PRITIM Functionality ....................................................................... 165
5.5.8 Failsafe State ............................................................................................................ 165
5.5.9 Supervisory Control ................................................................................................ 166
5.6 Bad, Out-of-Service, and Error Conditions ..................................................................... 167
5.6.1 Bad Condition ........................................................................................................ 167
5.6.2 Out-of-Service Condition ........................................................................................ 168
5.6.3 Error Condition and Last Good Value Functionality .............................................. 168
5.7 Manual Mode ................................................................................................................. 169
5.8 Alarming ......................................................................................................................... 170
5.9 Application Diagram ....................................................................................................... 171
6. AOUTR Redundant Analog Output Block ................................................................ 173
6.1 Overview ......................................................................................................................... 173
6.2 Basic Operation .............................................................................................................. 174
6.3 Features ........................................................................................................................... 175
6.4 Parameters ....................................................................................................................... 176
6.4.1 Parameter Definitions ............................................................................................. 178
6.4.2 Detailed Diagram .................................................................................................... 192
6.4.3 Block Initialization .................................................................................................. 193
6.4.4 Block Validation ...................................................................................................... 194
6.4.5 Output Processing ................................................................................................... 195
6.4.5.1 Zero and Span Scaling ..................................................................................... 196
6.4.5.2 Reset Balance Action ....................................................................................... 197
6.4.5.3 Clamping ........................................................................................................ 198
6.4.5.4 Back Calculated Outputs ................................................................................. 198
6.4.5.5 Signal Conditioning ........................................................................................ 199
6.4.5.6 Output to FBMs or FBCs ................................................................................ 201
6.4.6 Changing Engineering Range Limits ....................................................................... 201
6.4.7 Hold State ............................................................................................................... 201
6.4.8 PRIBLK and PRITIM Functionality ....................................................................... 202
6.4.9 Failsafe State ............................................................................................................ 202
6.4.10 Supervisory Control .............................................................................................. 202
6.5 Bad, Out-of-Service, and Error Conditions ..................................................................... 204
6.5.1 Bad Condition ........................................................................................................ 204
6.5.2 Out-of-Service Condition ........................................................................................ 205
Contents B0193AX Rev AB
xi


6.5.3 Error Condition and Last Good Value Functionality .............................................. 205
6.6 Manual Mode ................................................................................................................. 206
6.7 Alarming ......................................................................................................................... 207
6.8 Application Diagram ....................................................................................................... 208
7. BIAS Bias Block ......................................................................................................... 209
7.1 Overview ......................................................................................................................... 209
7.1.1 I/O Diagram ........................................................................................................... 209
7.2 Features ........................................................................................................................... 210
7.3 Parameters ....................................................................................................................... 211
7.3.1 Parameter Definitions ............................................................................................. 214
7.4 Functions ........................................................................................................................ 232
7.4.1 Detailed Operation ................................................................................................. 232
7.4.1.1 Normal Configuration ..................................................................................... 234
7.4.2 PRIBLK and PRITIM Functionality ....................................................................... 236
8. BIN Binary Input Block............................................................................................. 237
8.1 Overview ......................................................................................................................... 237
8.2 Basic Operation .............................................................................................................. 237
8.3 Features ........................................................................................................................... 238
8.4 Parameters ....................................................................................................................... 238
8.4.1 Parameter Definitions ............................................................................................. 240
8.5 Functions ........................................................................................................................ 252
8.5.1 Detailed Diagram .................................................................................................... 252
8.5.2 Associated ECBs ...................................................................................................... 252
8.5.3 DCI Connection ..................................................................................................... 253
8.5.4 Origin of Input Data ............................................................................................... 253
8.5.5 Processing of Input Point Status .............................................................................. 254
8.5.6 Processing of Input Point Data ................................................................................ 254
8.5.7 Auto/Manual Arbitration ........................................................................................ 254
8.5.8 Operation in Auto Mode ......................................................................................... 255
8.5.9 Operation in Manual Mode .................................................................................... 255
8.5.10 State Change Messages (CP270 Only) .................................................................. 255
8.5.11 Alarming (CP270 Only) ........................................................................................ 256
8.5.11.1 BAD I/O Alarms ........................................................................................... 256
8.5.11.2 State Alarms .................................................................................................. 257
8.5.11.3 Alarm Management ....................................................................................... 257
8.5.12 Time Stamp .......................................................................................................... 257
9. BINR Redundant Binary Input Block ........................................................................ 259
9.1 Overview ......................................................................................................................... 259
9.2 Basic Operation .............................................................................................................. 259
9.3 Features ........................................................................................................................... 260
9.4 Parameters ....................................................................................................................... 260
9.4.1 Parameter Definitions ............................................................................................. 262
B0193AX Rev AB Contents
xii


9.5 Functions ........................................................................................................................ 276
9.5.1 Detailed Diagram .................................................................................................... 276
9.5.2 Associated ECBs ...................................................................................................... 276
9.5.3 DCI Connections .................................................................................................... 277
9.5.4 Origins of Input Data .............................................................................................. 277
9.5.5 Processing the Status and Data of the Input Points ................................................. 278
9.5.6 Arbitration Algorithm ............................................................................................. 279
9.5.7 Auto/Manual Arbitration ........................................................................................ 280
9.5.8 Operation in Auto Mode ......................................................................................... 280
9.5.9 Operation in Manual Mode .................................................................................... 280
9.5.10 State Change Messages (CP270 Only) .................................................................. 280
9.5.11 Alarming (CP270 Only) ........................................................................................ 281
9.5.11.1 BAD I/O Alarms ........................................................................................... 281
9.5.11.2 State Alarms .................................................................................................. 282
9.5.11.3 Alarm Management ....................................................................................... 282
9.5.12 Time Stamp .......................................................................................................... 283
10. BLNALM Boolean Alarm Block............................................................................... 285
10.1 Overview ....................................................................................................................... 285
10.1.1 I/O Diagram ......................................................................................................... 285
10.2 Features ......................................................................................................................... 285
10.3 Parameters ..................................................................................................................... 286
10.3.1 Parameter Definitions ........................................................................................... 286
10.4 Functions ...................................................................................................................... 293
10.4.1 Detailed Operation ............................................................................................... 293
11. BOOL Boolean Variable Block................................................................................. 295
11.1 Overview ....................................................................................................................... 295
11.2 Basic Operation ............................................................................................................ 295
11.3 Features ......................................................................................................................... 296
11.4 Parameters ..................................................................................................................... 296
11.4.1 Parameter Definitions ........................................................................................... 296
12. BOUT Binary Output Block.................................................................................... 299
12.1 Overview ....................................................................................................................... 299
12.2 Basic Operation ............................................................................................................ 300
12.3 Features ......................................................................................................................... 301
12.4 Parameters ..................................................................................................................... 302
12.4.1 Parameter Definitions ........................................................................................... 303
12.5 Functions ...................................................................................................................... 315
12.5.1 Detailed Diagram .................................................................................................. 315
12.5.2 Associated ECBs .................................................................................................... 315
12.5.3 DCI Connections .................................................................................................. 316
12.5.4 Output Point and Initialization Input Point .......................................................... 316
12.5.5 Confirmed Output Parameters .............................................................................. 317
12.5.6 Status of the Readback Value ................................................................................ 317
Contents B0193AX Rev AB
xiii


12.5.7 Auto/Manual Switching ........................................................................................ 318
12.5.8 Fail-Safe Functions ................................................................................................ 318
12.5.9 Time Stamp .......................................................................................................... 319
12.5.10 Conditions for Sending a Block Output .............................................................. 320
12.5.11 Sending the Output ............................................................................................ 320
12.5.12 Status of Other Block Outputs ............................................................................ 320
12.5.13 PRIBLK and PRITIM Functionality ................................................................... 320
12.5.14 Change Timer ..................................................................................................... 321
12.5.15 Status of INI_PT ................................................................................................. 321
12.5.16 Initialization ........................................................................................................ 321
12.5.17 Cascade Processing .............................................................................................. 321
12.5.18 Holding and Tracking ......................................................................................... 322
12.5.19 Alarming (CP270 Only) ...................................................................................... 322
13. BOUTR Redundant Binary Output Block............................................................... 325
13.1 Overview ....................................................................................................................... 325
13.2 Basic Operation ............................................................................................................ 325
13.3 Features ......................................................................................................................... 327
13.4 Parameters ..................................................................................................................... 328
13.4.1 Parameter Definitions ........................................................................................... 329
13.5 Functions ...................................................................................................................... 342
13.5.1 Detailed Diagram .................................................................................................. 342
13.5.2 Associated ECBs .................................................................................................... 342
13.5.3 DCI Connections .................................................................................................. 343
13.5.4 Output Point and Initialization Input Point .......................................................... 343
13.5.5 Confirmed Output Parameters .............................................................................. 344
13.5.6 Status of the Readback Values ............................................................................... 345
13.5.7 Arbitration Algorithm ........................................................................................... 345
13.5.8 Auto/Manual Switching ........................................................................................ 346
13.5.9 Fail-Safe Functions ................................................................................................ 347
13.5.10 Time Stamp ........................................................................................................ 347
13.5.11 Conditions for Sending a Block Output .............................................................. 347
13.5.12 Sending the Output ............................................................................................ 348
13.5.13 Status of Other Block Outputs ............................................................................ 348
13.5.14 PRIBLK and PRITIM Functionality ................................................................... 348
13.5.15 Change Timer ..................................................................................................... 348
13.5.16 Status of INI_PT ................................................................................................. 349
13.5.17 Initialization ........................................................................................................ 349
13.5.18 Cascade Processing .............................................................................................. 349
13.5.19 Holding and Tracking ......................................................................................... 350
13.5.20 Simulation Option .............................................................................................. 350
13.5.21 Alarming (CP270 Only) ...................................................................................... 350
13.5.21.1 Bad Alarming Overview ............................................................................... 351
13.5.21.2 Inhibiting and Disabling Alarms .................................................................. 351
14. CALC Calculator Block............................................................................................ 353
14.1 Overview ....................................................................................................................... 353
14.2 Basic Operation ............................................................................................................ 354
B0193AX Rev AB Contents
xiv


14.3 Features ......................................................................................................................... 354
14.4 Parameters ..................................................................................................................... 355
14.4.1 Parameter Definitions ........................................................................................... 356
14.5 Functions ...................................................................................................................... 362
14.5.1 Arithmetic Instructions ......................................................................................... 364
14.5.2 Boolean Instructions .............................................................................................. 365
14.5.3 Input/Output Reference Instructions .................................................................... 366
14.5.4 Cascade and Propagation Instructions ................................................................... 367
14.5.5 Memory and Stack Reference Instructions ............................................................. 367
14.5.6 Program Control Instructions ............................................................................... 368
14.5.7 Clear/Set Instructions ............................................................................................ 369
14.5.8 Timing Functions ................................................................................................. 369
14.5.9 Logic Functions ..................................................................................................... 370
14.5.10 Error Control Instructions ................................................................................... 371
14.6 Instructions ................................................................................................................... 371
14.6.1 Instruction Processing ........................................................................................... 371
14.6.1.1 Auto Mode .................................................................................................... 371
14.6.1.2 Manual Mode ................................................................................................ 371
14.6.2 Instruction Syntax ................................................................................................. 372
14.6.2.1 Rules ............................................................................................................. 372
14.6.2.2 Constants ...................................................................................................... 373
14.6.3 Instruction Operation ........................................................................................... 373
14.6.3.1 Stack Operation ............................................................................................. 374
14.6.4 Instruction Definition Convention ........................................................................ 376
14.6.5 Instruction Definitions .......................................................................................... 377
14.7 Error Conditions ........................................................................................................... 425
14.8 Programming Concepts ................................................................................................. 426
14.8.1 Execution Sequence ............................................................................................... 427
14.8.2 Arithmetic Chaining ............................................................................................. 428
14.8.2.1 Stack Push Operation .................................................................................... 428
14.8.2.2 Stack Pop Operation ..................................................................................... 428
14.9 Application Example ..................................................................................................... 432
15. CALCA Advanced Calculator Block ......................................................................... 433
15.1 Overview ....................................................................................................................... 433
15.2 Basic Operation ............................................................................................................ 434
15.3 Features ......................................................................................................................... 435
15.4 Parameters ..................................................................................................................... 435
15.4.1 Parameter Definitions ........................................................................................... 436
15.5 Functions ...................................................................................................................... 441
15.5.1 Arithmetic Instructions ......................................................................................... 441
15.5.2 Boolean Instructions .............................................................................................. 443
15.5.3 Input/Output Reference Instructions .................................................................... 443
15.5.4 Cascade and Propagation Instructions ................................................................... 444
15.5.5 Memory and Stack Reference Instructions ............................................................. 445
15.5.6 Program Control Instructions ............................................................................... 445
15.5.7 Clear/Set Instructions ............................................................................................ 446
15.5.8 Timing Instructions .............................................................................................. 446
Contents B0193AX Rev AB
xv


15.5.9 Logic Instructions .................................................................................................. 446
15.5.10 Error Control Instructions ................................................................................... 447
15.6 Instructions ................................................................................................................... 447
15.6.1 Instruction Processing ........................................................................................... 447
15.6.1.1 Auto Mode .................................................................................................... 447
15.6.1.2 Manual Mode ................................................................................................ 447
15.6.2 Instruction Syntax ................................................................................................. 448
15.6.2.1 Rules ............................................................................................................. 448
15.6.2.2 Constants ...................................................................................................... 449
15.6.3 Instruction Operation ........................................................................................... 449
15.6.3.1 Stack Operation ............................................................................................. 450
15.6.4 Instruction Definition Convention ........................................................................ 452
15.6.5 Instruction Definitions .......................................................................................... 453
15.7 Error Conditions ........................................................................................................... 504
15.8 Programming Concepts ................................................................................................. 505
15.8.1 Execution Sequence ............................................................................................... 506
15.8.2 Arithmetic Chaining ............................................................................................. 507
15.8.2.1 Stack Push Operations ................................................................................... 507
15.8.2.2 Stack Pop Operations .................................................................................... 507
15.9 Application Example ..................................................................................................... 509
16. CHARC Characterizer Block.................................................................................... 511
16.1 Overview ....................................................................................................................... 511
16.1.1 I/O Diagram ......................................................................................................... 511
16.2 Features ......................................................................................................................... 511
16.3 Parameters ..................................................................................................................... 512
16.3.1 Parameter Definitions ........................................................................................... 513
16.4 Detailed Operation ....................................................................................................... 526
16.4.1 PRIBLK and PRITIM Functionality ..................................................................... 528
17. CIN Contact Input Block......................................................................................... 529
17.1 Overview ....................................................................................................................... 529
17.2 Basic Operation ............................................................................................................ 529
17.3 Features ......................................................................................................................... 530
17.4 Parameters ..................................................................................................................... 530
17.4.1 Parameter Definitions ........................................................................................... 531
17.4.2 Detailed Diagram .................................................................................................. 542
17.4.3 Input from FBM or FBC ....................................................................................... 543
17.4.4 Input from Another Block ..................................................................................... 545
17.5 Bad Input, Out-of-Service and Error Conditions .......................................................... 545
17.5.1 Bad Input Condition ............................................................................................. 545
17.5.2 Out-of-Service Condition ...................................................................................... 546
17.5.3 Error Condition .................................................................................................... 546
17.6 Manual Mode ............................................................................................................... 546
17.7 Messages and Alarming ................................................................................................. 546
17.7.1 State Change Messages .......................................................................................... 547
B0193AX Rev AB Contents
xvi


17.7.2 Alarming ............................................................................................................... 547
17.8 Application Diagram ..................................................................................................... 548
17.9 Appendix A Valid Input Connections ........................................................................ 548
17.9.1 Fieldbus Modules Valid Input Connections .......................................................... 548
17.9.2 Cluster I/O Valid Input Connections .................................................................... 550
18. CINR Redundant Contact Input Block.................................................................... 553
18.1 Overview ....................................................................................................................... 553
18.2 Basic Operation ............................................................................................................ 554
18.3 Features ......................................................................................................................... 554
18.4 Parameters ..................................................................................................................... 555
18.4.1 Parameter Definitions ........................................................................................... 556
18.5 Functions ...................................................................................................................... 568
18.5.1 Detailed Diagram .................................................................................................. 568
18.5.2 Input from FBM ................................................................................................... 569
18.5.3 Input from Another Block ..................................................................................... 569
18.6 Bad Input and Out-of-Service Conditions .................................................................... 569
18.6.1 Bad Input Condition ............................................................................................. 569
18.6.2 Out-of-Service Condition ...................................................................................... 570
18.7 Manual Mode ............................................................................................................... 570
18.8 Messages and Alarming ................................................................................................. 570
18.8.1 State Change Messages .......................................................................................... 570
18.8.2 Alarming ............................................................................................................... 571
18.8.2.1 State Alarming Overview ............................................................................... 572
18.8.2.2 Bad Alarming Overview ................................................................................. 572
18.9 Application Diagram ..................................................................................................... 573
19. CMP Compounds .................................................................................................... 575
19.1 Compound Overview .................................................................................................... 575
19.2 Compound I/O Diagram .............................................................................................. 576
19.3 Compound Features ...................................................................................................... 576
19.4 Compound Rules .......................................................................................................... 576
19.5 Compound Functions ................................................................................................... 576
19.5.1 Compound/Block Process Alarming ...................................................................... 576
19.5.2 Compound/Block Phasing .................................................................................... 577
19.5.3 Compound Attributes ........................................................................................... 577
19.5.4 Compound Access ................................................................................................. 577
19.5.5 Compound/Block Parameters ................................................................................ 577
19.5.5.1 Configurable Parameters ................................................................................ 578
19.5.5.2 Connectable Parameters ................................................................................ 578
19.5.5.3 Input Parameters ........................................................................................... 578
19.5.5.4 Output Parameters ........................................................................................ 579
19.5.5.5 Nonconnectable Parameters .......................................................................... 579
19.5.5.6 Compound Operation Information and Procedures ...................................... 579
19.6 Compound Parameters .................................................................................................. 580
Contents B0193AX Rev AB
xvii


20. COUT Contact Output Block.................................................................................. 585
20.1 Overview ....................................................................................................................... 585
20.2 Basic Operation ............................................................................................................ 586
20.3 Features ......................................................................................................................... 586
20.4 Parameters ..................................................................................................................... 587
20.4.1 Parameter Definitions ........................................................................................... 588
20.5 Functions ...................................................................................................................... 597
20.5.1 Detailed Diagram .................................................................................................. 597
20.5.2 Output Processing ................................................................................................. 598
20.5.3 Bumpless Operation Features ................................................................................ 600
20.6 Bad Input, Out-of-Service, and Error Conditions ......................................................... 601
20.6.1 Bad Input Conditions ........................................................................................... 601
20.6.2 Out-of-Service Condition ...................................................................................... 601
20.6.3 Error Condition and Last Good Value Functionality ............................................ 601
20.7 Failsafe State ................................................................................................................. 602
20.8 Manual Mode ............................................................................................................... 602
20.9 Alarming ....................................................................................................................... 603
20.10 Application Diagram ................................................................................................... 604
20.11 Appendix A Valid Output Connections ................................................................... 605
21. COUTR Redundant Contact Output Block............................................................. 609
21.1 Overview ....................................................................................................................... 609
21.2 Basic Operation ............................................................................................................ 610
21.3 Features ......................................................................................................................... 611
21.4 Parameters ..................................................................................................................... 612
21.4.1 Parameter Definitions ........................................................................................... 613
21.5 Functions ...................................................................................................................... 623
21.5.1 Detailed Diagram .................................................................................................. 623
21.5.2 Output Processing ................................................................................................. 624
21.5.2.1 Duplicate Output Channel Detection ........................................................... 624
21.5.2.2 Pulsed Output ............................................................................................... 625
21.5.3 Output Initialization ............................................................................................. 625
21.5.4 Cascade Initialization ............................................................................................ 625
21.5.5 Simulation Mode .................................................................................................. 626
21.6 Bad Input, Out-of-Service, and Error Conditions ......................................................... 626
21.6.1 Bad Input Conditions ........................................................................................... 626
21.6.2 Out-of-Service Condition ...................................................................................... 626
21.6.3 Error Condition and Last Good Value Functionality ............................................ 626
21.7 Failsafe State ................................................................................................................. 627
21.8 Block Modes ................................................................................................................. 627
21.8.1 Auto Mode ............................................................................................................ 627
21.8.2 Auto Hold Mode ................................................................................................... 628
21.8.3 Manual Mode ....................................................................................................... 628
21.9 Alarming ....................................................................................................................... 629
B0193AX Rev AB Contents
xviii


21.9.1 Bad Alarming Overview ........................................................................................ 629
21.9.2 Inhibiting and Disabling Alarms ........................................................................... 630
21.10 Application Diagram ................................................................................................... 631
22. DEP Dependent Sequence Block.............................................................................. 633
22.1 Overview ....................................................................................................................... 633
22.1.1 I/O Diagram ......................................................................................................... 633
22.2 Features ......................................................................................................................... 633
22.3 Parameters ..................................................................................................................... 635
22.3.1 Parameter Definitions ........................................................................................... 636
22.4 Detailed Operation ....................................................................................................... 648
23. DGAP Differential Gap Block.................................................................................. 653
23.1 Overview ....................................................................................................................... 653
23.2 Features ......................................................................................................................... 654
23.3 Parameters ..................................................................................................................... 655
23.3.1 Parameter Definitions ........................................................................................... 657
23.4 Detailed Operation ....................................................................................................... 674
23.4.1 Detailed Diagram .................................................................................................. 674
23.4.1.1 BiState Mode ................................................................................................. 676
23.4.1.2 Tristate Mode ................................................................................................ 676
23.4.2 Setpoint Control Mode ......................................................................................... 677
23.4.3 Setpoint Tracking .................................................................................................. 678
23.4.4 Auto Control Mode .............................................................................................. 678
23.4.5 Hold Mode ........................................................................................................... 678
23.4.6 Manual Mode ....................................................................................................... 679
23.4.7 Alarming ............................................................................................................... 679
23.4.7.1 Inhibit Alarming ............................................................................................ 679
23.4.7.2 Absolute Alarming ......................................................................................... 680
23.4.7.2.1 High-High Absolute Alarming............................................................... 680
23.4.7.2.2 Low-Low Absolute Alarming ................................................................. 680
23.4.7.2.3 High Absolute Alarming........................................................................ 680
23.4.7.2.4 Low Absolute Alarming ......................................................................... 680
23.4.7.3 Deviation Alarming ....................................................................................... 681
23.4.7.3.1 High Deviation Alarming ...................................................................... 681
23.4.7.3.2 Low Deviation Alarming ....................................................................... 682
23.4.8 GAP and GAPDB Parameter Validation ............................................................... 682
23.4.9 Normal Configuration .......................................................................................... 682
23.4.10 Application .......................................................................................................... 682
24. DPIDA Controller ...................................................................................................... 685
24.1 Overview ....................................................................................................................... 685
24.2 Basic Operation ............................................................................................................ 686
24.2.1 ECB52 Related Functions ..................................................................................... 686
24.3 Features ......................................................................................................................... 687
24.3.1 DPIDA Features .................................................................................................... 687
24.3.1.1 Control Modes .............................................................................................. 687
Contents B0193AX Rev AB
xix


24.3.1.2 Standard DPIDA Features ............................................................................. 687
24.3.1.3 Standard DPIDA Options ............................................................................. 688
24.3.1.4 Extended DPIDA Options ............................................................................ 689
24.3.1.5 ECB52 Features ............................................................................................. 690
24.4 Parameters ..................................................................................................................... 690
24.4.1 Parameter Definitions ........................................................................................... 694
24.5 ECB52 Parameters ........................................................................................................ 721
24.5.1 ECB52 Parameter Definitions ............................................................................... 722
24.6 Functions ...................................................................................................................... 730
24.6.1 Detailed Functional Diagram ................................................................................ 730
24.6.2 DPIDA Detailed Operation .................................................................................. 730
24.6.2.1 Control Modes .............................................................................................. 734
24.6.2.2 Manual State ................................................................................................. 737
24.6.2.3 Auto State ...................................................................................................... 738
24.6.2.4 Manual/Auto Overrides ................................................................................. 738
24.6.2.5 Holding State ................................................................................................ 739
24.6.2.6 PRIBLK and PRITIM Functionality ............................................................. 739
24.6.2.7 Output Tracking State .................................................................................. 739
24.6.2.8 Bumpless Start-up and Transfers ................................................................... 739
24.6.2.9 Cascade Handling ......................................................................................... 739
24.6.2.10 Output Limiting .......................................................................................... 741
24.6.2.11 FBM I/O Variable Scaling ........................................................................... 742
24.6.2.12 Measurement Filtering ................................................................................. 742
24.6.2.13 Setpoint Processing ...................................................................................... 744
24.6.2.13.1 Supervisory Setpoint......................................................................... 744
24.6.2.13.2 Local/Remote Overrides ................................................................... 745
24.6.2.13.3 Setpoint State ................................................................................... 745
24.6.2.13.4 Local/Remote Setpoint Selection ...................................................... 745
24.6.2.13.5 Setpoint Limiting ............................................................................. 746
24.6.2.13.6 Setpoint Gain Compensation............................................................ 747
24.6.2.13.7 Setpoint Ramping............................................................................. 747
24.6.2.13.8 Error Propagation............................................................................. 748
24.6.2.14 Nonlinear Gain ........................................................................................... 748
24.6.2.15 Feedforward ................................................................................................ 750
24.6.2.16 Error Detection ........................................................................................... 750
24.6.2.17 Alarms ......................................................................................................... 751
24.6.2.18 Validation Checks ....................................................................................... 753
24.6.2.19 Block Initialization ...................................................................................... 754
24.6.2.20 Exception Processing ................................................................................... 754
24.6.3 ECB52 Detailed Operation ................................................................................... 755
24.6.3.1 Controller Cycle Time and Measurement Sampling ...................................... 755
24.6.3.2 Measurement Processing ................................................................................ 756
24.6.3.3 FBM Analog Output Scaling ......................................................................... 759
24.6.3.4 Failsafe Action ............................................................................................... 759
24.6.3.5 FBM04/FBM204 I/O Channels .................................................................... 760
24.6.3.6 FBM17/FBM227 I/O Channels and Operators Panel .................................. 760
24.6.3.7 FBM22 I/O Channels and Auto/Manual Station .......................................... 763
24.7 Application Example ..................................................................................................... 763
24.7.1 DPIDA Block Parameter Configuration ................................................................ 766
24.7.2 ECB52 Block Parameter Configuration ................................................................. 766
B0193AX Rev AB Contents
xx


25. DSI Display Station Interface Block......................................................................... 769
25.1 Overview ....................................................................................................................... 769
25.1.1 I/O Diagram ......................................................................................................... 769
25.2 Parameters ..................................................................................................................... 769
25.2.1 Parameter Definitions ........................................................................................... 770
25.3 Detailed Operation ....................................................................................................... 776
26. DTIME Dead Time Compensator Block ................................................................. 779
26.1 Overview ....................................................................................................................... 779
26.1.1 I/O Diagram ......................................................................................................... 779
26.2 Features ......................................................................................................................... 779
26.3 Parameters ..................................................................................................................... 780
26.3.1 Parameter Definitions ........................................................................................... 781
26.4 Detailed Operation ....................................................................................................... 787
26.4.1 Algorithm Description .......................................................................................... 788
xxi


Figures
1-1. ACCUM Block Diagram .............................................................................................. 1
1-2. ACCUM Block Operational Diagram ......................................................................... 16
1-3. ACCUM Block Algorithm .......................................................................................... 16
1-4. ACCUM Pulse Rate per Block Period ......................................................................... 17
1-5. ACCUM Pulse Count per Block Period ...................................................................... 17
1-6. ACCUM Pulse Rate per Minute ................................................................................. 18
1-7. ACCUM Pulse Count per Minute .............................................................................. 18
1-8. ACCUM CARRY Function ........................................................................................ 21
1-9. ACCUM SET, CLEAR, and HOLD Functionality .................................................... 22
1-10. ACCUM Block Alarming ........................................................................................... 23
1-11. Typical ACCUM Block Application ........................................................................... 24
2-1. AIN Block Diagram .................................................................................................... 25
2-2. AIN Block Operational Diagram ................................................................................ 44
2-3. General Analog Input Example ................................................................................... 45
2-4. Thermocouple Input Example .................................................................................... 48
2-5. RTD Input Example ................................................................................................... 50
2-6. Pulse Rate Input Example ........................................................................................... 52
2-7. Intelligent Field Device Input Example ....................................................................... 53
2-8. Typical Configuration for Intelligent Transmitters with Window ECB ...................... 55
2-9. Clamping .................................................................................................................... 58
2-10. First-Order Lag Filtering ............................................................................................. 59
2-11. Butterworth Filtering .................................................................................................. 60
2-12. Last Good Value ......................................................................................................... 64
2-13. Typical AIN Block Application ................................................................................... 66
3-1. AINR Block Diagram ................................................................................................. 75
3-2. AINR Block Operational Diagram .............................................................................. 96
3-3. General Analog Input Example ................................................................................... 97
3-4. Thermocouple Input Example .................................................................................. 100
3-5. RTD Input Example ................................................................................................. 103
3-6. Pulse Rate Input Example ......................................................................................... 104
3-7. Intelligent Field Device Input Example ..................................................................... 106
3-8. Clamping .................................................................................................................. 109
3-9. First-Order Lag Filtering ........................................................................................... 111
3-10. Butterworth Filtering ................................................................................................ 111
3-11. Last Good Value ....................................................................................................... 115
3-12. Typical AINR Block Application .............................................................................. 117
4-1. ALMPRI Block I/O Diagram .................................................................................... 127
4-2. ALMPRI, Detailed Block Diagram ........................................................................... 132
4-3. Example ALMPRI Block Connections ...................................................................... 133
5-1. AOUT Block Diagram .............................................................................................. 135
5-2. AOUT Block Operational Diagram .......................................................................... 154
5-3. Reset Balance Action ................................................................................................. 159
5-4. Typical Configuration for Intelligent Transmitters with Window ECB .................... 164
5-5. Typical AOUT Block Application ............................................................................. 171
B0193AX Rev AB Figures
xxii


6-1. AOUTR Block Diagram ........................................................................................... 174
6-2. AOUTR Block Operational Diagram ....................................................................... 192
6-3. Reset Balance Action ................................................................................................. 197
6-4. Typical AOUTR Block Application .......................................................................... 208
7-1. BIAS Block I/O Diagram .......................................................................................... 209
7-2. Configuration for no Downstream Control Blocks ................................................... 235
7-3. Configuration for AOUT Downstream Block ........................................................... 235
7-4. Configuration for DGAP or PTC Secondary block ................................................... 236
7-5. Cascade Configuration .............................................................................................. 236
8-1. BIN Block Diagram .................................................................................................. 237
8-2. BIN Block Operational Diagram .............................................................................. 252
9-1. BINR Block Diagram ............................................................................................... 259
9-2. BINR Block Operational Diagram ............................................................................ 276
10-1. BLNALM Block I/O Diagram .................................................................................. 285
11-1. BOOL Block Functional Diagram ............................................................................ 295
12-1. BOUT Block Diagram .............................................................................................. 299
12-2. BOUT Block Operational Diagram .......................................................................... 315
13-1. BOUTR Block Diagram ........................................................................................... 326
13-2. BOUTR Block Operational Diagram ........................................................................ 342
14-1. CALC Block I/O Diagram ........................................................................................ 353
14-2. OSP, DON, DOFF Timing Diagram ....................................................................... 370
14-3. Manual Mode ........................................................................................................... 372
14-4. Examples of Stack Operation for Diadic Instructions ................................................ 374
14-5. Example of Stack Operation for Polyadic Instruction ................................................ 375
14-6. Timing Diagram for DOFF Example ........................................................................ 388
14-7. Timing Diagram for DON Example ......................................................................... 389
14-8. Timing Diagram for OSP Example ........................................................................... 411
14-9. Arithmetic Chaining Example, Operation Sequence ................................................. 429
14-10. Arithmetic Chaining, Stack Operation ...................................................................... 431
14-11. Application Example ................................................................................................. 432
15-1. CALCA Block I/O Diagram ..................................................................................... 433
15-2. Manual Mode ........................................................................................................... 448
15-3. Examples of Stack Operation for Diadic Instructions ................................................ 450
15-4. Example of Stack Operation for Polyadic Instruction ................................................ 451
15-5. Timing Diagram for DOFF Example ........................................................................ 466
15-6. Timing Diagram for DON Example ......................................................................... 467
15-7. Timing Diagram for OSP Example ........................................................................... 490
15-8. Program Branching Example ..................................................................................... 507
15-9. Arithmetic Chaining Example, Operation Sequence ................................................. 508
15-10. Arithmetic Chaining Example, Stack Operation ....................................................... 509
15-11. Application Example ................................................................................................. 509
16-1. CHARC Block I/O Diagram .................................................................................... 511
16-2. Functional Diagram, Characterizer Block .................................................................. 527
17-1. CIN Block Diagram .................................................................................................. 529
17-2. CIN Block Operational Diagram .............................................................................. 542
17-3. Typical CIN Block Application ................................................................................. 548
18-1. CINR Block Diagram ............................................................................................... 553
18-2. CINR Block Operational Diagram ........................................................................... 568
Figures B0193AX Rev AB
xxiii


18-3. Typical CINR Block Application .............................................................................. 573
19-1. Compound/Block Relationship ................................................................................. 575
19-2. Compound Inputs/Outputs ...................................................................................... 576
19-3. Compound Detail Display ........................................................................................ 580
20-1. COUT Block Diagram ............................................................................................. 585
20-2. COUT Block Operational Diagram .......................................................................... 597
21-1. COUTR Block Diagram ........................................................................................... 610
21-2. COUTR Block Operational Diagram ....................................................................... 623
22-1. DEP Block I/O Diagram .......................................................................................... 633
23-1. DGAP Block I/O Diagram ....................................................................................... 653
23-2. DGAP Tristate and Bistate Typical Operation .......................................................... 653
23-3. DGAP, Detailed Block Diagram ............................................................................... 675
23-4. DGAP Bistate Controller Mode ................................................................................ 676
23-5. DGAP Tristate Controller Mode .............................................................................. 677
23-6. Absolute Alarming .................................................................................................... 680
23-7. Deviation Alarming ................................................................................................... 681
23-8. Typical Cascade Configuration ................................................................................. 682
23-9. DGAP with Position Feedback ................................................................................. 683
24-1. DPIDA Controller Functional Diagram .................................................................... 685
24-2. PIDA Controller Detailed Functional Diagram ........................................................ 732
24-3. Cascade Configuration (Typical) ............................................................................... 740
24-4. Output Limiting ....................................................................................................... 741
24-5. Butterworth Measurement Filter Response ................................................................ 743
24-6. Supervisory Setpoint Control Cascade Configuration (Typical) ................................ 745
24-7. Setpoint Lead/Lag Compensation ............................................................................. 747
24-8. Nonlinear Gain Response .......................................................................................... 749
24-9. Measurement Sampling ............................................................................................. 756
24-10. FBM17/FBM227 (DPIDA) Local Operators Panel Configuration .......................... 761
24-11. Application Diagram ................................................................................................. 764
24-12. Surge Line and Control Line Curves ......................................................................... 765
25-1. DSI Block I/O Diagram ............................................................................................ 769
25-2. System with Display Station Capability ..................................................................... 776
25-3. DP10, CP30, CP40, or CP40B ................................................................................. 777
26-1. DTIME Block I/O Diagram ..................................................................................... 779
26-2. DTIME Signal Flow Diagram ................................................................................... 788
B0193AX Rev AB Figures
xxiv


xxv


Tables
1-1. ACCUM Block Parameters ........................................................................................... 3
1-2. Units of OUT and MEAS Are the Same ..................................................................... 20
1-3. Units of OUT and MEAS Are not the Same ............................................................... 20
2-1. AIN Block Parameters ................................................................................................. 27
2-2. Alarm Nomenclature ................................................................................................... 65
3-1. AINR Block Parameters .............................................................................................. 77
3-2. Alarm Nomenclature ................................................................................................. 116
4-1. ALMPRI Block Parameters ....................................................................................... 127
5-1. AOUT Block Parameters .......................................................................................... 137
5-2. AOUT Block Destinations ........................................................................................ 157
5-3. AOUT Block Alarm Nomenclature .......................................................................... 170
6-1. AOUTR Block Parameters ........................................................................................ 176
6-2. AOUTR Block Destinations ..................................................................................... 195
6-3. AOUT Block Alarm Nomenclature .......................................................................... 207
7-1. BIAS Block Parameters ............................................................................................. 211
8-1. BIN Block Parameters ............................................................................................... 238
8-2. ALMOPT Parameter Format .................................................................................... 240
8-3. ALMSTA Parameter Format ..................................................................................... 241
8-4. INHSTA Parameter Format ...................................................................................... 245
8-5. BIN Block Alarm Parameters .................................................................................... 256
9-1. BINR Block Parameters ............................................................................................ 260
9-2. ALMOPT Parameter Format .................................................................................... 262
9-3. ALMSTA Parameter Format ..................................................................................... 263
9-4. INHSTA Parameter Format ...................................................................................... 269
9-5. AI Block Alarm Parameters ....................................................................................... 281
10-1. BLNALM Block Parameters ...................................................................................... 286
10-2. INHALM Values ...................................................................................................... 293
11-1. BOOL Block Parameters ........................................................................................... 296
12-1. BOUT Block Parameters .......................................................................................... 302
12-2. ALMOPT Parameter Format .................................................................................... 303
12-3. ALMSTA Parameter Format ..................................................................................... 304
12-4. INHSTA Parameter Format ...................................................................................... 309
13-1. BOUTR Block Parameters ........................................................................................ 328
13-2. ALMOPT Parameter Format .................................................................................... 330
13-3. ALMSTA Parameter Format ..................................................................................... 330
13-4. INHSTA Parameter Format ...................................................................................... 336
13-5. Alarm Nomenclature ................................................................................................. 350
14-1. Block Comparison .................................................................................................... 353
14-2. CALC Block Parameters ........................................................................................... 355
14-3. Arithmetic Instructions ............................................................................................. 364
14-4. Boolean Instructions ................................................................................................. 365
14-5. Input/Output Reference Instructions ........................................................................ 366
14-6. Cascade and Propagation Instructions ....................................................................... 367
14-7. Memory and Stack Reference Instructions ................................................................ 368
B0193AX Rev AB Tables
xxvi


14-8. Program Control Instructions ................................................................................... 368
14-9. Clear/Set Instructions ................................................................................................ 369
14-10. Timing Instructions .................................................................................................. 370
14-11. Logic Instructions ..................................................................................................... 370
14-12. Error Control Instructions ........................................................................................ 371
14-13. Truth Table for FF Instruction ................................................................................. 391
14-14. Truth Table for MRS Instruction ............................................................................. 400
14-15. PERROR Syntax Error Codes ................................................................................... 426
14-16. PERROR Run-time Error Codes .............................................................................. 426
15-1. Block Comparison .................................................................................................... 434
15-2. CALCA Block Parameters ......................................................................................... 435
15-3. Arithmetic Instructions ............................................................................................. 442
15-4. Boolean Instructions ................................................................................................. 443
15-5. Input/Output Reference Instructions ........................................................................ 444
15-6. Cascade and Propagation Instructions ....................................................................... 444
15-7. Memory and Stack Reference Instructions ................................................................ 445
15-8. Program Control Instructions ................................................................................... 445
15-9. Clear/Set Instructions ................................................................................................ 446
15-10. Timing Instructions .................................................................................................. 446
15-11. Logic Instructions ..................................................................................................... 447
15-12. Error Control Instructions ........................................................................................ 447
15-13. Truth Table for FF Instruction ................................................................................. 469
15-14. Truth Table for MRS Instruction ............................................................................. 478
15-15. PERROR Syntax Error Codes ................................................................................... 505
15-16. PERROR Run-time Error Codes .............................................................................. 505
16-1. CHARC Block Parameters ........................................................................................ 512
17-1. CIN Block Parameters .............................................................................................. 530
17-2. Relationship Between IOMOPT, IVO, MA, CIN, and IN ....................................... 544
17-3. Alarm Nomenclature ................................................................................................. 547
18-1. CINR Block Parameters ............................................................................................ 555
18-2. Alarm Nomenclature ................................................................................................. 571
19-1. Compound Parameters .............................................................................................. 580
20-1. COUT Block Parameters .......................................................................................... 587
20-2. Input/Output Points, FBC10 and FBC10 Redundant .............................................. 599
20-3. Alarm Nomenclature ................................................................................................. 603
21-1. COUTR Block Parameters ........................................................................................ 612
21-2. Alarm Nomenclature ................................................................................................. 629
22-1. DEP Block Parameters .............................................................................................. 635
23-1. DGAP Block Parameters .......................................................................................... 655
24-1. DPIDA Block Parameters ......................................................................................... 690
24-2. ECB52 Parameters .................................................................................................... 721
24-3. FBM Variables .......................................................................................................... 733
24-4. Control Mode Filtering and Tuning Features ........................................................... 737
24-5. FBM I/O Variable Scaling ........................................................................................ 742
24-6. Ramping Action for SPROPT Options ..................................................................... 748
24-7. Status Bit Definitions for Parameter Value Record .................................................... 751
24-8. Parameter Settings for Block Initialization ................................................................. 754
24-9. Status of Critical Parameters ..................................................................................... 755
Tables B0193AX Rev AB
xxvii


24-10. FBM Analog Input Signal Scaling ............................................................................. 757
24-11. Input Scaling Entry Examples ................................................................................... 758
24-12. FBM Analog Output Signal Scaling .......................................................................... 759
24-13. FBM04/FBM204 Channel Assignments ................................................................... 760
24-14. FBM17/FBM227 Channel Assignments ................................................................... 762
24-15. FBM22 Channel Assignments ................................................................................... 763
25-1. DSI Block Parameters ............................................................................................... 769
26-1. DTIME Block Parameters ......................................................................................... 780
B0193AX Rev AB Tables
xxviii


xxix


Preface
This document, Integrated Control Block Descriptions, provides operational and reference informa-
tion for using I/A Series

control blocks, equipment control blocks (ECBs) and window equip-


ment control blocks (window ECBs).
You use this document to gain detailed knowledge of the operation of each I/A Series Control
block. Using this knowledge, you can determine the correct block to apply to your control
strategy. You configure your control strategy using the InFusion Engineering Environment
(IEE), the Integrated Control Configurator (ICC), or the I/A Series Configuration Component
(IACC). While configuring your control strategy, you select the appropriate block, and connect
and/or configure the blocks individual parameters.
Before using this document you should be familiar with the concepts of the IA Series control sys-
tem. For I/A Series Release V8.0 (L03-2) and later releases, refer to Control Processor 270 (CP270)
Integrated Control Software Concepts (B0700AG). For I/A Series releases prior to Release V8.0
(L03-2), refer to Integrated Control Software Concepts (B0193AW).
NOTE
Distributed Control Interface (DCI) blocks for FOUNDATION fieldbus devices
(such as AI, AO, DI, DO, MAI, MAO, MDI and MDO) are provided in Integrated
Control Block Descriptions for FOUNDATION fieldbus Specific Control Blocks
(B0700EC).
Audience
This book is intended for experienced process engineers and application programmers.
Contents
The document is divided into sections. Each section describes one I/A Series block with the
exception of Equipment Control Blocks (ECBs) and Window Equipment Control Blocks, which
describe multiple blocks of the same basic design.
Each control block section, if required, contains the following:
+ A brief functional summary.
+ A list of features and options.
+ A list and a description of each of the parameters used by the block.
+ Diagrams illustrating inputs, outputs, options and operation.
+ A detailed description of block operation.
B0193AX Rev AB Preface
xxx


Revision Information
For this release of the document (B0193AX-AB), the following changes were made to this vol-
ume:
Global
+ Updated references to CP60 to read CP60 and later control processors in
instances where all control processors released after the CP60 (such as the FCP270
and ZCP270) support the same functionality.
Chapter 1 ACCUM Accumulator Block
+ Updated the equation for PCNTOP = 2 in Pulse Count Option on page 17.
Chapter 2 AIN Analog Input Block
+ Updated the description of the DELTO1 parameter.
+ Added note about how BLKSTA.BAD, PNT.BAD, and BAD track each other to
Bad Status and BAD Parameter on page 60.
Chapter 3 AINR Redundant Analog Input Block
+ Added note about how BLKSTA.BAD, PNT.BAD, and BAD track each other to
Bad Status and BAD Parameter on page 112.
Chapter 5 AOUT Analog Output Block
Chapter 6 AOUTR Redundant Analog Output Block
Chapter 7 BIAS Bias Block
Chapter 12 BOUT Binary Output Block
Chapter 13 BOUTR Redundant Binary Output Block
Chapter 16 CHARC Characterizer Block
Chapter 24 DPIDA Controller
+ Removed the incorrect information for setting the PRIBLK parameter in the AOUT
block to 1 and the warning W48 - INVALID BLOCK OPTION from the
PRIBLK and PRITIM Functionality section in each chapter.
Chapter 5 AOUT Analog Output Block
Chapter 6 AOUTR Redundant Analog Output Block
Chapter 7 BIAS Bias Block
Chapter 16 CHARC Characterizer Block
Chapter 24 DPIDA Controller
+ Removed PRITIM = zero condition from ERCODE parameter fields.
Chapter 7 BIAS Bias Block
+ Added BLKSTA.B19/ Bit 13 (PORSCHE) to BLKSTA parameter - indicates the
presence of I/A Series v8.5 controller enhancements in the block (a set of parameters
which are not available/supported on earlier versions of I/A Series software.)
+ Added the UNCLMP parameter to this block.
Chapter 8 BIN Binary Input Block
Chapter 9 BINR Redundant Binary Input Block
Preface B0193AX Rev AB
xxxi


Chapter 12 BOUT Binary Output Block
+ Added information on how to configure this block for the FBM247.
Reference Documents
Refer to the following documents for additional information:
+ Integrated Control Software Concepts (B0193AW) for I/A Series releases prior to V8.0
+ Control Processor 270 (CP270) Integrated Control Software Concepts (B0700AG) for
I/A Series Release V8.0 and later releases
+ Supervisory Set Point Control (B0193RY)
+ Fieldbus Cluster I/O Users Guide (B0193RB)
+ Enhanced PLC Block Descriptions (B0193YQ)
+ Integrated Control Configurator (B0193AV)
+ I/A Series Configuration Component (IACC) Users Guide (B0400BP)
+ Integrated Control Block Descriptions for FOUNDATION fieldbus Specific Control Blocks
(B0700EC)
+ FOUNDATION fieldbus H1 Interface Module (FBM220/221) User Guide (B0400FD)
+ Field Device System Integrators (FBM230/231/232/233) Users Guide (B0700AH)
+ I/A Series

System PROFIBUS-DP
TM
Communication Interface Module (FBM223)
Users Guide (B0400FE)
+ I/A Series

System HART Communication Interface Modules Users Guide


(B0400FF)
+ I/A Series

System Modbus

Communication Interface Module (FBM224) Users


Guide (B0400FK)
+ Intrinsically Safe I/O Subsystem Users Guide (B0700DP)
+ Foxboro Control Software Deployment Guide (B0750BA)
Most are available on the I/A Series Electronic Documentation CD-ROM (K0173TQ or
K0173WT). The latest revisions may also be available through the IOM Global Customer Sup-
port Center at http://support.ips.invensys.com.
B0193AX Rev AB Preface
xxxii


1


1. ACCUM Accumulator Block
This chapter describes the Accumulator block, or ACCUM, its features, parameters and
functions.
1.1 Overview
The Accumulator block, ACCUM, provides a convenient method for accumulating values from
an analog flow signal source, without using a pulse input primary device. The block accepts a real
input, as a rate or pulse count, and then scales it to create the correct rate units. ACCUM then
integrates the input over the block period time, accumulates the value with the results of the pre-
vious block period time(s) and stores it as a real value to the output. Scaling is accomplished using
a meter factor to achieve engineering unit and time scale compatibility between the measurement
inputs and the desired output units.
Figure 1-1. ACCUM Block Diagram
1.2 Basic Operation
The ACCUM block integrates the measurement input over the blocks period time, adds it to a
running total for the block, and then saves it to the output. An optional meter factor can be used
to make the output units compatible with desired output units. In all cases the meter factor
expresses a flow volume per pulse.
The pulse count option allows you to configure the type of totalization performed and determines
whether totalization is block period time dependent or independent. The pulse count option
selects four types of block operation:
+ The measurement input can be a pulse rate variable in terms of block period time
(pulses per period.)
+ The measurement input can be a pulse count variable in terms of block period time.
Integrator
High Scale
Detector
Alarming
Convert
to Rate
Pulse
Count
Pulse
Rate
Meas
Input
Rate
Rate
Accumulated
Value
Alarm
Indication
Carry
Block
Period

Time
Meter
Factor
B0193AX Rev AB 1. ACCUM Accumulator Block
2


+ The measurement input can be a pulse rate variable in terms independent of the block
period time, namely pulses per minute. Use of this option permits the meter factor to
be automatically adjusted to changes in the block period time.
+ The measurement input can be a pulse count variable in terms independent of the
block period time. Use of this option permits the meter factor to be automatically
adjusted to changes in the block period time.
In each of these cases, the pulse count option dictates the type of measurement the block accepts
as an input. The pulse count option determines the type of value being integrated using the algo-
rithm shown in ACCUM Block Algorithm on page 16. Once the integration is complete, the
algorithm scales the output using an operator-set meter factor.
SET, HOLD, and CLEAR inputs control the output state of the block. The CLEAR input sets
the accumulator output to zero, HOLD stops the accumulator output at its current value, and
SET forces the output to be set to the PRESET input value. When these inputs are in contention,
CLEAR has the highest priority, followed by SET and then HOLD.
The ACCUM block also allows for the inhibiting of alarm detection, alarm messages, or both,
and set both High and High-High alarm indicator (see Alarming the Accumulator on page 23).
The High alarm indicator offers a pre-target alarm state indication before the High-High value is
reached.
1.3 Features
The features are:
+ Manual/Auto control of the output, which can be initiated by a host process or
another block
+ Accumulator control: set, clear, and hold
+ Carry output to indicate accumulator rollover.
The options are:
+ Pulse count option (PCNTOP), which allows you to select the type of count totaliza-
tion (rate or count) used.
+ Target (High-High) alarming (HHAOPT), which allows you to configure a High-
High alarm limit.
+ Pre-Target (High) alarming (HAOPT), which allows you to configure a High alarm
limit.
+ Error propagation (PROPT), which allows you to propagate this blocks measurement
error state to other blocks.
+ Control Error Option (CEOPT), which allows you to enable or disable the blocks
implicit Hold action when it detects an error in the MEAS input.
+ Initial Clear (INITCL), when set to true, allows you to specify whether or not the
accumulated totals are cleared when the block initializes.
+ Inhibit Option (INHOPT), which allows you to specify the actions taken when
alarms are inhibited in the block.
+ Initialize Manual/Auto (INITMA), which specifies the desired state of MA input dur-
ing initialization.
1. ACCUM Accumulator Block B0193AX Rev AB
3


1.4 Parameters
Table 1-1. ACCUM Block Parameters
Name Description Type Accessibility Default Units/Range
Configurable Parameters
INPUTS
NAME block name string no-con/no-set blank 0 to 12 chars
TYPE block type integer no-con/no-set 20 ACCUM
DESCRP descriptor string no-con/no-set blank 1 to 32 chars
PERIOD block sample time short no-con/no-set 1 0 to 13
PHASE block phase number integer no-con/no-set 0 ---
LOOPID loopid string no-con/set blank 1 to 32 chars
MEAS process input real con/set 0.0 RI1
HSCI1 high scale input 1 real no-con/no-set 100.0 specifiable
LSCI1 low scale input 1 real no-con/no-set 0.0 specifiable
DELTI1 change delta input 1 real no-con/no-set 1.0 percent
EI1 eng units input 1 string no-con/no-set % specifiable
MTRFAC meter factor real con/set 1.0 [1..]scalar
PROPT propagate error boolean no-con/no-set 0 0 to 1
SET accumulator set boolean con/set 0 0 to 1
PRESET accumulator preset real con/set 0.0 RO1
CLEAR accumulator clear boolean con/set 0 0 to 1
HOLD hold mode boolean con/set 0 0 to 1
HSCO1 high scale output 1 real no-con/no-set 100.0 specifiable
LSCO1 low scale output 1 real no-con/no-set 0.0 specifiable
DELTO1 change delta output1 real no-con/no-set 1.0 percent
EO1 eng unit output 1 string no-con/no-set % specifiable
INITCL initial clear boolean no-con/no-set 1 0 to 1
MA manual/auto boolean con/set 0 0 to 1
INITMA initialize MA short no-con/no-set 1 [0|1|2]
CEOPT control error option short no-con/no-set 1 0 to 2
PCNTOP pulse count option short no-con/no-set 0 0 to 3
INHOPT inhibit option short no-con/no-set 0 0 to 3
INHIB alarm inhibit boolean con/set 0 0 to 1
INHALM inhibit alarm pack_b con/set 0 0 to 0xFFFF
OUTNM output alarm name string no-con/no-set blank 1 to 12 chars
HAOPT high alarm option boolean no-con/no-set 0 0 to 1
HABLIM high absolute limit real con/set 100.0 RO1
HABTXT high alarm text string no-con/no-set blank 1 to 32 chars
ABSPRI absolute alarm priority integer con/set 5 [1 to 5]
ABSGRP absolute alarm group short no-con/set 1 [1 to 8]
HHAOPT high-high option short no-con/no-set 0 0 to 2
HHALIM high-high limit real con/set 100.0 RO1
HHATXT high-high alarm text string no-con/no-set blank 1 to 32 chars
HHAPRI high-high priority integer con/set 5 [1 to 5]
HHAGRP high-high group short no-con/set 1 [1 to 8]
B0193AX Rev AB 1. ACCUM Accumulator Block
4


1.4.1 Parameter Definitions
ABSGRP Absolute Group is a short integer input that directs absolute alarm mes-
sages to one of eight groups of alarm devices. You can change the group
number through the workstation.
ABSPRI Absolute Priority is an integer input, from 1 to 5, that sets the priority
level of the absolute alarm. 1 is the highest priority.
ACHNGE Alternate Change is an integer output which is incremented each time a
block parameter is changed via a Set command.
ALMOPT Alarm Options contains packed long values representing the alarm types
that have been configured as options in the block, and the alarm groups
that are in use.
AMRTIN alarm regeneration timer integer no-con/no-set 0 0 to 32767 s
Non-Configurable Parameters
OUTPUTS
ALMSTA alarm status pack_l con/no-set 0 bit map
BLKSTA block status pack_l con/no-set 0 bit map
CARRY accumulator carry boolean con/no-set 0 0 to 1
CRIT criticality integer con/no-set 0 [0 to 5]
HAIND high absolute indicator boolean con/no-set 0 0 to 1
HHAIND high-high absolute indicator boolean con/no-set 0 0 to 1
INHSTA inhibit status pack_l con/no-set 0 0 to 0xFFFFFFFF
MRATE meas rate real con/no-set 0.0 RO1
OUT output real con/no-set 0.0 RO1
PRTYPE priority type integer con/no-set 0 [0 to 10]
UNACK alarm notification boolean con/noset 0 0 to 1
DATA STORES
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
ALMOPT alarm options pack_l no-con/no-set 0 0 to 0xFFFFFFFF
DEFINE no config errors boolean no-con/no-set 1 0 to 1
ERCODE config error string no-con/no-set 0 1 to 43 chars
LOCKID lock identifier string no-con/no-set blank 8 to 13 chars
LOCKRQ lock request boolean no-con/set 0 0 to 1
OWNER owner name string no-con/set blank 1 to 32 chars
PERTIM period time real no-con/no-set 0.1 seconds
PRSCON present control short no-con/no-set 0 1 to 3
RI1 eng range input real[3] no-con/no-set 100,0,1 specifiable
RO1 eng range output real[3] no-con/no-set 100,0,1 specifiable
Table 1-1. ACCUM Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
1. ACCUM Accumulator Block B0193AX Rev AB
5


For the ACCUM block, only the following unshaded bits are used
ALMSTA Alarm Status is a 32-bit output, bit-mapped to indicate the blocks alarm
states. For the ACCUM block, only the following bits are used:
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
Bit
Number*
(0 to 31) Configured Alarm Option When True
0 (Least
Significant)
Alarm Group 8 in Use
1 Alarm Group 7 in Use
7 Alarm Group 1 in Use
19 Pre-Target (High Absolute) Alarm Configured
25 Target (High-High Absolute) Alarm Configured
* Bit 0 is the least significant, low order bit.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
U
N
A
K
I
N
H
T
A
R
G
P
T
A
R
G
CRIT PRTYPE
Bit Number
(0 to 31)* Name Description When True
Boolean
Connection
(B32 to B1)
0 to 4 (Least
Significant)
PTYP_MSK Priority Type: See parame-
ter PRTYPE for values
used in the ACCUM
block
ALMSTA.B32-
ALMSTA.B28
5 to 7 CRIT_MSK Criticality; 5 = lowest pri-
ority, 1= highest
ALMSTA.B27-
ALMSTA.B25
19 PTARG Pre-Target (High) Alarm ALMSTA.B13
25 TARG Target (High-High) Alarm ALMSTA.B7
29 INH Alarm inhibit ALMSTA.B3
30 UNAK Unacknowledged ALMSTA.B2
* Bit 0 is the least significant, low order bit.
B0193AX Rev AB 1. ACCUM Accumulator Block
6


AMRTIN Alarm Regeneration Timer is a configurable integer that specifies the time
interval for an alarm condition to exist continuously, after which a new
unacknowledged alarm condition and its associated alarm message is gen-
erated.
BLKSTA Block Status is a 32-bit output, bit-mapped to indicate various block oper-
ational states. For the ACCUM block, only the following bits are used:
CARRY Carry is a boolean output that is set true for one scan period to indicate
when the accumulator has rolled over (that is, has exceeded HSCO1).
When the accumulator rolls over, the difference between the blocks run-
ning total and HSCO1 is saved and used as the initial accumulator total
for the next accumulation cycle.
The CARRY parameter can be cascaded to the MEAS parameter of
another ACCUM block to accumulate the number of times that the first
ACCUM block has wrapped around. For example, this allows the first
block with a range 0 to 999,999 to indicate units and the second block
to indicate millions.
CEOPT Control Error Option is a short integer that specifies how the block
responds to the MEAS input when it is in error. To provide backward
compatibility, CEOPT defaults to 1. CEOPT has a range of 0 to 2 where:
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
W
L
C
K
O
N
U
D
E
F
M
A
H
L
D
A
C
C
Bit Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
5 ACC Accumulating BLKSTA.B27
7 HLD Holding BLKSTA.B25
11 MA Manual = 0, Auto = 1 BLKSTA.B21
14 UDEF Block Undefined BLKSTA.B18
15 ON Block ON BLKSTA.B17
20 WLCK Access Locked BLKSTA.B12
* Bit 0 is the least significant, low order bit.
0 = The block takes no implicit Hold action when it detects a control
error.
1. ACCUM Accumulator Block B0193AX Rev AB
7


CEOPT is independent of the propagate error option, PROPT, and does
not affect the external logical input, HOLD. The HOLD input, when
true, still drives the block into the Hold state whenever the block is in
Auto.
CLEAR Clear is a boolean input that sets the accumulator output to zero when
CLEAR makes a zero-to-one transition. The ACCUM block automati-
cally clamps this input at zero if no connection exists.
CRIT Criticality is an integer output that indicates the priority, ranging from
1 to 5, of the blocks highest currently active alarm (1 is the highest prior-
ity). An output of zero indicates the absence of alarms.
DEFINE Define is a data store which indicates the presence or absence of configura-
tion errors. The default is 1 (no configuration errors). When the block ini-
tializes, DEFINE is set to 0 if any configured parameters fail validation
testing. In that case, no further processing of the block occurs. To return
DEFINE to a true value, correct all configuration errors and re-install the
block.
DELTI1 Change Delta for Input Range 1 is a real value that defines the minimum
percent of the input range that triggers change driven connections for
parameters in the range of RI1. The default value is 1.
Entering a 1 causes the Object Manager to recognize and respond to a
change of 1 percent of the full error range. If communication is within the
same CP that contains the blocks compound, change deltas have no
effect.
Refer to Peer-to-Peer Connections of Real-Type Block Inputs on
page 23 for details on how the I/A Series software affects the change delta
percentage during operation.
DELTO1 Change Delta for Output Range 1 is a real value that defines the mini-
mum percent of the output range that triggers change driven connections
for parameters in the range of RO1. The default value is 1 percent.
Entering a 1 causes the Object Manager to recognize and respond to a
change of 1 percent of the full error range. If communication is within the
same CP that contains the blocks compound, change deltas have no
effect.
1 = The block goes to the Hold state if MEAS: (a) has its BAD sta-
tus bit set true; (b) has its Out-of-Service status bit set true; (c)
is experiencing peer-to-peer path failure.
2 = The block goes to the Hold state if MEAS meets any of the
conditions described for CEOPT=1, or if MEAS has its
ERROR status bit set true.
B0193AX Rev AB 1. ACCUM Accumulator Block
8


DESCRP Description is a user-defined string of up to 32 characters that describes
the blocks function (for example., PLT 3 FURNACE 2 HEATER CON-
TROL).
EI1 Engineering Units for Input Range 1, as defined by the parameters HSCI1
and LSCI1. EI1 provides the engineering units text for the values defined
by Input Range 1. DEG or PH are typical entries.
EO1 Engineering Units for Output Range 1 provides the engineering units text
for the values defined for the Output 1 range. The value configured for
this text string should be consistent with the values used for HSCO1 and
LSCO1.
ERCODE Error Code is a string data store which indicates the type of configuration
error or warning encountered. The error situations cause the blocks
DEFINE parameter to be set false, but not the warning situations. Valida-
tion of configuration errors does not proceed past the first error encoun-
tered by the block logic. The block detailed display shows the ERCODE
on the primary page, if it is not null. For the ACCUM block, the follow-
ing list specifies the possible values of ERCODE, and the significance of
each value in this block:
HABLIM High Absolute Alarm Limit is a real input that defines the value of the
output that initiates a high absolute alarm.
HABTXT High Absolute Alarm Message Text is a user-defined text string of up to
32 characters, output with the alarm message to identify the alarm.
HAIND High Alarm Indicator is a boolean output set true when the measurement
exceeds the high absolute alarm limit (HABLIM). The block sets HAIND
to false when the measurement passes back through the deadband and
returns to normal operation.
HAOPT High Alarm Option is a boolean input that enables or disables high abso-
lute alarming for pre-target alarm in an ACCUM block.
0 = No alarming
1 = High alarming
HHAGRP High-High Absolute Alarm Group is a short integer input that directs
High-High Absolute alarm messages to one of eight groups of alarm
devices.
ERCODE Value
W43 Invalid Period/Phase Combination
W44 HSCO1 less than LSCO1, HSCI1 less than LSCI1
W46 Invalid input connection
W48 Configured value of a block option is illegal
W53 A parameter value is not in the acceptable range
1. ACCUM Accumulator Block B0193AX Rev AB
9


HHAIND High-High Alarm Indicator is a boolean output set true when the block-
dependent parameter value (generally the measurement input) exceeds the
high-high absolute alarm limit (HHALIM). HHAIND is set to false when
the value is less than HHALIM. Once it is set true, it does not return to
false until the value falls below the limit less a deadband.
HHALIM High-High Absolute Alarm Limit is a real input that defines the value of
the output that triggers a High-High alarm.
HHAOPT High-High Alarm Option is a short integer input that enables High-High
absolute alarming for alarming of a block-dependent value, generally the
measurement input, or disables absolute alarming altogether. Each alarm
triggers an indicator and text message.
0 = No alarming
1 = High-High alarming
2 = High-High alarming only
HHAPRI High-High Absolute Priority is a integer input, from 1 to 5, that sets the
priority level of the high-high absolute alarm (1 is the highest priority).
HHATXT High-High Absolute Alarm Text is a user-defined text string of up to
32 characters, sent with the high-high absolute alarm message to identify
it.
HOLD Hold is a boolean input. When true, HOLD forces the block into the
Hold substate of Auto, holding the output at its last computed value.
HSCI1 High Scale for Input Range 1 is a real value that defines the upper limit of
the measurement range. EI defines the measurement unit text associated
with the value. Make the range and units consistent with the measurement
source. A typical value is 100 (percent).
HSCO1 High Scale for Output Range 1 is a real value that defines the upper range
value for the blocks output. EO defines the measurement unit text associ-
ated with the value.
INHALM Inhibit Alarm contains packed boolean values that represent alarm inhibit
requests for each alarm type or point configured in the block.
The ACCUM block uses the following bits:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B0193AX Rev AB 1. ACCUM Accumulator Block
10


* Bit 0 is the least significant, low order bit.
There are no mnemonic names for the individual bits of INHALM.
INHIB Inhibit is a boolean input. When true, it inhibits all block alarms; the
alarm handling and detection functions are determined by the INHOPT
setting. Alarms can also be inhibited based on INHALM and the com-
pound parameter CINHIB.
INHOPT Inhibit Option specifies the following actions applying to all block alarms:
INHSTA Inhibit Status contains packed boolean values that represent the actual
inhibit status of each alarm type configured in the block. For the ACCUM
block, only the following bits are used:
Bit Number*
(0 to 15) Inhibit When True
Boolean Connection
(B16 to B1)
3 Inhibit Pre-Target (High
Absolute) Alarm
INHALM.B13
9 Inhibit Target (High-High
Absolute) Alarm
INHALM.B7
0 = When an alarm is inhibited, disable alarm messages but do not
disable alarm detection.
1 = When an alarm is inhibited, disable both alarm messages and
alarm detection. If an alarm condition already exists at the time
the alarm transitions into the inhibited state, clear the alarm
indicator.
2 = Same as 0 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages. Into
alarm messages may be acknowledged by explicitly setting
UNACK false.
3 = Same as 1 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages. Into
alarm messages may be acknowledged by explicitly setting
UNACK false.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
H
H
A
P
T
A
R
G

1. ACCUM Accumulator Block B0193AX Rev AB
11


* Bit 0 is the least significant, low order bit.
INITCL Initialize Clear is a boolean input. When true (1), the accumulation in an
ACCUM block is cleared (that is, set to 0) when the block initializes for
any reason. When false (0), the accumulation is not initialized and will
contain one of the following:
+ the accumulation saved in the checkpoint file when the block ini-
tializes following a reboot of the CP station, or
+ the accumulation saved in the block re-initializes after a configura-
tion modification or by turning on the compound containing the
block.
INITMA Initialize Manual/Auto specifies the desired state of the MA input during
initialization, where:
0 = Manual
1 = Auto
2 = The MA state as specified in the checkpoint file
The block asserts this initial M/A state whenever:
+ It is installed into the Control Processor database.
+ The Control Processor undergoes a reboot operation.
+ The compound in which it resides is turned on.
+ The INITMA parameter itself is modified via the control configu-
rator. (The block does not assert INITMA on ordinary
reconfiguration.)
The Initialize M/A state is ignored if the MA input has an established
linkage.
LOCKID Lock Identifier is a string identifying the workstation which has locked
access to the block via a successful setting of LOCKRQ. LOCKID has the
format LETTERBUG:DEVNAME, where LETTERBUG is the 6-charac-
ter letterbug of the workstation and DEVNAME is the 1 to 6 character
logical device name of the Display Manager task.
LOCKRQ Lock Request is a boolean input which can be set true or false only by a
SETVAL command from the LOCK U/L toggle key on workstation dis-
plays. When LOCKRQ is set true in this fashion a workstation identifier
Bit
Number*
(0 to 31) Name Description When True
boolean
Connection
(B32 to B1)
19 PTARG Pre-Target (High Absolute)
Alarm Inhibited
INHSTA.B13
25 TARG Target (High-High Abso-
lute) Alarm Inhibited
INHSTA.B7
B0193AX Rev AB 1. ACCUM Accumulator Block
12


accompanying the SETVAL command is entered into the LOCKID
parameter of the block. Thereafter, set requests to any of the blocks
parameters are only honored (subject to the usual access rules) from the
workstation whose identifier matches the contents of LOCKID.
LOCKRQ can be set false by any workstation at any time, where upon a
new LOCKRQ is accepted, and a new ownership workstation identifier
written to LOCKID.
LOOPID Loop Identifier is a string of up to 32 characters which identifies the loop
or process with which the block is associated. It is displayed on the detail
display of the block, immediately below the faceplate.
LSCI1 Low Scale for Input Range 1 is a real value that defines the lower limit of
the measurement range. A typical value is 0 (percent). EI1 defines the
measurement units text associated with the value. Make the range and
units consistent with those of the measurement source.
LSCO1 Low Scale for Output Range 1 is a real value that defines the lower range
value for the blocks output. EO1 defines the measurement units text asso-
ciated with the value.
MA Manual Auto is a boolean input that controls the Manual/Automatic
operating state (0 = false = Manual; 1 = true = Auto). In Auto, given the
measurement value, the block computes the output according to its spe-
cific algorithm. In Manual, the algorithm is not performed, and the out-
put is unsecured. An external program can then set the output to a desired
value.
MEAS Measurement is an input identifying the source of the blocks input, or the
controlled variable. The PCNTOP allows you to select the block opera-
tion that matches the measurement input.
MRATE The Measurement Rate output represents the change in the accumulated
total per second. If the pulse count option (PCNTOP) is 1 or 3, MRATE
represents the amount by which the total changed (including MTRFAC
scaling), since the last measurement change. If PCNTOP is 2 or 4,
MRATE represents the MEAS value scaled by MTRFAC.
MTRFAC Meter Factor is a real input. The block uses this multiplier to make the
units of measurement, usually scaled in rate units, compatible with the
assigned output units, typically a scalar value.
The meter factor can be used to:
+ Convert time units if the input MEAS is using different time units
than those dictated by the block scan period
+ Convert engineering units if the input MEAS is using different
engineering units than those dictated by OUT.
+ Perform both of these conversions together.
1. ACCUM Accumulator Block B0193AX Rev AB
13


For example, if the period is 0.5 seconds and the flow rate is in cubic
feet/minute, then MTRFAC = 0.0083333, where 0.0083333 is derived
from: 0.5 (the block period in seconds) x 0.0166667 (or 1/60, to convert
minutes to seconds). For more examples, see Meter Factor Examples on
page 20.
NAME Name is a user-defined string of up to 12 characters used to access the
block and its parameters.
OUT Output, in Auto mode, is the result of the block algorithm applied to one
or more input variables. In Manual, OUT is unsecured, and can be set by
you or by an external task.
OUTNM The Output Alarm Name is a user-defined string of up to 12 characters
that identifies the alarm source in the alarm message. It serves as a point
descriptor label (for example, F2 Fuel Ctrl).
OWNER Owner is a settable string of up to 32 characters which are used to allocate
control blocks to applications. Attempts to set Owner are successful only
if the present value of Owner is the null string, an all-blank string, or iden-
tical to the value in the set request. Otherwise the request is rejected with a
LOCKED_ACCESS error. Owner can be cleared by any application by
setting it to the null string; this value is always accepted, regardless of the
current value of Owner. Once set to the null string, the value can then be
set as desired.
PCNTOP Pulse Count Option is a short integer. The four values are used to adjust
the block algorithm to different types of measurement input as follows
0 = Pulse rate per block period
1 = Pulse count per block period
2 = Pulse rate per minute.
3 = Pulse count per minute
PERIOD Period is an indexed input that dictates the blocks execution time base
and allowable PHASE values. For stations other than Integrators and
Gateways, PERIOD values range from 0 to 13 and map to the following
period time lengths. (Integrator and Gateway blocks have different period
values than shown here.)
Period Length Period Length
0 0.1 sec 7 10 min
1 0.5 sec* 8 60 min
2 1.0 sec 9 0.2 sec
3 2.0 sec 10 5.0 sec**
4 10 sec 11 0.6 sec***
5 30 sec 12 6.0 sec****
6 1 min 13 0.05 sec
B0193AX Rev AB 1. ACCUM Accumulator Block
14


* If the BPC is 0.2 sec., this period is treated internally as 0.6 sec., but the PERIOD
parameter remains 1.
** If the BPC is 2.0 sec., this period is treated internally as 6.0 sec., but the PERIOD
parameter remains 10.
*** If the BPC is 0.5 sec., this period is treated internally as 0.5 sec., but the PERIOD
parameter remains 11.
**** If the BPC is not 2.0 sec., this period is treated internally as 5.0 sec., but the
PERIOD parameter remains 12.
PERTIM Period Time is the period of the block expressed in seconds.
PHASE Phase is an integer input that causes the block to execute at a specific BPC
within the time determined by the PERIOD. For instance, a block with
PERIOD of 3 (2.0 sec) can execute within the first, second, third, or
fourth BPC of the 2-second time period, assuming the BPC of the Con-
trol Processor is 0.5 sec. Refer to the appropriate Integrated Control Soft-
ware Concepts document (B0700AG or B0193AW).
PRESET Preset is a real input parameter that specifies the value inserted into the
accumulator when the SET input makes a 0-to-1 transition.
PROPT Propagate Error Option is a boolean input. When true, PROPT sets the
ERROR Status bit of the output parameter if the input to the MEAS
parameter is in error while the block is in Auto. The input to the MEAS
parameter is in error when:
+ Its BAD status bit is set true
+ Its OOS (Out-of-Service) status bit is set true
+ Its ERROR status bit is set true
+ It is experiencing peer-to-peer path failure.
If a transition to Manual occurs while the ERROR status is true, it
remains true until either a set command is written to that output or until
the block transfers to Auto with the error condition returned to normal.
If PROPT is false, the block does not set the ERROR status bit of the out-
put parameter.
PRSCON Present Control state is a short integer data store that contains the sub-
states of Auto:
1 = Holding
2 = Bad Input State (holding)
3 = Controlling (not open loop)
PRSCON is set to 2 when:
+ The block is transitioning from the Holding state (1) or the Accu-
mulating state (3),
+ The MEAS input is in error, and
+ CEOPT is set to 1 or 2.
1. ACCUM Accumulator Block B0193AX Rev AB
15


During this time, the block is in the holding state, and holds the output at
its last computed value.
PRTYPE Priority Type is an indexed (0 to 9) output parameter that indicates the
alarm type of the highest priority active alarm. The PRTYPE outputs for
this block include the following alarm types:
0 = No active alarm
1 = High Absolute
3 = High-High Absolute
RI1 Range Input is an array of real values that specify the high(HSCI1) and
low(LSCI1) engineering scale and change delta of a particular real input.
The array members are configured by their individual names; however,
RI1 and its members can be accessed by user programs and task displays.
RO1 Range Output is an array of real values that specify the high(HSCI1) and
low(LSCI1) engineering scale of a particular real output. The array mem-
bers are configured by their individual names; however, RO1 and its
members can be accessed by user programs and task displays.
SET Set is a boolean input that forces the accumulator to the PRESET input
value when SET makes a 0-to-1 transition. The ACCUM block automat-
ically clamps this input at zero if no connection exists.
TYPE When you enter ACCUM or select ACCUM from the block type list
under Show, an identifying integer is created specifying this block type.
UNACK Unacknowledge is a boolean output that the block sets to true when it
detects an alarm. It is typically reset by operator action.
1.5 Functions
This section describes the functions in the ACCUM block.
B0193AX Rev AB 1. ACCUM Accumulator Block
16


1.5.1 Detailed Diagram
Figure 1-2. ACCUM Block Operational Diagram
1.5.2 Accumulator Process
Key Parameters: CARRY, HSCO1, HSCI1, LSCI1, LSCO1, MEAS, MTRFAC, MRATE, OUT,
PERTIM and PCNTOP
The accumulation process performs a totalization for the running accumulator using the general
algorithm shown in Figure 1-3. This algorithm is performed if the block is in Auto and not in the
Hold mode. The algorithm operates in the following manner: The integral change in measure-
ment for the present block period time is calculated and added to the running result from the pre-
vious accumulator output. This then becomes the new output (OUT) value. During each
calculation the result of the integral is multiplied by a user-determined metering factor
(MTRFAC) to ensure the compatibility of the output measurement units with those being used
in the process.
Figure 1-3. ACCUM Block Algorithm
OR
Integrator
Convert
to Rate
PCNTOP
Count
Meas
Input

PERTIM
MTRFAC
Rate
PERTIM
MA
S
p
a
n
HSCI
LSCI
S
p
a
n
HSCO
LSCO
High Scale
Target Detector
CARRY
AND
AND
AND
CEOPT = 1 or 2
MEAS Error Bit
SET
HOLD
SET
CLEAR
CLEAR
HOLD
SET
HOLD
MA
OUT
M
A
CLEAR
X(T) = MEAS Input for this Period
Y(T) = Output Quantity for this Period
Km = MTRFAC
T = Block Period Time
Yo = Previous Accum Output Quantity
dt = deadtime
1. ACCUM Accumulator Block B0193AX Rev AB
17


1.5.2.1 Pulse Count Option
The pulse count option (PCNTOP) allows you to select the block algorithm used for performing
calculations. PCNTOP selects the type of block operation, either pulse rate or pulse count input,
and in both cases allows the meter factor to be adjusted automatically to the block period time
when the block time period is changed. The four types of block operation are explained below.
PCNTOP = 0
Pulse Rate per
Block Period
MEAS is a pulse rate variable in terms of the block period time (pulses per
period) (see Figure 1-4). The equation used is as follows:
OUT = OUT + (MEAS * MTRFAC)
Figure 1-4. ACCUM Pulse Rate per Block Period
PCNTOP = 1
Pulse Count per
Block Period
MEAS is a pulse count variable in terms of the block period time (counts
per period) (see Figure 1-5). The equation used is as follows:
OUT = OUT + ((MEAS - previous MEAS) * MTRFAC)
where: previous MEAS = MEAS from previous block cycle
Figure 1-5. ACCUM Pulse Count per Block Period
PCNTOP = 2
Pulse Rate Per
Minute
MEAS is a pulse rate variable in terms independent of the block period
time, namely pulses per minute (see Figure 1-6). The equation used is as
follows:
OUT new = OUT previous + ((MEAS * MTRFAC /60.0) * elapsed
time)
where:
+ OUT new = OUT value this block cycle
+ OUT previous = OUT value from previous block cycle
+ MEAS = measurement value (pulses/minute)
+ MTRFAC = Meter Factor
+ elapsed time = elapsed time, in seconds, between block cycles
This allows the block to automatically adjust the meter factor to the block
period time when the block period time is changed.
Integrator
Rate
MTRFAC
MA
OUT
PCNTOP=0
MEAS
Integrator
Count
MTRFAC
MA
OUT
PCNTOP=1
MEAS
Convert
to Rate
B0193AX Rev AB 1. ACCUM Accumulator Block
18


Figure 1-6. ACCUM Pulse Rate per Minute
PCNTOP = 3
Pulse Count Per
Minute
MEAS is a pulse count variable in terms independent of the block period
time (see Figure 1-7). The equation used is as follows:
OUT = OUT + (MEAS - previous MEAS) * MTRFAC
/ (PERTIM * 60)
where: PERTIM is the block period in seconds.
This allows the block to automatically adjust the meter factor to the block
period time when the block period time is changed.
Figure 1-7. ACCUM Pulse Count per Minute
The block saves the running accumulator in extended precision format to minimize truncation
errors. However, the block stores the output (OUT) as a single precision float of 6-digit resolution
and you specify the range using the HSCO1 and LSCO1 parameters.
Integrator
Rate
MTRFAC
MA
OUT
PCNTOP=2
MEAS
elapsed time
Integrator
Count
MTRFAC
MA
OUT
PCNTOP=3
MEAS
Convert
to Rate
PERTIM
1. ACCUM Accumulator Block B0193AX Rev AB
19


1.5.3 Meter Factor
1.5.3.1 Meter Factor Functions
The meter factor can be used to:
1. Convert time units if the input MEAS is using different time units than those dictated
by the block period time.
2. Convert engineering units if the input MEAS is using different engineering units than
those required by OUT.
3. Perform both tasks simultaneously.
In the first instance, the meter factor becomes:
MTRFAC = Period * Time_Conv
where: Period is the block period time and Time_Conv is the time conversion factor.
The time conversion factor is used to convert the input MEAS to the time format compatible
with the block period time. An example of a time conversion factor is 1 min/60secs, which would
convert an input MEAS expressed in units/minute into units/second.
In the Second instance, the Meter Factor can be used to adjust the engineering units of input
MEAS to match those required by OUT. This introduces a different factor into the first equation,
the engineering unit conversion factor (EU_Conv) and the equation becomes:
MTRFAC = Period * EU_Conv
where: EU_Conv equals the units of the output/units of the input MEAS
The EU_Conv factor is a proportional relationship between the output units and the input
MEAS units.
In the third instance, both factors are required to format the input MEAS and the meter factor
equation becomes:
MTRFAC = Period * Time_conv * EU_conv
NOTE
Both the Time_Conv and the EU_Conv factor must be derived by the customer
1.5.3.2 Meter Factor Calculation
Assume a flow rate of 240 ft
3
/minute and a block scan period of 0.5 second. The blocks input
MEAS is in terms of minutes, therefore, you must adjust the input to seconds, as follows:
MTRFAC = 0.5 sec * 1 min/60 sec = 0.0083333 min
(MTRFAC = 0.0083333, where 0.0083333 is derived from: 0.5 (the block period in
seconds) x 0.0166667 (or 1/60, to convert minutes to seconds)).
This produces a meter factor expressed in terms of minutes, which dimensionally equals the input
measurement units of ft
3
/minute.
If the OUT parameter requires data in the form of cubic meters instead of cubic feet then:
EU_Conv would be 0.028317cm
3
/ft
3
MTRFAC= 0.5sec * 1min/60sec *0.028317 cm
3
/1ft
3
= .00023597
B0193AX Rev AB 1. ACCUM Accumulator Block
20


1.5.3.3 Meter Factor Examples
Meter Factor (MTRFAC) converts:
+ Time units
+ Engineering units.
Every block period, a portion of the input is added to the output. However, the:
+ Input (MEAS) can be in different engineering units than the output (OUT)
+ Period (PERIOD) can be in different time units than MEAS.
For these reasons, MTRFAC is provided to convert the units:
OUT = OUT + (MEAS * MTRFAC)
Calculating MTRFAC
Table 1-2 shows how MTRFAC is calculated when the units of OUT and MEAS are the same, for
example, the input is in pounds per time unit and the accumulation is in pounds:
If the units of OUT are not the same as the units of MEAS, for example, the input is in cubic feet
per time unit and the accumulation is in pounds:
eu_conv = units_OUT/units_MEAS
Table 1-3 shows how MTRFAC is calculated when the units of OUT and MEAS are not the
same.
EXAMPLES
For a block PERIOD of 0.5 seconds, the measurement is in cubic feet per minute and the output
is accumulated as cubic feet:
MTRFAC = 0.5 * 1/60 = 0.008333
If the output is to be accumulated as pounds (1 cubic foot = 62.4 pounds):
MTRFAC = 0.5 * 1/60 * 62.4 = 0.52
Table 1-2. Units of OUT and MEAS Are the Same
Units of MEAS MTRFAC Calculation Results
units/second PERIOD * 1/1 (sec/sec) PERIOD
units/minute PERIOD * 1/60 (sec/minute) PERIOD * 0.016667
units/hour PERIOD * 1/3600 (sec/hour) PERIOD * 0.0002777778
units/day PERIOD * 1/86400 (sec/day) PERIOD * 0.000011574
Table 1-3. Units of OUT and MEAS Are not the Same
Units of MEAS MTRFAC Calculation Results
units/second PERIOD * 1/1 (sec/sec) * eu_conv PERIOD * eu_conv
units/minute PERIOD * 1/60 (sec/minute) * eu_conv PERIOD * 0.016666667 * eu_conv
units/hour: PERIOD * 1/3600 (sec/hour) * eu_conv PERIOD * 0.000277778 * eu_conv
units/day PERIOD * 1/86400 (sec/day) * eu_conv PERIOD * 0.000011574 * eu_conv
1. ACCUM Accumulator Block B0193AX Rev AB
21


If the PERIOD of the block is changed to 2 seconds, the meter factor must be changed to:
MTRFAC = 2.0 * 1/60 * 62.4 = 2.08
1.5.4 Carry
The CARRY parameter transitions from 0 to 1 if the HSCO1 parameter is exceeded (see
Figure 1-8). When HSCO1 is exceeded, the block calculates the difference between the actual
integrated value and HSCO1 and assigns this value as the initial accumulator total for the next
accumulation cycle. In this way, the next block cycle accumulation process begins without losing
any input by using the remainder of the previous cycle. The rollover indicator (CARRY) is set for
one block period when the high scale is exceeded. You can use this indicator to cascade accumula-
tor block integrations.
Figure 1-8. ACCUM CARRY Function
1.5.5 Block Control States
Key Parameters: CARRY, CEOPOT, CLEAR, HOLD, MEAS and SET.
During each cycle the block determines its operational status: holding or accumulating. Holding
indicates that the accumulation process has ceased and occurs:
+ When the HOLD parameter is set
Or
+ When the block input measurement is in error.
Once HOLD is reset to false, either through internal block operation or via a HOLD indication
from another block, the block is set to the accumulating mode and returns to its accumulating
function. As with any transition from Manual to Auto the accumulator process uses the last value
assigned to MEAS as its initial measurement value.
While in Auto, during each block cycle, the block can be configured to automatically CLEAR or
SET values. This configuration can either be directly dictated by configuring the CLEAR or SET
parameter for the ACCUM block or can be dictated through linkage to another block.
If the CLEAR parameter is configured, each time the block cycles it resets both the running accu-
mulator total and the measurement in use by the block to zero. If the SET parameter is config-
ured, each time the block cycles it sets the running accumulator value to an operator preset value
(PRESET) and the measurement in use is set to zero. In both cases, if the parameter is not set, the
block clamps the input to zero to negate the results of the accumulation operation.
CARRY Produced
Value Added to
Accumulator
Block Time
Period
HSCO1
ACCUM
Value
B0193AX Rev AB 1. ACCUM Accumulator Block
22


1.5.5.1 Measurement Error Handling for Auto to Manual Transitions
The ACCUM block contains two parameters for respond to input error status during Auto/Man-
ual (MA) transitions: the control error parameter (CEOPT and the propagate error parameter
(PROPT). Under most circumstances you can use CEOPT (CEOPT on page 6) which deter-
mines the measurement input error status. Additionally, PROPT can be configured, to pass an
indication of measurement input error to other blocks by setting the error status bit in the output
(OUT).
The CEOPT parameter is active only when the block is in Auto. If the measurement input is in
error, CEOPT determines the HOLD status of the block. CEOPT can be configured to engage
the HOLD mode if it detects that the MEAS status BAD bit is set, the OOS bit is set, or during
peer-to-peer path failure. CEOPT also allows you to engage HOLD if it detects any of the previ-
ous conditions coupled with the measurement input bad bit being set. Lastly, CEOPT allows the
block to ignore a control error indication.
NOTE
The HOLD input from another block takes precedence over the functioning of
CEOPT in the block
Figure 1-9 shows the functioning of the SET, CLEAR and HOLD inputs during Auto operation
and during input error detection.
Figure 1-9. ACCUM SET, CLEAR, and HOLD Functionality
If the block is changing to Manual it is set to the holding mode, which leaves the block implicitly
open to control inputs from other blocks. In the Manual mode, the output is unsecured, the accu-
mulation process is inhibited, and the last real value read is used as the MEAS value.
If the block is changing to Auto, to avoid a bump in process control, the block is set to the hold-
ing mode, OUT is restored to the last measured value, which is the present Manual mode output,
and the CARRY flag is reset to false.
Integrator
AND
AND
AND
CEOPT = 1 or 2
MEAS Error Bit
SET
HOLD
SET
CLEAR
OR
HOLD
SET
HOLD
CLEAR
CLEAR
1. ACCUM Accumulator Block B0193AX Rev AB
23


1.5.6 Alarming the Accumulator
Key Parameters: HAOPT, HHAOPT, HABLIM, HHALIM, HAIND, HHAIND and UNACK.
Alarm functions for the block include:
+ The alarm inhibit option
+ The block criticality level
+ The pre-target alarming
+ The target alarming
By configuring HAOPT to true, you can activate the High Alarm Option (HAOPT on page 8).
HAOPT allows a pre-target alarm indication to be sent before the High-High absolute alarm
limit is reached. HAOPT allows for a comparison of the present measurement level against a pre-
set value (HABLIM) for High alarming. Once these values are reached the block sets the high
output indication (HAIND) to true and sends a high output message to the alarm status.
The High-High alarm option (see HHAOPT on page 9) allows you to activate the target alarm-
ing feature. Target alarming functions in much the same as pre-target alarming. Once the High-
High absolute alarm limit (HHALIM) is reached the High-High output indication (HHAIND)
is set to true, which updates the appropriate bit of the alarm status.
Both pre-target and target alarm types function through the use of a deadband. Once the output
value passes back through the deadband range, the alarm indication (HAIND or HHAIND) is
reset. Figure 1-10 graphically represents the alarming operation.
Figure 1-10. ACCUM Block Alarming
Unacknowledge (UNACK) is a boolean output parameter which is set true, for notification pur-
poses, whenever the block goes into alarm. It is settable, but sets are only allowed to clear
UNACK to false, and never in the opposite direction. The clearing of UNACK is normally via an
operator acknowledge pick on a default or user display, or via a user task.
1.5.7 Peer-to-Peer Connections of Real-Type Block Inputs
When a block input of type real is configured to a parameter of a block in a different control
processor, a "change-driven" connection is established. The value of the receiving or sink
parameter is updated every time the value of the source parameter changes more than a preset
amount.
LSCO1
HSCO1
HHALIM
HABLIM
OUT
HAIND
HHAIND
Deadband
B0193AX Rev AB 1. ACCUM Accumulator Block
24


If the sink parameter has a configurable range (high and low scale values) and a change delta
value (typically DELTI1, DELTI2, etc.), then the size of the change required to trigger the update
is configurable.
Configuring a DELTI[1,2,etc.] value of zero (0.0) will NOT result in the sink being updated
every cycle. Within the system, the zero (0.0) will be replaced by the value 0.1 and the effective
change delta will be 0.1 percent of the "sink" parameter range (e.g. 0.1/100*(highscale-lowscale)).
When small changes must be communicated, specify an appropriate small, positive, non-zero
change delta value. e.g. DELTI[1,2,etc.] = 0.00001 on a parameter with a range of 20 to 50 would
result in an update for every change greater than [(0.00001/100)*(50-20)] = 0.0000030 units.
If the sink parameter does not have a configurable range or change delta value, as is the case
with the real inputs RI01 - RI08 of the CALCA and MATH blocks, then the change delta used
for peer-to-peer connections is a fixed value of 0.0001 (units of the source parameter, not percent
of range).
When very small changes must be communicated, consider scaling the value with gain and bias at
the source end. e.g. scale from tonnes to kilograms.
1.5.8 Application Diagram
In this example (Figure 1-11), the water filling the tank is controlled by an inlet valve. The
ACCUM block totalizes the amount of water flowing through the valve using data from the flow
transmitter. This totalized value is forwarded to a CALC block which performs calculations based
on the running total from the ACCUM block. When the CALC block determines that the water
has fallen below the desired fill level, it sends an indication to the GDEV block which operates the
valve.
Figure 1-11. Typical ACCUM Block Application
ACCUM CALC
GDEV
Water
Tank
FT
Typical Configuration Values:
HSCI1 = 100%
LSCI1 = 0%
MTRFAC = 1
PROPT = 1
CEOPT = 1
PCNTOP = 0
HAOPT = 1
HABLIM = 90%
HHAOPT = 1
HHALIM = 100%
AIN
PNT_No
PNT_No
25


2. AIN Analog Input Block
This chapter gives a general overview of the Analog Input Block, or AIN, its features,
parameters and functions. It also covers bad input and out-of-range processes, manual mode,
alarming, and application diagrams and provides an appendix on signal conditioning and an
appendix on valid input connections.
2.1 Overview
The Analog Input Block (AIN) receives an input value from a single point of an analog, pulse
count, or Intelligent Field Device type of Fieldbus Module (FBM) or Fieldbus Card (FBC), or
from another block, and converts it into suitable form for use in an I/A Series control strategy.
The input to the block is the digitized data from the FBMs Equipment Control Block (ECB),
and the output is a value expressed in the appropriate engineering units. See Figure 2-1.
Figure 2-1. AIN Block Diagram
Bad
Indicator
High/Low Scale
for Output Range 1
counts
output
units
output
units
Offset
Gain
BAD and OOR
Option
Bad &
Out-of-
Range
Processing
High/
Low Out-
of-
Range
Indicators
Point
(Engineer-
ing Units
Value)
Filter Clamp
Scaling/
Unit Con-
version
Alarming
Alarm
Indicators
Linear
Square
Root
RTD
Thermo-
couple
Special
T.C.
Characterizer
(None)
Signal
Condition
ing Index
Fieldbus
Module
Identifier
Point
Number
External
Reference-
Option
External
Reference
Input
Extender
Block
Alarm
Options
Alarm
Limits
C
o
C
o
C
o
B0193AX Rev AB 2. AIN Analog Input Block
26


2.2 Basic Operation
The AIN block interfaces to an ECB which stores values from an FBM or FBC receiving analog
electrical signals, pulse inputs, or pulse rate inputs.
Each execution cycle, the FBM or FBC transmits the values to its associated ECB in the Control
Processor, and the AIN block reads its operational status, the channel status, and the input data
from the ECB for the specified point.
After validation, the AIN block converts the channels raw data to a floating point number in
engineering units, according to the configured Signal Conditioning Index, the High and Low
Scale of the engineering units range, and any specified units conversion or filtering option. This
output is presented to the control strategy as Point (PNT). The original value as present in the
ECB is preserved and made available as output Raw Count (RAWC).
The sequence of signal processing actions is, in the order of application: Signal Conditioning or
Characterization, Scaling for Unit Conversion, Clamping, and Filtering.
2.3 Features
+ Fieldbus Module option to permit configuration of AIN blocks without FBM or FBC
connections (input from another block instead of from hardware)
+ Processing of Pulse Rate and Pulse Count inputs
+ Acceptance of Hydrostatic Tank Gauge (HTG), Intelligent Field Device (IFD), and
Coriolis inputs
+ Connectability to Intelligent Field Device Window ECBs
+ Choice of Linear/Square Root, Thermocouple, RTD, or specially characterized signal
conditioning
+ External or FBM- or FBC-based temperature reference for thermocouple cold junc-
tion compensation
+ Output clamping between user-selectable output limits
+ Output gain and offset scaling
+ First order, second order, or two-sample-average filtering
+ Manual mode availability for disconnecting control schemes from the process, for
simulation and checkout purposes
+ Raw Count output availability for troubleshooting purposes, including floating point
values from HTG, IFD, and Coriolis inputs
+ Out-of-Range alarm option
+ High/Low Absolute alarm options
+ High-High and Low-Low Absolute alarm options
+ Bad point alarm option
+ Alarming in Manual option
+ Flexible bad input point and bad range detection and handling
+ Last Good Value output retention on certain I/O failures.
2. AIN Analog Input Block B0193AX Rev AB
27


2.4 Parameters
Table 2-1. AIN Block Parameters
Name Description Type Accessibility Default Units/Range
Configurable Parameters
INPUTS
NAME block name string no-con/no-set blank 1 to 12 chars
TYPE block type integer no-con/no-set 30 AIN
DESCRP descriptor string no-con/no-set blank 1 to 32 chars
PERIOD block sample time short no-con/no-set 1 0 to 13
PHASE block execute phase integer no-con/no-set 0 ---
LOOPID loop identifier string no-con/set blank 1 to 32 chars
IOMOPT FBM input option short no-con/no-set 1 0 to 2
IOM_ID FBM identifier string no-con/no-set blank ---
PNT_NO FBM point number string no-con/no-set 1 1 to 32
SCI signal condition index short no-con/no-set 0 0-15, 20-28, 40-44,
and 50-59
HSCO1 high scale, output 1 real no-con/no-set 100.0 specifiable
LSCO1 low scale, output 1 real no-con/no-set 0.0 specifiable
DELTO1 change delta, output 1 real no-con/no-set 1.0 percent
EO1 eng units, output 1 string no-con/no-set % RO1
OSV output span variance real no-con/no-set 2.0 [0..25] percent
EXTBLK extender block long con/set 0 ---
MA manual/auto boolean con/set 0 0 to 1
INITMA initialize MA short no-con/no-set 1 0 to 2
BADOPT BAD/Out-of-range option short no-con/no-set 3 0 to 7
LASTGV last good value boolean no-con/no-set 1 0 to 1
INHOPT inhibit option short no-con/no-set 0 0 to 3
INHIB alarm inhibit boolean con/set 0 0 to 1
INHALM inhibit alarm pack_b con/set 0 0 to 0xFFFF
MANALM manual alarm option short no-con/no-set 0 0 to 1
MTRF meter factor real no-con/set 1.0 flow rate/Hz
FLOP filter option short no-con/no-set 0 0 to 3
FTIM filter time constant real con/set 0.0 minutes
XREFIN external reference input real con/set 0.0 deg. Celsius
XREFOP external reference option boolean no-con/no-set 0 0 to 1
KSCALE gain scaler real con/set 1.0 scalar
BSCALE bias scale factor real con/set 0.0 output units
BAO bad alarm option boolean no-con/no-set 0 0 to 2
BAT bad alarm text string no-con/no-set blank 1 to 32 chars
BAP bad alarm priority integer con/set 5 1 to 5
BAG bad alarm group short no-con/set 1 1 to 8
ORAO out of range alarm option boolean no-con/no-set 0 0 to 1
ORAT out of range text string no-con/no-set blank 1 to 32 chars
ORAP out of range priority integer con/set 5 1 to 5
ORAG out of range group short no-con/set 1 1 to 8
B0193AX Rev AB 2. AIN Analog Input Block
28


HLOP high/low alarm option short no-con/no-set 0 0 to 3
ANM alarm name point 1 string no-con/no-set blank 1 to 12 chars
HAL high alarm limit real con/set 100.0 RO1
HAT high alarm text string no-con/no-set blank 1 to 32 chars
LAL low alarm limit real con/set 0.0 RO1
LAT low alarm text string no-con/no-set blank 1 to 32 chars
HLDB high/low alarm deadband real no-con/set 0.0 RO1
HLPR high/low priority integer con/set 5 1 to 5
HLGP high alarm group short no-con/set 1 1 to 8
HHAOPT high-high alarm option short no-con/no-set 0 0 to 3
HHALIM high-high alarm limit real con/set 100.0 RO1
HHATXT high-high alarm text string no-con/no-set blank 1 to 32 chars
LLALIM low-low alarm limit real con/set 0.0 RO1
LLATXT low-low alarm text string no-con/no-set blank 1 to 32 chars
HHAPRI high-high alarm priority integer con/set 5 1 to 5
HHAGRP high-high alarm group short no-con/set 1 1 to 8
PROPT propagate error option boolean no-con/no-set 0 0 to 1
MEAS optional input real con/set 0.0 ---
AMRTIN alarm regeneration timer integer no-con/no-set 0 0 to 32767 s
NASTDB alarm deadband timer long integer no-con/no-set 0 0-2147483647 ms
NASOPT nuisance alarm suppression
option
short no-con/no-set 0 0 to 2
Non-Configurable Parameters
OUTPUTS
BAD bad I/O status boolean con/no-set 0 0 to 1
CRIT alarm criticality integer con/no-set 0 0 to 5
HAI high alarm indicator boolean con/no-set 0 0 to 1
HHAIND high-high alarm indicator boolean con/no-set 0 0 to 1
HOR high out-of-range boolean con/no-set 0 0 to 1
LAI low alarm indicator boolean con/no-set 0 0 to 1
LLAIND low-low alarm indicator boolean con/no-set 0 0 to 1
LOR low out-of-range boolean con/no-set 0 0 to 1
PNT point output real con/no-set 0.0 RO1
PRTYPE priority type integer con/no-set 0 0 to 25
QALSTA quality status pack_l con/no-set 0 0 to 0xFFFFFFFF
RAWC raw counts real con/no-set 0.0 0 to 65535
UNACK unacknowledge alarm boolean con/no-set 0 0 to 1
ZERROP out of range error boolean con/no-set 0 0 to 1
DATA STORES
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
ALMSTA alarm status pack_l con/no-set 0 bit map
ALMOPT alarm options pack_l no-con/no-set 0 0 to 0xFFFFFFFF
BLKSTA block status pack_l con/no-set 0 bit map
DEFINE no config errors boolean no-con/no-set 1 0 to 1
ERCODE configuration error string no-con/no-set 0 1 to 43 chars
Table 2-1. AIN Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
2. AIN Analog Input Block B0193AX Rev AB
29


2.4.1 Parameter Definitions
ACHNGE Alternate Change is an integer output which is incremented each time a
block parameter is changed via a Set command.
ALMOPT Alarm Options contains packed long values representing the alarm types
that have been configured as options in the block, and the alarm groups
that are in use.
For the AIN block, only the following unshaded bits are used
DEV_ID FBM Letterbug char[6] no-con/no-set blank 1 to 6 chars
INHSTA inhibit status pack_l con/no-set 0 bit map
LOCKID lock identifier string no-con/no-set blank 8 to 13 chars
LOCKRQ lock request boolean no-con/set 0 0 to 1
OWNER owner name string no-con/set blank 1 to 32 chars
PERTIM period time real no-con/no-set 0.1 seconds
RO1 output range real[3] no-con/no-set 100,0,1 specifiable
Table 2-1. AIN Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
Bit Number
1
(0 to 31)
1.
Bit 0 is the least significant, low order bit.
Configured Alarm Option When True
0 (Least
Significant)
Alarm Group 8 in Use
1 Alarm Group 7 in Use
7 Alarm Group 1 in Use
16 Low Absolute Alarm Configured
17 High Absolute Alarm Configured
22 Bad I/O Alarm Configured
24 Low-Low Absolute Alarm Configured
25 High-High Absolute Alarm Configured
28 Out-of-Range Alarm Configured
B0193AX Rev AB 2. AIN Analog Input Block
30


ALMSTA Alarm Status is a 32-bit output, bit-mapped to indicate the blocks alarm
states. For the AIN block, only the following bits are used:
* Bit 0 is the least significant, low order bit.
AMRTIN Alarm Regeneration Timer is a configurable integer that specifies the time
interval for an alarm condition to exist continuously, after which a new
unacknowledged alarm condition and its associated alarm message is gen-
erated.
ANM Alarm Name is a user-defined string of up to 12 characters that identifies
the input point as the source of the alarm in the alarm messages. It serves
as a point-descriptor label.
BAD Bad is a boolean output parameter which is set true when the input to the
block is unacceptable in any way. The BAD bit of BLKSTA (BLK-
STA.BAD) is also set true whenever BAD is true.
BADOPT Bad and Out-of-Range Option is a short integer option that specifies the
conditions that set the BAD output true. Values are:
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
U
N
A
K
I
N
H
O
O
R
H
H
A
L
L
A
B
A
D
H
M
A
L
M
A
CRIT PRTYPE
Bit
Number
(0 to 31)* Name Description When True
Boolean
Connection
(B32 to B1)
0 to 4
(Least
Significant)
PTYP_MSK Priority Type: See parame-
ter PRTYPE for values
used in the AIN block
---
5 to 7 CRIT_MSK Criticality; 5 = lowest pri-
ority, 1= highest
---
16 LMA Low Absolute Alarm ALMSTA.B16
17 HMA High Absolute Alarm ALMSTA.B15
22 BAD Bad I/O Alarm ALMSTA.B10
24 LLA Low-Low Absolute Alarm ALMSTA.B8
25 HHA High-High Absolute
Alarm
ALMSTA.B7
28 OOR Out-of-Range Alarm ALMSTA.B4
29 INH Inhibit Alarm ALMSTA.B3
30 UNAK Unacknowledged ALMSTA.B2
2. AIN Analog Input Block B0193AX Rev AB
31


0 = Bad Status (PNT.BAD) only
1 = Bad Status (PNT.BAD) or Low Out-of-Range (LOR)
2 = Bad Status (PNT.BAD) or High Out-of-Range (HOR)
3 = Bad Status (PNT.BAD) or LOR or HOR.
4 = Bad Status (PNT.BAD) when a scalar input (KSCALE or BSCALE) is
not healthy (i.e., value status is BAD, OOS, or has a broken OM connec-
tion)
5 = Bad Status (PNT.BAD) or one of the following is unhealthy: LOR or
KSCALE or BSCALE
6 = Bad Status (PNT.BAD) or one of the following is unhealthy: HOR or
KSCALE or BSCALE
7 = Bad Status (PNT.BAD) or one of the following is unhealthy: LOR or
HOR or KSCALE or BSCALE
The default value is 3. Bad Status is a Logical OR of bad ECB status (that
is, the FBM or FBC itself is bad) and bad channel status (that is, the con-
nected point is bad). If there is no FBM or FBC connection, then Bad Sta-
tus is considered to exist when MEAS is linked and has bad status.
BAG Bad Alarm Group is a short integer input that directs Bad alarm messages
to one of eight groups of alarm devices. You can change the group number
through the workstation.
BAO Bad Alarm Option is a configurable option that enables alarm generation
for each state change of the BAD parameter. The parameter values are:
BAP Bad Alarm Priority is an integer input, ranging from 1 to 5, that sets the
priority level of the Bad alarm (1 is the highest priority).
BAT Bad Alarm Text is a user-configurable text string of up to 32 characters,
sent with the bad alarm message to identify it.
0= No generation of Bad alarms.
1= Bad alarm generation if the FBM or FBC has
Bad status.
2= Bad alarm generation in the measurement
(MEAS or OUTPUT parameter) of a PID
block family, RATIO block, or BIAS block
when the MEAS or OUT parameter is con-
nected to the AIN block.
B0193AX Rev AB 2. AIN Analog Input Block
32


BLKSTA Block Status is a 32-bit output, bit-mapped to indicate various block oper-
ational states. For the AIN block, only the following bits are used:
* Bit 0 is the least significant, low order bit.
BSCALE Offset Scale is a real input which is used as the offset factor, in output
units, applied to the conditioned signal to rescale it for compatibility with
the output units. It is usually used to convert from Celsius to Fahrenheit
scales.
CRIT Criticality is an integer output that indicates the priority, ranging from 1
to 5, of the blocks highest currently active alarm (1 is the highest priority).
An output of zero indicates the absence of alarms.
DEFINE Define is a data store which indicates the presence or absence of configura-
tion errors. The default is 1 (no configuration errors). When the block ini-
tializes, DEFINE is set to 0 if any configured parameters fail validation
testing. (See ERCODE for the list of all possible validation errors in this
block.) In that case, no further processing of the block occurs, including
further validation of remaining parameters. To return DEFINE to a true
value, correct all configuration errors and reinstall the block.
If DEFINE = 0, the bit BLKSTA.UDEF = 1.
DELTO1 The DELTO1 parameter is used only in peer-to-peer connections to an
absolute limit (HAL, LAL) or high-high low-low absolute limit
(HHALIM, LLALIM) input parameter to determine the minimum
change (in % of the HSCO1, LSCO1 engineering range) that must occur
in the source parameter to cause an OM scanner update to the limit
parameter to occur.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
W
L
C
K
O
N
U
D
E
F
B
A
D
M
A
F
B
M
Bit Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
8 FBM FBM or FBC Failure BLKSTA.B24
11 MA Manual = 0, Auto = 1 BLKSTA.B21
12 BAD Bad I/O BLKSTA.B20
14 UDEF Block Undefined BLKSTA.B18
15 ON Block ON BLKSTA.B17
20 WLCK Access Locked BLKSTA.B12
2. AIN Analog Input Block B0193AX Rev AB
33


DESCRP Description is a user-defined string of up to 32 characters that describes
the blocks function (for example, PLT 3 FURNACE 2 HEATER CON-
TROL).
DEV_ID Device Identifier is a character array data store that indicates the 6-charac-
ter letterbug of the connected FBM or FBC. In the case of IFD inputs,
DEV_ID contains the letterbug of the parent FBM (18, 43, 39, 44, 46,
243, or 246) to which the instrument interfaces.
EO1 Engineering Units for Output Range 1 provides the engineering units text
for the values defined for the output 1 range. The value configured for this
text string should be consistent with the values used for HSCO1 and
LSCO1.
ERCODE Error Code is a string data store which indicates the type of configuration
error which caused the blocks DEFINE parameter to be set false. Valida-
tion of configuration errors does not proceed past the first error encoun-
tered by the block logic. For the AIN block, the following list specifies the
possible values of ERCODE, and the significance of each value in this
block:
EXTBLK Extender Block is a long input that specifies the pathname to the BLKSTA
parameter of a CHARC block used as an extender block. The CHARC
block must be in the same CP and compound as the AIN block and must
precede it in the compound.
FLOP Filter Option is an option parameter that specifies the type of filtering that
is applied to the signal before it is set into the PNT output. FLOP has the
following values:
0 = No Filtering
1 = First Order Lag Filtering
2 = Butterworth Filtering
3 = Two-Sample Average Filtering
FTIM Filter Time is an input that represents the time in minutes for the output
value to reach a certain percentage of its ultimate value after a step change
to the input. For first order lag filtering this percentage is approximately
ERCODE Value
W44 HSCO1 less than LSCO1
W48 FLOP or BADOPT out of range
W49 Invalid CHARC block extension
W50 Invalid SCI
W51 Cluster I/O specified but type is not analog input or
analog output
W52 PNT_NO out of range for the specified FBM or FBC
W54 Specified IOM_ID does not exist
B0193AX Rev AB 2. AIN Analog Input Block
34


63 percent, and for Butterworth filtering it is approximately 50 percent.
FTIM is not applicable to two-sample-average filtering.
HAI High Absolute Alarm Indicator is a boolean output that is true whenever
the value of PNT is greater than the value of HAL and option HLOP is
set to 1 or 2.
HAL High Absolute Alarm Limit is a real input that defines the value of the
PNT output that triggers a High Absolute Alarm.
HAT High Absolute Alarm Text is a user-defined text string of up to 32 charac-
ters, sent with the high absolute alarm message to identify it.
HHAGRP High-High Absolute Alarm Group is a short integer input that directs
High-High Absolute alarm messages to one of eight groups of alarm
devices.
HHAIND High-High Absolute Alarm Indicator is a boolean output that is true
whenever the value of PNT is greater than the value of HHALIM and
option HHAOPT is set to 1 or 2.
HHALIM High-High Absolute Alarm Limit is a real input that defines the value of
the PNT output that triggers a High-High Absolute Alarm.
HHAOPT High-High Absolute Alarm Option is a configured short integer input
that enables High-High Absolute and/or Low-Low Absolute alarming of
the PNT output, or disables this type of alarming altogether. Values:
0 = No Alarming
1 = High-High and Low-Low Absolute Alarming
2 = High-High Absolute Alarming Only
3 = Low-Low Absolute Alarming Only
HHAPRI High-High Absolute Alarm Priority is an integer input, ranging from
1 to 5, that sets the priority level of the high-high alarm (1 is the highest
priority).
HHATXT High-High Absolute Alarm Text is a user-defined text string of up to
32 characters, sent with the high-high absolute alarm message to identify
it.
HLDB High/Low Deadband is a real input that defines the size of the deadband
that applies to the high, low, high-high, and low-low absolute alarm limits
of the PNT output.
HLGP High/Low Group is a short integer input that directs High/Low Absolute
alarm messages to one of eight groups of alarm devices.
HLOP High/Low Option is a configured short integer input that enables Abso-
lute High and/or Low alarming of the PNT output, or disables absolute
alarming altogether. Values:
2. AIN Analog Input Block B0193AX Rev AB
35


0 = No Alarming
1 = High and Low Absolute Alarming
2 = High Absolute Alarming Only
3 = Low Absolute Alarming Only
HLPR High/Low Priority is an integer input, ranging from 1 to 5, that sets the
priority level of the High/Low Absolute alarm (1 is the highest priority).
HOR High Out-of-Range is a boolean output that is set true if any one of the
seven high out-of-range conditions described in Section 2.6.2 (Out-of-
Range Conditions) occurs.
HSCO1 High Scale for Output Range 1 is a real value that defines the upper range
value for the blocks output.
INHALM Inhibit Alarm contains packed boolean values that represent alarm genera-
tion inhibit requests for each type of alarm configured in the block. For
the AIN block, only the following bits are used:
* Bit 0 is the least significant, low order bit.
There are no mnemonic names for the individual bits of INHALM.
INHIB Suppresses all alarm message reporting, but alarm detection continues to
function (that is, alarm indicators, CRIT, PRTYPE, ALMSTA and
ALMEVT). When true, it inhibits all block alarms; the alarm handling
and detection functions are determined by the INHOPT setting.
Bit Number*
(0 to 15) Description When True
Boolean Connection
(B16 to B1)
0 (Least
Significant)
Inhibit Low Absolute Alarm INHALM.B16
1 Inhibit High Absolute Alarm INHALM.B15
6 Inhibit Bad I/O Alarm INHALM.B10
8 Inhibit Low-Low Absolute
Alarm
INHALM.B8
9 Inhibit High-High Absolute
Alarm
INHALM.B7
12 Inhibit Out-of-Range Alarm INHALM.B4
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B0193AX Rev AB 2. AIN Analog Input Block
36


INHOPT Inhibit Option specifies the following actions applying to all block alarms:
INHSTA Inhibit Status contains packed long values that represent the current
inhibit status of each alarm type configured in the block. For the AIN
block, only the following bits are used:
* Bit 0 is the least significant, low order bit.
INITMA Initialize Manual/Auto specifies the desired state of the MA input during
initialization, where:
0 = Manual
0 = When an alarm is inhibited, disable alarm messages but do
not disable alarm detection.
1 = When an alarm is inhibited, disable both alarm messages and
alarm detection. If an alarm condition already exists at the
time the alarm transitions into the inhibited state, clear the
alarm indicator.
2 = Same as 0 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages.
Into alarm messages may be acknowledged by explicitly set-
ting UNACK false.
3 = Same as 1 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages.
Into alarm messages may be acknowledged by explicitly set-
ting UNACK false.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
O
O
R
H
H
A
L
L
A
B
A
D
H
M
A
L
M
A

Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
16 LMA Low Absolute Alarm Inhibited INHSTA.B16
17 HMA High Absolute Alarm Inhibited INHSTA.B15
22 BAD Bad I/O Alarm Inhibited INHSTA.B10
24 LLA Low-Low Absolute Alarm
Inhibited
INHSTA.B8
25 HHA High-High Absolute Alarm
Inhibited
INHSTA.B7
28 OOR Out-of-Range Alarm Inhibited INHSTA.B4
2. AIN Analog Input Block B0193AX Rev AB
37


1 = Auto
2 = The MA state as specified in the checkpoint file.
The block asserts this initial M/A state whenever:
+ It is installed into the Control Processor database.
+ The Control Processor undergoes a reboot operation.
+ The compound in which it resides is turned on.
+ The INITMA parameter itself is modified via the Integrated Con-
trol Configurator. (The block does not assert INITMA on
ordinary reconfiguration.)
INITMA is ignored if MA has an established linkage.
IOMOPT FBM Option is a short integer specifying whether an FBM or FBC con-
nection to the block exists, and if not, whether signal conditioning is to be
applied to the alternate source of the block input. Values:
IOM_ID Fieldbus Module Identifier is a configurable string that specifies the path-
name of the ECB for the FBM or FBC to which the block is connected.
IOM_ID has the form CompoundName:BlockName, where Compound-
Name is the 1-12 character name of the local compound containing the
ECB, and BlockName is the 1-12 character block name of the ECB. For
IFD inputs, the NAME parameter string of the parent ECB (12, 23, or
38R), not the child ECB18, must be used.
If the compound containing the ECB is the CPletterbug_ECB compound
where CPletterbug is the station letterbug of the CP, the CompoundName
may be omitted from the IOM_ID configuration. In this case, the 1-12
character ECB block name is sufficient. For IFD inputs, this is the letter-
bug of the parent FBM (18, 43, 39, 44, 46, 243, or 246), not the con-
nected transmitter.
KSCALE Gain Scale is a real input which is used as the gain factor applied to the
conditioned signal to rescale it for compatibility with the output units.
KSCALE and BSCALE are always applied after any signal conditioning or
characterization of the raw input. It is usually used to convert from Celsius
to Fahrenheit scales.
0 = The AIN block obtains input values from the MEAS
parameter and conditions them as specified by the value of SCI.
1 = The block obtains input values from the FBM or FBC input
point specified by IOM_ID and PNT_NO.
2 = The block obtains input values from the MEAS parameter. No
signal conditioning is performed. The input is subjected only to
scaling for units conversion (via KSCALE and BSCALE),
clamping using the configured HSCO1, LSCO1, and OSV
parameters, and filtering, in that order.
B0193AX Rev AB 2. AIN Analog Input Block
38


LAI Low Absolute Alarm Indicator is a boolean output that is true whenever
the value of PNT is less than the value of LAL and option HLOP is set
to 1 or 3.
LAL Low Absolute Alarm Limit is a real input that defines the value of the
PNT output that triggers a Low Absolute Alarm.
LASTGV Last Good Value is a boolean option. When true in the situations
described in Section 2.6.4, LASTGV causes the previous value of PNT to
be retained, and the value obtained this cycle to be ignored.
LAT Low Absolute Alarm Text is a user-defined text string of up to 32 charac-
ters, sent with the low absolute alarm message to identify it.
LLAIND Low_Low Absolute Alarm Indicator is a boolean output that is true when-
ever the value of PNT is less than the value of LLALIM and option HHA-
OPT is set to 1 or 3.
LLALIM Low-Low Absolute Alarm Limit is a real input that defines the value of the
PNT output that triggers a Low-Low Absolute Alarm.
LLATXT Low-Low Absolute Alarm Text is a user-defined text string of up to
32 characters, sent with the low-low absolute alarm message to identify it.
LOCKID Lock Identifier is a string identifying the workstation which has locked
access to the block via a successful setting of LOCKRQ. LOCKID has the
format LETTERBUG:DEVNAME, where LETTERBUG is the 6-charac-
ter letterbug of the workstation and DEVNAME is the 1 to 6 character
logical device name of the Display Manager task.
LOCKRQ Lock Request is a boolean input which can be set true or false only by a
SETVAL command from the LOCK U/L toggle key on workstation dis-
plays. When LOCKRQ is set true in this fashion a workstation identifier
accompanying the SETVAL command is entered into the LOCKID
parameter of the block. Thereafter, set requests to any of the blocks
parameters are only honored (subject to the usual access rules) from the
workstation whose identifier matches the contents of LOCKID.
LOCKRQ can be set false by any workstation at any time, whereupon a
new LOCKRQ is accepted, and a new ownership workstation identifier
written to LOCKID.
LOOPID Loop Identifier is a configurable string of up to 32 characters which iden-
tifies the loop or process with which the block is associated. It is displayed
on the detail display of the block, immediately below the faceplate.
LOR Low Out-of-Range is a boolean output that is set true if any one of the
seven low out-of-range conditions described in Section 2.6.2 (Out-of-
Range Conditions) occurs.
LSCO1 Low Scale for Output Range 1 is a real value that defines the lower range
value for the blocks output.
2. AIN Analog Input Block B0193AX Rev AB
39


MA Manual/Auto is a boolean input that controls the blocks operating state
(0 = false = Manual; 1 = true = Auto). When in Manual, the output PNT
is only updated manually, and not otherwise. It is released and can be set
by you or an external program. When IOMOPT = 1 (indicating that
there is a connected FBM or FBC) the output value of PNT is copied at
all times (Auto or Manual) to the MEAS parameter. Alarming in Manual
is dependent on the value of MANALM.
MANALM Manual Alarm Option is a configurable input which enables or disables
configured alarm options to function in Manual mode. Normally alarms
are processed only in the Auto mode. For the AIN block, the value of 0
indicates no alarming in Manual, and the value of 1 indicates full alarming
in Manual.
MEAS Measurement is a value used as the source of the input to block operations
when IOMOPT indicates that no FBM or FBC is connected
(IOMOPT = 0 or 2). If an FBM or FBC is connected, (IOMOPT = 1)
then MEAS is treated as an output, and the value and status of PNT are
copied to the value and status of MEAS.
MTRF Meter Factor, a real input, is a scaling parameter used with the pulse rate
input signal conversion (SCI = 8) to translate an input pulse rate in Hz to
the desired engineering units of the process output. In most applications it
would be considered to have the dimension Flow Rate per Hertz.
NAME Name is a user-defined string of up to 12 characters used to access the
block and its parameters.
NASOPT Nuisance Alarm Suppression Alarm Option is a configurable, non-settable
short integer that specifies how the nuisance alarm delay is implemented:
+ 0 = Suppress nuisance alarms by delaying the Return-to-Normal
(default) by the length of time specified in NASTDB
+ 1 = Suppress nuisance alarms by delaying alarm detection by the
length of time specified in NASTDB
+ 2 = Suppress nuisance alarms by delaying both the Alarm Detec-
tion and the Return-to-Normal by the length of time specified in
NASTDB
NASTDB Alarm Deadband Timer is a configurable long integer. Depending on the
value of NASOPT, it either specifies the deadband time interval that must
elapse before an alarm condition is allowed to return to normal, or the
length of a delay-on timer which specifies the amount of time between an
alarms detection and the announcement of the alarm. The parameter
value ranges from zero (default, no delay) to 2147483647 ms.
ORAG Out-of-Range Alarm Group is a short integer input that directs Out-of-
Range alarm messages to one of eight groups of alarm devices.
B0193AX Rev AB 2. AIN Analog Input Block
40


ORAO Out-of-Range Alarm Option is a configurable boolean which, when con-
figured true, enables an alarm for each change of the out-of-range status of
the block. The block has out-of-range status if either the HOR or the
LOR parameter is true.
ORAP Out-of-Range Alarm Priority is an integer input, ranging from 1 to 5, that
sets the priority level of the out-of-range alarm (1 is the highest priority).
ORAT Out-of-Range Alarm Text is a user-configurable text string of up to
32 characters, sent with the out-of-range alarm message to identify it.
OSV Output Span Variance is a configurable real input which defines the per-
centage by which the output clamp limits exceed the output range defined
by HSCO1 and LSCO1.
OWNER Owner is a string of up to 32 ASCII characters which allocate control
blocks to applications. Attempts to set OWNER are successful only if the
present value of OWNER is the null string, an all-blank string, or identi-
cal to the value in the set request. Otherwise the request is rejected with a
LOCKED_ACCESS error. OWNER can be cleared by any application by
setting it to the null string; this value is always accepted, regardless of the
current value of OWNER. Once set to the null string, the value can then
be set as desired.
PERIOD Period is an indexed input that dictates the blocks execution time base
and allowable PHASE values. For stations other than Integrators and
Gateways, PERIOD values range from 0 to 13 and map to the
following period time lengths. (Integrator and Gateway blocks have differ-
ent period values than shown here.)
* If the BPC is 0.2 sec., this period is treated internally as 0.6 sec., but the
PERIOD parameter remains 1.
** If the BPC is 2.0 sec., this period is treated internally as 6.0 sec., but the
PERIOD parameter remains 10.
*** If the BPC is 0.5 sec., this period is treated internally as 0.5 sec., but
the PERIOD parameter remains 11.
**** If the BPC is not 2.0 sec., this period is treated internally as 5.0 sec.,
but the PERIOD parameter remains 12.
Period Length Period Length
0 0.1 sec 7 10 min
1 0.5 sec* 8 60 min
2 1.0 sec 9 0.2 sec
3 2.0 sec 10 5.0 sec**
4 10 sec 11 0.6 sec***
5 30 sec 12 6.0 sec****
6 1 min 13 0.05 sec*****
2. AIN Analog Input Block B0193AX Rev AB
41


***** Available in CP40, CP40B, CP60 and later control processors.
PERTIM Period Time is the period of the block expressed in seconds.
PHASE Phase is an integer input that causes the block to execute at a specific BPC
within the time determined by the PERIOD. For instance, a block with
PERIOD of 3 (2.0 sec) can execute within the first, second, third, or
fourth BPC of the 2-second time period, assuming the BPC of the Con-
trol Processor is 0.5 sec. Refer to the appropriate Integrated Control Soft-
ware Concepts document (B0700AG or B0193AW).
PNT Point is the block output. It represents the analog input after all block
operations have been performed.
PNT_NO Point Number is the FBM or FBC point to which the AIN block is con-
nected. In the case of IFD inputs, the value of PNT_NO is the same as
the CHAN parameter of the child ECB18 if the desired input is the pri-
mary measurement of the instrument. If the first or second auxiliary mea-
surement is desired, see Section 2.5.2.6 to determine the required value of
PNT_NO.
PROPT Propagate Error Option is a boolean input which determines whether the
status of MEAS should be reflected in the Error bit of PNT status. If the
AIN block is in Auto and no FBM or FBC is configured (IOMOPT = 0
or 2), the true value of PROPT causes any one of the following conditions
to be reflected as an Error status of PNT:
+ Bad status bit in MEAS
+ OOS status bit in MEAS
+ Error status bit in MEAS
+ Any value in the OM field of the input source except 1
(ON_SCAN). Any other value in this field indicates that the
source of the connection has been deleted or is in a nonexistent
compound, or there has been a peer-to-peer path failure.
PRTYPE Priority Type is an indexed output parameter that indicates the alarm type
of the highest priority active alarm. The PRTYPE output of this block
consists of the following alarm types:
0 = No active alarm
1 = High Absolute
2 = Low Absolute
3 = High-High Absolute
4 = Low-Low Absolute
8 = Bad
25 = Out-of-Range
If there is more than one active alarm with highest priority, PRTYPE
reports the alarm type according to which occurs first as follows: Out-of-
B0193AX Rev AB 2. AIN Analog Input Block
42


Range, High-High Absolute, Low-Low Absolute, High Absolute and Low
Absolute.
For example: if the Bad and High-High Absolute alarms both have prior-
ity 3 and the Out-of-Range alarm has priority 4, and all three alarms are
active, then CRIT = 3 and PRTYPE = 8.
QALSTA Quality Status parameter (QALSTA) is a non-configurable packed long
that provides a combination of value record status, block status (BLK-
STA), and alarm status (ALMSTA) information in a single connectable
output parameter. Available bits for this block are provided below.
RAWC Raw Count is the value read from the ECB into the block before any form
of signal conditioning, characterization, scaling, clamping or filtering is
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
Bit
Number
1
Definition Contents
Boolean Connection
(B32 to B1)
30 Alarms Unacknowledged ALMSTA.UNA QALSTA.B2
29 Alarms Inhibited ALMSTA.INH QALSTA.B3
28 Out-of-Range Alarm ALMSTA.OOR QALSTA.B4
25 High-High Absolute Alarm ALMSTA.HHA QALSTA.B7
24 Low-Low Absolute Alarm ALMSTA.LLA QALSTA.B8
22 Bad Alarm
2
ALMSTA.IOBD QALSTA.B10
17 High Absolute Alarm ALMSTA.HMA QALSTA.B15
16 Low Absolute Alarm ALMSTA.LMA QALSTA.B16
13 Bad Primary FBM BLKSTA.FBM1 QALSTA.B19
10 Bad Primary Point BLKSTA.BAD1 QALSTA.B22
5 Manual BLKSTA.MA QALSTA.B27
4 Low Limited PNT.LLO status QALSTA.B28
3 High Limited PNT.LHI status QALSTA.B29
2 Uncertain PNT.ERR status QALSTA.B30
1 Out-of-Service PNT.OOS status QALSTA.B31
0 Bad PNT.BAD status QALSTA.B32
1.
Bit 0 is the least significant, low order bit.
2.
This bit records the status of the primary input (PNT). This status is the inverse of
the Manual/Auto (MA) status bit in BLKSTA. This bit is not available for I/A Series
software earlier than v8.0.
2. AIN Analog Input Block B0193AX Rev AB
43


applied. It is of real data type although the ECB value may be integer, or
long integer.
RO1 Range Output 1 is a real array consisting of the three parameters HSCO1,
LSCO1, and DELTO1. The array members are configured by their indi-
vidual names; however, RO1 and its members can be accessed on an array
basis by user tasks and displays.
SCI Signal Conditioning Index is an indexed input parameter that determines
how the raw count input will be conditioned. It is an alternate to charac-
terization and a predecessor to scaling, clamping and filtering. (See
Appendix A Signal Conditioning Tables on page 67.)
TYPE When you enter AIN or select it from a configurator list, an identifying
integer is created specifying this block type.
UNACK Unacknowledge is a boolean output parameter which is set true, for notifi-
cation purposes, whenever the block goes into alarm. It is settable, but sets
are only allowed to clear UNACK to false, and never in the opposite direc-
tion. The clearing of UNACK is normally via an operator acknowledge
pick on a default display, user display, or Current Alarms Display, or via a
user task.
XREFIN External Reference Input is a real input used as the source of the cold
junction reference temperature for thermocouple SCIs when XREFOP is
configured true, or no FBM or FBC is configured. The block calculations
assume that XREFIN is in units of degrees Celsius.
XREFOP External Reference Option is a boolean input. When true, XREFOP
selects an external temperature measurement source, XREFIN, to be used
for thermocouple cold junction compensation. If XREFOP is false, the
FBMs internal ninth channel (or the FBCs internal thirty-third channel)
is used. XREFOP is configurable only.
ZERROP Zero Error Point is a status bit that indicates an out-of-range error (LOL
or LOR) in a DOWNSTREAM parameter (PNT.ERR) and also to indi-
cate an unconditional request for initialization in an UPSTREAM param-
eter (BCALCO.INITU). Normally, these usages are mutually exclusive
and there is no conflict. However, in some control applications where a
DOWNSTREAM parameter is used as part of an UPSTREAM connec-
tion, a High Out-of-Range (HOR) or Low Out-of-Range (LOR) condi-
tion can be misinterpreted as an unconditional initialization (INITU)
request. ZERROP is not configurable. To disable the setting of PNT.ERR
when out-of-range, you must use OMSET, OMA, or some other utility to
set ZERROP = 1.
ZERROP is a non-configurable boolean parameter with the following
meaning:
ZERROP = 0 set PNT.ERR when out of range (default setting, backward
compatible with previous version)
B0193AX Rev AB 2. AIN Analog Input Block
44


ZERROP = 1 do not set PNT.ERR when out of range
NOTE
PNT.ERR status can also be set when propagating (PROPT = 1) a simulated input
(IOMOPT = 0) and the measurement (MEAS) is BAD, OOS ERR, or Discon-
nected. This action is unaffected by the ZERROP option.
2.5 Functions
2.5.1 Detailed Diagram
Figure 2-2. AIN Block Operational Diagram
PNT
MEAS
AUTO
MANUAL
AND
FROM
ECB
KSCALE
BSCALE
FLOP
FTIM
LOR, HOR OR
IOM_ID
(M)
(A)
HSCO1
LSCO1
OSV
RAWC
MA
o o
o
output
units
OR
AND
BAO
BAD
Alarming
PNT_NO
IOMOPT
1
SCI
XREFOP
XREFIN
EXTBLK
Signal
Conditioning-
Converted-
OOR
LSCO1 HSCO1
Raw Data
OOR
Test
BADOPT
ECB Status
Channel
Status
BAD
PNT.BAD
BLKSTA.BAD
MANALM
See individual diagrams
Clamping
Scaling Filtering
0,2
2. AIN Analog Input Block B0193AX Rev AB
45


2.5.2 Input and Signal Conditioning
2.5.2.1 General Analog Input: 0 to 20 mA or 0 to 10 V dc
Figure 2-3. General Analog Input Example
You specify the source FBM or FBC in the Fieldbus Module Identifier (IOM_ID) parameter, and
the point within the FBM or FBC by the Point Number (PNT_NO) parameter. The following
are the FBMs or FBCs and point numbers providing general analog input:
FBM ECB Functional Description Electrical Type Valid Points
FBM201 ECB1 8 Analog In 0 to 20 mA Points 1 to 8
FBM204 ECB2 4 Analog In, 4 Analog Out 0 to 20 mA Points 1 to 8
FBM205 ECB2 As FBM 204, Redundant 0 to 20 mA Points 1 to 8
FBM211 ECB1 16 Analog In 0 to 20 mA Points 1 to 16
FBM01 ECB1 8 Analog In 0 to 20 mA Points 1 to 8
FBM04 ECB2 4 Analog In, 4 Analog Out 0 to 20 mA Points 1 to 8
FBM05 ECB2 As FBM 04, Redundant 0 to 20 mA Points 1 to 8
FBM06 ECB4 4 Pulse Rate In, 4 Analog Out 0 to 20 mA Points 5 to 8
FBM17 ECB9,
33 to 36
4 Analog In, 2 Analog Out,
4 Digital In, 4 Digital Out
0 to 10 V dc Points 1 to 6
FBM39 ECB23 4 IFD In, 4 Analog Out 0 to 20 mA Points 5 to 8
FBM44
FBM243
ECB23 4 IFD In, 4 Analog Out, Dual
Baud Rate
0 to 20 mA Points 5 to 8
FBM46
FBM246
ECB38R 4 IFD In, 4 Analog Out,
Redundant
0 to 20 mA Points 5 to 8
FBC21 ECB41 16 Analog In 0 to 20 mA Points 1 to 16
FBC01 ECB41 32 Analog In 0 to 20 mA Points 1 to 32
FBC17 ECB41 32 Analog In 0 to 10 V dc Points 1 to 32
FBC04 ECB43 16 Analog Out 0 to 20 mA Points 1 to 16
Input = Raw Counts
Linearization
RAWC
Channel Status
FBM Status
HOR/LOR
hor, lor
X
KSCALE BSCALE
Clamping Filtering
HSCO1
LSCO1
OSV
FLOP
FTIM
Engineering
Units
hor, lor
BAD
BADOPT
Alarming
BAD
ABSOLUTE
Alarming
LASTGV
BAD
PNT
SCI = 0-7, 9-10
o
o o
(A)
(M)
output
units
INPUT FROM FBM 01 (General Analog Input)
2.5.2.1
2.5.4 2.5.5
2.7
2.7
MA
+
B0193AX Rev AB 2. AIN Analog Input Block
46


The following points in the above table are physical outputs rather than physical inputs. You can
use the readback values from these points as inputs to the AIN block:
If FBM Option (IOMOPT) is not set to 1, then IOM_ID and PNT_NO are ignored. The input
is taken from another block, as described in Section 2.5.2.8.
General analog inputs are converted by the FBM or FBC from the electrical process input into a
form called raw count, which is an integer value between 0 and 64000. Based on the Signal
Conditioning Index (SCI) and the parameter Extender Block (EXTBLK) setting, a determination
is made as to how the raw count is to be conditioned.
If you wish the raw count to be characterized by a CHARC block, you should link the Extender
Block (EXTBLK) parameter of the AIN block to a CHARC block, and set the Extender Block
Option (EXTOPT) of that CHARC block to 1. The raw count is then characterized as described
below, and the value of SCI will be ignored. The characterizer output should be expressed in
counts, with full scale equal to 64000.
If you wish to apply linear or square root signal conditioning to the raw count, you should set SCI
to one of the values 0 to 7, or 9 to 15 as follows:
FBM204: Points 5 to 8
FBM205: Points 5 to 8
FBM05: Points 5 to 8
FBM237: Points 1 to 8
FBM06: Points 5 to 8
FBM17: Points 5 to 6
FBM37 Points 1 to 8
FBM39: Points 5 to 8
FBM44: Points 5 to 8
FBM46:
FBM246
Points 5 to 8
FBC04: Points 1 to 16
SCI = 0: No linearization; output = input
SCI = 1: Linear (0 to 64000). Analog Input 0 to 20 mA
SCI = 2: Linear (1600 to 64000). Analog Input 0 to 10 V dc
SCI = 3: Linear (12800 to 64000). Analog Input 4 to 20 mA
SCI = 4: Square root (0 to 64000). Analog Input 0 to 20 mA
SCI = 5: Square root (12800 to 64000), clamped. Analog Input 4 to 20 mA
SCI = 6: Square root, low cutoff (0 to 64000), clamp < 3/4%. Analog Input 0 to 20 mA
SCI = 7: Square root, low cutoff (12800 to 64000), clamp < 3/4%. Analog Input 4 to 20 mA
SCI = 9: Linear, low cutoff (1600 to 64000). Analog Input 0 to 10 V dc
SCI = 10: Linear, low cutoff (12800 to 64000). Analog Input 4 to 20 mA
SCI = 11 Square root, Intelligent Transmitter 2 (0 to 64000)
SCI = 12: Linear (14080 to 64000). Analog Input 2 to 10 V dc
2. AIN Analog Input Block B0193AX Rev AB
47


Linear/Square Root Signal Conversion
Key Parameters: SCI, HSCO1, LSCO1, OSV
(See the definitions of the linear and square root SCI conversions in Appendix A Signal Condi-
tioning Tables on page 67.)
Each linear SCI has an associated input span, consisting of the difference between the upper and
lower range values of the raw value. For example, SCI = 2 has an input span of 64000 minus
1600, or 62400, as shown in Appendix A Signal Conditioning Tables on page 67. The upper
range value is always 64000 for any SCI, and the lower range value, which varies from one SCI to
another, is referred to as the raw low for the SCI.
The block also has an output span, which is the difference between the configured parameters
High Scale for Output Range 1 (HSCO1) and Low Scale for Output Range 1 (LSCO1).
If the raw value is greater than or equal to
64000.0 + Output Span Variance (OSV)/100.0 * (the input span of this SCI)
then High Out-of-Range (HOR) is set. Based on the two parameters Bad and Out-of-Range
Option (BADOPT) and Last Good Value (LASTGV), the value is either used or ignored, as
described in detail in Section 2.6.
Similarly, if the raw value is less than or equal to
(the raw low for this SCI - OSV/100.0) * (the input span of this SCI),
then Low Out-of-Range (LOR) is set. Based on BADOPT and LASTGV, the value is either used
or ignored, as described in Section 2.6.
The raw value is then converted according to the SCI definitions in Appendix A Signal Condi-
tioning Tables on page 67.
Characterizer Signal Conversion
Key Parameters: EXTBLK, EXTOPT
If EXTBLK is linked to a CHARC block whose EXTOPT parameter is set to 1 or 2, then this is a
characterizer signal conversion.
SCI = 13: Square root, low cutoff (14080 to 64000). Analog Input 2 to 10 V dc
SCI = 14 Linear (0 to 16383)
SCI = 15 Square root, low cutoff (1600 to 64000)
SCI = 50: Linear 0 to 65535 raw counts
SCI = 51: Linear -32768 to 32767 raw counts
SCI = 52: Linear 0 to 32767 raw counts
SCI = 53: Linear 0 to 1000 raw counts
SCI = 54: Linear 0 to 9999 raw counts
SCI = 55: Linear 0 to 2048 raw counts
SCI = 56: Linear 409 to 2048 raw counts
SCI = 57: Square root 0 to 2048 raw counts
SCI = 58: Square root 409 to 2048 raw counts with low cutoff
SCI = 59: Linear 0 to 4095 raw counts
B0193AX Rev AB 2. AIN Analog Input Block
48


The raw value from the input is passed to the CHARC block specified, and the resulting output
from the characterizer is then scaled (if not already accomplished by the characterization),
clamped, and optionally filtered.
If the CHARC input is outside the characterizer end-points, and BADOPT indicates that an out-
of-range in that direction is to be considered Bad status and LASTGV is true, then the value of
PNT is not updated this cycle, and the filter is re-initialized if Filter Option (FLOP) is non-zero.
2.5.2.2 Thermocouple Input
Figure 2-4. Thermocouple Input Example
The following FBMs or FBCs and point numbers provide thermocouple inputs:
If IOMOPT is not set to 1, then IOM_ID and PNT_NO are ignored. The input is taken from
another block, as described in Section 2.5.2.8.
A temperature input read from a thermocouple must be linearized before it can be used. The tem-
perature value must also be compensated for the thermocouples cold junction temperature. You
can obtain this value from Point 9 (FBM202, FBM02, or FBM36), Point 15 (FBM212), or Point
33 (FBC02), or it may be provided directly as a temperature value by setting XREFOP true and
providing the compensation temperature, in degrees Celsius, in the XREFIN parameter. The
engineering unit value obtained from signal conditioning is always in degrees Celsius. KSCALE
FBM ECB Functional Description Electrical Type Valid Points
FBM202 ECB1 8 Analog In mV Points 1 to 8
FBM212 ECB1 14 Analog In mV Points 1 to 14
FBM02 ECB1 8 Analog In mV Points 1 to 8
FBM36 ECB1 8 Analog In mV Points 1 to 8
FBC02 ECB41 32 Analog In mV Points 1 to 32
FBC02
Redundant
ECB41 32 Analog In, Redundant mV Points 1 to 32
Linearization
Channel Status
FBM Status
hor,lor
X
+
KSCALE BSCALE
(1.8) (32.0)
SCI = 20-28
Cold
Junction
Compensation
XREFOP
XREFIN
Input =
Raw Counts
Channel 9
External
Block
hor, lor
o
o
C
F
INPUT FROM FBM 02/36 (Thermocouple Input)
2.5.2.2
2. AIN Analog Input Block B0193AX Rev AB
49


and BSCALE can be used to convert the engineering units from Celsius to Fahrenheit. To do this,
enter KSCALE = 1.8 and BSCALE = 32.0 (see Section 2.5.3).
Thermocouple inputs are converted in the FBM or FBC from millivolts into raw counts in the
range 0 to 64000. This conversion is reversed by the CP when you specify a SCI value between 20
and 28 or you specify Special Thermocouple signal conversion.
When you apply thermocouple signal conditioning to the raw count, you should set SCI to one of
the values 20 to 28 as follows:
The SCI specifies which thermocouple curve is to be used for the input signal. Unlike the general
SCIs 0 through 11, where you must tell the system what engineering units are associated with the
raw counts, with a thermocouple SCI the system knows what temperature range goes with each
SCI. The entire temperature range of the thermocouple is available to you, as it is stated in
Appendix A Signal Conditioning Tables on page 67. HSCO1 and LSCO1 are only used to
specify what portion of the range is to be used for display purposes, and for calculating percent of
range for peer-to-peer connections.
Thermocouple Signal Conversion
Key Parameters: IOM_ID, PNT_NO, SCI, XREFOP, XREFIN, KSCALE, BSCALE
(The details of thermocouple signal conversions are listed in Appendix A Signal Conditioning
Tables on page 67.)
Cold junction compensation is now computed:
+ The Point 9 value from the FBM202, FBM02, or FBM36, the Point 15 value from
the FBM212, or the Point 33 value from the FBC02 is ordinarily used for cold junc-
tion compensation. It provides the cold junction temperature from an RTD sensor
within the FBM on the ninth channel, or within the FBC on the thirty-third channel.
It is converted back from raw count to ohms in the CP.
+ The RTD conversion table for SCI 43 (100 Ohm IEC) is used to convert the Point 9,
Point 15, or Point 33 value from ohms to degrees Celsius. If the ohms value exceeds
the highest or lowest ohms values in this table, it is clamped at those values, the HOR
or LOR block parameter is set true, and the processing described in Section 2.6
occurs.
+ However, if the External Reference Option (XREFOP) is true or if IOMOPT indi-
cates that there is no FBM or FBC connected, the external reference in the External
Reference Input (XREFIN) is used. This must already be in degrees Celsius.
SCI = 20: Type B Thermocouple
SCI = 21: Type E Thermocouple
SCI = 23: Type J Thermocouple
SCI = 24: Type K Thermocouple
SCI = 25: Type N Thermocouple
SCI = 26: Type R Thermocouple
SCI = 27: Type S Thermocouple
SCI = 28: Type T Thermocouple
B0193AX Rev AB 2. AIN Analog Input Block
50


+ The Thermocouple conversion table for the SCI in use is entered with the degrees
Celsius value of the cold junction compensation and converted to the corresponding
millivolt value. The compensation in millivolts is added to the basic millivolt value,
and the table is entered again to convert to degrees Celsius. But if the sum is out of the
table range for millivolts then parameter LOR or HOR is set true and the processing
of Section 2.6 occurs. If LASTGV is true, then the value of PNT is not updated this
cycle, and the filter is re-initialized.
Special Thermocouple Signal Conversion
Key Parameters: EXTBLK, EXTOPT
You can specify Special Thermocouple Signal Conversion if the thermocouple does not conform
to one of the standard types in Appendix A Signal Conditioning Tables on page 67. In this
case you should link the Extender Block parameter (EXTBLK) to a CHARC block whose
Extender Block Option (EXTOPT) parameter is set to 2.
The compensation reference in degrees Celsius, however obtained, is passed to the CHARC block
specified by EXTBLK. It is used at this time to perform reverse characterization; that is, it is
entered with the passed degrees Celsius value and the corresponding millivolt equivalent is
returned.
The returned reference millivolts are added to the raw value and this sum is passed to the CHARC
block as the input. The corresponding output is the equivalent degrees Celsius.
If the CHARC input is out of range then parameter LOR or HOR is set true and the processing
of Section 2.6 occurs. If LASTGV is true, then the value of PNT is not updated this cycle, and
the filter is re-initialized.
2.5.2.3 RTD Input
Figure 2-5. RTD Input Example
Input = Raw Counts
Linearization
RAWC
Channel Status
FBM Status
hor,lor
X +
KSCALE BSCALE
SCI = 40-44
o
C
o
F
INPUT FROM FBM 03 (RTD Input)
2.5.2.3
2. AIN Analog Input Block B0193AX Rev AB
51


The following FBM and point numbers provide RTD inputs:
In addition, the input data at Point 9 of an FBM202, FBM02, or FBM36, Point 15 of an
FBM212, or Point 33 of an FBC02, the cold junction compensation channel of thermocouple
inputs, originates in an RTD device within the FBM or FBC, and must be conditioned accord-
ingly before its use.
If you wish to apply RTD signal conditioning to the raw count, you should set SCI to one of the
values 40 to 44 as follows:
RTD Signal Conversion
Key Parameters: IOM_ID, PNT_NO, SCI
(The details of RTD signal conversions are listed in Appendix A Signal Conditioning Tables
on page 67.)
The raw count value is converted back into ohms. The RTD conversion table for this SCI is
entered with the ohms value and it returns the equivalent in degrees Celsius. If the entered ohms
value is outside the table limits, the input is clamped at the lowest or highest ohms value, and
LOR or HOR is set. Based on BADOPT and LASTGV, this clamped value is either used or
ignored, as described in Section 2.6.
As in the case of thermocouple inputs, HSCO1 and LSCO1 are not key parameters because the
signal conditioning understands what the engineering unit range is for a particular SCI. The
entered range is only used for display purposes, and for calculating percent of range for peer-to-
peer connections.
FBM ECB Functional Description Electrical Type Valid Points
FBM203 ECB1 8 Analog In ohms Points 1 to 8
FBM213 ECB1 8 Analog In ohms Points 1 to 8
FBM03 ECB1 8 Analog In ohms Points 1 to 8
FBM33 ECB1 6 Analog In ohms Points 1 to 8
SCI = 40: Copper RTD (SAMA)
SCI = 41: Nickel RTD (SAMA)
SCI = 42: Platinum RTD (100 Ohm DIN 43760-1968)
SCI = 43: Platinum RTD (100 Ohm IEC) (DIN 43760-1980)
SCI = 44: Platinum RTD (100 Ohm SAMA)
B0193AX Rev AB 2. AIN Analog Input Block
52


2.5.2.4 Pulse Rate Input
Figure 2-6. Pulse Rate Input Example
Key Parameters: SCI, MTRF
The following FBM and point numbers provide pulse rate inputs:
To apply pulse rate signal conditioning to the raw count, set SCI = 8. See the definition of this
SCI in Appendix A Signal Conditioning Tables on page 67.
The Pulse Constant defined in the appendix converts the raw count in the ECB4 into the units of
Hertz. You must set Meter Factor (MTRF) with the value necessary to convert Hertz into the
configured Engineering Units for Output Range 1 (EO1). Typically MTRF is in units of Flow
Rate per Hertz.
For example, suppose a meter with an output factor of 50 pulses/gallon has a maximum flow rate
of 100 gallons/minute. Then:
+ The maximum pulse rate is 5000 pulses per minute.
+ 5000 pulses per minute = 83.3 pulses per second (Hertz).
+ MTRF = 100/83.3 = 1.2 (Gallons/minute per Hertz).
+ EO1 = GPM (Gallons Per Minute).
You can apply pulse rate signal conditioning to the first four points of FBM06 and linear/square
root or characterizer signal conditioning to the last four points independently.
FBM ECB Functional Description Electrical Type Valid Points
FBM206 ECB4 8 Pulse rate In Frequency Points 1 to 8
FBM06 ECB4 4 Pulse rate In, 4 Analog Out Frequency Points 1 to 4
Raw Count
to Hertz
Input = 32
bit Raw Count
SCI = 8
Hertz to
Flow Rate
MTRF
Channel Status
FBM Status
INPUT FROM FBM 06 (Pulse Rate Input)
2.5.2.4
2.5.2.4
2. AIN Analog Input Block B0193AX Rev AB
53


2.5.2.5 Pulse Count Input
Key Parameters: IOM_ID, PNT_NO
The following FBMs and point numbers provide pulse count inputs:
Pulse count inputs are transferred as is to the output PNT. You cannot condition, characterize,
scale, clamp, or filter pulse count inputs. The entered value of SCI is ignored.
2.5.2.6 Intelligent Field Device Input
Key Parameters: EO1
Figure 2-7. Intelligent Field Device Input Example
The following FBMs and point numbers provide Intelligent Field Device inputs:
FBM ECB Functional Description Electrical Type Valid Points
FBM07 ECB7 16 Digital In/Pulse Count In Contact/dc Points 1 to 16
FBM12 --- Expander for FBM 07 Contact/dc Points 17 to 32
FBM08 ECB7 16 Digital In/Pulse Count In 120 V ac Points 1 to 16
FBM13 --- Expander for FBM 08 120 V ac Points 17 to 32
FBM ECB Functional Description Electrical Type Valid Points
FBM18 ECB12 8 IFD In IFD Points 1 to 24
FBM39 ECB23 4 IFD In, 4 Analog Out IFD, 0 to 20 mA Points 1 to 4, 9 to 12,
17 to 20
FBM43 ECB12
ECB 73
8 IFD In IFD, 0 to 20 mA,
Dual Baud Rate
Points 1 to 24
FBM44 ECB23 4 IFD In, 4 Analog Out IFD, 0 to 20 mA,
Dual Baud Rate
Points 1 to 4, 9 to 12,
17 to 20
RAWC
Channel Status
FBM Status
X +
KSCALE BSCALE
INPUT FROM FBM18 (IFD Input)
Input Engineering Units
Output
Engineering
Units
SCI = 0
B0193AX Rev AB 2. AIN Analog Input Block
54


For FBM18, 43, and 243 the primary measurements of the eight instruments are input on
Points 1 to 8 respectively, the first auxiliary measurements are on Points 9 to 16 respectively, and
the second auxiliary measurements are on Points 17 to 24 respectively. These numbers should be
entered into PNT_NO.
For FBM39, 44, 46, and 246 the primary measurements of the four instruments are input on
Points 1 to 4 respectively, the first auxiliary measurements are on Points 9 to 12 respectively, and
the second auxiliary measurements are on Points 17 to 20 respectively. These numbers should be
entered into PNT_NO. (Points 5 to 8 contain the analog output readback values and may be pro-
cessed as described in Section 2.5.2.1.)
You should configure the DEV_ID parameter of a parent ECB (12, 23, 38R, or 73) with the let-
terbug of the associated FBM (18, 39, 43, 44, 46, 243, or 246). The DEV_ID of the AIN block
is a non-configurable data store which always matches the DEV_ID of the parent ECB. The
DEV_ID of the child ECB18 can be any 6-character array, which, after Release 4.0, is no longer
required to match the DEVNAM parameter.
The PARENT parameter of the child ECB18 is identical to the DEV_ID parameter of the parent
ECB (12, 23, 38R, or 73) when the ECB is installed by the System Configurator/Definition. If
you install the child ECB18 manually via the Integrated Control Configurator, you must set the
PARENT parameter with the pathname to the NAME parameter of the parent ECB (12, 23,
38R, or 73). This pathname must be of the form <local_compound_name>:<ecb_name> unless
the parent is in the compound <cp_letterbug>_ECB (the ECB compound), in which case the
pathname <ecb_name> is also acceptable. The DEV_ID of the parent is not accepted as the value
of PARENT.
Intelligent Field Device inputs can also be read directly from the child ECB18s by connecting the
Measurement (MEAS) input of the AIN block to certain ECB18 output parameters. This
method is described in Section 2.5.2.8.
The inputs from Intelligent Field Devices, HTG Interface Units, and Coriolis (Mass Flow) Trans-
mitters are floating point values which are normally expressed in the final output units specified
by EO1. However, you can apply characterization (see Section 2.5.2.1), scaling (see
Section 2.5.3), clamping (see Section 2.5.4), and/or filtering (see Section 2.5.5) if required by the
application. If you do not wish to apply characterization, you should set SCI to 0.
FBM46 ECB38R 4 IFD In, 4 Analog Out IFD, 0 to 20 mA,
Dual Baud Rate,
Redundant
Points 1 to 4, 9 to 12,
17 to 20
FBM243 ECB 73 8 IFD In/Out IFD, 0 to 20 mA,
Dual Baud Rate
Points 1 to 4, 9 to 12,
17 to 20
FBM246 ECB73 8 IFD In/Out IFD, 0 to 20 mA,
Dual Baud Rate,
Redundant
Points 1 to 4, 9 to 12,
17 to 20
FBM23 ECB13 24 Floating Point In HTG Points 1 to 24
FBM38 ECB22 8 Floating Point In Coriolis Points 1 to 8
FBM ECB Functional Description Electrical Type Valid Points
2. AIN Analog Input Block B0193AX Rev AB
55


2.5.2.7 Exceptions for Use of AIN Blocks with Intelligent Transmitters
and Positioners (Parent ECB73)
When configuring a control strategy for intelligent transmitters, it may not be necessary for you
to configure AIN blocks. The existing ECB structure may provide the values that might otherwise
be read by AIN blocks. Alarming and trending can be performed on values obtained directly from
the ECBs. If you use window ECBs and a parent/child ECB structure, output from a child ECB
(ECB18, ECB74) can provide input to other blocks (such as the PID block) rather than an AIN
block providing the input.
For example, an Intelligent Positioner is driven through an FBM43 that provides support for up
to eight intelligent transmitters and positioners. The eight channels of this FBM are accessed
through a parent ECB73. The positioner occupies one channel of the FBM and is accessed
through an ECB74 as a child of the ECB73. The measurement value used in the control loop can
be provided in several ways: a separate analog signal through a simple FBM; a signal from an intel-
ligent transmitter through a separate FBM; or a signal from an intelligent transmitter through the
same FBM43 that the positioner uses. Figure 2-8 illustrates this third case. A child ECB18 from
an intelligent transmitter provides the loop's measurement.
Figure 2-8. Typical Configuration for Intelligent Transmitters with Window ECB
AIN
PNT
PID
Water
MEAS
OUT
ECB18
ECB73
FBM43/243
IT
Intelligent Positioner Intelligent Transmitter
ECB74
REALM
or
MEALM
Optional Real (REALM)
or Measurement (MEALM)
Alarm Block
AOUT
REALM
or
MEALM
Optional Real (REALM)
or Measurement (MEALM)
Alarm Block
or
or
To Displays and
Maintenance
Data Collection
B0193AX Rev AB 2. AIN Analog Input Block
56


The output of the ECB74 can be linked directly to graphics, historical data collection, and other
blocks (such as the AOUT or PID), without using an AIN block interface.
This measurement can be passed to the PID MEAS parameter through an AIN block, or it may
be accessed directly by connecting MEAS to the ECB18's MEAS1, MEAS2, or MEAS3 parame-
ter. The AIN need only be used if filtering is desired. Measurement alarming can be performed, if
desired, by a measurement alarm block (MEALM) or a real alarm block (REALM) connected to
the ECB18 MEASn parameter or to the PID's MEAS parameter.
Figure 2-8 shows a typical configuration for FBM43/243 and its associated ECBs for an Intelli-
gent Positioner.
When AIN blocks read inputs from FBMs (non-intelligent input), IOMOPT is set to 1 (default
value; input values from the FBM or FBC input point specified by IOM_ID and PNT_NO).
When you use AIN with intelligent devices and their parent/child ECBs, set IOMOPT to 0
(input values from the MEAS parameter and signal conditioning is applied), or 2 (input values
from the MEAS parameter with no signal conditioning).
Refer to Section 2.5.2.8 for additional information on AIN input from another block.
If redundant analog or intelligent inputs are desired, an AINR block must be used since that is the
location for arbitration of analog inputs. Redundant out puts are not supported.
2.5.2.8 Input from Another Block
Key Parameters: MEAS, SCI
There are two ways to make use of the ability to take the input to AIN from another block:
+ Process simulation without a connected FBM or FBC
+ Connection to a Window ECB.
In either case, you should set IOMOPT to 0 or 2. This causes the block input to be taken from
the Measurement (MEAS) parameter, and the settings of IOM_ID, DEV_ID, and PNT_NO are
ignored.
In the process simulation application, you can connect any desired source to MEAS.
To take the block input from a Window ECB, you should configure the source connection to
MEAS in the format:
<compound_name>:<window_ecb_name>.<parameter>
where <compound_name> is the compound containing the Window ECB, <window_ecb_name>
is the NAME parameter of the Window ECB, and <parameter> is the measurement value to be
read.
The Window ECB can be in any compound, and where there is a parent-child relationship (for
example, ECB12 and ECB18) the parent and child need not be in the same compound.
Each measurement in a Window ECB has two values:
+ The device value, which is the actual measurement as reported by the instrument. It
is connectable but not settable.
+ The point value, which is the device value after any desired bypassing, last good
value retention, or setting for simulation purposes. It is connectable and settable.
The measurements in the ECB18 and ECB22 follow the convention that the device values are
named IVALx, and the corresponding point values are named MEASx. The ECB13 has both
2. AIN Analog Input Block B0193AX Rev AB
57


device and point values for each of its 24 measurements, but their names do not follow this con-
vention (see ECB13 - Hydrostatic Tank Gauge).
If you set IOMOPT to 0, you can use any valid SCI value to condition the input, or use charac-
terization as described in Section 2.5.2.1. If IOMOPT is set to 2, you cannot use signal condi-
tioning or characterization, and the values of SCI and EXTBLK are ignored.
In either case (IOMOPT = 0, IOMOPT = 2) you can use scaling (see Section 2.5.3), clamping
(see Section 2.5.4), and/or filtering (see Section 2.5.5).
Since MEAS becomes an input, the normal copying of the PNT output to MEAS is suspended.
2.5.3 Zero and Span Scaling
Key Parameters: KSCALE, BSCALE
Following any signal conditioning or characterization that is applied, you can then scale the con-
ditioned signal by application of the Gain Scale (KSCALE) and Offset Scale (BSCALE) parame-
ters in accordance with the formula:
Scaled Value = (Conditioned Value * KSCALE) + BSCALE.
Scaling allows the conditioned value to be made dimensionally compatible with the desired out-
put units, as for example in conversion from Celsius to Fahrenheit scales in the case of tempera-
ture measurements. In that conversion, KSCALE is 1.8 and BSCALE is 32.0.
You will generally find scaling useful only when applying thermocouple or RTD signal
conditioning.
You do not ordinarily need to use scaling when linear/square root signal conditioning is applied,
since that already involves conversion into the final output units. (See Section 2.5.2.1and
Appendix A Signal Conditioning Tables on page 67.)
Similarly, if you use special thermocouple signal conditioning or characterization, you can define
the piecewise linear segments so as to accomplish final output unit conversion.
Pulse rate inputs should be converted into final output units by proper calculation of MTRF (see
Section 2.5.2.4).
Inputs from Intelligent Field Devices are usually in final output units when received from the
devices themselves (see Section 2.5.2.6).
Pulse count inputs may not be scaled (see Section 2.5.2.5).
To ignore the scaling function, leave KSCALE at the default value of 1 and leave BSCALE at the
default value of 0.
2.5.4 Clamping
Key Parameters: HSCO1, LSCO1, OSV, HOR, LOR, LASTGV
Clamping keeps the linearized and converted value within the blocks engineering units range, as
determined by HSCO1 and LSCO1.
The scaled value is clamped as follows:
Compute the Low and High Clamp Values:
Low Clamp Value = LSCO1 - ((OSV/100.0) * (HSCO1 - LSCO1))
High Clamp Value = HSCO1 + ((OSV1/100.0) * (HSCO1 - LSCO1))
If Scaled Value s Low Clamp Value then:
B0193AX Rev AB 2. AIN Analog Input Block
58


Scaled Value = Low Clamp Value
Parameter Low Out-of-Range (LOR) is set true
If BADOPT so specifies, parameter Bad (BAD) is also set true.
If Scaled Value > High Clamp Value then:
Scaled Value = High Clamp Value
Parameter High Out-of-Range (HOR) is set true.
If BADOPT so specifies, parameter Bad (BAD) is also set true.
Based on BADOPT, LASTGV, IOMOPT, and the SCI in use, the value is either used or ignored,
as described in Section 2.6.
Parameter OSV (Output Span Variance) is provided to keep signals that are fluctuating right at
the high or low end of the range from continually setting and resetting the HOR or LOR condi-
tion. There is not a traditional deadband effect however, since signals oscillating near the high or
low clamp value generate repeated HOR or LOR conditions.
The effect of clamping is shown in Figure 2-9.
Figure 2-9. Clamping
2.5.5 Filtering
Key Parameters: FLOP, FTIM
The clamped value is subjected to possible filtering, as the last signal processing activity. Filtering
introduces a lag to changes in the input signal, thus smoothing out input changes or suppressing
noise. Note that this feature should be used with caution to avoid removing true process informa-
tion.
HSCO1
LSCO1
osv (units)
osv (units)
HSCO1
LSCO1
osv (units)
osv (units)
INPUT
OUTPUT
HOR = 1
LOR = 1
2. AIN Analog Input Block B0193AX Rev AB
59


NOTE
When an AIN block is configured so that the MEAS parameter is connected to
another block (as opposed to an input from the field), filtering options have no
effect when the block is running in a CP40B. Regardless of how the filtering
options are set, the AIN block running in a CP40B station does not filter the input
if the MEAS parameter is connected to another block.
If the block is in Auto and Filter Option (FLOP) is non-zero, either first-order lag filtering
(FLOP = 1) or second-order Butterworth filtering (FLOP = 2) or two-sample-average filtering
(FLOP = 3) is applied. The lag that first or second-order filtering introduces has time constant
Filter Time (FTIM). You can use them to attenuate measurement noise. However, if FTIM is set
too low, there is relatively insignificant filtering. If set too high, the lag may be large enough to
affect loop accuracy.
In addition to filtering, aliasing is minimized and resolution improved by configuring the RES
parameter of the ECB so that the fieldbus integration time is equal to twice the block period.
Refer to the section Fieldbus Integration Time in the appropriate Integrated Control Software
Concepts document (B0700AG or B0193AW).
2.5.5.1 First Order Lag Filtering (FLOP = 1)
The algorithm of this filter is
Filter Output = PNT + (Filter Input - PNT) / (t + 1)
where PNT is the present value of the block output, which was actually calculated during the pre-
vious block processing cycle. t is computed as:
t = 60 * FTIM / Block Period in Seconds
and represents the number of block processing cycles for the output to reach approximately 63
percent of its ultimate value after a step change to the input.
In Laplace transform notation, the transfer function is 1/(1 + ts).
A diagram of first-order lag filtering is shown in Figure 2-10.
Figure 2-10. First-Order Lag Filtering
INPUT STEP
OUTPUT
FTIM
63%
100%
B0193AX Rev AB 2. AIN Analog Input Block
60


2.5.5.2 Butterworth Filtering (FLOP = 2)
The algorithm of this filter is:
New vter = Old vter + (Filter Input - PNT - Old vter) / (t/2 + 1)
Filter Output = PNT + New vter / (t + 1)
where t is computed as in the case of first order lag filtering.
In each block execution cycle, the first step is the computation of New vter, based on the stored
value of Old vter from the last cycle (when the filter is initialized the value of Old vter is set to
0.0). As before, PNT is the current value of the block output.
In Laplace transform notation, the transfer function is:
1
1 + ts+ (ts)
2
/2
A diagram of Butterworth filtering is shown in Figure 2-11.
Figure 2-11. Butterworth Filtering
2.5.5.3 Two-Sample-Average Filtering (FLOP = 3)
The algorithm of this filter is:
Filter Output = (Filter Input this cycle + Filter Input previous cycle)/2.
This algorithm eliminates integer multiples of the half-sampling frequency component and atten-
uates other high frequencies. The filter has a flatter low frequency pass band and sharper cutoff
than the other two filters, with the same low-frequency phase shift.
2.6 Bad Input and Out-of-Range Processing
2.6.1 Bad Status and BAD Parameter
Key Parameters: BAD, PNT, PNT_NO, BADOPT, BLKSTA
The BAD parameter and the bad status of PNT are simultaneously set true provided any one of
the following conditions is true:
+ The FBM or FBC itself is bad, that is, it has detected a fatal hardware fault, or other
fatal fault. (In this case BLKSTA.FBM is also set true.)
+ The connected point within the FBM or FBC is bad.
+ An out-of-range situation has met the conditions for being considered a bad condi-
tion, because of the setting of BADOPT. (See Section 2.6.2 below.)
INPUT STEP
FTIM
OUTPUT
2. AIN Analog Input Block B0193AX Rev AB
61


If there is no connected FBM or FBC, the first two conditions above are replaced by the
following:
+ The MEAS value is linked and it has bad status.
As noted in Section 2.7, neither the BAD parameter nor the PNT status bits are updated when
the block is in Manual. In Auto, you can obtain current information about the input quality by
connecting to either BAD or PNT.BAD.
Note the following relationship between the input parameter BADOPT, Out-of-Range condi-
tions, and the BAD status:
Note that for BADOPT 1-4, BAD and PNT.BAD are only set when the block is in AUTO mode
and BLKSTA.BAD is set regardless of the block mode.
NOTE
BLKSTA.BAD, PNT.BAD, and BAD track each other differently depending on
whether the block is in MANUAL or AUTO mode. For example, switching a block
to MANUAL and performing a "set" operation will clear the PNT.BAD status bit,
which allows the operator to define the PNT value as acceptable. However, the
BAD parameter's state and value will remain the same as if the block was in AUTO
mode.
See BADOPT on page 30 for additional statuses.
When BADOPT is set, the appropriate Out-of_Range condition is ORed into other bad channel
conditions to cause the BAD status to be set.
2.6.2 Out-of-Range Conditions
2.6.2.1 Out-of-Range Due to Signal Conditioning
Key Parameters: HOR, LOR
Thermocouple Signal Conversion
If cold junction compensation is based on the FBM Point 9, FBM Point 15, or FBC Point 33
value, and the ohms value is outside of the limits of the SCI table 43 (100 ohms IEC), then HOR
or LOR is set true, depending on which limit was exceeded.
BADOPT = 0: Errant input conditions do not affect BAD, PNT.BAD, and BLK-
STA.BAD
BADOPT = 1: Low Out-of-Range causes BAD, PNT.BAD, and BLKSTA.BAD
to be set
BADOPT = 2: High Out-of-Range causes BAD, PNT.BAD, and BLKSTA.BAD
to be set
BADOPT = 3: High or Low Out-of-Range causes BAD, PNT.BAD, and BLK-
STA.BAD to be set
BADOPT = 4: Unhealthy scalar input (KSCALE or BSCALE) causes BAD,
PNT.BAD, and BLKSTA.BAD to be set (i.e. input value status is
BAD, OOS, ERR, or has a broken OM connection)
B0193AX Rev AB 2. AIN Analog Input Block
62


When the compensation reference has been converted to millivolts and added to the raw value
millivolts, the resulting sum is used to access the proper SCI table. If this sum is higher or lower
than the limits of the table, HOR and LOR are handled as in the last paragraph.
If the Special Thermocouple option is in use, when the sum of the reference value and raw value is
used to re-enter the characterizer, the entry is compared against the characterizer end-points. If
the entry value is outside the end-points, HOR and LOR are handled as in the preceding para-
graph.
RTD Signal Conversion
When the raw value in ohms is higher or lower than the limits of the SCI table in use, parameters
HOR and LOR are handled as above.
Linear/Square Root Signal Conversion
The raw value is compared against the raw_low for this SCI as adjusted for the OSV in use. If
below this limit, LOR is set, and similarly for HOR if the upper limit is exceeded.
Characterizer Signal Conversion
The raw value is compared against the characterizer end-points. If the value is outside the end-
points, HOR and LOR are handled as above.
2.6.2.2 Out-of-Range Due to Clamping
Key Parameters: HOR, LOR, HSCO1, LSCO1
As noted in Section 2.5.4, HOR or LOR can be set true as a result of clamping.
2.6.3 Out-of-Service Conditions
Key Parameters: PNT, EXTBLK, MEAS
The out-of-service status of PNT is set true provided any one of the following conditions is true:
+ The FBM or FBC itself is out-of-service
+ The FBM is of HTG or IFD type and the connected point is out-of-service, as indi-
cated by the status field of the connected point
+ The EXTBLK parameter has out-of-service status, indicating an out-of-service
CHARC block.
If there is no connected FBM or FBC, the first two conditions above are replaced by the
following:
+ The MEAS value is linked and it has out-of-service status.
2.6.4 Last Good Value
Key Parameters: LASTGV, BAD, PNT, HSCO1, LSCO1, OSV, IOMOPT, SCI
In the following situations, parameter Last Good Value (LASTGV) only takes effect when
BADOPT has caused BAD to be true, and its actions depend on the condition which caused the
BAD status.
+ When BAD is true because thermocouple cold junction compensation is outside the
limits of the SCI 43 table, the reference value (in degrees Celsius) from the previous
cycle is used as the compensation.
2. AIN Analog Input Block B0193AX Rev AB
63


+ When BAD is true because the compensated thermocouple millivolt value is outside
the limits of the SCI table in use, LASTGV causes PNT to retain its value from the
last cycle.
+ In the Special Thermocouple option, if the compensated value is outside the limits of
the characterizer end-points, PNT retains its value from the last cycle.
+ When an RTD ohms value is outside the limits of its SCI table, PNT retains its value
from the last cycle.
+ In linear/square root signal conditioning, if the raw value is beyond the lower or upper
value of the span, as adjusted by OSV, PNT retains its value from the last cycle.
+ In characterizer signal conversion, if the value is outside the limits of the characterizer
end-points, PNT retains its value from the last cycle.
+ When BAD is true because an out-of-range condition occurred due to
HSCO1/LSCO1 clamping, PNT retains its value from the last cycle only if SCI = 0
(no linearization), and IOMOPT indicates that an FBM or FBC is connected.
Figure 2-12 shows the effect of LASTGV in.
In the following situations, retention of the PNT value from the last cycle is independent of
BADOPT.
+ The connected FBM or FBC is out-of-service, regardless of the value of LASTGV.
+ The connected HTG, IT2, or Coriolis point is out-of-service, regardless of the value
of LASTGV.
+ The connected point has bad status and LASTGV is true.
B0193AX Rev AB 2. AIN Analog Input Block
64


Figure 2-12. Last Good Value
2.7 Manual Mode
When the AIN block is in the Manual mode, it does not update the value of the PNT output.
PNT is released and becomes settable by you. When an FBM or FBC is connected, the manual
value set into PNT is copied to MEAS.
In Manual mode, the status bits (Bad, Out-of-Service, and Error) of the PNT output are not
updated, nor are the BAD, HOR, and LOR parameters. These status bits and parameters are not
cleared when Manual mode is entered. They retain their last values before the transition to Man-
ual, until and unless they are set by you.
The PROPT parameter is inactive when the block is in Manual (that, the Error bit of the PNT
status is not set based on various status bits of MEAS when no FBM or FBC is connected).
HSCO1
LSCO1
osv (units)
osv (units)
HSCO1
LSCO1
osv (units)
osv(units)
Input
Input
Output
Output
LASTGV = 0
LASTGV = 1
BADOPT = 2
SCI = 0
IOMOPT = 1
HOR = 1 HOR = 1
Output is the last
good value read
before Input went
out of range.
2. AIN Analog Input Block B0193AX Rev AB
65


If MANALM is true, alarming is enabled while in Manual mode, and is based on the manually-
set value of PNT.
In Manual mode, you may set the values of PNT, BAD, HOR, LOR, and the alarm indicators.
2.8 Alarming
The AIN block supports the Bad I/O, Out-of-Range, High/Low Absolute, and High-High/Low-
Low Absolute alarm types. The functionality of these alarm types is discussed in the appropriate
Integrated Control Software Concepts document (B0700AG or B0193AW).
The nomenclature for identical alarm types varies from block to block for historical reasons
involving backward compatibility requirements. The nomenclature for the AIN block is as fol-
lows:
The column titled Option in Table 2-2 specifies the required parameter configuration to enable
or disable the actual alarming of nay of the six alarm types.
Table 2-2. Alarm Nomenclature
Type Option Limit Priority Group Text
Dead-
band
Default
Display
Indicator
Parameter
I/O Bad BAO = True ---- BAP BAG BAT ----- IOBAD BAD
Out-of-Range ORAO = True ---- ORAP ORAG ORAT ----- RANGE HOR/LOR
High Absolute HLOP =
1 or 2
HAL HLPR HLGP HAT HLDB HIABS HAI
Low Absolute HLOP =
1 or 3
LAL HLPR HLGP LAT HLDB LOABS LAI
High-High
Absolute
HHAOPT = 1
or 2
HHALIM HHAPRI HHAGRP HHATXT HLDB HHABS HHAIND
Low-Low
Absolute
HHAOPT = 1
or 3
LLALIM HHAPRI HHAGRP LLATXT HLDB LLABS LLAIND
B0193AX Rev AB 2. AIN Analog Input Block
66


2.9 Application Diagram
Figure 2-13. Typical AIN Block Application
AIN
PID
AOUT
HEAT
EXCHANGER
Heated Water
Cold Water
Steam
TT
PNT_NO
PNT
MEAS
OUT
MEAS
OUT
IOM_ID = HE0101
PNT_NO = 3
SCI = 42
KSCALE = 1.8
BSCALE = 32.0
LSCO1 = 50.0
HSCO1 = 210.0
EO1 = Deg F.
HLOP = 2
HHAOPT = 2
HAL = 190.0
HHALIM = 200.0
ECB 1

FBM 203
FBM 03
or
2. AIN Analog Input Block B0193AX Rev AB
67


2.10 Appendix A Signal Conditioning Tables
2.10.1 Summary
SCI = 0: No linearization; output = input
SCI = 1: Linear (0 to 64000) (0 to 100%)
SCI = 2: Linear (1600 to 64000) (0 to 100%, Elevated Zero)
SCI = 3: Linear (12800 to 64000) (20 to 100%)
SCI = 4: Square root (0 to 64000) (0 to 100%)
SCI = 5: Square root (12800 to 64000), clamped (20 to 100%)
SCI = 6: Square root, low cutoff (0 to 64000), clamp < 3/4% (0 to 100%)
SCI = 7: Square root, low cutoff (12800 to 64000), clamp < 3/4% (20 to 100%)
SCI = 8: Pulse rate
SCI = 9: Linear, low cutoff (1600 to 64000) (0 to 100%, Elevated Zero)
SCI = 10: Linear, low cutoff (12800 to 64000)(20 to 100%)
SCI = 11 Square root, Intelligent Transmitter 2 (0 to 64000)
SCI = 12: Linear (14080 to 64000)(20 to 100%, Elevated Zero)
SCI = 13: Square root, low cutoff (14080 to 64000),(20 to 100%, Elevated Zero)
SCI = 14 Linear (0 to 16383)
SCI = 15 Square root, low cutoff (1600 to 64000)
SCI = 20: Type B Thermocouple
SCI = 21: Type E Thermocouple
SCI = 22 Reserved for future use
SCI = 23: Type J Thermocouple
SCI = 24: Type K Thermocouple
SCI = 25: Type N Thermocouple
SCI = 26: Type R Thermocouple
SCI = 27: Type S Thermocouple
SCI = 28: Type T Thermocouple
SCI = 40: Copper RTD (SAMA)
SCI = 41: Nickel RTD (SAMA)
SCI = 42: Platinum RTD (100 Ohm DIN 43760-1968)
SCI = 43: Platinum RTD (100 Ohm IEC) (DIN 43760-1980)
SCI = 44: Platinum RTD (100 Ohm SAMA)
SCI = 50: Linear 0 to 65535 raw counts
SCI = 51: Linear -32768 to 32767 raw counts
SCI = 52: Linear 0 to 32767 raw counts
SCI = 53: Linear 0 to 1000 raw counts
SCI = 54: Linear 0 to 9999 raw counts
SCI = 55: Linear 0 to 2048 raw counts
B0193AX Rev AB 2. AIN Analog Input Block
68


2.10.2 Linear/Square Root Signal Conditioning
SCI = 56: Linear 409 to 2048 raw counts
SCI = 57: Square root 0 to 2048 raw counts
SCI = 58: Square root 409 to 2048 raw counts with low cutoff
SCI = 59: Linear 0 to 4095 raw counts
SCI = 0: No Linearization
Conditioned = Raw
SCI = 1: Linear (0 to 64000)
Analog Input 0 to 20 mA
Conditioned = (Raw * (HSCO1 - LSCO1)/64000) + LSCO1
SCI = 2: Linear (1600 to 64000)
Analog Input 0 to 10 V dc
Conditioned = ((Raw - 1600) * (HSCO1 - LSCO1)/62400) + LSCO1
SCI = 3: Linear (12800 to 64000)
Analog Input 4 to 20 mA
Conditioned = ((Raw - 12800) * (HSCO1 - LSCO1)/51200) + LSCO1
SCI = 4: Square Root (0 to 64000)
Analog Input 0 to 20 mA
Conditioned = (Sqrt(64000 * Raw) * (HSCO1 - LSCO1)/64000) + LSCO1
SCI = 5: Square Root (12800 to 64000), Clamped
Analog Input 4 to 20 mA
If Raw s 12800
Conditioned = LSCO1
Otherwise,
Conditioned = (Sqrt(51200 * (Raw - 12800)) * (HSCO1 - LSCO1)/51200) +
LSCO1
SCI = 6: Square Root, Low Cutoff (0 to 64000), Clamped < 3/4%
Analog Input 0 to 20 mA
If Raw s 480
Conditioned = LSCO1
Otherwise,
Conditioned = (Sqrt(64000 * Raw) * (HSCO1 - LSCO1)/ 64000) + LSCO1
SCI = 7: Square Root, Low Cutoff (12800 to 64000), Clamped < 3/4%
Analog Input 4 to 20 mA
If Raw s 13184
Conditioned = LSCO1
Otherwise,
Conditioned = (Sqrt(51200 * (Raw - 12800)) * (HSCO1 - LSCO1)/51200) +
LSCO1
SCI = 8: Pulse Rate
Conditioned = Raw * MTRF * Pulse Constant
(Where Pulse Constant = 25000.0/(65535.0 * 65535.0) = 0.582094373 E-05 =
0.00000582094373)
2. AIN Analog Input Block B0193AX Rev AB
69


SCI = 9: Linear, Low Cutoff (1600 to 64000)
Analog Input 0 to 10 V dc
If Raw s 1600
Conditioned = LSCO1
Otherwise,
Conditioned = ((Raw - 1600) * (HSCO1 - LSCO1) / 62400) + LSCO1
SCI = 10: Linear, Low Cutoff (12800 to 64000)
Analog Input 4 to 20 mA
If Raw s 12800
Conditioned = LSCO1
Otherwise,
Conditioned = ((Raw - 12800) * (HSCO1 - LSCO1) / 51200) + LSCO1
SCI = 11: Square Root, Intelligent Transmitter 2 (0 to 64000)
Analog Input
Conditioned = Sqrt(Raw)
SCI = 12: Linear (14080 to 64000)
Analog Input 2 to 10 V dc
Conditioned = ((Raw - 14080) * (HSCO1 - LSCO1)/49920) + LSCO1
SCI = 13: Square Root, Low Cutoff (14080 to 64000)
Analog Input 2 to 10 V dc
If Raw s 14080
Conditioned = LSCO1
Otherwise,
Conditioned = (Sqrt(49920 * (Raw - 14080)) * (HSCO1 - LSCO1)/49920)
+ LSCO1
SCI = 14: Linear (0 to 16383)
Analog Input 0 to 20 mA
Conditioned = (Raw * (HSCO1 - LSCO1)/16383) + LSCO1
SCI = 15: Square Root, Low Cutoff (1600 to 64000)
Analog Input 0 to 10 V dc
If Raw s 1600
Conditioned = LSCO1
Otherwise,
Conditioned = (Sqrt(62400 * (Raw - 1600)) * (HSCO1 - LSCO1)/62400)
+ LSCO1
SCI = 50: Linear 0 to 65535 raw counts
Conditioned = ( Raw * ( HSCO1 - LSCO1 ) / 65535 ) + LSCO1
SCI = 51: Linear -32768 to 32767 raw counts
Conditioned = (( Raw + 32768 ) * ( HSCO1 - LSCO1 ) / 65535 ) + LSCO1
SCI = 52: Linear 0 to 32767 raw counts
Conditioned = ( Raw * ( HSCO1 - LSCO1 ) / 32767 ) + LSCO1
SCI = 53: Linear 0 to 1000 raw counts
Conditioned = ( Raw * ( HSCO1 - LSCO1 ) / 1000 ) + LSCO1
SCI = 54: Linear 0 to 9999 raw counts
Conditioned = ( Raw * ( HSCO1 - LSCO1 ) / 9999 ) + LSCO1
B0193AX Rev AB 2. AIN Analog Input Block
70


The following applies to SCI = 50 through SCI = 59:
+ m = engineering units value; n = normalized counts value
+ Linear scaling of the analog inputs is also provided.
2.10.3 Thermocouple Signal Conditioning
2.10.4 RTD Signal Conditioning
SCI = 55: Linear 0 to 2048 raw counts
Conditioned = ( Raw * ( HSCO1 - LSCO1 ) / 2048 ) + LSCO1
SCI = 56: Linear 409 to 2048 raw counts
Conditioned = (( Raw - 409 ) * ( HSCO1 - LSCO1 ) / 1639 ) + LSCO1
SCI = 57: Square root 0 to 2048 raw counts
Conditioned = ( SQRT( 2048 * Raw ) * ( HSCO1 - LSCO1 ) / 2048 ) + LSCO1
SCI = 58: Square root 409 to 2048 raw counts with low cutoff
IF raw_value <= 409
THEN
Conditioned = LSCO1;
ELSE
Conditioned = ( SQRT( 1639 * ( Raw - 409 ) ) * ( HSCO1 - LSCO1 ) / 1639 ) +
LSCO1;
SCI = 59: Linear 0 to 4095 raw counts
Conditioned = ( Raw * ( HSCO1 - LSCO1 ) / 4095 ) + LSCO1
SCI Type Material Range Curve
20 Type B Platinum-Platinum 0 to 1820C P331-0/68 (TI 5-189a)
21 Type E Chromel-Constantan -270 to 910C S303-0/68 (TI 5-17c)
23 Type J Iron-Constantan -210 to 1200C S99J-0/68 (TI 5-12f )
24 Type K Chromel-Alumel -270 to 1372C K223-0/68 (TI 5-13c)
25 Type N Nicrosil-Nisil -270 to 1300C IPTS-68 (TI 5-19)
26 Type R Platinum-Platinum -50 to 1768C P329-0/68 (TI 5-14d)
27 Type S Platinum-Platinum -50 to 1768C P307-0/68 (TI 5 -15e)
28 Type T Copper-Constantan -270 to 400C S233-0/68 (TI 5-11c)
SCI Type Material Range Curve
40 Copper (SAMA) Copper -70 to 150C CR229 (TI 5H-25a)
41 Nickel (SAMA) Nickel -100 to 160C NR-227 (SAMA) (TI 5-24a)
42 Platinum (100 Ohm
DIN 43760-1968)
Platinum 0 to 620C PR-238 (TI 5-26a)
43 Platinum (100 Ohm
IEC DIN 43760-1980)
Platinum -200 to 620C Foxboro Dwg. 10104MU
(TI 005-028)
2. AIN Analog Input Block B0193AX Rev AB
71


2.11 Appendix B Valid Input Connections
2.11.1 FBM201 through FBM242 Valid Input Connections
44 Platinum (100 Ohm
SAMA)
Platinum -200 to 600C PR-279 (SAMA) (TI 5-27a)
Hardware
Type
2
0
1
2
0
2
2
0
3
2
0
4
2
0
5
2
0
6
2
0
7
2
1
1
2
1
2
2
1
3
2
1
7
2
4
2
2
3
7
2
4
1
Point
1 I I I I I I I I I I I O O I
2 I I I I I I I I I I I O O I
3 I I I I I I I I I I I O O I
4 I I I I I I I I I I I O O I
5 I I I O O I I I I I I O O I
6 I I I O O I I I I I I O O I
7 I I I O O I I I I I I O O I
8 I I I O O I I I I I I O O I
9 C I I I I O O
10 I I I I O O
11 I I I I O O
12 I I I I O O
13 I I I I O O
14 I I I I O O
15 I I C I O O
16 I I I O O
17 I
18 I
19 I
20 I
21 I
22 I
23 I
24 I
25 I
26 I
27 I
28 I
SCI Type Material Range Curve
B0193AX Rev AB 2. AIN Analog Input Block
72


Legend: I = Input
O = Readback from Output
C = Thermal Compensation Channel
2.11.2 FBM01 through FBM46 Valid Input Connections
29 I
30 I
31 I
32
Hardware
Type
2
0
1
2
0
2
2
0
3
2
0
4
2
0
5
2
0
6
2
0
7
2
1
1
2
1
2
2
1
3
2
1
7
2
4
2
2
3
7
2
4
1
Point
Hardware
Type 1 2 3 4 5 6 17 18 22 23 33 36 37 38 39 43 44 46
Point
1 I I I I I I I I I I I I O I I I I I
2 I I I I I I I I O I I I O I I I I I
3 I I I I I I I I I I I O I I I I I
4 I I I I I I I I I I I O I I I I I
5 I I I O O O O I I I I O I O I O O
6 I I I O O O O I I I I O I O I O O
7 I I I O O O I I I I O I O I O O
8 I I I O O O I I I I O I O I O O
9 C I C
10 I
11 I
12 I
13 I
14 I
15 I
16 I
17 I
18 I
19 I
20 I
21 I
22 I
23 I
2. AIN Analog Input Block B0193AX Rev AB
73


Legend: I = Input
O = Readback from Output
C = Thermal Compensation Channel
2.11.3 Cluster I/O Valid Input Connections
24 I
25
26
27
28
29
30
31
32
33
Hardware
Type 1 2 3 4 5 6 17 18 22 23 33 36 37 38 39 43 44 46
Point
Hardware
Type 57 58 59 61 63 95
Point
1 I I I O I I
2 I I I O I I
3 I I I O I I
4 I I I O I I
5 I I I O I I
6 I I I O I I
7 I I I O I I
8 I I I O I I
9 I I I O I I
10 I I I O I I
11 I I I O I I
12 I I I O I I
13 I I I O I I
14 I I I O I I
15 I I I O I I
16 I I I O I I
17 I I I I
B0193AX Rev AB 2. AIN Analog Input Block
74


Legend: I = Input
O = Readback from Output
C = Thermal Compensation Channel
NOTE
Hardware Type 57 is used for FBC21.
Hardware Type 58 is used for FBC01.
Hardware Type 59 is used for FBC17.
Hardware Type 61 is used for FBC04.
Hardware Type 63 is used for FBC02.
Hardware Type 95 is used for FBC02 Redundant.
18 I I I I
19 I I I I
20 I I I I
21 I I I I
22 I I I I
23 I I I I
24 I I I I
25 I I I I
26 I I I I
27 I I I I
28 I I I I
29 I I I I
30 I I I I
31 I I I I
32 I I I I
33 C C
Hardware
Type 57 58 59 61 63 95
Point
75


3. AINR Redundant Analog Input
Block
This chapter covers the Redundant Analog Input Block, or AINR, its features, parameters and
functions, bad input and out-of-range processes, manual mode, alarming, and application
diagrams, and also provides appendixes on signal conditioning and valid input connections.
3.1 Overview
The Redundant Analog Input Block (AINR) receives an input value from a single process point
via two redundant Fieldbus Modules (FBMs) or Fieldbus Cards (FBCs) of the analog, pulse
count, or Intelligent Field Device types, or from two other blocks. Based on the quality of the two
inputs and the user specification of a default selection, one of the inputs is chosen for conversion
into suitable form for use in the I/A Series control strategy. The output value is expressed in the
appropriate engineering units. See Figure 3-1.
Figure 3-1. AINR Block Diagram
Alarm
Bad
High/Low Scale
for Output Range 1
o
C
counts
output
units
output
units
Fieldbus
Module
Identifier
Point
Selection
Select
Request
Gain
Offset
BAD and OOR
Option
Indicator
High/
Low Out-
of-Range
Indicators
Point
(Engineering
Units Value)
Bad &
Out-of-
Range
Processing
Filter Clamp
Scaling/
Unit
Conversion
Linear
Square
Root
RTD
Thermo-
couple
Signal
Conditioning
Index
Redundant
Fieldbus
Module
Identifier
Point
Number
External
Reference
Option
External
Reference
Input
Extender
Block
Special
T.C.
Characterizer
(None)
Indicators
Alarming
Alarm
Options
Alarm
Limits
o
C
o
C
B0193AX Rev AB 3. AINR Redundant Analog Input Block
76


3.2 Basic Operation
The AINR block interfaces to two ECBs which store values from two FBMs or FBCs receiving
analog electrical signals, pulse inputs, or pulse rate inputs.
Each execution cycle, the AINR block reads from each ECB its FBM or FBC operational status,
and the channel status and input data for the specified point.
The AINR block then converts the raw data from each of the two channels to a floating point
number in engineering units, according to the configured Signal Conditioning Index, the High
and Low Scale of the engineering units range, and any specified units conversion or filtering
option. Each of the two inputs is separately converted in this fashion before the decision is made
as to which of the inputs, the primary or the secondary, is to be used, since various situations
detected only during signal conversion may result in rejection of one of the points.
This selected output is presented to the control strategy as Point (PNT). The original value as
present in the selected ECB is preserved and made available as output Raw Count (RAWC).
The sequence of signal processing actions is, in the order of application: Signal Conditioning or
Characterization, Scaling for Unit Conversion, Clamping, and Filtering.
3.3 Features
+ Redundant analog inputs from separate FBMs or FBCs
+ Both redundant and non-redundant points can coexist in the same analog input FBM
or FBC. The non-redundant points are connected to AIN blocks
+ Fieldbus Module option to permit configuration of AINR blocks without FBM or
FBC connections (inputs from two other blocks instead of from hardware)
+ User selection of primary or secondary input, with automatic switchover if the
selected input is bad
+ Processing of Pulse Rate and Pulse Count inputs
+ Acceptance of Hydrostatic Tank Gauge (HTG), Intelligent Field Device (IFD), and
Coriolis inputs
+ Connectability to Intelligent Field Device Window ECBs
+ Choice of Linear/Square Root, Thermocouple, RTD, or specially characterized signal
conditioning
+ External or FBM- or FBC-based temperature reference for thermocouple cold junc-
tion compensation
+ Optional characterizer block (CHARC) extension
+ Output gain and offset scaling
+ Output clamping between user-selectable output limits
+ First order, second order, or two-sample-average filtering
+ Manual mode availability for disconnecting control schemes from the process, for
simulation and checkout purposes
+ Raw Count output availability, for the selected point, used for troubleshooting pur-
poses; includes floating point values from HTG, IFD, and Coriolis inputs
+ Optional Last Good Value output retention on I/O failure
3. AINR Redundant Analog Input Block B0193AX Rev AB
77


+ Error propagation option
+ Separate Bad point alarming for primary and secondary inputs when Bad alarm
option true
+ Out-of-Range conditions (and alarms generated if Out-of-Range alarm option is true)
when either point is out-of-range
+ High/Low Absolute alarm options, applicable to the selected point
+ High-High and Low-Low Absolute alarm options, applicable to the selected point
+ Alarming in Manual option
+ Deviation limit detection between primary and secondary points.
3.4 Parameters
Table 3-1. AINR Block Parameters
Name Description Type Accessibility Default Units/Range
Configurable Parameters
INPUTS
NAME block name string no-con/no-set blank 1 to 12 chars
TYPE block type integer no-con/no-set 70 AINR
DESCRP descriptor string no-con/no-set blank 1 to 32 chars
PERIOD block sample time short no-con/no-set 1 0 to 13
PHASE block execute phase integer no-con/no-set 0 ---
LOOPID loop identifier string no-con/set blank 1 to 32 chars
IOMOPT FBM input option short no-con/no-set 1 0 to 2
IOM_ID FBM identifier string no-con/no-set blank ---
IOMIDR redundant FBM id string no-con/no-set blank ---
DEVLIM deviation limit real no-con/no-set -1 RO1
PNT_NO FBM point number string no-con/no-set 1 1 to 32
SCI signal condition index short no-con/no-set 0 0-15, 20-28, 40-44,
and 50-59
HSCO1 high scale, output 1 real no-con/no-set 100.0 specifiable
LSCO1 low scale, output 1 real no-con/no-set 0.0 specifiable
DELTO1 change delta, output 1 real no-con/no-set 1.0 percent
EO1 eng units, output 1 string no-con/no-set % specifiable
OSV output span variance real no-con/no-set 2.0 [0..25]percent
EXTBLK extender block long con/set 0 ---
MA manual/auto boolean con/set 0 0 to 1
INITMA initialize MA short no-con/no-set 1 0 to 2
BADOPT BAD/oor option short no-con/no-set 3 0 to 7
LASTGV last good value boolean no-con/no-set 1 0 to 1
INHOPT inhibit option short no-con/no-set 0 0 to 3
INHIB alarm inhibit boolean con/set 0 0 to 1
INHALM inhibit alarm pack_b con/set 0 0 to 0xFFFF
MANALM manual alarm option short no-con/no-set 0 0 to 1
MTRF meter factor real no-con/set 1.0 flow rate/Hz
B0193AX Rev AB 3. AINR Redundant Analog Input Block
78


FLOP filter option short no-con/no-set 0 0 to 3
FTIM filter time constant real con/set 0.0 [0..]minutes
XREFIN external reference input real con/set 0.0 deg. Celsius
XREFOP external reference option boolean no-con/no-set 0 0 to 1
KSCALE gain scaler real con/set 1.0 scalar
BSCALE bias scale factor real con/set 0.0 output units
BAO bad alarm option boolean no-con/no-set 0 0 to 2
BAT bad alarm text string no-con/no-set blank 1 to 32 chars
BAP bad alarm priority integer con/set 5 1 to 5
BAG bad alarm group short no-con/set 1 1 to 8
ORAO out of range alarm option boolean no-con/no-set 0 0 to 1
ORAT out of range text string no-con/no-set blank 1 to 32 chars
ORAP out of range priority integer con/set 5 1 to 5
ORAG out of range group short no-con/set 1 1 to 8
HLOP high/low alarm option short no-con/no-set 0 0 to 3
ANM alarm name point 1 string no-con/no-set blank 1 to 12 chars
HAL high alarm limit real con/set 100.0 RO1
HAT high alarm text string no-con/no-set blank 1 to 32 chars
LAL low alarm limit real con/set 0.0 RO1
LAT low alarm text string no-con/no-set blank 1 to 32 chars
HLDB high/low alarm deadband real no-con/set 0.0 RO1
HLPR high/low priority integer con/set 5 1 to 5
HLGP high alarm group short no-con/set 1 1 to 8
HHAOPT high-high alarm option short no-con/no-set 0 0 to 3
HHALIM high-high alarm limit real con/set 100.0 RO1
HHATXT high-high alarm text string no-con/no-set blank 1 to 32 chars
LLALIM low-low alarm limit real con/set 0.0 RO1
LLATXT low-low alarm text string no-con/no-set blank 1 to 32 chars
HHAPRI high-high alarm priority integer con/set 5 1 to 5
HHAGRP high-high alarm group short no-con/set 1 1 to 8
PROPT propagate error option boolean no-con/no-set 0 0 to 1
SELREQ primary or secondary boolean con/set 0 0 to 1
MEAS_P primary meas real con/set 0.0 ---
MEAS_S secondary meas real con/set 0.0 ---
MEAS process input real con/set 0.0 ---
AMRTIN alarm regeneration timer integer no-con/no-set 0 0 to 32767 s
NASTDB alarm deadband timer long integer no-con/no-set 0 0-2147483647 ms
NASOPT nuisance alarm suppression
option
short no-con/no-set 0 0 to 2
Non-Configurable Parameters
OUTPUTS
ALMSTA alarm status pack_l con/no-set 0 bit map
BAD bad I/O status boolean con/no-set 0 0 to 1
BLKSTA block status pack_l con/no-set 0 bit map
CRIT alarm criticality integer con/no-set 0 0 to 5
Table 3-1. AINR Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
3. AINR Redundant Analog Input Block B0193AX Rev AB
79


3.4.1 Parameter Definitions
ACHNGE Alternate Change is an integer output which is incremented each time a
block parameter is changed via a Set command.
ALMOPT Alarm Options contains packed long values representing the alarm types
that have been configured as options in the block, and the alarm groups
that are in use.
For the AINR block, only the following bits are used:
HAI high alarm indicator boolean con/no-set 0 0 to 1
HHAIND high-high alarm indicator boolean con/no-set 0 0 to 1
HOR high out-of-range boolean con/no-set 0 0 to 1
INHSTA inhibit status pack_l con/no-set 0 bit map
LAI low alarm indicator boolean con/no-set 0 0 to 1
LLAIND low-low alarm indicator boolean con/no-set 0 0 to 1
LOR low out-of-range boolean con/no-set 0 0 to 1
PNT point output real con/no-set 0.0 RO1
PRTYPE priority type integer con/no-set 0 0 to 10
QALSTA quality status pack_l con/no-set 0 0 to 0xFFFFFFFF
RAWC raw counts real con/no-set 0.0 0 to 65535
UNACK unacknowledge alarm boolean con/no-set 0 0 to 1
ZERROP out of range error boolean con/no-set 0 0 to 1
DATA STORES
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
ALMOPT alarm options pack_l no-con/no-set 0 0 to 0xFFFFFFFF
DEFINE no config errors boolean no-con/no-set 1 0 to 1
DEV_ID FBM letterbug char[6] no-con/no-set blank 6 chars
DEVIDR redundant FBM letterbug char[6] no-con/no-set blank 6 chars
ERCODE configuration error string no-con/no-set 0 1 to 43 chars
LOCKID lock identifier string no-con/no-set blank 8 to 13 chars
LOCKRQ lock request boolean no-con/set 0 0 to 1
OWNER owner name string no-con/set blank 1 to 32 chars
PERTIM period time real no-con/no-set 0.1 seconds
RO1 output range real[3] no-con/no-set 100,0,1 specifiable
Table 3-1. AINR Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
B0193AX Rev AB 3. AINR Redundant Analog Input Block
80


ALMSTA Alarm Status is a 32-bit output, bit-mapped to indicate the blocks alarm
states. For the AINR block, only the following bits are used:
Bit Number
1
(0 to 31)
1.
Bit 0 is the least significant, low order bit.
Configured Alarm Option
When True
0 (Least
Significant)
Alarm Group 8 in Use
1 Alarm Group 7 in Use
7 Alarm Group 1 in Use
16 Low Absolute Alarm Configured
17 High Absolute Alarm
Configured
22 Bad I/O Alarm Configured
24 Low-Low Absolute Alarm
Configured
25 High-High Absolute Alarm
Configured
28 Out-of-Range Alarm Configured
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
U
N
A
K
I
N
H
O
O
R
H
H
A
L
L
A
B
A
D
H
M
A
L
M
A
CRIT PRTYPE
Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
0 to 4
(Least
Significant)
PTYP_MSK Priority Type: See parameter
PRTYPE for values used in
the AINR block
5 to 7 CRIT_MSK Criticality; 5 = lowest prior-
ity, 1= highest priority
16 LMA Low Absolute Alarm ALMSTA.B16
17 HMA High Absolute Alarm ALMSTA.B15
22 BAD Bad I/O Alarm for both Pri-
mary and Secondary
ALMSTA.B10
24 LLA Low-Low Absolute Alarm ALMSTA.B8
3. AINR Redundant Analog Input Block B0193AX Rev AB
81


* Bit 0 is the least significant, low order bit.
NOTE
Bit 29 is unused if no alarms are configured for the AINR block; that is, if the
disable alarm state is selected from the block detail display, Bit 29 is not set unless
an alarm is configured for that block.
AMRTIN Alarm Regeneration Timer is a configurable integer that specifies the time
interval for an alarm condition to exist continuously, after which a new
unacknowledged alarm condition and its associated alarm message is gen-
erated.
ANM Alarm Name is a user-defined string of up to 12 characters that identifies
the input point as the source of the alarm in the alarm messages. It serves
as a point descriptor label.
BAD Bad is a boolean output parameter which is set true when both of the
inputs to the block have Bad status. In this case, both the Bad Primary
(BLKSTA.BAD) and the Bad Secondary (BLKSTA.BADR) bits are set
true.
BADOPT Bad and Out-of-Range Option is a short integer option that specifies the
conditions that set the final Bad status true for each of the input points.
Values:
0 = Bad Status (PNT.BAD) only
1 = Bad Status (PNT.BAD) or Low Out-of-Range (LOR)
2 = Bad Status (PNT.BAD) or High Out-of-Range (HOR)
3 = Bad Status (PNT.BAD) or LOR or HOR.
4 = Bad Status (PNT.BAD) when a scalar input (KSCALE or BSCALE) is
not healthy (i.e., value status is BAD, OOS, or has a broken OM connec-
tion)
5 = Bad Status (PNT.BAD) or one of the following is unhealthy: LOR or
KSCALE or BSCALE
6 = Bad Status (PNT.BAD) or one of the following is unhealthy: HOR or
KSCALE or BSCALE
7 = Bad Status (PNT.BAD) or one of the following is unhealthy: LOR or
HOR or KSCALE or BSCALE
25 HHA High-High Absolute Alarm ALMSTA.B7
28 OOR Out-of-Range Alarm ALMSTA.B4
29 INH Inhibit Alarm (see Note) ALMSTA.B3
30 UNACK Unacknowledged ALMSTA.B2
Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
B0193AX Rev AB 3. AINR Redundant Analog Input Block
82


The default value is 3. Bad Status in the above table is a Logical OR of bad
ECB status (that is, the FBM or FBC itself is bad) and bad channel status
(that is, the connected point is bad). If there is no FBM or FBC connec-
tion, then Bad Status in the above table is considered to exist when
MEAS_P (for the primary side) or MEAS_S (for the secondary side) is
linked and has bad status.
BAG Bad Alarm Group is a short integer input that directs Bad alarm messages
to one of eight groups of alarm devices. You can change the group number
through the workstation.
BAO Bad Alarm Option is a configurable option that enables alarm generation
for each state change of the BAD parameter. The parameter values are:
BAP Bad Alarm Priority is an integer input, ranging from 1 to 5, that sets the
priority level of the Bad alarms (1 is the highest priority).
BAT Bad Alarm Text is a user-configurable text string of up to 32 characters,
sent with a bad alarm message to identify it.
BLKSTA Block Status is a 32-bit output, bit-mapped to indicate various block oper-
ational states. For the AINR block, only the following bits are used:
0= No generation of Bad alarms.
1= Bad alarm generation if the FBM or FBC has Bad
status.
2= Bad alarm generation in the measurement (MEAS or
OUTPUT parameter) of a PID block family,
RATIO block, or BIAS block when the MEAS or
OUT parameter is connected to the AINR block.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
W
L
C
K
O
N
U
D
E
F
B
A
D
M
A
F
B
M
R
F
B
M
D
E
V
B
A
D
R
S
E
L
Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
0 SEL Redundant Input Selected (Pri-
mary Input Selected when
False)
BLKSTA.B32
1 BADR Bad Secondary I/O BLKSTA.B31
2 DEV Primary/Secondary Deviation
Limit Exceeded
BLKSTA.B30
3. AINR Redundant Analog Input Block B0193AX Rev AB
83


* Bit 0 is the least significant, low order bit.
BSCALE Offset Scale is a real input which is used as the offset factor, in output
units, applied to the conditioned signal to rescale it for compatibility with
the output units. It is usually used to convert from Celsius to Fahrenheit
scales.
CRIT Criticality is an integer output that indicates the priority, ranging from
1 to 5, of the blocks highest currently active alarm (1 is the highest prior-
ity). An output of zero indicates the absence of alarms.
DEFINE Define is a data store which indicates the presence or absence of configura-
tion errors. The default is 1 (no configuration errors). When the block ini-
tializes, DEFINE is set to 0 if any configured parameters fail validation
testing. (See ERCODE for the list of all possible validation errors in this
block.) In that case, no further processing of the block occurs, including
further validation of remaining parameters. To return DEFINE to a true
value, correct all configuration errors and re-install the block. If DEFINE
= 0, the bit BLKSTA.UDEF = 1.
DELTO1 Change delta for Output Range 1 is a configurable real value that defines
the minimum percent of the output range that triggers change-driven
connections for parameters in the range RO1. The default value is 1.0 per-
cent. If communication is within the same control station that contains
the blocks compound, DELTO1 has no effect.
DESCRP Description is a user-defined string of up to 32 characters that describes
the blocks function (for example, PLT 3 FURNACE 2 HEATER CON-
TROL).
DEVIDR Redundant Device Identifier is a character array data store that indicates
the 6-character letterbug of the secondary connected FBM or FBC. In the
case of IFD inputs, DEVIDR contains the letterbug of the secondary par-
ent FBM (18, 43, 39, 44, or 46) to which the instrument interfaces.
8 FBM Primary FBM or FBC Failure BLKSTA.B24
9 FBMR Secondary FBM or FBC Failure BLKSTA.B23
11 MA Manual = 0, Auto = 1 BLKSTA.B21
12 BAD Bad Primary I/O BLKSTA.B20
14 UDEF Block Undefined BLKSTA.B18
15 ON Block ON BLKSTA.B17
20 WLCK Access Locked BLKSTA.B12
Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
B0193AX Rev AB 3. AINR Redundant Analog Input Block
84


DEVLIM Deviation Limit is the limit, in engineering units, of the deviation
between the primary and secondary measurements. When this limit is
exceeded, bit 2 of BLKSTA (BLKSTA.DEV) is set true.
DEV_ID Device Identifier is a character array data store that indicates the 6-charac-
ter letterbug of the primary connected FBM or FBC. In the case of IFD
inputs, DEV_ID contains the letterbug of the primary parent FBM (18,
43, 39, 44, or 46) to which the instrument interfaces.
EO1 Engineering Units for Output Range 1 provides the engineering units text
for the values defined for the output 1 range. The value configured for this
text string should be consistent with the values used for HSCO1 and
LSCO1.
ERCODE Error Code is a string data store which indicates the type of configuration
error which caused the blocks DEFINE parameter to be set false. Valida-
tion of configuration errors does not proceed past the first error encoun-
tered by the block logic. For the AINR block, the following list specifies
the possible values of ERCODE, and the significance of each value in this
block:
EXTBLK Extender Block is a long input that specifies the pathname to the
BLKSTA parameter of a CHARC block used as an extender block.
The CHARC block must be in the same CP and compound as the
AINR block.
FLOP Filter Option is an option parameter that specifies the type of filtering that
is applied to the selected input signal before it is set into the PNT output.
FLOP has the following values:
0 = No Filtering
1 = First Order Lag Filtering
2 = Butterworth Filtering
3 = Two-Sample-Average Filtering
ERCODE Description
W44 HSCO1 less than LSCO1)
W48 FLOP or BADOPT out of range
W49 Invalid CHARC block extension
W50 Invalid SCI
W51 Cluster I/O specified but type is not analog input or ana-
log output. Value 51 also used to indicate any mismatch
between hardware or software types of the primary and
secondary points.
W52 PNT_NO out of range for the specified FBMs or FBCs
W54 Specified IOM_ID or IOMIDR does not exist
3. AINR Redundant Analog Input Block B0193AX Rev AB
85


FTIM Filter Time is an input that represents the time in minutes for the output
value to reach a certain percentage of its ultimate value after a step change
to the input. For first order lag filtering this percentage is approximately
63 percent, and for Butterworth filtering it is approximately 50 percent.
FTIM is not applicable to two-sample-average filtering.
HAI High Absolute Alarm Indicator is a boolean output that is true whenever
the value of PNT (the selected point) is greater than the value of HAL and
option HLOP is set to 1 or 2.
HAL High Absolute Alarm Limit is a real input that defines the value of the
PNT output (the selected point) that triggers a High Absolute Alarm.
HAT High Absolute Alarm Text is a user-defined text string of up to
32 characters, sent with the high absolute alarm message to identify it.
HHAGRP High-High Absolute Alarm Group is a short integer input that directs
High-High Absolute alarm messages to one of eight groups of alarm
devices.
HHAIND High-High Absolute Alarm Indicator is a boolean output that is true
whenever the value of PNT (the selected point) is greater than the value of
HHALIM and option HHAOPT is set to 1 or 2.
HHALIM High-High Absolute Alarm Limit is a real input that defines the value of
the PNT output (the selected point) that triggers a High-High Absolute
Alarm.
HHAOPT High-High Absolute Alarm Option is a configured short integer input
that enables High-High Absolute and/or Low-Low Absolute alarming of
the PNT output (the selected point), or disables this type of alarming alto-
gether. Values:
0 = No Alarming
1 = High-High and Low-Low Absolute Alarming
2 = High-High Absolute Alarming Only
3 = Low-Low Absolute Alarming Only
HHAPRI High-High Absolute Alarm Priority is an integer input, ranging from
1 to 5, that sets the priority level of the high-high alarm (1 is the highest
priority).
HHATXT High-High Absolute Alarm Text is a user-defined text string of up to
32 characters, sent with the high-high absolute alarm message to identify
it.
HLDB High/Low Deadband is a real input that defines the size of the deadband
that applies to the high, low, high-high and low-low absolute alarm limits
of the PNT output (the selected point).
B0193AX Rev AB 3. AINR Redundant Analog Input Block
86


HLGP High/Low Group is a short integer input that directs High/Low Absolute
alarm messages to one of eight groups of alarm devices.
HLOP High/Low Option is a configured short integer input that enables Abso-
lute High and/or Low alarming of the PNT output (the selected point), or
disables absolute alarming altogether. Values:
0 = No Alarming
1 = High and Low Absolute Alarming
2 = High Absolute Alarming Only
3 = Low Absolute Alarming Only
HLPR High/Low Priority is an integer input, ranging from 1 to 5, that sets the
priority level of the High/Low Absolute alarm (1 is the highest priority).
HOR High Out-of-Range is a boolean output that is set true if any one of the
seven high out-of-range conditions described in Section 3.6.2 (Out-of-
Range Conditions) occurs for either the primary point, the secondary
point, or both.
HSCO1 High Scale for Output Range 1 is a real value that defines the upper range
value for the blocks output.
INHALM Inhibit Alarm contains packed boolean values that represent alarm genera-
tion inhibit requests for each type of alarm configured in the block. For
the AINR block, only the following bits are used:
* Bit 0 is the least significant, low order bit.
There are no mnemonic names for the individual bits of INHALM.
Bit Number*
(0 to 15) Description When True
Boolean
Connection
(B16 to B1)
0 (Least
Significant)
Inhibit Low Absolute Alarm INHALM.B16
1 Inhibit High Absolute
Alarm
INHALM.B15
6 Inhibit Bad I/O Alarm INHALM.B10
8 Inhibit Low-Low Absolute
Alarm
INHALM.B8
9 Inhibit High-High Abso-
lute Alarm
INHALM.B7
12 Inhibit Out-of-Range Alarm INHALM.B4
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
3. AINR Redundant Analog Input Block B0193AX Rev AB
87


INHIB Inhibit is a boolean input. When true, it inhibits all block alarms; the
alarm handling and detection functions are determined by the INHOPT
setting. Alarms can also be inhibited based on INHALM and the com-
pound parameter CINHIB.
INHOPT Inhibit Option specifies the following actions applying to all block alarms:
INHSTA Inhibit Status contains packed long values that represent the current
inhibit status of each alarm type configured in the block. For the AINR
block, only the following bits are used:
* Bit 0 is the least significant, low order bit.
0 = When an alarm is inhibited, disable alarm messages but do not
disable alarm detection.
1 = When an alarm is inhibited, disable both alarm messages and
alarm detection. If an alarm condition already exists at the time
the alarm transitions into the inhibited state, clear the alarm
indicator.
2 = Same as 0 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages. Into
alarm messages may be acknowledged by explicitly setting
UNACK false.
3 = Same as 1 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages. Into
alarm messages may be acknowledged by explicitly setting
UNACK false.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
O
O
R
H
H
A
L
L
A
B
A
D
H
M
A
L
M
A

Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
16 LMA Low Absolute Alarm Inhibited INHSTA.B16
17 HMA High Absolute Alarm Inhibited INHSTA.B15
22 BAD Bad I/O Alarm Inhibited INHSTA.B10
24 LLA Low-Low Absolute Alarm
Inhibited
INHSTA.B8
25 HHA High-High Absolute Alarm
Inhibited
INHSTA.B7
28 OOR Out-of-Range Alarm Inhibited INHSTA.B4
B0193AX Rev AB 3. AINR Redundant Analog Input Block
88


INITMA Initialize Manual/Auto specifies the desired state of the MA input during
initialization, where:
0 = Manual
1 = Auto
2 = The MA state as specified in the checkpoint file.
The block asserts this initial M/A state whenever:
+ It is installed into the Control Processor database.
+ The Control Processor undergoes a reboot operation.
+ The compound in which it resides is turned on.
+ The INITMA parameter itself is modified via the control configu-
rator. (The block does not assert INITMA on ordinary
reconfiguration.)
INITMA is ignored if MA has an established linkage.
IOMIDR Redundant Fieldbus Module Identifier is a configurable string that speci-
fies pathname of the ECB for the secondary FBM or FBC to which the
block is connected. IOMIDR is entered with the same format choices as
IOM_ID.
IOMOPT FBM Option is a short integer specifying whether FBM or FBC connec-
tions to the block exist, and, if not, whether signal conditioning is to be
applied to the alternate sources of the block input. Values:
IOM_ID Fieldbus Module Identifier is a configurable string that specifies the path-
name of the ECB for the primary FBM or FBC to which the block is con-
nected.
IOM_ID has the form CompoundName:BlockName, where Compound-
Name is the 1-12 character name of the local compound containing the
ECB, and BlockName is the 1-12 character block name of the ECB. For
IFD inputs, this is the letterbug of the primary parent FBM (18, 43, 39,
44, or 46), not the connected transmitter.
If the compound containing the ECB is the CPletterbug_ECB compound
where CPletterbug is the station letterbug of the CP, the CompoundName
may be omitted from the IOM_ID configuration. In this case, the 1-12
character ECB block name is sufficient. For IFD inputs, the NAME
0 = The AINR block obtains input values from the MEAS_P and
MEAS_S parameters and conditions them as specified by the
value of SCI.
1 = The block obtains input values from the FBM or FBC input
points specified by IOM_ID, IOMIDR, and PNT_NO.
2 = The block obtains input values from the MEAS_P and MEAS_S
parameters. No signal conditioning is performed. The inputs are
subjected only to scaling for units conversion (via KSCALE and
BSCALE), clamping using the configured HSCO1, LSCO1,
and OSV parameters, and filtering, in that order.
3. AINR Redundant Analog Input Block B0193AX Rev AB
89


parameter of the primary parent ECB (12, 23, or 38R), not the child ECB
18, must be used.
KSCALE Gain Scale is a real input which is used as the gain factor applied to the
conditioned signal to rescale it for compatibility with the output units.
KSCALE and BSCALE are always applied after any signal conditioning or
characterization of the raw input. It is usually used to convert from Celsius
to Fahrenheit scales.
LAI Low Absolute Alarm Indicator is a boolean output that is true whenever
the value of PNT (the selected point) is less than the value of LAL and
option HLOP is set to 1 or 3.
LAL Low Absolute Alarm Limit is a real input that defines the value of the
PNT output (the selected point) that triggers a Low Absolute Alarm.
LASTGV Last Good Value is a boolean option. When true in the situations
described in Section 3.6.4, LASTGV causes the previous value of the
input side (primary or secondary) to be retained, and the value obtained
this cycle to be ignored.
LAT Low Absolute Alarm Text is a user-defined text string of up to
32 characters, sent with the low absolute alarm message to identify it.
LLAIND Low_Low Absolute Alarm Indicator is a boolean output that is true when-
ever the value of PNT (the selected point) is less than the value of
LLALIM and option HHAOPT is set to 1 or 3.
LLALIM Low-Low Absolute Alarm Limit is a real input that defines the value of the
PNT output (the selected point) that triggers a Low-Low Absolute Alarm.
LLATXT Low-Low Absolute Alarm Text is a user-defined text string of up to 32
characters, sent with the low-low absolute alarm message to identify it.
LOCKID Lock Identifier is a string identifying the workstation which has locked
access to the block via a successful setting of LOCKRQ. LOCKID has the
format LETTERBUG:DEVNAME, where LETTERBUG is the 6-charac-
ter letterbug of the workstation and DEVNAME is the 1-6 character logi-
cal device name of the Display Manager task.
LOCKRQ Lock Request is a boolean input which can be set true or false only by a
SETVAL command from the LOCK U/L toggle key on workstation dis-
plays. When LOCKRQ is set true in this fashion a workstation identifier
accompanying the SETVAL command is entered into the LOCKID
parameter of the block. Thereafter, set requests to any of the blocks
parameters are only honored (subject to the usual access rules) from the
workstation whose identifier matches the contents of LOCKID.
LOCKRQ can be set false by any workstation at any time, whereupon a
new LOCKRQ is accepted, and a new ownership workstation identifier
written to LOCKID.
B0193AX Rev AB 3. AINR Redundant Analog Input Block
90


LOOPID Loop Identifier is a configurable string of up to 32 characters which iden-
tifies the loop or process with which the block is associated. It is displayed
on the detail display of the block, immediately below the faceplate.
LOR Low Out-of-Range is a boolean output that is set true if any one of the
seven low out-of-range conditions described in Section 3.6.2 (Out-of-
Range Conditions) occurs for either the primary point, the secondary
point, or both.
LSCO1 Low Scale for Output Range 1 is a real value that defines the lower range
value for the blocks output.
MA Manual/Auto is a boolean input that controls the blocks operating state (0
= false = Manual; 1 = true = Auto). When in Manual, the output PNT is
only updated manually, and not otherwise. It is released and can be set by
you or an external program. When IOMOPT =0 or 2 (indicating that
there are no connected FBMs or FBCs) the output value of PNT is copied
at all times (Auto or Manual) to the MEAS parameter. Alarming in Man-
ual is dependent on the value of MANALM.
MANALM Manual Alarm Option is a configurable input which enables or disables
configured alarm options to function in Manual mode. Normally alarms
are processed only in the Auto mode. For the AINR block, the value of 0
indicates no alarming in Manual, and the value of 1 indicates full alarming
in Manual.
MEAS Measurement, in the AINR block, is used only when no FBM or FBC is
configured. In this case it contains the same value and status as the block
output PNT.
MEAS_P Primary Measurement contains the conditioned/converted value of the
measurement signal from the primary FBM or FBC. In simulation mode,
that is, when IOMOPT is 0 or 2, it is linked to the output of another
block which provides the primary input.
MEAS_S Secondary Measurement contains the conditioned/converted value of the
measurement signal from the secondary FBM or FBC. In simulation
mode, that is, when IOMOPT is 0 or 2, it is linked to the output of
another block which provides the secondary input.
MTRF Meter Factor, a real input, is a scaling parameter used with the pulse rate
input signal conversion (SCI = 8) to translate an input pulse rate in Hertz
to the desired engineering units of the process output. In most applica-
tions it would be considered to have the dimension Flow Rate per Hertz.
NAME Name is a user-defined string of up to 12 characters used to access the
block and its parameters.
3. AINR Redundant Analog Input Block B0193AX Rev AB
91


NASOPT Alarm Suppression Option is a configurable, non-settable short integer
that specifies how the nuisance alarm delay is implemented:
+ 0 = Suppress nuisance alarms by delaying the Return-to-Normal
(default) by the length of time specified in NASTDB
+ 1 = Suppress nuisance alarms by delaying alarm detection by the
length of time specified in NASTDB
+ 2 = Suppress nuisance alarms by delaying both the Alarm Detec-
tion and the Return-to-Normal by the length of time specified in
NASTDB
NASTDB Alarm Deadband Timer is a configurable long integer. Depending on the
value of NASOPT, it either specifies the deadband time interval that must
elapse before an alarm condition is allowed to return to normal, or the
length of a delay-on timer which specifies the amount of time between an
alarms detection and the announcement of the alarm. The parameter
value ranges from zero (default, no delay) to 2147483647 ms.
ORAG Out-of-Range Alarm Group is a short integer input that directs Out-of-
Range alarm messages to one of eight groups of alarm devices.
ORAO Out-of-Range Alarm Option is a configurable boolean which, when con-
figured true, enables an alarm for each change of the out-of-range status of
the block. The block has out-of-range status if either the HOR or the
LOR parameter is true.
ORAP Out-of-Range Alarm Priority is an integer input, ranging from 1 to 5, that
sets the priority level of the out-of-range alarm (1 is the highest priority).
ORAT Out-of-Range Alarm Text is a user-configurable text string of up to
32 characters, sent with the out-of-range alarm message to identify it.
OSV Output Span Variance is a configurable real input which defines the per-
cent by which the output clamp limits exceed the output range defined by
HSCO1 and LSCO1.
OWNER Owner is a string of up to 32 ASCII characters which are used to allocate
control blocks to applications. Attempts to set Owner are successful only
if the present value of Owner is the null string, an all-blank string, or iden-
tical to the value in the set request. Otherwise the request is rejected with a
LOCKED_ACCESS error. Owner can be cleared by any application by
setting it to the null string; this value is always accepted, regardless of the
current value of Owner. Once set to the null string, the value can then be
set as desired.
PERIOD Period is an indexed input that dictates the blocks execution time base
and allowable PHASE values. For stations other than Integrators and
Gateways, PERIOD values range from 0 to 13 and map to the following
B0193AX Rev AB 3. AINR Redundant Analog Input Block
92


period time lengths. (Integrator and Gateway blocks have different period
values than shown here.)
* If the BPC is 0.2 sec., this period is treated internally as 0.6 sec., but the
PERIOD parameter remains 1.
** If the BPC is 2.0 sec., this period is treated internally as 6.0 sec., but the
PERIOD parameter remains 10.
*** If the BPC is 0.5 sec., this period is treated internally as 0.5 sec., but
the PERIOD parameter remains 11.
**** If the BPC is not 2.0 sec., this period is treated internally as 5.0 sec.,
but the PERIOD parameter remains 12.
***** Available in CP40, CP40B, CP60 and later control processors.
PERTIM Period Time is the period of the block expressed in seconds.
PHASE Phase is an integer input that causes the block to execute at a specific BPC
within the time determined by the PERIOD. For instance, a block with
PERIOD of 3 (2.0 sec) can execute within the first, second, third, or
fourth BPC of the 2-second time period, assuming the BPC of the Con-
trol Processor is 0.5 sec. Refer to the appropriate Integrated Control Soft-
ware Concepts document (B0700AG or B0193AW).
PNT Point is the block output. It represents the selected analog input after all
block operations have been performed.
PNT_NO Point Number is the FBM or FBC points to which the AINR block is
connected. In the case of IFD inputs, the value of PNT_NO is the same
as the CHAN parameter of the children ECB18s if the desired input is the
primary measurement of the instrument. If the first or second auxiliary
measurement is desired, see Section 3.5.2.6 to determine the required
value of PNT_NO.
PROPT Propagate Error Option is a boolean input which determines whether the
status of the selected input should be reflected in the Error bit of PNT sta-
tus. If the AINR block is in Auto and no FBM or FBC is configured
(IOMOPT = 0 or 2), the true value of PROPT causes any one of the fol-
lowing conditions to be reflected as an Error status of PNT:
+ Bad status bit in both MEAS_P and MEAS_S
Period Length Period Length
0 0.1 sec 7 10 min
1 0.5 sec* 8 60 min
2 1.0 sec 9 0.2 sec
3 2.0 sec 10 5.0 sec**
4 10 sec 11 0.6 sec***
5 30 sec 12 6.0 sec****
6 1 min 13 0.05 sec*****
3. AINR Redundant Analog Input Block B0193AX Rev AB
93


+ OOS status bit in the selected input
+ Error status bit in the selected input
+ Any value in the OM field of the selected input source except 1
(ON_SCAN). Any other value in this field indicates that the
source of the connection has been deleted or is in a nonexistent
compound, or there has been a peer-to-peer path failure.
With no FBM or FBC configured, the AINR block reports the value and
status of the selected point in the MEAS parameter.
PRTYPE Priority Type is an indexed output parameter that indicates the alarm type
of the highest priority active alarm. The PRTYPE output of this block
consists of the following alarm types:
0 = No active alarm
1 = High Absolute
2 = Low Absolute
3 = High-High Absolute
4 = Low-Low Absolute
8 = Bad
25 = Out-of-Range
If there is more than one active alarm with highest priority, PRTYPE
reports the alarm type according to which occurs first in the following list:
+ Out-of-Range
+ High-High Absolute
+ Low-Low Absolute
+ High Absolute
+ Low Absolute
For example, if the Bad and High-High Absolute alarms both have prior-
ity 3 and the Out-of-Range alarm has priority 4, and all three alarms are
active, then CRIT = 3 and PRTYPE = 8.
B0193AX Rev AB 3. AINR Redundant Analog Input Block
94


QALSTA Quality Status parameter (QALSTA) is a non-configurable packed long
that provides a combination of value record status, block status (BLK-
STA), and alarm status (ALMSTA) information in a single connectable
output parameter. Available bits for this block are provided below.
RAWC Raw Count is the value read from the ECB into the block before any form
of signal conditioning, characterization, scaling, clamping or filtering is
applied. It is of real data type although the ECB value may be integer, or
long integer.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
Bit
Number
1
Definition Contents
Boolean Connection
(B32 to B1)
30 Alarms Unacknowledged ALMSTA.UNA QALSTA.B2
29 Alarms Inhibited ALMSTA.INH QALSTA.B3
28 Out-of-Range Alarm ALMSTA.OOR QALSTA.B4
25 High-High Absolute Alarm ALMSTA.HHA QALSTA.B7
24 Low-Low Absolute Alarm ALMSTA.LLA QALSTA.B8
22 Bad Alarm
2
ALMSTA.IOBD QALSTA.B10
17 High Absolute Alarm ALMSTA.HMA QALSTA.B15
16 Low Absolute Alarm ALMSTA.LMA QALSTA.B16
14 Bad Secondary FBM BLKSTA.FBM2 QALSTA.B18
13 Bad Primary FBM BLKSTA.FBM1 QALSTA.B19
11 Bad Secondary Point BLKSTA.BAD2 QALSTA.B21
10 Bad Primary Point BLKSTA.BAD1 QALSTA.B22
7 Primary Deviation BLKSTA.DEVN QALSTA.B25
5 Manual BLKSTA.MA QALSTA.B27
4 Low Limited PNT.LLO status QALSTA.B28
3 High Limited PNT.LHI status QALSTA.B29
2 Uncertain PNT.ERR status QALSTA.B30
1 Out-of-Service PNT.OOS status QALSTA.B31
0 Bad PNT.BAD status QALSTA.B32
1.
Bit 0 is the least significant, low order bit.
2.
This bit records the status of the primary input (PNT). This status is the inverse of
the Manual/Auto (MA) status bit in BLKSTA. This bit is not available for I/A Series
software earlier than v8.0.
3. AINR Redundant Analog Input Block B0193AX Rev AB
95


RO1 Range Output 1 is a real array consisting of the three parameters HSCO1,
LSCO1, and DELTO1. The array members are configured by their indi-
vidual names; however, RO1 and its members may be accessed on an array
basis by user tasks and displays.
SCI Signal Conditioning Index is an indexed input parameter that determines
how the selected raw count input is conditioned. It is an alternate to char-
acterization and a predecessor to scaling, clamping, and filtering. (See
Appendix A Signal Conditioning Tables on page 118.)
SELREQ Select Request specifies which of the redundant input points is to be used
(0 = primary, 1 = secondary). The selection decision specified by SELREQ
is overridden if the specified point has Bad or Out-of-Service status. If
both points have Bad or Out-of-Service status, the primary point is used.
The value of SELREQ is changed by the internal block logic, until the
next set or reconfiguration, whenever the specified point is Bad or Out-of-
Service and the alternate point is not.
TYPE When you enter AINR or select it from a configurator list, an identify-
ing integer is created specifying this block type.
UNACK Unacknowledge is a boolean output parameter which is set true, for notifi-
cation purposes, whenever the block goes into alarm. It is settable, but sets
are only allowed to clear UNACK to false, and never in the opposite direc-
tion. The clearing of UNACK is normally via an operator acknowledge
pick on a default display, user display, or Current Alarms Display, or via a
user task.
XREFIN External Reference Input is a real input used as the source of the cold
junction reference temperature for thermocouple SCIs when XREFOP is
configured true, or no FBM or FBC is configured. The block calculations
assume that XREFIN is in units of degrees Celsius.
XREFOP External Reference Option is a boolean input. When true, XREFOP
selects an external temperature measurement source, XREFIN, to be used
for thermocouple cold junction compensation. If XREFOP is false, the
FBMs internal ninth channel (or the FBCs internal thirty-third channel)
is used. XREFOP is configurable only.
ZERROP Zero Error Point is a status bit that indicates an out-of-range error (LOL
or LOR) in a DOWNSTREAM parameter (PNT.ERR) and also to indi-
cate an unconditional request for initialization in an UPSTREAM param-
eter (BCALCO.INITU). Normally, these usages are mutually exclusive
and there is no conflict. However, in some control applications where a
DOWNSTREAM parameter is used as part of an UPSTREAM connec-
tion, a High Out-of-Range (HOR) or Low Out-of-Range (LOR) condi-
tion can be misinterpreted as an unconditional initialization (INITU)
request. ZERROP is not configurable. To disable the setting of PNT.ERR
when out-of-range, you must use OMSET, OMA, or some other utility to
set ZERROP = 1.
B0193AX Rev AB 3. AINR Redundant Analog Input Block
96


ZERROP is a non-configurable boolean parameter with the following
meaning:
ZERROP = 0 set PNT.ERR when out of range (default setting, backward
compatible with previous version)
ZERROP = 1 do not set PNT.ERR when out of range
NOTE
PNT.ERR status can also be set when propagating (PROPT = 1) a simulated input
(IOMOPT = 0) and the measurement (MEAS) is BAD, OOS ERR, or Discon-
nected. This action is unaffected by the ZERROP option.
3.5 Functions
3.5.1 Detailed Diagram
Figure 3-2. AINR Block Operational Diagram
PNT
MANUAL
AND
FROM
KSCALE
BSCALE
FLOP
FTIM
LOR, HOR
OR
IOM_ID
XREFOP
(M)
(A)
HSCO1
LSCO1
OSV
Signal
Conditioning*
* See individual diagrams
MA
o o
o
output
units
OR AND
BAO
BAD
Alarming
Primary
Secondary
AND
BLKSTA.BADR
Primary
Secondary
OR
SELREQ
RAWC
IOMIDR
ECBs
MEAS_P
MEAS_S
PNT_NO
IOMOPT
1
0,2
SCI
XREFIN
EXTBLK
Scaling Filtering
Converted
OOR
Raw Data
OOR
Test
ECB Status
Channel
Status
BAD
PNT.BAD
BLKSTA.BAD
AUTO
MANALM
HSCO1 LSCO1
Clamping
Point
Select
BADOPT
BLKSTA.BAD
3. AINR Redundant Analog Input Block B0193AX Rev AB
97


3.5.2 Input And Signal Conditioning
3.5.2.1 General Analog Input: 0 to 20 mA or 0 to 10 V dc
Figure 3-3. General Analog Input Example
For all types of inputs, you specify the primary FBM or FBC in the Fieldbus Module Identifier
(IOM_ID) parameter, and the secondary FBM or FBC in the Redundant Fieldbus Module Iden-
tifier (IOMIDR) parameter. The source point within the FBMs or FBCs is specified by the Point
Number (PNT_NO) parameter. Since the point must be the same in both the primary and the
secondary, there is only one PNT_NO parameter. You are not limited to the types of FBMs and
FBCs defined as redundant; any analog inputs may be specified, provided only that the software
and hardware types are identical.
The following are the FBMs or FBCs and point numbers providing general analog input:
FBM ECB Functional Description Electrical Type Valid Points
FBM201 ECB1 8 Analog In 0 to 20 mA Points 1 to 8
FBM204 ECB2 4 Analog In, 4 Analog Out 0 to 20 mA Points 1 to 8
FBM205 ECB2 As FBM204, Redundant 0 to 20 mA Points 1 to 8
FBM211 ECB1 16 Analog In 0 to 20 mA Points 1 to 16
FBM01 ECB1 8 Analog In 0 to 20 mA Points 1 to 8
FBM04 ECB2 4 Analog In, 4 Analog Out 0 to 20 mA Points 1 to 8
FBM05 ECB2 As FBM04, Redundant 0 to 20 mA Points 1 to 8
FBM06 ECB4 4 Pulse Rate In, 4 Analog Out 0 to 20 mA Points 5 to 8
Linearization
HOR/LOR
hor, lor
X +
KSCALE
Clamping Filtering
HSCO1
LSCO1
OSV
FLOP
FTIM
Engineering
Units
hor, lor
BAD
BADOPT
Alarming BAD
ABSOLUTE
Alarming
LASTGV
BAD
PNT
SCI = 0-7, 9-10
o
MA
o o
(A)
(M)
output
units
Point
Selection
SELREQ
RAWC
INPUTS FROM TWO FBM01s (General Analog Inputs)
Input Pri. = Raw Counts
Input Sec. = Raw Counts
Channel Status Pri.
FBM Status Pri.
FBM Status Sec.
Channel Status Sec.
3.5.2.1 3.5.4 3.5.5
3.7
3.7
BSCALE
B0193AX Rev AB 3. AINR Redundant Analog Input Block
98


The following points in the above table are physical outputs rather than physical inputs. You can
use the readback values from these points as inputs to the AINR block:
If FBM Option (IOMOPT) is not set to 1, then IOM_ID, IOMIDR, and PNT_NO are
ignored. The input is taken from another block or blocks, as described in Section 3.5.2.7. General
analog inputs are converted by the FBM or FBC from the electrical process input into a form
called raw count, which is an integer value between 0 and 64000. Based on the Signal Condi-
tioning Index (SCI) and the parameter Extender Block (EXTBLK) setting, a determination is
made as to how the raw count is to be conditioned.
If you wish the raw count to be characterized by a CHARC block, you should link the Extender
Block (EXTBLK) parameter of the AINR block to a CHARC block, and set the Extender Block
Option (EXTOPT) of that CHARC block to 1. The raw count is then characterized as described
below, and the value of SCI is ignored. The characterizer output should be expressed in counts,
with full scale equal to 64000.
FBM17 ECB9,
33 to 36
4 Analog In, 2 Analog Out,
4 Digital In, 4 Digital Out
0 to 10 V dc Points 1 to 6
FBM39 ECB23 4 IFD In, 4 Analog Out 0 to 20 mA Points 5 to 8
FBM44 ECB23 As FBM39, Dual Baud Rate 0 to 20 mA Points 5 to 8
FBM46 ECB38R As FBM44, Redundant 0 to 20 mA Points 5 to 8
FBC21 ECB41 16 Analog In 0 to 20 mA Points 1 to 16
FBC01 ECB41 32 Analog In 0 to 20 mA Points 1 to 32
FBC17 ECB41 32 Analog In 0 to 10 V dc Points 1 to 32
FBC04 ECB43 16 Analog Out 0 to 20 mA Points 1 to 16
FBM204: Points 5 to 8
FBM205: Points 5 to 8
FBM237: Points 1 to 8
FBM04: Points 5 to 8
FBM05: Points 5 to 8
FBM06: Points 5 to 8
FBM17: Points 5 to 6
FBM37 Points 1 to 8
FBM39: Points 5 to 8
FBM44: Points 5 to 8
FBM46: Points 5 to 8
FBC04: Points 1 to 16
FBM ECB Functional Description Electrical Type Valid Points
3. AINR Redundant Analog Input Block B0193AX Rev AB
99


If you wish to apply linear or square root signal conditioning to the raw count, you should set SCI
to one of the following values:
Linear/Square Root Signal Conversion
Key Parameters: SCI, HSCO1, LSCO1, OSV
(See the definitions of the linear and square root SCI conversions in Appendix A Signal Condi-
tioning Tables on page 118.)
Each linear SCI has an associated input span, consisting of the difference between the upper and
lower range values of the raw value. For example, SCI = 2 has an input span of 64000 minus
1600, or 62400, as shown in Appendix A Signal Conditioning Tables on page 118. The upper
range value is always 64000 for any SCI, and the lower range value, which varies from one SCI to
another, is referred to as the raw low for the SCI.
The block also has an output span, which is the difference between the configured parameters
High Scale for Output 1 Range (HSCO1) and Low Scale for Output 1 Range (LSCO1).
SCI = 0: No linearization; output = input
SCI = 1: Linear (0 64000). Analog Input 0 to 20 mA
SCI = 2: Linear (1600 64000). Analog Input 0 to 10 V dc
SCI = 3: Linear (12800 64000). Analog Input 4 to 20 mA
SCI = 4: Square root (0 64000). Analog Input 0 to 20 mA
SCI = 5: Square root (12800 64000), clamped. Analog Input 4 to 20 mA
SCI = 6: Square root, low cutoff (0 64000), clamp < 3/4%. Analog Input 0 to 20 mA
SCI = 7: Square root, low cutoff (12800 64000), clamp < 3/4%. Analog Input 4 to 20 mA
SCI = 9: Linear, low cutoff (1600 64000). Analog Input 0 to 10 V dc
SCI = 10: Linear, low cutoff (12800 64000). Analog Input 4 to 20 mA
SCI = 11 Square root, Intelligent Transmitter 2 (0 to 64000)
SCI = 12: Linear (14080 64000). Analog Input 2 to 10 V dc
SCI = 13: Square root, low cutoff (14080 64000). Analog Input 2 to 10 V dc
SCI = 14 Linear (0 to 16383)
SCI = 15 Square root, low cutoff (1600 to 64000)
SCI = 50: Linear (0 to 65535)
SCI = 51: Linear (-32768 to 32767)
SCI = 52: Linear (0 to 32767)
SCI = 53: Linear (0 to 1000)
SCI = 54: Linear (0 to 999)
SCI = 55: Linear (0 to 2048)
SCI = 56: Linear (409 to 2048)
SCI = 57: Square Root (0 to 2048)
SCI = 58: Square Root (409 to 2048)
SCI = 59: Linear (0 to 4095)
B0193AX Rev AB 3. AINR Redundant Analog Input Block
100


If the raw value is greater than or equal to:
64000.0 + Output Span Variance (OSV)/100.0 * (the input span of this SCI)
for either the primary or the secondary input (or both), then High Out-of-Range (HOR) is set.
Based on the two parameters Bad and Out-of-Range Option (BADOPT) and Last Good Value
(LASTGV), the value is either used or ignored, as described in detail in Section 3.6.
Similarly, if the raw value is less than or equal to:
(the raw low for this SCI-OSV/100.0) * (the input span of this SCI)
for the primary or secondary input (or both) then Low Out-of-Range (LOR) is set. Based on
BADOPT and LASTGV, the value is either used or ignored, as described in Section 3.6.
The raw value is then converted according to the SCI definitions in Appendix A Signal Condi-
tioning Tables on page 118.
Characterizer Signal Conversion
Key Parameters: EXTBLK, EXTOPT
If EXTBLK is linked to a CHARC block whose EXTOPT parameter is not set to 2, then this is a
characterizer signal conversion.
The raw value from the input is passed to the CHARC block specified, and the resulting output
from the characterizer is then scaled (if not already accomplished by the characterization),
clamped, and optionally filtered.
If the CHARC input is outside the characterizer end-points, and BADOPT indicates that an out-
of-range in that direction is to be considered Bad status and LASTGV is true, then the filter for
that input side (primary or secondary) is re-initialized when Filter Option (FLOP) is non-zero.
3.5.2.2 Thermocouple Input
Figure 3-4. Thermocouple Input Example
hor, lor
+
KSCALE
(1.8) (32.0)
SCI = 20-28
Cold
Junction
Compensation
XREFOP
XREFIN
External Block
hor, lor
o
o
C F
Input 1 = Raw Counts
Channel 9 for Input 1
Input 2 = Raw Counts
Channel 9 for Input 2
Channel Status 1
FBM Status 1
Channel Status 2
FBM Status 2
INPUTS FROM TWO FBM02/36s (Thermocouple Inputs)
BSCALE
X
Linearization
3.5.2.2
3. AINR Redundant Analog Input Block B0193AX Rev AB
101


The following FBMs or FBCs and point numbers provide thermocouple inputs:
If IOMOPT is not set to 1, then IOM_ID, IOMIDR, and PNT_NO are ignored. The input is
taken from another block or blocks, as described in Section 3.5.2.7.
A temperature input read from a thermocouple must be linearized before it can be used. The tem-
perature value must also be compensated for the thermocouples cold junction temperature. This
value may be obtained from Point 9 (FBM202, FBM02, or FBM36), Point 15 (FBM212), or
Point 33 (FBC02), or it can be provided directly as a temperature value by setting XREFOP true
and providing the compensation temperature, in degrees Celsius, in the XREFIN parameter. The
engineering unit value obtained from signal conditioning is always in degrees Celsius. KSCALE
and BSCALE can be used to convert the engineering units from Celsius to Fahrenheit. To do this,
enter KSCALE = 1.8 and BSCALE = 32.0. (See Section 3.5.3.)
Thermocouple inputs are converted in the FBM or FBC from millivolts into raw counts in the
range 0 to 64000. This conversion is reversed by the CP when you specify a SCI value between 20
and 28 or you specify Special Thermocouple signal conversion.
When you apply thermocouple signal conditioning to the raw count, you should set SCI to one of
the values 20 to 28 as follows:
The SCI specifies which thermocouple curve is to be used for the input signal. Unlike the general
SCIs 0 through 11, where you must tell the system what engineering units are associated with the
raw counts, with a thermocouple SCI the system knows what temperature range goes with each
SCI. The entire temperature range of the thermocouple is available to you, as it is stated in
Appendix A Signal Conditioning Tables on page 118. HSCO1 and LSCO1 are only used to
specify what portion of the range is to be used for display purposes.
FBM ECB Functional Description Electrical Type Valid Points
FBM202 ECB1 8 Analog In mV Points 1 to 8
FBM212 ECB1 14 Analog In mV Points 1 to 14
FBM02 ECB1 8 Analog In mV Points 1 to 8
FBC02 ECB41 32 Analog In mV Points 1 to 32
FBC02
Redundant
ECB41 32 Analog In, Redundant mV Points 1 to 32
FBM36 ECB1 8 Analog In mV Points 1 to 8
SCI = 20: Type B Thermocouple
SCI = 21: Type E Thermocouple
SCI = 23: Type J Thermocouple
SCI = 24: Type K Thermocouple
SCI = 25: Type N Thermocouple
SCI = 26: Type R Thermocouple
SCI = 27: Type S Thermocouple
SCI = 28: Type T Thermocouple
B0193AX Rev AB 3. AINR Redundant Analog Input Block
102


Thermocouple Signal Conversion
Key Parameters: IOM_ID, IOMIDR, PNT_NO, SCI, XREFOP, XREFIN, KSCALE, BSCALE
(The details of thermocouple signal conversions are listed in Appendix A Signal Conditioning
Tables on page 118.)
Cold junction compensation is now computed:
+ The Point 9 value from the FBM202, FBM02, or FBM36, the Point 15 value from
the FBM212, or the Point 33 value from the FBC02 is ordinarily used for cold junc-
tion compensation. It provides the cold junction temperature from an RTD sensor
within the FBM on the ninth channel, or within the FBC on the thirty-third channel.
It is converted back from raw count to ohms in the CP.
+ The RTD conversion table for SCI 43 (100 Ohm IEC) is used to convert the Point 9,
Point 15, or Point 33 value from ohms to degrees Celsius. If the ohms value exceeds
the highest or lowest ohms values in this table, it is clamped at those values, the HOR
or LOR block parameter is set true, and the processing described in Section 3.6
occurs.
+ However, if the External Reference Option (XREFOP) is true or if IOMOPT indi-
cates that there are no FBMs or FBCs connected, the external reference in the
External Reference Input (XREFIN) is used. This must already be in degrees Celsius.
+ The Thermocouple conversion table for the SCI in use is entered with the degrees
Celsius value of the cold junction compensation and converted to the corresponding
millivolt value. The compensation in millivolts is added to the basic millivolt value,
and the table is entered again to convert to degrees Celsius. But if the sum is out of the
table range for millivolts, then parameter LOR or HOR is set true and the processing
of Section 3.6 occurs.
Special Thermocouple Signal Conversion
Key Parameters: EXTBLK, EXTOPT
You can specify Special Thermocouple Signal Conversion if the thermocouple does not conform
to one of the standard types in Appendix A Signal Conditioning Tables on page 118. In this
case you should link the Extender Block parameter (EXTBLK) to a CHARC block whose
Extender Block Option (EXTOPT) parameter is set to 2.
The compensation reference in degrees Celsius, however obtained, is passed to the CHARC block
specified by EXTBLK. It is used at this time to perform reverse characterization; that is, it is
entered with the passed degrees Celsius value and the corresponding millivolt equivalent is
returned.
The returned reference millivolts are added to the raw value and this sum is passed to the CHARC
block as the input. The corresponding output is the equivalent degrees Celsius.
If the CHARC input is out of range then parameter LOR or HOR is set true and the processing
of Section 3.6 occurs.
3. AINR Redundant Analog Input Block B0193AX Rev AB
103


3.5.2.3 RTD Input
Figure 3-5. RTD Input Example
The following FBM and point numbers provide RTD inputs:
In addition, the input data at Point 9 of an FBM202, FBM02, or FBM36, Point 15 of an
FBM212, or Point 33 of an FBC02, the cold junction compensation channel of thermocouple
inputs, originates in an RTD device within the FBM or FBC, and must be conditioned accord-
ingly before its use.
To apply RTD signal conditioning to the raw count, you should set SCI to one of the values 40 to
44 as follows:
FBM ECB Functional Description Electrical Type Valid Points
FBM203 ECB1 8 Analog In ohms Points 1 to 8
FBM213 ECB1 8 Analog In ohms Points 1 to 8
FBM03 ECB1 8 Analog In ohms Points 1 to 8
FBM33 ECB1 6 Analog In ohms Points 1 to 8
SCI = 40: Copper RTD (SAMA)
SCI = 41: Nickel RTD (SAMA)
SCI = 42: Platinum RTD (100 Ohm DIN 43760-1968)
SCI = 43: Platinum RTD (100 Ohm IEC) (DIN 43760-1980)
SCI = 44: Platinum RTD (100 Ohm SAMA)
Linearization
hor, lor
X +
KSCALE
SCI = 40-44
o
C
o
F
Input 1 = Raw Counts
Input 2 = Raw Counts
Channel Status 1
FBM Status 1
Channel Status 2
FBM Status 2
INPUTS FROM TWO FBM03s (RTD Inputs)
3.5.2.3
BSCALE
B0193AX Rev AB 3. AINR Redundant Analog Input Block
104


RTD Signal Conversion
Key Parameters: IOM_ID, IOMIDR, PNT_NO, SCI
(The types of RTD signal conversions are listed in Appendix A Signal Conditioning Tables on
page 118.)
The raw count value is converted back into ohms. The RTD conversion table for this SCI is
entered with the ohms value and it returns the equivalent in degrees Celsius. If the entered ohms
value is outside the table limits, the input is clamped at the lowest or highest ohms value, and
block parameter LOR or HOR is set. If BADOPT indicates that an out-of-range in that direction
is to be considered Bad, then the Bad status is set true for that input side (primary or secondary).
See Section 3.6.
As in the case of thermocouple inputs, HSCO1 and LSCO1 are not key parameters because the
signal conditioning understands what the engineering unit range is for a particular SCI. The
entered range is only used for display purposes, and for calculating percent of range for peer-to-
peer connections.
3.5.2.4 Pulse Rate Input
Figure 3-6. Pulse Rate Input Example
Key Parameters: SCI, MTRF
The following FBM and point numbers provide pulse rate inputs:
FBM ECB Functional Description Electrical Type Valid Points
FBM206 ECB4 8 Pulse rate In Frequency Points 1 to 8
FBM06 ECB4 4 Pulse rate In, 4 Analog Out Frequency Points 1 to 4
Raw Count
to Hertz
Raw Count
SCI = 8
Hertz to
Flow Rate
MTRF
Input 1 = 32 bit
Input 2 = 32 bit
Raw Count
Channel Status 1
FBM Status 1
Channel Status 2
FBM Status 2
INPUTS FROM TWO FBM06s (Pulse Rate Inputs)
3.5.2.4 3.5.2.4
3. AINR Redundant Analog Input Block B0193AX Rev AB
105


To apply pulse rate signal conditioning to the raw count, set SCI = 8. See the definition of this
SCI in Appendix A Signal Conditioning Tables on page 118.
The Pulse Constant defined in the appendix converts the raw count in the ECB4 into the units of
Hertz. You must set Meter Factor (MTRF) with the value necessary to convert Hertz into the
configured Engineering Units for Output Range 1 (EO1). Typically MTRF is in units of Flow
Rate per Hertz.
For example, suppose a meter with an output factor of 50 pulses/gallon has a maximum flow rate
of 100 gallons/minute. Then:
+ The maximum pulse rate is 5000 pulses per minute
+ 5000 pulses per minute = 83.3 pulses per second (Hertz)
+ MTRF = 100/83.3 = 1.2 (Gallons per Minute per Hertz)
+ EO1 = GPM (Gallons Per Minute).
You can apply pulse rate signal conditioning to the first four points of FBM06 and linear/square
root or characterizer signal conditioning to the last four points independently.
3.5.2.5 Pulse Count Input
Key Parameters: IOM_ID, IOMIDR, PNT_NO
The following FBMs and point numbers provide pulse count inputs:
The selected pulse count input is transferred as is to the output PNT. You cannot condition, char-
acterize, scale, clamp, or filter pulse count inputs. The entered value of SCI is ignored.
FBM ECB Functional Description Electrical Type Valid Points
FBM07 ECB7 16 Digital In/Pulse Count In Contact/dc Points 1 to 16
FBM12 - Expander for FBM07 Contact/dc Points 17 to 32
FBM08 ECB7 16 Digital In/Pulse Count In 120 V ac Points 1 to 16
FBM13 - Expander for FBM08 120 V ac Points 17 to 32
B0193AX Rev AB 3. AINR Redundant Analog Input Block
106


3.5.2.6 Intelligent Field Device Input
Key Parameter: EO1
Figure 3-7. Intelligent Field Device Input Example
The following FBMs and point numbers provide Intelligent Field Device inputs:
For FBM18 and 43, the primary measurements of the eight instruments are input on points
1 to 8 respectively, the first auxiliary measurements are on Points 9 to 16 respectively, and the sec-
ond auxiliary measurements are on Points 17 to 24 respectively. These numbers should be entered
into PNT_NO.
For FBM39, 44, and 46 the primary measurements of the four instruments are input on points
1 to 4 respectively, the first auxiliary measurements are on Points 9 to 12 respectively, and the sec-
ond auxiliary measurements are on Points 17 to 20 respectively. These numbers should be entered
into PNT_NO. Points 5 to 8 contain the analog output readback values and can be processed as
described in Section 3.5.2.1.
FBM ECB Functional Description Electrical Type Valid Points
FBM18 ECB12 8 IFD In IFD Points 1 to 24
FBM43 ECB12 8 IFD In Same, Dual Baud Rate Points 1 to 24
FBM39 ECB23 4 IFD In, 4 Analog Out IFD, 0 to 20 mA Points 1 to 4,
9 to 12, 17 to 20
FBM44 ECB23 4 IFD In, 4 Analog Out Same, Dual Baud Rate Points 1 to 4,
9 to 12, 17 to 20
FBM46 ECB38R 4 IFD In, 4 Analog Out Same, Dual Baud Rate,
Redundant
Points 1 to 4,
9 to 12, 17 to 20
FBM23 ECB13 24 Floating Point In HTG Points 1 to 24
FBM38 ECB22 8 Floating Point In Coriolis Points 1 to 8
X +
KSCALE
Output
Engineering
Units
INPUTS FROM TWO FBM18s (IFD Inputs)
Input 1 = Engineering Units
Input 2 = Engineering Units
Channel Status 1
FBM Status 1
Channel Status 2
SCI = 0
BSCALE
FBM Status 2
3. AINR Redundant Analog Input Block B0193AX Rev AB
107


You should configure the DEV_ID parameter of the primary parent ECB (12, 23, or 38R) with
the letterbug of its associated FBM (18, 43, 39, 44, or 46) and the DEV_ID of the secondary par-
ent ECB with the letterbug of the secondary FBM. The DEV_ID and DEVIDR of the AINR
block are non-configurable data stores which always match the DEV_IDs of the primary and sec-
ondary parent ECB, respectively. The DEV_IDs of the children ECB18s can be any 6-character
arrays which after Release 4.0, are no longer required to match the corresponding DEVNAM
parameters.
The PARENT parameter of the child ECB18 on each side is identical to the DEV_ID parameter
of the parent ECB (12, 23, or 38R) on that side when the ECBs are installed by the System Con-
figurator/Definition. If you install the children ECB18s manually via the Integrated Control
Configurator, you must set each PARENT parameter with the pathname to the NAME parame-
ter of its parent ECB (12, 23, or 38R). This pathname must be of the form
<local_compound_name>:<ecb_name> unless the parent is in the compound
<cp_letterbug>_ECB (the ECB compound), in which case the pathname <ecb_name> is also
acceptable. The DEV_ID of the parent is not be accepted as the value of PARENT.
Intelligent Field Device inputs may also be read directly from the children ECB18s by connecting
the Primary and Secondary Measurements (MEAS_P and MEAS_S) inputs of the AINR block to
certain ECB18 output parameters. This method is described in Section 3.5.2.7.
The inputs from Intelligent Field Devices, HTG Interface Units, and Coriolis (Mass Flow) Trans-
mitters are floating point values which are normally expressed in the final output units specified
by EO1. However, you may apply characterization (see this topic in Section 3.5.2.1), scaling (see
Section 3.5.3), clamping (see Section 3.5.4), and/or filtering (see Section 3.5.5), if required by the
application. If you do not wish to apply characterization, you should set SCI = 0.
3.5.2.7 Inputs from Other Blocks
Key Parameters: MEAS_P, MEAS_S, MEAS, SCI
There are two ways to make use of the ability to take the inputs to AINR from other blocks:
+ Process simulation without connected FBMs or FBCs
+ Connections to Window ECBs.
In either case, you should set IOMOPT to 0 or 2. This causes the primary and secondary block
inputs to be taken from the MEAS_P and MEAS_S parameters respectively, and the settings of
IOM_ID, IOMIDR, DEV_ID, DEVIDR, and PNT_NO is ignored.
In the process simulation application, you can connect any desired sources to MEAS_P and
MEAS_S.
To take the block inputs from Window ECBs, you should configure the source connections to
MEAS_P and MEAS_S in the format:
<compound_name>:<window_ecb_name>.<parameter>
where <compound_name> is the compound containing the Window ECB, <window_ecb_name>
is the NAME parameter of the Window ECB, and <parameter> is the measurement value to be
read. The <parameter> name should be the same on both sides.
The primary and secondary Window ECBs may be in any compound, and where there is a par-
ent-child relationship (for example, ECB12 and ECB18) the parent and child need not be in the
same compound.
B0193AX Rev AB 3. AINR Redundant Analog Input Block
108


Each measurement in a Window ECB has two values:
+ The device value, which is the actual measurement as reported by the instrument. It
is connectable but not settable.
+ The point value, which is the device value after any desired bypassing, last good
value retention, or setting for simulation purposes. It is connectable and settable.
The measurements in the ECB18 and ECB22 follow the convention that the device values are
named IVALx, and the corresponding point values are named MEASx. The ECB13 has both
device and point values for each of its 24 measurements, but their names do not follow this con-
vention (see ECB13 - Hydrostatic Tank Gauge).
If you set IOMOPT to 0, you can use any valid SCI value to condition the inputs, or use charac-
terization as described in Section 3.5.2.1. If IOMOPT is set to 2, you cannot use signal condi-
tioning or characterization, and the values of SCI and EXTBLK are ignored.
In either case (IOMOPT = 0, IOMOPT = 2), you can use scaling (see Section 3.5.3), clamping
(see Section 3.5.4), and/or filtering (see Section 3.5.5).
The value of the PNT output, which represents the conditioned/converted value of the selected
input, is copied to the MEAS parameter.
3.5.3 Zero and Span Scaling
Key Parameters: KSCALE, BSCALE
Following any signal conditioning or characterization that is applied, you can then scale the con-
ditioned signal by application of the Gain Scale (KSCALE) and Offset Scale (BSCALE) parame-
ters in accordance with the formula:
Scaled Value = (Conditioned Value * KSCALE) + BSCALE
Scaling allows the conditioned value to be made dimensionally compatible with the desired out-
put units, as for example in conversion from Celsius to Fahrenheit scales in the case of tempera-
ture measurements. In that conversion, KSCALE is set to 1.8 and BSCALE is 32.0.
Generally, scaling useful only when applying thermocouple or RTD signal conditioning.
You do not need to use scaling when linear/square root signal conditioning is applied, since that
already involves conversion into the final output units. (See Section 3.5.2.1 and
Appendix A Signal Conditioning Tables on page 118.)
Similarly, if you use special thermocouple signal conditioning or characterization, you can define
the piecewise linear segments so as to accomplish final output unit conversion.
Pulse rate inputs should be converted into final output units by proper calculation of MTRF (see
Section 3.5.2.4).
Inputs from Intelligent Field Devices are usually in final output units when received from the
devices themselves (see Section 3.5.2.6).
Pulse count inputs cannot be scaled (see Section 3.5.2.5).
To ignore the scaling function, leave KSCALE at the default value of 1 and leave BSCALE at the
default value of 0.
Scaling is applied independently to both the primary and secondary points.
3. AINR Redundant Analog Input Block B0193AX Rev AB
109


3.5.4 Clamping
Key Parameters: HSCO1, LSCO1, OSV, HOR, LOR, LASTGV
Clamping keeps the linearized and converted value within the blocks engineering units range, as
determined by HSCO1 and LSCO1.
Clamping is applied independently to both the primary and secondary points. The effect of
clamping is shown in Figure 3-8.
Figure 3-8. Clamping
The scaled value is clamped as follows:
Compute the Low and High Clamp Values:
Low Clamp Value = LSCO1-((OSV/100.0) * (HSCO1-LSCO1))
High Clamp Value = HSCO1 + ((OSV1/100.0) * (HSCO1-LSCO1))
If Scaled Value s Low Clamp Value then:
Scaled Value = Low Clamp Value
Parameter Low Out-of-Range (LOR) is set true
If BADOPT so specifies, parameter Bad (BAD) is also set true.
If Scaled Value > High Clamp Value then:
Scaled Value = High Clamp Value
Parameter High Out-of-Range (HOR) is set true
If BADOPT so specifies, parameter Bad (BAD) is also set true.
Based on BADOPT, LASTGV, IOMOPT, and the SCI in use, the value is either used or ignored,
as described in Section 3.6.
Parameter OSV (Output Span Variance) keeps signals that are fluctuating right at the high or low
end of the range from continually setting and resetting the HOR or LOR condition. There is not
HSCO1
LSCO1
osv (units)
osv (units)
HSCO1
LSCO1
osv (units)
osv (units)
INPUT
OUTPUT
HOR = 1
LOR = 1
B0193AX Rev AB 3. AINR Redundant Analog Input Block
110


a traditional deadband effect however, since signals oscillating near the high or low clamp value
generate repeated HOR or LOR conditions.
Parameter LOR is set true if either the primary or the secondary point is low out of range; it is not
necessary for both to be. Similarly for parameter HOR. If BADOPT so specifies, a point which is
out of range is considered bad; however, the block output parameter BAD is set true only if both
the primary and secondary points are considered bad.
3.5.5 Filtering
Key Parameters: FLOP, FTIM
The clamped value is subjected to possible filtering, as the last signal processing activity. Filtering
introduces a lag to changes in the input signal, thus smoothing out input changes or suppressing
noise. Note that this feature should be used with caution to avoid removing true process informa-
tion.
NOTE
When an AINR block is configured so that the MEAS parameter is connected to
another block (as opposed to an input from the field), filtering options have no
effect when the block is running in a CP40B. Regardless of how the filtering
options are set, the AINR block running in a CP40B station does not filter the
input if the MEAS parameter is connected to another block.
If the block is in Auto and Filter Option (FLOP) is non-zero, either first-order lag filtering
(FLOP = 1) or second-order Butterworth filtering (FLOP = 2) or two-sample-average filtering
(FLOP = 3) is applied. The lag that first or second-order filtering introduces has time constant
Filter Time (FTIM). You can use them to attenuate measurement noise. However, if FTIM is set
too low, there is relatively insignificant filtering. If set too high, the lag may be large enough to
affect loop accuracy.
Since filtering involves previous values of a signal as well as its present value, the necessary data for
filtering is retained independently for both the primary and secondary points. This results in the
availability of a properly filtered signal on the first block processing cycle after switchover.
In addition, aliasing is minimized and resolution improved by configuring the RES parameters of
both ECBs so that the fieldbus integration time is equal to twice the block period. Refer to the
section Fieldbus Integration Time in the appropriate Integrated Control Software Concepts docu-
ment (B0700AG or B0193AW).
3.5.5.1 First Order Lag Filtering (FLOP = 1)
The algorithm of this filter is:
Filter Output = PREV + (Filter Input-PREV) / (t + 1)
where PREV is the previous conditioned value of the point, maintained separately for the primary
and secondary values. t is computed as:
t = 60 * FTIM / Block Period in Seconds
and represents the number of block processing cycles for the output to reach approximately 63
percent of its ultimate value after a step change to the input.
In Laplace transform notation, the transfer function is 1/(1 + ts).
3. AINR Redundant Analog Input Block B0193AX Rev AB
111


A diagram of first-order lag filtering in shown in Figure 3-9.
Figure 3-9. First-Order Lag Filtering
3.5.5.2 Butterworth Filtering (FLOP = 2)
The algorithm of this filter is:
New vter = Old vter + (Filter Input - PREV - Old vter) / (t/2 + 1)
Filter Output = PREV + New vter / (t + 1)
where t is computed as in the case of first order lag filtering.
In each block execution cycle, the first step is the computation of New vter, based on the stored
value of Old vter from the last cycle and PREV, the previous conditioned point value. (When the
filter is initialized the value of Old vter is set to 0.0.) As before, PREV is the previous conditioned
point value. PREV and Old vter are maintained separately for the primary and secondary values.
In Laplace transform notation, the transfer function is:
1 / (1 + ts+ (ts)
2
/2)
A diagram of Butterworth filtering is shown in Figure 3-10.
Figure 3-10. Butterworth Filtering
3.5.5.3 Two-Sample-Average Filtering (FLOP = 3)
The algorithm of this filter is:
Filter Output = |Filter Input this cycle - Filter Input previous cycle| /2
This algorithm eliminates integer multiples of the half-sampling frequency component and atten-
uates other high frequencies. The filter has a flatter low frequency pass band and sharper cutoff
than the other two filters, with the same low-frequency phase shift.
INPUT STEP
OUTPUT
FTIM
63%
100%
INPUT STEP
FTIM
OUTPUT
B0193AX Rev AB 3. AINR Redundant Analog Input Block
112


The Filter Input from the previous cycle is retained separately for primary and secondary sides.
3.6 Bad Input and Out-of-Range Processing
3.6.1 Bad Status and BAD Parameter
Key Parameters: BAD, BLKSTA, PNT, BADOPT, MEAS_P, MEAS_S
The Bad status of each input is separately determined, based on a logical OR of the following con-
ditions:
+ The FBM or FBC itself is bad, that is, it has detected a fatal hardware fault, or other
fatal fault. (In this case BLKSTA.FBM is set true in the case of the primary side, and
BLKSTA.FBMR in the case of the secondary side.)
+ The connected point within the FBM or FBC is bad. If either this condition or the
preceding one is true on an input side, then BLKSTA.BAD (for the primary side) or
BLKSTA.BADR (for the secondary side) is set true.
+ An out-of-range situation has met the conditions for being considered a Bad condi-
tion, because of the setting of BADOPT. (See Section 3.6.2 below.)
If there are no connected FBMs or FBCs, the first two conditions above are replaced by the fol-
lowing:
+ The MEAS_P value (in the case of the primary side) or the MEAS_S (in the case of
the secondary side) is linked and it has Bad status.
If both primary and secondary sides have Bad status, the output PNT status is set Bad, and the
blocks BAD parameter is true. Bad alarm messages are generated and displayed/printed separately
for each side, but unless both sides are bad, the BAD parameter and PNT.BAD remain false.
Note that for BADOPT 1-4, BAD and PNT.BAD are only set when the block is in AUTO mode
and BLKSTA.BAD is set regardless of the block mode.
NOTE
BLKSTA.BAD, PNT.BAD, and BAD track each other differently depending on
whether the block is in MANUAL or AUTO mode. For example, switching a block
to MANUAL and performing a "set" operation will clear the PNT.BAD status bit,
which allows the operator to define the PNT value as acceptable. However, the
BAD parameter's state and value will remain the same as if the block was in AUTO
mode.
3.6.2 Out-of-Range Conditions
3.6.2.1 Out-of-Range Due to Signal Conditioning
Key Parameters: HOR, LOR
Thermocouple Signal Conversion
If cold junction compensation is based on the FBM Point 9, FBM Point 15, or FBC Point 33
value, and the ohms value is outside of the limits of the SCI table 43 (100 Ohms IEC), then
HOR or LOR is set true, depending on which limit was exceeded.
3. AINR Redundant Analog Input Block B0193AX Rev AB
113


When the compensation reference has been converted to millivolts and added to the raw value
millivolts, the resulting sum is used to access the proper SCI table. If this sum is higher or lower
than the limits of the table, HOR and LOR are handled as in the last paragraph.
If the Special Thermocouple option is in use, when the sum of the reference value and raw value is
used to re-enter the characterizer, the entry is compared against the characterizer end-points. If
the entry value is outside the end-points, HOR and LOR are handled as in the preceding para-
graph.
RTD Signal Conversion
When the raw value in ohms is higher or lower than the limits of the SCI table in use, parameters
HOR and LOR are handled as above.
Linear/Square Root Signal Conversion
The raw value is compared against the raw_low for this SCI as adjusted for the OSV in use.
If below this limit, LOR is set, and similarly for HOR if the upper limit is exceeded.
Characterizer Signal Conversion
The raw value is compared against the characterizer endpoints. If the value is outside the end-
points, HOR and LOR are handled as above.
3.6.2.2 Out-of-Range Due to Clamping
Key Parameters: HOR, LOR, HSCO1, LSCO1
As noted in Section 3.5.4 above, HOR or LOR can be set true as a result of clamping. Note that
if either the primary or the secondary input is out-of-range, the block parameter HOR or LOR is
set true; it is not necessary for both sides to be out-of-range.
3.6.3 Out-of-Service Conditions
Key Parameters: PNT, EXTBLK, MEAS_P, MEAS_S
The out-of-service status of PNT is set true provided any one of the following conditions is true
for the selected input side:
+ The FBM or FBC itself is out-of-service
+ The FBM is of HTG or IFD type and the connected point is out-of-service, as indi-
cated by the status field of the connected point
+ The EXTBLK parameter has out-of-service status, indicating an out-of-service
CHARC block.
If there is no connected FBM or FBC, the first two conditions above are replaced by the
following:
+ The selected input (either MEAS_P or MEAS_S) value is linked and it has out-of-ser-
vice status.
3.6.4 Last Good Value
Key Parameters: LASTGV, BAD, PNT, HSCO1, LSCO1, OSV, IOMOPT, SCI
The actions of parameter Last Good Value (LASTGV) affect each input side separately. If the side
which is ultimately selected has retained its value from the last cycle, then PNT retains its value.
B0193AX Rev AB 3. AINR Redundant Analog Input Block
114


In the following situations, parameter Last Good Value (LASTGV) only takes effect when
BADOPT has caused the input side to have Bad status, and its actions depend on the condition
which caused the Bad status.
+ When Bad status is true because thermocouple cold junction compensation is outside
the limits of the SCI 43 table, the reference value (in degrees Celsius) from the previ-
ous cycle is used as the compensation.
+ When Bad status is true because the compensated thermocouple millivolt value is out-
side the limits of the SCI table in use, LASTGV causes the side to retain its value from
the last cycle.
+ In the Special Thermocouple option, if the compensated value is outside the limits of
the characterizer end-points, the side retains its value from the last cycle.
+ When an RTD ohms value is outside the limits of its SCI table, the side retains its
value from the last cycle.
+ In linear/square root signal conditioning, if the raw value is beyond the lower or upper
value of the span, as adjusted by OSV, the side retains its value from the last cycle.
+ In characterizer signal conversion, if the value is outside the limits of the characterizer
end-points, the side retains its value from the last cycle.
+ When Bad status exists because an out-of-range condition occurred due to
HSCO1/LSCO1 clamping, the side retains its value from the last cycle only if SCI = 0
(no linearization) and IOMOPT indicates that an FBM or FBC is connected.
Figure 3-11 shows the effect of LASTGV in.
In the following situations, retention of the value from the last cycle is independent of BADOPT.
+ The connected FBM or FBC is out-of-service, regardless of the value of LASTGV.
+ The connected HTG, IT2, or Coriolis point is out-of-service, regardless of the value
of LASTGV.
+ The connected point has bad status and LASTGV is true.
3. AINR Redundant Analog Input Block B0193AX Rev AB
115


Figure 3-11. Last Good Value
3.7 Manual Mode
When the AINR block is in the Manual mode, it does not update the value of the PNT output.
PNT is released and becomes settable by the user. When no FBMs or FBCs are connected, the
manual value set into PNT is copied to MEAS.
In Manual mode, the status bits (Bad, Out-of-Service, and Error) of the PNT output are not
updated, nor are the BAD, HOR, and LOR parameters. Since they are not cleared, they retain
their last values before the transition to Manual.
The PROPT parameter is inactive when the block is in Manual (that is, the Error bit of the PNT
status is not set based on various status bits of MEAS, reflecting the selected side, when no FBMs
or FBCs are connected).
If MANALM is true, alarming is enabled while in Manual mode, and is based on the manually-
set value of PNT.
3.8 Alarming
The AINR block supports the Bad I/O, Out-of-Range, High/Low Absolute, and High-
High/Low-Low Absolute alarm types. (Separate Bad I/O alarm messages are generated for the pri-
mary and secondary input sides.) The functionality of these alarm types is discussed in the appro-
priate Integrated Control Software Concepts document (B0700AG or B0193AW).
HSCO1
LSCO1
osv (units)
osv (units)
HSCO1
LSCO1
osv (units)
osv(units)
Input
Input
Output
Output
LASTGV = 0
LASTGV = 1
BADOPT = 2
SCI = 0
IOMOPT = 1
HOR = 1 HOR = 1
Output is the last
good value read
before Input went
out of range.
B0193AX Rev AB 3. AINR Redundant Analog Input Block
116


The nomenclature for identical alarm types varies from block to block for historical reasons
involving backward compatibility requirements. The nomenclature for the AINR block is as fol-
lows:
Table 3-2. Alarm Nomenclature
Type Option Limit Priority Group Text
Dead-
band
Default
Display
Indicator
Parameter
I/O Bad BAO = True ---- BAP BAG BAT ----- IOBAD BAD
Out-of-Range ORAO =
True
---- ORAP ORAG ORAT ----- RANGE HOR/LOR
High Absolute HLOP =
1 or 2
HAL HLPR HLGP HAT HLDB HIABS HAI
Low Absolute HLOP =
1 or 3
LAL HLPR HLGP LAT HLDB LOABS LAI
High-High
Absolute
HHAOPT
= 1 or 2
HHALIM HHAPRI HHAGRP HHATXT HLDB HHABS HHAIND
Low-Low
Absolute
HHAOPT
= 1 or 3
LLALIM HHAPRI HHAGRP LLATXT HLDB LLABS LLAIND
3. AINR Redundant Analog Input Block B0193AX Rev AB
117


3.9 Application Diagram
Figure 3-12. Typical AINR Block Application
AIN
PID
AOUT

EXCHANGER
Heated Water
Cold Water
Steam
TT
PNT_NO
PNT
MEAS
OUT
MEAS
OUT
PNT_NO = 4
SCI = 42
KSCALE = 1.8
BSCALE = 32.0
LSCO1 = 50.0
HSCO1 = 210.0
EO1 = Deg F.
HLOP = 2
HHAOPT = 2
HAL = 190.0
HHALIM = 200.0
HE0101
IOM_ID = HE0101
IOMIDR = HE0102
HE0102
ECB1
ECB1
TT
FBM203
HEAT
FBM03
or
FBM203
or
FBM03
B0193AX Rev AB 3. AINR Redundant Analog Input Block
118


3.10 Appendix A Signal Conditioning Tables
3.10.1 Summary
SCI = 0: No linearization; output = input
SCI = 1: Linear (0 to 64000) (0 to 100%)
SCI = 2: Linear (1600 to 64000) (0 to 100%, Elevated Zero)
SCI = 3: Linear (12800 to 64000) (20 to 100%)
SCI = 4: Square root (0 to 64000) (0 to 100%)
SCI = 5: Square root (12800 to 64000), clamped (20 to 100%)
SCI = 6: Square root, low cutoff (0 to 64000), clamp < 3/4% (0 to 100%)
SCI = 7: Square root, low cutoff (12800 to 64000), clamp < 3/4% (20 to 100%)
SCI = 8: Pulse rate
SCI = 9: Linear, low cutoff (1600 to 64000) (0 to 100%, Elevated Zero)
SCI = 10: Linear, low cutoff (12800 to 64000)(20 to 100%)
SCI = 11 Square root, Intelligent Transmitter 2 (0 to 64000)
SCI = 12: Linear (14080 to 64000)(20 to 100%, Elevated Zero)
SCI = 13: Square root, low cutoff (14080 to 64000),(20 to 100%, Elevated Zero)
SCI = 14 Linear (0 to 16383)
SCI = 15 Square root, low cutoff (1600 to 64000)
SCI = 20: Type B Thermocouple
SCI = 21: Type E Thermocouple
SCI = 22 Reserved for future use
SCI = 23: Type J Thermocouple
SCI = 24: Type K Thermocouple
SCI = 25: Type N Thermocouple
SCI = 26: Type R Thermocouple
SCI = 27: Type S Thermocouple
SCI = 28: Type T Thermocouple
SCI = 40: Copper RTD (SAMA)
SCI = 41: Nickel RTD (SAMA)
SCI = 42: Platinum RTD (100 Ohm DIN 43760-1968)
SCI = 43: Platinum RTD (100 Ohm IEC) (DIN 43760-1980)
SCI = 44: Platinum RTD (100 Ohm SAMA)
SCI = 50: Linear (0 to 65535)
SCI = 51: Linear (-32768 to 32767)
SCI = 52: Linear (0 to 32767)
SCI = 53: Linear (0 to 1000)
SCI = 54: Linear (0 to 999)
SCI = 55: Linear (0 to 2048)
3. AINR Redundant Analog Input Block B0193AX Rev AB
119


3.10.2 Linear/Square Root Signal Conditioning
SCI = 56: Linear (409 to 2048)
SCI = 57: Square Root (0 to 2048)
SCI = 58: Square Root (409 to 2048)
SCI = 59: Linear (0 to 4095)
SCI = 0: No Linearization
Conditioned = Raw
SCI = 1: Linear (0 to 64000)
Analog Input 0 to 20 mA
Conditioned = (Raw * (HSCO1 - LSCO1)/64000) + LSCO1
SCI = 2: Linear (1600 to 64000)
Analog Input 0 to 10 V dc
Conditioned = ((Raw - 1600) * (HSCO1 - LSCO1)/62400) + LSCO1
SCI = 3: Linear (12800 to 64000)
Analog Input 4 to 20 mA
Conditioned = ((Raw - 12800) * (HSCO1 - LSCO1)/51200) + LSCO1
SCI = 4: Square Root (0 to 64000)
Analog Input 0 to 20 mA
Conditioned = (Sqrt(64000 * Raw) * (HSCO1 - LSCO1)/64000) + LSCO1
SCI = 5: Square Root (12800 to 64000), Clamped
Analog Input 4 to 20 mA
If Raw s 12800
Conditioned = LSCO1
Otherwise,
Conditioned = (Sqrt(51200 * (Raw - 12800)) * (HSCO1 - LSCO1)/51200) + LSCO1
SCI = 6: Square Root, Low Cutoff (0 to 64000), Clamped < 3/4%
Analog Input 0 to 20 mA
If Raw s 480
Conditioned = LSCO1
Otherwise,
Conditioned = (Sqrt(64000 * Raw) * (HSCO1 - LSCO1)/ 64000) + LSCO1
SCI = 7: Square Root, Low Cutoff (12800 to 64000), Clamped < 3/4%
Analog Input 4 to 20 mA
If Raw s 13184
Conditioned = LSCO1
Otherwise,
Conditioned = (Sqrt(51200 * (Raw - 12800)) * (HSCO1 - LSCO1)/51200) + LSCO1
SCI = 8: Pulse Rate
Conditioned = Raw * MTRF * Pulse Constant
(Where Pulse Constant = 25000.0/(65535.0 * 65535.0) = 0.582094373 E - 05 =
0.00000582094373)
B0193AX Rev AB 3. AINR Redundant Analog Input Block
120


SCI = 9: Linear, Low Cutoff (1600 to 64000)
Analog Input 0 to 10 V dc
If Raw s 1600
Conditioned = LSCO1
Otherwise,
Conditioned = ((Raw - 1600) * (HSCO1 - LSCO1) / 62400) + LSCO1
SCI = 10: Linear, Low Cutoff (12800 to 64000)
Analog Input 4 to 20 mA
If Raw s 12800
Conditioned = LSCO1
Otherwise,
Conditioned = ((Raw - 12800) * (HSCO1 - LSCO1) / 51200) + LSCO1
SCI = 11: Square Root, Intelligent Transmitter 2 (0 to 64000)
Analog Input
Conditioned = Sqrt(Raw)
SCI = 12: Linear (14080 to 64000)
Analog Input 2 to 10 V dc
Conditioned = ((Raw - 14080) * (HSCO1 - LSCO1)/49920) + LSCO1
SCI = 13: Square Root, Low Cutoff (14080 to 64000)
Analog Input 2 to 10 V dc
If Raw s 14080
Conditioned = LSCO1
Otherwise,
Conditioned = (Sqrt(49920 * (Raw - 14080)) * (HSCO1 - LSCO1)/49920) + LSCO1
SCI = 14: Linear (0 to 16383)
Analog Input 0 to 20 mA
Conditioned = (Raw * (HSCO1 - LSCO1)/16383) + LSCO1
SCI = 15: Square Root, Low Cutoff (1600 to 64000)
Analog Input 0 to 10 V dc
If Raw s 1600
Conditioned = LSCO1
Otherwise,
Conditioned = (Sqrt(62400 * (Raw - 1600)) * (HSCO1 - LSCO1)/62400)
+ LSCO1
SCI = 50: Linear (0 to 65535) y = (HSCI1-LSCI1)/65535 * x + LSCI1
SCI = 51: Linear (-32768 to 32767) y = (HSCI1-LSCI1)/65535 * (x + 32768) + LSCI1
SCI = 52: Linear (0 to 32767) y = (HSCI1-LSCI1)/32767 * x + LSCI1
SCI = 53: Linear (0 to 1000) y = (HSCI1-LSCI1)/1000 * x + LSCI1
SCI = 54: Linear (0 to 999) y = (HSCI1-LSCI1)/999 * x + LSCI1
SCI = 55: Linear (0 to 2048) y = (HSCI1-LSCI1)/2048 * x + LSCI1
SCI = 56: Linear (409 to 2048) y = (HSCI1-LSCI1)/1639 * (x 409) + LSCI1
SCI = 57: Square Root (0 to 2048) y = sqrt (2048 * x) * (HSCI1-LSCI1)/2048 + LSCI1
SCI = 58: Square Root (409 to 2048) y = sqrt (1639 * (x - 409))* (HSCI1-LSCI1)/1639 + LSCI1
SCI = 59: Linear (0 to 4095) y = (HSCI1-LSCI1)/4095 * x + LSCI1
3. AINR Redundant Analog Input Block B0193AX Rev AB
121


The following applies to SCI = 50 through SCI = 59:
+ y = engineering units value; x = normalized counts value
+ Linear scaling of the analog inputs is also provided.
3.10.3 Thermocouple Signal Conditioning
3.10.4 RTD Signal Conditioning
3.11 Appendix B Valid Input Connections
3.11.1 FBM201 through FBM242 Valid Input Connections
SCI Type Material Range Curve
20 Type B Platinum-Platinum 0 to 1820 C P331-0/68 (TI 5-189a)
21 Type E Chromel-Constantan -270 to 910 C S303-0/68 (TI 5-17c)
23 Type J Iron-Constantan -210 to 1200 C S99J-0/68 (TI 5-12f )
24 Type K Chromel-Alumel -270 to 1372 C K223-0/68 (TI 5-13c)
25 Type N Nicrosil-Nisil -270 to 1300 C IPTS-68 (TI 5-19)
26 Type R Platinum-Platinum -50 to 1768 C P329-0/68 (TI 5-14d)
27 Type S Platinum-Platinum -50 to 1768 C P307-0/68 (TI 5-15e)
28 Type T Copper-Constantan -270 to 400 C S233-0/68 (TI 5-11c)
SCI Type Material Range Curve
40 Copper (SAMA) Copper -70 to 150 C CR229 (TI 5-25a)
41 Nickel (SAMA) Nickel -100 to 160 C NR-227 (SAMA) (TI 5-24a)
42 Platinum (100 Ohm
DIN 43760-1968)
Platinum 0 to 620 C PR-238 (TI 5-26a)
43 Platinum (100 Ohm
IEC DIN 43760-1980)
Platinum -200 to 620 C Foxboro Dwg. 10104MU
(TI 005-028)
44 Platinum (100 Ohm
SAMA)
Platinum -200 to 600 C PR-279 (SAMA) (TI 5-27a)
Hardware
Type
2
0
1
2
0
2
2
0
3
2
0
4
2
0
5
2
0
6
2
0
7
2
1
1
2
1
2
2
1
3
2
1
7
2
3
7
2
4
1
2
4
2
Point
1 I I I I I I I I I I I O I O
2 I I I I I I I I I I I O I O
3 I I I I I I I I I I I O I O
4 I I I I I I I I I I I O I O
B0193AX Rev AB 3. AINR Redundant Analog Input Block
122


Legend: I = Input
O = Readback from Output
C = Thermal Compensation Channel
5 I I I O O I I I I I I O I O
6 I I I O O I I I I I I O I O
7 I I I O O I I I I I I O I O
8 I I I O O I I I I I I O I O
9 C I I I I O O
10 I I I I O O
11 I I I I O O
12 I I I I O O
13 I I I I O O
14 I I I I O O
15 I I C I O O
16 I I I O O
17 I
18 I
19 I
20 I
21 I
22 I
23 I
24 I
25 I
26 I
27 I
28 I
29 I
30 I
31 I
32 I
Hardware
Type
2
0
1
2
0
2
2
0
3
2
0
4
2
0
5
2
0
6
2
0
7
2
1
1
2
1
2
2
1
3
2
1
7
2
3
7
2
4
1
2
4
2
Point
3. AINR Redundant Analog Input Block B0193AX Rev AB
123


3.11.2 FBM01 through FBM46 Valid Input Connections
Hardware
Type 1 2 3 4 5 6 17 18 22 23 33 36 37 38 39 43 44 46
Point
1 I I I I I I I I I I I I O I I I I I
2 I I I I I I I I O I I I O I I I I I
3 I I I I I I I I I I I O I I I I I
4 I I I I I I I I I I I O I I I I I
5 I I I O O O O I I I I O I O I O O
6 I I I O O O O I I I I O I O I O O
7 I I I O O O I I I I O I O I O O
8 I I I O O O I I I I O I O I O O
9 C I C
10 I
11 I
12 I
13 I
14 I
15 I
16 I
17 I
18 I
19 I
20 I
21 I
22 I
23 I
24 I
25
26
27
28
29
30
31
32
33
B0193AX Rev AB 3. AINR Redundant Analog Input Block
124


Legend: I = Input
O = Readback from Output
C = Thermal Compensation Channel
3.11.3 Cluster I/O Valid Input Connections
Hardware
Type 57 58 59 61 63 95
Point
1 I I I O I I
2 I I I O I I
3 I I I O I I
4 I I I O I I
5 I I I O I I
6 I I I O I I
7 I I I O I I
8 I I I O I I
9 I I I O I I
10 I I I O I I
11 I I I O I I
12 I I I O I I
13 I I I O I I
14 I I I O I I
15 I I I O I I
16 I I I O I I
17 I I I I
18 I I I I
19 I I I I
20 I I I I
21 I I I I
22 I I I I
23 I I I I
24 I I I I
25 I I I I
26 I I I I
27 I I I I
28 I I I I
29 I I I I
30 I I I I
31 I I I I
3. AINR Redundant Analog Input Block B0193AX Rev AB
125


Legend: I = Input
O = Readback from Output
C = Thermal Compensation Channel
NOTE
Hardware Type 57 is used for FBC21.
Hardware Type 58 is used for FBC01.
Hardware Type 59 is used for FBC17.
Hardware Type 61 is used for FBC04.
Hardware Type 63 is used for FBC02.
Hardware Type 95 is used for FBC02 Redundant.
32 I I I I
33 C C
Hardware
Type 57 58 59 61 63 95
Point
B0193AX Rev AB 3. AINR Redundant Analog Input Block
126


127


4. ALMPRI Alarm Priority Change
Block
This chapter covers the Alarm Priority Change Block, or ALMPRI, its features, parameters and
functions.
4.1 Overview
The Alarm Priority Change Block, ALMPRI, dynamically reassigns the priority of an alarm point.
This allows alarm priorities to be automatically revised based on specific plant conditions. See
Figure 4-1.
Figure 4-1. ALMPRI Block I/O Diagram
4.2 Features
+ Manual/Auto mode for disconnecting control schemes from the process, for simula-
tion and checkout purposes.
4.3 Parameters
Table 4-1. ALMPRI Block Parameters
Name Description Type Accessibility Default Units/Range
Configurable Parameters
INPUTS
NAME block name string no-con/no-set blank 1 to 12 chars
TYPE block type integer no-con/no-set 26 ALMPRI
DESCRP descriptor string no-con/no-set blank 1 to 32 chars
PERIOD block sample time short no-con/no-set 1 0 to 13
PHASE block phase number integer no-con/no-set 0 ---
LOOPID loopid string no-con/set blank 1 to 32 chars
PR_IN1 to PR_IN5 priority 1 to 5 input boolean con/set 0 0 to 1
MA manual/auto boolean con/set 0 0 to 1
INITMA initialize MA short no-con/no-set 1 [0|1|2]
Priority Output
Block Status
Priority 1 Input
Priority 2 Input
Priority 3 Input
Priority 4 Input
Priority 5 Input
Auto
Manual
MA
B0193AX Rev AB 4. ALMPRI Alarm Priority Change Block
128


4.3.1 Parameter Definitions
ACHNGE Alternate Change is an integer output which is incremented each time a
block parameter is changed via a Set command.
BLKSTA Block Status is a 32-bit output, bit-mapped to indicate the blocks opera-
tional states. For the ALMPRI block, only the following bits are used:
* Bit 0 is the least significant, low order bit.
DEFINE Define is a data store which indicates the presence or absence of configura-
tion errors. The default is 1 (no configuration errors). When the block ini-
tializes, DEFINE is set to 0 if any configured parameters fail validation
OUTPUTS
BLKSTA block status pack_l con/no-set 0 bit map
PRIOUT priority output integer con/no-set 0 [0..5]
Non-Configurable Parameters
DATA STORES
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
DEFINE no configuration
errors
boolean no-con/no-set 1 0-1
ERCODE configuration error string no-con/no-set 0 1 to 43 chars
LOCKID lock identifier string no-con/no-set blank 8 to 13 chars
LOCKRQ lock request boolean no-con/set 0 0 to 1
OWNER owner name string no-con/set blank 1 to 32 chars
Table 4-1. ALMPRI Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
W
L
C
K
O
N
U
D
E
F
M
A
Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
11 MA Manual(= false)/Auto(= true) BLKSTA.B21
14 UDEF Undefined BLKSTA.B18
15 ON Compound On BLKSTA.B17
20 WLCK Workstation Lock BLKSTA.B12
4. ALMPRI Alarm Priority Change Block B0193AX Rev AB
129


testing. In that case, no further processing of the block occurs. To return
DEFINE to a true value, correct all configuration errors and re-install the
block.
DESCRP Description is a user-defined string of up to 32 characters that describe the
blocks function (for example, PLT 3 FURNACE 2 HEATER CON-
TROL).
ERCODE Error Code is a string data store which indicates the type of configuration
error or warning encountered. The error situations cause the blocks
DEFINE parameter to be set false, but not the warning situations. Valida-
tion of configuration errors does not proceed past the first error encoun-
tered by the block logic. The block detailed display shows the ERCODE
on the primary page, if it is not null. For the ALPMRI block, the follow-
ing list specifies the possible values of ERCODE, and the significance of
each value in this block:
INITMA Initialize Manual/Auto specifies the desired state of the MA input during
initialization, where:
0 = Manual
1 = Auto
2 = The MA state specified in the checkpoint file.
The block asserts this initial M/A state whenever:
+ It is installed into the Control Processor database.
+ The Control Processor undergoes a reboot operation.
+ The compound in which it resides is turned on.
The INITMA parameter itself is modified via the control configurator.
(The block does not assert INITMA on ordinary reconfiguration.)
INITMA is ignored if MA has an established linkage.
Message Value
W43 INVALID PERIOD/
PHASE COMBINATION
PHASE does not exist for given block
PERIOD, or block PERIOD not com-
patible with compound PERIOD.
W46 INVALID INPUT
CONNECTION
The source parameter specified in the
input connection cannot be found in the
source block, or the source parameter is
not connectable, or an invalid boolean
extension connection has been
configured.
W48 INVALID BLOCK
OPTION
The configured value of a block option
is illegal.
W53 INVALID
PARAMETERVALUE
A parameter value is not in the accept-
able range.
B0193AX Rev AB 4. ALMPRI Alarm Priority Change Block
130


LOCKID Lock Identifier is a string identifying the workstation which has locked
access to the block via a successful setting of LOCKRQ. LOCKID has the
format LETTERBUG:DEVNAME, where LETTERBUG is the 6-charac-
ter letterbug of the workstation and DEVNAME is the 1 to 6 character
logical device name of the Display Manager task.
LOCKRQ Lock Request is a boolean input which can be set true or false only by a
SETVAL command from the LOCK U/L toggle key on workstation dis-
plays. When LOCKRQ is set true in this fashion a workstation identifier
accompanying the SETVAL command is entered into the LOCKID
parameter of the block. Thereafter, set requests to any of the blocks
parameters are honored (subject to the usual access rules) only from the
workstation whose identifier matches the contents of LOCKID.
LOCKRQ can be set false by any workstation at any time, whereupon a
new LOCKRQ is accepted, and a new ownership workstation identifier
written to LOCKID.
LOOPID Loop Identifier is a configurable string of up to 32 characters which iden-
tifies the loop or process with which the block is associated. It is displayed
on the detail display of the block, immediately below the faceplate.
MA Manual Auto is a boolean input that controls the Manual/Automatic
operating state (0 = false = Manual; 1 = true = Auto). In Auto, given the
measurement value, the block computes the output according to its spe-
cific algorithm. In Manual, the algorithm is not performed, and the out-
put is unsecured. An external program can then set the output to a desired
value.
NAME Name is a user-defined string of up to 12 characters used to access the
block and its parameters.
OWNER Owner is a string of up to 32 ASCII characters which are used to allocate
control blocks to applications. Attempts to set Owner are successful only
if the present value of Owner is the null string, an all-blank string, or iden-
tical to the value in the set request. Otherwise the request is rejected with a
LOCKED_ACCESS error. Owner can be cleared by any application by
setting it to the null string; this value is always accepted, regardless of the
current value of Owner. Once set to the null string, the value can then be
set as desired.
PERIOD Period is an indexed input that dictates the blocks execution time base
and allowable PHASE values. For stations other than Integrators and
Gateways, PERIOD values range from 0 to 13 and map to the following
period time lengths. (Integrator and Gateway blocks have different period
values than shown here.)
4. ALMPRI Alarm Priority Change Block B0193AX Rev AB
131


*If the BPC is 0.2 sec., this period is treated internally as 0.6 sec., but the
PERIOD parameter remains 1.
** If the BPC is 2.0 sec., this period is treated internally as 6.0 sec., but the
PERIOD parameter remains 10.
*** If the BPC is 0.5 sec., this period is treated internally as 0.5 sec., but
the PERIOD parameter remains 11.
**** If the BPC is not 2.0 sec., this period is treated internally as 5.0 sec.,
but the PERIOD parameter remains 12.
***** Available in CP40, CP40B, CP60 and later control processors.
PHASE Phase is an integer input that causes the block to execute at a specific BPC
within the time determined by the PERIOD. For instance, a block with
PERIOD of 3 (2.0 sec) can execute within the first, second, third, or
fourth BPC of the 2-second time period, assuming the BPC of the Con-
trol Processor is 0.5 sec. Refer to the appropriate Integrated Control Soft-
ware Concepts document (B0700AG or B0193AW).
PRIOUT Priority Output has an integer value between 0 and 5. Integers 1 to 5 rep-
resent alarm priority levels. An output of 0 indicates that no priority level
input lines are true (that is, the absence of alarms). Connecting this out-
put to an alarm priority input of a downstream block reassigns the alarm
priority levels of that block.
PR_IN1 to PR_IN5
Priority Input, Levels 1 to 5, are boolean inputs which represent an alarm
priority level.
For example, when true, PR_IN1 enables a level 1 priority output (highest
priority) and supersedes priority levels 2 to 5. If the block is in the Auto
mode, then in this instance, PRIOUT = 1.
TYPE When you enter ALMPRI or select ALMPRI from the block type list
under Show, an identifying integer is created specifying this block type.
Period Length Period Length
0 0.1 sec 7 10 min
1 0.5 sec* 8 60 min
2 1.0 sec 9 0.2 sec
3 2.0 sec 10 5.0 sec**
4 10 sec 11 0.6 sec***
5 30 sec 12 6.0 sec****
6 1 min 13 0.05 sec*****
B0193AX Rev AB 4. ALMPRI Alarm Priority Change Block
132


4.4 Detailed Operation
The ALMPRI block dynamically reassigns the priority of an alarm point to allow an alarm prior-
ity to be automatically revised based on specific plant conditions.
4.4.1 Detailed Diagram
Figure 4-2 is a simplified block diagram that depicts the functional signal flow of the ALMPRI
block. It shows the forward path of the block as it relates to the various states, logic control sig-
nals, and options represented by toggle switches.
Figure 4-2. ALMPRI, Detailed Block Diagram
4.4.2 Block States
The ALMPRI block has three states: Initialization, Manual and Auto.
4.4.2.1 Initialization
Key Parameters: INITMA
At initialization, the block initializes MA. DEFINE is set to 0 if any configured parameters fail
validation testing.
4.4.2.2 Manual
Key Parameters: MA
In manual, all outputs are unsecured and settable.
Manual mode allows you to disconnect control schemes from the process, for simulation and
checkout purposes
4.4.2.3 Auto
Key Parameters: MA
In auto mode, the block operates as described below.
4.4.3 Alarm Priority Changing
Key Parameters: PRI_IN1-PRI_IN5, PRIOUT
The Alarm Priority Change Block acts as a priority selector for an alarm point whose criticality
varies with the plant situation.
ALMPRI determines the value of PRIOUT based on the PRI_INx parameters. PRIOUT is an
integer output that indicates the priority, ranging from 0 to 5, for an alarm (1 is the highest prior-
ity, zero indicates the absence of alarms). PRI_IN1-PRI_IN5 each represent one of these priority
levels; PRI_IN1 represents priority 1, the highest priority, and so forth. PRIOUT is assigned the
BLKSTA
PR_IN1
PR_IN2
PR_IN3
PR_IN4
PR_IN5
PRIOUT
Auto
Manual
MA
4. ALMPRI Alarm Priority Change Block B0193AX Rev AB
133


priority level of the lowest PRI_INx parameter set to true. For example, if both PRI_IN2 and
PRI_IN4 are set to true, PRIOUT is set to 2. If none of the indicators are set to true, PRIOUT is
set to 0.
PRI_INx parameters can be connected to triggers in outside sources to indicate if a particular
event has occurred. You can set an unconnected PRI_INx parameter to true to act as a default
alarm priority until a higher alarm priority is triggered.
An example of ALMPRI use is provided below.
4.4.3.1 Example Application
Consider a block that has low to moderate criticality while the process is stable, but has primary
importance in an emergency. This example is illustrated in Figure 4-3.
Figure 4-3. Example ALMPRI Block Connections
To automatically upgrade its priority level, connect the PR_IN1 input line to a block that is acti-
vated when an emergency is detected (such as a BAD output). Configure the PR_IN4 input true
and the PR_IN2, PR_IN3, and PR_IN5 inputs false. Connect the PRIOUT output to an alarm
priority input of the control block with the varying criticality.
For example, an alarm priority input could be any of the following parameters:
+ ABSPRI (Absolute Alarm Priority)
+ BAP (Bad Alarm Priority)
+ DEVPRI (Deviation Alarm Priority)
+ HHAPRI (High-High Alarm Priority)
+ MEASPR (Measurement Alarm Priority)
+ ORAP (Out of Range Alarm Priority)
+ OP_PRI (Operational Alarm Priority)
+ ROCPRI (Rate of Change Alarm Priority)
+ TAP (Trip Alarm Priority)
While the process is stable, the control block has a level 4 alarm priority (default). When an emer-
gency is detected, PR_IN1 is set true by the block detecting the emergency. This supersedes the
configured level 4 priority and gives the control block a level 1 priority. When the emergency is
over, the PR_IN1 goes false and PR_IN4, which is always true, determines the priority level.
Example Block
x
PR_IN1 = x
PR_IN2 = 0
PR_IN3 = 0
PR_IN4 = 1
PR_IN5 = 0
PRIOUT = (1 or 4)
External Block
x
Block or event with low to
moderate criticality when stable,
primary importance in emergency
Activated when an
emergency is detected
ALMPRI Block
Control Block
Alarm Priority Input
Block with
varying criticality
Default = 0
Emergency = 1
Or Event
B0193AX Rev AB 4. ALMPRI Alarm Priority Change Block
134


135


5. AOUT Analog Output Block
This chapter covers the Analog Output Block, or AOUT, its features, parameters and functions,
bad, out-of-service and error conditions, manual mode, alarming, and application diagrams.
5.1 Overview
The Analog Output Block (AOUT) provides the control strategy with output capability for a sin-
gle analog value directed to any Fieldbus Module (FBM) or Fieldbus Card (FBC) capable of driv-
ing analog outputs. The block supports Auto/Manual control, signal conditioning, biasing, and
output balancing. Cascade initialization and supervisory control features are also available.
Figure 5-1. AOUT Block Diagram
Measure-
ment
Supervisory
Input
Measurement
Scalar
Bias
Balance
Time
o Out
Back
Calculated
Outputs
Raw
Count
ECB
Failsafe
Failsafe
Signal
Conditioning
Output
Air-
to-
Close
FBM and
Channel
Status
Bad Alarm
Option
Bad
Alarm
Fieldbus
Output
FBM
Option
Output
to
FBM/FBC
&
Supervisory
Enable
Input
Selection
Scaling
Reset
Balancing
Clamping
Back
Calculation
Signal
Conditioning
Failsafe
Processing
BAD
Detection
Alarming
Low Output Limit
High Output Limit
B0193AX Rev AB 5. AOUT Analog Output Block
136


5.2 Basic Operation
The AOUT block obtains its input from the Measurement (MEAS) parameter. If supervisory
control is enabled, input is from the Supervisory Input (SUP_IN) parameter. This input is
optionally scaled and biased using the Measurement Scalar (MSCALE) and Bias (BIAS) factors.
Last good value functionality is provided for both the input and bias terms.
The scaled and biased value is then modified by the addition of a reset balance term which is ini-
tialized on transition from a last good value condition of MEAS or BIAS, or closure of the cas-
cade. After initialization, this balance term is bled on each succeeding execution cycle, so that it
decays with a response characterized by a first order lag.
After the resulting value is clamped by the operational limits High Output Limit (HOLIM) and
Low Output Limit (LOLIM), it is available to the control strategy in Output (OUT). The value
of OUT may, optionally, be subjected to linear signal conditioning based on the configured value
of Signal Conditioning Output (SCO), with the result stored in Raw Count (RAWC). If the
block is operating with a connected FBM or FBC, the value of RAWC is transmitted to the spec-
ified analog output point.
5.3 Features
+ Fieldbus Module option to permit configuration of AOUT blocks without FBM or
FBC connections (output only to control strategy).
+ Output to any FBM or FBC driving 0 to 20 mA or 0 to 10 V dc analog outputs.
+ Gain and offset scaling of the output.
+ Reset balance action with specifiable time constant.
+ Output clamping between selectable operational limits.
+ Selectable linear signal conditioning of the output.
+ Air-to-Close option to invert the sense of the output for use with air-to-close valves.
+ Raw Count output to display the output after signal conditioning.
+ Supervisory Control option for driving the block input from an external supervisory
application.
+ Parameters to allow flexible choice of block action in case of supervisory control
fallback.
+ Error Propagation option to permit non-standard conditions of the measurement or
bias inputs to be reflected as an error status of the output.
+ Measurement Error option to permit selection of the conditions under which the last
good value of the measurement is retained.
+ Bias Error option to perform the same function for the bias term.
+ Manual/Auto mode for disconnecting the control scheme from the output, for simu-
lation and checkout purposes.
+ Optional output clamping when in Manual.
+ Manual if Failsafe option to force the block into Manual whenever a transition into
Failsafe occurs.
5. AOUT Analog Output Block B0193AX Rev AB
137


+ Manual if Bad option to force the block into Manual whenever the measurement or
bias input has bad status, or the FBM or FBC is bad.
+ Bias Tracking option to cause the bias value to track changes in the output by back
calculation, when the block is in Manual (see Section 5.7).
+ The Primary Block option enables the block, when in a cascaded configuration, to ini-
tialize without bumping the process.
+ Bad Alarm option to permit Bad alarm generation.
5.4 Parameters
Table 5-1. AOUT Block Parameters
Name Description Type Accessibility Default Units/Range
Configurable Parameters
INPUTS
NAME block name string no-con/no-set blank 1 to 12 chars
TYPE block type integer no-con/no-set 32 AOUT
DESCRP descriptor string no-con/no-set blank 1 to 32 chars
PERIOD block sample time short no-con/no-set 1 0 to 13
PHASE block execute phase integer no-con/no-set 0 ---
LOOPID loop identifier string no-con/set blank 1 to 32 chars
IOMOPT FBM output option short no-con/no-set 1 0 to 2
IOM_ID FBM identifier string no-con/no-set blank ---
PNT_NO FBM point number string no-con/no-set 1 1 to 32 chars
SCO signal cond.index short no-con/no-set 0 0-5,12-15, 50-56, 59
ATC air-to-close boolean no-con/no-set 0 0 to 1
PROPT propagate error opt boolean no-con/no-set 0 0 to 1
MEAS process input real con/set 0.0 RI1
HSCI1 high scale for meas real no-con/no-set 100.0 specifiable
LSCI1 low scale for meas real no-con/no-set 0.0 specifiable
DELTI1 change delta for meas real no-con/no-set 1.0 percent
EI1 eng units for meas string no-con/no-set % specifiable
MEROPT meas error option short no-con/no-set 0 0 to 2
HSCO1 high scale for output 1 real no-con/no-set 100.0 specifiable
LSCO1 low scale for output 1 real no-con/no-set 0.0 specifiable
DELTO1 change delta output 1 real no-con/no-set 1.0 percent
EO1 eng units for output 1 string no-con/no-set % specifiable
HOLIM high output limit real con/set 100.0 RO1
LOLIM low ouput limit real con/set 0.0 RO1
OSV output span variance real no-con/no-set 2.0 0.0 to 25.0%
BIAS bias real con/set 0.0 RI2
MSCALE measurement scalar real no-con/set 1.0 scalar
HSCI2 high scale for bias real no-con/no-set 100.0 percent
LSCI2 low scale for bias real no-con/no-set 0.0 specifiable
DELTI2 change delta for meas real no-con/no-set 1.0 percent
EI2 eng units for bias string no-con/no-set % specifiable
B0193AX Rev AB 5. AOUT Analog Output Block
138


BEROPT bias error option short no-con/no-set 0 0 to 2
BTRKOP bias tracking option boolean no-con/no-set 0 0 to 1
MA manual/auto boolean con/set 0 0 to 1
INITMA initialize MA short no-con/no-set 1 0 to 2
AUTSW auto switch boolean con/set 0 0 to 1
MANSW manual switch boolean con/set 0 0 to 1
MANFS manual if failsafe boolean no-con/no-set 0 0 to 1
MBADOP manual if bad option boolean no-con/no-set 0 0 to 1
MCLOPT manual clamp option boolean no-con/no-set 0 0 to 1
PRIBLK primary block boolean no-con/no-set 0 0 to 1
PRITIM primary cascade timer real no-con/no-set 0.0 seconds
INHOPT inhibit option short no-con/no-set 0 0 to 3
INHIB alarm inhibit boolean con/set 0 0 to 1
BTIME balance time real con/set 0.0 minutes
BAO bad alarm option boolean no-con/no-set 0 0 to 2
BAT bad alarm text string no-con/no-set blank 1 to 32 chars
BAP bad alarm priority integer con/set 5 1 to 5
BAG bad alarm group short no-con/set 1 1 to 8
FLBOPT fallback option short no-con/no-set 0 0 to 2
INITSE initial SE short no-con/no-set 0 0 to 2
SE supervisory enable boolean no-con/set 0 0 to 1
SUPOPT supervisory option short no-con/no-set 0 0, 1, 3
SUPGRP supervisory group short no-con/no-set 1 1 to 8
AMRTIN alarm regeneration timer integer no-con/no-set 0 0 to 32767 s
Non-Configurable Parameters
OUTPUTS
ALMSTA alarm status pack_l con/no-set 0 bit map
BAD bad I/O status boolean con/set 0 0 to 1
BCALCO back calc output real con/no-set 0.0 RI1
BLKSTA block status pack_l con/no-set 0 bit map
CRIT criticality integer con/no-set 0 0 to 5
FLBREQ fallback request short con/no-set 0 0 to 2
FS failsafe state boolean con/no-set 0 0 to 1
HOLIND high output limit indicator boolean con/set 0 0 to 1
INHSTA inhibit status pack_l con/no-set 0 bit map
INITO initialize out short con/no-set 0 ---
LOLIND low ouput limit indicator boolean con/set 0 0 to 1
OUT output real con/set 0.0 RO1
PRTYPE priority type integer con/no-set 0 0 or 8
RAWC raw counts real con/no-set 0.0 0 to 65535
SUP_IN supervisory input real con/set 0.0 RI1
SUPBCO supervisory back calc out real no-con/no-set 0 RI1
UNACK unacknowledge alarm boolean con/set 0 0 to 1
DATA STORES
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
Table 5-1. AOUT Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
5. AOUT Analog Output Block B0193AX Rev AB
139


5.4.1 Parameter Definitions
ACHNGE Alternate Change is an integer output which is incremented each time a
block parameter is changed via a Set command.
ALMOPT Alarm Options contains packed long values representing the alarm types
that have been configured as options in the block, and the alarm groups
that are in use.
ALMOPT alarm options pack_l no-con/no-set 0 0 to 0xFFFFFFFF
DEFINE no config errors boolean no-con/no-set 1 0 to 1
DEV_ID FBM letterbug char[6] no-con/no-set blank 1 to 6 chars
ERCODE configuration error string no-con/no-set 0 1 to 43 chars
LOCKID lock identifier string no-con/no-set blank 8 to 13 chars
LOCKRQ lock request boolean no-con/set 0 0 to 1
OWNER owner name string no-con/set blank 1 to 32 chars
PERTIM period time real no-con/no-set 0.1 ---
PRSCAS cascade state short no-con/no-set 0 0 to 7
RI1 measurement range real[3] no-con/no-set 100,0,1 specifiable
RI2 bias range real[3] no-con/no-set 100,0,1 specifiable
RO1 output range real[3] no-con/no-set 100,0,1 specifiable
Table 5-1. AOUT Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
Bit Number
1
(0 to 31)
1.
Bit 0 is the least significant, low order bit.
Configured Alarm Option When True
0 (Least Significant) Alarm Group 8 in Use
1 Alarm Group 7 in Use
7 Alarm Group 1 in Use
22 Bad I/O Alarm Configured
B0193AX Rev AB 5. AOUT Analog Output Block
140


ALMSTA Alarm Status is a 32-bit output, bit-mapped to indicate the blocks alarm
states. For the AOUT block, only the unshaded bits in this diagram are
used:
* Bit 0 is the least significant, low order bit.
AMRTIN Alarm Regeneration Timer is a configurable integer that specifies the time
interval for an alarm condition to exist continuously, after which a new
unacknowledged alarm condition and its associated alarm message is gen-
erated.
ATC Air-to-Close is a configurable option that inverts the sense of the conver-
sion from engineering units to raw count output, for use with air to close
valves.
AUTSW Auto Switch, when true, forces the block into the Auto mode and secures
MA against sets. It is of lower priority than MANSW, and is overridden by
it if both parameters are true. It is also overridden by MBADOP if the Bad
condition causing the Manual mode is still present. AUTSW overrides any
connections to MA.
BAD Bad is a boolean output which is set true when the FBM or FBC has a
fatal fault or the output point in an FBC has bad status.
BAG Bad Alarm Group is a short integer input that directs Bad alarm messages
to one of eight groups of alarm devices.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
U
N
A
K
B
A
D
CRIT PRTYPE
Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
0 to 4
(Least Sig-
nificant)
PTYP_MSK Priority Type: See param-
eter PRTYPE for values
used in the AOUT block
---
5 to 7 CRIT_MSK Criticality; 5 = lowest
priority, 1= highest
---
22 BAD Bad I/O Alarm ALMSTA.B10
30 UNAK Unacknowledged ALMSTA.B2
5. AOUT Analog Output Block B0193AX Rev AB
141


BAO Bad Alarm Option is a configurable option that enables alarm generation
for each state change of the BAD parameter. The parameter values are:
BAP Bad Alarm Priority is an integer input, ranging from 1 to 5, that sets the
priority level of the Bad alarm (1 is the highest priority).
BAT Bad Alarm Text is a user-configurable text string of up to 32 characters,
sent with the bad alarm message to identify it.
BCALCO Back Calculated Output is a real value that specifies to the upstream block
the value of MEAS which leaves OUT unchanged. If the upstream block
sets its output to the BCALCO value, bumpless cascade initialization is
assured. The upstream block normally connects BCALCO from the
AOUT block to its BCALCI input.
BEROPT Bias Error Option is a short integer option which determines the condi-
tions under which last good value functionality is provided for the input
BIAS. BEROPT is only active when PROPT is true. (See Section 5.6.3 for
a detailed definition.)
BIAS Bias is an input used to offset the measurement value. It can be used inde-
pendently, or in conjunction with MSCALE to achieve units conversion
of the measurement.
BLKSTA Block Status is a 32-bit output, bit-mapped to indicate various block oper-
ational states. For the AOUT block, only the unshaded bits in this dia-
gram are used:
0= No generation of Bad alarms.
1= Bad alarm generation if the FBM or FBC has
Bad status.
2= Bad alarm generation in the measurement
(MEAS or OUTPUT parameter) of a PID
block family, RATIO block, or BIAS block
when the MEAS or OUT parameter is con-
nected to the AOUT block.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
H
O
L
L
O
L
M
A
O
F
S
W
L
C
K
O
N
U
D
E
F
B
A
D
M
A
F
B
M
R
F
B
M
D
E
V
B
A
D
R
B0193AX Rev AB 5. AOUT Analog Output Block
142


* Bit 0 is the least significant, low order bit.
BTIME Balance Time is a real input that specifies the time constant, in minutes,
for the value of OUT to reach approximately 63 percent of the value cal-
culated by the algorithm, when the block output changes its mode of con-
trol.
BTRKOP Bias Track Option, when true, causes BIAS to track the manually set value
of OUT by the following back calculation:
BIAS = OUT - (MEAS * MSCALE)
The block must be in Manual, and BIAS must be unlinked.
CRIT Criticality is an integer output which, for the AOUT block, indicates the
priority of an active Bad alarm (1 is the highest priority). An output of
zero indicates the absence of alarms.
DEFINE Define is a data store which indicates the presence or absence of configura-
tion errors. The default is 1 (no configuration errors). When the block ini-
tializes, DEFINE is set to 0 if any configured parameters fail validation
testing, other than those involved in duplicate output channel detection.
Bit
Number**
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
6 TRK Local Panel in Use BLKSTA.B26
7 HLD Auto/Hold State BLKSTA.B25
8 FBM FBM or FBC Failure BLKSTA.B24
11 MA Manual = 0, Auto = 1 BLKSTA.B21
12 BAD Bad I/O BLKSTA.B20
14 UDEF Block Undefined BLKSTA.B18
15 ON Block ON BLKSTA.B17
20 WLCK Access Locked BLKSTA.B12
24 FS Output in Failsafe or Await-
ing Cascade Closure after
Transition
BLKSTA.B8
26 MAO Manual/Auto Override
Active
BLKSTA.B6
27 LOL Output Clamped at Low
Limit
BLKSTA.B5
28 HOL Output Clamped at High
Limit
BLKSTA.B4
29 SE Supervisory Control Enabled BLKSTA.B3
30 SC Supervisory Cascade Closed BLKSTA.B2
31 FLB Block in Supervisory Fallback BLKSTA.B1
5. AOUT Analog Output Block B0193AX Rev AB
143


(See ERCODE for the list of all possible validation errors in this block.) In
that case, no further processing of the block occurs, including further vali-
dation of remaining parameters. To return DEFINE to a true value, cor-
rect all configuration errors and reinstall the block. If DEFINE = 0, the bit
BLKSTA.UDEF = 1.
DELTI1 Change Delta for Input Range 1 is a real value that defines the minimum
percent of the input range that triggers change driven connections for
parameters in the range of RI1. The default value is 1.
Entering a 1 causes the Object Manager to recognize and respond to a
change of 1 percent of the full error range. If communication is within the
same CP that contains the blocks compound, change deltas have no
effect.
Refer to Peer-to-Peer Connections of Real-Type Block Inputs on
page 23 for details on how the I/A Series software affects the change delta
percentage during operation.
DELTI2 Change Delta for Input Range 2 is a real value that defines the minimum
percent of the input range that triggers change driven connections for
parameters in the range of RI2. The default value is 1.
Entering a 1 causes the Object Manager to recognize and respond to a
change of 1 percent of the full error range. If communication is within the
same CP that contains the blocks compound, change deltas have no
effect.
Refer to Peer-to-Peer Connections of Real-Type Block Inputs on
page 23 for details on how the I/A Series software affects the change delta
percentage during operation.
DELTO1 Change delta for Output Range 1 is a configurable real value that defines
the minimum percent of the output range that triggers change-driven
connections for parameters in the range RO1. The default value is 1.0 per-
cent. If communication is within the same control station that contains
the blocks compound, DELTO1 has no effect.
DESCRP Description is a user-defined string of up to 32 characters that describes
the blocks function (for example, PLT 3 FURNACE 2 HEATER CON-
TROL).
DEV_ID Device Identifier is a character array data store that indicates the 6-charac-
ter letterbug of the connected FBM or FBC.
EI1 Engineering Units for Input Range 1 provides the engineering units text
for the values of MEAS, BCALCO, and SUPBCO. The value configured
for this text string should be consistent with the values used for HSCI1
and LSCI1. Deg F and pH are typical entries.
EI2 Engineering Units for Input Range 2 provides the engineering units text
for the value of BIAS. The value configured for this text string should be
B0193AX Rev AB 5. AOUT Analog Output Block
144


consistent with the values used for HSCI2 and LSCI2. Deg F and pH
are typical entries.
EO1 Engineering Units for Output Range 1 provides the engineering units text
for the values of OUT, HOLIM, and LOLIM. The value configured for
this text string should be consistent with the values used for HSCO1 and
LSCO1. Deg F and pH are typical entries.
ERCODE Error Code is a string data store which indicates the type of configuration
error or warning which caused the blocks DEFINE to be set false. Valida-
tion of the configuration does not proceed past the first error or warning
encountered by the block logic. (The duplicate output channel condition
does not cause DEFINE to be set false.) The block detailed display shows
the ERCODE on the primary page, if it is not null. For the AOUT block,
the following list specifies the possible values of ERCODE, and the signif-
icance of each value in this block:
FLBOPT Fallback Option is a configured input that defines the control action to be
taken by the block when a supervisory control fallback occurs:
0 = Make no change in MA (default)
1 = Set MA to Auto
2 = Set MA to Manual
FLBOPT overrides a linked MA parameter, but does not override the
AUTSW and MANSW parameters.
FLBREQ Fallback Request is an output, which constitutes an explicit request for the
block to go to the supervisory control fallback state specified by FLBOPT,
regardless of the value of its fallback timer.
ERCODE Description
W44 HSCO1 less than or equal to LSCO1.
W48 SUPOPT or FLBOPT out of range.
W50 Invalid SCO.
W51 The connected FBM or FBC is not a type containing
analog output points.
W52 PNT_NO out of range for the specified FBM or FBC.
W54 Specified IOM_ID does not exist.
W59 Warning: This block and another AOUT or AOUTR
block are connected to the same FBM or FBC and point
number. Both blocks receive the same warning message.
0 = Fallback not requested.
1 = Fallback requested; recovery at block or group level.
(See Section 5.5.9.)
2 = Fallback requested; recovery only at block level.
(See Section 5.5.9.)
5. AOUT Analog Output Block B0193AX Rev AB
145


FS Failsafe is a boolean output that is set true when the block detects that the
FBM has transitioned into the Failsafe state. While in this state, the block
uses a measurement value based on a back calculation from the value read
back from the FBM or FBC. Once set true, FS remains true until the cas-
cade has closed.
HOLIM High Output Limit is a real input that establishes the maximum output
value. If the block is in Auto and the algorithm tries to drive the output to
a value higher than or equal to HOLIM, or if the block is in Manual (with
MCLOPT true) and the manually set value of the output is higher than or
equal to HOLIM, the output is clamped at the HOLIM value and
HOLIND is set true.
Configure HOLIM within the output engineering range RO1 defined by
parameters HSCO1 and LSCO1 (see Block Initialization on page 155).
If you change the HSCO1 and LSCO1 values to expand the engineering
range, make sure you change the HOLIM value accordingly to prevent
output limiting at the old limit. The block does not automatically adjust
HOLIM for the expanded range.
HOLIND High Output Limit Indicator is a boolean output that is set true whenever
the output is clamped at the high output limit, HOLIM.
HSCI1 High Scale for Input Range 1 is a real value that defines the upper range
value for MEAS, SUP_IN, BCALCO, and SUPBCO. It is only used in
displays.
HSCI2 High Scale for Input Range 2 is a real value that defines the upper range
value for BIAS. It is only used in displays.
HSCO1 High Scale for Output Range 1 is a real value that defines the upper range
value for the blocks output.
INHIB Inhibit is a boolean input. When true, it inhibits all block alarms; the
alarm handling and detection functions are determined by the INHOPT
setting.
INHOPT Inhibit Option specifies the following actions applying to all block alarms:
0 = When an alarm is inhibited, disable alarm messages but do
not disable alarm detection.
1 = When an alarm is inhibited, disable both alarm messages and
alarm detection. If an alarm condition already exists at the
time the alarm transitions into the inhibited state, clear the
alarm indicator.
B0193AX Rev AB 5. AOUT Analog Output Block
146


INHSTA Inhibit Status contains packed long values that represent the current
inhibit status of each alarm type configured in the block. For the AOUT
block, only the unshaded bit in the following diagram is used:
INITMA Initialize Manual/Auto specifies the desired state of the MA input during
initialization, where:
0 = Manual
1 = Auto
2 = The MA state as specified in the checkpoint file.
The block asserts this initial M/A state whenever any one of the following
occurs:
+ It is installed into the Control Processor database.
+ The Control Processor undergoes a reboot operation.
+ The compound in which it resides is turned on.
+ INITMA itself is modified via the control configurator. (The
block does not assert INITMA on ordinary reconfiguration.)
INITMA is ignored if MA has an established linkage.
INITO Initialization Output is set true when the primary cascade is open for any
reason, and returned to false when cascade closure is detected. The INITO
output of a downstream block is normally connected to the INITI of the
next upstream block, and serves to notify the upstream block of the open
2 = Same as 0 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages.
Into alarm messages may be acknowledged by explicitly set-
ting UNACK false.
3 = Same as 1 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages.
Into alarm messages may be acknowledged by explicitly set-
ting UNACK false.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
B
A
D

Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
22 BAD Bad I/O Alarm Inhibited INHSTA.B10
* Bit 0 is the least significant, low order bit.
5. AOUT Analog Output Block B0193AX Rev AB
147


loop condition. The information conveyed by the short value of INITO is
currently contained in the status bits of BCALCO, but INITO/INITI
have been retained for reasons of backward compatibility. This block
keeps INITO True, for one cycle (PRIBLK = 0), until the acknowledge is
received from upstream (PRIBLK = 1 and PRITIM = 0.0), or for a fixed
time delay (PRIBLK = 1 and PRITIM = nonzero).
INITSE Initialize Supervisory Enable is a configured value that specifies the initial
state of SE when the block is installed, the containing compound is turned
on, or the control processor is rebooted. Options are:
0 = Disable (SE is set false)
1 = Enable (SE is set true)
2 = No change (SE retains its current value)
INITSE is not asserted when the block is initialized due to
reconfiguration.
IOMOPT FBM Option is a short integer specifying whether an FBM or FBC con-
nection to the block exists. Values are:
IOM_ID Fieldbus Module Identifier is a configurable string that specifies the path-
name of the FBM or FBC to which the block is connected.
IOM_ID has the form CompoundName:BlockName, where Compound-
Name is the 1-12 character name of the local compound containing the
ECB, and BlockName is the 1-12 character block name of the ECB.
If the compound containing the ECB is the CPletterbug_ECB compound
where CPletterbug is the station letterbug of the CP, the CompoundName
may be omitted from the IOM_ID configuration. In this case, the 1-12
character ECB block name is sufficient.
LOCKID Lock Identifier is a string identifying the workstation which has locked
access to the block via a successful setting of LOCKRQ. LOCKID has the
format LETTERBUG:DEVNAME, where LETTERBUG is the 6-charac-
ter letterbug of the workstation and DEVNAME is the 1 to 6 character
logical device name of the Display Manager task.
LOCKRQ Lock Request is a boolean input which can be set true or false only by a set
command from the LOCK U/L toggle key on workstation displays. When
LOCKRQ is set true in this fashion a workstation identifier accompany-
ing the SETVAL command is entered into the LOCKID of the block.
0 = The block does not transmit the OUT value to an FBM or
FBC point. The value in OUT is conditioned as specified by
SCO.
1 = The block transmits the OUT value to the FBM or FBC point
specified by IOM_ID and PNT_NO. The value is conditioned
as specified by SCO.
2 = There is no connected FBM or FBC. The value in OUT is not
conditioned.
B0193AX Rev AB 5. AOUT Analog Output Block
148


Thereafter, set requests to any of the blocks parameters are honored (sub-
ject to the usual access rules) only from the workstation whose identifier
matches the contents of LOCKID. LOCKRQ can be set false by any
workstation at any time, whereupon a new LOCKRQ is accepted, and a
new ownership workstation identifier written to LOCKID.
LOLIM Low Output Limit is a real input that establishes the minimum output
value. If the block is in Auto and the algorithm tries to drive the output to
a value lower than or equal to LOLIM, or if the block is in Manual (with
MCLOPT true) and the manually set value of the output is lower than or
equal to LOLIM, the output is clamped at the LOLIM value and
LOLIND is set true.
Configure LOLIM within the output engineering range RO1 defined by
parameters HSCO1 and LSCO1 (see Block Initialization on page 155).
If you change the HSCO1 and LSCO1 values to expand the engineering
range, make sure you change the LOLIM value accordingly to prevent
output limiting at the old limit. The block does not automatically adjust
LOLIM for the expanded range.
LOLIND Low Output Limit Indicator is a boolean output that is set true whenever
the output is clamped at the low output limit, LOLIM.
LOOPID Loop Identifier is a configurable string of up to 32 characters which iden-
tifies the loop or process with which the block is associated. It is displayed
on the detail display of the block, immediately below the faceplate.
LSCI1 Low Scale for Input Range 1 is a real value that defines the lower range
value for MEAS, SUP_IN, BCALCO, and SUPBCO. It is only used in
displays.
LSCI2 Low Scale for Input Range 2 is a real value that defines the lower range
value for BIAS. It is only used in displays.
LSCO1 Low Scale for Output Range 1 is a real value that defines the lower range
value for the blocks output.
MA Manual/Auto is a boolean input that controls the blocks operating state
(0 = false = Manual; 1 = true = Auto). When in Auto, the output OUT is
updated in accordance with the block algorithm. In Manual, OUT is
released and updated only by sets from a display or an external program.
MANFS Manual if Failsafe is a configurable option which, when true, causes the
block to switch to the Manual mode when the connected point is reported
by the FBM or FBC to have transitioned into the Failsafe state. MANFS
has no effect when MA is linked.
MANSW Manual Switch, when true, forces the block into the Manual mode and
secures MA against sets. It is of higher priority than AUTSW, and over-
rides it if both parameters are true. MANSW also overrides any connec-
tions to MA.
5. AOUT Analog Output Block B0193AX Rev AB
149


MBADOP Manual if Bad Option is a manual override feature which, when true,
causes the block to go into Manual mode if MEAS or BIAS has Bad status,
or the FBM or FBC is Bad. See Section 5.7 for the relationship between
MBADOP and AUTSW/MANSW.
MCLOPT Manual Clamping Option, when true, causes the value of OUT as set in
Manual mode to be clamped by operational limits HOLIM and LOLIM.
MEAS Measurement is the process input which is optionally scaled, balanced,
and clamped before being made available as the block output OUT. It can
also be subjected to linear signal conditioning when output to an FBM or
FBC is required.
MEROPT Measurement Error Option is a short integer option which determines the
conditions under which last good value functionality is provided for the
input MEAS. MEROPT is only active when PROPT is true and the block
is in Auto. (See Section 5.6.3 for a detailed definition.)
MSCALE Measurement Scalar is used to apply a gain factor to the measurement
input of the block before adding it to the bias factor and balance term to
produce the block output.
NAME Name is a user-defined string of up to 12 characters used to access the
block and its parameters.
NR_INP Number of Inputs is a short value datastore representing the number of
inputs in the block. It is only used internally.
NR_OUT Number of Outputs is a short value datastore representing the number of
outputs in the block. It is only used internally.
OF_INP Offset to Inputs is the zero-based offset, in bytes, of the first block input
from the head of the block. It is a datastore which is only used internally.
OF_OUT Offset to Outputs is the zero-based offset, in bytes, of the first block out-
put from the head of the block. It is a datastore which is only used inter-
nally.
OSV Output Span Variance is a configurable real input which defines the per-
centage by which the operational clamp limits HOLIM and LOLIM can
exceed the output range defined by HSCO1 and LSCO1.
OUT Output, in Auto mode, is the result of the block algorithm applied to the
MEAS input. In Manual, OUT is released, and can be set from a display
or an external task.
OWNER Owner is a string of up to 32 ASCII characters which is used to allocate
control blocks to applications. Attempts to set Owner are only successful
if the present value of Owner is the null string, an all-blank string, or iden-
tical to the value in the set request. Otherwise the request is rejected with a
LOCKED_ACCESS error. Owner can be cleared by any application by
B0193AX Rev AB 5. AOUT Analog Output Block
150


setting it to the null string; this value is always accepted, regardless of the
current value of Owner. Once set to the null string, the value can then be
set as desired.
PERIOD Period is an indexed input that dictates the blocks execution time base
and allowable PHASE values. For stations other than Integrators and
Gateways, PERIOD values range from 0 to 13 and map to the following
period time lengths. (Integrator and Gateway blocks have different period
values than shown here.)
*
If the BPC is 0.2 sec., this period is treated internally as 0.6 sec., but the
PERIOD parameter remains 1.
** If the BPC is 2.0 sec., this period is treated internally as 6.0 sec., but the
PERIOD parameter remains 10.
*** If the BPC is 0.5 sec., this period is treated internally as 0.5 sec., but
the PERIOD parameter remains 11.
**** If the BPC is not 2.0 sec., this period is treated internally as 5.0 sec.,
but the PERIOD parameter remains 12.
***** Available in CP40, CP40B, CP60 and later control processors.
PERTIM Period Time is a real data store which, in the case of the AOUT block,
contains the number of execution cycles in one minute. It is only used in
the calculation of the reset balance factor.
PHASE Phase is an integer input that causes the block to execute at a specific BPC
within the time determined by the PERIOD. For instance, a block with
PERIOD of 3 (2.0 sec) can execute within the first, second, third, or
fourth BPC of the 2-second time period, assuming the BPC of the Con-
trol Processor is 0.5 sec. Refer to the appropriate Integrated Control Soft-
ware Concepts document (B0700AG or B0193AW).
PNT_NO Point Number is the FBM or FBC point to which the AOUT block is
connected.
PRIBLK Primary Block is a configured boolean which should be set true when the
AOUT block is in a secondary position in a control cascade, and not oth-
erwise. When true, PRIBLK enables bumpless initialization of the pri-
Period Length Period Length
0 0.1 sec 7 10 min
1 0.5 sec* 8 60 min
2 1.0 sec 9 0.2 sec
3 2.0 sec 10 5.0 sec**
4 10 sec 11 0.6 sec***
5 30 sec 12 6.0 sec****
6 1 min 13 0.05 sec*****
5. AOUT Analog Output Block B0193AX Rev AB
151


mary cascade at initial startup or transfer of control. Depending on the
value of PRITIM, PRIBLK does this by forcing the AOUT block to
remain in the Hold state until the Acknowledge status bit (Bit 10) of
MEAS is detected from the upstream block (PRITIM = 0.0), or until the
time defined by PRITIM expires (PRITIM > 0.0). In the latter case, the
explicit acknowledge from the upstream block is not needed.
Use PRIBLK in a cascade situation when the source of the block's input
connection needs to be initialized.
Refer to PRIBLK and PRITIM Functionality on page 165 for more
information on this parameter.
PRITIM Primary Cascade Timer is a configurable parameter used to delay the clos-
ing of the cascade to a primary block, when the output is initialized in the
AOUT block. It is used only if the PRIBLK option is set. The cascade is
closed automatically when the timer expires without requiring an explicit
acknowledge by the upstream block logic.
Refer to PRIBLK and PRITIM Functionality on page 165 for more
information on this parameter.
PROPT Propagate Error Option is a boolean input which, when the block is in
Auto, determines whether errors in the MEAS or BIAS parameters causes
the Error status bit of OUT to be set true. In addition, a true value of
PROPT causes MEAS to have last good value functionality based on the
error types specified by MEROPT. Similarly, PROPT and BEROPT,
taken together, determine whether BIAS has last good value functionality.
See Section 5.6.3 for details of PROPT, MEROPT, and BEROPT.
PRSCAS Present Cascade State is a data store that indicates the cascade state. It has
the following possible values:
PRTYPE Priority Type is an indexed output that indicates the alarm type of the
highest priority active alarm. The PRTYPE output of this block consists of
the following possible values:
0 = No active alarm
8 = Bad
Value State Description
1 INIT_U Unconditional initialization of the primary
cascade is in progress.
2 PRI_OPN The primary cascade is open.
3 INIT_C Conditional initialization of the primary cas-
cade is in progress.
4 PRI_CLS The primary cascade is closed.
5 SUP_INIT The supervisory cascade is initializing.
6 SUP_OPN The supervisory cascade is open.
7 SUP_CLS The supervisory cascade is closed.
B0193AX Rev AB 5. AOUT Analog Output Block
152


RAWC Raw Count is the value of the selected input source after any necessary
scaling, balancing, clamping, and conditioning are applied. If IOMOPT =
1, the value of RAWC is transferred to the FBM or FBC, provided the
ECB indicates normal status.
RI1 Range Input 1 is a real array consisting of the three parameters HSCI1,
LSCI1, and DELTI1. The array members are configured by their individ-
ual names; however, RI1 and its members can, optionally, be accessed on
an array basis by user tasks and displays.
RI2 Range Input 2 is a real array consisting of the three parameters HSCI2,
LSCI2, and DELTI2. The array members are configured by their individ-
ual names; however, RI2 and its members can, optionally, be accessed on
an array basis by user tasks and displays.
RO1 Range Output 1 is a real array consisting of the three parameters HSCO1,
LSCO1, and DELTO1. The first two of these array members are config-
ured by their individual names. (DELTO1 is unused). RO1 and any of its
members can be optionally, be accessed on an array basis by user tasks and
displays.
SCO Signal Conditioning Output is a configured option which specifies how
the final block output, in engineering units, is converted to a raw count
compatible with the electrical characteristics of the FBM or FBC. The use
of the SCO values is described in Section 5.5.4.5. When IOMOPT is set
to 0, you can use output signal conditioning without a connected FBM or
FBC, for test purposes.
SE Supervisory Enable is a boolean input that enables or disables supervisory
control in the block. It is not configurable, and should only be set by the
supervisory controller.
0 = Disable
1 = Enable
SUPBCO Supervisory Back Calculated Output is a real value that indicates the value
of SUP_IN which would leave OUT unchanged. If the supervisory appli-
cation sets its output to the BCALCO value, bumpless initialization of the
supervisory cascade is assured. SUPBCO also contains the following status
bits:
SUPGRP Supervisory Group is a configured short integer that assigns this block to
one of eight groups for purposes of supervisory control fallback timing.
Status Meaning
Bit 10 = 1 Initialize SUP_IN
Bit 13 = 1 SUP_IN is limited high
Bit 14 = 1 SUP_IN is limited low
Bit 13 = 1 and Bit 14 =1 Supervisory cascade is open
5. AOUT Analog Output Block B0193AX Rev AB
153


SUPOPT Supervisory Option is a configurable short integer input that specifies
whether or not this block is under control of a Supervisory Control appli-
cation:
0 = No Supervisory control (default)
1 = Set Point Control (SPC) of the blocks measurement (Supervisory set-
point control (SSC))
3 = SPC, with an implicit acknowledge by the CP
Be aware that option 1 requires an explicit acknowledge by the application
software to close the supervisory cascade. This must be done by setting the
ACK status bit in the SUP_IN parameter using special OM access func-
tions.
SUP_IN Supervisory Input is the input that the block uses as the measurement
when supervisory control is enabled. It is driven by the supervisory appli-
cation. The supervisor also uses the Acknowledge status bit of SUP_IN
(Bit 10) to indicate that a request to initialize has been honored, and that
the supervisory cascade may be closed.
TYPE When you enter AOUT or select it from a configurator list, an identify-
ing integer is created specifying this block type.
UNACK Unacknowledge is a boolean output which is set true, for notification pur-
poses, whenever the block goes into alarm on either the primary or sec-
ondary side. It is settable, but sets are only allowed to clear UNACK to
false, and never in the opposite direction. The clearing of UNACK is nor-
mally via an operator Acknowledge pick on a default display, user display,
or Current Alarms Display, or via a user task.
B0193AX Rev AB 5. AOUT Analog Output Block
154


5.5 Functions
5.5.1 Detailed Diagram
Figure 5-2. AOUT Block Operational Diagram
SCALING BALANCING CLAMPING
O
O
O
MSCALE OUT BTIME LOLIM HOLIM
MA
(M)
(A)
OUT
Bias
Selection
Back
Calculation
BCALCO
SUPBCO
OUT
SIGNAL
CONDITIONING
OUT
IOMOPT = 0,1
HSCO1 LSCO1 SCO
RAWC
AND
IOMOPT = 1
To
ECB
AND
SUPOPT
SE
BLKSTA.SC
USE SUP_IN O
Failsafe
Transition Cycle
AND
MANFS
AND Manual
FS
BLKSTA.FS
MEAS.ACK
FS
BLKSTA.FS
OR
FBM/FBC BAD
FBC Point BAD
BAD
BLKSTA.BAD
OUT.BAD
BCALCO.BAD
OUT.SECURE
OUT.OOS
BCALCO.OOS
OUT.SECURE
FBM/FBC OOS
MEAS
SUP_IN
Last Good Value
Back Calculated Input
OR
OR
MEAS.Disconnect
MEAS.BAD
MEAS.OOS
MEAS.BAD
MEAS.OOS
MEAS.Disconnect
MEAS.ERROR
AND
PROPT
Auto
MEROPT=1
MEROPT= 2
AND
AND
OR O
USE LAST
Initialization Cycle
AND
GOOD VALUE
Back
O
USE BACK
CALCULATED
INPUT
Calculation
5. AOUT Analog Output Block B0193AX Rev AB
155


5.5.2 Block Initialization
Key Parameters: OSV, HOLIM, LOLIM, HSCO1, LSCO1, OUT, MEAS, BIAS, MSCALE,
PROPT, MEROPT, BEROPT, MA
The AOUT block initializes under any one of the following conditions:
+ The block is installed.
+ Any parameter of the block is reconfigured by the Integrated Control Configurator.
+ The compound in which the block resides is turned on.
+ The control processor containing the block is rebooted.
Whenever the block initializes, the following actions are taken, prior to any other block process-
ing activity:
+ Block validation is performed (see Section 5.5.3).
+ If Output Span Variance (OSV) has been configured less than 0.0 or greater than
25.0, it is clamped to 0.0 or 25.0 respectively, and this clamped value is used inter-
nally. The OSV parameter value itself is not modified, however.
+ If HOLIM has been configured greater than High Scale for Output Range 1
(HSCO1) as adjusted by OSV, the parameter value is modified to the value:
HOLIM = HSCO1 + (OSV / 100.0) * (HSCO1 - LSCO1)
where LSCO1 is Low Scale for Output Range 1.
Similarly, if LOLIM is configured less than LSCO1 as adjusted by OSV, the value of
LOLIM is modified to:
LOLIM = LSCO1 - (OSV / 100.0) * (HSCO1 - LSCO1)
An attempt to set HOLIM or LOLIM outside of these limits, at any time, also results
in the same modifications.
+ The readback value of the analog point is recovered from the Equipment Control
Block (ECB) and subjected to reverse signal conditioning to obtain an initial value of
OUT. This value of OUT is used, if necessary, in the back calculations described in
the next two items. These back calculations are only performed when it is necessary to
simulate a last good value for MEAS or BIAS on the first execution cycle.
+ The status of MEAS is checked for the existence of a last good value condition. (The
last good value condition depends on the values of Propagate Error Option (PROPT),
Measurement Error Option (MEROPT), and Manual/Auto (MA), and the type of
error in MEAS. See Section 5.6.3.) Since this is the first execution cycle, there is no
previous history from which to obtain a last good value for MEAS. In order to avoid
bumping the output OUT, the value of MEAS used in this cycle is obtained by a back
calculation as follows:
MEAS used this cycle = (OUT-BIAS)/MSCALE.
+ The status of BIAS is similarly checked. If last good value functionality is determined
to be required for BIAS (see Section 5.6.3), it is back calculated according to the fol-
lowing rule:
BIAS = OUT - (MEAS used this cycle * MSCALE)
B0193AX Rev AB 5. AOUT Analog Output Block
156


The value of MEAS used this cycle in this BIAS equation is the one selected by the
input source selection process described in Section 5.5.4, so that the output is not
bumped.
After block initialization, the block is processed normally on the remainder of the first execution
cycle.
5.5.3 Block Validation
Key Parameters: ERCODE, HSCO1, LSCO1, SUPOPT, FLBOPT, SCO, IOM_ID, PNT_NO,
IOMOPT
Whenever the block initializes (see Section 5.5.2), the following six types of validation are carried
out:
+ HSCO1 is verified as having been configured greater than LSCO1. If HSCO1 is less
than or equal to LSCO1, Error Code (ERCODE) is set to the string W44
INVALID ENGINEERING RANGE.
+ Supervisory Option (SUPOPT) is validated as having been configured with the values
0, 1, or 3 which are the only valid ones for the AOUT block. If SUPOPT is not 0, 1,
or 3, ERCODE is set to the string W48 INVALID BLOCK OPTION.
+ Fallback Option (FLBOPT) is validated as having been configured with a value
between 0 and 2, which is the only valid range for the AOUT block. If FLBOPT is
not in this range, ERCODE is set to the string W48 INVALID BLOCK
OPTION.
+ Unless FBM Option (IOMOPT) is set to 2, SCO is validated as configured with a
value in the range 0 to 5 or 12 to 15 inclusive. If SCO is not in this range, ERCODE
is set to the string W50 INVALID SIGNAL CONDITIONING INDEX. (The
value IOMOPT = 2 indicates that the block operates without an FBM or FBC con-
nected, and that signal conditioning is not applied to the input.)
+ The ECB named in Fieldbus Module Identifier (IOM_ID) is searched for in the data-
base. If it cannot be located, ERCODE is set to the string W54 ECB DOES NOT
EXIST.
+ If an FBM or FBC is connected, but it is not a type containing analog output points.
ERCODE is set to the string W51 INVALID HARDWARE/SOFTWARE
TYPE.
+ If an FBM or FBC is connected, Point Number (PNT_NO) must be one of the ana-
log output points. If not, ERCODE is set to the string W52 INVALID 1/O
CHANNEL/GROUP NUMBER.
The following validation, which is called duplicate output channel detection, is intended to alert
you to the fact that this block and another AOUT or AOUTR block are connected to the same
output point. It is not automatically carried out every time the block is initialized, since it is costly
in terms of system resources. This check is performed under any one of the following conditions:
+ The control processor is rebooted.
+ The AOUT block is installed.
+ An ECB connected to this block is installed or reconfigured.
+ IOMOPT is modified.
+ IOM_ID is modified.
5. AOUT Analog Output Block B0193AX Rev AB
157


+ The output point number PNT_NO is modified.
When duplicate output detection is performed for any AOUT or AOUTR block, the entire data
base is checked for duplicate analog output channels.
All blocks connected to the same output point have their ERCODE parameters set to the string
W59 DUPLICATE OUTPUT CHANNEL, but none of the blocks are set Undefined. The
duplicate output does not necessarily constitute a conflict, since the other block may be in a com-
pound which is not intended to run at the same time as the compound containing this AOUT
block, or the duplicate connection may be desired as part of an elaborate control scheme.
5.5.4 Output Processing
Key Parameters: IOM_ID, PNT_NO, MEAS, SUP_IN, OUT, RAWC
You specify the destination FBM or FBC in the IOM_ID parameter, and the point within the
FBM or FBC by the PNT_NO parameter. The following are the FBMs or FBCs and point num-
bers providing valid output destinations for the AOUT block
All analog output points in FBMs and FBCs provide 0 to 20 mA outputs with the exception of
FBM17, which provides 0 to 10 V dc outputs.
The first step in generating the block output is selection of the input source, which is done
according to the following rules:
+ If supervisory control is enabled, as described in Section 5.5.9, the supervisory input
SUP_IN is used as the input source, provided the supervisory cascade is closed. This
closure is indicated by the value of 7 in Present Cascade State (PRSCAS).
Table 5-2. AOUT Block Destinations
FBM ECB Functional Description Valid Output Points
FBM204 ECB2 4 Analog In, 4 Analog Out 5 to 8
FBM205 ECB2 4 Analog In, 4 Analog Out, Redundant 5 to 8
FBM237 ECB53 8 Analog Out 1 to 8
FBM04 ECB2 4 Analog In, 4 Analog Out 5 to 8
FBM05 ECB2 4 Analog In, 4 Analog Out, Redundant 5 to 8
FBM06 ECB4 4 Pulse Rate In, 4 Analog Out 5 to 8
FBM17 ECB9,
34, 36
4 Analog In, 2 Analog Out
4 Digital In, 4 Digital Out
5 to 6
FBM37 ECB53 8 Analog Out 1 to 8
FBM39 ECB23 4 IFD In, 4 Analog Out 5 to 8
FBM44 ECB23 4 IFD In, 4 Analog Out, Dual Baud
Rate, Redundant Output
5 to 8
FBM46
246
ECB38R 4 IFD In, 4 Analog Out, Dual Baud
Rate, Redundant Input/Output
5 to 8
FBC04 ECB43 16 Analog Out 1 to 16
FBC04
Redundant
ECB43 16 Analog Out, Redundant 1 to 16
B0193AX Rev AB 5. AOUT Analog Output Block
158


+ If supervisory control is not enabled, or the supervisory cascade is open, then the value
of MEAS is used as the input source, unless MEAS has the type of error requiring last
good value retention. The conditions for last good value retention are described in
Section 5.6.3.
+ If the last good value is required, then the input source is the value of MEAS from the
last processing cycle. (There is no last good value functionality when SUP_IN is the
input source.)
In order to prevent the confusion that could result from seeing more than one input value for the
block, the following steps are taken:
+ Whenever the input source is SUP_IN, its value is copied to MEAS, provided MEAS
is unlinked.
+ Whenever the input source is MEAS, its value is copied to SUP_IN.
+ If the input source is the last good value of MEAS, then that value is copied to
SUP_IN.
The selected input source is then scaled, balanced, clamped, and conditioned, in that order. The
result before conditioning is stored in OUT, and the result after conditioning in RAWC.
5.5.4.1 Zero and Span Scaling
Key Parameters: MEAS, SUP_IN, BIAS, MSCALE
You scale the input by using MSCALE and BIAS, according to the following equation:
Scaled Measurement = (MEAS_Value * MSCALE) + BIAS_Value
In this expression, MEAS_Value represents the measurement actually used in this execution cycle,
rather than the original value of the MEAS parameter. It is obtained from one of the following:
+ SUP_IN
+ MEAS
+ the last good value of MEAS
+ a back calculation if this is the first cycle.
(See Section 5.5.2 and Section 5.5.4.)
In similar fashion, BIAS_Value is obtained from one of the following:
+ BIAS
+ the last good value of BIAS
+ a back calculation if this is the first cycle.
One use of scaling is to make the measurement value dimensionally compatible with the desired
output units, as for example in the conversion of temperature measurements from Celsius to
Fahrenheit scales. In that conversion, MSCALE is set to 1.8 and BIAS is 32.0.
To ignore the scaling function, leave MSCALE at the default value of 1.0 and leave BIAS at the
default value of 0.0. (Since BIAS is connectable, you can use it to offset the measurement inde-
pendently of the action of MSCALE.)
5. AOUT Analog Output Block B0193AX Rev AB
159


5.5.4.2 Reset Balance Action
Key Parameters: OUT, MEAS, BIAS, MSCALE, BTIME
The scaled measurement computed as described in Section 5.5.4.1 is modified by a balance term
B_Term:
Balanced Measurement = (MEAS_Value * MSCALE) + BIAS_Value + B_Term
B_Term is initialized to 0.0 and remains at this value under steady state conditions. When the
form of control of the output changes, however, B_Term is set to the (normally) nonzero value:
B_Term = OUT - (MEAS_Value * MSCALE) - BIAS_Value
The value of OUT is the output as calculated during the previous execution cycle.
MEAS_Value * MSCALE + BIAS_Value is the computed value of the output for this cycle.
When B_Term is first set, therefore, it represents the negative of the step function that would have
occurred in the output if balance action were not invoked.
On each cycle, including the one in which B_Term is initially set, a bleeding action is applied to
B_Term so that it decays with a response characterized by a first order lag.
New B_Term = Previous B_Term - (Previous B_Term / (t + 1))
Balance Time (BTIME) should be specified as the number of minutes required for B_Term to
decay by approximately 63%, and t is the number of execution cycles in BTIME minutes.
If you configure or set BTIME with a negative value, it automatically adjusts to 0.0 (no balancing
action) and this value is entered into the parameter. If BTIME is linked, it is used as 0.0 in each
cycle in which its source is negative.
Figure 5-3 shows the effect of balancing action when a change in the form of control would other-
wise have produced a step function in the output.
Figure 5-3. Reset Balance Action
The conditions constituting a change in form of control of the output, and setting B_Term, are:
+ The measurement value in use changes to the current value after having been held at
the last good value for one or more previous cycles.
+ The bias value undergoes a similar transition.
+ The primary cascade closes this cycle.
+ The supervisory cascade closes this cycle.
OUPUT STEP
BALANCED OUTPUT
BTIME
63%
100%
B0193AX Rev AB 5. AOUT Analog Output Block
160


5.5.4.3 Clamping
Key Parameters: HOLIM, LOLIM, HOLIND, LOLIND, HSCO1, LSCO1
The scaled and balanced value as computed in Section 5.5.4.2 is clamped so that it does not
exceed the LOLIM and HOLIM operational limits.
If the computed value is less than or equal to LOLIM:
+ It is set equal to LOLIM.
+ Low Output Limit Indicator (LOLIND) is set true.
+ Status bit BLKSTA.LOL is set true.
+ High Output Limit Indicator (HOLIND) is set false.
+ Status bit BLKSTA.HOL is set false.
If the computed value is greater than or equal to HOLIM:
+ It is set equal to HOLIM.
+ HOLIND is set true.
+ Status bit BLKSTA.HOL is set true.
+ LOLIND is set false.
+ Status bit BLKSTA.LOL is set false.
Otherwise the value is not at or beyond either limit, and both indicators and both status bits are
set false.
Note that neither the operational limits HOLIM and LOLIM nor the range limits HSCO1 and
LSCO1 can be inverted, and that the operational limits are always within the range limits. The
block logic enforces the following constraints on these parameters:
+ LSCO1 < HSCO1
+ LOLIM s HOLIM
+ LOLIM > LSCO1
+ HOLIM s HSCO1
NOTE
If you change the HSCO1 and LSCO1 values to expand the engineering range,
make sure you change the HOLIM and LOLIM values accordingly to prevent out-
put limiting at the old limits. The block does not automatically adjust HOLIM and
LOLIM for the expanded range.
5.5.4.4 Back Calculated Outputs
Key Parameters: BCALCO, SUPBCO, OUT, BIAS, MSCALE
Once the value of OUT has been determined, the following back calculation is performed to
establish the values of Back Calculated Output (BCALCO) and Supervisory Back Calculated
Output (SUPBCO), which are used in intialization of the primary and supervisory cascades,
respectively:
BCALCO = SUPBCO = (OUT - BIAS_Value - B_Term) / MSCALE
5. AOUT Analog Output Block B0193AX Rev AB
161


BCALCO and SUPBCO are also used to indicate an open cascade situation, either to the
upstream block (in the case where the primary cascade is in use) or the supervisory application (if
supervisory control is enabled). The AOUT block sets status bits 13 and 14 simultaneously true
in BCALCO or SUPBCO to indicate an open cascade.
When the cascade is not open, these bits of BCALCO or SUPBCO are used to inform the
upstream block that the AOUT output is clamped at a limit, as follows:
+ Bit 13 of BCALCO/SUPBCO true indicates that HOLIND is true.
+ Bit 14 of BCALCO/SUPBCO true indicates that LOLIND is true.
5.5.4.5 Signal Conditioning
Key Parameters: IOMOPT, SCO, OUT. RAWC, RO1
If the output (OUT) of the block is sent to an FBM or FBC, then it must be converted, by the
application of signal conditioning, from engineering units within Range Output 1 (RO1) into
raw count, which is an integer value in the range used by the particular FBM or FBC. The value
IOMOPT = 1 specifies that an FBM or FBC is connected.
You can also apply signal conditioning, for test purposes, when no FBM or FBC is connected.
You should configure IOMOPT = 0 in this case. The values of IOM_ID and PNT_NO are
ignored.
The value IOMOPT = 2 indicates that there is no connected FBM or FBC, and that signal condi-
tioning is not used. The values of IOM_ID, PNT_NO, and SCO are all ignored.
The values of SCO, which must be in the ranges listed below, cause various inverse linear or
inverse square root signal conditionings to be applied to the scaled, balanced, and clamped input.
The signal conditioning algorithms are described in the following list. In each case, the input to
the algorithm is the value of OUT, and the output of the algorithm is stored in RAWC.
SCO = 0: No Conditioning
RAWC = OUT
SCO = 1: Inverse Linear (0 to 64000)
Analog Output 0 to 20 mA
RAWC = (OUT - LSCO1) * 64000/(HSCO1 - LSCO1)
SCO = 2: Inverse Linear (1600 to 64000)
Analog Output 0 to 10 V dc
RAWC = ((OUT - LSCO1) * 62400/(HSCO1 - LSCO1)) + 1600
SCO = 3: Inverse Linear (12800 to 64000)
Analog Output 4 to 20 mA
RAWC = ((OUT - LSCO1) * 51200/(HSCO1 - LSCO1)) + 12800
SCO = 4: Inverse Square Root (0 to 64000)
Analog Output 0 to 20 mA
RAWC = ((OUT - LSCO1) * 64000/(HSCO1 - LSCO1))
2
/ 64000
SCO = 5: Inverse Square Root (12800 to 64000)
Analog Output 4 to 20 mA
RAWC = ((OUT - LSCO1) * 51200/(HSCO1 - LSCO1))
2
/ 51200 + 12800
B0193AX Rev AB 5. AOUT Analog Output Block
162


The following applies to SCO = 50 through SCO = 59:
+ y = engineering units value; x = normalized counts value.
+ Linear scaling of the analog outputs is also provided.
Each SCO value has an associated raw span, consisting of the difference between the upper and
lower range values of the raw value. For example, SCO = 2 has a raw span of 64000 minus 1600,
or 62400. The upper range value is always 64000 for any nonzero SCO.
The block also has an engineering units span, which is the difference between HSCO1 and
LSCO1
The effect of inverse linear signal conditioning is to place RAWC at the same relative position
within the raw span as OUT occupies within the engineering units span.
Example:
SCO = 12: Inverse Linear (14080 to 64000)
Analog Output 2 to 10 V dc
RAWC = ((OUT - LSCO1) * 49920/ (HSCO1 - LSCO1))

+ 14080
SCO = 13: Inverse Square Root (14080 to 64000)
Analog Output 2 to 10 V dc
RAWC = ((OUT - LSCO1) * 49920/ (HSCO1 - LSCO1))
2
/ 49920 + 14080
SCO = 14: Inverse Linear (0 to 16383)
RAWC = (OUT - LSCO1) * 16383 / (HSCO1 - LSCO1)
SCO = 15: Inverse Square Root (1600 to 64000)
Analog Output 0 to 10 V dc
RAWC = ((OUT - LSCO1) * 62400 / (HSCO1 - LSCO1))
2
/ 62400 + 1600
SCO = 50: Inverse linear (0 to 65535)
RAWC = (OUT - LSCO1) * 65535 / (HSCO1 - LSCO1)
SCO = 51: Inverse linear ( -32768 to 32767 )
RAWC = (OUT - LSCO1) * 65535 / (HSCO1 - LSCO1) - 32768
SCO = 52: Inverse linear ( 0 to 32767 )
RAWC = (OUT - LSCO1) * 32767 / (HSCO1 - LSCO1)
SCO = 53: Inverse linear ( 0 to 1000 )
RAWC = (OUT - LSCO1) * 1000 / (HSCO1 - LSCO1)
SCO = 54: Inverse linear ( 0 to 9999 )
RAWC = (OUT - LSCO1) * 9999 / (HSCO1 - LSCO1)
SCO = 55: Inverse linear ( 0 to 2048 )
RAWC = (OUT - LSCO1) * 2048 / (HSCO1 - LSCO1)
SCO = 56: Inverse linear ( 409 to 2048 )
RAWC = (OUT - LSCO1) * 1639 / (HSCO1 - LSCO1) + 409
SCO = 59: Inverse linear ( 0 to 4095 )
RAWC = (OUT - LSCO1) * 4095 / (HSCO1 - LSCO1)
If
LSCO1 = 20
0
C
HSCO1 = 90
0
C
OUT = 50
0
C
5. AOUT Analog Output Block B0193AX Rev AB
163


Inverse square root signal conditioning is similar, but the relationship between RAWC and OUT
is non-linear.
When Air-to-Close (ATC) is true, the signal conditioning reverses the sense of the conversion. For
example, with SCO = 3, an output at 100 percent of the range (OUT = HSCO1) is converted
into a RAWC value of 12800. This drives the FBM or FBC output at 4 mA. A 0 percent output
(OUT = LSCO1) is converted into a RAWC of 64000, which drives 20 mA. Intermediate values
are converted proportionately.
5.5.4.6 Output to FBM or FBC
Key Parameters: IOMOPT, RAWC, ECB Parameter OPSTAT
If an FBM or FBC is connected, then the selected input is ready for physical output after any
required scaling, balancing, clamping, and signal conditioning are applied. This is the value stored
in RAWC.
Before the output is sent to the FBM or FBC however, the Module Operational Status (OPSTAT)
parameter of its ECB is examined to determine its status.
+ If OPSTAT = 6 then the FBM or FBC is considered healthy, and the value of RAWC
is transferred to the ECB.
+ If OPSTAT is not 6, there is no new physical output to the ECB this cycle.
Whenever new data is transferred to an ECB, an internal flag is set to cause output from the ECB
to the FBM or FBC point on the next output cycle.
5.5.4.7 Configuring the AOUT Block for Intelligent Positioners
The Analog Output (AOUT) block is necessary in order to pass the controlled signal to the Intel-
ligent Positioner. By specifying an output signal conditioning value (SCO) of 14, the block is told
to convert the output value to a signal understood by the positioner. The AOUT connects directly
to the ECB74 (child), as shown in Figure 5-4; it is the ECB that actually communicates with the
positioner. Characterization for the particular valve being controlled is performed in the posi-
tioner itself. Specification of this characterization is done in the positioner through the Intelligent
Field Device Configurator (IFDC) or through the PC20.
AOUT allows the values of the setpoint to pressure parameters to be displayed as a series of
straight line segments over the operating range in the ECB faceplates in the process displays.
Configure AOUT for the Intelligent Positioner as you would normally except for the application-
specific parameter PNT_NO. AOUT software requires that the positioners communications be
assigned to the first channel in FBM43 (or FBM243), so this parameter, used to identify the
positioners intelligent output to be accessed via the ECB74, must be set to 1.
The IOMOPT parameter must be set to 1, the default value, reflecting a hardware connection.
This indicates that the block transmits the OUT value to the FBM point specified by IOM_ID
and PNT_NO. The value is conditioned as indicated by SCO.
The following parameters are mandatory when connecting the AOUT block to the ECB74:
SCO = 2
Then
RAWC = ((50 - 20) * 62400 / (90 - 20)) + 1600
= (30 * 62400/70) + 1600 = 28343
B0193AX Rev AB 5. AOUT Analog Output Block
164


+ IOM_ID = COMPOUND:BLOCK of ECB74 (can be the letterbug if the com-
pound is a station _ECB and the block name is the letterbug of the Intelligent
Positioner)
+ PNT_NO = 1 (Always = 1)
+ SCO = 14
+ IOMOPT = 1
The following figure shows a typical configuration for the Intelligent Positioner.
Figure 5-4. Typical Configuration for Intelligent Transmitters with Window ECB
5.5.5 Changing Engineering Range Limits
Key Parameters: HOLIM, HSCO1, LOLIM, LSCO1, OSV
Changing engineering range limits in the AOUT block may limit output with unexpected results.
For example, after changing the engineering units in the AOUT block from 4-20 to 0-100, the
block output may still be limited in the 4-20 range.
The absolute engineering range limits of the output in this block is specified by the LSCO1,
HSCO1, and OSV parameters. However, this block also contains output limit values (LOLIM
AIN
PNT
PID
Water
MEAS
OUT
ECB18
ECB73
FBM43/243
IT
Intelligent Positioner Intelligent Transmitter
ECB74
REALM
or
MEALM
Optional Real (REALM)
or Measurement (MEALM)
Alarm Block
AOUT
REALM
or
MEALM
Optional Real (REALM)
or Measurement (MEALM)
Alarm Block
or
or
To Displays and
Maintenance
Data Collection
5. AOUT Analog Output Block B0193AX Rev AB
165


and HOLIM), which are normally used to constrain the output to operating limits that are nar-
rower than the engineering range limits.
When this block runs, the LOLIM and HOLIM limit values are not allowed to exceed the engi-
neering range. In the example noted above, the block logic sets LOLIM=4 and HOLIM=20 when
the block initializes, since LSCO1=4 and HSCO1=20.
When the block initializes with the modified engineering range (LSCO1=0 and HSCO1=100),
the LOLIM, HOLIM values are not modified since they are already within the new engineering
range. As a result, the output will remain limited between 4-20.
To expand the engineering range, also adjust the LOLIM and HOLIM values accordingly by set-
ting them to their desired values. Once this is done, the new limit values will be used correctly to
constrain the output value.
5.5.6 Hold State
Key Parameters: OUT, PRSCAS
The Hold state is a substate of Auto, in which OUT is unchanged by the block algorithm. It is
used to prevent uninitialized input data from an open cascade from affecting the block output.
The Hold state is entered when the primary or the supervisory cascade is opened, and exited when
the cascade is closed.
On any cycle in which the block is in Auto and in Hold state, the status bit BLKSTA.HLD is set
true, unless a local panel is in use (indicated by BLKSTA.TRK true).
5.5.7 PRIBLK and PRITIM Functionality
The Primary Block (PRIBLK) parameter indicates whether the AOUT block has a connection
from an upstream block (PRIBLK=1) or not (PRIBLK=0). Its value, together with that of the
Primary Cascade Timer (PRITIM), determines whether the AOUT block remains in Hold for a
fixed time delay (of length defined by PRITIM), or ends the Hold when the Acknowledge status
bit (Bit 10) of MEAS is detected from the upstream block (if PRITIM = 0.0). During initializa-
tion, the acknowledgement is not required and a Hold of one cycle only occurs.
5.5.8 Failsafe State
Key Parameters: FS, MANFS
During each execution cycle, the block inspects the ECB to determine whether the FBM or FBC
has reported the output point in the Failsafe state. If so, and if the state did not exist in the previ-
ous execution cycle, then this is considered a Failsafe transition.
Failsafe (FS) is set true on a Failsafe transition, and remains true until the cycle on which the cas-
cade closure indication is received from the upstream block. FS is then set false again.
The value of FS is not changed except at a Failsafe transition cycle or a cascade closure cycle.
The status bit BLKSTA.FS is true whenever FS is true.
On any Failsafe transition, the same actions are taken as on a Bad-to-Good transition.
(See Section 5.6.1.)
If option Manual if Failsafe (MANFS) is true the block is forced into Manual when a transition
into Failsafe occurs, if it is not already in Manual. Thereafter it remains in Manual unless it is set
into Auto by a user task or display. MANFS is always ignored when MA is linked.
B0193AX Rev AB 5. AOUT Analog Output Block
166


5.5.9 Supervisory Control
Key Parameters: SUP_IN, SUPOPT, SE, INITSE, SUPBCO, SUPGRP, FLBOPT, FLBREQ,
Station Block Parameters
Supervisory control consists of features which permit a user application, such as a computer con-
trol program, to directly control the measurement input of the AOUT block. When supervisory
control is enabled, that is, active, the block input is taken from SUP_IN rather than MEAS.
Bumpless initialization of this input is accomplished by considering the supervisory application to
constitute a primary block above the AOUT block in a supervisory cascade. This cascade exists in
parallel with the usual, or primary cascade; however, only one cascade or the other is active at
any one time.
If SUPOPT is 1 or 3, you can place the block under supervisory control through the use of Super-
visory Enable (SE) and Initialize Supervisory Enable (INITSE).
+ Setting SE true enables supervisory control and causes the status bit BLKSTA.SE to be
set true. Setting it false causes the block input to be taken from MEAS, and status bits
BLKSTA.SE, BLKSTA.SC, and BLKSTA.FLB to be set false.
+ INITSE establishes the value of SE when the block is initialized for any reason except
reconfiguration of a parameter. The values of INITSE are:
+ INITSE = 0: Supervisory control is disabled. SE, BLKSTA.SE, and
BLKSTA.SC are set false.
+ INITSE = 1: Supervisory control is enabled. SE and BLKSTA.SE are set true.
+ INITSE = 2: The previous values of SE and the BLKSTA status bits are retained.
These values are the ones stored in the checkpoint file (reboot case), the default
values (block install case), or the database (compound turn-on case).
If supervisory control is enabled in any fashion, status bit BLKSTA.SC is set true whenever the
supervisory cascade is closed, and not otherwise.
The Supervisory Back Calculated Output (SUPBCO) provides the current measurement and ini-
tialization bits to the Supervisory Application Program. When Supervisory Enable (SE) is set by
the application program or operator, the block is prepared to do Supervisory Setpoint Control
(SSC) functions. When the proper handshaking occurs with the application software, the block
accepts sets to the Supervisory Setpoint, (SUP_IN). If the block is in Auto, it then uses the
SUP_IN in the calculation of the blocks output.
If SUPOPT is set to 1, the handshake may require the application software to return an explicit
acknowledge to close the supervisory cascade. The software must set the ACK status bit in the
SUP_IN parameter using special OM access functions. However, if SUPOPT is set to 3, this
acknowledgement is implicitly provided by the CP and is not required from the software. In the
latter case, the CP closes the supervisory cascade automatically when the supervisory input
(SUP_IN) is written by the application, provided the block is in the Supervisory Initialization
(SUP_INIT) state. The control block enters the SUP_INIT state when supervisory control is
enabled in the block and the cascade is closed downstream. Upon entering this state, the CP sets
the initialize request bit (INITC) in the SUPBCO parameter for the application software. When
SUP_IN is then written by the software, the CP access logic sets the ACK status automatically in
the SUP_IN parameter. When the block runs, the CP block logic then closes the supervisory cas-
cade automatically.
When the supervisory application receives a request to initialize (see Section 5.5.4.4), it should:
5. AOUT Analog Output Block B0193AX Rev AB
167


+ Set the value of SUPBCO from the AOUT block into its output (the value connected
to SUP_IN).
+ Set the Acknowledge bit (Bit 10) true in the status of SUP_IN. When the AOUT
block detects this Acknowledge bit set, it resumes computation of OUT in accordance
with the block algorithm, and leaves the Hold state.
When supervisory control is enabled in the block, it is possible to use a fallback timer mechanism
to assure that SUP_IN is updated by the supervisory application at sufficiently frequent intervals.
The following group of AOUT and Station block parameters are used for this purpose:
+ Supervisory Group (SUPGRP) assigns this block to one of eight possible groups used
by the Station block to control fallback timing. Each group is associated with one
timer maintained by the Station block.
+ Station block parameters Timer Values 1 to 8 (TIMVL1 to TIMVL8) and Reset Val-
ues 1 to 8 (RESVL1 to RESVL8) are the running and reset values, respectively, of the
eight timers. When configuring RESVL1 to RESVL8, you base the values on the fact
that each timer counts down once every eight seconds.
+ Station block parameter Timer Enable (TIMENA) is bit-mapped to enable, disable,
or force the reset of individual group timers.
+ If the supervisory application fails to update the value of SUP_IN for any block in a
group within the timeout period, the fallback action specified by FLBOPT is taken.
+ Fallback can also be specifically requested, for all blocks in a group, by setting the Sta-
tion block parameter Group Fallback Request (FLBRQn) true, where n is the number
of the group.
+ Fallback can be requested, for this block only, by setting Fallback Request (FLBREQ)
to the value 1 or 2.
+ When fallback occurs for any reason, SE and BLKSTA.SE are set false. Recovery,
which constitutes a return to supervisory control, is under control of FLBREQ, as
follows:
+ FLBREQ = 1: Return to supervisory control occurs when block parameter SE is
set true, or when a set command to Station block parameter Group Supervisory
Enable (SUPENA) sets the bit corresponding to this group true.
+ FLBREQ = 2: Return to supervisory control occurs only when SE is set true.
5.6 Bad, Out-of-Service, and Error Conditions
5.6.1 Bad Condition
Key Parameters: BAD, OUT, BCALCO, BLKSTA, PRIBLK, SUPOPT
The Bad (BAD) parameter, the bad status of OUT, and the bad status of BCALCO are simultane-
ously set true provided any one of the following conditions is true:
+ The FBM or FBC itself is bad, that is, it has detected a fatal hardware fault, or other
fatal fault. (In this case both BLKSTA.FBM and BLKSTA.BAD are also set true.)
+ An FBC is connected, and the output point within the FBC has bad status. (This
causes only BLKSTA.BAD to be set true, unless the FBC itself is also bad.)
If either of these conditions exists, OUT is secured.
B0193AX Rev AB 5. AOUT Analog Output Block
168


On any transition out of the Bad condition (that is, on a Bad-to-Good transition), the following
actions are performed:
+ The current readback value of the output point is written into OUT.
+ The Hold state is entered (see Section 5.5.6).
+ If Primary Block (PRIBLK) is true, the primary cascade is opened.
+ If SUPOPT is 1 or 3, the supervisory cascade is opened.
5.6.2 Out-of-Service Condition
Key Parameters: OUT, BCALCO
If the FBM or FBC is out-of-service:
+ The out-of-service status of OUT is set true.
+ The out-of-service status of BCALCO is set true.
+ OUT is secured.
If neither this condition nor the ones described in Section 5.6.1 exist, OUT is released.
On any transition out of an Out-of-Service condition, the same actions are taken as in the case of
a Bad-to-Good transition. (See Section 5.6.1.)
5.6.3 Error Condition and Last Good Value Functionality
Key Parameters: PROPT, OUT, MEROPT, MEAS, BEROPT, BIAS
If PROPT is true and the block is in Auto, the Error status of OUT is set true in any of the fol-
lowing situations:
+ Either MEAS or BIAS (or both) have Bad status.
+ Either MEAS or BIAS (or both) have Out-of-Service status.
+ Either MEAS or BIAS (or both) have Error status.
+ Either MEAS or BIAS (or both) are experiencing source connection problems.
When PROPT is true and the block is in Auto, certain types of errors in MEAS cause the last
good value of MEAS to be used as the input source (see Section 5.5.4). The types of errors having
this effect are specified by the value of MEROPT, as follows:
+ MEROPT = 0: There is no last good value functionality for MEAS.
+ MEROPT = 1: The last good value of MEAS is used when it has Bad or Out-of-Ser-
vice status, or is experiencing source connection problems.
+ MEROPT = 2: The last good value of MEAS is used when it has Bad, Out-of-Service,
or Error status, or is experiencing source connection problems.
In similar fashion, PROPT and Bias Error Option (BEROPT), taken together, determine
whether the last good value of BIAS is used when BIAS has an error. The meanings of the three
possible values of BEROPT are identical to those of MEROPT, but apply to BIAS rather than
MEAS.
In all cases where the last good value of a parameter is used in the block algorithm, that value is
written over the current value, thereby avoiding possible confusion.
The status conditions referred to as source connection problems in the preceding paragraphs
consist of the following:
5. AOUT Analog Output Block B0193AX Rev AB
169


+ The block containing the source parameter has been deleted.
+ The source parameter is in a nonexistent compound.
+ There is a peer-to-peer path failure.
5.7 Manual Mode
Key Parameters: MA, MCLOPT, MANFS, BTRKOP, MBADOP, MANSW, AUTSW
When the AOUT block is in the Manual mode, it does not update the value of the output OUT,
which is released and becomes settable. The following factors apply when the block is in Manual:
+ If Manual Clamping Option (MCLOPT) is true, this value of OUT is clamped using
the operational limits HOLIM and LOLIM, as described in Section 5.5.4.3. The
limit indicators HOLIND and LOLIND are secured against sets.
+ If MCLOPT is false, OUT is limited by the range limits HSCO1 and LSCO1, as
adjusted by OSV. In other words,
OUT s HSCO1 + (OSV / 100.0) * (HSCO1 - LSCO1)
OUT > LSCO1 - (OSV/100.0) * (HSCO1 - LSCO1)
In this case (MCLOPT false), HOLIND and LOLIND, and their corresponding bits
of BLKSTA, are set false.
+ When signal conditioning is required (IOMOPT = 0 or 1), the clamped or limited
value of OUT is conditioned, and the result is written to RAWC. Otherwise, OUT is
simply copied to RAWC. (RAWC is always a derived parameter, and is never directly
settable.)
+ If an FBM or FBC is connected (IOMOPT = 1), the value of RAWC is transferred to
it, as described in Section 5.5.4.6.
+ In Manual mode, the status bits (Bad, Out-of-Service, and Error) of OUT are not
updated, nor is the BAD parameter. These status bits and parameter are not cleared
when Manual mode is entered. They retain their last values before the transition to
Manual, until and unless you set the value of OUT. On a transition into Auto, the
Bad and Out-of-Service bits of OUT are set false when no FBM or FBC is connected.
+ Alarming is always active in Manual mode.
+ If Bias Track Option (BTRKOP) is true and BIAS is unlinked, the bias tracking fea-
ture is invoked. In this form of tracking, the value of BIAS tracks the value of OUT by
always showing the amount of bias necessary to convert the algorithm input into the
present, manually set value of OUT. It is determined by a back calculation as follows:
BIAS = OUT - (MEAS_Value * MSCALE)
In this equation, MEAS_Value represents the input source actually selected by the
algorithm this cycle, as explained in Section 5.5.4. Note that output balancing is inac-
tive in Manual mode.
There are four parameters which can force the AOUT block into Manual or Auto mode. These
are listed from strongest to weakest:
+ Manual if Bad Option (MBADOP): When true, the block is forced into Manual
whenever MEAS or BIAS has Bad status, or the FBM or FBC is bad. MA is secured
against sets when this occurs. MBADOP is ignored if MA is linked. Once MBADOP
forces the block into Manual, only Auto Switch (AUTSW) can take the block out of
B0193AX Rev AB 5. AOUT Analog Output Block
170


Manual. However, AUTSW is not inspected while the Bad condition persists. After
the Bad condition has cleared, a true value of AUTSW can then return the block to
Auto.
+ Manual Switch (MANSW): When true, the block is forced into Manual, and MA is
secured against sets. In that case, the value of AUTSW is ignored. Neither MANSW
nor AUTSW are inspected if MBADOP has forced the block into Manual and the
Bad condition is still present. MANSW overrides any connections to MA.
+ AUTSW: When true, the block is forced into Auto, and MA is secured against sets.
AUTSW is of lower priority than MANSW, and is ignored if both parameters are
true. AUTSW overrides any connections to MA.
+ MANFS: (Described in Section 5.5.8.) When the block is in Manual due to the
action of MANFS, MA is not secured, unlike the previous three cases. Operator
action or AUTSW can override a Manual mode established due to MANFS. (But
AUTSW must not be inactive due to MBADOP action, as noted above.)
5.8 Alarming
The AOUT block supports the Bad I/O alarm type. The functionality of this alarm type is dis-
cussed in the appropriate Integrated Control Software Concepts document (B0700AG or
B0193AW).
The nomenclature for identical alarm types varies from block to block for historical reasons
involving backward compatibility requirements. The nomenclature for the AOUT block is as fol-
lows:
Table 5-3. AOUT Block Alarm Nomenclature
Type Option Priority Group Text
Default
Display
Indicator
Parameter
I/O Bad BAO = True BAP BAG BAT IOBAD BAD
5. AOUT Analog Output Block B0193AX Rev AB
171


5.9 Application Diagram
Figure 5-5. Typical AOUT Block Application
AIN
PID
AOUT
HEAT
EXCHANGER
Heated Water
Cold Water
Steam
TT
PNT
MEAS
OUT
ECB1
FBM03
RAWC
ECB2
FBM04
IOM_ID = STV001
PNT_NO = 5
SCO = 1
LSCO1 = 0.0
HSCO1 = 100.0
BTIME = 3.0
PRIBLK = 1
MBADOP = 1
IOMOPT = 1
LOLIM = 15.0
HOLIM = 85.0
SUPOPT = 0
MANFS = 1
BAO = 1
BIAS = 0
MSCALE = 1
BAP = 2
BAG = 1
BAT = STEAM VALVE 1 DRIVE DOWN
MEAS
FBM203
or
FBM204
or
B0193AX Rev AB 5. AOUT Analog Output Block
172


173


6. AOUTR Redundant Analog
Output Block
This chapter covers the Redundant Analog Output Block, or AOUTR, its features, parameters
and functions, bad, out-of-service, and error conditions, manual mode, alarming, and
application diagrams.
6.1 Overview
The Redundant Analog Output Block (AOUTR) provides the control strategy with output capa-
bility for a single analog value directed to any two redundant Fieldbus Modules (FBMs) or Field-
bus Cards (FBCs) capable of driving analog outputs. The block supports Auto/Manual control,
signal conditioning, biasing, and output balancing. Cascade initialization and supervisory control
features are also available.
B0193AX Rev AB 6. AOUTR Redundant Analog Output Block
174


Figure 6-1. AOUTR Block Diagram
6.2 Basic Operation
The AOUTR block obtains its input from the Measurement (MEAS) parameter. If supervisory
control is enabled, input is from the Supervisory Input (SUP_IN) parameter. This input is
optionally scaled and biased using the Measurement Scalar (MSCALE) and Bias (BIAS) factors.
Last good value functionality is provided for both the input and bias terms.
The scaled and biased value is then modified by the addition of a reset balance term which is ini-
tialized on transition from a last good value condition of MEAS or BIAS, or closure of the cas-
cade. After initialization, this balance term is bled on each succeeding execution cycle, so that it
decays with a response characterized by a first order lag.
After the resulting value is clamped by the operational limits High Output Limit (HOLIM) and
Low Output Limit (LOLIM), it is made available to the control strategy in Output (OUT). The
value of OUT may, optionally, be subjected to linear signal conditioning based on the configured
Measure-
ment
Supervisory
Input
Measurement
Scalar
Bias
Balance
Time
o Out
Back
Calculated
Outputs
Raw
Count
ECBs
Failsafe/Bad
Failsafe
Signal
Conditioning
Output
Air-
to-
Close
FBM and
Channel
Status
Bad Alarm
Option
Bad
Alarm
Fieldbus
Output
FBM
Option
Output
to
FBMs/FBCs
&
Supervisory
Enable
Input
Selection
Scaling
Reset
Balancing
Clamping
Back
Calculation
Signal
Conditioning
Failsafe
Processing
BAD
Detection
Alarming
Low Output Limit
High Output Limit
6. AOUTR Redundant Analog Output Block B0193AX Rev AB
175


value of Signal Conditioning Output (SCO), with the result stored in Raw Count (RAWC). If
the block is operating with a pair of connected FBMs or FBCs, the value of RAWC is transmitted
to the specified analog output point in each module.
6.3 Features
+ Fieldbus Module option to permit configuration of AOUTR blocks without FBM or
FBC connections (output only to control strategy).
+ Output to any redundant pair of FBMs or FBCs driving 0 to 20 mA or 0 to 10 V dc
analog outputs.
+ Gain and offset scaling of the output.
+ Reset balance action with specifiable time constant.
+ Output clamping between user-selectable operational limits.
+ Selectable linear signal conditioning of the output.
+ Air-to-Close option to invert the sense of the output for use with air-to-close valves.
+ Raw Count output to display the output after signal conditioning.
+ Supervisory Control option for driving the block input from an external supervisory
application.
+ Parameters to allow flexible choice of block action in case of supervisory control
fallback.
+ Error Propagation option to permit non-standard conditions of the measurement or
bias inputs to be reflected as an error status of the output.
+ Measurement Error option to permit selection of the conditions under which the last
good value of the measurement is retained.
+ Bias Error option to perform the same function for the bias term.
+ Manual/Auto mode for disconnecting the control scheme from the output, for simu-
lation and checkout purposes.
+ Optional output clamping when in Manual.
+ Manual if Failsafe option to force the block into Manual whenever a transition into
Failsafe occurs. (See Section 6.4.9 for the definition of Failsafe in an AOUTR block.)
+ Manual if Bad option to force the block into Manual whenever the measurement or
bias input has bad status, or both of the FBMs or FBCs are bad.
+ Bias Tracking option to cause the bias value to track changes in the output by back
calculation, when the block is in Manual (see Section 6.6).
+ The Primary Block option enables the block, when in a cascaded configuration, to ini-
tialize without bumping the process.
+ Bad Alarm option to permit Bad alarm generation separately for the primary and sec-
ondary FBM or FBC.
B0193AX Rev AB 6. AOUTR Redundant Analog Output Block
176


6.4 Parameters
Table 6-1. AOUTR Block Parameters
Name Description Type Accessibility Default Units/Range
Configurable Parameters
INPUTS
NAME block name string no-con/no-set blank 1 to 12 chars
TYPE block type integer no-con/no-set 71 AOUTR
DESCRP descriptor string no-con/no-set blank 1 to 32 chars
PERIOD block sample time short no-con/no-set 1 0 to 13
PHASE block execute phase integer no-con/no-set 0 ---
LOOPID loop identifier string no-con/set blank 1 to 32 chars
IOMOPT FBM output option short no-con/no-set 0 0 to 2
IOM_ID FBM identifier string no-con/no-set blank ---
IOMIDR redundant FBM id string no-con/no-set blank ---
PNT_NO FBM point number string no-con/no-set 1 1 to 32 chars
SCO signal condition index short no-con/no-set 0 0-5,12-15, 50-56, 59
ATC air-to-close boolean no-con/no-set 0 0 to 1
PROPT propagate error option boolean no-con/no-set 0 0 to 1
MEAS process input real con/set 0.0 RI1
HSCI1 high scale in 1 for meas real no-con/no-set 100.0 specifiable
LSCI1 low scale in 1 for meas real no-con/no-set 0.0 specifiable
DELTI1 change delta in 1 for meas real no-con/no-set 1.0 percent
EI1 eng units in 1 for meas string no-con/no-set % specifiable
MEROPT meas error option short no-con/no-set 0 0 to 2
HSCO1 high scale for output 1 real no-con/no-set 100.0 specifiable
LSCO1 low scale for output 1 real no-con/no-set 0.0 specifiable
DELTO1 change delta, output 1 real no-con/no-set 1.0 percent
EO1 eng units for output 1 string no-con/no-set % specifiable
HOLIM high output limit real con/set 100.0 RO1
LOLIM low ouput limit real con/set 0.0 RO1
OSV output span variance real no-con/no-set 2.0 0.0 to 25.0%
BIAS bias real con/set 0.0 RI2
MSCALE measurement scalar real no-con/set 1.0 scalar
HSCI2 high scale in 2 for bias real no-con/no-set 100.0 specifiable
LSCI2 low scale in 2 for bias real no-con/no-set 0.0 specifiable
DELTI2 change delta in 2 for bias real no-con/no-set 1.0 percent
EI2 eng units in 2 for bias string no-con/no-set % specifiable
BEROPT bias error option short no-con/no-set 0 0 to 2
BTRKOP bias tracking option boolean no-con/no-set 0 0 to1
MA manual/auto boolean con/set 0 0 to 1
INITMA initialize MA short no-con/no-set 1 0 to 2
AUTSW auto switch boolean con/set 0 0 to 1
MANSW manual switch boolean con/set 0 0 to 1
MANFS manual if failsafe boolean no-con/no-set 0 0 to 1
MBADOP manual if bad option boolean no-con/no-set 0 0 to 1
6. AOUTR Redundant Analog Output Block B0193AX Rev AB
177


MCLOPT manual clamp option boolean no-con/no-set 0 0 to 1
PRIBLK primary block boolean no-con/no-set 0 0 to 1
PRITIM primary cascade timer real no-con/no-set 0.0 seconds
INHOPT inhibit option short no-con/no-set 0 0 to 3
INHIB alarm inhibit boolean con/set 0 0 to 1
BTIME balance time real con/set 0.0 minutes
BAO bad alarm option boolean no-con/no-set 0 0 to 2
BAT bad alarm text string no-con/no-set blank 1 to 32 chars
BAP bad alarm priority integer con/set 5 1 to 5
BAG bad alarm group short no-con/set 1 1 to 8
FLBOPT fallback option short no-con/no-set 0 0 to 2
INITSE initial SE short no-con/no-set 0 0 to 2
SE supervisory enable boolean no-con/set 0 0 to 1
SUPGRP supervisory group short no-con/no-set 1 1 to 8
SUPOPT supervisory option short no-con/no-set 0 0, 1, 3
AMRTIN alarm regeneration timer integer no-con/no-set 0 0 to 32767 s
Non-Configurable Parameters
OUTPUTS
ALMSTA alarm status pack_l con/no-set 0 bit map
BAD bad I/O status boolean con/set 0 0 to 1
BCALCO back calculate output real con/no-set 0.0 RI1
BLKSTA block status pack_l con/no-set 0 bit map
CRIT criticality integer con/no-set 0 0 to 5
FLBREQ fallback request short no-con/set 0 0 to 2
FS failsafe state boolean con/no-set 0 0 to 1
HOLIND high output limit indicator boolean con/set 0 0 to 1
INHSTA inhibit status pack_l con/no-set 0 8 to 13 chars
INITO initialize out short con/no-set 0 ---
LOLIND low output limit indicator boolean con/set 0 0 to 1
OUT output real con/set 0.0 RO1
PRTYPE priority type integer con/no-set 0 0 or 8
RAWC raw counts real con/no-set 0.0 0 to 65535
SUP_IN supervisory input real con/set 0.0 RI1
SUPBCO sup back calculate output real no-con/no-set 0 RI1
UNACK unacknowledge alarm boolean con/set 0 0 to 1
DATA STORES
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
ALMOPT alarm options pack_l no-con/no-set 0 0 to 0xFFFFFFFF
DEFINE no config errors boolean no-con/no-set 1 0 to 1
DEV_ID FBM letterbug char[6] no-con/no-set blank 6 chars
DEVIDR redundant FBM letterbug char[6] no-con/no-set blank 6 chars
ERCODE configuration error string no-con/no-set blank 1 to 43 chars
LOCKID lock identifier string no-con/no-set blank 8 to 13 chars
LOCKRQ lock request boolean no-con/set 0 0 to 1
OWNER owner name string no-con/set blank 1 to 32 chars
Table 6-1. AOUTR Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
B0193AX Rev AB 6. AOUTR Redundant Analog Output Block
178


6.4.1 Parameter Definitions
ACHNGE Alternate Change is an integer output which is incremented each time a
block parameter is changed via a Set command.
ALMOPT Alarm Options contains packed long values representing the alarm types
that have been configured as options in the block, and the alarm groups
that are in use.
For the AOUTR block, only the unshaded bits in this diagram are used.
ALMSTA Alarm Status is a 32-bit output, bit-mapped to indicate the blocks alarm
states. For the AOUTR block, only the unshaded bits in this diagram are
used.
PERTIM period time real no-con/no-set 0.1 ---
PRSCAS cascade state short no-con/no-set 0 0 to 3
RI1 measurement range real[3] no-con/no-set 100,0,1 specifiable
RI2 bias range real[3] no-con/no-set 100,0,1 specifiable
RO1 output range real[3] no-con/no-set 100,0,1 specifiable
Table 6-1. AOUTR Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
Bit Number
1
(0 to 31)
1.
Bit 0 is the least significant, low order bit.
Configured Alarm Option When True
0 (Least Significant) Alarm Group 8 in Use
1 Alarm Group 7 in Use
7 Alarm Group 1 in Use
22 Bad I/O Alarm Configured
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
U
N
A
K
B
A
D
CRIT PRTYPE
6. AOUTR Redundant Analog Output Block B0193AX Rev AB
179


* Bit 0 is the least significant, low order bit.
AMRTIN Alarm Regeneration Timer is a configurable integer that specifies the time
interval for an alarm condition to exist continuously, after which a new
unacknowledged alarm condition and its associated alarm message is gen-
erated.
ATC Air-to-Close is a configurable option that inverts the sense of the conver-
sion from engineering units to raw count output, for use with air-to- close
valves.
AUTSW Auto Switch, when true, forces the block into the Auto mode and secures
MA against sets. It is of lower priority than MANSW, and is overridden by
it if both parameters are true. It is also overridden by MBADOP if the Bad
condition causing the Manual mode is still present. AUTSW overrides any
connections to MA.
BAD Bad is a boolean output which is set true when both sides of the redun-
dant pair have bad status. A side is considered to have bad status if its
FBM or FBC has a fatal fault or the output point (in an FBC) has bad sta-
tus.
BAG Bad Alarm Group is a short integer input that directs Bad alarm messages
to one of eight groups of alarm devices.
BAO Bad Alarm Option is a configurable option that enables alarm generation
for each state change of the BAD parameter. The parameter values are:
Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
0 to 4
(Least Sig-
nificant)
PTYP_MSK Priority Type: See parame-
ter PRTYPE for values
used in the AOUTR block
---
5 to 7 CRIT_MSK Criticality; 5 = lowest pri-
ority, 1= highest
---
22 BAD Bad I/O Alarm ALMSTA.B10
30 UNAK Unacknowledged ALMSTA.B2
0= No generation of Bad alarms.
B0193AX Rev AB 6. AOUTR Redundant Analog Output Block
180


BAP Bad Alarm Priority is an integer input, ranging from 1 to 5, that sets the
priority level of the Bad alarm (1 is the highest priority).
BAT Bad Alarm Text is a user-configurable text string of up to 32 characters,
sent with the bad alarm message to identify it.
BCALCO Back Calculated Output is a real value that specifies to the upstream block
the value of MEAS which leaves OUT unchanged. If the upstream block
sets its output to the BCALCO value, bumpless cascade initialization is
assured. The upstream block normally connects BCALCO from the
AOUTR block to its BCALCI input.
BEROPT Bias Error Option is a short integer option which determines the condi-
tions under which last good value functionality is provided for the input
BIAS. BEROPT is only active when PROPT is true.
BIAS Bias is an input used to offset the measurement value. It may be used inde-
pendently, or in conjunction with MSCALE to achieve units conversion
of the measurement.
BLKSTA Block Status is a 32-bit output, bit-mapped to indicate various block oper-
ational states. The AOUTR block uses only the unshaded bits in this dia-
gram:
1= Bad alarm generation if the FBM or FBC has
Bad status.
2= Bad alarm generation in the measurement
(MEAS or OUTPUT parameter) of a PID
block family, RATIO block, or BIAS block
when the MEAS or OUT parameter is con-
nected to the AOUTR block.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
F
L
B
S
C
S
E
H
O
L
L
O
L
M
A
O
F
S
W
L
C
K
O
N
U
D
E
F
B
A
D
M
A
F
B
M
R
F
B
M
H
O
L
D
T
R
K
B
A
D
R
Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
1 BADR Bad Secondary I/O BLKSTA.B31
6 TRK Local Panel in Use BLKSTA.B26
7 HLD Auto/Hold State BLKSTA.B25
8 FBM Primary FBM or FBC Failure BLKSTA.B24
6. AOUTR Redundant Analog Output Block B0193AX Rev AB
181


* Bit 0 is the least significant, low order bit.
BTIME Balance Time is a real input that specifies the time constant, in minutes,
for the value of OUT to reach approximately 63 percent of the value cal-
culated by the algorithm, when the block output changes its mode of con-
trol.
BTRKOP Bias Track Option, when true, causes BIAS to track the manually set value
of OUT by the following back calculation:
BIAS = OUT - (MEAS * MSCALE)
The block must be in Manual, and BIAS must be unlinked.
CRIT Criticality is an integer output which, for the AOUTR block, indicates the
priority of any active Bad alarm (1 is the highest priority). Bad alarms on
the primary and secondary sides have the same priority, BAP. An output of
zero indicates the absence of alarms.
DEFINE Define is a data store which indicates the presence or absence of configura-
tion errors. The default is 1 (no configuration errors). When the block ini-
tializes, DEFINE is set to 0 if any configured parameters fail validation
testing, other than those involved in duplicate output channel detection.
(See ERCODE for the list of all possible validation errors in this block.) In
that case, no further processing of the block occurs, including further vali-
dation of remaining parameters. To return DEFINE to a true value, cor-
rect all configuration errors and reinstall the block. If DEFINE = 0, the bit
BLKSTA.UDEF = 1.
9 FBMR Secondary FBM or FBC Failure BLKSTA.B23
11 MA Manual = 0, Auto = 1 BLKSTA.B21
12 BAD Bad Primary I/O BLKSTA.B20
14 UDEF Block Undefined BLKSTA.B18
15 ON Block ON BLKSTA.B17
20 WLCK Access Locked BLKSTA.B12
24 FS Outputs in Failsafe or Awaiting
Cascade Closure after Transition
BLKSTA.B8
26 MAO Manual/Auto Override Active BLKSTA.B6
27 LOL Output Clamped at Low Limit BLKSTA.B5
28 HOL Output Clamped at High Limit BLKSTA.B4
29 SE Supervisory Control Enabled BLKSTA.B3
30 SC Supervisory Cascade Closed BLKSTA.B2
31 FLB Block in Supervisory Fallback BLKSTA.B1
Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
B0193AX Rev AB 6. AOUTR Redundant Analog Output Block
182


DELTI1 to
DELTI2
Change Delta for Input Range 1 or 2 is a real value that defines the mini-
mum percent of the input range that triggers change driven connections
for parameters in the range of RI1 or RI2. The default value is 1.
Entering a 1 causes the Object Manager to recognize and respond to a
change of 1 percent of the full error range. If communication is within the
same CP that contains the blocks compound, change deltas have no
effect.
Refer to Peer-to-Peer Connections of Real-Type Block Inputs on
page 23 for details on how the I/A Series software affects the change delta
percentage during operation.
DELTO1 Change delta for Output Range 1 is a configurable real value that defines
the minimum percent of the output range that triggers change-driven
connections for parameters in the range RO1. The default value is 1.0 per-
cent. If communication is within the same control station that contains
the blocks compound, DELTO1 has no effect.
DESCRP Description is a user-defined string of up to 32 characters that describes
the blocks function (for example, PLT 3 FURNACE 2 HEATER CON-
TROL).
DEVIDR Redundant Device Identifier is a character array data store that specifies
the 6-character letterbug of the redundant connected FBM or FBC.
DEV_ID Device Identifier is a character array data store that indicates the 6-charac-
ter letterbug of the primary connected FBM or FBC.
EI1 Engineering Units for Input Range 1 provides the engineering units text
for the values of MEAS, BCALCO, and SUPBCO. The value configured
for this text string should be consistent with the values used for HSCI1
and LSCI1. Deg F and pH are typical entries.
EI2 Engineering Units for Input Range 2 provides the engineering units text
for the value of BIAS. The value configured for this text string should be
consistent with the values used for HSCI2 and LSCI2. Deg F and pH
are typical entries.
EO1 Engineering Units for Output Range 1 provides the engineering units text
for the values of OUT, HOLIM, and LOLIM. The value configured for
this text string should be consistent with the values used for HSCO1 and
LSCO1. Deg F and pH are typical entries.
ERCODE Error Code is a string data store which indicates the type of configuration
error or warning which caused the blocks DEFINE parameter to be set
false. Validation of the configuration does not proceed past the first error
or warning encountered by the block logic. (The duplicate output channel
condition does not cause the blocks DEFINE to be set false.) The block
detailed display shows the ERCODE on the primary page, if it is not null.
6. AOUTR Redundant Analog Output Block B0193AX Rev AB
183


For the AOUTR block, the following list specifies the possible values of
ERCODE, and the significance of each value in this block.
FLBOPT Fallback Option is a configured input that defines the control action to be
taken by the block when a supervisory control fallback occurs:
0 = Make no change in MA (default)
1 = Set MA to Auto
2 = Set MA to Manual
FLBOPT overrides a linked MA parameter, but does not override the
AUTSW and MANSW parameters.
FLBREQ Fallback Request is an output, which constitutes an explicit request for the
block to go to the supervisory control fallback state specified by FLBOPT,
regardless of the value of its fallback timer.
0 = Fallback not requested.
1 = Fallback requested; recovery at block or group level.
2 = Fallback requested; recovery only at block level.
FS Failsafe is a boolean output that is set true when the block detects that the
FBM has transitioned into the Failsafe state. While in this state, the block
uses a measurement value based on a back calculation from the value read
back from the primary FBM or FBC. If the primary has bad status and the
redundant FBM or FBC has good status, then the redundant unit is used.
Once set true, FS remains true until the cascade has closed.
HOLIM High Output Limit is a real input that establishes the maximum output
value. If the block is in Auto and the algorithm tries to drive the output to
a value higher than or equal to HOLIM, or if the block is in Manual (with
MCLOPT true) and the manually set value of the output is higher than or
equal to HOLIM, the output is clamped at the HOLIM value and
HOLIND is set true.
Configure HOLIM within the output engineering range RO1 defined by
parameters HSCO1 and LSCO1 (see Block Initialization on page 193).
If you change the HSCO1 and LSCO1 values to expand the engineering
ERCODE Description
W44 HSCO1 less than or equal to LSCO1.
W48 SUPOPT or FLBOPT out of range.
W50 Invalid SCO.
W51 The specified FBMs or FBCs are not of the same hardware
and software types, or do not support analog output points.
W52 PNT_NO is out of range for the specified FBMs or FBCs.
W54 Specified IOM_ID or IOMIDR does not exist.
W59 Warning: This block and another AOUT or AOUTR
block are connected to the same FBM or FBC and point
number. Both blocks receive the same warning message.
B0193AX Rev AB 6. AOUTR Redundant Analog Output Block
184


range, make sure you change the HOLIM value accordingly to prevent
output limiting at the old limit. The block does not automatically adjust
HOLIM for the expanded range.
HOLIND High Output Limit Indicator is a boolean output that is set true whenever
the output is clamped at the high output limit, HOLIM.
HSCI1 High Scale for Input Range 1 is a real value that defines the upper range
value for MEAS, SUP_IN, BCALCO, and SUPBCO. It is only used in
displays.
HSCI2 High Scale for Input Range 2 is a real value that defines the upper range
value for BIAS. It is only used in displays.
HSCO1 High Scale for Output Range 1 is a real value that defines the upper range
value for the blocks output.
INHIB Inhibit is a boolean input. When true, it inhibits all block alarms; the
alarm handling and detection functions are determined by the INHOPT
setting. Alarms may also be inhibited based on the compound parameter
CINHIB.
INHOPT Inhibit Option specifies the following actions applying to all block alarms:
INHSTA Inhibit Status contains packed long values that represent the current
inhibit status of each alarm type configured in the block. For the AOUTR
block, only the unshaded bit in this diagram is used:
0 = When an alarm is inhibited, disable alarm messages but do not
disable alarm detection.
1 = When an alarm is inhibited, disable both alarm messages and
alarm detection. If an alarm condition already exists at the time
the alarm transitions into the inhibited state, clear the alarm
indicator.
2 = Same as 0 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages. Into
alarm messages can be acknowledged by explicitly setting
UNACK false.
3 = Same as 1 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages. Into
alarm messages can be acknowledged by explicitly setting
UNACK false.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
B
A
D

6. AOUTR Redundant Analog Output Block B0193AX Rev AB
185


* Bit 0 is the least significant, low order bit.
INITMA Initialize Manual/Auto specifies the desired state of the MA input during
initialization, where:
0 = Manual
1 = Auto
2 = The MA state as specified in the checkpoint file.
The block asserts this initial M/A state whenever any one of the following
occurs:
+ It is installed into the Control Processor database.
+ The Control Processor undergoes a reboot operation.
+ The compound in which it resides is turned on.
+ INITMA itself is modified via the control configurator. (The
block does not assert INITMA on ordinary reconfiguration.)
INITMA is ignored if MA has an established linkage.
INITO Initialization Output is set true when the primary cascade is open for any
reason, and returned to false when cascade closure is detected. The INITO
output of a downstream block is normally connected to the INITI of the
next upstream block, and serves to notify the upstream block of the open
loop condition. The information conveyed by the short value of INITO is
currently contained in the status bits of BCALCO, but INITO/INITI
have been retained for reasons of backward compatibility. This block
keeps INITO True, for one cycle (PRIBLK = 0), until the acknowledge is
received from upstream (PRIBLK = 1 and PRITIM = 0.0), or for a fixed
time delay (PRIBLK = 1 and PRITIM = nonzero).
INITSE Initialize Supervisory Enable is a configured value that specifies the initial
state of SE when the block is installed, the containing compound is turned
on, or the control processor is rebooted. Options are:
0 = Disable (SE is set false)
1 = Enable (SE is set true)
2 = No change (SE retains its current value)
INITSE is not asserted when the block is initialized due to
reconfiguration.
IOMIDR Redundant Fieldbus Module Identifier is a string that specifies the redun-
dant FBM or FBC to which the block is connected. IOMIDR is entered
with the same format choices as IOM_ID.
Bit
Number *
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
22 BAD Bad I/O Alarm Inhibited INHSTA.B10
B0193AX Rev AB 6. AOUTR Redundant Analog Output Block
186


IOMOPT FBM Option is a short integer specifying whether FBM or FBC connec-
tions to the block exist. Values are:
IOM_ID Fieldbus Module Identifier is a configurable string that specifies the path-
name of the primary FBM or FBC to which the block is connected.
IOM_ID has the form CompoundName:BlockName, where Compound-
Name is the 1-12 character name of the local compound containing the
ECB, and BlockName is the 1-12 character block name of the ECB.
If the compound containing the ECB is the CPletterbug_ECB compound
where CPletterbug is the station letterbug of the CP, the CompoundName
may be omitted from the IOM_ID configuration. In this case, the 1-12
character ECB block name is sufficient.
LOCKID Lock Identifier is a string identifying the workstation which has locked
access to the block via a successful setting of LOCKRQ. LOCKID has the
format LETTERBUG:DEVNAME, where LETTERBUG is the 6-charac-
ter letterbug of the workstation and DEVNAME is the 1 to 6 character
logical device name of the Display Manager task.
LOCKRQ Lock Request is a boolean input which can be set true or false only by a set
command from the LOCK U/L toggle key on workstation displays. When
LOCKRQ is set true in this fashion a workstation identifier accompany-
ing the SETVAL command is entered into the LOCKID of the block.
Thereafter, set requests to any of the blocks parameters are only honored
(subject to the usual access rules) from the workstation whose identifier
matches the contents of LOCKID. LOCKRQ may be set false by any
workstation at any time, whereupon a new LOCKRQ is accepted, and a
new ownership workstation identifier written to LOCKID.
LOLIM Low Output Limit is a real input that establishes the minimum output
value. If the block is in Auto and the algorithm tries to drive the output to
a value lower than or equal to LOLIM, or if the block is in Manual (with
MCLOPT true) and the manually set value of the output is lower than or
equal to LOLIM, the output is clamped at the LOLIM value and
LOLIND is set true.
Configure LOLIM within the output engineering range RO1 defined by
parameters HSCO1 and LSCO1 (see Block Initialization on page 193).
If you change the HSCO1 and LSCO1 values to expand the engineering
range, make sure you change the LOLIM value accordingly to prevent
output limiting at the old limit. The block does not automatically adjust
LOLIM for the expanded range.
0 = The block does not transmit the OUT value to a pair of FBMs or
FBCs. The value in OUT is conditioned as specified by SCO.
1 = The block transmits the OUT value to the FBMs or FBCs speci-
fied by IOM_ID and IOMIDR. The value is conditioned as
specified by SCO.
2 = There are no connected FBMs or FBCs. The value in OUT is not
conditioned.
6. AOUTR Redundant Analog Output Block B0193AX Rev AB
187


LOLIND Low Output Limit Indicator is a boolean output that is set true whenever
the output is clamped at the low output limit, LOLIM.
LOOPID Loop Identifier is a configurable string of up to 32 characters which iden-
tifies the loop or process with which the block is associated. It is displayed
on the detail display of the block, immediately below the faceplate.
LSCI1 Low Scale for Input Range 1 is a real value that defines the lower range
value for MEAS, SUP_IN, BCALCO, and SUPBCO. It is only used in
displays.
LSCI2 Low Scale for Input Range 2 is a real value that defines the lower range
value for BIAS. It is only used in displays.
LSCO1 Low Scale for Output Range 1 is a real value that defines the lower range
value for the blocks output.
MA Manual/Auto is a boolean input that controls the blocks operating state (0
= false = Manual; 1 = true = Auto). When in Auto, the output OUT is
updated in accordance with the block algorithm. In Manual, OUT is
released and updated only by sets from a display or an external program.
MANFS Manual if Failsafe is a configurable option which, when true, causes the
block to switch to the Manual mode when the connected point is reported
by the FBMs or FBCs to have transitioned into the Failsafe state. MANFS
has no effect when MA is linked.
MANSW Manual Switch, when true, forces the block into the Manual mode and
secures MA against sets. It is of higher priority than AUTSW, and over-
rides it if both parameters are true. MANSW also overrides any connec-
tions to MA.
MBADOP Manual if Bad Option is a manual override feature which, when true,
causes the block to go into Manual mode if MEAS or BIAS has Bad status,
or the FBM or FBC is Bad. For the relationship between MBADOP and
AUTSW/MANSW, see Section 6.7. MBADOP has no effect when MA is
linked.
MCLOPT Manual Clamping Option, when true, causes the value of OUT as set in
Manual mode to be clamped by the operational limits HOLIM and
LOLIM.
MEAS Measurement is the process input which is optionally scaled, balanced,
and clamped before being made available as the block output OUT. It
may also be subjected to linear signal conditioning when output to FBMs
or FBCs is required.
MEROPT Measurement Error Option is a short integer option which determines the
conditions under which last good value functionality is provided for the
input MEAS. MEROPT is only active when PROPT is true and the block
is in Auto.
B0193AX Rev AB 6. AOUTR Redundant Analog Output Block
188


MSCALE Measurement Scalar is used to apply a gain factor to the measurement
input of the block before adding it to the bias factor and balance term to
produce the block output.
NAME Name is a user-defined string of up to 12 characters used to access the
block and its parameters.
OSV Output Span Variance is a configurable real input which defines the per-
centage by which the operational clamp limits HOLIM and LOLIM can
exceed the output range defined by HSCO1 and LSCO1.
OUT Output, in Auto mode, is the result of the block algorithm applied to the
MEAS input. In Manual, OUT is released, and can be set from a display
or an external task.
OWNER Owner is a string of up to 32 ASCII characters used to allocate control
blocks to applications. Attempts to set Owner are successful only if the
present value of Owner is the null string, an all-blank string, or identical
to the value in the set request. Otherwise the request is rejected with a
LOCKED_ACCESS error. Owner can be cleared by any application by
setting it to the null string; this value is always accepted, regardless of the
current value of Owner. Once set to the null string, the value can then be
set as desired.
PERIOD Period is an indexed input that dictates the blocks execution time base
and allowable PHASE values. For stations other than Integrators and
Gateways, PERIOD values range from 0 to 13 and map to the following
period time lengths. Integrator and Gateway blocks have different period
values than shown here.
* If the BPC is 0.2 sec., this period is treated internally as 0.6 sec., but the
PERIOD parameter remains 1.
** If the BPC is 2.0 sec., this period is treated internally as 6.0 sec., but the
PERIOD parameter remains 10.
*** If the BPC is 0.5 sec., this period is treated internally as 0.5 sec., but
the PERIOD parameter remains 11.
**** If the BPC is not 2.0 sec., this period is treated internally as 5.0 sec.,
but the PERIOD parameter remains 12.
Period Length Period Length
0 0.1 sec 7 10 min
1 0.5 sec
*
8 60 min
2 1.0 sec 9 0.2 sec
3 2.0 sec 10 5.0 sec
**
4 10 sec 11 0.6 sec
***
5 30 sec 12 6.0 sec
****
6 1 min 13 0.05 sec
*****
6. AOUTR Redundant Analog Output Block B0193AX Rev AB
189


***** Available in CP40, CP40B, CP60 and later control processors.
PERTIM Period Time is a real data store which, in the case of the AOUTR block,
contains the number of execution cycles in one minute. It is only used in
the calculation of the reset balance factor.
PHASE Phase is an integer input that causes the block to execute at a specific BPC
within the time determined by the PERIOD. For instance, a block with
PERIOD of 3 (2.0 sec) can execute within the first, second, third, or
fourth BPC of the 2-second time period, assuming the BPC of the Con-
trol Processor is 0.5 sec. Refer to the appropriate Integrated Control Soft-
ware Concepts document (B0700AG or B0193AW).
PNT_NO Point Number specifies the FBM or FBC points to which the AOUTR
block is connected. The same point is driven in each FBM or FBC.
PRIBLK Primary Block is a configured boolean which should be set true when the
AOUTR block is in a secondary position in a control cascade, and not
otherwise. When true, PRIBLK enables bumpless initialization of the pri-
mary cascade at initial startup or transfer of control. Depending on the
value of PRITIM, PRIBLK does this by forcing the AOUTR block to
remain in the Hold state until the Acknowledge status bit (Bit 10) of
MEAS is detected from the upstream block (PRITIM = 0.0), or until the
time defined by PRITIM expires (PRITIM > 0.0). In the latter case, the
explicit acknowledge from the upstream block is not needed.
Use PRIBLK in a cascade situation when the source of the block's input
connection needs to be initialized.
Refer to PRIBLK and PRITIM Functionality on page 202 for more
information on this parameter.
PRITIM Primary Cascade Timer is a configurable parameter used to delay the clos-
ing of the cascade to a primary block, when the output is initialized in the
AOUTR block. It is used only if the PRIBLK option is set. The cascade is
closed automatically when the timer expires without requiring an explicit
acknowledge by the upstream block logic.
Refer to PRIBLK and PRITIM Functionality on page 202 for more
information on this parameter.
PROPT Propagate Error Option is a boolean input which, when the block is in
Auto, determines whether errors in the MEAS or BIAS parameters cause
the Error status bit of OUT to be set true. In addition, a true value of
PROPT causes MEAS to have last good value functionality based on the
error types specified by MEROPT. Similarly, PROPT and BEROPT,
taken together, determine whether BIAS has last good value functionality.
See Section 6.5.3 for details of PROPT, MEROPT, and BEROPT.
B0193AX Rev AB 6. AOUTR Redundant Analog Output Block
190


PRSCAS Present Cascade State is a data store that indicates the cascade state. It has
the following possible values:
PRTYPE Priority Type is an indexed output that indicates the alarm type of the
highest priority active alarm. The PRTYPE output of this block consists of
the following possible values:
0 = No active alarm
8 = Bad
RAWC Raw Count is the value of the selected input source after any necessary
scaling, balancing, clamping, and conditioning are applied. If IOMOPT =
1, the value of RAWC is transferred to both FBMs or FBCs, provided
their ECBs indicate normal status.
RI1 Range Input 1 is a real array consisting of the three parameters HSCI1,
LSCI1, and DELTI1. The array members are configured by their individ-
ual names; however, RI1 and its members can, optionally, be accessed on
an array basis by user tasks and displays.
RI2 Range Input 2 is a real array consisting of the three parameters HSCI2,
LSCI2, and DELTI2. The array members are configured by their individ-
ual names; however, RI2 and its members can, optionally, be accessed on
an array basis by user tasks and displays.
RO1 Range Output 1 is a real array consisting of the three parameters HSCO1,
LSCO1, and DELTO1. The first two of these array members are config-
ured by their individual names. (DELTO1 is unused). RO1 and any of its
members can, optionally, be accessed on an array basis by user tasks and
displays.
SCO Signal Conditioning Output is a configured option which specifies how
the final block output, in engineering units, is to be converted to a raw
count compatible with the electrical characteristics of the FBMs or FBCs.
The use of the SCO values is described in Section 6.4.5.5. When
IOMOPT is set to 0 you can use output signal conditioning without any
connected FBMs or FBCs, for test purposes.
Value State Description
1 INIT_U Unconditional initialization of the primary
cascade is in progress.
2 PRI_OPN The primary cascade is open.
3 INIT_C Conditional initialization of the primary
cascade is in progress.
4 PRI_CLS The primary cascade is closed.
5 SUP_INIT The supervisory cascade is initializing.
6 SUP_OPN The supervisory cascade is open.
7 SUP_CLS The supervisory cascade is closed.
6. AOUTR Redundant Analog Output Block B0193AX Rev AB
191


SE Supervisory Enable is a boolean input that enables or disables supervisory
control in the block. It is not configurable, and should only be set by the
supervisory controller.
0 = Disable
1 = Enable
SUPBCO Supervisory Back Calculated Output is a real value that indicates the value
of SUP_IN which would leave OUT unchanged. If the supervisory appli-
cation sets its output to the BCALCO value, bumpless initialization of the
supervisory cascade is assured. SUPBCO also contains the following status
bits:
SUPGRP Supervisory Group is a configured short integer that assigns this block to
one of eight groups for purposes of supervisory control fallback timing.
SUPOPT Supervisory Option is a configurable short integer input that specifies
whether or not this block is under control of a Supervisory Control appli-
cation:
0 = No Supervisory control (default)
1 = Set Point Control (SPC) of the blocks measurement (Supervisory set-
point control (SSC))
3 = SPC, with an implicit acknowledge by the CP
Be aware that option 1 requires an explicit acknowledge by the application
software to close the supervisory cascade. This must be done by setting the
ACK status bit in the SUP_IN parameter using special OM access func-
tions.
SUP_IN Supervisory Input is the input that the block uses as the measurement
when supervisory control is enabled. It is driven by the supervisory appli-
cation. The supervisor also uses the Acknowledge status bit of SUP_IN
(Bit 10) to indicate that a request to initialize has been honored, and that
the supervisory cascade may be closed.
TYPE When you enter AOUTR or select it from a configurator list, an identi-
fying integer is created specifying this block type.
UNACK Unacknowledge is a boolean output which is set true, for notification pur-
poses, whenever the block goes into alarm on either the primary or sec-
ondary side. It is settable, but sets are only allowed to clear UNACK to
false, and never in the opposite direction. The clearing of UNACK is nor-
mally via an operator Acknowledge pick on a default display, user display,
or Current Alarms Display, or via a user task.
Status Meaning
Bit 10 = 1 Initialize SUP_IN
Bit 13 = 1 SUP_IN is limited high
Bit 14 = 1 SUP_IN is limited low
Bit 13 = 1 and Bit 14 =1 Supervisory cascade is open
B0193AX Rev AB 6. AOUTR Redundant Analog Output Block
192


6.4.2 Detailed Diagram
Figure 6-2. AOUTR Block Operational Diagram
SCALING BALANCING CLAMPING
O
O
O
MSCALE OUT BTIMELOLIMHOLIM
MA
(M)
(A)
OUT
Bias
Selection Back
Calculation
BCALCO
SUPBCO
OUT
SIGNAL
CONDITIONING
OUT
IOMOPT = 0,1
HSCO1 LSCO1 SCO
RAWC
AND
SUPOPT
SE
BLKSTA.SC
USE SUP_IN O
Transition Cycle
AND
MANFS
AND Manual
FS
BLKSTA.FS
MEAS.ACK
FS
BLKSTA.FS
BAD
BLKSTA.BAD
OUT.BAD
BCALCO.BAD
OUT.SECURE
OUT.OOS
BCALCO.OOS
OUT.SECURE
MEAS
SUP_IN
Last Good Value
Back Calculated Input
OR
MEAS.Disconnect
MEAS.BAD
MEAS.OOS
MEAS.BAD
MEAS.OOS
MEAS.Disconnect
MEAS.ERROR
AND
PROPT
Auto
MEROPT=1
MEROPT=2
AND
AND
OR O
USE LAST
Initialization Cycle
AND
GOOD VALUE
Back
O
USE BACK
CALCULATED
INPUT
Calculation
AND IOMOPT = 1
To
ECB
AND
Primary OPSTAT = 6
Redundant OPSTAT = 6
Primary
To
Redundant
ECB
OR
AND
AND
AND
Primary Failsafe
Redundant Failsafe
Primary Failsafe
Redundant BAD
Primary BAD
Redundant Failsafe
OR
USE LAST
GOOD VALUE
OR
AND
OR
Primary FBM/FBC BAD
Primary FBC Point BAD
Redundant FBM/FBC BAD
Redundant FBC Point BAD
AND
Primary FBM/FBC OOS
Secondary FBM/FBC OOS
6. AOUTR Redundant Analog Output Block B0193AX Rev AB
193


6.4.3 Block Initialization
Key Parameters: OSV, HOLIM, LOLIM, HSCO1, LSCO1, OUT, MEAS, BIAS, MSCALE,
PROPT, MEROPT, BEROPT, MA
The AOUTR block initializes under any one of the following conditions:
+ The block is installed.
+ Any parameter of the block is reconfigured by the Integrated Control Configurator.
+ The compound in which the block resides is turned on.
+ The control processor containing the block is rebooted.
Whenever the block initializes, the following actions are taken, prior to any other block process-
ing activity:
+ Block validation is performed (see Section 6.4.4).
+ If OSV has been configured less than 0.0 or greater than 25.0, it is clamped to 0.0 or
25.0 respectively, and this clamped value is used internally. The OSV parameter value
itself is not modified, however.
+ If HOLIM has been configured greater than High Scale for Output Range 1
(HSCO1) as adjusted by OSV, the parameter value is modified to the value:
HOLIM = HSCO1 + (OSV / 100.0) * (HSCO1 - LSCO1)
where LSCO1 is Low Scale for Output Range 1.
Similarly, if LOLIM is configured less than LSCO1 as adjusted by OSV, the value of
LOLIM is modified to:
LOLIM = LSCO1 - (OSV / 100.0) * (HSCO1 - LSCO1)
An attempt to set HOLIM or LOLIM outside of these limits, at any time, also results
in the same modifications.
+ The readback value of the analog point is recovered from the primary Equipment
Control Block (ECB) and subjected to reverse signal conditioning to obtain an initial
value of OUT. (If the primary FBM or FBC has Bad status, and the secondary is
healthy, the readback value is obtained from the secondary ECB.) This value of OUT
is used, if necessary, in the back calculations described in the next two items. These
back calculations are only performed when it is necessary to simulate a last good value
for MEAS or BIAS on the first execution cycle.
+ The status of MEAS is checked for the existence of a last good value condition. (The
last good value condition depends on the values of Propagate Error Option (PROPT),
Measurement Error Option (MEROPT), and Manual/Auto (MA), and the type of
error in MEAS. See Section 6.5.3.) Since this is the first execution cycle, there is no
previous history from which to obtain a last good value for MEAS. In order to avoid
bumping the output OUT, the value of MEAS used in this cycle is obtained by a back
calculation as follows:
MEAS used this cycle = (OUT - BIAS) / MSCALE
+ The status of BIAS is similarly checked. If last good value functionality is determined
to be required for BIAS (see Section 6.5.3), it is back calculated according to the fol-
lowing rule:
BIAS = OUT - (MEAS used this cycle * MSCALE)
B0193AX Rev AB 6. AOUTR Redundant Analog Output Block
194


The value of MEAS used this cycle in this BIAS equation is the one selected by the
input source selection process described in Section 6.4.5, so that the output is not
bumped. Therefore, it could in practice be SUP_IN, MEAS, or the back calculated
value described in the previous bullet.
After block initialization, the block is processed normally on the remainder of the first execution
cycle.
6.4.4 Block Validation
Key Parameters: ERCODE, HSCO1, LSCO1, SUPOPT, FLBOPT, SCO, IOM_ID, IOMIDR,
PNT_NO, IOMOPT
Whenever the block initializes (see Section 6.4.3), the following seven types of validation are car-
ried out:
+ HSCO1 is verified as having been configured greater than the LSCO1 parameter. If
HSCO1 is less than or equal to LSCO1, Error Code (ERCODE) is set to the string
W44 INVALID ENGINEERING RANGE.
+ Supervisory Option (SUPOPT) is validated as having been configured with the values
0,1, or 3 which are the only valid ones for the AOUTR block. If SUPOPT is not 0,1,
or 3, ERCODE is set to the string W48 INVALID BLOCK OPTION.
+ Fallback Option (FLBOPT) is validated as having been configured with a value
between 0 and 2, which is the only valid range for the AOUTR block. If FLBOPT is
not in this range, ERCODE is set to the string W48 INVALID BLOCK
OPTION.
+ Unless FBM Option (IOMOPT) is set to 2, SCO is validated as configured with a
value in the range 0 to 5 or 12 to 15 inclusive. If SCO is not in this range, ERCODE
is set to the string W50 INVALID SIGNAL CONDITIONING INDEX. (The
value IOMOPT = 2 indicates that the block operates without FBMs or FBCs con-
nected, and that signal conditioning is not applied to the input.)
+ If FBMs or FBCs are configured (IOMOPT = 1), the ECBs named in parameters
Fieldbus Module Identifier (IOM_ID) and Redundant Fieldbus Module Identifier
(IOMIDR) are searched for in the database. If either of these cannot be located,
ERCODE is set to the string W54 ECB DOES NOT EXIST.
+ If FBMs or FBCs are configured, the hardware and software types as specified in the
two ECBs must be identical, and of a type containing analog output points. The
FBMs and FBCs supporting analog output points are listed in Table 6-2. If the types
are not identical, or do not contain analog output points, ERCODE is set to the
string W51 INVALID HARDWARE/SOFTWARE TYPE.
+ If FBMs or FBCs are configured, Point Number (PNT_NO) must be one of the ana-
log output points. If not, ERCODE is set to the string W52 INVALID 1/O
CHANNEL/GROUP NUMBER.
The following validation, which is called duplicate output channel detection, is intended to alert
you to the fact that this block and another AOUT or AOUTR block are connected to the same
output point. It is not automatically carried out every time the block is initialized, since it is costly
in terms of system resources. This check is performed under any one of the following conditions:
+ The control processor is rebooted.
+ The AOUTR block is installed.
6. AOUTR Redundant Analog Output Block B0193AX Rev AB
195


+ An ECB connected to this block is installed or reconfigured.
+ IOMOPT is modified.
+ IOM_ID or IOMIDR is modified.
+ The output point number PNT_NO is modified.
When duplicate output detection is performed for any AOUT or AOUTR block, the entire data
base is checked for duplicate analog output channels.
All blocks connected to the same output point have their ERCODE parameters set to the string
W59 DUPLICATE OUTPUT CHANNEL, but none of the blocks are set Undefined. The
duplicate output does not necessarily constitute a conflict, since the other block may be in a com-
pound which is not intended to run at the same time as the compound containing this AOUTR
block, or the duplicate connection may be desired as part of an elaborate control scheme.
6.4.5 Output Processing
Key Parameters: IOM_ID, IOMIDR, PNT_NO, MEAS, SUP_IN, OUT, RAWC
You specify the primary destination FBM or FBC in the IOM_ID parameter, and the redundant
destination FBM or FBC in IOMIDR. The output point within the FBMs or FBCs is specified
by the PNT_NO parameter. Since the point must be the same in both FBMs or FBCs, there is
only one PNT_NO parameter. The following are the FBMs or FBCs and point numbers provid-
ing valid output destinations for the AOUTR block. (You are not limited to the types of FBMs
and FBCs defined as redundant; any analog outputs may be specified, provided that the software
and hardware types are identical.)
Table 6-2. AOUTR Block Destinations
FBM ECB Functional Description Valid Output Points
FBM204 ECB2 4 Analog In, 4 Analog Out 5 to 8
FBM205 ECB2 4 Analog In, 4 Analog Out
Redundant
5 to 8
FBM237 ECB53 8 Analog Out 1 to 8
FBM04 ECB2 4 Analog In, 4 Analog Out 5 to 8
FBM05 ECB2 4 Analog In, 4 Analog Out
Redundant
5 to 8
FBM06 ECB4 4 Pulse Rate In, 4 Analog Out 5 to 8
FBM17 ECB9,
34, 36
4 Analog In, 2 Analog Out
4 Digital In, 4 Digital Out
5 to 6
FBM37 ECB53 8 Analog Out 1 to 8
FBM39 ECB23 4 IFD In, 4 Analog Out 5 to 8
FBM44 ECB23 4 IFD In, 4 Analog Out, Dual Baud
Rate, Redundant Output
1 to 8
FBM46 ECB38R 4 IFD In, 4 Analog Out, Dual Baud
Rate, Redundant Input/Output
5 to 8
FBC04 ECB43 16 Analog Out 1 to 16
B0193AX Rev AB 6. AOUTR Redundant Analog Output Block
196


All analog output points in FBMs and FBCs provide 0 to 20 mA outputs with the exception of
FBM17, which provides 0 to 10 V dc outputs.
The first step in generating the block output is selection of the input source, which is done
according to the following rules:
+ If supervisory control is enabled, as described in Section 6.4.10, the supervisory input
SUP_IN is used as the input source, provided the supervisory cascade is closed. This
closure is indicated by the value of 7 in Present Cascade State (PRSCAS).
+ If supervisory control is not enabled, or the supervisory cascade is open, then the value
of MEAS is used as the input source, unless MEAS has the type of error requiring last
good value retention. The conditions for last good value retention are described in
Section 6.5.3.
+ If the last good value is required, then the input source is the value of MEAS from the
last processing cycle. (There is no last good value functionality when SUP_IN is the
input source.)
Whenever the input source is SUP_IN, its value is copied to MEAS, provided MEAS is unlinked.
Whenever the input source is MEAS, its value is copied to SUP_IN. If the input source is the last
good value of MEAS, that value is copied to SUP_IN.
The selected input source is then scaled, balanced, clamped, and conditioned, in that order. The
result before conditioning is stored in OUT, and the result after conditioning in RAWC.
6.4.5.1 Zero and Span Scaling
Key Parameters: OUT, MEAS, BIAS, MSCALE, BTIME
You scale the input by using MSCALE and BIAS in the following equation:
Scaled Measurement = (MEAS_Value * MSCALE) + BIAS_Value
In this expression, MEAS_Value represents the measurement actually used this execution cycle,
rather than the original value of the MEAS parameter. It is obtained from SUP_IN, MEAS, the
last good value of MEAS, or a back calculation if this is the first cycle. (See Section 6.4.3 and
Section 6.4.5.) Similarly for BIAS_Value, which is obtained from BIAS, the last good value of
BIAS, or a back calculation on the first cycle.
One use of scaling is to make the measurement value dimensionally compatible with the desired
output units, as for example in the conversion of temperature measurements from Celsius to
Fahrenheit scales. In that conversion, MSCALE is set to 1.8 and BIAS is 32.0.
To ignore the scaling function, leave MSCALE at the default value of 1 and leave BIAS at the
default value of 0.0. (Since BIAS is connectable, you can use it to offset the measurement inde-
pendently of the action of MSCALE.)
FBC04
Redundant
ECB43 16 Analog Out, Redundant 1 to 16
Table 6-2. AOUTR Block Destinations (Continued)
FBM ECB Functional Description Valid Output Points
6. AOUTR Redundant Analog Output Block B0193AX Rev AB
197


6.4.5.2 Reset Balance Action
Key Parameters: OUT, MEAS, BIAS, MSCALE, BTIME
The scaled measurement computed as described in Section 6.4.5.1 is modified by a balance term
B_Term:
Balanced Measurement = (MEAS_Value * MSCALE) + BIAS_Value + B_Term
B_Term is initialized to 0.0 and remains at this value under steady state conditions. When the
form of control of the output changes, however, B_Term is set to the (normally) nonzero value:
B_Term = OUT - (MEAS_Value * MSCALE) - BIAS_Value
The value of OUT is the output as calculated during the previous execution cycle.
MEAS_Value * MSCALE + BIAS_Value is the computed value of the output for this cycle.
When B_Term is first set, therefore, it represents the negative of the step function that would have
occurred in the output if balance action were not invoked. On each cycle, including the one in
which B_Term is initially set, a bleeding action is applied to B_Term so that it decays with a
response characterized by a first order lag.
New B_Term = Previous B_Term - (Previous B_Term / (t + 1))
Balance Time (BTIME) should be specified as the number of minutes required for B_Term to
decay by approximately 63%, and t is the number of execution cycles in BTIME minutes.
If you configure or set BTIME with a negative value, it automatically adjusts to 0.0 (no balancing
action) and this value is entered into the parameter. If BTIME is linked, it is used as 0.0 in each
cycle in which its source is negative.
Figure 6-3 shows the effect of balancing action when a change in the form of control would other-
wise have produced a step function in the output.
Figure 6-3. Reset Balance Action
The conditions constituting a change in form of control of the output, and setting B_Term, are:
+ The measurement value in use changes to the current value after having been held at
the last good value for one or more previous cycles.
+ The bias value undergoes a similar transition.
+ The primary cascade closes this cycle.
+ The supervisory cascade closes this cycle.
OUPUT STEP
BALANCED OUTPUT
BTIME
63%
100%
B0193AX Rev AB 6. AOUTR Redundant Analog Output Block
198


6.4.5.3 Clamping
Key Parameters: HOLIM, LOLIM, HOLIND, LOLIND, HSCO1, LSCO1
The scaled and balanced value as computed in Section 6.4.5.2 is clamped so that it does not
exceed the LOLIM and HOLIM operational limits.
If the computed value is less than or equal to LOLIM:
+ It is set equal to LOLIM.
+ Low Output Limit Indicator (LOLIND) is set true.
+ Status bit BLKSTA.LOL is set true.
+ High Output Limit Indicator (HOLIND) is set false.
+ Status bit BLKSTA.HOL is set false.
If the computed value is greater than or equal to HOLIM:
+ It is set equal to HOLIM.
+ HOLIND is set true.
+ Status bit BLKSTA.HOL is set true.
+ LOLIND is set false.
+ Status bit BLKSTA.LOL is set false.
Otherwise the value is not at or beyond either limit, and both indicators and both status bits are
set false.
Note that neither the operational limits HOLIM and LOLIM nor the range limits HSCO1 and
LSCO1 may be inverted, and that the operational limits are always within the range limits. The
block logic enforces the following constraints on these parameters:
+ LSCO1 < HSCO1
+ LOLIM s HOLIM
+ LOLIM > LSCO1
+ HOLIM s HSCO1
NOTE
If you change the HSCO1 and LSCO1 values to expand the engineering range,
make sure you change the HOLIM and LOLIM values accordingly to prevent out-
put limiting at the old limits. The block does not automatically adjust HOLIM and
LOLIM for the expanded range.
6.4.5.4 Back Calculated Outputs
Key Parameters: BCALCO, SUPBCO, OUT, BIAS, MSCALE
Once the value of OUT has been determined, the following back calculation is performed to
establish the values of Back Calculated Output (BCALCO) and Supervisory Back Calculated
Output (SUPBCO), which are used in initialization of the primary and supervisory cascades,
respectively:
BCALCO = SUPBCO = (OUT - BIAS_Value - B_Term) / MSCALE
6. AOUTR Redundant Analog Output Block B0193AX Rev AB
199


BCALCO and SUPBCO are also used to indicate an open cascade situation, either to the
upstream block (in the case where the primary cascade is in use) or the supervisory application (if
supervisory control is enabled). The AOUTR block sets status bits 13 and 14 simultaneously true
in BCALCO or SUPBCO to indicate an open cascade.
When the cascade is not open, these bits of BCALCO or SUPBCO are used to inform the
upstream block that the AOUTR output is clamped at a limit, as follows:
+ Bit 13 of BCALCO/SUPBCO true indicates that HOLIND is true.
+ Bit 14 of BCALCO/SUPBCO true indicates that LOLIND is true.
6.4.5.5 Signal Conditioning
Key Parameters: IOMOPT, SCO, OUT. RAWC, RO1
If the output (OUT) of the block is sent to a pair of FBMs or FBCs, then it must be converted, by
the application of signal conditioning, from engineering units within Range Output 1 (RO1) into
raw count, which is an integer value in the range used by the particular FBMs or FBCs. The value
IOMOPT = 1 specifies that FBMs or FBCs are connected.
You can also apply signal conditioning, for test purposes, when no FBMs or FBCs are connected.
You should configure IOMOPT = 0 in this case. The values of IOM_ID, IOMIDR, and
PNT_NO are ignored.
The value IOMOPT = 2 indicates that there are no connected FBMs or FBCs, and that signal
conditioning is not used. The values of IOM_ID, IOMIDR, PNT_NO, and SCO are all
ignored.
The values of SCO, which must be in the ranges listed below, cause the following inverse linear or
inverse square root signal conditionings to be applied to the scaled, balanced, and clamped input.
In each case, the input to the signal conditioning algorithm is the value of OUT, and the output
of the algorithm is stored in RAWC:
SCO = 0: No Conditioning
RAWC = OUT
SCO = 1: Inverse Linear (0 to 64000)
Analog Output 0 to 20 mA
RAWC = (OUT - LSCO1) * 64000 / (HSCO1 - LSCO1)
SCO = 2: Inverse Linear (1600 to 64000)
Analog Output 0 to 10 V dc
RAWC = ((OUT - LSCO1) * 62400 / (HSCO1 - LSCO1)) + 1600
SCO = 3: Inverse Linear (12800 to 64000)
Analog Output 4 to 20 mA
RAWC = ((OUT - LSCO1) * 51200 / (HSCO1 - LSCO1)) + 12800
SCO = 4: Inverse Square Root (0 to 64000)
Analog Output 0 to 20 mA
RAWC = ((OUT - LSCO1) * 64000 / (HSCO1 - LSCO1))
2
/ 64000
SCO = 5: Inverse Square Root (12800 to 64000)
Analog Output 4 to 20 mA
RAWC = ((OUT - LSCO1) * 51200 / (HSCO1 - LSCO1))
2
/ 51200 + 12800
B0193AX Rev AB 6. AOUTR Redundant Analog Output Block
200


The following applies to SCO = 50 through SCO = 59:
+ y = engineering units value; x = normalized counts value.
+ Linear scaling of the analog outputs is also provided.
Each SCO value has an associated raw span, consisting of the difference between the upper and
lower range values of the raw value. For example, SCO = 2 has a raw span of 64000 minus 1600,
or 62400. The upper range value is always 64000 for any nonzero SCO.
The block also has an engineering units span, which is the difference between HSCO1 and
LSCO1.
The effect of inverse linear signal conditioning is to place RAWC at the same relative position
within the raw span as OUT occupies within the engineering units span.
Example:
SCO = 12: Inverse Linear (14080 to 64000)
Analog Output 2 to 10 V dc
RAWC = ((OUT - LSCO1) * 49920 / (HSCO1 - LSCO1))

+ 14080
SCO = 13: Inverse Square Root (14080 to 64000)
Analog Output 2 to 10 V dc
RAWC = ((OUT - LSCO1) * 49920 / (HSCO1 - LSCO1))
2
/ 49920 + 14080
SCO = 14: Inverse Linear (0 to 16383)
RAWC = ((OUT - LSCO1) * 16383 / (HSCO1 - LSCO1))
SCO = 15: Inverse Square Root (1600 to 64000)
Analog Output 0 to 10 V dc
RAWC = ((OUT - LSCO1) * 62400/ (HSCO1 - LSCO1))
2
/ 62400 + 1600
SCO = 50: Linear (0 to 65535) x = (y - LSCO1) * 65535/(HSCO1-LSCO1)
SCO = 51: Linear (-32768 to 32767) x = (y - LSCO1) * 65535/(HSCO1-LSCO1) -
32768
SCO = 52: Linear (0 to 32767) x = (y - LSCO1) * 32767/(HSCO1-LSCO1)
SCO = 53: Linear (0 to 1000) x = (y - LSCO1) * 1000/(HSCO1-LSCO1)
SCO = 54: Linear (0 to 999) x = (y - LSCO1) * 999/(HSCO1-LSCO1)
SCO = 55: Linear (0 to 2048) x = (y - LSCO1) * 2048/(HSCO1-LSCO1)
SCO = 56: Linear (409 to 2048) x = (y - LSCO1) * 1639/(HSCO1-LSCO1) + 409
SCO = 59: Linear (0 to 4095) x = (y - LSCO1) * 4095/(HSCO1-LSCO1)
If
LSCO1 = 20
0
C
HSCO1 = 90
0
C
OUT = 50
0
C
SCO = 2
Then
RAWC = ((50 - 20) * 62400 / (90 - 20)) + 1600
= (30 * 62400/70) + 1600 = 28343
6. AOUTR Redundant Analog Output Block B0193AX Rev AB
201


Inverse square root signal conditioning is similar, but the relationship between RAWC and OUT
is non-linear.
When Air-to-Close (ATC) is true, the signal conditioning reverses the sense of the conversion. For
example, with SCO = 3, an output at 100 percent of the range (OUT = HSCO1) is converted
into a RAWC value of 12800. This drives the FBM or FBC output at 4 mA. A 0 percent output
(OUT = LSCO1) is converted into a RAWC of 64000, which drives 20 mA. Intermediate values
are converted proportionately.
6.4.5.6 Output to FBMs or FBCs
Key Parameters: IOMOPT, RAWC, ECB Parameter OPSTAT
If a pair of FBMs or FBCs is connected, then the selected input is ready for physical output after
any required scaling, balancing, clamping, and signal conditioning are applied. This is the value
stored in RAWC.
Before the output is sent to the FBMs or FBCs however, the Module Operational Status
(OPSTAT) parameters of both ECBs are examined to determine their status. If the value of
OPSTAT = 6 on any side, then that FBM or FBC is considered healthy, and the value of RAWC
is transferred to its ECB. If OPSTAT is not 6 on a side, there is no new physical output to that
ECB this cycle.
Whenever new data is transferred to an ECB, an internal flag is set to cause output from that ECB
to its FBM or FBC point on the next output cycle.
6.4.6 Changing Engineering Range Limits
Key Parameters: HOLIM, HSCO1, LOLIM, LSCO1, OSV
Changing engineering range limits in the AOUTR block may limit output with unexpected
results. For example, after changing the engineering units in the AOUTR block from 4-20 to
0-100, the block output may still be limited in the 4-20 range.
The absolute engineering range limits of the output in this block is specified by the LSCO1,
HSCO1, and OSV parameters. However, this block also contains output limit values (LOLIM
and HOLIM), which are normally used to constrain the output to operating limits that are nar-
rower than the engineering range limits.
When this block runs, the LOLIM and HOLIM limit values are not allowed to exceed the engi-
neering range. In the example noted above, the block logic sets LOLIM=4 and HOLIM=20 when
the block initializes, since LSCO1=4 and HSCO1=20.
When the block initializes with the modified engineering range (LSCO1=0 and HSCO1=100),
the LOLIM, HOLIM values are not modified since they are already within the new engineering
range. As a result, the output will remain limited between 4-20.
To expand the engineering range, also adjust the LOLIM and HOLIM values accordingly by set-
ting them to their desired values. Once this is done, the new limit values will be used correctly to
constrain the output value.
6.4.7 Hold State
Key Parameters: OUT, PRSCAS
The Hold state is a substate of Auto, in which OUT is unchanged by the block algorithm. It is
used to prevent uninitialized input data from an open cascade from affecting the block output.
The Hold state is entered when the primary or the supervisory cascade is opened, and exited when
B0193AX Rev AB 6. AOUTR Redundant Analog Output Block
202


the cascade is closed. On any cycle in which the block is in Auto and in Hold state, the status bit
BLKSTA.HLD is set true, unless a local panel is in use (indicated by BLKSTA.TRK true).
6.4.8 PRIBLK and PRITIM Functionality
The Primary Block (PRIBLK) parameter indicates whether the AOUTR block has a connection
from an upstream block (PRIBLK=1) or not (PRIBLK=0). Its value, together with that of the
Primary Cascade Timer (PRITIM), determines whether the AOUTR block remains in Hold for a
fixed time delay (of length defined by PRITIM), or ends the Hold when the Acknowledge status
bit (Bit 10) of MEAS is detected from the upstream block (if PRITIM = 0.0). During initializa-
tion, the acknowledgement is not required and a Hold of one cycle only occurs.
6.4.9 Failsafe State
Key Parameters: FS, MANFS
During each execution cycle, the block inspects the two ECBs to determine whether the FBMs or
FBCs have reported the output point in the Failsafe state. A Failsafe state is considered to exist if
both modules are reporting the point in Failsafe, or if one module is reporting the point in Failsafe
and the other module has Bad status. If so, and if the state did not exist in the previous execution
cycle, then this is considered a Failsafe transition. Failsafe (FS) is set true on a Failsafe transition,
and remains true until the cycle on which the cascade closure indication is received from the
upstream block. FS is then set false again. The value of FS is not changed except at a Failsafe tran-
sition cycle or a cascade closure cycle.
The status bit BLKSTA.FS is true whenever FS is true.
On any Failsafe transition, the same actions are taken as on a Bad-to-Good transition.
(See Section 6.5.1.)
If option Manual if Failsafe (MANFS) is true the block is forced into Manual when a transition
into Failsafe occurs, if it is not already in Manual. Thereafter it remains in Manual unless it is set
into Auto by a user task or display. MANFS is always ignored when MA is linked.
With redundant FBMs or FBCs, the failsafe behavior of a failed module can compromise the abil-
ity of the good module to take over and drive the output correctly. The hardware arrangement uti-
lized to achieve output redundancy requires that any FBM in a redundant output configuration
must fail low. This is defined as an output of 0 mA, or in the case of the FBM17, 0 V dc.
Therefore the failsafe mask of each of the ECBs must specify Fallback (0) for each channel,
rather than Hold (1). In addition (except for the FBM17), the Fallback Value for each channel
must be 0 raw counts, even if the normal low end of the output span is 4 mA, or 12800 raw
counts. Since 0 V dc corresponds to 1200 raw counts in the FBM17, the Fallback Value of 1200
must be configured.
6.4.10 Supervisory Control
Key Parameters: SUP_IN, SUPOPT, SE, INITSE, SUPBCO, SUPGRP, FLBOPT, FLBREQ,
Station Block Parameters
Supervisory control consists of features which permit a user application, such as a computer con-
trol program, to directly control the measurement input of the AOUTR block. When supervisory
control is enabled, that is, active, the block input is taken from SUP_IN rather than MEAS.
Bumpless initialization of this input is accomplished by considering the supervisory application to
constitute a primary block above the AOUTR block in a supervisory cascade. This cascade exists
6. AOUTR Redundant Analog Output Block B0193AX Rev AB
203


in parallel with the usual, or primary cascade; however, only one cascade or the other is active at
any one time.
If SUPOPT is 1 or 3, you can place the block under supervisory control through the use of Super-
visory Enable (SE) and Initialize Supervisory Enable (INITSE).
+ Setting SE true enables supervisory control and causes the status bit BLKSTA.SE to be
set true. Setting it false causes the block input to be taken from MEAS, and status bits
BLKSTA.SE, BLKSTA.SC, and BLKSTA.FLB to be set false.
+ INITSE establishes the value of SE when the block is initialized for any reason except
reconfiguration of a parameter. The values of INITSE are:
+ INITSE = 0: Supervisory control is disabled. SE, BLKSTA.SE, and
BLKSTA.SC are set false.
+ INITSE = 1: Supervisory control is enabled. SE and BLKSTA.SE are set true.
+ INITSE = 2: The previous values of SE and the BLKSTA status bits are retained.
These values are the ones stored in the checkpoint file (reboot case), the default
values (block install case), or the database (compound turn-on case).
If supervisory control is enabled in any fashion, status bit BLKSTA.SC is set true whenever the
supervisory cascade is closed, and not otherwise.
The Supervisory Back Calculated Output (SUPBCO) provides the current measurement and ini-
tialization bits to the Supervisory Application Program. When Supervisory Enable (SE) is set by
the application program or operator, the block is prepared to do Supervisory Setpoint Control
(SSC) functions. When the proper handshaking occurs with the application software, the block
accepts sets to the Supervisory Setpoint, (SUP_IN). If the block is in Auto, it then uses the
SUP_IN in the calculation of the blocks output.
If SUPOPT is set to 1, the handshake may require the application software to return an explicit
acknowledge to close the supervisory cascade. The software must set the ACK status bit in the
SUP_IN parameter using special OM access functions. However, if SUPOPT is set to 3, this
acknowledgement is implicitly provided by the CP and is not required from the software. In the
latter case, the CP closes the supervisory cascade automatically when the supervisory input
(SUP_IN) is written by the application, provided the block is in the Supervisory Initialization
(SUP_INIT) state. The control block enters the SUP_INIT state when supervisory control is
enabled in the block and the cascade is closed downstream. Upon entering this state, the CP sets
the initialize request bit (INITC) in the SUPBCO parameter for the application software. When
SUP_IN is then written by the software, the CP access logic sets the ACK status automatically in
the SUP_IN parameter. When the block runs, the CP block logic then closes the supervisory cas-
cade automatically.
When the supervisory application receives a request to initialize (see Section 6.4.5.4), it should:
+ Set the value of SUPBCO from the AOUTR block into its output (the value con-
nected to SUP_IN)
+ Set the Acknowledge bit (Bit 10) true in the status of SUP_IN. When the AOUTR
block detects this Acknowledge bit set, it resumes computation of OUT in accordance
with the block algorithm, and leaves the Hold state.
When supervisory control is enabled in the block, it is possible to use a fallback timer mechanism
to assure that SUP_IN is updated by the supervisory application at sufficiently frequent intervals.
The following group of AOUTR and Station block parameters are used for this purpose:
B0193AX Rev AB 6. AOUTR Redundant Analog Output Block
204


+ Supervisory Group (SUPGRP) assigns this block to one of eight possible groups used
by the Station block to control fallback timing. Each group is associated with one
timer maintained by the Station block.
+ Station block parameters Timer Values 1 to 8 (TIMVL1-8) and Reset Values 1 to 8
(RESVL1 to RESVL8) are the running and reset values, respectively, of the eight tim-
ers. When configuring RESVL1 to RESVL8, you base the values on the fact that each
timer counts down once every eight seconds.
+ Station block parameter Timer Enable (TIMENA) is bit-mapped to enable, disable,
or force the reset of individual group timers.
+ If the supervisory application fails to update the value of SUP_IN for any block in a
group within the timeout period, the fallback action specified by FLBOPT is taken.
+ Fallback can also be specifically requested, for all blocks in a group, by setting the Sta-
tion block parameter Group Fallback Request (FLBRQn) true, where n is the number
of the group.
+ Fallback can be requested, for this block only, by setting Fallback Request (FLBREQ)
to the value 1 or 2.
+ When fallback occurs for any reason, SE and BLKSTA.SE are set false. Recovery,
which constitutes a return to supervisory control, is under control of FLBREQ, as
follows:
+ FLBREQ = 1: Return to supervisory control occurs when block parameter SE is
set true, or when a set command to Station block parameter Group Supervisory
Enable (SUPENA) sets the bit corresponding to this group true.
+ FLBREQ = 2: Return to supervisory control occurs only when SE is set true.
6.5 Bad, Out-of-Service, and Error Conditions
6.5.1 Bad Condition
Key Parameters: BAD, OUT, BCALCO, BLKSTA, PRIBLK, SUPOPT
The status of each side is separately tested. If the FBM or FBC itself is bad, that is, it has detected
a fatal hardware fault or other fatal fault, BLKSTA.FBM and BLKSTA.BAD are set true in the
case of the primary side, and BLKSTA.FBMR and BLKSTA.BADR in the case of the secondary
side.
If FBCs are connected, the status of the output point on each side is also tested. If the point has
bad status, then BLKSTA.BAD is set true for the primary side, and/or BLKSTA.BADR is set true
for the secondary side.
If both sides are bad for any reason (BLKSTA.BAD and BLKSTA.BADR both true), the Bad
(BAD) parameter is set true, the bad statuses of both OUT and BCALCO are set true, and OUT
is secured. If either side of the redundant pair is operable, none of these actions are taken.
On any transition out of the Bad condition (that is, at least one side now has good status), the fol-
lowing actions are performed:
+ The current readback value of the output point is written into OUT. (This is nor-
mally the value of the point in the primary FBM or FBC. If that side is still bad,
however, then the point value from the secondary FBM or FBC is used.)
6. AOUTR Redundant Analog Output Block B0193AX Rev AB
205


+ The Hold state is entered (see Section 6.4.7).
+ If Primary Block (PRIBLK) is true, the primary cascade is opened.
+ If SUPOPT is 1 or 3, the supervisory cascade is opened.
6.5.2 Out-of-Service Condition
Key Parameters: OUT, BCALCO
If the FBM or FBC on each side is out-of-service, then the out-of-service statuses of OUT and
BCALCO are set true, and OUT is secured. If neither this condition nor the ones described in
Section 6.5.1 exist, OUT is released.
On any transition out of an Out-of-Service condition (that is, at least one side is now in-service),
the same actions are taken as in the case of a Bad-to-Good transition. (See Section 6.5.1.)
6.5.3 Error Condition and Last Good Value Functionality
Key Parameters: PROPT, OUT, MEROPT, MEAS, BEROPT, BIAS
If PROPT is true and the block is in Auto, the Error status of OUT is set true in any of the fol-
lowing situations:
+ Either MEAS or BIAS (or both) have Bad status.
+ Either MEAS or BIAS (or both) have Out-of-Service status.
+ Either MEAS or BIAS (or both) have Error status.
+ Either MEAS or BIAS (or both) are experiencing source connection problems.
When PROPT is true and the block is in Auto, certain types of errors in MEAS cause the last
good value of MEAS to be used as the input source (see Section 6.4.5). The types of errors having
this effect are specified by the value of MEROPT, as follows:
+ MEROPT = 0: There is no last good value functionality for MEAS.
+ MEROPT = 1: The last good value of MEAS is used when it has Bad or Out-of-Ser-
vice status, or is experiencing source connection problems.
+ MEROPT = 2: The last good value of MEAS is used when it has Bad, Out-of-
Service, or Error status, or is experiencing source connection problems.
In similar fashion, PROPT and Bias Error Option (BEROPT), taken together, determine
whether the last good value of BIAS is used when BIAS has an error. The meanings of the three
possible values of BEROPT are identical to those of MEROPT, but apply to BIAS rather than
MEAS.
In all cases where the last good value of a parameter is to be used in the block algorithm, that value
is written over the current value, thereby avoiding possible confusion.
The status conditions referred to as source connection problems in the preceding paragraphs
consist of the following:
+ The block containing the source parameter has been deleted.
+ The source parameter is in a nonexistent compound.
+ There is a peer-to-peer path failure.
B0193AX Rev AB 6. AOUTR Redundant Analog Output Block
206


6.6 Manual Mode
When the AOUTR block is in the Manual mode, it does not update the value of the output
OUT, which is released and becomes settable. The following factors apply when the block is in
Manual:
+ If Manual Clamping Option (MCLOPT) is true, this value of OUT is clamped using
the operational limits HOLIM and LOLIM, as described in Section 6.4.5.3.The limit
indicators HOLIND and LOLIND are secured against sets.
+ If MCLOPT is false, OUT is limited by the range limits HSCO1 and LSCO1, as
adjusted by OSV. In other words,
OUT s HSCO1 + (OSV / 100.0) * (HSCO1 - LSCO1)
OUT > LSCO1 - (OSV/100.0) * (HSCO1 - LSCO1)
In this case (MCLOPT false), HOLIND and LOLIND, and their corresponding bits
of BLKSTA, are set false.
+ When signal conditioning is to be applied (IOMOPT = 0 or 1), the clamped or lim-
ited value of OUT is conditioned, and the result is written to RAWC. Otherwise,
OUT is simply copied to RAWC. (RAWC is always a derived parameter, and is never
directly settable.)
+ If a pair of FBMs or FBCs is connected (IOMOPT = 1), the value of RAWC is trans-
ferred to them, as described in Section 6.4.5.6.
+ In Manual mode, the status bits (Bad, Out-of-Service, and Error) of OUT are not
updated, nor is the BAD parameter. These status bits and parameter are not cleared
when Manual mode is entered. They retain their last values before the transition to
Manual, until and unless you set the value of OUT. On a transition into Auto, the
Bad and Out-of-Service bits of OUT are set false when no FBM or FBC is connected.
+ Alarming is always active in Manual mode.
+ If Bias Track Option (BTRKOP) is true and BIAS is unlinked, the bias tracking fea-
ture is invoked. In this form of tracking, the value of BIAS tracks the value of OUT by
always showing the amount of bias necessary to convert the algorithm input into the
present, manually-set value of OUT. It is determined by a back calculation as follows:
BIAS = OUT - (MEAS_Value * MSCALE)
In this equation, MEAS_Value represents the input source actually selected by the
algorithm this cycle, as explained in Section 6.4.5. Note that output balancing is inac-
tive in Manual mode.
There are four parameters which can force the AOUTR block into Manual or Auto mode. These
are listed from strongest to weakest:
+ Manual if Bad Option (MBADOP): When true, the block is forced into Manual
whenever MEAS or BIAS has Bad status, or both FBMs or FBCs are bad. MA is
secured against sets when this occurs. MBADOP is ignored if MA is linked. Once
MBADOP forces the block into Manual, only Auto Switch (AUTSW) can take the
block out of Manual. However, AUTSW is not inspected while the Bad condition
persists. After the Bad condition has cleared, a true value of AUTSW can then return
the block to Auto.
6. AOUTR Redundant Analog Output Block B0193AX Rev AB
207


+ Manual Switch (MANSW): When true, the block is forced into Manual, and MA is
secured against sets. In that case, the value of AUTSW is ignored. Neither MANSW
nor AUTSW are inspected if MBADOP has forced the block into Manual and the
Bad condition is still present. MANSW overrides any connections to MA.
+ AUTSW: When true, the block is forced into Auto, and MA is secured against sets.
AUTSW is of lower priority than MANSW, and is ignored if both parameters are
true. AUTSW overrides any connections to MA.
+ MANFS: (Described in Section 6.4.9.) When the block has been forced into Manual
due to the action of MANFS, MA is not secured, unlike the previous three cases.
Operator action or AUTSW can override a Manual mode established due to MANFS.
(But AUTSW must not be inactive due to MBADOP action, as noted above.)
6.7 Alarming
The AOUTR block supports the Bad I/O alarm type. The functionality of this alarm type is dis-
cussed in the appropriate Integrated Control Software Concepts document (B0700AG or
B0193AW). Separate into alarm and return to normal alarm messages are generated for each
output side, but the BAD parameter follows the rules described in Section 6.5.1.
The nomenclature for identical alarm types varies from block to block for historical reasons
involving backward compatibility requirements. The nomenclature for the AOUTR block is as
follows:
Table 6-3. AOUT Block Alarm Nomenclature
Type Option Priority Group Text Default Display
Indicator
Parameter
I/O Bad BAO = True BAP BAG BAT IOBAD BAD
B0193AX Rev AB 6. AOUTR Redundant Analog Output Block
208


6.8 Application Diagram
Figure 6-4. Typical AOUTR Block Application
AIN
PID
AOUTR
HEAT
EXCHANGER
Heated Water
Cold Water
Steam
TT
PNT
MEAS
OUT
MEAS
ECB 1
FBM03
RAWC
ECB23
FBM39
ECB23
FBM39
IOMIDR = STV01R
PNT_NO = 5
SCO = 1
LSCO1 = 0.0
HSCO1 = 100.0
BTIME = 3.0
PRIBLK = 1
MBADOP = 1
IOMOPT = 1
LOLIM = 15.0
HOLIM = 85.0
SUPOPT = 0
MANFS = 1
BAO = 1
BIAS = 0
MSCALE = 1
BAP = 2
BAG = 1
BAT = STEAM VALVE 1 BOTH DRIVES DOWN
IOM_ID = STV01M
209


7. BIAS Bias Block
This chapter covers the Bias Block, or BIAS, its features, parameters and functions.
7.1 Overview
The BIAS block produces an output that is the sum of the two input values, MEAS and BIAS,
each of which can be scaled independently. The block supports measurement alarm messages. It
does not support output alarm messages.
7.1.1 I/O Diagram
Figure 7-1. BIAS Block I/O Diagram
Manual/Auto
Manual/Auto Overrides
Local/Remote Bias
Local/Remote Overrides
Measurement
Measurement Scale Factors
Bias
Bias Scale Factors
Remote Bias
Balance Time
Hold
Back Calculation Input
Initialization Input
Measurement Hi Alarm Limit
Measurement Lo Alarm Limit
Measurement Alarm Priority
High Output Limit
Low Output Limit
Output
Sum
Block and Alarm Status
Back Calculation Output
Initialization Output
High Output Limit Indicator
Low Output Limit Indicator
Criticality
Priority Type
Measurement Hi Alarm Indicator
Measurement Lo Alarm Indicator
BIAS
BLOCK
Controller
Algorithm
Algorithm
Alarm
Hi-Hi/Lo-Lo Alarm Limit
Hi-Hi/Lo-Lo Alarm Priority
Hi-Hi / Lo-Lo Alarm Indicator
B0193AX Rev AB 7. BIAS Bias Block
210


7.2 Features
Features are:
+ Manual/Auto control of the outputs, which can be initiated by a host process or
another block
+ Auto and Manual latch switch inputs (AUTSW and MANSW) that force the block to
be switched to Auto or Manual
+ Local/Remote bias source selection
+ Local and Remote latch switch inputs (LOCSW and REMSW) that can force the
block to Local or Remote bias
+ Bumpless transfer of the output signal when the block returns to controlling operation
in Auto
+ Separate assignable engineering range and units to the parameters Measurement, and
Bias, and Output
+ Back calculation of the BIAS input
+ Output clamping and clamp indication between variable output limits
+ An INITI input that enables output tracking by forcing the block to track the back
calculation (BCALCI) input signal
+ Bad input detection and handling
+ Initialization input/output connection parameters that enable automatic cascade han-
dling by providing proper coordination and initialization of cascade schemes.
Options are:
+ MBADOP, Manual if Bad Option, is a manual override feature. When MBADOP is
set to 1, the block sets the MA input to manual when it detects a control error (CE =
true), or when the HOLD parameter goes true. In addition, when MBADOP is set
to 2, the block sets the MA input to manual when RBIAS is not healthy (i.e., value
status is BAD or has a broken OM connection). This forces the output state to man-
ual. Returning to Auto requires external intervention, unless AUTSW is true.
+ MCLOPT, Manual Clamping Option, allows you to invoke output clamping while
the block is in manual. You can alter this boolean input at the workstation.
+ BTRKOP, Bias Track Option, when true, causes the BIAS parameter to be back calcu-
lated when the block is in Manual. BTRKOP takes this action when the LR parameter
has transitioned in either direction and 1) either the output is in Manual or a cascade
is broken (a downstream block is in open loop - INITI true) or the block is in Man-
ual, or 2) when the block is in Manual only.
+ MANALM, Manual Alarming Option, allows you to invoke all configured alarm
options while the block is in manual. Otherwise, alarming is normally performed only
in Auto.
+ MALOPT, Measurement Alarming Option, provides absolute alarming of the mea-
surement during auto operation. This option also provides standard alarm
notification and reporting features.
+ CEOPT, Control Error Option, allows you to enable, or disable, the blocks implicit
Hold action when it detects an error in the MEAS or INITI input.
7. BIAS Bias Block B0193AX Rev AB
211


+ PROPT, Propagate Error Option, gives you the option of propagating the ERROR
status bit from the MEAS input to the blocks OUT parameter.
+ LOCSP, Local Setpoint Secure, enables you to secure against any write access to the
LR parameter.
+ MANFS, Manual If Failsafe, allows you to have the block go to the Manual state
when the block receives a Failsafe notification.
+ HHAOPT, High-High Alarm Option, enables High-High and Low-Low absolute
alarming for the measurement input, or disables absolute alarming altogether. Each
alarm triggers an indicator (HHAIND or LLAIND) and text message (HHATXT and
LLATXT) at a given priority level (HHAPRI) to be sent to the configured alarm
group (HHAGRP). Once an alarm limit (HHALIM or LLALIM) is exceeded, the
indicators remain set until the measurement returns within the defined limit plus (or
minus) the deadband (MEASDB).
0 = No alarming
1 = High-High and Low-Low alarming
2 = High-High alarming only
3 = Low-Low alarming only
+ Unacknowledge (UNACK) is a boolean output parameter which is set true, for notifi-
cation purposes, whenever the block goes into alarm. It is settable, but sets are only
allowed to clear UNACK to false, and never in the opposite direction. The clearing of
UNACK is normally via an operator acknowledge pick on a default or user display,
or via a user task.
+ INITMA, Initialize Manual/Auto, specifies the desired state of the MA input during
initialization.
+ PRIBLK, Primary Block, when true enables a block in a cascaded configuration to ini-
tialize without bumping the process at initial start-up or when control is transferred
up to a primary block.
+ INITLR, Initialize Local/Remote, is an integer input specifying the desired state of
the LR input during initialization.
+ INHOPT, Inhibit/Disable alarming.
7.3 Parameters
Table 7-1. BIAS Block Parameters
Name Description Type Accessibility Default Units/Range
Configurable Parameters
INPUTS
NAME block name string no-con/no-set blank 1 to 12 chars
TYPE block type integer no-con/no-set 34 BIAS
DESCRP descriptor string no-con/no-set blank 1 to 32 chars
PERIOD block sample time short no-con/no-set 1 0 to 13
PHASE block phase number integer no-con/no-set 0 ---
B0193AX Rev AB 7. BIAS Bias Block
212


LOOPID loopid string no-con/set blank 1 to 32 chars
MEAS process input real con/set 0.0 RI1
HSCI1 high scale input 1 real no-con/no-set 100.0 specifiable
LSCI1 low scale input 1 real no-con/no-set 0.0 specifiable
DELTI1 change delta input 1 real no-con/no-set 1.0 percent
EI1 eng units input 1 string no-con/no-set % specifiable
PROPT propagate error short no-con/no-set 0 0 to 2
KMEAS scale factor real con/set 1.0 scalar
BMEAS scale factor real con/set 0.0 RO1
BIAS bias real con/no-set 0.0 RI2
HSCI2 high scale input 2 real no-con/no-set 100.0 specifiable
LSCI2 low scale input 2 real no-con/no-set 0.0 specifiable
DELTI2 change delta input 2 real no-con/no-set 1.0 percent
EI2 eng units input 2 string no-con/no-set % specifiable
HSCO1 high scale output 1 real no-con/no-set 100.0 specifiable
LSCO1 low scale output 1 real no-con/no-set 0.0 specifiable
DELTO1 change delta output 1 real no-con/no-set 1.0 percent
EO1 eng units output 1 string no-con/no-set % specifiable
HOLIM high output limit real con/set 100.0 RO1
LOLIM low output limit real con/set 0.0 RO1
OSV span variance real no-con/no-set 2.0 [0..25]percent
MA manual/auto boolean con/set 0 0 to 1
INITMA initialize MA short no-con/no-set 1 [0|1|2]
MANFS manual If FailSafe boolean no-con/no-set 0 0 to 1
MBADOP manual bad option short no-con/no-set 0 [0|1|2]
MANSW manual switch boolean con/set 0 0 to 1
AUTSW auto switch boolean con/set 0 0 to 1
MCLOPT manual clamp option boolean no-con/no-set 0 0 to 1
CEOPT control error option short no-con/no-set 1 0 to 2
HOLD hold mode boolean con/set 0 0 to 1
PRIBLK primary block cascade option boolean no-con/no-set 0 0 to 1
PRITIM primary cascade timer real no-con/no-set 0.0 seconds
INITI initialize input short con/set 0 ---
BCALCI back calculate input real con/set 0.0 RO1
LR local/remote boolean con/set 0 0 to 1
INITLR initialize LR short no-con/no-set 2 [0|1|2]
LOCSP local setpoint boolean no-con/no-set 0 0 to 1
LOCSW local switch boolean con/set 0 0 to 1
REMSW remote switch boolean con/set 0 0 to 1
RBIAS remote bias real con/set 0.0 RI2
KBIAS scale factor real con/set 1.0 scalar
BBIAS scale factor real con/set 0.0 RO1
BTRKOP bias track option short no-con/no-set 0 [0|1|2]
BTIME balance time real con/set 0.0 [0..]minutes
MANALM manual alarm option short no-con/no-set 1 0 to 4
INHOPT inhibit option short no-con/no-set 0 0 to 3
Table 7-1. BIAS Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
7. BIAS Bias Block B0193AX Rev AB
213


INHIB alarm inhibit boolean con/set 0 0 to 1
INHALM inhibit alarm pack_b con/set 0 0 to 0xFFFF
MEASNM meas alarm name string no-con/no-set blank 1 to 32 chars
MALOPT meas alarm option short no-con/no-set 0 0 to 3
MEASHL meas high alarm limit real con/set 100.0 RI1
MEASHT meas high alarm text string no-con/no-set blank 1 to 32 chars
MEASLL meas low alarm limit real con/set 0.0 RI1
MEASLT meas low alarm text string no-con/no-set blank 1 to 32 chars
MEASDB meas alarm deadband real no-con/set 0.0 RI1
MEASPR meas alarm priority integer con/set 5 [1..5]
MEASGR meas alarm group short no-con/set 1 [1..8]
HHAOPT high-high option short no-con/no-set 0 0 to 3
HHALIM high-high limit real con/set 100.0 RI1
HHATXT high-high alarm text string no-con/no-set blank 1 to 32 chars
LLALIM low-low alarm limit real con/set 0.0 RI1
LLATXT low-low absolute text string no-con/no-set blank 1 to 32 chars
HHAPRI high-high priority integer con/set 5 [1..5]
HHAGRP high-high group short no-con/set 1 [1..8]
OUTNM output alarm name string no-con/no-set blank 1 to 12 chars
BAO bad alarm option boolean no-con/no-set 0 0 to 1
BAT bad alarm text string no-con/no-set blank 1 to 32 chars
BAP bad alarm priority integer con/set 5 1 to 5
BAG bad alarm group short no-con/set 1 1 to 8
AMRTIN alarm regeneration timer integer no-con/no-set 0 0 to 32767 s
NASTDB alarm deadband timer long integer no-con/no-set 0 0-2147483647 ms
NASOPT nuisance alarm suppression
option
short no-con/no-set 0 0 to 2
UNCLMP unclamp option boolean no-con/no-set 1 0 to 1
Non-Configurable Parameters
OUTPUTS
ALMSTA alarm status pack_l con/no-set 0 bit map
BCALCO back calc output real con/no-set 0.0 RI1
BLKSTA block status pack_l con/no-set 0 bit map
CRIT criticality integer con/no-set 0 [0..5]
HHAIND high-high absolute indicator boolean con/no-set 0 0 to 1
HOLIND high out limit indicator boolean con/no-set 0 0 to 1
INHSTA inhibit status pack_l con/no-set 0 0 to 0xFFFFFFFF
INITO initialize out short con/no-set 0 ---
LLAIND low-low alarm indicator boolean con/no-set 0 0 to 1
LOLIND low out limit indicator boolean con/no-set 0 0 to 1
MEASHI meas high alarm indicator boolean con/no-set 0 0 to 1
MEASLI meas low alarm indicator boolean con/no-set 0 0 to 1
OUT output real con/no-set 0.0 RO1
PRTYPE priority type integer con/no-set 0 [0..10]
QALSTA quality status pack_l con/no-set 0 0 to 0xFFFFFFFF
Table 7-1. BIAS Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
B0193AX Rev AB 7. BIAS Bias Block
214


7.3.1 Parameter Definitions
ACHNGE Alternate Change is an integer output which is incremented each time a
block parameter is changed via a Set command.
ALMOPT Alarm Options contains packed long values representing the alarm types
that have been configured as options in the block, and the alarm groups
that are in use. For the BIAS block, only the following unshaded bits are
used.
SUM bias summer real con/no-set 0.0 RO1
UNACK alarm notification boolean con/no-set 0 0 to 1
DATA STORES
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
ALMOPT alarm options pack_l no-con/no-set 0 0 to 0xFFFFFFFF
DEFINE no config errors boolean no-con/no-set 1 0 to 1
ERCODE config error string no-con/no-set 0 1 to 43 chars
LOCKID lock identifier string no-con/no-set blank 8 to 13 chars
LOCKRQ lock request boolean no-con/set 0 0 to 1
OWNER owner name string no-con/set blank 1 to 32 chars
PERTIM period time real no-con/no-set 0.1 ---
PRSCAS cascade state short no-con/no-set 0 0 to 7
PRSCON present control short no-con/no-set 0 0 to 3
RI1 to RI2 eng range input real[3] no-con/no-set 100,0,1 specifiable
RO1 eng range output real[3] no-con/no-set 100,0,1 specifiable
Table 7-1. BIAS Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
Bit Number
1
(0 to 31)
1.
Bit 0 is the least significant, low order bit.
Configured Alarm Option When True
0 Alarm Group 8 in Use
1 Alarm Group 7 in Use
7 Alarm Group 1 in Use
16 Low Absolute Alarm Configured
17 High Absolute Alarm Configured
24 Low-Low Absolute Alarm Configured
25 High-High Absolute Alarm Configured
7. BIAS Bias Block B0193AX Rev AB
215


ALMSTA Alarm Status is a 32-bit output, bit-mapped to indicate the blocks alarm
states. For the BIAS block, only the following bits are used:
* Bit 0 is the least significant, low order bit.
AMRTIN Alarm Regeneration Timer is a configurable integer that specifies the time
interval for an alarm condition to exist continuously, after which a new
unacknowledged alarm condition and its associated alarm message is gen-
erated.
AUTSW Auto Switch is a boolean input that, when true, overrides the MA and
INITMA parameters, and drives the block to the Auto state. If both
MANSW and AUTSW are true, MANSW has priority.
BAG Bad Alarm Group is a short integer input that directs Bad alarm messages
to one of eight groups of alarm devices. You can change the group number
through the workstation.
Bit
Number
(0 to 31)* Name Description When True
Boolean
Connection
(B32 to B1)
0 to 4 PTYP_MSK Priority Type: See parameter
PRTYPE for values used in
the BIAS block
ALMSTA.B32
ALMSTA.B28
5 to 7 CRIT_MSK Criticality; 5 = lowest priority,
1= highest
ALMSTA.B27
ALMSTA.B25
16 LMA Low Measurement Alarm ALMSTA.B16
17 HMA High Absolute Alarm ALMSTA.B15
18 LOA Low Output Alarm ALMSTA.B14
19 HOA High Output Alarm ALMSTA.B13
24 LLA Low-Low Absolute Alarm ALMSTA.B8
25 HHA High-High Absolute Alarm ALMSTA.B7
29 INH Alarm inhibit ALMSTA.B3
30 UNAK Unacknowledged ALMSTA.B2
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
U
N
A
K
I
N
H
H
H
A
L
L
A
H
O
A
L
O
A
H
M
A
L
M
A
CRIT PRTYPE
B0193AX Rev AB 7. BIAS Bias Block
216


BAO Bad Alarm Option is a configurable option that enables alarm generation
for each state change of the BAD parameter. The parameter values are:
BAP Bad Alarm Priority is an integer input, ranging from 1 to 5, that sets the
priority level of the Bad alarm (1 is the highest priority).
BAT Bad Alarm Text is a user-configurable text string of up to 32 characters,
sent with the bad alarm message to identify it.
BBIAS Bias Scale Factor is a real input used for offsetting the product of the BIAS
input with KBIAS.
BCALCI Back Calculation In is a real input that provides the initial value of the
output before the block enters the controlling state, so that the return to
controlling is bumpless. It is also the source of the output value when its
integration bit INITI, which puts the block into output tracking, is non-
zero. Typically, a source for this input is the back calculation output
(BCALCO) of the downstream block. With V4.2 and later software,
BCALCI contains the cascade initialization data bits which were formerly
contained in the INITI parameter. Therefore, BCALCI defines the source
block and parameter that drives this block into initialization, and INITI
and INITO are not required for cascade initialization.
BLKSTA includes bits which can indicate when the downstream output is
limited in either direction. BLKSTA.B11 monitors the Limited High
condition (BCALCI.LHI) and BLKSTA.B10 monitors the Limited Low
condition (BCALCI.LLO).
BCALCO Back Calculation Output is a real output that is determined by back calcu-
lation of the block algorithm, based on the BCALCI input from the
downstream block. When BCALCO is connected to the BCALCI param-
eter of an upstream block, the upstream block will be requested to initial-
ize to the BCALCO value when an open loop condition occurs.
With V4.2 and later software, the status bits of BCALCO contain the cas-
cade initialization requests formerly contained in the INITO
parameter. Therefore, with V4.2 and later software, INITO connection is
not required for cascade initialization.
BIAS Bias is a real input which is added to the controller or algorithm input, to
achieve OUT. When the block is in the Local mode, BIAS is settable. In
0= No generation of Bad alarms.
1= Bad alarm generation if the FBM or FBC has
Bad status.
2= Bad alarm generation in the measurement
(MEAS or OUTPUT parameter) of a PID
block family, RATIO block, or BIAS block
when the MEAS or OUT parameter is con-
nected to the BIAS block.
7. BIAS Bias Block B0193AX Rev AB
217


the Remote mode, BIAS is secured and follows the value of RBIAS. BIAS
is never connectable as an input. It is always connectable as an output, and
its value may be used to source other blocks.
BLKSTA Block Status is a 32-bit output, bit-mapped to indicate the blocks opera-
tional states. For the BIAS block, only the following bits are used:
BMEAS Measurement Bias is a real input used to offset the scaled measurement
value before it is added to the bias term.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
H
O
L
L
O
L
M
A
O
L
R
O
F
S
L
L
O
L
H
I
W
L
C
K
O
N
U
D
E
F
P
O
R
S
C
H
E
M
A
L
R
H
L
D
T
R
K
C
T
L
Bit
Number
1
(0 to 31)
1.
Bit 0 is the least significant, low order bit.
Name Description When True
Boolean
Connection
(B32 to B1)
5 CTL Controlling BLKSTA.B27
6 TRK Tracking BLKSTA.B26
7 HLD Holding BLKSTA.B25
10 LR Local(= false)/Remote(= true) BLKSTA.B22
11 MA Manual(= false)/Auto(= true) BLKSTA.B21
13 PORS
CHE
Block contains I/A Series v8.5
controller enhancements
(parameters BAO, BAG, BAP,
BAT and OUTNM)
BLKSTA.B19
14 UDEF Undefined BLKSTA.B18
15 ON Compound On BLKSTA.B17
20 WLCK Workstation Lock BLKSTA.B12
21 LHI Downstream Limited High BLKSTA.B11
22 LLO Downstream Limited Low BLKSTA.B10
24 FS Failsafe BLKSTA.B8
25 LRO Local/Remote Override BLKSTA.B7
26 MAO Manual/Auto Override BLKSTA.B6
27 LOL Low Output Limit (Clamped) BLKSTA.B5
28 HOL High Output Limit (Clamped) BLKSTA.B4
B0193AX Rev AB 7. BIAS Bias Block
218


BTIME Balance Time is a real input that specifies the time constant, in minutes, of
the rate at which the OUT value returns to the Auto setting, when the
block transits from Manual, Tracking, or Holding, to Auto state.
BTRKOP Bias Track Option is a short integer input. When active, BTRKOP forces
the algorithms BIAS input to track the block BCALCO under the follow-
ing conditions.
0 = no option enabled
1 = BIAS input tracks BCALCO when the block is in Manual, or the cas-
cade is open downstream (Initialization input INITI is true).
2 = BIAS input tracks BCALCO only when the block is in Manual.
BTRKOP is active only when the setpoint source selector LR is in Local
and Supervisory Enable (SE) is enabled (1).
BIAS is nonsettable while setpoint tracking is active. You can change
BTRKOP only by reconfiguring the block.
CEOPT Control Error Option is a short integer that specifies how the block
responds to the MEAS and BCALCI inputs when either of those inputs is
in error. To provide backward compatibility, CEOPT defaults to 1.
CEOPT has a range of 0 to 2 where:
CEOPT is independent of the propagate error option, PROPT, and does
not affect the external logical input, HOLD. The HOLD input, when
true, still drives the block into the Hold state whenever the block is in
Auto (and MBADOP = 0).
CRIT Criticality is an integer output that indicates the priority, ranging from
1 to 5, of the blocks highest currently active alarm (1 is the highest prior-
ity). An output of zero indicates the absence of alarms.
DEFINE Define is a data store which indicates the presence or absence of configura-
tion errors. The default is 1 (no configuration errors). When the block ini-
tializes, DEFINE is set to 0 if any configured parameters fail validation
testing. In that case, no further processing of the block occurs. To return
DEFINE to a true value, correct all configuration errors and re-install the
block.
0 = The block takes no implicit Hold action when it detects a con-
trol error.
1 = The block goes to the Hold state if, while MBADOP = 0, either
MEAS or BCALCI: (a) has its BAD status bit set true; (b) has
its Out-of-Service status bit set true; (c) is experiencing peer-to-
peer path failure.
2 = The block goes to the Hold state if, while MBADOP = 0, either
MEAS or BCALCI meets any of the conditions described for
CEOPT = 1, or if MEAS has its ERROR status bit set true.
7. BIAS Bias Block B0193AX Rev AB
219


DELTI1 to DELTI2
Change Delta for Input Ranges 1 or 2 is a real value that defines the mini-
mum percent of the input range that triggers change driven connections
for parameters in the range of RI1 or RI2. The default value is 1.
Entering a 1 causes the Object Manager to recognize and respond to a
change of 1 percent of the full error range. If communication is within the
same CP that contains the blocks compound, change deltas have no
effect.
Refer to Peer-to-Peer Connections of Real-Type Block Inputs on
page 23 for details on how the I/A Series software affects the change delta
percentage during operation.
DELTO1 Change delta for Output Range 1 is a configurable real value that defines
the minimum percent of the output range that triggers change-driven
connections for parameters in the range RO1. The default value is 1.0 per-
cent. If communication is within the same control station that contains
the blocks compound, DELTO1 has no effect.
DESCRP Description is a user-defined string of up to 32 characters that describe the
blocks function (for example, PLT 3 FURNACE 2 HEATER CON-
TROL).
EI1 to EI2 Engineering Units for Input Ranges 1 and 2 are 32-character strings that
provide the engineering units text for the values defined by the ranges for
input 1 and 2. The values configured for these text strings should be con-
sistent with the values used for HSCI1 and LSCI1, or HSCI2 and LSCI2.
EO1 Engineering Units for Output Range 1, as defined by the parameters
HSCO1, LSCO1, and DELTO1. EO1 provides the engineering units text
for the values defined by Output Range 1. Deg F or pH are typical
entries. Make the units for the Output Range (EO1) consistent with the
units of Input Range 1 (EI1) and Input Range 2 (EI2).
ERCODE Error Code is a string data store which indicates the type of configuration
error or warning encountered. The error situations cause the blocks
DEFINE parameter to be set false, but not the warning situations. Valida-
tion of configuration errors does not proceed past the first error encoun-
tered by the block logic. The block detailed display shows the ERCODE
on the primary page, if it is not null. For the BIAS block, the following list
specifies the possible values of ERCODE, and the significance of each
value in this block:
Message Value
W43 INVALID PERIOD/
PHASE COMBINATION
PHASE does not exist for given block
PERIOD, or block PERIOD not
compatible with compound PERIOD.
W44 INVALID
ENGINEERING RANGE
High range value is less than or equal
to low range value.
B0193AX Rev AB 7. BIAS Bias Block
220


HHAGRP High-High Absolute Alarm Group is a short integer input that directs
High-High Absolute alarm messages to one of eight groups of alarm
devices.
HHAIND High-High Alarm Indicator is a boolean output that is set true when the
measurement (MEAS) value rises above the high-high absolute alarm limit
(HHALIM). Once HHAIND is set true, it does not return to false until
MEAS falls below HHALIM less the deadband (MEASDB).
HHALIM High-High Absolute Alarm Limit is a real input that defines the value of
the block-dependent parameter (generally the measurement input) that
triggers a High High alarm.
HHAOPT High-High Alarm Option is a configured short integer input that enables
High-High and Low-Low absolute alarming for alarming of a block-
dependent value, generally the measurement input, or disables absolute
alarming altogether. Each alarm triggers an indicator and text message.
0 = No alarming
1 = High-High and Low-Low alarming
2 = High-High alarming only
3 = Low-Low alarming only
HHAPRI High-High Absolute Priority is an integer input, from 1 to 5, that sets the
priority level of the high-high absolute alarm. (1 is the highest priority.)
HHATXT High-High Absolute Alarm Text is a user-defined text string of up to
32 characters, sent with the high-high absolute alarm message to identify
it.
HOLD Hold is a boolean input. When true, HOLD forces the block into the
Hold substate of Auto, holding the output at its last computed value.
W46 INVALID INPUT
CONNECTION
The source parameter specified in the
input connection cannot be found in
the source block, or the source
parameter is not connectable, or an
invalid boolean extension connection
has been configured.
W48 INVALID BLOCK
OPTION
The configured value of a block
option is illegal.
W53 INVALID
PARAMETERVALUE
A parameter value is not in the accept-
able range.
W58 INSTALL ERROR;
DELETE/UNDELETE
BLOCK
A Database Installer error has
occurred.
Message Value
7. BIAS Bias Block B0193AX Rev AB
221


HOLIM High Output Limit is a real input that establishes the maximum output
value, in OUT units. If the algorithm tries to drive the output to a higher
value, the output is clamped at the HOLIM value and the indicator
HOLIND is set true.
HOLIND High Output Limit Indicator is a boolean output that is set true whenever
the output is clamped at the high output limit, HOLIM.
HSCI1 to HSCI2 High Scale for Input Ranges 1 and 2 are configurable real values that
define the upper limit of input ranges RI1 and RI2. EI1 and EI2 define
the units. Make the range and units consistent with those of the input
sources. The default value is 100 (percent).
HSCO1 High Scale for Output Range 1 is a real value that defines the upper limit
of the ranges for output 1. A typical value is 100 (percent). EO1 defines
the units. Make the range and units consistent with those of the output
destination.
INHALM Inhibit Alarm contains packed boolean values that represent alarm inhibit
requests for each alarm type or point configured in the block. For the
BIAS block, only the following bits are used:
* Bit 0 is the least significant, low order bit.
There are no mnemonic names for the individual bits of INHALM.
INHIB Inhibit is a boolean input. When true, it inhibits all block alarms; the
alarm handling and detection functions are determined by the INHOPT
setting. Alarms may also be inhibited based on INHALM and the com-
pound parameter CINHIB.
INHOPT Inhibit Option specifies the following actions applying to all block alarms:
Bit
Number*
(0 to 15) Description When True
Boolean
Connection
(B16 to B1)
0 Inhibit Low Measurement Alarm INHALM.B16
1 Inhibit High Measurement Alarm INHALM.B15
8 Inhibit Low-Low Absolute Alarm INHALM.B8
9 Inhibit High-High Absolute Alarm INHALM.B7
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
0 = When an alarm is inhibited, disable alarm messages but do
not disable alarm detection.
B0193AX Rev AB 7. BIAS Bias Block
222


INHSTA Inhibit Status contains packed long values that represent the actual inhibit
status of each alarm type configured in the block. For the BIAS block,
only the following bits are used:
* Bit 0 is the least significant, low order bit.
INITI Initialization In defines the source block and parameter that drives this
block into initialization. The source for this short integer input is the ini-
tialization output of a downstream block. With V4.2 or later software,
BCALCI contains the cascade initialization request data bit eliminating
the need to configure INITI connections in cascades. However, to pre-
serve backward compatibility, the INITI parameter has been maintained
for use in existing configurations. Existing configurations do not need to
reconfigure their cascades. The logic to set or reset the INITI short value is
1 = When an alarm is inhibited, disable both alarm messages and
alarm detection. If an alarm condition already exists at the
time the alarm transitions into the inhibited state, clear the
alarm indicator.
2 = Same as 0 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages.
Into alarm messages may be acknowledged by explicitly set-
ting UNACK false.
3 = Same as 1 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages.
Into alarm messages may be acknowledged by explicitly set-
ting UNACK false.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
U
N
A
C
K
I
N
H
H
H
A
L
L
A

Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
24 LLA Low-Low Absolute Alarm
Inhibited
INHSTA.B8
25 HHA High-High Absolute Alarm
Inhibited
INHSTA.B7
29 INH Inhibit Alarm INHSTA.B3
30 UNACK Unacknowledged INHSTA.B2
7. BIAS Bias Block B0193AX Rev AB
223


maintained, but the setting of the handshaking bits, via the INITI-INITO
connection, is eliminated.
INITLR Initialize Local/Remote is an integer input that specifies the desired state
of the LR input during initialization, where:
0 = Local
1 = Remote
2 = The LR state specified in the checkpoint file.
The block asserts this initial LR state whenever:
+ It is installed into the Control Processor database
+ The Control Processor undergoes a restart operation
+ The compound in which it resides is turned on.
The Initialize LR state is ignored if the LR input has an established link-
age.
INITMA Initialize Manual/Auto specifies the desired state of the MA input during
initialization, where:
0 = Manual
1 = Auto
2 = The MA state as specified in the checkpoint file.
The block asserts this initial M/A state whenever:
+ It is installed into the Control Processor database
+ The Control Processor undergoes a reboot operation
+ The compound in which it resides is turned on.
The INITMA parameter itself is modified via the control configurator.
The block does not assert INITMA on ordinary reconfiguration.
INITMA is ignored if MA has an established linkage.
INITO Initialization Output is set true when:
+ The block is in Manual or initializing
+ Permanent or temporary loss of FBM communications occurs
+ The ladder logic in the FBM is not running
+ MMAIND (mismatch indicator) is true
+ DISABL is true
+ RSP (the remote setpoint) is not the setpoint source.
The block clears INITO when none of these conditions exist. You connect
this parameter to the INITI input of upstream blocks so that these
upstream blocks can sense when this block is open loop. This block keeps
INITO True, for one cycle (PRIBLK = 0), until the acknowledge is
received from upstream (PRIBLK = 1 and PRITIM = 0.0), or for a fixed
time delay (PRIBLK = 1 and PRITIM = nonzero).
B0193AX Rev AB 7. BIAS Bias Block
224


With V4.2 or later software, BCALCO contains the initialization output
eliminating the need to configure INITO connections in cascades. How-
ever, to preserve backward compatibility, the INITO parameter has been
maintained for use in existing configurations. Existing configurations do
not need to reconfigure their cascades. The logic to set or reset the INITO
short value has been maintained, but the setting of the handshaking bits,
via the INITI-INITO connection, is eliminated.
KBIAS Gain Factor is a real input that multiplies the BIAS input. It is expressed
in OUT units divided by BIAS units.
KMEAS Measurement Scale Factor is a constant used to scale the input span of the
measurement input signal in order to compensate for different engineer-
ing units. Once converted, the signal range is dictated by HSCI1 and
LSCI1.
LLAIND Low-Low Alarm Indicator is a boolean output that is set true when the
measurement (MEAS) value falls below the low-low absolute alarm limit
(LLALIM). Once LLAIND is set true, it does not return to false until
MEAS rises above LLALIM plus the deadband (MEASDB).
LLALIM Low-Low Absolute Alarm Limit is a real input that defines the value of the
block-dependent parameter (generally the measurement input) that trig-
gers a Low-Low Alarm.
LLATXT Low-Low Absolute Alarm Text is a user-defined text string of up to
32 characters, sent with the low-low absolute alarm message to identify it.
LOCKID Lock Identifier is a string identifying the workstation which has locked
access to the block via a successful setting of LOCKRQ. LOCKID has the
format LETTERBUG:DEVNAME, where LETTERBUG is the 6-charac-
ter letterbug of the workstation and DEVNAME is the 1 to 6 character
logical device name of the Display Manager task.
LOCKRQ Lock Request is a boolean input which can be set true or false only by a
SETVAL command from the LOCK U/L toggle key on workstation dis-
plays. When LOCKRQ is set true in this fashion a workstation identifier
accompanying the SETVAL command is entered into the LOCKID
parameter of the block. Thereafter, set requests to any of the blocks
parameters are honored (subject to the usual access rules) only from the
workstation whose identifier matches the contents of LOCKID.
LOCKRQ can be set false by any workstation at any time, whereupon a
new LOCKRQ is accepted, and a new ownership workstation identifier
written to LOCKID.
LOCSP Local Bias Secure is a boolean input. When true, LOCSP provides lockout
of user write access to the LR parameter. If LOCSP is configured true, the
block secures LR when it initializes and maintains LR in the secured state.
The LOCSW and REMSW overrides have higher precedence, but LR
remains secured when they are no longer asserted.
7. BIAS Bias Block B0193AX Rev AB
225


LOCSW Local Switch is a boolean input. When true, LOCSW overrides the LR
and INITLR parameters and drives the block to the Local state. If both
LOCSW and REMSW are true, LOCSW has priority.
LOLIM Low Output Limit is a real input that establishes the minimum output
value. If the algorithm tries to drive the output to a lower value, the out-
put is clamped at the LOLIM value and the indicator LOLIND is set true.
LOLIND Low Output Limit Indicator is a boolean output that is set true whenever
the output is clamped at the low output limit, LOLIM.
LOOPID Loop Identifier is a configurable string of up to 32 characters which iden-
tifies the loop or process with which the block is associated. It is displayed
on the detail display of the block, immediately below the faceplate.
LR Local/Remote is a boolean input that selects the bias source (0 = false =
Local; 1 = true = Remote). If LR is set to Remote, the source of the set-
point value is the real input parameter RBIAS. When LR is set to Local,
there are two possible sources for the bias: (a) MEAS or (b) a user settable
input. The choice is based on the conditions of BTRKOP and MA, as
described under BTRKOP.
LSCI1 to LSCI2 Low Scale for Input Ranges 1 and 2 are configurable real values that define
the lower limit of input ranges RI1 and RI2. EI1 and EI2 define the units.
Make the range and units consistent with those of the input sources. The
default value is 0 (percent).
LSCO1 Low Scale for Output Range 1 is a real value that defines the lower limit of
the ranges for Output 1. A typical value is 0 (percent). EO1 defines the
units. Make the range and units consistent with those of the output desti-
nation.
MA Manual Auto is a boolean input that controls the Manual/Automatic
operating state (0 = false = Manual; 1 = true = Auto). In Auto, given the
measurement value, the block computes the output according to its spe-
cific algorithm. The block automatically limits the output to the output
range specified between LSCO1 and HSCO1, for analog blocks. In Man-
ual, the algorithm is not performed, and the output is unsecured. An
external program can then set the output to a desired value.
MALOPT Measurement Alarm Option is a configured short integer input that
enables absolute High and Low measurement alarming, or disables abso-
lute alarming altogether.
0 = No alarming
1 = High and Low measurement alarming
2 = High measurement alarming only
3 = Low measurement alarming only
You can change MALOPT only by reconfiguring the block.
B0193AX Rev AB 7. BIAS Bias Block
226


MANALM Manual Alarm Option is a configurable input which enables and disables
configured alarm options to function in Manual or Track mode. Normally
alarms are processed only in the Auto mode.
0 = No alarming in Manual
1 = Full alarming in Manual
2 = No output alarming in Manual
3 = No output alarming in Track
4 = No output alarming in Manual or Track
MANFS Manual If Failsafe is a boolean input. When configured true, MANFS
drives the block to the Manual state if the block detects an incoming fail-
safe status. MANFS is ignored if MA is linked.
MANSW Manual Switch is a boolean input. When true, MANSW overrides the
MA and INITMA parameters and drives the block to the Manual state. If
both MANSW and AUTSW are true, MANSW has priority.
MBADOP Manual if Bad Option is a manual override feature. When MBADOP is
set to 1 or 2, the block sets the unlinked MA input to manual if it detects
a BAD status bit in the MEAS input, and when set to 2, it detects that
RBIAS is not healthy (i.e., value status is BAD or has a broken OM con-
nection). This forces the output state to manual as long as the BAD status
remains. After the BAD status clears, returning to Auto requires external
intervention unless AUTSW is true.
0 = no option enabled
1 = Switch to Manual when MEAS or BCALCI value status is BAD
2 = Same as option 1, plus switch to Manual when RBIAS is not healthy
You can change MBADOP only by reconfiguring the block. MBADOP
has the same priority as the MANSW override, and it has precedence over
the AUTSW override. MBADOP has no effect when MA is linked. If any
of the MBADOP conditions are true, the block will be switched to Man-
ual regardless of the MANSW and AUTSW settings.
MCLOPT Manual Clamping Option allows you to invoke output clamping while
the block is in manual. You can alter this configurable boolean input at
the workstation.
MEAS Measurement is an input identifying the source of the blocks input, or the
controlled variable.
MEASDB Measurement Alarm Deadband is a configured input, expressed in MEAS
units, that is used for the measurement high, high-high, low, and low-low
absolute alarming functions. You can adjust this parameter at the worksta-
tion.
7. BIAS Bias Block B0193AX Rev AB
227


MEASGR Measurement Group is a short integer input that directs measurement
alarm messages to one of eight groups of alarm devices. You can change
the group number through the workstation.
MEASHI Measurement High Alarm Indicator is a boolean output that is set true
when the measurement (MEAS) value rises above the high alarm limit
(MEASHL). Once MEASHI is set true, it does not return to false until
MEAS falls below MEASHI less the deadband (MEASDB).
MEASHL Measurement High Alarm Limit is a real input that defines the value of
the measurement that initiates a high absolute alarm.
MEASHT Measurement High Alarm Message Text is a user-defined text string of up
to 32 characters that is output with the alarm message to identify the
alarm. You can only change the message text by reconfiguring the block.
MEASLI Measurement Low Alarm Indicator is a boolean output that is set true
when the measurement (MEAS) value falls below the low alarm limit
(MEASLL). Once MEASLI is set true, it does not return to false until
MEAS rises above MEASLL plus the deadband (MEASDB).
MEASLL Measurement Low Alarm Limit is a real input that defines the value of the
measurement that initiates a low absolute alarm.
MEASLT Measurement Low Alarm Message Text is a user-defined text string of up
to 32 characters that is output with the alarm message to identify the
alarm. You can only change the message text by reconfiguring the block.
MEASNM Measurement Alarm Name is a user-defined text string of up to
12 characters that identifies the alarm source in the alarm message. It
serves as a point descriptor label (for example, Furn 37 Temp).
MEASPR Measurement Priority is an integer input (1 to 5), that sets the priority
level of the measurement alarm (1 is the highest priority).
NAME Name is a user-defined string of up to 12 characters used to access the
block and its parameters.
NASOPT Alarm Suppression Option is a configurable, non-settable short integer
that specifies how the nuisance alarm delay is implemented:
+ 0 = Suppress nuisance alarms by delaying the Return-to-Normal
(default) by the length of time specified in NASTDB
+ 1 = Suppress nuisance alarms by delaying alarm detection by the
length of time specified in NASTDB
+ 2 = Suppress nuisance alarms by delaying both the Alarm Detec-
tion and the Return-to-Normal by the length of time specified in
NASTDB
NASTDB Alarm Deadband Timer is a configurable long integer. Depending on the
value of NASOPT, it either specifies the deadband time interval that must
B0193AX Rev AB 7. BIAS Bias Block
228


elapse before an alarm condition is allowed to return to normal, or the
length of a delay-on timer which specifies the amount of time between an
alarms detection and the announcement of the alarm. The parameter
value ranges from zero (default, no delay) to 2147483647 ms.
OSV Output Span Variance is a real input that defines the amount by which the
output clamp limits (HOLIM, LOLIM) can exceed the specified output
range, as defined by HSCO1 and LSCO1.
OUT Output, in Auto mode, is the result of the block algorithm applied to one
or more input variables. In Manual, OUT is unsecured, and can be set by
you or by an external task.
OUTNM The Output Alarm Name is a user-defined string of up to 32 characters
that identifies the alarm source in the alarm message. It serves as a point
descriptor label (for example, F2 Fuel Ctrl).
OWNER Owner is a string of up to 32 ASCII characters which is used to allocate
control blocks to applications. Attempts to set Owner is successful only if
the present value of Owner is the null string, an all-blank string, or identi-
cal to the value in the set request. Otherwise the request is rejected with a
LOCKED_ACCESS error. Owner can be cleared by any application by
setting it to the null string; this value is always accepted, regardless of the
current value of Owner. Once set to the null string, the value can then be
set as desired.
PERIOD Period is an indexed input that dictates the blocks execution time base
and allowable PHASE values. For stations other than Integrators and
Gateways, PERIOD values range from 0 to 13 and map to the following
period time lengths. Integrator and Gateway blocks have different period
values than shown here.
* If the BPC is 0.2 sec., this period is treated internally as 0.6 sec., but the
PERIOD parameter remains 1.
** If the BPC is 2.0 sec., this period is treated internally as 6.0 sec., but the
PERIOD parameter remains 10.
*** If the BPC is 0.5 sec., this period is treated internally as 0.5 sec., but
the PERIOD parameter remains 11.
Period Length Period Length
0 0.1 sec 7 10 min
1 0.5 sec* 8 60 min
2 1.0 sec 9 0.2 sec
3 2.0 sec 10 5.0 sec**
4 10 sec 11 0.6 sec***
5 30 sec 12 6.0 sec****
6 1 min 13 0.05 sec*****
7. BIAS Bias Block B0193AX Rev AB
229


**** If the BPC is not 2.0 sec., this period is treated internally as 5.0 sec.,
but the PERIOD parameter remains 12.
***** Available in CP40, CP40B, CP60 and later control processors.
PERTIM Period Time is the period of the block expressed in seconds.
PHASE Phase is an integer input that causes the block to execute at a specific BPC
within the time determined by the PERIOD. For instance, a block with
PERIOD of 3 (2.0 sec) can execute within the first, second, third, or
fourth BPC of the 2-second time period, assuming the BPC of the Con-
trol Processor is 0.5 sec. Refer to the appropriate Integrated Control Soft-
ware Concepts document (B0700AG or B0193AW).
PRIBLK Primary Block is a configuration option. When true (=1), PRIBLK
enables a block in a cascaded configuration to initialize without bumping
the process, either at initial startup or whenever control is transferred up
to a primary block. Depending on the value of PRITIM, PRIBLK does
this by forcing the BIAS block to remain in the Hold state until the
Acknowledge status bit (Bit 10) of MEAS is detected from the upstream
block (PRITIM = 0.0), or until the time defined by PRITIM expires
(PRITIM > 0.0). In the latter case, the explicit acknowledge from the
upstream block is not needed.
For correct operation, set EROPT = 1 or 2, and implement the connec-
tions between each primary-secondary block combination. These connec-
tions include BCALCI/BCALCO and OUT/RSP (or OUT/MEAS).
Except for the most primary controller block, Invensys recommends that
PRIBLK be set true for all applicable blocks in a cascaded scheme. When
PRIBLK is false (default value), no special handling takes place.
Use PRIBLK in a cascade situation when the source of the block's input
connection needs to be initialized.
Refer to PRIBLK and PRITIM Functionality on page 236 for more
information on this parameter.
PRITIM Primary Cascade Timer is a configurable parameter used to delay the clos-
ing of the cascade to a primary block, when the output is initialized in the
BIAS block. It is used only if the PRIBLK option is set. The cascade is
closed automatically when the timer expires without requiring an explicit
acknowledge by the upstream block logic.
Refer to PRIBLK and PRITIM Functionality on page 236 for more
information on this parameter.
PROPT Propagate Error Option is a short integer input. It can be set to 0-2:
+ 0 = option is disabled (default)
+ 1 = set the ERROR Status bit of the output parameter (OUT) if
the input to the MEAS parameter is in error (see below) while the
block is in Auto
B0193AX Rev AB 7. BIAS Bias Block
230


+ 2 = copy the BAD, OOS (Out-of-Service), and ERROR status bits
from the MEAS parameter to the output parameter (OUT)
The input to the MEAS parameter is in error when:
+ Its BAD status bit is set true
+ Its OOS (Out-of-Service) status bit is set true
+ Its ERROR status bit is set true
+ It is experiencing peer-to-peer path failure.
If a transition to Manual occurs while the ERROR status is true, it
remains true until either a set command is written to that output or until
the block transfers to Auto with the error condition returned to normal.
PRSCAS Present Cascade State is a data store that indicates the cascade state. It has
the following possible values:
PRSCON Present Control state is a short integer data store that contains the sub-
states of Auto:
1 = Holding
2 = Tracking
3 = Controlling (not open loop)
PRTYPE Priority Type is an indexed output parameter that indicates the alarm type
of the highest priority active alarm. The PRTYPE output of this block
includes the following alarm types:
0 = No active alarm
1 = High Absolute
2 = Low Absolute
3 = High High
4 = Low Low
QALSTA Quality Status parameter (QALSTA) is a non-configurable packed long
that provides a combination of value record status, block status
(BLKSTA), and alarm status (ALMSTA) information in a single connect-
able output parameter. Available bits for this block are provided below.
Value State Description
1 INIT_U Unconditional initialization of the primary
cascade is in progress.
2 PRI_OPN The primary cascade is open.
3 INIT_C Conditional initialization of the primary
cascade is in progress.
4 PRI_CLS The primary cascade is closed.
7. BIAS Bias Block B0193AX Rev AB
231


RBIAS Remote Bias is the selected bias source when LR is set to Remote. Typi-
cally, RBIAS connects to an upstream block in a cascade scheme.
REMSW Remote Switch is a boolean input. When true, REMSW overrides the
unlinked LR and INITLR parameters, and drives the block to the Remote
state. If both LOCSW and REMSW are true, LOCSW has priority.
RI1 to RI2 Range Input is an array of real values that specify the high and low engi-
neering scale and change delta of a particular real input. For a given block,
it also forms an association with a group of real input parameters that have
the same designated range and change delta.
RO1 Range Output is an array of real values that specify the high and low engi-
neering scale of a particular real output. For a given block, it also forms an
association with a group of real output parameters that have the same des-
ignated range.
SUM Sum is a real output that represents the output of the Bias summer. SUM
is always active regardless of the Manual/Auto state.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
Bit
Number
1
Definition Contents
Boolean Connection
(B32 to B1)
30 Alarms Unacknowledged ALMSTA.UNA QALSTA.B2
29 Alarms Inhibited ALMSTA.INH QALSTA.B3
25 High-High Absolute Alarm ALMSTA.HHA QALSTA.B7
24 Low-Low Absolute Alarm ALMSTA.LLA QALSTA.B8
17 High Absolute Alarm ALMSTA.HMA QALSTA.B15
16 Low Absolute Alarm ALMSTA.LMA QALSTA.B16
5 Manual BLKSTA.MA QALSTA.B27
4 Low Limited PNT.LLO status QALSTA.B28
3 High Limited PNT.LHI status QALSTA.B29
2 Uncertain MEAS.ERR status QALSTA.B30
1 Out-of-Service MEAS.OOS status QALSTA.B31
0 Bad MEAS.BAD status QALSTA.B32
1.
Bit 0 is the least significant, low order bit.
B0193AX Rev AB 7. BIAS Bias Block
232


TYPE When you enter BIAS or select BIAS from the block type list under
Show, an identifying integer is created specifying this block type.
UNACK Unacknowledge is a boolean output that the block sets to True when it
detects an alarm. It is typically reset by operator action.
UNCLMP UNCLMP is a non-connectable Boolean with a default value of 1
(TRUE). When it is set to 0 (FALSE), the BIAS blocks set point is
clamped between HSCI2 (high input range 2) and LSCI2 (low input
range 2). When the UNCLMP option is set to 1 (TRUE), no range
clamping of the set point is performed.
7.4 Functions
7.4.1 Detailed Operation
The BIAS block can function either as a two-term summer (doing a scaled algebraic addition of
the two inputs, MEAS and BIAS), or as a Bias control block.
The MEAS parameter is an input identifying the source of the analog output that comes to this
block as the controlled variable in the control loop.
The BIAS parameter is the local bias and always represents the active controller bias. BIAS is also
an output parameter which can be used to source the bias value to other blocks. The Bias source
selector input, LR (Local/Remote), together with the two overrides LOCSW and REMSW deter-
mines the bias source at any time.
When LR is switched to local (false), the block sets INITO to true and releases the BIAS parame-
ter, allowing any user to input the desired controller bias value. The bias track option, BTRKOP,
can be used to assure bumpless transfer.
When LR is switched to Remote (true), BIAS is no longer settable and takes on the value of the
remote bias input, RBIAS. RBIAS provides a link to the remote bias source. If RBIAS is unlinked
when LR is true, the block forces the LR parameter to local and secures it.
The BIAS block also provides the LOCSW and REMSW parameters to drive the bias state to
Local or Remote.
LOCSP allows the block to secure the LR parameter when the block initializes and to maintain
that secured state except when LOCSW and/or REMSW is asserted.
When the block is in the Remote mode, the status of the local bias (BIAS) tracks the status of the
remote bias (RBIAS).
When the block is switched to Local mode, the bias status depends on the bias tracking option
(BTRKOP):
+ If BTRKOP = 1 or 2, the BIAS status is cleared.
+ If BTRKOP = 0, the BIAS status reflects the RBIAS status at the time the switch to
Local occurred. The block maintains this status as long as block is in Local, unless the
user changes the BIAS value via data access. At that time the status is cleared.
The local set point is clamped each cycle when the set point mode is Remote, Local, or Supervi-
sory. The clamp limits used are the ratio/bias scale limits HSCI2 and LSCI2. If the set point value
7. BIAS Bias Block B0193AX Rev AB
233


before clamping is equal to or less than LCSI2, status bit LLO of SPT is set true. If the value
before clamping is equal to or higher than HSCI2, status bit LHI of SPT is true.
The BIAS block has two output states, Auto and Manual. In Manual, the block releases the out-
put, allowing it to be set by the user. In Auto, the block secures the output.
Auto has three sub-states: Controlling, Tracking, and Holding.
In the Controlling sub-state, the output is the result of the blocks summing algorithm subject to
the limits imposed by output clamping. The output, OUT, is determined as follows:
OUT = (MEAS * KMEAS + BMEAS) + bias_term
where:
bias_term = (RBIAS * KBIAS + BBIAS) if LR = true (Remote) and RBIAS is linked;
or
bias_term = RBIAS if LR = Remote and RBIAS is unlinked;
or
bias_term = BIAS
in all other cases.
While in Auto, the BIAS block clamps the output, OUT, between the LOLIM and HOLIM val-
ues. If the algorithm output calculates to a value less than LOLIM or greater then HOLIM, the
block clamps the value at the limit and sets the appropriate indicator, HOLIND or LOLIND, to
true. If you set LOLIM higher than HOLIM, then HOLIM is automatically set equal to the
higher of the two values, which is LOLIM. Output clamping also occurs in the Manual state if
the manual clamp option, MCLOPT, is configured true.
When the BIAS block changes from Manual, Tracking, or Holding, to Controlling, or from Local
to Remote while the output is controlling, the OUT value returns to the Auto setting at a rate
specified by the Balance Time (BTIME) parameter. During this time a diminishing balance term
(or bleed term) is added to the block output, OUT until it bleeds off to zero at the BTIME rate.
This makes the reset balance action decay with a response characteristic of a first order lag. A first
order lag reaches 66 percent of the bleed term after BTIME minutes. It takes three BTIME cycles
for the integral balance to approach 100 percent.
The block goes to Tracking when INITI is set true, as long as the block is not in HOLD, and
there is no control error. The block performs explicit initialization in the Tracking sub-state.
When INITI returns to false, the block returns to the Controlling sub-state to resume closed-loop
control.
In the Tracking sub-state, OUT = BCALCI, unless BCALCI is out of range, in which case OUT
is clamped between the LOLIM and HOLIM values. The block calculates the BCALCO parame-
ter, sets BCALCO to true (requesting upstream blocks to perform their own explicit initializa-
tion), and sets bit 6 (TRK) in the BLKSTA parameter. When the BIAS block is the upstream
block in a cascade control scheme, output tracking (BTRKOP = 1 or 2) assures a bumpless trans-
fer for the downstream block.
For the BIAS block, BLKSTA includes bits which indicate when the downstream output is lim-
ited in either direction by monitoring for the Limited High condition (BCALCI.LHI via
BLKSTA.B11) and Limited Low condition (BCALCI.LLO via BLKSTA.B10).
During Auto operation, the block checks the critical inputs MEAS and BCALCI for data errors
(off-scan, or BAD, OOS or ERROR status bits set). If an error is detected, the BIAS block,
B0193AX Rev AB 7. BIAS Bias Block
234


depending on the value of the CEOPT parameter (see CEOPT definition), may propagate the
error to its outputs by setting the ERROR status bit of the output, OUT.
The block goes to Hold if, while MBADOP = 0 and CEOPT = 1 or 2, either the HOLD param-
eter goes true, or a condition required by the CEOPT parameter is met. Even if MBADOP = 1 or
2, the block still goes to the Holding substate if the MA parameter is linked.
In the Hold sub-state, OUT keeps the last good value before the block went into Hold, and the
block secures this value against any changes. The block sets the BCALCO status to bad and sets
bit 7 (HOLD) in the BLKSTA parameter.
When all error conditions have ceased, the block returns to the Controlling substate and resumes
closed loop control.
No implicit Hold action takes place if CEOPT = 0.
A transition to Manual sets all alarm and limit indicators to false.
If MBADOP = 1 or 2 (and the MA parameter is unlinked), the block goes to the Manual state
when it detects a control error or when the HOLD input goes true, regardless of the CEOPT set-
ting. MBADOP has the same priority as MANSW and has precedence over AUTSW. Therefore,
if MBADOP = 1 or 2 and a bad input is detected, the block goes to Manual regardless of the
AUTSW setting.
The block also goes to Manual if, while MANFS is configured true, it detects the Failsafe status
bit (BCALCO.FS) at its BCALCI input.
When the block is switched to Manual, the OUT status reflects the MEAS/BIAS status at the
time the switch occurred. While the block is in Manual, it maintains this status until you change
the OUT output via data access. At that time, the block clears the status.
During manual operation, control is not performed. Alarm outputs are settable. The controller
output (OUT) is unsecured and may have its value set by an external task or program, and if the
manual clamp option (MCLOPT) is true, these set values undergo output clamping.
When the block restarts, the INITMA configured option specifies the value of the MA parameter,
unless MA has an established linkage, or MANSW or AUTSW are set true. Likewise, the INITLR
specifies the value of the LR parameter, unless LR is linked, or LOCSW or REMSW are set true.
7.4.1.1 Normal Configuration
Normal configuration of the BIAS block is as follows:
7. BIAS Bias Block B0193AX Rev AB
235


If there are no downstream control blocks, then link the BCALCI parameters to the OUT param-
eter (see Figure 7-2).
Figure 7-2. Configuration for no Downstream Control Blocks
If the downstream block is an AOUT block, link BCALCI to the downstream blocks BCALCO
parameter and link the downstream blocks MEAS parameter to OUT (see Figure 7-3).

Figure 7-3. Configuration for AOUT Downstream Block
If the secondary block is a DGAP or PTC block, link BCALCI to the secondary blocks BCALCO
parameter (see Figure 7-4). Link OUT to the secondary blocks RSP.
BCALCI
BIAS
MEAS
OUT
RBIAS
BIAS
BCALCI
OUT MEAS
AOUT
BCALCO
MEAS
RBIAS
B0193AX Rev AB 7. BIAS Bias Block
236


Figure 7-4. Configuration for DGAP or PTC Secondary block
In a cascade configuration, link the blocks as shown in Figure 7-5. Use the PRIBLK option in all
cascade configurations.
Figure 7-5. Cascade Configuration
7.4.2 PRIBLK and PRITIM Functionality
The Primary Block (PRIBLK) parameter indicates whether the BIAS block has a connection from
an upstream block (PRIBLK=1) or not (PRIBLK=0). Its value, together with that of the
Primary Cascade Timer (PRITIM), determines whether the BIAS block remains in Hold for a
fixed time delay (of length defined by PRITIM), or ends the Hold when the Acknowledge status
bit (Bit 10) of MEAS is detected from the upstream block (if PRITIM = 0.0). During initializa-
tion, the acknowledgement is not required and a Hold of one cycle only occurs.
OUT
BIAS
RSP
DGAP or
PTC
MEAS
BCALCI BCALCO
RBIAS
MEAS OUT OUT RBIAS
BIAS
PRIBLK=0
MEAS
PRIBLK=1
AOUT
BCALCO BCALCI BCALCO BCALCI
BIAS
PRIBLK=1
RBIAS
237


8. BIN Binary Input Block
This chapter covers the Binary Input (BIN) block features, parameters and functions, and
application diagrams.
NOTE
This chapter describes the Distributed Control Interface (DCI) BIN block. For a
description of how the BIN block is used in PLC applications, refer to PLC Interface
Block Descriptions (B0193YQ).
NOTE
In this chapter, CP270 Only indicates BIN features that are supported only on the
Field Control Processor 270 (FCP270) and Z-form Control Processor 270
(ZCP270) with I/A Series system software V8.4 or later.
8.1 Overview
The Binary Input (BIN) block is a Distributed Control Interface (DCI) block. (DCI blocks sup-
port connectivity of I/A Series control stations to various bus resident devices via a general pur-
pose interface.) The BIN block provides the control strategy with the capability to read a single
binary value from an address in an associated Fieldbus Module (FBM). The binary value has two
states such as ON and OFF or START and STOP.
Figure 8-1. BIN Block Diagram
8.2 Basic Operation
The BIN block is used in applications where an external device provides the binary data value to
the I/A Series system for use in a Display Manager or FoxView display or connection to an
Invensys control strategy.
The BIN block receives one binary value from the external device whose address is specified by
the parameter Point Number (PNT_NO). It presents that value at parameter BIN whether the
block mode is Auto or Manual. An additional parameter CIN is provided with the properties of a
Input Processing
Input from

To Upstream
Block
Input from
Manual Set
External Device
B0193AX Rev AB 8. BIN Binary Input Block
238


standard output parameter. Its value is the same as that of BIN when the block is in Auto. When
the block is in Manual, CIN is independent of BIN, and may be used for manual sets.
With I/A Series system software V8.4, the BIN block provides Bad I/O alarm and state change
alarm detection and reporting on the FCP270 and ZCP270. Alarming is not supported on other
control processors.
8.3 Features
The BIN block:
+ Reads a single binary value from its associated FBM
+ Provides support for operator sets in Manual
+ Specifies the FBM source point as a device-specific string
+ Simulation option enables testing input to the control strategy without actual field
connections
+ Quality Status (QLSTA) provides value record status, block status and alarm status in
a single connectable output parameter (CP270 Only)
+ Bad I/O alarm and state change alarm detection and reporting (CP270 Only).
8.4 Parameters
Table 8-1. BIN Block Parameters
Name Description Type Accessibility Default Units/Range
Configurable Parameters
INPUTS
NAME block name string no-con/no-set 2 blanks 1 to 12 chars
TYPE block type short integer no-con/no-set BIN_TYPE 148
DESCRP block description string no-con/no-set 2 blanks 1 to 32 chars
PERIOD block sample time short integer no-con/no-set 1 0 to10, and 13 for CPs,
0 to 12 for Gateways
PHASE block execution phase short integer no-con/no-set 0 ---
LOOPID loop/unit/batch identifier string no-con/set 2 blanks 1 to 32 chars
IOM_ID ECB identifier string no-con/no-set 2 blanks 1 to 12 chars
PNT_NO point number string no-con/no-set blanks 1 to 32 chars or device
specific
MA manual/auto switch boolean con/set 0 0 to 1
INITMA initialize manual/auto short integer no-con/no-set 1 0 to 2
BIN binary input boolean con/set 0 0 to 1
SELOPT selection option short integer no-con/no-set 1 1 = set False (0)
2 = set True (1)
0 or 3 = retain last
value
SIMOPT simulation option boolean no-con/no-set 0 0 = no simulation
1 = simulation
UPDPER parm update period integer no-con/no-set 10000ms 0 to 2147483647 ms
ANM point alarm name string no-con/no-set blank 0 to 12 chars
8. BIN Binary Input Block B0193AX Rev AB
239


NM0 alarm state name 0 string no-con/no-set blank 0 to 12 chars
NM1 alarm state name 1 string no-con/no-set blank 0 to 12 chars
IVO invert option boolean no-con/no-set 0 0 to 1
INHOPT inhibit option short no-con/no-set 0 0 to 3
INVALM invert alarm boolean no-con/no-set 0 0 to 1
INHIB alarm inhibit boolean con/set 0 0 to 1
INHALM inhibit alarm packed b con/set 0 0 x FFFF
MANALM manual alarm option short integer no-con/set 0 0 to 1
SAO state alarm option boolean no-con/no-set 0 0 to 1
SAP state alarm priority integer con/set 5 1 to 5
SAG state alarm group short no-con/set 1 1 to 8
BAO bad alarm option boolean no-con/no-set 0 0 to 1
BAT bad alarm text string no-con/no-set blank 1 to 32 chars
BAP bad alarm priority integer con/set 5 1 to 5
BAG bad alarm group short no-con/set 1 1 to 8
SCOPT state change option short no-con/no-set 0 0 to 3
SCGRP state change group short no-con/set 1 1 to 8
SCTXTO state change 0 text string no-con/no-set blank 0 to 32 chars
SCTXT1 state change 1 text sting no-con/no-set blank 0 to 32 chars
AMRTIN alarm regeneration timer integer no-con/no-set 0 0 to32767 sec
NASTDB nuisance alarm suppres-
sion deadband
long integer no-con/set 0 0 to 2147483647
NASOPT nuisance alarm suppres-
sion option
short no-con/set 0 0 to 2
Non-Configurable Parameters
OUTPUTS
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
ALMSTA alarm status packed long con/no-set 0 0 to 0xFFFFFFFF
BLKSTA block status packed long con/no-set 0 0 to 0xFFFFFFFF
CIN block output boolean con/set (in manual) 0 0 to 1
CRIT alarm criticality integer con/no-set 0 0 to 5
INHSTA inhibit status packed long con/no-set 0 0 to 0xFFFFFFFF
PRTYPE priority type integer con/no-set 0 0 to 8
QALSTA quality status pack_b con/no-set 0 0 to 0xFFFF
TSTAMP time stamp long integer con/no-set 0 ms after midnight
UNACK unacknowledged alarm boolean con/no-set 0 0 to 1
VALSTS FF value status integer con/no-set 0 0 to 0xFFFF
DATA STORES
ALMOPT alarm options packed long no-con/no-set 0 0 to 0xFFFFFFFF
DEFINE no configuration errors boolean no-con/no-set 1 0 to 1
LOCKID lock identifier string no-con/no-set 2 blanks 8 to 13 chars
LOCKRQ lock request boolean no-con/no-set 0 0 to 1
DEV_ID device identifier character no-con/no-set 6-character array
ERCODE configuration error string no-con/no-set 2 blanks 1 to 43 chars
OWNER owner name string no-con/set 2 blanks 1 to 32 chars
Table 8-1. BIN Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
B0193AX Rev AB 8. BIN Binary Input Block
240


8.4.1 Parameter Definitions
ACHNGE Alternate Change is an integer output which is incremented each time a
block parameter is changed via a Set command.
ALMOPT
(CP270 Only)
Alarm Options contain packed long values representing the alarm types
that have been configured as options in the block, and the alarm groups
that are in use. Table 8-2 shows how the parameter is used by the BIN
block.
ALMSTA
(CP270 Only)
Alarm Status is a 32-bit output, bit-mapped to indicate the blocks alarm
states. Table 8-3 shows the bits used by the BIN block.
Table 8-2. ALMOPT Parameter Format
Bit Number
1
(0 to 31)
1.
Bit 0 is the least significant, low order bit.
Configured Alarm Option, When True
0 (lsb) Alarm Group 8 in Use
1 Alarm Group 7 in Use
2 Alarm Group 6 in Use
3 Alarm Group 5 in Use
4 Alarm Group 4 in Use
5 Alarm Group 3 in Use
6 Alarm Group 2 in Use
7 Alarm Group 1 in Use
22 Bad I/O Alarm Configured
26 State Alarm Configured
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
U
N
A
K
I
N
H
S
T
A
B
A
DCRIT PRTYPE
8. BIN Binary Input Block B0193AX Rev AB
241


AMRTIN
(CP270 Only)
Alarm Message Regeneration Time Interval specifies the rate at which
alarm messages are generated for alarm conditions that have not been
cleared. The interval is specified in seconds. The configured interval is
rounded up to the closest value that is an even multiple of the station
BPC. A value of 0 disables alarm message regeneration.
ANM
(CP270 Only)
Alarm Name is a user-defined string of up to 12 characters which serves as
a point descriptor label for Bad alarm, state alarm and state change mes-
sages (for example, PLT3 F2 SDR).
BAG
(CP270 Only)
Bad Alarm Group is a short integer input that directs Bad alarm messages
to one of eight groups of alarm devices. You can change the group number
through the workstation.
BAO
(CP270 Only)
Bad Alarm Option is a configurable option that enables alarm generation
for each state of CIN.BAD.
BAP
(CP270 Only)
Bad Alarm Priority is an integer input, ranging from 1 (highest priority) to
5 (default), that sets the priority level of the Bad alarm.
BAT
(CP270 Only)
Bad Alarm Text is a user-configurable text string of up to 32 characters,
sent with the bad alarm message to identify it.
BIN Binary Input contains the discrete value read from point PNT_NO, in an
external device specified by IOM_ID. BIN displays the actual value at the
external device at all times, regardless of the block mode. When SIMOPT
is used, BIN can be used to simulate the Boolean input value from the
field device.
Table 8-3. ALMSTA Parameter Format
Bit
Number
(0 to 31)* Name
Description,
When True
Boolean
Connection
(B32 to B1)
0 to 4 PTYP_MSK Priority Type: See PRYTPE parame-
ter for values used in the BIN block
---
5 to 7 CRIT_MSK Criticality: 1 (highest priority) to 5 ---
22 BAD Bad I/O Alarm ALMSTA.B10
26 STA State Alarm ALMSTA.B6
29 INH Inhibit Alarm. This bit is set when
any of the blocks alarms is inhibited
ALMSTA.B3
30 UNAK Unacknowledged ALMSTA.B2
*Bit 0 is the least significant, low order bit.
B0193AX Rev AB 8. BIN Binary Input Block
242


BLKSTA Block Status is a 32-bit output, bit-mapped to indicate various block oper-
ational states. For the BIN block, only the following bits are used:
CIN Block output CIN contains the same value as BIN when the block mode
is Auto and IVO=0. CIN contains the complement of BIN when the
block mode is Auto and IVO=1. In Manual, CIN is released and you can
set its value.
CRIT
CP270 Only
Criticality is an integer output that indicates the priority of the blocks
highest currently active alarm. The range is 1 (highest priority) to 5. An
output of 0 indicates the absence of alarms.
DEFINE Define is a data store which indicates the presence or absence of configura-
tion errors. The default is 1 (no configuration errors). When the block ini-
tializes, DEFINE is set to 0 if any configured parameters fail validation
testing. (See ERCODE for the list of all possible validation errors in this
block.) In that case, no further processing of the block occurs, including
further validation of remaining parameters. To return DEFINE to a True
value, you should correct all configuration errors and reinstall the block.
DESCRP Description is a user-defined string of up to 32 characters used to describe
the blocks function (for example, PLT 3 FURNACE 2 HEATER CON-
TROL).
DEV_ID Device Identifier is a character array that specifies the 6-character identi-
fier of the connected device. It is copied from the DEV_ID configured in
the ECB specified by the IOM_ID parameter.
ERCODE Error Code is a character data store which indicates the type of configura-
tion error which caused the blocks DEFINE parameter to be set False,
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
D
C
I
X
O
N
U
D
E
F
M
A
F
B
M
Bit Number*
(0 to 31) Name Description When True
Boolean Connection
(B32 to B1)
8 FBM Bad Status of ECB BLKSTA.B24
11 MA Manual = 0, Auto = 1 BLKSTA.B21
14 UDEF Block Undefined BLKSTA.B18
15 ON Block ON BLKSTA.B17
23 DCIX Enhanced DCI block (CP270 Only) BLKSTA.B9
* Bit 0 is the least significant, low order bit.
8. BIN Binary Input Block B0193AX Rev AB
243


unless indicated otherwise (see meanings below). Validation of configured
parameters does not proceed past the first error encountered by the block
logic. Each nonzero value of ERCODE results in an explanatory message
at the blocks detail display. For the BIN block, the following list shows the
possible messages you may see:
If a DCI data connection cannot be resolved due to a lack of configuration
information, the block is marked DEFINED but the value is marked
OOS and one of the following strings is stored in ERCODE to indicate
the configuration error:
W77 - FIELDBUS COMMUNICATIONS FAULT (FBM228 only)
W78 - INVALID FUNCTION BLOCK (FBM228 only)
W80 - FIELDBUS DEVICE NOT FOUND (FBM228 only)
W73 - FF FUNCTION BLOCK CONFIGURATION ERROR
(FBM228 only).
If a DCI data connection cannot be resolved for any other reason, the
block is marked UNDEFINED and one of the following strings is stored
in ERCODE to indicate the configuration error:
W74 - FF FUNCTION BLOCK DDITEM MISMATCH (FBM228
only)
W75 - FF FUNCTION BLOCK DDMBR MISMATCH (FBM228
only)
W76 - INVALID FF MODE CONFIGURATION (FBM228 only)
W79 - INVALID PARAMETER INDEX (FBM228 only)
W81 - INVALID PARENT DCI ECB PERIOD/PHASE (FBM228
only).
ERCODE Message Meaning
W52 INVALID I/O CHAN-
NEL/GROUP NO.
PNT_NO string is blank.
W62 UNRESOLVED CON-
NECTION
Connection not yet resolved. (Block
remains defined.)
W65 INVALID POINT
ADDRESS
FBM parsing algorithm finds that a
used PNT_NO is invalid.
W66 DUPLICATE CON-
NECTION
There is a duplicate connection to a
particular point.
W67 INSUFFICIENT FBM
MEMORY/CONNECTIONS
There is no available memory or
point connections in the FBM.
W68 INVALID DEVICE
CONNECTION
The device connection is invalid.
W69 INVALID POINT
CONNECTION
The point connection is invalid.
B0193AX Rev AB 8. BIN Binary Input Block
244


INHALM
(CP270 Only)
Inhibit Alarm contains packed boolean values that represent alarm genera-
tion inhibit request for each type of alarm configured in the block: for the
BIN block, only the following bits are used:
There are no mnemonic names for the individual bits of INHALM.
INHIB
(CP270 Only)
Inhibit is a configurable, connectable and settable boolean that, when set,
suppresses all alarm message reporting. INHIB affects only alarm message
reporting; the alarm handling and detection functions are determined by
the INHOPT setting.
INHOPT
(CP270 Only)
Inhibit Option specifies the following actions applying to all block alarms:
+ 0 = When an alarm is inhibited, disables alarm messages but does
not disable alarm detection.
+ 1 = When an alarm is inhibited, disables both alarm messages and
alarm detection. If an alarm condition exists at the time the alarm
transitions into the inhibited state, the alarm indicator is cleared.
+ 2 = Same as 0 for inhibited alarms. For uninhibited alarms,
automatically acknowledges return-to-normal messages.
Into alarm messages can be acknowledged by explicitly setting
UNACK False.
+ 3 = Same as 1 for inhibited alarms. For uninhibited alarms,
automatically acknowledges return-to-normal messages.
Into alarm messages can be acknowledged by explicitly setting
UNACK False.
Bit
Number*
(0 to 15)
Description,
When True
Boolean
Connection
(B16 to B1)
6 Inhibit Bad I/O Alarm INHALM.B10
10 Inhibit State Alarm INHALM.B6
*Bit 0 is the least significant, low order bit.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
8. BIN Binary Input Block B0193AX Rev AB
245


INHSTA
(CP270 Only)
Inhibit Status contains packed long values that represent the current
inhibit status of each alarm type configured in the block. Table 8-4 shows
how the parameter is used with the BIN block.
INITMA Initialize Manual/Auto specifies the desired state of the MA input under
certain initialization conditions, namely:
+ The block has just been installed into the I/A Series station
database.
+ The I/A Series station is rebooted.
+ The compound in which the block resides is turned on.
+ The INITMA parameter is modified via the Integrated Control
Configurator.
INITMA is ignored if MA has an established linkage.
When INITMA is asserted, the value set into MA is:
+ 0 (Manual) if INITMA = 0.
+ 1 (Auto) if INITMA = 1.
+ The MA value from the checkpoint file if INITMA = 2.
INVALM
(CP270 Only)
Invert Alarm is a configured boolean which specifies the sense of CIN
transitions considered into alarm and return to normal in State alarm
messages. Values are:
+ 0 = CIN transitions from 0 to 1 are considered into alarm. State
alarm messages contain the NM1 string. Transitions from 1 to 0
are considered return to normal. State alarm messages contain
the NM0 string.
+ 1 = CIN transitions from 1 to 0 are considered into alarm. State
alarm messages contain the NM1 string. Transitions from 0 to 1
are considered return to normal. State alarm messages contain
the NM0 string.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
S
T
A
B
A
D
Table 8-4. INHSTA Parameter Format
Bit
Number*
(0 to 31) Name
Description,
When True
Boolean
Connection
(B32 to B1)
22 BAD Bad I/O Alarm Inhibited INHSTA.B10
26 STA State Alarm Inhibited INHSTA.B6
*Bit 0 is the least significant, low order bit.
B0193AX Rev AB 8. BIN Binary Input Block
246


In any case, State alarm detection is disabled when option SAO is false.
IOM_ID ECB Identifier is a configurable string that specifies the pathname of the
ECB201 for the device, for the purpose of connecting to (accessing) a field
parameter that resides in a field device hosted by a parent FBM ECB.
IOM_ID has the form CompoundName:BlockName, where Compound-
Name is the 1-12 character name of the local compound containing the
ECB, and BlockName is the 1-12 character block name of the ECB.
If the compound containing the ECB is the CPletterbug_ECB compound
where CPletterbug is the station letterbug of the CP, the CompoundName
may be omitted from the IOM_ID configuration. In this case, the 1-12
character ECB block name is sufficient.
IVO
(CP270 Only)
Invert Option, when true, causes the block to invert the value of the FBM
input or the BIN input before writing it to the CIN output. If IVO is
true, all alarming and state change message generation is based on the
inverted value of the input.
LOCKID
(CP270 Only)
Lock Identifier is a string identifying the workstation which has locked
access to the block via a successful setting of LOCKRQ. LOCKID has the
format LETTERBUG:DEVNAME, where LETTERBUG is the 6-charac-
ter letterbug of the workstation and DEVNAME is the 1 to 6 character
logical device name of the Display Manager task.
LOCKRQ
(CP270 Only)
Lock Request is a Boolean input which can be set True or False only by a
SETVAL command from the LOCK U/L toggle key on workstation dis-
plays. When LOCKRQ is set True in this fashion, a workstation identifier
accompanying the set command is entered into the LOCKID parameter
of the block. Thereafter, set requests to any of the blocks parameters are
honored (subject to the usual access rules) only from the workstation
whose identifier matches the contests of LOCKID. LOCKRQ can be set
False by any workstation at any time, whereupon a new LOCKRQ is
accepted, and a new ownership workstation identifier written to
LOCKID.
LOOPID Loop Identifier is a configurable string of up to 32 characters used to iden-
tify the loop or process with which the block is associated. It is displayed
on the detail display of the block, immediately below the faceplate.
MA Manual/Auto is a Boolean input that controls the blocks operating state
(0 = False = Manual; 1 = True = Auto). When in Auto, the block output is
copied from BIN to CIN if the IVO parameter is not set. When in Auto,
CIN contains the complement of BIN if the IVO parameter is set. In
Manual the block output is not copied or inverted, and CIN becomes set-
table.
MANALM
(CP270 Only)
Manual Alarm Option is a configurable input which enables or disables
configured alarm options to function in Manual mode. Normally alarms
are processed only in the Auto mode. Values for the BIN block:
8. BIN Binary Input Block B0193AX Rev AB
247


0 = No alarming in Manual
1 = Full alarming in Manual
NAME Name is a user-defined string of up to 12 characters used to access the
block and its parameters.
NASOPT
(CP270 Only)
Nuisance Alarm Suppression Alarm Option is a configurable, settable
short integer that specifies how the nuisance alarm delay is implemented:
+ 0 = Suppress nuisance alarms by delaying the Return-to-Normal
(default) by the length of time specified in NASTDB
+ 1 = Suppress nuisance alarms by delaying alarm detection by the
length of time specified in NASTDB
+ 2 = Suppress nuisance alarms by delaying both the Alarm Detec-
tion and the Return-to-Normal by the length of time specified in
NASTDB
NASTDB
(CP270 Only)
Nuisance Alarm Suppression Time Deadband is used to reduce the
number of alarm messages generated when a block parameter crosses back
and forth over an alarm limit. When the parameter is set to zero, an alarm
is generated each time the parameter is outside the limit and is cleared
each time it crosses back. Thus, a parameter that is fluttering at the alarm
limit can result in nuisance alarms. NASTDB specifies, in milliseconds, a
time that must lapse before the alarm is cleared and before another alarm
message can be generated. The specified value is rounded up to the nearest
even multiple of the control station BPC. If the parameter passes from
outside one limit to outside the opposite extreme, the deadband is
ignored.
NM0
(CP270 Only)
NM0 Name 0 is a user-defined string of up to 12 characters sent with a
State alarm message to indicate that the message is a return to normal
type. This means that CIN has transitioned from 1 to 0 if INVALM is
false, or 0 to 1 if INVALM is true.
NM1
(CP270 Only)
Name 1 is a user-defined string of up to 12 characters sent with a State
alarm message to indicate that the message is an into alarm type. This
means that CIN has transitioned from 0 to 1 if INVALM is false, or 1 to 0
if INVALM is trueNM1
OWNER Owner is a string of up to 32 ASCII characters used to allocate control
blocks to applications. Attempts to set OWNER are successful only if the
present value of OWNER is the null string, an all-blank string, or identi-
cal to the value in the set request. Otherwise, the request is rejected with a
LOCKED_ACCESS error. OWNER can be cleared by any application by
setting it to the null string; this value is always accepted, regardless of the
current value of OWNER. Once set to the null string, the value can then
be set as desired.
PERIOD Period is an indexed input that dictates the blocks execution time base,
and allowable PHASE values. For CP stations, PERIOD values range
B0193AX Rev AB 8. BIN Binary Input Block
248


from 0 to 10, and 13, and map to the time lengths shown in the following
table. For Gateways and Integrators, PERIOD values range from 0 to 12
and map to the time lengths specified in the device specific users guide.
* If the BPC is 0.2 second, this period is treated internally as 0.6 second, but
the PERIOD parameter remains 1.
** If the BPC is 2.0 seconds, this period is treated internally as 6.0 seconds, but
the PERIOD parameter remains 10.
*** Not available for CP stations.
****Available in CP40, CP40B, CP60 and later control processors.
PHASE Phase is an integer input that causes the block to execute at a specific BPC
within the time determined by the PERIOD. For instance, a block with
PERIOD of 3 (2.0 seconds) can execute within the first, second, third, or
fourth BPC of the 2-second time period, assuming the BPC of the
I/A Series station is 0.5 second. Refer to the appropriate Integrated Control
Software Concepts document (B0700AG or B0193AW).
PNT_NO Point Number identifies the address in the external device memory (or
external device data stream) to which the block output is directed. It is a
string whose syntax depends on the FBM type and fieldbus protocol of the
attached device:
+ For the FBM223 Profibus interface, PNT_NO must be config-
ured to contain a Profibus data identifier. This information
identifies, to the FBM, the address of the input data unit from the
device. Refer to PROFIBUS-DP Communication Interface Module
(FBM223) Users Guide (B0400FE) for further details.
+ For the FBM222 Redundant Profibus interface, the PNT_NO
configuration string uses the FBM223 syntax with extensions for
PROFIBUS-PA status, custom status and other features. Refer to
Implementing Profibus Networks in Foxboro Control Software Appli-
cations (B0750BE) for further details.
+ For the HART interface
(FBM214/214b/215/216/216b/218/244/245/247), PNT_NO
must be configured to contain a point address. This information
identifies, to the FBM, specific data in the HART data stream that
is to serve as the device data input to this block. Refer to HART
Period Length Period Length
0 0.1 second 7 10 minutes
1 0.5 second* 8 60 minutes
2 1.0 second 9 0.2 second
3 2.0 seconds 10 5.0 seconds**
4 10 seconds 11*** ----
5 30 seconds 12*** ----
6 1 minute 13**** 0.05 second
8. BIN Binary Input Block B0193AX Rev AB
249


Communication Interface Modules Users Guide (B0400FF) for
details.
+ For the Modbus interface (FBM224), PNT_NO must be config-
ured to contain the address of a set of coils in a Modbus device.
Refer to Modbus Communication Interface Module (FBM224)
Users Guide for details.
+ For the FDSI (FBM230/231/232/23), PNT_NO contains a data
identifier to identify, to the FBM, specific data in the I/O data
stream and to specify the elements of the data. Refer to Field
Device System Integrators (FBM230/231/232/233) Users Guide
(B0700AH) for more information.
+ For the FBM228 Redundant FOUNDATION fieldbus interface, the
point number syntax specifies reads of H1 device function block
parameters using a client/server or publisher/subscriber connec-
tion, as described in Implementing FOUNDATION fieldbus on an
I/A Series System (B0700BA) and Implementing FOUNDATION field-
bus (B0750BC).
PRTYPE
CP270 Only
Priority Type is an indexed output parameter that indicates the alarm type
of the highest priority active alarm. For the BIN block:
0 = No alarm
8 = Bad I/O alarm
9 = State alarm
QALSTA
(CP270 Only)
Quality Status parameter (QALSTA) is a non-configurable packed
boolean that provides a combination of value record status, block status
(BLKSTA), and alarm status (ALMSTA) information in a single connect-
able output parameter. Available bits for this block are provided below.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
Bit
Number
1
Definition Contents
Boolean Connection
(B32 to B1)
30 Alarms Unacknowledged ALMSTA.UNA QALSTA.B2
29 Alarms Inhibited ALMSTA.INH QALSTA.B3
26 State Alarm ALMSTA.STAL QALSTA.B6
22 Bad Alarm ALMSTA.IOBD QALSTA.B10
5 Manual
2
~BLKSTA.MA QALSTA.B27
2 Uncertain CIN.ERR status QALSTA.B30
B0193AX Rev AB 8. BIN Binary Input Block
250


SAG
(CP270 Only)
State Alarm Group is a short integer input that directs State alarm mes-
sages to one of eight groups of alarm devices.
SAO
(CP270 Only)
State Alarm Option is a configurable boolean which, when true, enables
the generation of State Alarms.
SAP
(CP270 Only)
State Alarm Priority is an integer input, ranging from 1 (highest priority)
to 5 (default), that sets the priority level of the State alarm.
SCGRP
(CP270 Only)
State Change Group is a short integer input that directs State Change
messages to one of eight groups of devices. However, Alarm Alert ignores
these messages when they arrive; State Change messages are printed only.
SCOPT
(CP270 Only)
State Change Option specifies which state changes of the block output
cause a State Change message to be the generated. These messages are
ignored by Alarm Alert, and are not shown in the Alarm Display; they are
printed on the alarm printers only. Depending on the value of SCOPT,
messages are generated for the following types of transitions (state
changes):
0 = No transitions (no messages generated)
1 = All transitions
2 = 0 to 1 transitions only
3 = 1 to 0 transitions only
SCTXT0
(CP270 Only)
State Change Text 0 is a text string sent with the State Change message to
indicate that the state has changed from 1 to 0, after any optional inver-
sion.
SCTXT1
(CP270 Only)
State Change Text 1 is a text string sent with the State Change message to
indicate that the state has changed from 0 to 1, after any optional inver-
sion.
SELOPT Selection Option is a configurable option used in a BIN block to specify a
fallback value when the input is not available and the block is in Auto
mode:
0 = retain the previous value
1 = set the value to 0 (False)
2 = set the value to 1 (True).
1 Out-of-Service CIN.OOS status QALSTA.B31
0 Bad CIN.BAD status QALSTA.B32
1.
Bit 0 is the least significant, low order bit.
2.
Bit 5 is the inverse of BLKSTA.MA bit (BLKSTA.B291).
Bit
Number
1
Definition Contents
Boolean Connection
(B32 to B1)
8. BIN Binary Input Block B0193AX Rev AB
251


SIMOPT Simulation Option is a configurable parameter that specifies whether the
DCI block input value is to be simulated. When SIMOPT is configured 1
(True), there are no DCI connections established for the block. BIN is not
updated from the field and, although it is normally secured, it is released
(provided it is unlinked) and becomes available for entry of simulated
values.
TSTAMP The Time Stamp parameter of the block is updated every time there is a
change in the value of CIN. In Auto mode, this means that the field input
value of BIN changes. In Manual mode, it means that a new manual value
has been set into CIN. TSTAMP, which is expressed in units of millisec-
onds past midnight, is read from the FBM when it is available there; oth-
erwise, it is computed by the I/A Series control station.
TYPE When you enter BIN or select it from a configurator list, an identifying
integer is created specifying this block type. For this block, the value of
TYPE is 148.
UPDPER Update Period is a configurable non-settable long integer that specifies the
update period for certain types of client/server access to FOUNDATION
fieldbus H1 devices and PROFIBUS slave devices:
+ For the FBM228, the parameter defines the update period for cli-
ent/server access to device block parameters, as described in
Implementing FOUNDATION fieldbus on an I/A Series System
(B0700BA) or Implementing FOUNDATION fieldbus (B0750BC).
The parameter is not used for publisher/subscriber connections.
+ For the FBM222, the parameter defines the update period for acy-
clic communication between the FBM222 and the
PROFIBUS slave device, as described in Implementing Profibus
Networks in Foxboro Control Software Applications (B0750BE).
The parameter is not used for cyclic communications.
UNACK
CP270 Only
Unacknowledged is a Boolean output parameter that is set True for notifi-
cation purposes whenever the block goes into alarm. It is settable, but sets
are only allowed to clear UNACK to False, and never in the
opposite direction. UNACK is cleared by an operator acknowledge
pick on a default display, a user display, or the alarms display.
VALSTS Value Status is an output parameter of any DCI block that contains the
value status of a FOUNDATION fieldbus function block parameter value or
PROFIBUS-PA parameter provided by a DCI connection to a field
device. For other fieldbus types, VALSTS is meaningless.
Bits 0-1: Limits:
0 = Not limited
1 = High limited
2 = Low limited
3 = High and Low limited
Bits 2-5: Substatus (definition depends on Quality)
B0193AX Rev AB 8. BIN Binary Input Block
252


Bits 6-7: Quality:
0 = Bad
1 = Uncertain
2-3 = Good
Note: Bit 0 is the least significant, low order bit.
Each time the BIN block is executed, VALSTS reports the status of the FF
or PROFIBUS-PA value from the information in the DCI connection.
8.5 Functions
8.5.1 Detailed Diagram
Figure 8-2. BIN Block Operational Diagram
8.5.2 Associated ECBs
The configured parameter IOM_ID in the BIN block specifies an ECB201 (the device ECB) to
connect to a field parameter that resides in a field device hosted by an ECB200 or ECB202 (the
FBM ECB). The PARENT parameter of the ECB201 specifies the associated FBM ECB hosting
the field device.
IOM_ID may also directly specify the parent FBM ECB of a Profibus FBM223 to retrieve a
parameter resident in the FBM itself.
IOM_ID
PNT_NO
ECB Good
BIN
BIN = 0
AUTO
CIN
AND
BIN = 1
BIN = Last Value
CIN = 0
CIN = 1
CIN = Last Value
ECB Bad or Out-of-Service
SELOPT=1
SELOPT=2
SELOPT=0 or 3
SELOPT=1
SELOPT=2
SELOPT=0
AND
AUTO
AND
AND
Input
SIMOPT
1
0
Data
BIN
AUTO
CIN AND
Simulated
Value
ECB Good
AND
8. BIN Binary Input Block B0193AX Rev AB
253


8.5.3 DCI Connection
The BIN block establishes one DCI connection to the specified ECB at any one of the following
times:
+ When the block is first installed (added to your control strategy).
+ When the I/A Series control station in which it resides has just been rebooted.
+ When a parameter of the block has been modified by the ICC or FoxCAE
configurator.
+ When a device or parent ECB specified by the BIN block has just been installed.
A DCI connection is added to a linked list of all the DCI connections, of any type, for all blocks
specifying the same ECB. This arrangement permits multiple DCI blocks of differing data types
to communicate with a single device at input/output scan time, on a scatter-gather basis. It also
allows multiple DCI connections in the same DCI block to be established (for example, connec-
tions in redundant type DCI blocks such as this one or for INI_PT connections in output type
blocks).
The DCI connection is deleted (that is, the linkage is removed from the linked list for the ECB)
when the BIN block is deleted.
8.5.4 Origin of Input Data
The device address supplying the input value is configured as a string in PNT_NO. If PNT_NO
is null, the block is set undefined.
The format of PNT_NO is device specific. When the PIO maintenance task runs after the DCI
connection has been made (see Section 8.5.3), the PNT_NO string used by the block is passed to
the FBM for parsing and validation. (In DCI blocks, point identification strings are not parsed by
the I/A Series control station.)
If the first character of PNT_NO is blank, the PNT_NO string is not sent to the FBM, and the
block is set undefined, with ERCODE = 52. The detail display shows W52 INVALID I/O
CHANNEL/GROUP NUMBER.
In each of the following cases, the block is also set undefined:
+ If the FBM parsing algorithm finds that PNT_NO is invalid, the detail display shows
W65 INVALID POINT ADDRESS with ERCODE = 65.
+ If there is a duplicate connection to any point, the detail display shows W66
DUPLICATE CONNECTION with ERCODE = 66.
+ If there is no available memory in the FBM, or if the maximum number of connec-
tions have been allocated in the FBM, the detail display shows W67
INSUFFICIENT FBM MEMORY/CONNECTIONS with ERCODE = 67.
+ If the device connection is invalid, the detail display shows W68 INVALID
DEVICE CONNECTION with ERCODE = 68.
+ If the point connection is invalid, the detail display shows W69 INVALID POINT
CONNECTION with ERCODE = 69.
In the following case, the block remains defined:
+ If the connection is not yet resolved, the detail display shows W62 UNRE-
SOLVED CONNECTION with ERCODE = 62.
B0193AX Rev AB 8. BIN Binary Input Block
254


8.5.5 Processing of Input Point Status
The status of the PNT_NO input is checked, together with the status of the ECB. Then the sta-
tus of the BIN parameter is set according to the following rules:
The status of BIN is set to Out-of-Service if:
+ The appropriate device ECB status indicates that the field device is Off-line or Out-
of-Service.
+ The DCI connection cannot be configured due to lack of configuration information
in the FBM database.
+ The DCI is not yet connected (that is, the PIO maintenance task has not yet sent the
DATA_CONNECT message to the FBM for the linked-list addition described in
Section 8.5.3).
+ The DCI connection status information, which specifies the condition of the accessed
device parameter, indicates Out-of-Service, which means (in general) that the parame-
ter value is unavailable.
+ The connection status information indicates Disconnected, which means (in general)
that the parameter is not connected or not defined.
+ The connection status information indicates that the connection is not yet resolved.
The detail display shows W62 UNRESOLVED CONNECTION with
ERCODE = 62.
+ An ECB201 is specified, and the ECB device status indicates that the DCI connection
is unresolved.
The status of BIN is set to Bad if:
+ The device ECB status indicates that the field device has failed.
+ The DCI connection status information indicates a bad value for the field device
parameter.
The status of BIN is set to Error if the status information indicates an uncertain or questionable
value for the field device parameter.
8.5.6 Processing of Input Point Data
If BIN is not bad or out-of-service as determined in the previous section, the value read from the
external device is set into the value of BIN. If the status of BIN is either Bad or Out-of-Service,
the value of BIN is determined as follows:
+ If SELOPT is 1, BIN is set to 0.
+ If SELOPT is 2, BIN is set to 1.
+ If SELOPT has any other value (0 or 3), BIN remains at its last good value.
8.5.7 Auto/Manual Arbitration
The Auto/Manual mode selection arbitrates between inputs by the operator (Manual) and inputs
from the field (Auto). Parameters MA and INITMA are used to establish the control mode of the
BIN block.
8. BIN Binary Input Block B0193AX Rev AB
255


8.5.8 Operation in Auto Mode
In Auto mode, the Bad, Out-of-Service, and Error bits of BIN (as determined in Section 8.5.5)
replace the corresponding bits of CIN. If this status is neither Bad nor Out-of-Service, the value
of BIN is copied to the value of CIN; otherwise, CIN retains its last good value.
The control strategy should normally use CIN as the BIN block output, regardless of the block
mode.
8.5.9 Operation in Manual Mode
In Manual mode, CIN is not updated from BIN and can be used for manual sets.
The control strategy should normally use CIN as the BIN block output, regardless of the block
mode.
BIN is never settable and continues to monitor the input from the field for diagnostic purposes.
8.5.10 State Change Messages (CP270 Only)
With I/A Series system software V8.4, the BIN block supports state change messages on the
FCP270 and ZCP270. The feature is not supported on other control stations.
Key Parameters: SCOPT, CIN, SCTXT0, SCTXT1, IVO, SCGRP
State Change Option (SCOPT) specifies which state changes of the block output cause a State
Change message to be the generated.
NOTE
State Change messages are ignored by Alarm Alert, and are not shown in the Alarm
Display; they are printed on the alarm printers only.
A value of 0 in SCOPT disables State Change detection.
When SCOPT is set to 1, State Change messages are generated for any transition:
+ a message containing the text in State Change Text 1 (SCTXT1) is sent after any
change from 0 to 1 in the value of CIN
+ a message containing the text in State Change Text 0 (SCTXT0) is sent after any
change from 1 to 0 in the value of CIN.
NOTE
State Alarming is independent of state change detection based on SCOPT.
When SCOPT is set to 2, any change from 0 to 1 in the value of CIN results in a State Change
message containing the text string in SCTXT1.
When SCOPT is set to 3, any change from 1 to 0 in the value of CIN results in a State Change
message containing the text string in SCTXT0.
Any required inversion based on IVO is applied before state change detection.
While the State Change Group (SCGRP) parameter holds the group to which all State Change
messages are directed, Alarm Alert ignores these messages when they arrive.
B0193AX Rev AB 8. BIN Binary Input Block
256


8.5.11 Alarming (CP270 Only)
With I/A Series system software V8.4, the BIN block supports Bad I/O alarms and state change
alarms on the FCP270 and ZCP270. The alarming features are not supported on other control
stations.
The BIN block uses standard I/A Series alarm detection and reporting features to provide bad I/O
and state change alarms. The functionality is configured with the parameters described in
Table 8-5.
If MANALM=0, the selected alarming options are only applied when the block is in Auto mode;
if MANALM=1, the selected alarming options are applied when the block is in Auto and Manual
modes.
Refer to Control Processor 270 (CP270) Integrated Control Software Concepts (B0700AG) for infor-
mation on alarm functionality.
8.5.11.1 BAD I/O Alarms
Bad alarm detection is enabled when the bad alarm option (BAO) is set.
A Bad alarm message is generated for the input value when its status is bad (BIN.BAD). The Bad
alarm message is sent to all devices in the bad alarm group specified by the BAG parameter. This
message contains text string identifying the input value, the descriptive text in the BAT parameter,
and the loop identifier in the LOOPID parameter.
When the input value becomes good, a corresponding return-to-normal message is generated and
sent to all devices in the bad alarm group.
When the input value is bad, the following parameters and bits are set:
+ BAD bit in the alarm status parameter (ALMSTA.BAD)
+ UNACK parameter and the corresponding ALMSTA.UNACK bit.
+ CRIT parameter and its corresponding ALMSTA.CRIT are set to the BAP parameter
value
+ PRTYPE parameter and its corresponding ALMSTA.PRTYPE field are set to the Bad
alarm type.
When the input value returns to good status, BAD, CRIT, PRTYPE and their corresponding
fields in ALMSTA are cleared.
The UNACK parameter and the ALMSTA.UNACK bit are cleared in these cases:
+ When the alarm is acknowledged by an OM set operation at either the compound
level (by setting the compound UNACK=0) or at the block level (by setting the block
UNACK=0).
+ When all input values return to good status and INHOPT is set appropriately.
Table 8-5. BIN Block Alarm Parameters
Alarm Type Option Priority Group Text Default Display
BAD BAO=1 BAP BAG BAT BAD
State SAO=1 and
INVALM = 0 or
INVALM =1
SAP SAG NM0 or NM1 STATE
8. BIN Binary Input Block B0193AX Rev AB
257


+ When the block is shut down.
When UNACK is cleared, an Alarm Acknowledge message is generated and sent to all devices in
the bad alarm group.
8.5.11.2 State Alarms
State alarming occurs when the State Alarm Option (SAO) is set and:
+ The input transitions from 0 to 1 if INVALM is set to 0
+ The input transitions from 1 to 0 if INVALM is set to 1.
When the input value is in the alarm state, a state alarm message is sent to all devices in the alarm
group specified by the SAG parameter. This message also contains the descriptive text in the
NM1 parameter and the loop identifier in the LOOPID parameter.
When the input is no longer in the alarm state, a corresponding return-to-normal message is gen-
erated and sent to all devices in the state alarm group (SAG). This message contains the descrip-
tive text in the NM0 parameter.
When the state alarm exists, the STA bit is set in the alarm status parameter (ALMSTA.B6). If a
Bad alarm condition of a higher priority does not also exists, the CRIT parameter and its corre-
sponding ALMSTA.CRIT field are set to the SAP parameter value, and the PRTYPE parameter
and its corresponding ALMSTA.PRTYPE field are set to the State alarm type.
When the state alarm condition returns to normal status, and if a Bad alarm condition of higher
priority does not exist, ALMSTA.SA, CRIT, PRTYPE and their corresponding fields in
ALMSTA are cleared.
8.5.11.3 Alarm Management
Alarm Inhibiting/Disabling are supported using a combination of the compound CINHIB
parameter and the INHOPT and INHIB parameters in the BIN block, to allow the bad alarm
and state alarm messages to be inhibited and/or the alarm detection to disabled dynamically.
When an alarm is inhibited or disabled, an appropriate Alarm Disable message is generated and
sent to all devices in the respective alarm group. If the Alarm is unacknowledged, an Alarm
Acknowledge message is also sent to these devices., and the ALMSTA.INHIB bit is set.
When the alarm is uninhibited or enabled, an appropriate Alarm Enable message is generated and
sent to all devices in the respective alarm group. If all alarms are uninhibited, the
ALMSTA.INHIB bit also is cleared.
The Alarm Message Regeneration Time Interval (AMRTIN) parameter specifies the rate at which
alarm messages are generated for alarm conditions that have not been cleared. The interval is spec-
ified in seconds. The configured interval is rounded up to the closest value that is an even multi-
ple of the station BPC. A value of 0 disables alarm message regeneration. Parameters NASDB and
NASOPT provide control of nuisance alarms by applying a delay (set in NASDB) to return-to-
normal condition (NASOPT = 0), to alarm detection (NASOPT=1) or to both (NASOPT=2).
Refer to CP270 Integrated Control Software Concepts (B0700AG) on alarm regeneration.
8.5.12 Time Stamp
The time stamp (TSTAMP) parameter of the block is updated every time there is a change in the
CIN value. TSTAMP, which is expressed in units of milliseconds past midnight, is read from the
FBM when it is available there; otherwise, it is computed by the I/A Series control station.
B0193AX Rev AB 8. BIN Binary Input Block
258


NOTE
For a FOUNDATION fieldbus (FF) connection, a 4-byte ms since midnight time-
stamp is provided by the FF FBM and stored in the TSTAMP parameter.
259


9. BINR Redundant Binary Input
Block
This chapter covers the Redundant Binary Input (BINR) block features, parameters and
functions, and application diagrams.
NOTE
In this chapter, CP270 Only indicates BINR features that are supported only on the
Field Control Processor 270 (FCP270) and Z-form Control Processor 270
(ZCP270) with I/A Series system software V8.4 or later.
9.1 Overview
The Redundant Binary Input (BINR) block is a Distributed Control Interface (DCI) block.
(DCI blocks support connectivity of I/A Series control stations to various bus resident devices via
a general purpose interface.) BINR receives one binary value from an external device. The source
of the value can be specified as either two or three redundant inputs. The redundant inputs can
either be in the same device or in different devices. The blocks selection algorithm determines
which of the two or three input values is presented to the control strategy as the block output
BIN.
Figure 9-1. BINR Block Diagram
9.2 Basic Operation
The Redundant Binary Input (BINR) block receives inputs from 1, 2, or 3 device ECBs. The
inputs contain discrete values read from BI1_PT, BI2_PT, and BI3_PT in the device ECBs speci-
fied by IOMID1, IOMID2, and IOMID3 respectively. The ECBOPT parameter determines
whether the redundant inputs can be from the same device or in different devices. The ARBOPT
parameter enables the block to consider two or three redundant inputs. The blocks selection algo-
rithm then determines which of the two or three input values is to be presented to the control
strategy as the block output BIN. In Auto mode, this value is copied to parameter Contact Input
(CIN). In Manual mode, it is not copied to CIN, and you can set the value of CIN.
Input Processing
External Inputs
To Upstream
Block
Input from
Manual Set
2 or 3 Redundant
B0193AX Rev AB 9. BINR Redundant Binary Input Block
260


With I/A Series system software V8.4, the BINR block provides Bad I/O alarm and state change
alarm detection and reporting on the FCP270 and ZCP270.
Alarming is not supported on other control processors. If alarms are desired for applications on
these processors, separate CIN blocks can be used with connections to the CIN, BIN_1, BIN_2,
and BIN_3 parameters of the BINR block.
9.3 Features
The BINR block:
+ Reads up to three binary values from up to three external device ECBs, and arbitrates
between these redundant inputs
+ In Auto mode, copies its input to the Contact Input (CIN) parameter
+ In Manual mode, enables manual setting of the Contact Input (CIN) parameter.
+ Simulation option enables testing input to the control strategy without actual field
connections
+ Quality Status (QALSTA) provides value record status, block status and alarm status
in a single connectable output parameter (CP270 Only)
+ Bad I/O alarm and state change alarm detection and reporting (CP270 Only).
9.4 Parameters
Table 9-1. BINR Block Parameters
Name Description Type Accessibility Default Units/Range
Configurable Parameters
INPUTS
NAME block name string no-con/no-set 2 blanks 1 to 12 chars
TYPE block type short integer no-con/no-set BINR_TYPE 110
DESCRP block description string no-con/no-set 2 blanks 1 to 32 chars
PERIOD block sample time short integer no-con/no-set 1 0 to10, and 13 for CPs,
0 to 12 for Gateways
PHASE block execution phase short integer no-con/no-set 0 period specific
LOOPID loop/unit/batch identifier string no-con/set 2 blanks 1 to 32 chars
IOMID1 primary ECB identifier string no-con/no-set 2 blanks 1 to 12 chars
IOMID2 secondary ECB identifier string no-con/no-set 2 blanks 1 to 12 chars
IOMID3 tertiary ECB identifier string no-con/no-set 2 blanks 1 to 12 chars
BI1_PT primary bool input addrs string no-con/no-set blanks up to 32 chars, or device
specific
BI2_PT secondary bool input addrs string no-con/no-set blanks up to 32 chars, or device
specific
BI3_PT tertiary bool input addrs string no-con/no-set blanks up to 32 chars, or device
specific
MA manual/auto switch boolean con/set 0 0 to 1
INITMA initialize manual/auto short integer no-con/no-set 1 0 to 2
9. BINR Redundant Binary Input Block B0193AX Rev AB
261


ARBOPT arbitration option boolean no-con/no-set 0 0 = dual redundant
1 = triple redundant
BIN binary input boolean con/set 0 0 to 1
BIN_1 primary boolean input boolean con/no-set 0 0 to 1
BIN_2 secondary boolean input boolean con/no-set 0 0 to 1
BIN_3 tertiary boolean input boolean con/no-set 0 0 to 1
ECBOPT redundant ECB option boolean no-con/no-set 0 0 = nonredundant ECBs
1 = redundant ECBs
ANM point alarm name string no-con/no-set blank 0 to 12 chars
NM0 alarm state name 0 string no-con/no-set blank 0 to 12 chars
NM1 alarm state name 1 string no-con/no-set blank 0 to 12 chars
IVO invert option boolean no-con/no-set 0 0 to 1
INHOPT inhibit option short no-con/no-set 0 0 to 3
INVALM inhibit alarm boolean no-con/no-set 0 0 to 1
INHIB alarm inhibit boolean con/set 0 0 to 1
INHALM inhibit alarm packed b con/set 0 0 x FFFF
MANALM manual alarm option short integer no-con/set 0 0 to 1
SAO state alarm option boolean no-con/no-set 0 0 to 1
SAP state alarm priority integer con/set 5 1 to 5
SAG state alarm group short no-con/set 1 1 to 8
BAO bad alarm option boolean no-con/no-set 0 0 to 1
BAT bad alarm text string no-con/no-set blank 1 to 32 chars
BAP bad alarm priority integer con/set 5 1 to 5
BAG bad alarm group short no-con/set 1 1 to 8
SCOPT state change option short no-con/no-set 0 0 to 3
SCGRP state change group short no-con/set 1 1 to 8
SCTXTO state change 0 text string no-con/no-set blank 0 to 32 chars
SCTXT1 state change 1 text sting no-con/no-set blank 0 to 32 chars
AMRTIN alarm regeneration timer integer no-con/no-set 0 0 to 32767 sec
NASTDB nuisance alarm suppres-
sion deadband
long integer no-con/set 0 0 to 2147483647
NASOPT nuisance alarm suppres-
sion option
short no-con/set 0 0 to 2
SELOPT selection option short integer no-con/no-set 1 0 = retain previous value
1 = set False (0)
2 = set True (1)
SIMOPT simulation option boolean no-con/no-set 0 0 = no simulation
1 = simulation
UPDPER parm update period integer no-con/no-set 10000ms 0 to 2147483647 ms
Non-Configurable Parameters
OUTPUTS
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
ALMSTA alarm status packed long con/no-set 0 bit map
BLKSTA block status packed long con/no-set 0 0 to 0xFFFFFFFF
CIN block output boolean con/set
(in manual)
0 0 to 1
CRIT alarm criticality integer con/no-set 0 0 to 5
Table 9-1. BINR Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
B0193AX Rev AB 9. BINR Redundant Binary Input Block
262


9.4.1 Parameter Definitions
ACHNGE Alternate Change is an integer output which is incremented each time a
block parameter is changed via a Set command.
ALMOPT
(CP270 Only)
Alarm Options contain packed long values representing the alarm types
that have been configured as options in the block, and the alarm groups
that are in use. Table 9-2 shows how the parameter is used by the BINR
block.
INHSTA inhibit status packed long con/no-set 0 0 to 0xFFFFFFFF
PRTYPE priority type integer con/no-set 0 0 to 8
QALSTA quality status pack_b con/no-set 0 0 to 0xFFFF
SELECT selection indicator short integer con/no-set 0 0 to 3
TSTAMP time stamp long integer con/no-set 0 ms after midnight
UNACK unacknowledged alarm boolean con/no-set 0 0 to 1
VALSTS FF value status integer con/no-set 0 0 to 0xFFFF
DATA STORES
ALMOPT alarm options packed long no-con/no-set 0 0 to 0xFFFFFFFF
DEFINE no config errors boolean no-con/no-set 1 0 to 1
DEVID1 primary device identifier character no-con/no-set 2 blanks 1 to 6 characters
DEVID2 secondary device identifier character no-con/no-set 2 blanks 1 to 6 characters
DEVID3 tertiary device identifier character no-con/no-set 2 blanks 1 to 6 characters
ERCODE configuration error string no-con/no-set 2 blanks 1 to 43 chars
LOCKID lock identifier string no-con/no-set 2 blanks 8 to 13 chars
LOCKRQ lock request boolean no-con/no-set 0 0 to 1
OWNER owner name string no-con/set 2 blanks 1 to 32 chars
Table 9-1. BINR Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
Table 9-2. ALMOPT Parameter Format
Bit Number
1
(0 to 31)
1.
Bit 0 is the least significant, low order bit.
Configured Alarm Option, When True
0 (lsb) Alarm Group 8 in Use
1 Alarm Group 7 in Use
2 Alarm Group 6 in Use
3 Alarm Group 5 in Use
4 Alarm Group 4 in Use
5 Alarm Group 3 in Use
6 Alarm Group 2 in Use
7 Alarm Group 1 in Use
22 Bad I/O Alarm Configured
26 State Alarm Configured
9. BINR Redundant Binary Input Block B0193AX Rev AB
263


ALMSTA
(CP270 Only)
Alarm Status is a 32-bit output, bit-mapped to indicate the blocks alarm
states. Table 9-3 shows the bits used by the BINR block.
AMRTIN
(CP270 Only)
Alarm Message Regeneration Time Interval specifies the rate at which
alarm messages are generated for alarm conditions that have not been
cleared. The interval is specified in seconds. The configured interval is
rounded up to the closest value that is an even multiple of the station
BPC. A value of 0 disables alarm message regeneration.
ANM
(CP270 Only)
Alarm Name is a user-defined string of up to 12 characters which serves as
a point descriptor label for Bad alarm, state alarm and state change mes-
sages (for example, PLT3 F2 SDR).
ARBOPT Arbitration Option is a Boolean input that specifies dual redundancy
(DMR) or triple redundancy (TMR); 0 = False = DMR, 1 = True = TMR.
BAG
(CP270 Only)
Bad Alarm Group is a short integer input that directs Bad alarm messages
to one of eight groups of alarm devices. You can change the group number
through the workstation.
BAO
(CP270 Only)
Bad Alarm Option is a configurable option that enables alarm generation
for each state of BIN_1.BAD, BIN_2.BAD and BIN_3.BAD.
BAP
(CP270 Only)
Bad Alarm Priority is an integer input, ranging from 1 (highest priority) to
5 (default), that sets the priority level of the Bad alarm.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
U
N
A
K
I
N
H
S
T
A
B
A
DCRIT PRTYPE
Table 9-3. ALMSTA Parameter Format
Bit Number
(0 to 31)* Name Description, When True
Boolean
Connection
(B32 to B1)
0 to 4 PTYP_MSK Priority Type: See PRYTPE parameter for
values used in the BINR block
---
5 to 7 CRIT_MSK Criticality: 1 (highest priority) to 5 ---
22 BAD Bad I/O Alarm ALMSTA.B10
26 STA State Alarm ALMSTA.B6
29 INH Inhibit Alarm. This bit is set when any of
the blocks alarms is inhibited
ALMSTA.B3
30 UNAK Unacknowledged ALMSTA.B2
*Bit 0 is the least significant, low order bit.
B0193AX Rev AB 9. BINR Redundant Binary Input Block
264


BAT
(CP270 Only)
Bad Alarm Text is a user-configurable text string of up to 32 characters,
sent with the bad alarm message to identify it.
BIN Boolean Input contains the value read from BI1_PT, BI2_PT, or BI3_PT,
in the external device specified by IOMID1, IOMID2, or IOMID3
respectively after input processing. BIN displays this value at all times,
regardless of the block mode.
BIN_1 Primary Binary Input contains the discrete value read from BI1_PT, in the
device ECB specified by IOMID1.
BIN_2 Secondary Binary Input contains the discrete value read from BI2_PT, in
the device ECB specified by IOMID2.
BIN_3 Tertiary Binary Input contains the discrete value read from BI3_PT, in the
device ECB specified by IOMID3.
BI1_PT Primary Binary Input address identifies the source address in the external
device memory from which the block input is obtained. It is a string
whose syntax depends on the FBM and the fieldbus protocol of the
attached device.
+ For the FBM223 Profibus interface, BIx_PT must be configured
to contain a Profibus data identifier. This information identifies,
to the FBM, the address of the input data unit from the device.
Refer to PROFIBUS-DP Communication Interface Module
(FBM223) Users Guide (B0400FE) for further details.
+ For the FBM222 Redundant Profibus interface, the BIx_PT con-
figuration string uses the FBM223 syntax with extensions for
PROFIBUS-PA status, custom status and other features. Refer to
Implementing Profibus Networks in Foxboro Control Software Appli-
cations (B0750BE) for further details.
+ For the HART interface
(FBM214/214b/215/216/216b/218/244/245/247), BIx_PT
must be configured to contain a point address. This information
identifies, to the FBM, specific data in the HART data stream that
is to serve as the device data input to this block. Refer to HART
Communication Interface Modules Users Guide (B0400FF) for
details.
+ For the Modbus interface (FBM224), BIx_PT must be configured
to contain the address of a set of coils in a Modbus device. Refer to
Modbus Communication Interface Module (FBM224) Users Guide
for details.
+ For the FDSI (FBM230/231/232/23), BIx_PT contains a data
identifier to identify, to the FBM, specific data in the I/O data
stream and to specify the elements of the data. Refer to Field
Device System Integrators (FBM230/231/232/233) Users Guide
(B0700AH) for more information.
9. BINR Redundant Binary Input Block B0193AX Rev AB
265


+ For the FBM228 Redundant FOUNDATION fieldbus interface, the
point number syntax specifies reads of H1 device function block
parameters using a client/server or publisher/subscriber connec-
tion, as described in Implementing FOUNDATION fieldbus on an
I/A Series System (B0700BA) and Implementing FOUNDATION field-
bus (B0750BC).
BI2_PT Secondary Binary Input address identifies the source address in the exter-
nal device memory from which the block input is obtained. It is a string
whose syntax depends on the FBM and the fieldbus protocol of the
attached device, as described for BI1_PT.
BI3_PT Tertiary Binary Input address identifies the source address in the external
device memory from which the block input is obtained. It is a string
whose syntax depends on the FBM and the fieldbus protocol of the
attached device, as described for BI1_PT.
BLKSTA Block Status is a 32-bit output, bit-mapped to indicate various block oper-
ational states. For the BINR block, only the following bits are used:
CIN Block output CIN contains the same value as BIN when the block mode
is Auto and IVO=0. CIN contains the complement of BIN when the
Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
0 BAD1 Primary Point is BAD (CP 270 Only) BLKSTA.B32
1 BAD2 Secondary Point is BAD (CP 270 Only) BLKSTA.B31
2 BAD3 Tertiary Point is BAD (CP 270 Only) BLKSTA.B30
8 FBM1 Bad Status of primary ECB BLKSTA.B24
9 FBM2 Bad Status of secondary ECB BLKSTA.B23
10 FBM3 Bad Status of tertiary ECB BLKSTA.B22
11 MA Manual = 0, Auto = 1 BLKSTA.B21
14 UDEF Block Undefined BLKSTA.B18
15 ON Block ON BLKSTA.B17
23 DCIX Enhanced DCI block (CP 270 Only) BLKSTA.B9
* Bit 0 is the least significant, low order bit.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
D
C
I
X
O
N
U
D
E
F
M
A
F
B
M
3
F
B
M
2
F
B
M
1
B
A
D
3
B
A
D
2
B
A
D
1
B0193AX Rev AB 9. BINR Redundant Binary Input Block
266


block mode is Auto and IVO=1. In Manual, CIN is released and you can
set its value.
CRIT
CP270 Only
Criticality is an integer output that indicates the priority of the blocks
highest currently active alarm. The range is 1 (highest priority) to 5. An
output of 0 indicates the absence of alarms.
DEFINE Define is a data store which indicates the presence or absence of configura-
tion errors. The default is 1 (no configuration errors). When the block ini-
tializes, DEFINE is set to 0 if any configured parameters fail validation
testing. (See ERCODE for the list of all possible validation errors in this
block.) In that case, no further processing of the block occurs, including
further validation of remaining parameters. To return DEFINE to a True
value, you should correct all configuration errors and reinstall the block.
DESCRP Description is a user-defined string of up to 32 characters used to describe
the blocks function (for example, PLT 3 FURNACE 2 HEATER CON-
TROL).
DEVID1 Primary Device Identifier is a character array that specifies the 6-character
identifier of the first connected device. It is copied from the DEV_ID
configured in the ECB specified by IOMID1.
DEVID2 Secondary Device Identifier is a character array that specifies the 6-charac-
ter identifier of the second connected device. It is copied from the
DEV_ID configured in the ECB specified by IOMID2. If ECBOPT= 0,
DEVID2 is ignored.
DEVID3 Tertiary Device Identifier is a character array that specifies the 6-character
identifier of the third connected device. It is copied from the DEV_ID
configured in the ECB specified by IOMID3. If ECBOPT= 0, DEVID3
is ignored.
ECBOPT Redundant ECB Option specifies whether a single device ECB is to be
used for all input points or each input point is to be associated with a sep-
arate device ECB. The latter is required if the redundant input points are
in different devices. If ECBOPT is 0 (False), only one device ECB is used
for all points and is specified by IOMID1 (IOMID2 and IOMID3 are
ignored). If ECBOPT is 1 (True), then either two or three separate device
ECBs are used depending on whether dual or triple redundancy is speci-
fied. This decision is based on the configured parameter ARBOPT.
ERCODE Error Code is a character data store which indicates the type of configura-
tion error which caused the blocks DEFINE parameter to be set False,
unless indicated otherwise (see meanings below). Validation of configured
parameters does not proceed past the first error encountered by the block
logic. Each nonzero value of ERCODE results in an explanatory message
at the blocks detail display. For the BINR block, the following list shows
the possible messages you may see:
9. BINR Redundant Binary Input Block B0193AX Rev AB
267


If a DCI data connection cannot be resolved due to a lack of configuration
information, the block is marked DEFINED but the value is marked
OOS and one of the following strings is stored in ERCODE to indicate
the configuration error:
W62 - UNRESOLVED CONNECTION
W77 - FIELDBUS COMMUNICATIONS FAULT (FBM228 only)
W78 - INVALID FUNCTION BLOCK (FBM228 only)
W80 - FIELDBUS DEVICE NOT FOUND (FBM228 only)
W73 - FF FUNCTION BLOCK CONFIGURATION ERROR
(FBM228 only).
If a DCI data connection cannot be resolved for any other reason, the
block is marked UNDEFINED and one of the following strings is stored
in ERCODE to indicate the configuration error:
W74 - FF FUNCTION BLOCK DDITEM MISMATCH (FBM228
only)
W75 - FF FUNCTION BLOCK DDMBR MISMATCH (FBM228
only)
W76 - INVALID FF MODE CONFIGURATION (FBM228 only)
W79 - INVALID PARAMETER INDEX (FBM228 only)
W81 - INVALID PARENT DCI ECB PERIOD/PHASE (FBM228
only).
INHALM
(CP270 Only)
Inhibit Alarm contains packed boolean values that represent alarm genera-
tion inhibit request for each type of alarm configured in the block: for the
BINR block, only the following bits are used:
ERCODE Message Meaning
W52 INVALID I/O CHAN-
NEL/GROUP NO.
BI1_PT, BI2_PT, or BI3_PT
string is blank.
W62 UNRESOLVED CONNEC-
TION
Connection is not yet resolved.
(Block remains defined.)
W65 INVALID POINT ADDRESS FBM parsing algorithm finds
that a used BIx_PT is invalid.
W66 DUPLICATE CONNEC-
TION
There is a duplicate connection
to a particular point.
W67 INSUFFICIENT FBM MEM-
ORY/CONNECTIONS
There is no available memory or
point connections in the FBM.
W68 INVALID DEVICE CON-
NECTION
The device connection is invalid.
W69 INVALID POINT CON-
NECTION
The point connection is invalid.
B0193AX Rev AB 9. BINR Redundant Binary Input Block
268


There are no mnemonic names for the individual bits of INHALM.
INHIB
(CP270 Only)
Inhibit is a configurable, connectable and settable boolean that, when set,
suppresses all alarm message reporting. INHIB affects only alarm message
reporting; the alarm handling and detection functions are determined by
the INHOPT setting.
INHOPT
(CP270 Only)
Inhibit Option specifies the following actions applying to all block alarms:
+ 0 = When an alarm is inhibited, disables alarm messages but does
not disable alarm detection.
+ 1 = When an alarm is inhibited, disables both alarm messages and
alarm detection. If an alarm condition exists at the time the alarm
transitions into the inhibited state, the alarm indicator is cleared.
+ 2 = Same as 0 for inhibited alarms. For uninhibited alarms,
automatically acknowledges return-to-normal messages.
Into alarm messages can be acknowledged by explicitly setting
UNACK False.
+ 3 = Same as 1 for inhibited alarms. For uninhibited alarms,
automatically acknowledges return-to-normal messages.
Into alarm messages can be acknowledged by explicitly setting
UNACK False.
INHSTA
(CP270 Only)
Inhibit Status contains packed long values that represent the current
inhibit status of each alarm type configured in the block. Table 9-4 shows
how the parameter is used with the BINR block.
Bit
Number*
(0 to 15)
Description,
When True
Boolean
Connection
(B16 to B1)
6 Inhibit Bad I/O Alarm INHALM.B10
10 Inhibit State Alarm INHALM.B6
*Bit 0 is the least significant, low order bit.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
7
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
S
T
A
B
A
D
I
N
H
B
1
I
N
H
B
2
I
N
H
B
3
9. BINR Redundant Binary Input Block B0193AX Rev AB
269


INVALM
(CP270 Only)
Invert Alarm is a configured boolean which specifies the sense of CIN
transitions considered into alarm and return to normal in State alarm
messages. Values are:
+ 0 = CIN transitions from 0 to 1 are considered into alarm. State
alarm messages contain the NM1 string. Transitions from 1 to 0
are considered return to normal. State alarm messages contain
the NM0 string.
+ 1 = CIN transitions from 1 to 0 are considered into alarm. State
alarm messages contain the NM1 string. Transitions from 0 to 1
are considered return to normal. State alarm messages contain
the NM0 string.
In any case, State alarm detection is disabled when option SAO is false.
INITMA Initialize Manual/Auto specifies the desired state of the MA input under
certain initialization conditions, namely:
+ The block has just been installed into the I/A Series control sta-
tion database.
+ The I/A Series control station is rebooted.
+ The compound in which the block resides is turned on.
+ The INITMA parameter is modified via the Integrated Control
Configurator.
INITMA is ignored if MA has an established linkage.
When INITMA is asserted, the value set into MA is:
+ 0 (Manual) if INITMA = 0
+ 1 (Auto) if INITMA = 1
+ The MA value from the checkpoint file if INITMA = 2.
IOMID1 Primary ECB Identifier is a configurable string that specifies the path-
name of the ECB201 for the primary device, for the purpose of connect-
ing to (accessing) a field parameter that resides in the primary field device
hosted by a (parent) ECB200/202.
Table 9-4. INHSTA Parameter Format
Bit
Number*
(0 to 31) Name
Description,
When True
Boolean
Connection
(B32 to B1)
13 Primary Point Bad Alarm Inhibited INHSTA.B19
14 Secondary Point Bad Alarm Inhibited INHSTA.B18
15 Tertiary Point Bad Alarm Inhibited INHSTA.B17
22 BAD Bad I/O Alarm Inhibited INHSTA.B10
26 STA State Alarm Inhibited INHSTA.B6
*Bit 0 is the least significant, low order bit.
B0193AX Rev AB 9. BINR Redundant Binary Input Block
270


IOMID1 has the form CompoundName:BlockName, where Compound-
Name is the 1-12 character name of the local compound containing the
ECB, and BlockName is the 1-12 character block name of the ECB.
If the compound containing the ECB is the CPletterbug_ECB compound
where CPletterbug is the station letterbug of the CP, the CompoundName
may be omitted from the IOMID1 configuration. In this case, the 1-12
character ECB block name is sufficient.
IOMID2 Secondary ECB Identifier is a configurable string that specifies the path-
name of the ECB201 for the secondary device, for the purpose of connect-
ing to (accessing) a field parameter that resides in the secondary field
device hosted by a (parent) ECB200/202.
IOMID2 must be configured when dual or triple redundancy is specified.
For other details, see IOMID1 above.
IOMID3 Tertiary ECB Identifier is a configurable string that specifies the pathname
of the ECB201 for the tertiary device, for the purpose of connecting to
(accessing) a field parameter that resides in the tertiary field device hosted
by a (parent) ECB200/202.
IOMID3 must be configured when triple redundancy is specified. For
other details, see IOMID1 above.
IVO
(CP270 Only)
Invert Option, when true, causes the block to invert the value of the FBM
or FBC input or the BIN input before writing it to the CIN output. If
IVO is true, all alarming and state change message generation is based on
the inverted value of the input.
LOCKID
(CP270 Only)
Lock Identifier is a string identifying the workstation which has locked
access to the block via a successful setting of LOCKRQ. LOCKID has the
format LETTERBUG:DEVNAME, where LETTERBUG is the 6-charac-
ter letterbug of the workstation and DEVNAME is the 1 to 6 character
logical device name of the Display Manager task.
LOCKRQ
(CP270 Only)
Lock Request is a Boolean input which can be set True or False only by a
SETVAL command from the LOCK U/L toggle key on workstation dis-
plays. When LOCKRQ is set True in this fashion, a workstation identifier
accompanying the set command is entered into the LOCKID parameter
of the block. Thereafter, set requests to any of the blocks parameters are
honored (subject to the usual access rules) only from the workstation
whose identifier matches the contests of LOCKID. LOCKRQ can be set
False by any workstation at any time, whereupon a new LOCKRQ is
accepted, and a new ownership workstation identifier written to
LOCKID.
LOOPID Loop Identifier is a configurable string of up to 32 characters used to iden-
tify the loop or process with which the block is associated. It is displayed
on the detail display of the block, immediately below the faceplate.
9. BINR Redundant Binary Input Block B0193AX Rev AB
271


MA Manual/Auto is a Boolean input that controls the blocks operating state
(0 = False = Manual; 1 = True = Auto). When in Auto, the block output is
copied from BIN to CIN if the IVO parameter is not set. When in Auto,
CIN contains the complement of BIN if the IVO parameter is set. In
Manual the block output is not copied or inverted, and CIN becomes set-
table.
MANALM
(CP270 Only)
Manual Alarm Option is a configurable input which enables or disables
configured alarm options to function in Manual mode. Normally alarms
are processed only in the Auto mode. Values for the BINR block:
0 = No alarming in Manual
1 = Full alarming in Manual
NAME Name is a user-defined string of up to 12 characters used to access the
block and its parameters.
NASOPT
(CP270 Only)
Nuisance Alarm Suppression Alarm Option is a configurable, settable
short integer that specifies how the nuisance alarm delay is implemented:
+ 0 = Suppress nuisance alarms by delaying the Return-to-Normal
(default) by the length of time specified in NASTDB
+ 1 = Suppress nuisance alarms by delaying alarm detection by the
length of time specified in NASTDB
+ 2 = Suppress nuisance alarms by delaying both the Alarm Detec-
tion and the Return-to-Normal by the length of time specified in
NASTDB
NASTDB
(CP270 Only)
Nuisance Alarm Suppression Time Deadband is used to reduce the
number of alarm messages generated when a block parameter crosses back
and forth over an alarm limit. When the parameter is set to zero, an alarm
is generated each time the parameter is outside the limit and is cleared
each time it crosses back. Thus, a parameter that is fluttering at the alarm
limit can result in nuisance alarms. NASTDB specifies, in milliseconds, a
time that must lapse before the alarm is cleared and before another alarm
message can be generated. The specified value is rounded up to the nearest
even multiple of the control station BPC. If the parameter passes from
outside one limit to outside the opposite extreme, the deadband is
ignored.
NM0
(CP270 Only)
NM0 Name 0 is a user-defined string of up to 12 characters sent with a
State alarm message to indicate that the message is a return to normal
type. This means that CIN has transitioned from 1 to 0 if INVALM is
false, or 0 to 1 if INVALM is true.
NM1
(CP270 Only)
Name 1 is a user-defined string of up to 12 characters sent with a State
alarm message to indicate that the message is an into alarm type. This
means that CIN has transitioned from 0 to 1 if INVALM is false, or 1 to 0
if INVALM is true.
B0193AX Rev AB 9. BINR Redundant Binary Input Block
272


OWNER Owner is a string of up to 32 ASCII characters used to allocate control
blocks to applications. Attempts to set OWNER are successful only if the
present value of OWNER is the null string, an all-blank string, or identi-
cal to the value in the set request. Otherwise, the request is rejected with a
LOCKED_ACCESS error. OWNER can be cleared by any application by
setting it to the null string; this value is always accepted, regardless of the
current value of OWNER. Once set to the null string, the value can then
be set as desired.
PERIOD Period is an indexed input that dictates the blocks execution time base
and allowable PHASE values. For CP stations, PERIOD values range
from 0 to 10, and 13, and map to the time lengths shown in the following
table. For Gateways and Integrators, PERIOD values range from 0 to 12
and map to the time lengths specified in the device specific users guide.
* If the BPC is 0.2 second, this period is treated internally as 0.6 second, but
the PERIOD parameter remains 1.
** If the BPC is 2.0 seconds, this period is treated internally as 6.0 seconds, but
the PERIOD parameter remains 10.
*** Not available for CP stations.
****Available in CP40, CP40B, CP60 and later control processors.
PHASE Phase is an integer input that causes the block to execute at a specific BPC
within the time determined by the PERIOD. For instance, a block with
PERIOD of 3 (2.0 seconds) can execute within the first, second, third, or
fourth BPC of the 2-second time period, assuming the BPC of the
I/A Series station is 0.5 second. Refer to the appropriate Integrated Control
Software Concepts document (B0700AG or B0193AW).
PRTYPE
CP270 Only
Priority Type is an indexed output parameter that indicates the alarm type
of the highest priority active alarm. For the BINR block:
0 = No alarm
8 = Bad I/O alarm
9 = State alarm
QALSTA
(CP270 Only)
Quality Status parameter (QALSTA) is a non-configurable packed
boolean that provides a combination of value record status, block status
Period Length Period Length
0 0.1 second 7 10 minutes
1 0.5 second* 8 60 minutes
2 1.0 second 9 0.2 second
3 2.0 seconds 10 5.0 seconds**
4 10 seconds 11*** ----
5 30 seconds 12*** ----
6 1 minute 13**** 0.05 second
9. BINR Redundant Binary Input Block B0193AX Rev AB
273


(BLKSTA), and alarm status (ALMSTA) information in a single connect-
able output parameter. Available bits for this block are provided below.
SAG
(CP270 Only)
State Alarm Group is a short integer input that directs State alarm mes-
sages to one of eight groups of alarm devices.
SAO
(CP270 Only)
State Alarm Option is a configurable boolean which, when true, enables
the generation of State Alarms.
SAP
(CP270 Only)
State Alarm Priority is an integer input, ranging from 1 (highest priority)
to 5 (default), that sets the priority level.
SCGRP
(CP270 Only)
State Change Group is a short integer input that directs State Change
messages to one of eight groups of devices. However, Alarm Alert ignores
these messages when they arrive; State Change messages are printed only.
SCOPT
(CP270 Only)
State Change Option specifies which state changes of the block output
cause a State Change message to be the generated. These messages are
ignored by Alarm Alert, and are not shown in the Alarm Display; they are
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
Bit
Number
1
Definition Contents
Boolean Connection
(B32 to B1)
30 Alarms Unacknowledged ALMSTA.UNA QALSTA.B2
29 Alarms Inhibited ALMSTA.INH QALSTA.B3
26 State Alarm ALMSTA.STAL QALSTA.B6
22 Bad Alarm ALMSTA.IOBD QALSTA.B10
15 Bad Tertiary FBM BLKSTA.FBM3 QALSTA.B17
14 Bad Secondary FBM BLKSTA.FBM2 QALSTA.B18
13 Bad Primary FBM BLKSTA.FBM1 QALSTA.B18
12 Bad Tertiary Point BLKSTA.BAD3 QALSTA.B20
11 Bad Secondary Point BLKSTA.BAD2 QALSTA.B21
10 Bad Primary Point BLKSTA.BAD1 QALSTA.B22
5 Manual
2
BLKSTA.MA QALSTA.B27
2 Uncertain CIN.ERR status QALSTA.B30
1 Out-of-Service CIN.OOS status QALSTA.B31
0 Bad CIN.BAD status QALSTA.B32
1.
Bit 0 is the least significant, low order bit.
2.
Bit 5 is the inverse of the BLKSTA.MA bit (BLKSTA.B21).
B0193AX Rev AB 9. BINR Redundant Binary Input Block
274


printed on the alarm printers only. Depending on the value of SCOPT,
messages are generated for the following types of transitions (state
changes):
0 = No transitions (no messages generated)
1 = All transitions
2 = 0 to 1 transitions only
3 = 1 to 0 transitions only
SCTXT0
(CP270 Only)
State Change Text 0 is a text string sent with the State Change message to
indicate that the state has changed from 1 to 0, after any optional inver-
sion.
SCTXT1
(CP270 Only)
State Change Text 1 is a text string sent with the State Change message to
indicate that the state has changed from 0 to 1, after any optional inver-
sion.
SELECT Selection indicator shows which redundant BIN_x has been chosen by the
arbitration algorithm:
0 = none of the input values is selected
1 = primary input value is selected
2 = secondary input value is selected
3 = tertiary input value is selected.
SELOPT Selection Option is a configurable option that specifies the criteria for
selecting a redundant input in the BINR block when the arbitration algo-
rithm cannot resolve the choice. For the BINR block:
0 = retain the previous value
1 = set the value to 0 (False) (Default)
2 = set the value to 1 (True).
SIMOPT Simulation Option is a configurable parameter that specifies whether the
DCI block input/output value is to be simulated. When SIMOPT is con-
figured 1 (True), there are no DCI connections established for the block.
BIN, which is normally secured, is released (provided it is unlinked) and
becomes available for entry of simulated values.
TSTAMP The Time Stamp parameter of the block is updated every time there is a
change in the value of CIN. In Auto mode, this means that the field input
value of BIN changes. In Manual mode, it means that a new manual value
is set into CIN and written to the field device via the FBM. TSTAMP,
which is expressed in units of milliseconds past midnight, is read from the
FBM, when it is available there; otherwise, it is computed by the CP.
TYPE When you enter BINR or select it from a configurator list, an identifying
integer is created specifying this block type. For this block, the value of
TYPE is 110.
9. BINR Redundant Binary Input Block B0193AX Rev AB
275


UPDPER Update Period is a configurable non-settable long integer that specifies the
update period for certain types of client/server access to FOUNDATION
fieldbus H1 devices and PROFIBUS slave devices:
+ For the FBM228, the parameter defines the update period for cli-
ent/server access to device block parameters, as described in
Implementing FOUNDATION fieldbus on an I/A Series System
(B0700BA) or Implementing FOUNDATION fieldbus (B0750BC).
The parameter is not used for publisher/subscriber connections.
+ For the FBM222, the parameter defines the update period for acy-
clic communication between the FBM222 and the
PROFIBUS slave device, as described in Implementing Profibus
Networks in Foxboro Control Software Applications (B0750BE).
The parameter is not used for cyclic communications.
UNACK
CP270 Only
Unacknowledged is a Boolean output parameter that is set True for notifi-
cation purposes whenever the block goes into alarm. It is settable, but sets
are only allowed to clear UNACK to False, and never in the
opposite direction. UNACK is cleared by an operator acknowledge
pick on a default display, a user display, or the alarms display.
VALSTS Value Status is an output parameter of any DCI block that contains the
value status of a FOUNDATION fieldbus device function block or PROFI-
BUS-PA parameter provided by a DCI connection to a field device. For
other fieldbus types, VALSTS is meaningless.
Bits 0-1: Limits:
0 = Not limited
1 = High limited
2 = Low limited
3 = High and Low limited
Bits 2-5: Substatus (definition depends on Quality)
Bits 6-7: Quality:
0 = Bad
1 = Uncertain
2-3 = Good
Note: Bit 0 is the least significant, low order bit.
Each time the BINR block is executed, VALSTS reports the status of the
FF or PROFIBUS-PA value from the information in the DCI connection.
B0193AX Rev AB 9. BINR Redundant Binary Input Block
276


9.5 Functions
9.5.1 Detailed Diagram
Figure 9-2. BINR Block Operational Diagram
9.5.2 Associated ECBs
The configured parameters IOMID1, IOMID2, and IOMID3 of the BINR block specify one or
more ECB201s (the device ECBs) to connect to field parameters that reside in field devices hosted
by one or more ECB200s or ECB202s (the FBM ECBs). The PARENT parameter of each
ECB201 specifies the associated FBM ECB hosting the field device.
The IOMIDx may also directly specify parent FBM ECBs to retrieve parameters resident in the
FBMs themselves.
Parameter ECBOPT specifies whether a single ECB is to be used for all input points, or each
input point is to be associated with a separate ECB. (The latter is the required choice if the redun-
dant inputs are in different devices or FBMs.) If ECBOPT is false, only one ECB is used for all
points, and is specified by IOMID1. (IOMID2 and IOMID3 are ignored.). If ECBOPT is true,
then either two or three separate ECBs are used, depending on whether dual or triple redundancy
is specified. This decision is based on the configured parameter ARBOPT. When dual redun-
dancy (DMR) is specified, IOMID2 must be configured, and IOMID3 is ignored. With triple
redundancy (TMR), all three IOMIDx values must be configured.
IOMID1
BI1_PT
BIN
BIN = 0
AUTO
CIN
BIN = 1
BIN = Last Value
CIN = 0
CIN = 1
CIN = Last Value
SELOPT=1
SELOPT=2
SELOPT=0
SELOPT=1
SELOPT=2
SELOPT=0
AUTO
AND
AND
SIMOPT
1
0
BIN
AUTO
CIN AND
SIMULATED
VALUE
IOMID2
BI2_PT
IOMID3
BI3_PT
ECBOPT:
False = 1 ECB
True = 2 or 3 ECBs
1
0
ARBOPT
INVALID
BIN_1
BIN_2
BIN_3
SELOPT
SELECT
AND
SIMOPT
ECB Bad or Out-of-Service
9. BINR Redundant Binary Input Block B0193AX Rev AB
277


9.5.3 DCI Connections
The BINR block establishes up to three DCI connections to the specified ECBs at any one of the
following times:
+ The block is first installed (added to your control strategy).
+ The I/A Series control station in which it resides has just been rebooted.
+ A parameter of the block has been modified by the ICC or FoxCAE configurator.
+ A device or parent ECB specified by the BINR block has just been installed.
A DCI connection is added to a linked list of all the DCI connections, of any type, for all blocks
specifying the same ECB. This arrangement permits multiple DCI blocks, of differing data types,
to communicate with a single device at input/output scan time, on a scatter-gather basis. It also
allows multiple DCI connections in the same DCI block to be established (for example, connec-
tions in redundant type DCI blocks such as this one or for INI_PT connections in output type
blocks).
The following table shows the DCI connections for all combinations of ECBOPT and ARBOPT:
The DCI connections are deleted (for example, the linkages are removed from the linked lists for
the ECB or ECBs) when the BINR block is deleted.
9.5.4 Origins of Input Data
The device addresses supplying the input values are configured in strings in BI1_PT, BI2_PT, and
BI3_PT.
When ARBOPT is 0 (DMR), neither BI1_PT nor BI2_PT can be null, and BI3_PT is ignored.
When ARBOPT is 1 (TMR), BI1_PT, BI2_PT, and BI3_PT must not be null. These checks are
made at block validation time and violations of these rules result in the BINR block being set
undefined. Processing does not proceed further.
The format of the BIx_PT parameters is device specific. When the PIO maintenance task runs
after the DCI connections have been made, the BIx_PT strings used by the block are passed to
the FBM for parsing and validation. In DCI blocks, point identification strings are not parsed by
the control station.
If the first character of any used BIx_PT is blank, the BIx_PT string is not sent to the FBM, and
the block is set undefined with ERCODE = 52. The detail display shows W52 INVALID I/O
CHANNEL/GROUP NUMBER.
In each of the following cases, the block is also set undefined:
+ If the FBM parsing algorithm finds that BIx_PT is invalid, the detail display shows
W65 INVALID POINT ADDRESS with ERCODE = 65.
+ If there is a duplicate connection to any point, the detail display shows W66
DUPLICATE CONNECTION with ERCODE = 66.
PT = 0 ARBOPT = 0 (DMR) 2 DCI connections to one ECB
ECBOPT = 0 ARBOPT = 1 (TMR) 3 DCI connections to one ECB
ECBOPT = 1 ARBOPT = 0 (DMR) 2 DCI connections to two ECBs
ECBOPT = 1 ARBOPT = 1 (TMR) 3 DCI connections to three ECBs
B0193AX Rev AB 9. BINR Redundant Binary Input Block
278


+ If there is no available memory in the FBM, or if the maximum number of connec-
tions have been allocated in the FBM, the detail display shows W67
INSUFFICIENT FBM MEMORY/CONNECTIONS with ERCODE = 67.
+ If the device connection is invalid, the detail display shows W68 INVALID
DEVICE CONNECTION with ERCODE = 68.
+ If the point connection is invalid, the detail display shows W69 INVALID POINT
CONNECTION with ERCODE = 69.
The five tests listed above are also performed for any CO2_PT and, if used, CO3_PT and
INI_PT. The failure of any of these tests causes the block to be set undefined.
In the following case, the block remains defined:
+ If the connection is not yet resolved, the detail display shows W62 UNRE-
SOLVED CONNECTION with ERCODE = 62.
9.5.5 Processing the Status and Data of the Input Points
The status of the BI1_PT and BI2_PT inputs are processed together with the status of their
ECBs. If ARBOPT specifies TMR, there is a similar processing for the status of the BI3_PT input
and its ECB. For each of the two or three inputs, the status of its BIN_x parameter is set accord-
ing to the following rules.
The status of BIN_x is set to Out-of-Service if:
+ The appropriate device ECB status indicates that the field device is Off-line or Out-
of-Service.
+ The DCI connection cannot be configured due to lack of configuration information
in the FBM database.
+ The DCI is not yet connected (that is, the PIO maintenance task has not yet sent the
DATA_CONNECT message to the FBM for the linked-list addition described in
Section 9.5.3).
+ The DCI connection status information, which specifies the condition of the accessed
device parameter, indicates Out-of-Service, meaning (in general) that the parameter
value is unavailable.
+ The connection status information indicates Disconnected, meaning (in general) that
the parameter is not connected or not defined.
+ The connection status information indicates that the connection is not yet resolved.
The detail display shows W62 UNRESOLVED CONNECTION with
ERCODE = 62.
+ An ECB201 is specified and the ECB device status indicates that the DCI connection
is unresolved.
The status of BIN_x is set to Bad if:
+ The device ECB status indicates that the field device has failed.
+ The DCI connection status information indicates a bad value for the field device
parameter.
The status of BIN_x is set to Error if the status information indicates an uncertain or questionable
value of the field device parameter.
9. BINR Redundant Binary Input Block B0193AX Rev AB
279


Finally, if BIN_x is not Out-of-Service, the value of the input is copied into the value of BIN_x.
Otherwise, the last good value of BIN_x is retained.
The value and status of the individual BIN_x are available in three output parameters. In addi-
tion, they are used as the inputs to the arbitration algorithm.
9.5.6 Arbitration Algorithm
BIN_1, BIN_2, and BIN_3 each have a value and status, as described in the previous section. In
the table below, a BIN_x is Valid if its status is neither Bad nor Out-of-Service. Also, if ARBOPT
indicates DMR, BIN_3 is never Valid.
When the Select column reads See Case x, the arbitration process cannot select a candidate.
Configured parameter SELOPT then determines the value of BIN as follows:
+ If SELOPT = 0, BIN retains its previous value.
+ If SELOPT = 1, BIN is set false.
+ If SELOPT = 2, BIN is set true.
Output parameter SELECT shows which BIN_x has been selected:
+ If BIN_1 is selected, SELECT = 1
+ If BIN_2 is selected, SELECT = 2
+ If BIN_3 is selected, SELECT = 3
+ Otherwise, SELECT = 0
The status of BIN is set as follows:
+ Case 1, 2 or 3: status of BIN is Error (the Error status bit is set)
+ Case 4: status of BIN is Bad and Out-of-Service (the Bad and Out-of-Service status
bits are set).
BIN_1
Valid
BIN_2
Valid
BIN_3
Valid Test Select
Yes Yes Yes BIN_1, BIN_2 values are equal. BIN_1
Yes Yes Yes BIN_1, BIN_2 values are different
and BIN_1, BIN_3 values are equal.
BIN_1
Yes Yes Yes All other cases BIN_2
Yes Yes No BIN_1, BIN_2 values are equal. BIN_1
Yes Yes No BIN_1, BIN_2 values are different. See Case 1
Yes No Yes BIN_1, BIN_3 values are equal. BIN_1
Yes No Yes BIN_1, BIN_3 values are different. See Case 2
No Yes Yes BIN_2, BIN_3 values are equal. BIN_2
No Yes Yes BIN_2, BIN_3 values are different. See Case 3
Yes No No (No Test) BIN_1
No Yes No (No Test) BIN_2
No No Yes (No Test) BIN_3
No No No (No Test) See Case 4
B0193AX Rev AB 9. BINR Redundant Binary Input Block
280


9.5.7 Auto/Manual Arbitration
The Auto/Manual mode selection arbitrates between inputs by the operator (Manual) and inputs
from the field (Auto). Parameters MA and INITMA are used to establish the control mode of the
BINR block.
9.5.8 Operation in Auto Mode
In Auto mode, the input data and status from the two or three candidate inputs are processed and
arbitrated as described in the previous sections. The Bad, Out-of-Service, and Error bits from the
status of BIN are copied to the corresponding status bits of CIN. If neither the Bad nor Out-of-
Service bit is set, the value of BIN is also copied to the value of CIN. If either the Bad or Out-of-
Service bit is set, the value of BIN is not copied to CIN, and CIN retains its last good value.
9.5.9 Operation in Manual Mode
In Manual mode, the input data and status from the two or three candidate inputs are processed
and arbitrated as in the case of the Auto mode. Therefore, the value and status of BIN continues
to reflect the actual field inputs. However, neither the status nor the value of BIN is copied to
CIN, and CIN can be used for manual sets.
The output of the BINR block, as normally used by the control strategy is, therefore, the CIN
parameter, whether the block mode is Auto or Manual.
9.5.10 State Change Messages (CP270 Only)
With I/A Series system software V8.4, the BINR block supports state change messages on the
FCP270 and ZCP270. The feature is not supported on other control stations.
Key Parameters: SCOPT, CIN, SCTXT0, SCTXT1, IVO, SCGRP
State Change Option (SCOPT) specifies which state changes of the block output cause a State
Change message to be the generated.
NOTE
State Change messages are ignored by Alarm Alert, and are not shown in the Alarm
Display; they are printed on the alarm printers only.
A value of 0 in SCOPT disables State Change detection.
When SCOPT is set to 1, State Change messages are generated for any transition:
+ a message containing the text in State Change Text 1 (SCTXT1) is sent after any
change from 0 to 1 in the value of CIN
+ a message containing the text in State Change Text 0 (SCTXT0) is sent after any
change from 1 to 0 in the value of CIN.
NOTE
State Alarming is independent of state change detection based on SCOPT.
When SCOPT is set to 2, any change from 0 to 1 in the value of CIN results in a State Change
message containing the text string in SCTXT1.
9. BINR Redundant Binary Input Block B0193AX Rev AB
281


When SCOPT is set to 3, any change from 1 to 0 in the value of CIN results in a State Change
message containing the text string in SCTXT0.
Any required inversion based on IVO is applied before state change detection.
While the State Change Group (SCGRP) parameter holds the group to which all State Change
messages are directed, Alarm Alert ignores these messages when they arrive.
9.5.11 Alarming (CP270 Only)
With I/A Series system software V8.4, the BINR block supports Bad I/O alarms and state change
alarms on the FCP270 and ZCP270. The alarming features are not supported on other control
stations.
The BINR block uses standard I/A Series alarm detection and reporting features to provide alarms
for Bad I/O and/or state changes. The functionality is configured with the parameters described
in Table 9-5.
If MANALM=0, the selected alarming options are only applied when the block is in Auto mode;
if MANALM=1, the selected alarming options are applied when the block is in Auto and Manual
modes.
Refer to Control Processor 270 (CP270) Integrated Control Software Concepts (B0700AG) for infor-
mation on alarm functionality.
9.5.11.1 BAD I/O Alarms
Bad alarm detection is enabled when the bad alarm option (BAO) is set.
A Bad alarm message is generated for an input value when its status is bad (BIN_1.BAD,
BIN_2.BAD, BIN_3.BAD) independent of the status of the other inputs. The Bad alarm mes-
sage is sent to all devices in the bad alarm group specified by the BAG parameter. This message
contains text string identifying the input value (BAD1, BAD2, or BAD3), the descriptive text in
the BAT parameter, and the loop identifier in the LOOPID parameter.
When any input value becomes good, a corresponding return-to-normal message is generated and
sent to all devices in the bad alarm group. Bad alarm status information, however, is generated
only when all input values are bad.
When all input values are bad, the following parameters and bits are set:
+ BAD bit in the alarm status parameter (ALMSTA.BAD)
+ UNACK parameter and the corresponding ALMSTA.UNACK bit.
+ CRIT parameter and its corresponding ALMSTA.CRIT are set to the BAP parameter
value
+ PRTYPE parameter and its corresponding ALMSTA.PRTYPE field are set to the Bad
alarm type.
Table 9-5. AI Block Alarm Parameters
Alarm Type Option Priority Group Text
Default
Display
BAD BAO=1 BAP BAG BAT BAD
State SAO=1 SAP SAG NM0 or NM1 STATE
B0193AX Rev AB 9. BINR Redundant Binary Input Block
282


When all input values have returned to good status, CRIT, PRTYPE and their corresponding
fields in ALMSTA are cleared.
The UNACK parameter and the ALMSTA.UNACK bit are cleared in these cases:
+ When the alarm is acknowledged by an OM set operation at either the compound
level (by setting the compound UNACK=0) or at the block level (by setting the block
UNACK=0).
+ When all input values return to good status and INHOPT is set appropriately.
+ When the block is shut down.
When UNACK is cleared, an Alarm Acknowledge message is generated and sent to all devices in
the bad alarm group.
9.5.11.2 State Alarms
State alarming occurs when the State Alarm Option (SAO) is set and the selected FBM input
transitions from 0 to 1, or 1 to 0 if INVALM is set to 1.
When the selected input value is in the alarm state, a state alarm message is sent to all devices in
the alarm group specified by the SAG parameter. This message also contains the descriptive text in
the NM1 parameter and the loop identifier in the LOOPID parameter.
When the selected input value is no longer in the alarm state, a corresponding return-to-normal
message is generated and sent to all devices in the state alarm group (SAG). This message contains
the descriptive text in the NM0 parameter.
When the state alarm exists, the STA bit is set in the alarm status parameter (ALMSTA.B6). If a
Bad alarm condition of a higher priority does not also exists, the CRIT parameter and its corre-
sponding ALMSTA.CRIT field are set to the SAP parameter value, and the PRTYPE parameter
and its corresponding ALMSTA.PRTYPE field are set to the State alarm type.
When the state alarm condition returns to normal status, and if a Bad alarm condition of higher
priority does not exist, ALMSTA.SA, CRIT, PRTYPE and their corresponding fields in ALMSTA
are cleared.
9.5.11.3 Alarm Management
Alarm Inhibiting/Disabling are supported using a combination of the compound CINHIB
parameter and the INHOPT and INHIB parameters in the BINR block, to allow the bad alarm
and state alarm messages to be inhibited and/or the alarm detection to disabled dynamically.
When an alarm is inhibited or disabled, an appropriate Alarm Disable message is generated and
sent to all devices in the respective alarm group. If the Alarm is unacknowledged, an Alarm
Acknowledge message is also sent to these devices., and the ALMSTA.INHIB bit is set.
When the alarm is uninhibited or enabled, an appropriate Alarm Enable message is generated and
sent to all devices in the respective alarm group. If all alarms are uninhibited, the
ALMSTA.INHIB bit also is cleared.
The Alarm Message Regeneration Time Interval (AMRTIN) parameter specifies the rate at which
alarm messages are generated for alarm conditions that have not been cleared. The interval is spec-
ified in seconds. The configured interval is rounded up to the closest value that is an even multi-
ple of the station BPC. A value of 0 disables alarm message regeneration. Parameters NASDB and
NASOPT provide control of nuisance alarms by applying a delay (set in NASDB) to return-to-
normal condition (NASOPT = 0), to alarm detection (NASOPT=1) or to both (NASOPT=2).
9. BINR Redundant Binary Input Block B0193AX Rev AB
283


Refer to Control Processor 270 (CP270) Integrated Control Software Concepts (B0700AG) on alarm
features.
9.5.12 Time Stamp
The time stamp (TSTAMP) parameter of the block is updated every time there is a change in the
CIN value. TSTAMP, which is expressed in units of milliseconds past midnight, is read from the
FBM when it is available there; otherwise, it is computed by the I/A Series control station.
NOTE
For a FOUNDATION fieldbus (FF) connection, a 4-byte ms since midnight time-
stamp is provided by the FF FBM and stored in the TSTAMP parameter.
B0193AX Rev AB 9. BINR Redundant Binary Input Block
284


285


10. BLNALM Boolean Alarm
Block
This chapter covers the Boolean Alarm Block, or BLNALM, its features, parameters and
functions.
10.1 Overview
The Boolean Alarm Block, BLNALM, enables alarm message generation for up to 8 boolean
block outputs. For each input, you can assign a point descriptor and a unique state name for
going into, or coming out of, alarm.
10.1.1 I/O Diagram
Figure 10-1. BLNALM Block I/O Diagram
10.2 Features
Features are:
+ Supports alarming for up to 8 boolean inputs
+ Last good value retention
+ Alarm message and alarm notification inhibiting for all inputs.
Options are:
+ Per-point state change alarming (SAO_1 to SAO_8)
+ Per-point inversion (IVO_1 to IVO_8)
+ INHOPT specifies the actions to be taken when alarms are inhibited in the block.
Alarm & Block Status
Criticality
Priority Type
Inversion
Alarming
BLNALM
BLOCK
IN_2 through IN_8 (7 lines)
SAP_2 through SAP_8 (7 lines)
IN_1 Compound, Block, and Parameter
SAP_1 State Alarm Priority
Alarm Inhibit
B0193AX Rev AB 10. BLNALM Boolean Alarm Block
286


10.3 Parameters

10.3.1 Parameter Definitions
ACHNGE Alternate Change is an integer output which is incremented each time a
block parameter is changed via a Set command.
Table 10-1. BLNALM Block Parameters
Name Description Type Accessibility Default Units/Range
INPUTS
NAME block name string no-con/no-set blank 1 to 12 chars
TYPE block type integer no-con/no-set 24 BLNALM
DESCRP descriptor string no-con/no-set blank 1 to 32 chars
PERIOD block sample time short no-con/no-set 1 0 to 13
PHASE block phase number integer no-con/no-set 0 ---
LOOPID loopid string no-con/set blank 1 to 32 chars
IN_1 to IN_8 input point 1 to 8 boolean con/set 0 0 to 1
NM0_1 to NM0_8 pt1 to pt8 alarm state0 string no-con/no-set blank 1 to 12 chars
NM1_1 to NM1_8 pt1 to pt8 alarm state1 string no-con/no-set blank 1 to 12 chars
ANM_1 to ANM8 pt1 to pt8 alarm name string no-con/no-set blank 1 to 12 chars
INHIB alarm inhibit boolean con/set 0 0 to 1
INHALM Inhibit alarm pack_b con/set 0 0 to 0xFFFF
SAP_1 to SAP_8 pt1 to pt8 alarm priority integer con/set 5 [1..5]
INHOPT inhibit option short no-con/no-set 0 0 to 3
IVO_1 to IVO_8 pt1 to pt8 invert option boolean no-con/no-set 0 0 to 1
SAG_1 to SAG_8 pt1 to pt8 alarm group short no-con/set 1 [1..8]
SAO_1 to SAO_8 boolean alarm option 1 to 8 boolean no-con/no-set 0 0 to 1
AMRTIN alarm regeneration timer integer no-con/no-set 0 0 to 32767 s
Non-Configurable Parameters
OUTPUTS
ALMSTA alarm status pack_l con/no-set 0 bit map
BLKSTA block status pack_l con/no-set 0 bit map
CRIT criticality integer con/no-set 0 [0..5]
INHSTA inhibit status pack_l con/no-set 0 0 to 0xFFFFFFFF
PRTYPE priority type integer con/no-set 0 [0..10]
UNACK alarm notification boolean con/no-set 0 0 to 1
DATA STORES
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
ALMOPT alarm options pack_l no-con/no-set 0 0 to 0xFFFFFFFF
DEFINE no config errors boolean no-con/no-set 1 0 to 1
ERCODE config error string no-con/no-set 0 1 to 43 chars
LOCKID lock identifier string no-con/no-set blank 8 to 13 chars
LOCKRQ lock request boolean no-con/set 0 0 to 1
OWNER owner name string no-con/set blank 1 to 32 chars
10. BLNALM Boolean Alarm Block B0193AX Rev AB
287


ALMOPT Alarm Options contains packed long values representing the alarm types
that have been configured as options in the block, and the alarm groups
that are in use. For the BLNALM block, only the following unshaded bits
are used.
ALMSTA Alarm Status is a 32-bit output, bit-mapped to indicate the blocks alarm
states. For the BLNALM block, only the following bits are used:
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
Bit Number
1
(0 to 31)
1.
Bit 0 is the least significant, low order bit.
Configured Alarm Option When True
0 Alarm Group 8 in Use
1 Alarm Group 7 in Use
7 Alarm Group 1 in Use
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
U
N
A
K
I
N
H
S
T
A
LPNT1 to PNT8 CRIT PRTYPE
Bit
Number
(0 to 31)* Name Description When True
Boolean
Connection
(B32 to B1)
0 to 4 PTYP_MSK Priority Type: See parameter
PRTYPE for values used in
the BLNALM block
ALMSTA.B32
ALMSTA.B28
5 to 7 CRIT_MSK Criticality; 5 = lowest
priority, 1= highest
ALMSTA.B27
ALMSTA.B25
8 to 15 PNT1 to
PNT8
Points in STATE Alarm ALMSTA.B24
ALMSTA.B17
26 STAL State Change Alarm ALMSTA.B6
29 INH Alarm inhibit ALMSTA.B3
30 UNAK Unacknowledged ALMSTA.B2
* Bit 0 is the least significant, low order bit.
B0193AX Rev AB 10. BLNALM Boolean Alarm Block
288


AMRTIN Alarm Regeneration Timer is a configurable integer that specifies the time
interval for an alarm condition to exist continuously, after which a new
unacknowledged alarm condition and its associated alarm message is gen-
erated.
ANM_1 to ANM_8
Alarm Name for Inputs 1 through 8 are user-defined strings of up to
12 characters that identify the input as the cause of the event (that is, the
alarm source), in the alarm message. Each serves as a point descriptor
label, (for example, Plt3 F2 SDR).
BLKSTA Block Status is a 32-bit output, bit-mapped to indicate the blocks opera-
tional states. For the BLNALM block, only the following bits are used:
* Bit 0 is the least significant, low order bit.
CRIT Criticality is an integer output that indicates the priority, ranging from
1 to 5, of the blocks highest currently active alarm (1 is the highest prior-
ity). An output of zero indicates the absence of alarms.
DEFINE Define is a data store which indicates the presence or absence of configura-
tion errors. The default is 1 (no configuration errors). When the block ini-
tializes, DEFINE is set to 0 if any configured parameters fail validation
testing. In that case, no further processing of the block occurs. To return
DEFINE to a true value, correct all configuration errors and reinstall the
block.
DESCRP Description is a user-defined string of up to 32 characters that describe the
blocks function (for example, PLT 3 FURNACE 2 HEATER CON-
TROL).
ERCODE Error Code is a string data store which indicates the type of configuration
error or warning encountered. The error situations cause the blocks
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
W
L
C
K
O
N
U
D
E
F
Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
14 UDEF Undefined BLKSTA.B18
15 ON Compound On BLKSTA.B17
20 WLCK Workstation Lock BLKSTA.B12
10. BLNALM Boolean Alarm Block B0193AX Rev AB
289


DEFINE parameter to be set false, but not the warning situations. Valida-
tion of configuration errors does not proceed past the first error encoun-
tered by the block logic. The block detailed display shows the ERCODE
on the primary page, if it is not null. For the BLNALM block, the follow-
ing list specifies the possible values of ERCODE, and the significance of
each value in this block:
INHALM Inhibit Alarm is a packed Boolean input value that specifies the alarm
inhibit requests for each alarm type configured in the block. The
BLNALM block, uses the following bits:
There are no mnemonic names for the individual bits of INHALM.
INHIB Inhibit is a boolean input. When true, it inhibits all block alarms; the
alarm handling and detection functions are determined by the INHOPT
Message Value
W43 INVALID PERIOD/
PHASE COMBINATION
PHASE does not exist for given block
PERIOD, or block PERIOD not
compatible with compound PERIOD.
W46 INVALID INPUT
CONNECTION
The source parameter specified in the
input connection cannot be found in
the source block, or the source
parameter is not connectable, or an
invalid boolean extension connection
has been configured.
W53 INVALID
PARAMETER VALUE
A parameter value is not in the accept-
able range.
W58 INSTALL ERROR;
DELETE/UNDELETE
BLOCK
A Database Installer error has
occurred.
Bit Number*
(0 to 15) Description When True
Boolean Connection
(B16 to B1)
8 Inhibit Input Point 8 Alarm INHALM.B8
.
.
.
.
.
.
14 Inhibit Input Point 2 Alarm INHALM.B2
15 Inhibit Input Point 1 Alarm INHALM.B1
* Bit 0 is the least significant, low order bit.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B0193AX Rev AB 10. BLNALM Boolean Alarm Block
290


setting. Alarms may also be inhibited based on INHALM and the com-
pound parameter CINHIB.
INHOPT Inhibit Option specifies the following actions applying to all block alarms:
INHSTA Inhibit Status contains packed long values that represent the actual inhibit
status of each alarm type configured in the block. For the BLNALM
block, only the following bits are used:
* Bit 0 is the least significant, low order bit.
IN_1 to IN_8 Inputs 1 through 8 are boolean inputs. They identify the upstream out-
puts that are being monitored by the inputs of the block.
IVO_1 to IVO_8 Invert Options 1 through 8 are boolean inputs. When IVO is true, the
block inverts the value of the FBM input before writing it to the CIN out-
put. The state alarm messages process an off-to-on state change at the
input as an on-to-off state change. You can change IVO only by reconfig-
uring the block.
0 = When an alarm is inhibited, disable alarm messages but do
not disable alarm detection.
1 = When an alarm is inhibited, disable both alarm messages and
alarm detection. If an alarm condition already exists at the
time the alarm transitions into the inhibited state, clear the
alarm indicator.
2 = Same as 0 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages.
Into alarm messages may be acknowledged by explicitly set-
ting UNACK false.
3 = Same as 1 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages.
Into alarm messages may be acknowledged by explicitly set-
ting UNACK false.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
INH 1-8
Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
24 to 31 INH Inhibit Alarm status for
boolean outputs 1-8
INHSTA.B8
INHSTA.B1
10. BLNALM Boolean Alarm Block B0193AX Rev AB
291


LOCKID Lock Identifier is a string identifying the workstation which has locked
access to the block via a successful setting of LOCKRQ. LOCKID has the
format LETTERBUG:DEVNAME, where LETTERBUG is the 6-charac-
ter letterbug of the workstation and DEVNAME is the 1 to 6 character
logical device name of the Display Manager task.
LOCKRQ Lock Request is a boolean input which can be set true or false only by a
SETVAL command from the LOCK U/L toggle key on workstation dis-
plays. When LOCKRQ is set true in this fashion a workstation identifier
accompanying the SETVAL command is entered into the LOCKID
parameter of the block. Thereafter, set requests to any of the blocks
parameters are honored (subject to the usual access rules) only from the
workstation whose identifier matches the contents of LOCKID.
LOCKRQ can set false by any workstation at any time, whereupon a new
LOCKRQ is accepted, and a new ownership workstation identifier writ-
ten to LOCKID.
LOOPID Loop Identifier is a configurable string of up to 32 characters which iden-
tifies the loop or process with which the block is associated. It is displayed
on the detail display of the block, immediately below the faceplate.
NAME Name is a user-defined string of up to 12 characters used to access the
block and its parameters.
NM0_1 to NM0_8
Name 0, Inputs 1 through 8, are user-defined strings of up to
12 characters that describe, in event messages, a logical 1 to 0 transition
for Inputs 1 through 8.
NM1_1 to NM1_8
Name 1, Inputs 1 through 8, are user-defined strings of up to
12 characters that describe, in event messages, a logical 0 to 1 transition
for Inputs 1 through 8.
OWNER Owner is a string of up to 32 ASCII characters which are used to allocate
control blocks to applications. Attempts to set Owner are successful only
if the present value of Owner is the null string, an all-blank string, or iden-
tical to the value in the set request. Otherwise the request is rejected with a
LOCKED_ACCESS error. Owner can be cleared by any application by
setting it to the null string; this value is always accepted, regardless of the
current value of Owner. Once set to the null string, the value can then be
set as desired.
PERIOD Period is an indexed input that dictates the blocks execution time base
and allowable PHASE values. For stations other than Integrators and
Gateways, PERIOD values range from 0 to 13 and map to the following
period time lengths. (Integrator and Gateway blocks have different period
values than shown here.)
B0193AX Rev AB 10. BLNALM Boolean Alarm Block
292


* If the BPC is 0.2 sec., this period is treated internally as 0.6 sec., but the
PERIOD parameter remains 1.
** If the BPC is 2.0 sec., this period is treated internally as 6.0 sec., but the
PERIOD parameter remains 10.
*** If the BPC is 0.5 sec., this period is treated internally as 0.5 sec., but
the PERIOD parameter remains 11.
**** If the BPC is not 2.0 sec., this period is treated internally as 5.0 sec.,
but the PERIOD parameter remains 12.
***** Available in CP40, CP40B, CP60 and later control processors.
PHASE Phase is an integer input that causes the block to execute at a specific BPC
within the time determined by the PERIOD. For instance, a block with
PERIOD of 3 (2.0 sec) can execute within the first, second, third, or
fourth BPC of the 2-second time period, assuming the BPC of the Con-
trol Processor is 0.5 sec. Refer to the appropriate Integrated Control Soft-
ware Concepts document (B0700AG or B0193AW).
PRTYPE Priority Type is an indexed output parameter that indicates the alarm type
of the highest priority active alarm. The PRTYPE output of this block
includes the following alarm types:
0 = No active alarm
9 = State Alarm
SAG_1 to SAG_8 State Alarm Group, Inputs 1 through 8, are short integer inputs that
direct mismatch alarm messages to the corresponding group of alarm
devices. You can change the group number through the workstation.
SAO_1 to SAO_8 State Alarm Option, Inputs 1 through 8, when configured true, enable an
alarm message whenever the corresponding input changes state. You can
change SAO only by reconfiguring the block.
SAP_1 to SAP_8 State Alarm Priority, Inputs 1 through 8, are integer inputs (1 to 5), that
set the alarm priority for the mismatch alarm reporting (1 is the highest
priority).
Period Length Period Length
0 0.1 sec 7 10 min
1 0.5 sec* 8 60 min
2 1.0 sec 9 0.2 sec
3 2.0 sec 10 5.0 sec**
4 10 sec 11 0.6 sec***
5 30 sec 12 6.0 sec****
6 1 min 13 0.05 sec*****
10. BLNALM Boolean Alarm Block B0193AX Rev AB
293


TYPE When you enter BLNALM or select BLNALM from the block type
list under Show, an identifying integer is created specifying this block
type.
UNACK Unacknowledge is a boolean output that the block sets to True when it
detects an alarm. It is typically reset by operator action.
10.4 Functions
10.4.1 Detailed Operation
The BLNALM block monitors each of the up to eight boolean inputs that you have configured to
other block outputs using the input parameters IN_1 through IN_8.
When one of the inputs changes state the block, after confirming that alarming is not inhibited
for that point, and that the state alarm option for the particular input (SAO_x) is true, generates
an alarm message that includes the following block-level information:
+ The Block Name (NAME)
+ The Point Descriptor (ANM_x)
+ The Alarm State Name (NM1_x if the input is changing from 0 to 1, or, NM0_x if
the change is from 1 to 0)
+ Alarm Message Type (Alarm or Normal)
+ Priority (SAP_x)
+ Group (SAG_x)
Within the BLNALM block, the 0 to 1 transition always triggers the Alarm message while the
1 to 0 transition triggers the Normal message. Accordingly, the logical one state name (NM1_x)
is always sent with the going-into-alarm message and the logical zero state name (NM0_x) is
always sent with the return-to-normal message. If this convention is contrary to the input signal,
that is, if the actual input is entering the alarm state as it goes from 1 to 0, then configure the
Invert Option (IVO_x) for that particular input.
Unacknowledge (UNACK) is a boolean output parameter which is set true, for notification pur-
poses, whenever the block goes into alarm. It is settable, but sets are only allowed to clear
UNACK to false, and never in the opposite direction. The clearing of UNACK is normally via an
operator acknowledge pick on a default or user display, or via a user task.
INHALM is a parameter that is used in conjunction with the CINHIB compound parameter and
the INHIB block parameter to determine which alarm points are to be inhibited in the block.
The following table shows the value of INHALM which causes the inhibiting of each of the
points:
Table 10-2. INHALM Values
POINT INHALM Bit
IN_1 0x8000
IN_2 0x4000
IN_3 0x2000
B0193AX Rev AB 10. BLNALM Boolean Alarm Block
294


For example, you can inhibit alarming for points IN_2 and IN_5 by setting INHALM to
0x4800.
IN_4 0x1000
IN_5 0x0800
IN_6 0x0400
IN_7 0x0200
IN_8 0x0100
Table 10-2. INHALM Values (Continued)
POINT INHALM Bit
295


11. BOOL Boolean Variable Block
This chapter covers the Boolean Variable Block, or BOOL, its basic operation, features and
parameters.
11.1 Overview
The Boolean (BOOL) variable block provides data storage for a boolean value and its associated
user-specified state name (see Figure 11-1). The boolean value parameter is typically connected by
a sequence block or sequence language for use in a control strategy.
Figure 11-1. BOOL Block Functional Diagram
11.2 Basic Operation
The BOOL block contains a boolean output data variable parameter (VALUE) that can be set by
a set command to store a value for use by other blocks. The VALUE record contains a status field
in which an application can set the Bad and out-of-service (OOS) bits.
When the boolean VALUE is changed by a set command or block reconfiguration, the set com-
mand updates the STATE data store parameter with the corresponding user-specified true
(STATE1) or false (STATE0) name. This allows you to view the boolean VALUE as a named state
on process displays.
The BOOL block has a Detail Display for viewing and setting parameters. BOOL and other data
variable blocks appear on the Select display in the order they are configured, following all other
blocks in the compound.
The BOOL block does not contain PERIOD and PHASE parameters because it is not executed
by the compound processor. Using the Integrated Control Configurator, any number of BOOL
blocks can be inserted in the END DATA zone of any compound.
The BOOL block is validated whenever:
+ It is installed in the Control Processor (CP) database
+ The CP undergoes a reboot operation
+ The compound in which the block resides is turned on.
Application
False State Name (STATE0)
True State Name (STATE1)
Boolean
Value
Current
State
State Name (STATE) to
Application
Boolean Value (VALUE)
B0193AX Rev AB 11. BOOL Boolean Variable Block
296


Block validation does not change any parameter values that have not been reconfigured, except for
a CP reboot, in which case it installs the parameter values in the checkpoint file. If you turn the
compound off and then on, the VALUE parameter value is unchanged.
11.3 Features
The BOOL block provides the following features:
+ Boolean output data variable (VALUE) for storing a boolean value
+ User-defined state names (STATE0 and STATE1) that describe the true and false
states of VALUE
+ State string (STATE) for storing the name of the current state of VALUE.
11.4 Parameters

11.4.1 Parameter Definitions
DESCRP Descriptor is a user-defined string of up to 32 characters that describes the
block function (for example, HEATER ON/OFF).
NAME Name is a user-defined string of up to 12 characters used to access the
block and its parameters.
STATE State is a dynamic string that contains the name of the current state of the
VALUE parameter.
STATE0 State0 is a user-defined string of up to 32 characters that describes the
state when VALUE = 0.
Table 11-1. BOOL Block Parameters
Name Description Type Accessibility Default Units/Range
Configured Parameters
INPUTS
NAME block name string no-con/no-set 2 blanks 1 to 12 chars
TYPE block type integer no-con/no-set 152 BOOL
DESCRP block descriptor string no-con/no-set 2 blanks 1 to 32 chars
STATE0 state0 name string no-con/no-set 2 blanks 1 to 32 chars
STATE1 state1 name string no-con/no-set 2 blanks 1 to 32 chars
Non-Configured Parameters
OUTPUT DATA VARIABLE
VALUE variable value boolean 0 0 to 1
DATA STORES
STATE variable state name string no-con/no-set 2 blanks 1 to 32 chars
11. BOOL Boolean Variable Block B0193AX Rev AB
297


STATE1 State1 is a user-defined string of up to 32 characters that describes the
state when VALUE = 1.
TYPE Type is a system-level mnemonic label indicating the block type. Enter
BOOL or select BOOL from the block type list under SHOW when
configuring the block.
VALUE Value is a boolean output data variable that can be set by a set command
or block reconfiguration to store data for use by other blocks.
B0193AX Rev AB 11. BOOL Boolean Variable Block
298


299


12. BOUT Binary Output Block
This chapter covers the Binary Output (BOUT) block, its features, parameters and functions,
and application diagrams.
NOTE
This chapter describes the Distributed Control Interface (DCI) BOUT block. For a
description of how the BOUT block is used in PLC applications, refer to PLC Inter-
face Block Descriptions (B0193YQ).
NOTE
CP270 Only indicates BOUT features supported only on the Field Control Proces-
sor 270 (FCP270) and Z-form Control Processor 270 (ZCP270) with I/A Series
system software V8.4 or later.
12.1 Overview
The Binary Output (BOUT) block is a Distributed Control Interface (DCI) block. (DCI blocks
support connectivity of I/A Series control stations to various bus resident devices via a general
purpose interface.) BOUT sends one binary value to an address in an external device. It also con-
tinuously reports, to the I/A Series system, any changes made by the FBM to the field device value
at this address.
Figure 12-1. BOUT Block Diagram
Input
Processing
Output
Processing
Read-Back
Processing
Fail-Safe
Processing
Input
from
I/A Series
Cascade
Processing
To
Upstream
Block
To Field
Device (via
FBM)
Read-Back
from
Field Device
ECB
Fail-Safe
Read-Back
System
B0193AX Rev AB 12. BOUT Binary Output Block
300


12.2 Basic Operation
In the outbound direction, the BOUT block accepts a binary value from the control strategy, or
an operator set, and sends it to the addressed point. In the inbound direction, the blocks con-
firmed output structure allows any change in value in the FBM to be read back by the I/A Series
block. Thus, the block logic permits changes to the point value to be made at either end, with the
two ends remaining in sync at all times.
When in Auto, the BOUT block accepts a binary input from an upstream control strategy at
parameter Input (IN). In Manual, it accepts a binary value from an operator set, generally via an
I/A Series Display Manager or FoxView display, at parameter Set (SET). It sends this value to the
devices address, specified at parameter Point Number (PNT_NO).
If BOUT is in Manual, the SET and the block output Contact Output (COUT) parameters will
be updated with the readback value. If the BOUT is in Auto, and the binary input (IN) parameter
is unlinked, both IN and COUT will be updated with the readback value. If the BOUT is in
Auto, and the IN parameter is linked, the Control Processor will re-issue the write operation to set
the output to the IN value.
Output from BOUT is change driven when you configure parameter Secondary Timer
(SECTIM) as 0.0. The block only writes to the device when a change occurs in the value of IN
(Auto) or SET (Manual). If SECTIM is nonzero, an output is also forced when no change-driven
output has occurred for SECTIM seconds.
The confirmed structure of the block output COUT allows the value sent to the field device
address to be entered into the request component of COUT and allows the value read back
from the FBM to be reflected in the confirmed component. The value of COUT as shown in
displays, and as made available for connection to the control strategy, is always the confirmed
component. This is the value which has been written successfully to the field device. The value
that is sent to the field device as the request component of COUT is displayed at parameter Out-
put Request (COUTQ) to aid in diagnostic testing.
A change timer mechanism is used to keep the I/A Series end synchronized with the device end. If
a new I/A Series value is not accepted by the device within a pre-determined time, the I/A Series
control station re-initializes its inputs and its output value. The output value is retained for future
comparison against readback values, but is not sent to the field device at this time.
The block uses the parameters Initialization Output (INITCO) and Back Calculated Contact
Out (BKCO) to alert upstream blocks to various abnormal situations, and for cascade handling.
To force the I/A Series control station to Track during initialization procedures within the external
device, a specific signal intended for this purpose is made available to the BOUT block at a con-
figured Initialization Point Number (INI_PT) within the external device.
With I/A Series system software V8.4 and later, the BOUT block provides Bad I/O alarm detec-
tion and reporting on the FCP270 and ZCP270. The BOUT block does not provide alarming on
other control processors. If alarms are desired, a separate CIN block can be used with a connec-
tion to the COUT parameter of the BOUT block.
12. BOUT Binary Output Block B0193AX Rev AB
301


12.3 Features
The BOUT block provides the following features:
+ Separate block inputs for use in Auto and Manual
+ Specification of external device destination point as device-specific string
+ Output written to device only when output value changes
+ Optional periodic outputs added to change-driven outputs
+ Output values that are displayed as readback values
+ Change timer that assures initialization to external device value
+ Specific point reserved for tracking notification from external device
+ Open cascade notification to upstream blocks
+ Bad I/O alarm detection and reporting (CP270 Only)
+ Option to have the block switch to manual when input or readback status is Bad
(CP270 Only)
+ Option to have the block switch to manual when fail-safe is asserted (CP270 Only).
B0193AX Rev AB 12. BOUT Binary Output Block
302


12.4 Parameters
Table 12-1. BOUT Block Parameters
Name Description Type Accessibility Default Units/Range
Configurable Parameters
INPUTS
NAME block name string no-con/no-set 2 blanks 1 to 12 chars
TYPE block type short integer no-con/no-set BOUT_TYPE 143
DESCRP block description string no-con/no-set 2 blanks 1 to 32 chars
PERIOD block sample time short integer no-con/no-set 1 0 to10, and 13 for CPs,
0 to 12 for Gateways
PHASE block execution phase short integer no-con/no-set 0 ---
LOOPID loop/unit/batch identifier string no-con/set 2 blanks 1 to 32 chars
IOM_ID ECB identifier string no-con/no-set 2 blanks 1 to 12 chars
UPDPER update period long no-con/no-set 10000 0-2147483647
PNT_NO point number string no-con/no-set blanks device specific
MA manual/auto switch boolean con/set 0 0 to 1
INITMA initialize manual/auto short integer no-con/no-set 1 0 to 2
AUTSW auto switch boolean con/set 0 0 to 1
EROPT error option short integer no-con/no-set 0 0 to 2
FSOPTN fail-safe option short integer no-con/no-set 0 bit map
IN binary input boolean con/set 0 0 to 1
INI_PT initialize point number string no-con/no-set blanks device specific
MANSW manual switch boolean con/set 0 0 to 1
PRIBLK primary block short integer no-con/no-set 0 0 to 1
PRITIM primary cascade timer real no-con/no-set 0.0 seconds
RBKTIM readback timer real no-con/no-set 5.0 seconds
SECTIM secondary timer real no-con/no-set 0.0 seconds
SIMOPT simulation option boolean no-con/no-set 0 0 = no simulation
1 = simulation
MANFS manual if fail-safe boolean no-con/no-set 0 0 to 1
MBADOP manual if bad option boolean no-con/no-set 0 0 to 1
INHOPT inhibit option short no-con/no-set 0 0 to 3
INHIB alarm inhibit boolean con/set 0 0 to 1
BAO bad alarm option boolean no-con/no-set 0 0 to 1
BAT bad alarm text string no-con/no-set blank 1 to 32 chars
BAP bad alarm priority integer con/set 5 1 to 5
BAG bad alarm group short no-con/set 1 1 to 8
AMRTIN alarm regeneration timer integer no-con/no-set 0 0 to32767 sec
SETFS set fail-safe request boolean con/set 0 0 to 1
OUTPUTS
FSCOUT fail-safe Boolean output boolean con/no-set 0 0 to 1
Non-Configurable Parameters
OUTPUTS
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
12. BOUT Binary Output Block B0193AX Rev AB
303


12.4.1 Parameter Definitions
ACHNGE Alternate Change is an integer output which is incremented each time a
block parameter is changed via a Set command.
ALMOPT
CP270 Only
Alarm Options contain packed long values representing the alarm types
that have been configured as options in the block, and the alarm groups
that are in use. Table 12-2 shows how the parameter is used by the BOUT
block.

ALMSTA alarm status packed long con/no-set 0 bit map
BKCO back calculated output boolean con/no-set 0 0 to 1
BLKSTA block status packed long con/no-set 0 0 to 0xFFFFFFFF
COUT contact output boolean con/no-set 0 0 to 1
COUTQ output request boolean no-con/no-set 0 (shadow)
CRIT alarm criticality integer con/no-set 0 0 to 5
INHSTA inhibit status packed long con/no-set 0 0 to 0xFFFFFFFF
INITCO initialize output boolean con/no-set 0 0 to 1
PRTYPE priority type integer con/no-set 0 0 to 8
SET manual set request boolean con/set 0 0 to 1
TSTAMP time stamp long integer con/no-set 0 ms after midnight
UNACK unacknowledged alarm boolean con/no-set 0 0 to 1
VALSTS FF value status integer con/no-set 0 0 to 0xFFFF
DATA STORES
ALMOPT alarm options packed long no-con/no-set 0 0 to 0xFFFFFFFF
DEFINE no config errors boolean no-con/no-set 1 0 to 1
DEV_ID device identifier character no-con/no-set 6-character array
ERCODE configuration error string no-con/no-set 2 blanks 1 to 43 chars
LOCKID lock identifier string no-con/set 2 blanks 8 to 13 chars
LOCKRQ lock request boolean no-con/set 0 0 to 1
OWNER owner name string no-con/set 2 blanks 1 to 32 chars
Table 12-1. BOUT Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
Table 12-2. ALMOPT Parameter Format
Bit Number
1
(0 to 31) Configured Alarm Option, When True
0 (lsb) Alarm Group 8 in Use
1 Alarm Group 7 in Use
2 Alarm Group 6 in Use
3 Alarm Group 5 in Use
4 Alarm Group 4 in Use
5 Alarm Group 3 in Use
6 Alarm Group 2 in Use
B0193AX Rev AB 12. BOUT Binary Output Block
304


ALMSTA
CP270 Only
Alarm Status is a 32-bit output, bit-mapped to indicate the blocks alarm
states. Table 12-3 shows the bits used by the BOUT block.
AMRTIN
CP270 Only
Alarm Message Regeneration Time Interval specifies the rate at which
alarm messages are generated for alarm conditions that have not been
cleared. The interval is specified in seconds. The configured interval is
rounded up to the closest value that is an even multiple of the station
BPC. A value of 0 disables alarm message regeneration.
AUTSW Auto Switch forces the block mode to Auto. It is of higher priority than
configured, set, or linked values in MA, or the value of INITMA. It is of
lower priority than MANSW, however. If both MANSW and AUTSW are
True, the block mode is forced to Manual.
BAG
CP270 Only
Bad Alarm Group is a configurable, non-settable short integer parameter
used to specify the Alarm Group to be used for reporting Bad Alarm
messages in the block. The range is 1 (default) to 8.
7 Alarm Group 1 in Use
22 Bad I/O Alarm Configured
1.
Bit 0 is the least significant, low order bit.
Table 12-2. ALMOPT Parameter Format (Continued)
Bit Number
1
(0 to 31) Configured Alarm Option, When True
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
U
N
A
K
I
N
H
B
A
DCRIT PRTYPE
Table 12-3. ALMSTA Parameter Format
Bit
Number
(0 to 31)* Name
Description,
When True
Boolean
Connection
(B32 to B1)
0 to 4 PTYP_MSK Priority Type ---
5 to 7 CRIT_MSK Criticality: 1 (highest priority) to 5 ---
22 BAD Bad I/O Alarm ALMSTA.B10
29 INH Inhibit Alarm. This bit is set when
any of the blocks alarms is inhibited
ALMSTA.B3
30 UNAK Unacknowledged ALMSTA.B2
*Bit 0 is the least significant, low order bit.
12. BOUT Binary Output Block B0193AX Rev AB
305


BAO
CP270 Only
Bad Alarm Option is a configurable, non-settable Boolean parameter used
to specify whether or not Bad Alarming is to be performed in the block:
+ 0 (default) disables Bad Alarming
+ 1 enables Bad Alarming.
BAP
CP270 Only
Bad Alarm Priority is a configurable integer input used to specify the
Alarm Priority to be assigned to Bad Alarms in the block. BADPRI is
settable if unlinked. The range is 1 (highest) to 5 (default).
BAT
CP270 Only
Bad Alarm Text is a configurable, non-settable ASCII string of up to
32 characters used as descriptive text in Bad Alarm messages in the block.
BKCO Back Calculated Contact Output is set equal to the confirmed component
of COUT while the cascade is initializing. Since its purpose is to provide
the upstream block with a back-calculated value, you should connect
BKCO to the BCALCI parameter of that block.
BLKSTA Block Status is a 32-bit output, bit-mapped to indicate various block oper-
ational states. For the BOUT block, only the following bits are used:
COUT Contact Output is the value sent from the block to the connected field
device at point PNT_NO. The displayed value of COUT is always the
confirmed component.
Bit Number*
(0 to 31) Name Description When True
Boolean Connection
(B32 to B1)
6 TRK Device Initializing BLKSTA.B26
7 HLD Block Output Holding BLKSTA.B25
8 FBM Bad Status of ECB BLKSTA.B24
11 MA Manual = 0, Auto = 1 BLKSTA.B21
14 UDEF Block Undefined BLKSTA.B18
15 ON Block On BLKSTA.B17
20 WLCK Access Locked BLKSTA.B12
23 DCIX Enhanced DCI block (CP270 Only) BLKSTA.B9
24 FS Fail-Safe Active BLKSTA.B8
26 MAO M/A Override Active BLKSTA.B6
* Bit 0 is the least significant, low order bit.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
M
A
O
F
S
D
C
I
X
W
L
C
K
O
N
U
D
E
F
M
A
F
B
M
H
L
D
T
R
K
B0193AX Rev AB 12. BOUT Binary Output Block
306


COUTQ Output Request displays the value of the request component of the block
output for diagnostic purposes. It is not configurable.
CRIT
CP270 Only
Criticality is an integer output that indicates the priority of the blocks
highest currently active alarm. The range is 1 (highest priority) to 5. An
output of 0 indicates the absence of alarms.
DEFINE Define is a data store which indicates the presence or absence of configura-
tion errors. The default is 1 (no configuration errors). When the block ini-
tializes, DEFINE is set to 0 if any configured parameters fail validation
testing. (See ERCODE for the list of all possible validation errors in this
block.) In that case, no further processing of the block occurs, including
further validation of remaining parameters. To return DEFINE to a True
value, correct all configuration errors and reinstall the block.
DESCRP Description is a user-defined string of up to 32 characters used to describe
the blocks function (for example, PLT 3 FURNACE 2 HEATER CON-
TROL).
DEV_ID Device Identifier is a character array that specifies the 6-character identi-
fier of the connected device. It is copied from the DEV_ID configured in
the ECB specified by the IOM_ID parameter.
ERCODE Error Code is a character data store which indicates the type of configura-
tion error which caused the blocks DEFINE parameter to be set False,
unless indicated otherwise (see meanings below). Validation of configured
parameters does not proceed past the first error encountered by the block
logic. Each nonzero value of ERCODE results in an explanatory message
at the blocks detail display. For the BOUT block, the following list shows
the messages you may see:
ERCODE Message Meaning
W48 INVALID BLOCK OPTION PRITIM = zero is not allowed.
W52 INVALID I/O CHANNEL/GROUP
NO.
PNT_NO string is blank.
W62 UNRESOLVED CONNECTION Connection is not yet resolved. (Block remains
defined.)
W65 INVALID POINT ADDRESS FBM parsing algorithm finds that a used
BIx_PT is invalid.
W66 DUPLICATE CONNECTION There is a duplicate connection to a particular
point.
W67 INSUFFICIENT FBM MEM-
ORY/CONNECTIONS
There is no available memory or point connec-
tions in the FBM.
W68 INVALID DEVICE CONNECTION The device connection is invalid.
W69 INVALID POINT CONNECTION The point connection is invalid.
12. BOUT Binary Output Block B0193AX Rev AB
307


EROPT Error Option specifies the conditions under which IN is considered to
have bad status. It is used in determining whether there has been a bad-to-
good transition of IN.
If EROPT = 1, IN is considered Bad if its status word indicates Bad, Out-
of-Service, or Not On Scan. (If it is Not On Scan, then the source of the
connection has been deleted or is in a nonexistent compound, or there has
been a peer-to-peer failure.)
If EROPT = 2, IN is considered Bad in any of the above situations, and
when the Error bit in the status of IN is True.
FSCOUT Fail-safe Contact Output is the fail-safe value configured in a BOUT
block and downloaded into the FBM. It is used by the FBM, if the
FSOPTN is set in the BOUT block, to assert fail-safe action to a Boolean
output of a field device. The actions taken by the FBM (for example,
whether or not the FBM sends the fail-safe value to the field device) are
unique to the particular FBM subsystem. Refer to the subsystem user
guide for descriptions on how fail-safe functionality is implemented for
specific FBM types.
FSCOUT is also used to set the initial output value when the BOUT
block is installed and when the CP station is rebooted.
This parameter is currently not supported by Modbus FBM224.
FSOPTN Fail-Safe Option is a configurable option that specifies the fail-safe condi-
tions and action to be taken by the CP and the FBM for an output point
in a BOUT block. Any combination of the following options may be
configured:
+ Bit 0: 1 = assert fail-safe if input/measurement error (that is,
input/measurement is BAD, OOS, or has a broken connection).
Note that EROPT must be configured nonzero for this option to
take effect.
+ Bit 1: 1 = set/clear fail-safe when SETFS input is set/cleared.
+ Bit 2: 1 = assert fail-safe if control station-to-FBM communication
is lost (FBM option). This option will be enabled only if fail-safe
is enabled at the FBM level via the FSENAB parameter in
ECB200 or ECB202.
+ Bit 3
1
: 1 = set the output BAD status if input/measurement error
(that is, input/measurement is BAD, OOS, or has a broken
connection).
+ Bit 4
1
: 1 = set/clear the output BAD status when the SETFS input
is set/cleared.
+ Bit 5
1
: 1 = set the output BAD status if control station-to-FBM
communication is lost (FBM option). This option will be enabled
1.
Bits 3, 4 and 5 of FSOPTN only apply to FDSI FBMs. The FDSI FBM uses these options only
when interfacing to devices using protocols that support output point status.
B0193AX Rev AB 12. BOUT Binary Output Block
308


only if fail-safe is enabled at the FBM level via the FSENAB
parameter in ECB200 or ECB202.
Notes:
+ Bit 0 is the least significant, low-order bit.
+ For FDSI FBMs, the actual fail-safe actions to be taken for each
option are specified in the Field Device System Integrator (FDSI)
Users Guide (B0700AH).
+ This parameter is currently not supported by Modbus FBM224.
IN Binary Input is the value normally passed to COUT on a change-driven
basis when the block is in Auto mode. Readback changes and change
timer action can override the value specified by IN.
INHIB
CP270 Only
Inhibit is a configurable, connectable and settable boolean that, when set,
suppresses all alarm message reporting. INHIB affects only alarm message
reporting; the alarm handling and detection functions are determined by
the INHOPT setting.
INHOPT
CP270 Only
Inhibit Option specifies the following actions applying to all block alarms:
+ 0 = When an alarm is inhibited, disables alarm messages but does
not disable alarm detection.
+ 1 = When an alarm is inhibited, disables both alarm messages and
alarm detection. If an alarm condition exists at the time the alarm
transitions into the inhibited state, the alarm indicator is cleared.
+ 2 = Same as 0 for inhibited alarms. For uninhibited alarms,
automatically acknowledges return-to-normal messages.
Into alarm messages can be acknowledged by explicitly setting
UNACK False.
+ 3 = Same as 1 for inhibited alarms. For uninhibited alarms,
automatically acknowledges return-to-normal messages.
Into alarm messages can be acknowledged by explicitly setting
UNACK False.
INHSTA
CP270 Only
Inhibit Status contains packed long values that represent the current
inhibit status of each alarm type configured in the block. Table 12-4
shows how the parameter is used with the AI block.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
B
A
D
12. BOUT Binary Output Block B0193AX Rev AB
309


INITCO Initialization Output is a cascade initialization signal which is set True by
the block logic whenever the cascade is opened. You should connect
INITCO to the INITI input of the upstream block. The BOUT block
keeps INITCO True, for one cycle (PRIBLK = 0), until the acknowledge
is received from upstream (PRIBLK = 1 and PRITIM = 0.0), or for a fixed
time delay (PRIBLK = 1 and PRITIM = nonzero).
INITMA Initialize Manual/Auto specifies the desired state of the MA input under
certain initialization conditions, namely:
+ The block has just been installed into the I/A Series station
database.
+ The I/A Series station is rebooted.
+ The compound in which the block resides is turned on.
+ The INITMA parameter is modified via the Integrated Control
Configurator.
INITMA is ignored if MA has an established linkage.
When INITMA is asserted, the value set into MA is:
+ 0 (Manual) if INITMA = 0
+ 1 (Auto) if INITMA = 1
+ The MA value from the checkpoint file if INITMA = 2.
INI_PT Initialize Address is a configurable string that specifies the point address of
an optional Boolean input connection in the BOUT block. If INI_PT is
used, the block output tracks the readback value when this input Boolean
value is set. On a transition of this input value to zero, if PRIBLK is used,
the I/A Series cascade is initialized. The address syntax depends on the
FBM type and the fieldbus protocol of the attached device, as described
for PNT_NO on page 311.
IOM_ID ECB Identifier is a configurable string that specifies the pathname of the
ECB201 for the device, for the purpose of connecting to (accessing) a field
parameter that resides in a field device hosted by a (parent) ECB200/202.
IOM_ID has the form CompoundName:BlockName, where Compound-
Name is the 1-12 character name of the local compound containing the
ECB, and BlockName is the 1-12 character block name of the ECB.
If the compound containing the ECB is the CPletterbug_ECB compound
where CPletterbug is the station letterbug of the CP, the CompoundName
Table 12-4. INHSTA Parameter Format
Bit
Number*
(0 to 31) Name
Description,
When True
Boolean
Connection
(B32 to B1)
22 BAD Bad I/O Alarm Inhibited INHSTA.B10
*Bit 0 is the least significant, low order bit.
B0193AX Rev AB 12. BOUT Binary Output Block
310


may be omitted from the IOM_ID configuration. In this case, the 1-12
character ECB block name is sufficient.
LOCKID Lock Identifier is a string identifying the workstation which has locked
access to the block via a successful setting of LOCKRQ. LOCKID has the
format LETTERBUG:DEVNAME, where LETTERBUG is the 6-charac-
ter letterbug of the workstation and DEVNAME is the 1 to 6 character
logical device name of the Display Manager task.
LOCKRQ Lock Request is a Boolean input which can be set True or False only by a
SETVAL command from the LOCK U/L toggle key on workstation dis-
plays. When LOCKRQ is set True in this fashion, a workstation identifier
accompanying the set command is entered into the LOCKID parameter
of the block. Thereafter, set requests to any of the blocks parameters are
honored (subject to the usual access rules) only from the workstation
whose identifier matches the contests of LOCKID. LOCKRQ can be set
False by any workstation at any time, whereupon a new LOCKRQ is
accepted, and a new ownership workstation identifier written to
LOCKID.
LOOPID Loop Identifier is a configurable string of up to 32 characters used to iden-
tify the loop or process with which the block is associated. It is displayed
on the detail display of the block, immediately below the faceplate.
MA Manual/Auto is a Boolean input that controls the blocks operating state
(0 = False = Manual; 1 = True = Auto). When in Auto mode, the block is
taken from IN, usually from the upstream connection. In Manual mode,
the input is taken from SET, usually via operator sets.
MANFS
CP270 Only
Manual if Fail-safe allows recovery from FBM fail-safe at the block in
which MANFS is set. If MANFS = 1, the output state is forced to manual
mode when the block detects the FBM being in fail-safe. The option only
takes effect if MA is unlinked. MANFS takes precedence over AUTSW
and INITMA.
Fail-safe in the block is cleared as soon as the output is changed.
For cascade operations, it is recommended that MANFS be enabled in
only one block.
MANSW Manual Switch, when True, forces the block into Manual mode. It is of
higher priority than any other method of establishing the value MA, since
it overrides configured, set, or linked values. MANSW is also of higher
priority than AUTSW or INITMA.
MBADOP
CP270 Only
Manual if Bad Option is manual override feature which, when set TRUE,
causes the block to go into Manual mode if the output value status is BAD
or IN value status is BAD.
NAME Name is a user-defined string of up to 12 characters used to access the
block and its parameters.
12. BOUT Binary Output Block B0193AX Rev AB
311


OWNER Owner is a string of up to 32 ASCII characters used to allocate control
blocks to applications. Attempts to set OWNER are successful only if the
present value of OWNER is the null string, an all-blank string, or identi-
cal to the value in the set request. Otherwise, the request is rejected with a
LOCKED_ACCESS error. OWNER can be cleared by any application by
setting it to the null string; this value is always accepted, regardless of the
current value of OWNER. Once set to the null string, the value can then
be set as desired.
PERIOD Period is an indexed input that dictates the blocks execution time base
and allowable PHASE values. For CP stations, PERIOD values range
from 0 to 10, and 13, and map to the time lengths shown in the following
table. For Gateways and Integrators, PERIOD values range from 0 to 12
and map to the time lengths specified in the device specific users guide.
* If the BPC is 0.2 second, this period is treated internally as 0.6 second, but
the PERIOD parameter remains 1.
** If the BPC is 2.0 seconds, this period is treated internally as 6.0 seconds, but
the PERIOD parameter remains 10.
*** Not available for CP stations.
****Available in CP40, CP40B, CP60 and later control processors.
PHASE Phase is an integer input that causes the block to execute at a specific BPC
within the time determined by the PERIOD. For instance, a block with
PERIOD of 3 (2.0 seconds) can execute within the first, second, third, or
fourth BPC of the 2-second time period, assuming the BPC of the
I/A Series station is 0.5 second. Refer to the appropriate Integrated Control
Software Concepts document (B0700AG or B0193AW).
PNT_NO Point Number identifies the address in the external device memory (or
external device data stream) to which the block output is directed. The
address syntax depends on the FBM type and the fieldbus protocol of the
attached device:
+ For the FBM223 Profibus interface, PNT_NO must be config-
ured to contain a Profibus data identifier. This information
identifies, to the FBM, the address of the input data unit from the
device. Refer to PROFIBUS-DP Communication Interface Module
(FBM223) Users Guide (B0400FE) for further details.
Period Length Period Length
0 0.1 second 7 10 minutes
1 0.5 second* 8 60 minutes
2 1.0 second 9 0.2 second
3 2.0 seconds 10 5.0 seconds**
4 10 seconds 11*** ----
5 30 seconds 12*** ----
6 1 minute 13**** 0.05 second
B0193AX Rev AB 12. BOUT Binary Output Block
312


+ For the FBM222 Redundant Profibus interface, the PNT_NO
configuration string uses the FBM223 syntax with extensions for
PROFIBUS-PA status, custom status and other features. Refer to
Implementing Profibus Networks in Foxboro Control Software Appli-
cations (B0750BE) for further details.
+ For the HART interface
(FBM214/214b/215/216/216b/218/244/245/247), PNT_NO
must be configured to contain a point address. This information
identifies, to the FBM, specific data in the HART data stream that
is to serve as the device data input to this block. Refer to HART
Communication Interface Modules Users Guide (B0400FF) for
details.
+ For the Modbus interface (FBM224), PNT_NO must be config-
ured to contain the address of a set of coils in a Modbus device.
Refer to Modbus Communication Interface Module (FBM224)
Users Guide for details.
+ For the FDSI (FBM230/231/232/23), PNT_NO contains a data
identifier to identify, to the FBM, specific data in the I/O data
stream and to specify the elements of the data. Refer to Field
Device System Integrators (FBM230/231/232/233) Users Guide
(B0700AH) for more information.
+ For the FBM228 Redundant FOUNDATION fieldbus Interface, the
point number syntax specifies writes to an H1 device function
block parameter using a client/server or publisher/subscriber con-
nection, as described in Implementing FOUNDATION fieldbus on an
I/A Series System (B0700BA) and Implementing FOUNDATION field-
bus (B0750BC).
PRIBLK Primary Block indicates whether the BOUT block has a connection from
an upstream block (PRIBLK = 1) or not (PRIBLK = 0). Its value, together
with that of PRITIM, determines whether the BOUT block remains in
Hold for a fixed time delay, or ends the Hold after one cycle.
Use PRIBLK in a cascade situation when the source of the block's input
connection needs to be initialized.
Refer to PRIBLK and PRITIM Functionality on page 320 for more
information on this parameter.
PRITIM Primary Cascade Timer is a configurable parameter used to delay the clos-
ing of the cascade to a primary block, when the output is initialized in the
BOUT block. It is used only if the PRIBLK option is set.
Refer to PRIBLK and PRITIM Functionality on page 320 for more
information on this parameter.
PRTYPE
CP270 Only
Priority Type is an indexed output parameter that indicates the alarm type
of the highest priority active alarm. For the BOUT block:
0 = No alarm
8 = Bad I/O alarm.
12. BOUT Binary Output Block B0193AX Rev AB
313


RBKTIM Readback Timer is a configurable parameter used to time out changes
made by I/A Series system to the output of the BOUT block. If the output
change is not confirmed within the allowable timeout, the output is re-ini-
tialized to the readback value. Its default value is 5.0 seconds, but you can
configure different values to accommodate different response times from
the external device.
SECTIM Secondary Timer is a configurable parameter used to force the output of
the BOUT block to be written periodically to the FBM, regardless of
whether or not the output has changed. It can be used to prevent the FBM
from asserting fail-safe action under normal operating conditions.
SET Set is the value normally passed to COUT, on a change-driven basis, when
the block is in Manual mode. Readback changes and change timer action
can override the value specified by SET.
SETFS Set Fail-Safe Request is a configurable Boolean parameter that requests
fail-safe action to be set/reset by the FBM and/or field device for the spe-
cific output value of the BOUT block:
+ 0 = reset fail-safe request.
+ 1 = set fail-safe request
SIMOPT Simulation Option is a configurable parameter that specifies whether the
DCI block input/output value is to be simulated. In the DCI BOUT
block, the block output is stored into its readback value to simulate confir-
mation by the FBM.
TSTAMP The Time Stamp parameter of the block is updated every time there has
been a change in the value of the readback from the external device point
(that is, the current readback differs from the readback value obtained in
the last execution cycle). TSTAMP, which is expressed in units of millisec-
onds past midnight, is read from the FBM, when it is available there; oth-
erwise, it is computed by the control station.
TYPE When you enter BOUT or select it from a configurator list, an identifying
integer is created specifying this block type. For this block, the value of
TYPE is 143.
UNACK
CP270 Only
Unacknowledged is a Boolean output parameter that is set True for notifi-
cation purposes whenever the block goes into alarm. It is settable, but sets
are only allowed to clear UNACK to False, and never in the
opposite direction. UNACK is cleared by an operator acknowledge
pick on a default display, a user display, or the alarms display.
UPDPER Update Period is a configurable, non-settable long integer that is used to
specify the update period for client/server connections scheduled by the
FBM228 to read the device function block View 1, View 2 and View 4
parameters. The range is 0 to 2147483647 milliseconds; the default is
10000.
B0193AX Rev AB 12. BOUT Binary Output Block
314


VALSTS Value Status is an output parameter of any DCI block that contains the
value status of a FOUNDATION fieldbus function block parameter value or
PROFIBUS-PA parameter provided by a DCI connection to a field
device. For other fieldbus types, VALSTS is meaningless.
Bits 0-1: Limits:
0 = Not limited
1 = High limited
2 = Low limited
3 = High and Low limited
Bits 2-5: Substatus (definition depends on Quality)
Bits 6-7: Quality:
0 = Bad
1 = Uncertain
2-3 = Good
Note: Bit 0 is the least significant, low order bit.
Each time the BOUT block is executed, VALSTS reports the status of the
FF or PROFIBUS-PA value from the information in the DCI connection.
12. BOUT Binary Output Block B0193AX Rev AB
315


12.5 Functions
12.5.1 Detailed Diagram
Figure 12-2. BOUT Block Operational Diagram
12.5.2 Associated ECBs
The configured parameter IOM_ID in the BOUT block specifies an ECB201 (the device ECB)
to connect to a field parameter that resides in a field device hosted by an ECB200 or ECB202 (the
FBM ECB).
A
Input
Selection
MA
IN
SET
ECB Good
AND
Holding
Tracking
AND
AND
OR
Holding
Tracking
Output to
Field Device
Change
Timer
FBM Read-Back
A
Clear Timer
FBM
Readback
Timer
Expired
AND
Cascade
Processing
PRIBLK
Open Cascade
FBM Readback
Up to INITI
Up to
BCALCI
IN.ACK
INITCO
BKCO
BKCO.Status
ECB Status COUT Request.Status
COUT Read-back.Status
BKCO.Status
Periodic Output
PRITIM
Reinitialize
OR
or Simulated Value
(as selected per
SIMOPT)
CP270 Only:
AND
BAO
BAD Alarm
B0193AX Rev AB 12. BOUT Binary Output Block
316


The PARENT parameter of the ECB201 specifies the associated FBM ECB hosting the field
device.
IOM_ID may also directly specify the parent FBM ECB to connect to a parameter resident in the
FBM itself.
12.5.3 DCI Connections
The BOUT block establishes one or two DCI connections to the specified ECB at any one of the
following times:
+ When the block has just been installed.
+ When the I/A Series control station in which it resides is rebooted.
+ When a parameter of the block has been modified by the ICC or FoxCAE
configurator.
+ When the block is deployed from IACC or the InFusion Engineering Environment
after modification.
+ When a device or parent ECB specified by the BOUT block is installed.
A DCI connection is added to a linked list of all the DCI connections, of any type, for all blocks
specifying the same ECB. This arrangement permits multiple DCI blocks, of differing data types,
to communicate with a single device at input/output scan time, on a scatter-gather basis. It also
allows multiple DCI connections in the same DCI block to be established (for example, connec-
tions in redundant type DCI blocks such as this one, or for INI_PT connections in most output
type blocks such as this one).
The BOUT block always establishes a DCI connection for parameter PNT_NO. If parameter
INI_PT is configured with a nonnull value, a second DCI connection is established for it.
The DCI connections are deleted (that is, the linkages are removed from the linked lists for the
ECB) when the BOUT block is deleted.
These parameter connections are made by the FBM on a client/server basis at the frequency spec-
ified in the UPDPER parameter. The parameter can be set from 0 to 2147483647 milliseconds;
the default is 10000 (10 seconds). Increasing the frequency of the client/server communication
can significantly add to the load on the H1 segment.
12.5.4 Output Point and Initialization Input Point
The device address of the output is configured as a string in PNT_NO. The device address of the
initialization input is configured as a string in INI_PT.
If PNT_NO is null, the BOUT block is set undefined at validation time, and processing does not
proceed further. INI_PT may be null if it is not used.
The formats of the PNT_NO and INI_PT parameters are device-specific. After the DCI connec-
tions have been made, the PNT_NO (and the INI_PT string, if it is used by the block) is passed
to the FBM for parsing and validation. (In DCI blocks, point identification strings are not parsed
by the I/A Series control station.)
If the first character of PNT_NO is blank, the PNT_NO string is not sent to the FBM, and the
block is set undefined, with ERCODE = 52. The detail display shows W52 INVALID I/O
CHANNEL/GROUP NUMBER.
In each of the following cases, the block is also set undefined:
12. BOUT Binary Output Block B0193AX Rev AB
317


+ If PRITIM = 0, the detail display shows W48 INVALID BLOCK OPTION with
ERCODE = 48.
+ If the FBM parsing algorithm finds that PNT_NO is invalid, the detail display shows
W65 INVALID POINT ADDRESS with ERCODE = 65.
+ If there is a duplicate connection to any point, the detail display shows W66
DUPLICATE CONNECTION with ERCODE = 66.
+ If there is no available memory in the FBM, or if the maximum number of connec-
tions have been allocated in the FBM, the detail display shows W67
INSUFFICIENT FBM MEMORY/CONNECTIONS with ERCODE = 67.
+ If the device connection is invalid, the detail display shows W68 INVALID
DEVICE CONNECTION with ERCODE = 68.
+ If the point connection is invalid, the detail display shows W69 INVALID POINT
CONNECTION with ERCODE = 69.
In the following case, the block remains defined:
+ If the connection is not yet resolved, the detail display shows W62 UNRE-
SOLVED CONNECTION with ERCODE = 62.
If INI_PT is used, the tests described by the first six bullets above are repeated, but for INI_PT
rather than PNT_NO. The failure of any of these tests also causes the block to be set undefined.
12.5.5 Confirmed Output Parameters
As with most output parameters in DCI blocks, COUT is a confirmed output. A confirmed out-
put contains two components: a request value and a readback value. The request value is changed
by the I/A Series system end and sent to the external device, and the readback value is the value
read back each block cycle from the FBM.
In the BOUT block, the request value is made available for diagnostic purposes as parameter
COUTQ. (COUTQ is not shown on the detail display). Also, in the BOUT block, the readback
value is shown as parameter COUT.
12.5.6 Status of the Readback Value
The condition of the output readback in COUT, together with the status of the ECB, is deter-
mined each time the block is executed. The status bits of the COUT parameter are set according
to the following rules.
The status of COUT is set to Out-of-Service if one or more of the following conditions exist:
+ The device ECB status indicates that the field device is Off-line or Out-of Service.
+ The DCI connection cannot be configured, due to lack of configuration information
in the FBM database.
+ The DCI is not yet connected.
+ The DCI connection status information, which specifies the condition of the con-
nected device parameter, indicates Out-of-Service. This means (in general) that the
parameter value is unavailable from the field device.
+ The status information indicates Disconnected, meaning (in general) that the param-
eter is not connected or not defined.
B0193AX Rev AB 12. BOUT Binary Output Block
318


+ The connection status information indicates that the connection is not yet resolved.
The detail display shows W62 UNRESOLVED CONNECTION, with
ERCODE = 62.
+ An ECB201 is specified and the ECB device status indicates that the DCI connection
is unresolved.
The status of COUT is set to Bad if:
+ The device ECB status indicates that the field device has failed, or
+ The DCI connection status information indicates a bad value regarding the field
device parameter.
The status of COUT is set to Error if the status information indicates an uncertain or question-
able value of the field device parameter.
The status of COUT is set to Fail-safe if the status information indicates that the addressed device
parameter is in fail-safe.
If COUT is not Bad or Out-of Service, the value of the readback becomes the new value of
COUT. Otherwise, the previous last good value of COUT is retained.
With I/A Series system software V8.4 and later, the BOUT block on an FCP270 or ZCP270
switches to Manual mode when COUT is set Bad, if MBADOP =1. The block remains in Auto is
MADBOP = 0.This option is not supported on any other control processors.
12.5.7 Auto/Manual Switching
The Auto/Manual mode selection arbitrates between inputs by the operator (Manual) and inputs
from the field (Auto). Parameters MA, INITMA, AUTSW, and MANSW are used to establish
the control mode of the BOUT block.
With I/A Series system software V8.4 and above, the BOUT block provides two additional con-
trols of the block mode on the FCP270 and ZCP270:
+ When MANFS=1, the block switches to manual mode when the fail-safe is asserted to
allow recovery from FBM fail-safe at the block. The option only takes effect if MA is
unlinked. MANFS takes precedence over AUTSW and INITMA. Fail-safe in the
block is cleared as soon as the output is changed. For cascade operations, it is recom-
mended that MANFS be enabled in only one block.
+ When MBADOP=1, the block switches to manual mode when either the output
value status is BAD or the IN value status is BAD.
These options are not supported on other control processors.
12.5.8 Fail-Safe Functions
Fail-safe support is based on the following parameters:
+ FSOPTN This configured value specifies the condition(s) under which fail-safe is to
be asserted.
+ FSCOUT This configured value specifies the fail-safe value that is to be used by the
FBM when any condition specified in FSOPTN exists.
+ SETFS This boolean constitutes a command to assert fail-safe. It is only observed
when the appropriate FSOPTN so specifies.
12. BOUT Binary Output Block B0193AX Rev AB
319


+ MANFS (CP270 Only) When set to true (MANFS=1), this parameter forces the
block to Manual mode when fail-safe is asserted.
The FSOPTN conditions are:
+ Assert fail-safe when there is an input error at IN, as defined by EROPT (Bit 0)
+ Assert fail-safe when the block parameter SETFS has been set True (Bit 1)
+ Assert fail-safe, using the FSCOUT value, when communications between the I/A
Series control station and the FBM is lost (Bit 2). The block does not perform this
option; it is carried out by the FBM software. This option will be enabled only if fail-
safe is enabled at the FBM level via the FSENAB parameter in ECB200 or ECB202.
+ Set the output BAD status if Input/Measurement Error (Bit 3). The block does not
perform this option; it is carried out by the FBM software.
+ Set the output BAD status if SETFS is set (Bit 4). The block does not perform this
option; it is carried out by the FBM software.
+ Set the output BAD status if CP_FBM communications failure (Bit 5). The block
does not perform this option; it is carried out by the FBM software. This option will
be enabled only if fail-safe is enabled at the FBM level via the FSENAB parameter in
ECB200 or ECB202.
FSOPTN is a bit map, thereby allowing combinations of conditions for fail-safe to be specified.
If any of the FSOPTN conditions exists, and COUT is not Bad or Out-of-Service, the fail-safe
value is sent to the FBM when the BOUT block is shut down. This happens when turning off the
compound containing the BOUT block and when deleting the BOUT block or the compound
containing the BOUT block from the CP database. The actions taken by the FBM (for example,
whether or not the FBM sends the fail-safe value to the field device) are unique to the particular
FBM subsystem. Refer to the subsystem user guide for descriptions on how fail-safe functionality
is implemented for specific FBM types.
In addition, the FSCOUT value is sent to the field device via the FBM when the CP is rebooted.
This action is independent of the FSOPTN configuration.
With I/A Series system software V8.4 and later, the BOUT block on an FCP270 or ZCP270
switches to Manual mode when fail-safe is asserted, if MANFS =1. The block remains in Auto is
MANFS = 0. This option is not supported on any other control processors.
12.5.9 Time Stamp
The time stamp (TSTAMP) parameter of the block is updated every time there is a change in the
COUT value. TSTAMP, which is expressed in units of milliseconds past midnight, is read from
the FBM when it is available there; otherwise, it is computed by the I/A Series control station.
NOTE
For a FOUNDATION fieldbus (FF) connection, a 4-byte ms since midnight time-
stamp is provided by the FF FBM and stored in the TSTAMP parameter.
B0193AX Rev AB 12. BOUT Binary Output Block
320


12.5.10 Conditions for Sending a Block Output
There are several conditions that cause a new output from the BOUT block:
+ When a periodic output is required. Whenever SECTIM has been configured with a
positive value and there has been no output for SECTIM seconds, a block output is
forced and the secondary timer is reinitialized.
+ When a condition for fail-safe has been met in this cycle, but was not met in the pre-
vious cycle (start of a fail-safe period)
+ When a condition for fail-safe was present in the previous cycle but not in this cycle
(end of fail-safe period)
+ When a condition for fail-safe presently exists, but the DCI connection status infor-
mation indicates that the device parameter is not now in fail-safe (unaccepted or
delayed response to a fail-safe command)
+ When the connection status indicates that an initialization request exists this cycle,
but did not on the previous cycle (start of an IR period)
+ When the connection status indicates that an initialization request does not exist this
cycle, but did on the previous cycle (end of an IR period)
+ When the block is in Auto mode, and the value of IN has changed in this cycle
+ When the block is in Manual mode, and the value of SET has been changed in this
cycle
+ When this is an initialization cycle as defined in Section 12.5.16, including bad-to-
good transitions of IN when in Auto.
12.5.11 Sending the Output
When any of the first six conditions for sending a block output (listed in Section 12.5.10) exists,
the current value of SET (Manual) or IN (Auto) is sent to the external device point.
The Write Flag is then set in the output buffer. If the connection has an Initialization Request flag
set, the Initialization Acknowledge flag is also set in the output buffer. If the outputs are being
sent because of a fail-safe condition (see Section 12.5.10), the Fail-safe Request flag is also set in
the output buffer.
12.5.12 Status of Other Block Outputs
The Out-of Service and Bad status bits of the readback value in COUT are copied to the status of
COUT_request and BKCO. The Error and Fail-safe status bits of COUT are only copied to the
status of COUT_request.
12.5.13 PRIBLK and PRITIM Functionality
The Primary Block (PRIBLK) parameter indicates whether the BOUT block has a connection
from an upstream block (PRIBLK=1) or not (PRIBLK=0). Its value, together with that of the
Primary Cascade Timer (PRITIM), determines whether the BOUT block remains in Hold for a
fixed time delay, or ends the Hold after one cycle. Note that a Hold of one cycle only occurs dur-
ing initialization.
12. BOUT Binary Output Block B0193AX Rev AB
321


12.5.14 Change Timer
The purpose of the change timer is to facilitate monitoring by the block for an indication that the
external device point has received the most recent I/A Series system change. The block expects the
device to have received the new value within that time.
The timer is initialized to the configured value of RBKTIM (in seconds) each time a value is sent
to the external device. In each cycle thereafter, so long as there is no new output sent, the timer is
decremented and tested for expiration.
If the change timer expires, the current read-back value is compared against the value of the
COUT_request. If they differ, it is assumed that the output device should not change as a result
of the I/A Series system change (that is, that the most recent I/A Series system value sent was
rejected). The value of the read-back from the FBM is then set into SET, IN and COUT_request
to establish the new baseline for input change/detection.
If the change timer has not expired, the read-back value is compared against its previous value on
any cycle in which there is no new output. If they differ and the new read-back is not the same as
the current value of the COUT_request, the new readback is set into SET, IN, and
COUT_request.
12.5.15 Status of INI_PT
Transitions in the status of the initialization input INI_PT are used in determining whether block
initialization is required (see Section 12.5.17). This status is considered True if:
+ The device value of INI_PT is True (the external device has requested that the block
go into Tracking), or
+ The DCI connection status information indicates Initialization Request, Local Over-
ride, Fail-safe, or Open Cascade.
12.5.16 Initialization
The BOUT block initializes whenever the block is restarted, there is a bad-to-good transition of
the status of COUT, or there is a true-to-false transition in the status of INI_PT (see
Section 12.5.15).
Initialization action consists of setting the read-back value from the output point into IN, SET,
COUT, and COUT_request. The cascade is then opened to force an upstream initialization. See
Section 12.5.17. A block output is sent to the output point at this time.
If the block is in Auto mode, and there has been a bad-to-good transition in the status of IN, the
read-back value is set into IN, and the cascade is opened as above. The definition of Bad for the
status of IN depends on EROPT.
12.5.17 Cascade Processing
The cascade is opened when the block has initialized for any of the reasons listed in
Section 12.5.16. When the cascade is opened, INITCO, which should be connected to INITI
input of the block immediately upstream from the BOUT block (if there is an INITI parameter
in that block), is turned on. The status of BKCO, which should be connected to the BCALCI
input of the block immediately upstream, is set to indicate open cascade. The BOUT block
then goes into a Hold (see Section 12.5.18), thereby disallowing any output changes.
B0193AX Rev AB 12. BOUT Binary Output Block
322


The upstream block (the block connected to IN) is then commanded to run immediately. This
feature sets a Run flag in the header of the upstream block, causing the compound processor to
execute this block on the next BPC without regard to its period and phase.
If there is no support for cascade processing in the upstream block, configure PRIBLK = 0. In this
case, the cascade is held open for one cycle, after which the Hold is released. If closure of the cas-
cade is to occur after a specific timeout, configure PRIBLK = 1. In this case, PRITIM must be
configured with a nonzero value. The cascade is closed again after the PRITIM delay has expired.
(The BOUT block does not support the closed-loop ACK option for cascade closure. If PRIBLK
is True and PRITIM = 0, the block fails validation.)
12.5.18 Holding and Tracking
The block goes into Holding whenever IN is Bad, when COUT has Bad status, or when it is in
Auto mode with the cascade not closed.
The block goes into Tracking when the status of INI_PT is True and remains that way as long as
it remains True.
Ordinarily, no output changes are allowed while the block is in Holding or Tracking. The only
exception is when there has been a fail-safe request, as described earlier in Section 12.5.10.
12.5.19 Alarming (CP270 Only)
With I/A Series system software V8.4 and later, Bad I/O alarm detection and reporting are sup-
ported on the FCP270 and ZCP270. Alarming is not supported on any other control processors.
Bad alarm detection is enabled when the bad alarm option (BAO) is set.
A Bad alarm message is generated when the status of COUT is set Bad. The Bad alarm message is
sent to all devices in the bad alarm group specified by the BAG parameter. This message contains
text string identifying the input value (BAD), the descriptive text in the BAT parameter, and the
loop identifier in the LOOPID parameter.
When COUT is Bad, the following parameters and bits are set:
+ BAD bit in the alarm status parameter (ALMSTA.BAD)
+ UNACK parameter and the corresponding ALMSTA.UNACK bit.
+ CRIT parameter and its corresponding ALMSTA.CRIT are set to the BAP parameter
value
+ PRTYPE parameter and its corresponding ALMSTA.PRTYPE field are set to the Bad
alarm type.
When COUT becomes Good, a corresponding return-to-normal message is generated and sent to
all devices in the bad alarm group, and BAD, CRIT, PRTYPE and their corresponding fields in
ALMSTA are cleared.
The UNACK parameter and the ALMSTA.UNACK bit are cleared in these cases:
+ When the alarm is acknowledged by an OM set operation at either the compound
level (by setting the compound UNACK=0) or at the block level (by setting the block
UNACK=0).
+ When all input values return to good status and INHOPT is set appropriately.
+ When the block is shut down.
12. BOUT Binary Output Block B0193AX Rev AB
323


When UNACK is cleared, an Alarm Acknowledge message is generated and sent to all devices in
the bad alarm group.
Alarm Inhibiting/Disabling are supported using a combination of the compound CINHIB
parameter and the INHOPT and INHIB parameters in the BOUT block, to allow the bad alarm
messages to be inhibited and/or the alarm detection to disabled dynamically.
When the Bad alarm is inhibited or disabled, an appropriate Alarm Disable message is generated
and sent to all devices in the respective alarm group. If the Alarm is unacknowledged, an Alarm
Acknowledge message is also sent to these devices., and the ALMSTA.INHIB bit is set.
When the Bad alarm is uninhibited or enabled, an appropriate Alarm Enable message is generated
and sent to all devices in the respective alarm group. If all alarms are uninhibited, the ALM-
STA.INHIB bit also is cleared.
The Alarm Message Regeneration Time Interval (AMRTIN) parameter specifies the rate at which
alarm messages are generated for alarm conditions that have not been cleared. The interval is spec-
ified in seconds. The configured interval is rounded up to the closest value that is an even multi-
ple of the station BPC. A value of 0 disables alarm message regeneration. Parameters NASDB and
NASOPT provide control of nuisance alarms by applying a delay (set in NASDB) to return-to-
normal condition (NASOPT = 0) or to alarm detection (NASOPT=1).
Refer to CP270 Integrated Control Software Concepts (B0700AG) additional information on alarm
generation and management.
B0193AX Rev AB 12. BOUT Binary Output Block
324


325


13. BOUTR Redundant Binary
Output Block
This chapter covers the Redundant Binary Output (BOUTR) blocks basic operations, features,
parameters, and functions, fail-safe operations, and manual mode.
NOTE
CP270 Only indicates BOUTR features supported only on the Field Control
Processor 270 (FCP270) and Z-form Control Processor 270 (ZCP270) with
I/A Series system software V8.4 or later.
NOTE
The BOUTR block is currently only qualified for use with DCS FBMs for
Migration to Moore APACS+ systems. For more information on these DCS
FBMs, refer to the DCS Fieldbus Modules for Migration of Moore APACS+ Systems
Users Guide (B0700BK).
13.1 Overview
The Redundant Binary Output (BOUTR) block is a Distributed Control Interface (DCI) block.
(DCI blocks support connectivity of I/A Series control stations to various bus resident devices via
a general purpose interface.) BOUTR provides the control strategy with output capability for a
single digital output point directed to up to three external field devices. The BOUTR block also
continuously reports to the I/A Series system any changes made by the FBMs to the field device
value at these addresses.
13.2 Basic Operation
In the outbound direction, the BOUTR block accepts a binary value from the control strategy or
an operator set, and sends it to up to three addressed field devices. In the inbound direction, the
blocks confirmed output structure allows any change in value in the FBM to be read back by the
I/A Series block. Thus, the block logic permits changes to the point values to be made at either
end, with the two ends remaining in sync at all times.
When in Auto, the BOUTR block accepts a binary input from an upstream control strategy at
parameter Input (IN). In Manual, it accepts a binary value from an operator set, generally via an
I/A Series Display Manager or FoxView display, at parameter Set (SET). It sends this value to up
to three external field devices specified by the device identifier (DEVIDx) and point number
(COx_PT) parameters.
B0193AX Rev AB 13. BOUTR Redundant Binary Output Block
326


Figure 13-1. BOUTR Block Diagram
Output from BOUTR is change driven when you configure parameter Secondary Timer
(SECTIM) as 0.0. The block only writes to the device when a change occurs in the value of IN
(Auto) or SET (Manual). If SECTIM is nonzero, an output is also forced when no change-driven
output has occurred for SECTIM seconds.
The confirmed structure of the block output Contact Output (COUT) allows the value sent to
the field device address to be entered into the request component of COUT and allows the
value read back from the FBM to be reflected in the confirmed component. The value of
COUT as shown in displays, and as made available for connection to the control strategy, is
always the confirmed component. This is the value which has been written successfully to the
field device. The value that is sent to the field device as the request component of COUT is dis-
played at parameter Output Request (COUTQ) to aid in diagnostic testing. Signals that are read
back from the field devices are stored as connectable output parameters, CRBK_1, CRBK_2, and
CRBK_3.
A change timer mechanism is used to keep the I/A Series end synchronized with the device end. If
a new I/A Series value is not accepted by the device within a pre-determined time, the I/A Series
control station re-initializes its inputs and its output value. The output value is retained for future
comparison against readback values, but is not sent to the field device at this time.
The block uses the parameters Initialization Output (INITCO) and Back Calculated Contact
Out (BKCO) to alert upstream blocks to various abnormal situations, and for cascade handling.
Manual Input
Contact
Output
Output to
Redundant
Fail-safe
ECB
Fail-safe
Up to 3
Readback
Values
Write
Points
ECBs
Fail-safe
Processing
Inputs
M
A
ARBOPT
Options
Fail-safe
ECBOPT
Point
Selection
from
I/A Series
Readback
Processing
Readback
Requested
(Confirmed
Output)
Device and
Address
Identifiers
To Upstream
Cascade
Processing
Block
13. BOUTR Redundant Binary Output Block B0193AX Rev AB
327


To force the I/A Series control station to Track during initialization procedures within the external
device, a specific signal intended for this purpose is made available to the BOUTR block at a con-
figured Initialization Point Number (INI_PT) within the external device.
With I/A Series system software V8.4 and later, the BOUTR block provides Bad I/O alarm detec-
tion and reporting on the FCP270 and ZCP270. The BOUTR block does not provide alarming
on other control processors. If alarms are desired, a separate CIN block can be used with a con-
nection to the COUT parameter of the BOUTR block.
13.3 Features
The BOUTR block provides the following features:
+ Drives up to three redundant binary signals to field devices
+ Confirms one, two, or three binary values from associated external field devices, and
arbitrates between these redundant points
+ Manual mode availability for disconnecting the process from the control scheme, for
simulation and checkout purposes
+ Separate block inputs for use in Auto and Manual
+ Specification of external device destination points as device-specific strings
+ Simulation mode to permit block configuration without ECB/DCI connections
+ Output written to devices only when output value changes
+ Optional periodic outputs added to change-driven outputs
+ Output values that are displayed as readback values
+ Change timer that assures initialization to external device value
+ Fail-safe support
+ Specific point reserved for tracking notification from external device
+ Open cascade notification to upstream blocks.
+ Bad I/O alarm detection and reporting (CP270 Only)
+ Option to have the block switch to manual when input or readback status is Bad
(CP270 Only)
+ Option to have the block switch to manual when fail-safe is asserted (CP270 Only).
B0193AX Rev AB 13. BOUTR Redundant Binary Output Block
328


13.4 Parameters
Table 13-1. BOUTR Block Parameters
Name Description Type Accessibility Default Units/Range
Configurable Parameters
INPUTS
NAME block name string no-con/no-set 2 blanks 1 to 12 characters
TYPE block type short integer no-con/no-set BOUTR_TYPE 111
DESCRP block description string no-con/no-set 2 blanks 1 to 32 chars
PERIOD block sample time short integer no-con/no-set 1 0 to10, and 13 for CPs,
0 to 12 for Gateways
PHASE block execution phase short integer no-con/no-set 0 (period specific)
LOOPID loop/unit/batch identifier string no-con/set 2 blanks 1 to 32 characters
IOMID1 primary ecb address string no-con/no-set 2 blanks up to 32 characters
IOMID2 secondary ecb address string no-con/no-set 2 blanks up to 32 characters
IOMID3 tertiary ecb address string no-con/no-set 2 blanks up to 32 characters
CO1_PT boolean output 1 address string no-con/no-set blank device specific
CO2_PT boolean output 2 address string no-con/no-set blank device specific
CO3_PT boolean output 3 address string no-con/no-set blank device specific
UPDPER update period long no-con/no-set 10000 0-2147483647
MA manual/auto switch boolean con/set 0 0 to 1
INITMA initialize manual/auto short integer no-con/no-set 1 0 to 2
ARBOPT arbitration option boolean no-con/no-set 0 0 = dual redundant
1 = triple redundant
ECBOPT redundant ecb option boolean no-con/no-set 0 0 = non-redundant ecbs
1 = redundant ecbs
AUTSW auto override switch boolean con/set 0 0 to 1
EROPT error option short integer no-con/no-set 0 0 to 2
FSOPTN fail-safe option short integer no-con/no-set 0 bit map (see text)
IN binary input boolean con/set 0 0 to 1
INI_PT initialize point number string no-con/no-set 2 blanks device specific
MANSW manual override switch boolean con/set 0 0 to 1
PRIBLK primary block option short integer no-con/no-set 0 0 to 1
PRITIM primary cascade timer real no-con/no-set 0.0 seconds
RBKTIM readback timer real no-con/no-set 5.0 seconds
SECTIM secondary timer real no-con/no-set 0.0 seconds
SELOPT select option short integer no-con/no-set 0 0 to 3
SIMOPT simulation option boolean no-con/no-set 0 0 = no simulation
1 = simulation
MANFS manual if fail-safe boolean no-con/no-set 0 0 to 1
MBADOP manual if bad option boolean no-con/no-set 0 0 to 1
INHOPT inhibit option short no-con/no-set 0 0 to 3
INHIB alarm inhibit boolean con/set 0 0 to 1
BAO bad alarm option boolean no-con/no-set 0 0 to 1
BAT bad alarm text string no-con/no-set blank 1 to 32 chars
BAP bad alarm priority integer con/set 5 1 to 5
BAG bad alarm group short no-con/set 1 1 to 8
13. BOUTR Redundant Binary Output Block B0193AX Rev AB
329


13.4.1 Parameter Definitions
Parameters marked CP270 Only are supported only on the Field Control Processor 270 (FCP270)
and Z-form Control Processor 270 (ZCP270) with I/A Series system software V8.4 or later. The
parameters are ignored on other control stations.
ACHNGE Alternate Change is an integer output which is incremented each time a
block parameter is changed via a Set command.
AMRTIN alarm regeneration timer integer no-con/no-set 0 0 to32767 sec
SETFS set fail-safe request boolean con/set 0 0 to 1
OUTPUTS
FSCOUT fail-safe boolean output boolean con/no-set 0 0 to 1
Non-Configurable Parameters
OUTPUTS
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
ALMSTA alarm status packed long con/no-set 0 bit map
BKCO back calculated output boolean con/no-set 0 0 to 1
BLKSTA block status packed long con/no-set 0 0-0xFFFFFFFF
COUT contact output boolean con/no-set 0 0 to 1
COUTQ contact output request boolean no-con/no-set 0 (shadow)
CRBK_1 primary boolean readback boolean con/no-set 0 0 to 1
CRBK_2 secondary boolean read-
back
boolean con/no-set 0 0 to 1
CRBK_3 tertiary boolean readback boolean con/no-set 0 0 to 1
CRIT alarm criticality integer con/no-set 0 0 to 5
INHSTA inhibit status packed long con/no-set 0 0 to 0xFFFFFFFF
INITCO initialize output boolean con/no-set 0 0 to 1
PRTYPE priority type integer con/no-set 0 0 to 8
SELECT selection indicator short con/no-set 0 0 to 3
SET manual set request boolean con/set 0 0 to 1
TSTAMP time stamp long integer con/no-set 0 ms after midnight
UNACK unacknowledged alarm boolean con/no-set 0 0 to 1
VALSTS value status integer con/no-set 0 0-0xFFFF
DATA STORES
ALMOPT alarm options packed long no-con/no-set 0 0 to 0xFFFFFFFF
DEFINE no config errors boolean no-con/no-set 1 0 to 1
DEVID1 primary device identifier character no-con/no-set 2 blanks 1 to 6 characters
DEVID2 secondary device identifier character no-con/no-set 2 blanks 1 to 6 characters
DEVID3 tertiary device identifier character no-con/no-set 2 blanks 1 to 6 characters
ERCODE configuration error string no-con/no-set 2 blanks 1 to 43 chars (see text)
LOCKID lock identifier string no-con/set 2 blanks 8 to 13 chars
LOCKRQ lock request boolean no-con/set 0 0 to 1
OWNER owner name string no-con/set 2 blanks 1 to 32 characters
Table 13-1. BOUTR Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
B0193AX Rev AB 13. BOUTR Redundant Binary Output Block
330


ALMOPT
CP270 Only
Alarm Options contain packed long values representing the alarm types
that have been configured as options in the block, and the alarm groups
that are in use. Table 13-2 shows how the parameter is used by the
BOUTR block.
ALMSTA
CP270 Only
Alarm Status is a 32-bit output, bit-mapped to indicate the blocks alarm
states. Table 13-3 shows the bits used by the BOUTR block.
Table 13-2. ALMOPT Parameter Format
Bit Number
1
(0 to 31)
1.
Bit 0 is the least significant, low order bit.
Configured Alarm Option, When True
0 (lsb) Alarm Group 8 in Use
1 Alarm Group 7 in Use
2 Alarm Group 6 in Use
3 Alarm Group 5 in Use
4 Alarm Group 4 in Use
5 Alarm Group 3 in Use
6 Alarm Group 2 in Use
7 Alarm Group 1 in Use
22 Bad I/O Alarm Configured
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
U
N
A
K
I
N
H
B
A
DCRIT PRTYPE
Table 13-3. ALMSTA Parameter Format
Bit
Number
(0 to 31)* Name
Description,
When True
Boolean
Connection
(B32 to B1)
0 to 4 PTYP_MSK Priority Type ---
5 to 7 CRIT_MSK Criticality: 1 (highest priority) to 5 ---
22 BAD Bad I/O Alarm ALMSTA.B10
29 INH Inhibit Alarm. This bit is set when any of
the blocks alarms is inhibited
ALMSTA.B3
30 UNAK Unacknowledged ALMSTA.B2
*Bit 0 is the least significant, low order bit.
13. BOUTR Redundant Binary Output Block B0193AX Rev AB
331


AMRTIN
CP270 Only
Alarm Message Regeneration Time Interval specifies the rate at which
alarm messages are generated for alarm conditions that have not been
cleared. The interval is specified in seconds. The configured interval is
rounded up to the closest value that is an even multiple of the station
BPC. A value of 0 disables alarm message regeneration.
ARBOPT Arbitration Option is a boolean input that specifies dual redundancy
(DMR) or triple redundancy (TMR)
+ 0 = False = DMR.
+ 1 = True = TMR.
AUTSW Auto Switch, when true, forces the block mode into Auto mode. It is of
higher priority than configured, set, or linked values in MA, or the value
of INITMA. It is of lower priority than MANSW, however. If both
MANSW and AUTSW are true, the block mode is forced to Manual.
BAG
CP270 Only
Bad Alarm Group is a configurable, non-settable short integer parameter
used to specify the Alarm Group to be used for reporting Bad Alarm
messages in the block. The range is 1 (default) to 8.
BAO
CP270 Only
Bad Alarm Option is a configurable, non-settable Boolean parameter used
to specify whether or not Bad Alarming is to be performed in the block:
+ 0 (default) disables Bad Alarming
+ 1 enables Bad Alarming.
BAP
CP270 Only
Bad Alarm Priority is a configurable integer input used to specify the
Alarm Priority to be assigned to Bad Alarms in the block. BADPRI is
settable if unlinked. The range is 1 (highest) to 5 (default).
BAT
CP270 Only
Bad Alarm Text is a configurable, non-settable ASCII string of up to
32 characters used as descriptive text in Bad Alarm messages in the block.
BKCO Back Calculated Contact Output is set equal to the confirmed component
of COUT while the cascade is initializing. Since its purpose is to provide
the upstream block with a back-calculated value, you should connect
BKCO to the BCALCI parameter of that block.
BLKSTA Block Status is a 32-bit output, bit-mapped to indicate various block oper-
ational states. For the BOUTR block, only the following bits are used:
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
M
A
O
F
S
D
C
I
X
W
L
C
K
O
N
U
D
E
F
M
A
F
B
M
3
F
B
M
2
F
B
M
1
H
L
D
T
R
K
B0193AX Rev AB 13. BOUTR Redundant Binary Output Block
332


CO1_PT Primary Point Number identifies the address in the primary external
devices memory (or data stream) to which the block output is directed.
This parameters syntax depends on the made and model of the external
device.
CO2_PT Secondary Point Number identifies the address in the secondary external
devices memory (or data stream) to which the block output is directed.
This parameters syntax depends on the made and model of the external
device.
CO3_PT Tertiary Point Number identifies the address in the secondary external
devices memory (or data stream) to which the block output is directed.
This parameters syntax depends on the made and model of the external
device.
COUT Contact Output is the value sent from the block to the connected field
devices at points CO1_PT, CO2_PT, and/or CO3_PT. The displayed
value of COUT is always the confirmed component after the arbitration
algorithm selects one of the readback values.
COUTQ Output Request displays the value of the request component of the block
output for diagnostic purposes. It is not configurable.
CRBK_1 The primary boolean readback value is the confirmed value that has been
written successfully to the primary field device at address CO1_PT.
CRBK_2 The secondary boolean readback value is the confirmed value that has
been written successfully to the secondary field device at address
CO2_PT.
Bit Number*
(0 to 31) Name Description When True
Boolean Connection
(B32 to B1)
6 TRK Device initializing BLKSTA.B26
7 HLD Block output holding BLKSTA.B25
8 FBM1 Bad status of primary ECB BLKSTA.B24
9 FBM2 Bad status of secondary ECB BLKSTA.B23
10 FBM3 Bad status of tertiary ECB BLKSTA.B22
11 MA Manual = 0, Auto = 1 BLKSTA.B21
14 UDEF Block Undefined BLKSTA.B18
15 ON Block On BLKSTA.B17
20 WLCK Access Locked BLKSTA.B12
23 DCIX Enhanced DCI block (CP270 Only) BLKSTA.B9
24 FS Fail-Safe Active BLKSTA.B8
26 MAO M/A Override Active BLKSTA.B6
* Bit 0 is the least significant, low order bit.
13. BOUTR Redundant Binary Output Block B0193AX Rev AB
333


CRBK_3 The tertiary boolean readback value is the confirmed value that has been
written successfully to the tertiary field device at address CO3_PT.
CRIT
CP270 Only
Criticality is an integer output that indicates the priority of the blocks
highest currently active alarm. The range is 1 (highest priority) to 5. An
output of 0 indicates the absence of alarms.
DEFINE Define is a data store which indicates the presence or absence of configura-
tion errors. The default is 1 (no configuration errors). When the block ini-
tializes, DEFINE is set to 0 if any configured parameters fail validation
testing. (See ERCODE for the list of all possible validation errors in this
block.) In that case, no further processing of the block occurs, including
further validation of remaining parameters. To return DEFINE to a true
value, correct all configuration errors and reinstall the block. If DEFINE =
0, the bit BLKSTA.UDEF = 1.
DESCRP Description is a user-defined string of up to 32 characters used to describe
the blocks function (for example, PLT 3 FURNACE 2 HEATER
CONTROL).
DEVID1 Primary Device Identifier is a character array that specifies the 6-character
identifier of the first connected device. It is copied from the DEV_ID
configured in the ECB specified by IOMID1.
DEVID2 Secondary Device Identifier is a character array that specifies the 6-charac-
ter identifier of the second connected device. It is copied from the
DEV_ID configured in the ECB specified by IOMID2. If ECBOPT= 0,
DEVID2 is ignored.
DEVID3 Tertiary Device Identifier is a character array that specifies the 6-character
identifier of the third connected device. It is copied from the DEV_ID
configured in the ECB specified by IOMID3. If ECBOPT= 0, DEVID3
is ignored.
ECBOPT Redundant ECB Option specifies whether a single device ECB is to be
used for all output points, or each output point is associated with a sepa-
rate device ECB. The latter is required if the redundant output points are
in different devices.
If ECBOPT is 0 (false), only one device ECB is used for all outputs and is
specified by IOMID1 (IOMID2 and IOMID3 are ignored).
If ECBOPT is 1 (true), then either two or three separate device ECBs are
used depending on whether dual or triple redundancy is specified. This
decision is based on the configured parameter ARBOPT, which specifies
the use of either dual or triple redundancy.
ERCODE Error Code is a string data store that indicates the type of configuration
error that caused the blocks DEFINE parameter to be set false, unless
indicated otherwise (see meanings below). Validation of configuration
errors does not proceed past the first error encountered by the block logic.
B0193AX Rev AB 13. BOUTR Redundant Binary Output Block
334


For the BOUTR block, the following list specifies the possible values of
ERCODE and the significance of each value in this block.
EROPT Error Option is a short integer option that determines the conditions
under which IN is considered to have bad status. It is used in determining
whether there has been a bad-to-good transition of IN.
If EROPT = 1, IN is considered Bad if its status word indicates Bad, Out-
of-Service, or Not On Scan. (If it is Not On Scan, then the source of the
connection has been deleted or is in a nonexistent compound, or there has
been a peer-to-peer failure.)
If EROPT = 2, IN is considered Bad in any of the above situations, and
when the Error bit in the status of IN is True.
FSCOUT Fail-safe Contact Output is the fail-safe value sent to the external device(s)
when any condition specified in FSOPTN exists. This parameter causes
the field devices to assert fail-safe. The FSCOUT value is also used to set
the initial output value when the BOUTR block is installed or when the
control processor is rebooted.
FSOPTN Fail-Safe Option is a configurable bit-mapped option that specifies the
fail-safe conditions under which the external device will receive a fail-safe
value from the I/A Series system:
+ Bit 0: 1 = assert fail-safe if input/measurement error, that is, if
there is an input error in IN. Note that EROPT must be config-
ured nonzero for this option to take effect.
ERCODE Message Meaning
W48 INVALID BLOCK
OPTION
PRITIM = zero is not allowed.
W52 INVALID I/O
CHANNEL/GROUP NO.
CO1_PT, CO2_PT, or CO3_PT
string is blank, and should be con-
figured according to other parame-
ters settings.
W62 UNRESOLVED
CONNECTION
Connection is not yet resolved.
(Block remains defined.)
W65 INVALID POINT
ADDRESS
FBM parsing algorithm finds that a
used COx_PT is invalid.
W66 DUPLICATE
CONNECTION
There is a duplicate connection to
a particular point.
W67 INSUFFICIENT FBM
MEMORY/CONNECTIONS
There is no available memory or
point connections in the FBM.
W68 INVALID DEVICE
CONNECTION
The device connection is invalid.
W69 INVALID POINT
CONNECTION
The point connection is invalid.
13. BOUTR Redundant Binary Output Block B0193AX Rev AB
335


+ Bit 1: 1 = set/clear fail-safe when SETFS input is set/cleared.
+ Bit 2: 1 = assert fail-safe if control station-to-FBM communication
is lost (FBM option). This option will be enabled only if fail-safe
is enabled at the FBM level via the FSENAB parameter in
ECB200 or ECB202.
Note: Bit 0 is the least significant, low-order bit.
IN Binary Input is the value normally passed to COUT on a change-driven
basis when the block is in Auto mode. Readback changes and change
timer action can override the value specified by IN.
INHIB
CP270 Only
Inhibit is a configurable, connectable and settable boolean that, when set,
suppresses all alarm message reporting. INHIB affects only alarm message
reporting; the alarm handling and detection functions are determined by
the INHOPT setting.
INHOPT
CP270 Only
Inhibit Option specifies the following actions applying to all block alarms:
+ 0 = When an alarm is inhibited, disables alarm messages but does
not disable alarm detection.
+ 1 = When an alarm is inhibited, disables both alarm messages and
alarm detection. If an alarm condition exists at the time the alarm
transitions into the inhibited state, the alarm indicator is cleared.
+ 2 = Same as 0 for inhibited alarms. For uninhibited alarms,
automatically acknowledges return-to-normal messages.
Into alarm messages can be acknowledged by explicitly setting
UNACK False.
+ 3 = Same as 1 for inhibited alarms. For uninhibited alarms,
automatically acknowledges return-to-normal messages.
Into alarm messages can be acknowledged by explicitly setting
UNACK False.
INHSTA
CP270 Only
Inhibit Status contains packed long values that represent the current
inhibit status of each alarm type configured in the block. Table 13-4
shows how the parameter is used with the AI block.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
B
A
D
B0193AX Rev AB 13. BOUTR Redundant Binary Output Block
336


INITCO Initialization Output is a cascade initialization signal which is set true by
the block logic whenever the cascade is opened. You should connect
INITCO to the INITI input of the upstream block. The BOUTR block
keeps INITCO true for one cycle if PRIBLK = 0 or for a fixed time delay
(if PRIBLK = 1 and PRITIM = nonzero).
INITMA Initialize Manual/Auto specifies the desired state of the MA input under
certain initialization conditions, namely:
+ The block has just been installed into the I/A Series control station
database.
+ The I/A Series control station is rebooted.
+ The compound in which the block resides is turned on.
+ The INITMA parameter is modified via the Integrated Control
Configurator.
INITMA is ignored if MA has an established linkage.
When INITMA is asserted, the value set into MA is:
+ 0 (Manual) if INITMA = 0
+ 1 (Auto) if INITMA = 1
+ The MA value from the checkpoint file if INITMA = 2.
INI_PT Initialize Address is a configurable string that specifies the point address of
an optional Boolean input connection in the BOUTR block. If INI_PT is
used, the block output tracks the readback value when this input Boolean
value is set. On a transition of this input value to zero, if PRIBLK is used,
the I/A Series cascade is initialized.
IOMID1 Primary ECB Identifier is a configurable string that specifies the path-
name of the ECB201 for the primary device, for the purpose of connect-
ing to (accessing) a field parameter that resides in the primary field device
hosted by a (parent) FBM ECB.
IOMID1 has the form CompoundName:BlockName, where Compound-
Name is the 1-12 character name of the local compound containing the
ECB, and BlockName is the 1-12 character block name of the ECB.
If the compound containing the ECB is the CPletterbug_ECB compound
where CPletterbug is the station letterbug of the CP, the CompoundName
may be omitted from the IOMID1 configuration. In this case, the 1-12
character ECB block name is sufficient.
Table 13-4. INHSTA Parameter Format
Bit
Number*
(0 to 31) Name
Description,
When True
Boolean
Connection
(B32 to B1)
22 BAD Bad I/O Alarm Inhibited INHSTA.B10
*Bit 0 is the least significant, low order bit.
13. BOUTR Redundant Binary Output Block B0193AX Rev AB
337


IOMID2 Secondary ECB Identifier is a configurable string that specifies the path-
name of the ECB201 for the secondary device, for the purpose of connect-
ing to (accessing) a field parameter that resides in the secondary field
device hosted by a (parent) FBM ECB.
IOMID2 must be configured when dual or triple redundancy is specified.
For other details, see IOMID1 above.
IOMID3 Tertiary ECB Identifier is a configurable string that specifies the pathname
of the ECB201 for the tertiary device, for the purpose of connecting to
(accessing) a field parameter that resides in the tertiary field device hosted
by a (parent) FBM ECB.
IOMID3 must be configured when triple redundancy is specified. For
other details, see IOMID1 above.
LOCKID Lock Identifier is a string identifying the workstation that has exclusive
write access to the block. LOCKID arbitrates write access to the block
parameters by operator workstations on the network. Set requests to any
of the blocks parameters are honored only if the identifier of the worksta-
tion requesting the changes matches the identifier set in LOCKID.
The lock request message sets LOCKRQ to true and sets LOCKID to the
identifier of the requesting workstation. The corresponding lock release
message sets LOCKRQ to false and LOCKID to null.
LOCKID has the format Letterbug:DeviceName, where Letterbug is the
6-character letterbug of the workstation and DeviceName is the 1 to 6
character logical device name of the Display Manager task.
LOCKRQ Lock Request is a boolean value that is set true or false by a toggling the
LOCK U/L key on the Block Detail Display. An operator at any worksta-
tion can lock and unlock the block using the LOCK U/L key.
The lock request message sets LOCKRQ to true, sets LOCKID to the
identifier of the requesting workstation, and sets the WLCK bit in the
BLKSTA parameter. Thereafter, set requests to any of the blocks parame-
ters are honored (subject to the usual access rules) only if the requesting
workstations identifier matches the contents of LOCKID.
The corresponding lock release message sets LOCKRQ to false, sets
LOCKID to null, and resets the WLCK bit.
LOOPID Loop Identifier is a configurable string of up to 32 characters that identi-
fies the loop or process with which the block is associated. It is displayed
on the detail display of the block, immediately below the faceplate.
MA Manual/Auto is a boolean input that controls the blocks operating state:
+ 0 = False = Manual
+ 1 = True = Auto
When in Auto mode, the block is taken from IN, usually from the
upstream connection. In Manual mode, the input is taken from SET, usu-
ally via operator sets.
B0193AX Rev AB 13. BOUTR Redundant Binary Output Block
338


MANFS
CP270 Only
Manual if Fail-safe allows recovery from FBM fail-safe at the block in
which MANFS is set. If MANFS = 1, the output state is forced to manual
mode when the block detects the FBM being in fail-safe. The option only
takes effect if MA is unlinked. MANFS takes precedence over AUTSW
and INITMA.
Fail-safe in the block is cleared as soon as the output is changed.
For cascade operations, it is recommended that MANFS be enabled in
only one block.
MANSW Manual Switch, when true, forces the block into Manual mode. It is of
higher priority than any other method of establishing the value MA, since
it overrides configured, set, or linked values. MANSW is also of higher
priority than AUTSW or INITMA.
MBADOP
CP270 Only
Manual if Bad Option is manual override feature which, when set TRUE,
causes the block to go into Manual mode if the output value status is BAD
or IN value status is BAD.
NAME Name is a user-defined string of up to 12 characters used to access the
block and its parameters.
OWNER Owner is a string of up to 32 ASCII characters used to allocate control
blocks to applications. Attempts to set OWNER are successful only if the
present value of OWNER is the null string, an all-blank string, or identi-
cal to the value in the set request. Otherwise, the request is rejected with a
LOCKED_ACCESS error. OWNER can be cleared by any application by
setting it to the null string; this value is always accepted, regardless of the
current value of OWNER. Once set to the null string, the value can then
be set as desired.
PERIOD Period is an indexed input that dictates the blocks execution time base
and allowable PHASE values. For CP stations, PERIOD values range
from 0 to 10, and 13, and map to the time lengths shown in the following
table. For Gateways and Integrators, PERIOD values range from 0 to 12
and map to the time lengths specified in the device specific users guide.
* If the BPC is 0.2 second, this period is treated internally as 0.6 second, but
the PERIOD parameter remains 1.
Period Length Period Length
0 0.1 second 7 10 minutes
1 0.5 second* 8 60 minutes
2 1.0 second 9 0.2 second
3 2.0 seconds 10 5.0 seconds**
4 10 seconds 11*** ----
5 30 seconds 12*** ----
6 1 minute 13**** 0.05 second
13. BOUTR Redundant Binary Output Block B0193AX Rev AB
339


** If the BPC is 2.0 seconds, this period is treated internally as 6.0 seconds, but
the PERIOD parameter remains 10.
*** Not available for CP stations.
****Available in CP40, CP40B, CP60 and later control processors.
PHASE Phase is an integer input that causes the block to execute at a specific BPC
within the time determined by the PERIOD. For instance, a block with
PERIOD of 3 (2.0 seconds) can execute within the first, second, third, or
fourth BPC of the 2-second time period, assuming the BPC of the
I/A Series station is 0.5 second. Refer to the appropriate Integrated Control
Software Concepts document (B0700AG or B0193AW).
PRIBLK Primary Block indicates whether the BOUTR block has a connection
from an upstream block (PRIBLK = 1) or not (PRIBLK = 0). Its value,
together with that of PRITIM, determines whether the BOUTR block
remains in Hold for a fixed time delay, or ends the Hold after one cycle.
Note that if PRIBLK is set true, PRITIM must be set to a non-zero value;
otherwise, the BOUTR block fails validation.
Use PRIBLK in a cascade situation when the source of the block's input
connection needs to be initialized.
Refer to PRIBLK and PRITIM Functionality on page 348 for more
information on this parameter.
PRITIM Primary Cascade Timer is a configurable parameter used to delay the clos-
ing of the cascade to a primary block, when the output is initialized in the
BOUTR block. It is used only if the PRIBLK option is set. Note that if
PRIBLK is set true, PRITIM must be set to a non-zero value; otherwise,
the BOUTR block fails validation.
Refer to PRIBLK and PRITIM Functionality on page 348 for more
information on this parameter.
PRTYPE
CP270 Only
Priority Type is an indexed output parameter that indicates the alarm type
of the highest priority active alarm. For the BOUTR block:
+ 0 = No alarm
+ 8 = Bad I/O alarm.
RBKTIM Readback Timer is a configurable parameter used to time out changes
made by I/A Series system to the output of the BOUTR block. If the out-
put change is not confirmed within the allowable timeout, the output is
re-initialized to the readback value. Its default value is 5.0 seconds, but
you can configure different values to accommodate different response
times from the external device.
SECTIM Secondary Timer is a configurable parameter used to force the output of
the BOUTR block to be written periodically to the FBM, regardless of
whether or not the output has changed. It can be used to prevent the
assertion of fail-safe action under normal operating conditions.
B0193AX Rev AB 13. BOUTR Redundant Binary Output Block
340


SELECT Selection Indicator shows which redundant readback value has been cho-
sen by the arbitration algorithm:
+ 0 = none of the input values is selected, SELOPT is used.
+ 1 = primary readback value CRBK_1 is selected
+ 2 = secondary readback value CRBK_2 is selected
+ 3 = tertiary readback value CRBK_3 is selected.
SELOPT Selection Option is a configurable option that specifies the criteria for
selecting a readback value in the BOUTR block when the arbitration algo-
rithm cannot resolve the choice. For the BOUTR block:
+ 0 = COUT_readback retains its previous value
+ 1 = COUT_readback is set false
+ 2 = COUT_readback is set true.
SET Set is the value normally passed to COUT, on a change-driven basis, when
the block is in Manual mode. Readback changes and change timer action
can override the value specified by SET.
SETFS Set Fail-Safe Request is a configurable Boolean parameter that requests
fail-safe action to be set/reset by the FBM and/or field device for the spe-
cific output value of the BOUTR block:
+ 0 = reset fail-safe request
+ 1 = set fail-safe request.
SIMOPT Simulation Option is a configurable parameter that specifies whether the
DCI block input/output value is to be simulated. In the DCI BOUTR
block, the block output is stored into its read-back values to simulate con-
firmation by the FBM.
TSTAMP The Time Stamp parameter of the block is updated every time there is a
change in the COUT value (that is, if COUT differs from the current
readback value). TSTAMP, which is expressed in units of milliseconds past
midnight, is read from the FBM, when it is available there; otherwise, it is
computed by the control station. TSTAMP is not updated when SELECT
= 0; it is left at its last good value.
TYPE When you enter BOUTR or select it from a configurator list, an identify-
ing integer is created specifying this block type. For this block, the value of
TYPE is 111.
UNACK
CP270 Only
Unacknowledged is a Boolean output parameter that is set True for notifi-
cation purposes whenever the block goes into alarm. It is settable, but sets
are only allowed to clear UNACK to False, and never in the
opposite direction. UNACK is cleared by an operator acknowledge
pick on a default display, a user display, or the alarms display.
UPDPER Update Period is a configurable, non-settable long integer that is used to
specify the update period for client/server connections scheduled by the
13. BOUTR Redundant Binary Output Block B0193AX Rev AB
341


FBM228 to read the device function block View 1, View 2 and View 4
parameters. The range is 0 to 2147483647 milliseconds; the default is
10000.
VALSTS Value Status is an output parameter of any DCI block that contains the
value status of a FOUNDATION fieldbus function block parameter value or
PROFIBUS-PA parameter provided by a DCI connection to a field
device. For other fieldbus types, VALSTS is meaningless.
Bits 0-1: Limits:
0 = Not limited
1 = High limited
2 = Low limited
3 = High and Low limited
Bits 2-5: Substatus (definition depends on Quality)
Bits 6-7: Quality:
0 = Bad
1 = Uncertain
2-3 = Good
Note: Bit 0 is the least significant, low order bit.
Each time the BOUTR block is executed, VALSTS reports the status of
the FF or PROFIBUS-PA value from the information in the DCI connec-
tion.
B0193AX Rev AB 13. BOUTR Redundant Binary Output Block
342


13.5 Functions
13.5.1 Detailed Diagram
Figure 13-2. BOUTR Block Operational Diagram
13.5.2 Associated ECBs
The configured parameters IOMID1, IOMID2, and IOMID3 in the BOUTR block specify one
or more ECB201s (device ECBs) that connect to field parameters residing in field devices hosted
by ECB200s or ECB202s (FBM ECBs).
IN
SET
ECB
Holding
Tracking
OR
Holding
Tracking
Output to
Up to Three
Change
Timer
Clear Timer
FBM
Readback
Timer
Expired
AND
PRIBLK
Open Cascade
Readback
Up to INITI
Up to
BCALCI
INITCO
BKCO
BKCO.Status
ECB Status COUT_request.Status
COUT_readback.Status
BKCO.Status
PRITIM
Reinitialize
OR
CRBK_1
CRBK_2
CRBK_3
Simulated
Value
SIMOPT
Cascade
Processing
RBKTIM
SIMOPT
A
M
MA
A
SECTIM
AND
Good
AND
SELOPT
A
AND
AND
0
IOMID1
CO1_PT
ARBOPT
ECBOPT
COUT
IOMID2
CO2_PT
IOMID3
CO3_PT
CRBK_1
CRBK_2
CRBK_3
(Simulated)
COUT
(Confirmed)
Field Devices
Read
Back
1
SELECT
Arbitration
Algorithm
13. BOUTR Redundant Binary Output Block B0193AX Rev AB
343


The PARENT parameter of each ECB201 specifies the associated FBM ECB hosting the field
device.
The IOMIDx can also directly specify parent FBM ECBs to output to parameter resident in the
FBMs themselves.
13.5.3 DCI Connections
The BOUTR block establishes up to four DCI connections to the specified ECBs at any one of
the following times:
+ When the block has just been installed.
+ When the I/A Series control station in which it resides is rebooted.
+ When a parameter of the block has been modified by the ICC or FoxCAE
configurator.
+ When a device or parent ECB specified by the BOUTR block is installed.
A DCI connection is added to a linked list of all the DCI connections, of any type, for all blocks
specifying the same ECB. This arrangement permits multiple DCI blocks of differing data types,
to communicate with a single device at input/output scan time, on a scatter-gather basis. It also
allows multiple DCI connections in the same DCI block to be established (for example, connec-
tions in redundant type DCI blocks such as this one, or for INI_PT connections in most output
type blocks such as this one).
The following table shows the DCI connections (for the output points) for all combinations of
ECBOPT and ARBOPT:
In addition to the output point DCI connections, one additional DCI connection is established
whenever the initialization input point INI_PT has been configured with a non-null value. This
connection is always to the ECB used by the first of the output points (CO1_PT).
These parameter connections are made by the FBM on a client/server basis at the frequency spec-
ified in the UPDPER parameter. The parameter can be set from 0 to 2147483647 milliseconds;
the default is 10000 (10 seconds). Increasing the frequency of the client/server communication
can significantly add to the load on the H1 segment.
The DCI connections are deleted (that is, the linkages are removed from the linked lists for the
ECB) when the BOUTR block is deleted.
13.5.4 Output Point and Initialization Input Point
The device addresses of the outputs are configured as strings in the CO1_PT, CO2_PT, and
CO3_PT. The device address of the initialization input is configured as a string in INI_PT.
When ARBOPT is 0 (DMR), neither CO1_PT nor CO2_PT can be null, and CO3_PT is
ignored. When ARBOPT is 1 (TMR), CO1_PT, CO2_PT, and CO3_PT must all be non-null.
These checks are made during block validation; violations of these rules cause the BOUTR block
to be set undefined, and processing does not proceed further. INI_PT may be null if it is not used.
ECBOPT = 0 ARBOPT = 0 (DMR) 2 DCI connections to one ECB
ECBOPT = 0 ARBOPT = 1 (TMR) 3 DCI connections to one ECB
ECBOPT = 1 ARBOPT = 0 (DMR) 2 DCI connections to two ECBs
ECBOPT = 1 ARBOPT = 1 (TMR) 3 DCI connections to three ECBs
B0193AX Rev AB 13. BOUTR Redundant Binary Output Block
344


The formats of the COx_PT and INI_PT parameters are device specific. When the PIO mainte-
nance task runs after the DCI connections have been made (see Section 13.5.3), the COx_PT
and INI_PT strings that are used by the block are passed to the FBM for parsing and validation.
(In DCI blocks, point identification strings are not parsed by the I/A Series control station.)
If the first character of either CO1_PT or CO2_PT is blank, the COx_PT string is not sent to
the FBM, and the block is set undefined with ERCODE = 52. Similarly, if the first character of
any used CO3_PT or INI_PT is blank, the associated string is not sent to the FBM, and the
block is set undefined with ERCODE = 52. The detail display shows W52 INVALID I/O
CHANNEL/GROUP NUMBER.
In each of the following cases, the block is also set undefined:
+ If the FBM parsing algorithm finds that CO1_PT is invalid, the detail display shows
W65 INVALID POINT ADDRESS with ERCODE = 65.
+ If there is a duplicate connection to any point, the detail display shows W66
DUPLICATE CONNECTION with ERCODE = 66.
+ If there is no available memory in the FBM, or if the maximum number of connec-
tions have been allocated in the FBM, the detail display shows W67
INSUFFICIENT FBM MEMORY/CONNECTIONS with ERCODE = 67.
+ If the device connection is invalid, the detail display shows W68 INVALID
DEVICE CONNECTION with ERCODE = 68.
+ If the point connection is invalid, the detail display shows W69 INVALID POINT
CONNECTION with ERCODE = 69.
In the following case, the block remains defined:
+ If the connection is not yet resolved, the detail display shows W62 UNRE-
SOLVED CONNECTION with ERCODE = 62.
If INI_PT is used, the tests described by the first six bullets above are repeated, but for INI_PT
rather than COx_PT. The failure of any of these tests also causes the block to be set undefined.
13.5.5 Confirmed Output Parameters
As with most output parameters in DCI blocks, COUT is a confirmed output. A confirmed out-
put contains two components: a request value and a read-back value. The request value is changed
by the I/A Series system end and sent to the external device, and the read-back value is the value
read from or sent back by the external device.
In the BOUTR block, the request value is made available for diagnostic purposes as parameter
COUTQ. (COUTQ is not shown on the detail display). Also, in the BOUTR block, the read-
back value is first arbitrated from the readback values received from the redundant output points,
and then shown as parameter COUT.
The following documentation convention is used: if the name of a confirmed parameter is, for
example, PARM, then its request value is referred to as PARM_request and its read-back value is
referred to as PARM_readback.
13. BOUTR Redundant Binary Output Block B0193AX Rev AB
345


13.5.6 Status of the Readback Values
The statuses of the redundant output readback values CRBK_1 and CRBK_2, together with the
statuses of their ECB(s), are determined each time the block is executed. If ARBOPT specifies
TMR, there is a similar determination for the statuses of the CRBK_3 readback value and its
ECB. For each of the two or three readback values, the status of its CRBK_x parameter is set
according to the following rules.
The status of CRBK_x is set to out-of-service if one or more of the following conditions exist:
+ The device ECB status indicates that the field device is off-line or out-of-service.
+ The DCI connection cannot be configured due to lack of configuration information
in the FBM database.
+ The DCI is not yet connected (that is, the PIO maintenance task has not yet sent the
DATA_CONNECT message to the FBM for the linked-list addition, as described in
Section 13.5.3).
+ The DCI connection status information, which specifies the condition of the con-
nected device parameter, indicates out-of-service. This means (in general) that the
parameter value is unavailable from the field device.
+ The status information indicates Disconnected, meaning (in general) that the param-
eter is not connected or not defined.
+ The connection status information indicates that the connection is not yet resolved.
The detail display shows W62 UNRESOLVED CONNECTION, with
ERCODE = 62.
+ An ECB201 is specified and the ECB device status indicates that the DCI connection
is unresolved.
The status of CRBK_x is set to Bad if:
+ The device ECB status indicates that the field device has failed, or
+ The DCI connection status information indicates a bad value of the field device
parameter.
The status of CRBK_x is set to Error if the status information indicates an uncertain or question-
able value of the field device parameter.
The status of CRBK_x is set to Fail-safe if the status information indicates that the addressed
device parameter is in fail-safe.
If CRBK_x is not bad or out-of-service, the value of the input becomes the new value of
CRBK_x. Otherwise, the previous last good value of CRBK_x is retained.
The values and statuses of the individual CRBK_x parameters are available in the three output
parameters, and, in addition, they are used as the inputs in the arbitration algorithm (see below).
13.5.7 Arbitration Algorithm
CRBK_1, CRBK_2, and CRBK_3 each has a value and status, as described in the previous sec-
tion. In the table below, a CRBK_x is valid if its status is neither bad nor out-of-service. Also, if
ARBOPT indicates DMR, CRBK_3 is never valid.
B0193AX Rev AB 13. BOUTR Redundant Binary Output Block
346


When the Select column reads Use SELOPT, the arbitration process cannot select a readback.
The configured parameter SELOPT then determines the value of COUT_readback as follows:
+ If SELOPT = 0, COUT_readback retains its previous value.
+ If SELOPT = 1, COUT_readback is set false.
+ If SELOPT = 2, COUT_readback is set true.
Output parameter SELECT shows which redundant CRBK_x has been selected:
+ If CRBK_1 is selected, SELECT = 1
+ If CRBK_2 is selected, SELECT = 2
+ If CRBK_3 is selected, SELECT = 3
+ Otherwise, if SELOPT is used, SELECT = 0
13.5.8 Auto/Manual Switching
The Auto/Manual mode selection arbitrates between inputs by the operator (Manual) and inputs
from the control strategy (Auto). Parameters MA, INITMA, AUTSW, and MANSW are used to
establish the control mode of the BOUTR block.
With I/A Series system software V8.4 and above, the BOUTR block provides two additional con-
trols of the block mode on the FCP270 and ZCP270:
+ When MANFS=1, the block switches to manual mode when the fail-safe is asserted to
allow recovery from FBM fail-safe at the block. The option only takes effect if MA is
unlinked. MANFS takes precedence over AUTSW and INITMA. Fail-safe in the
block is cleared as soon as the output is changed. For cascade operations, it is recom-
mended that MANFS be enabled in only one block.
CRBK_1
Valid
CRBK_2
Valid
CRBK_3
Valid Test Select
Yes Yes Yes CRBK_1, CRBK_2 values are equal. CRBK_1
Yes Yes Yes CRBK_1, CRBK_2 values are different
and CRBK_1, CRBK_3 values are
equal.
CRBK_1
Yes Yes Yes All other cases CRBK_2
Yes Yes No CRBK_1, CRBK_2 values are equal. CRBK_1
Yes Yes No CRBK_1, CRBK_2 values are different. Use SELOPT
Yes No Yes CRBK_1, CRBK_3 values are equal. CRBK_1
Yes No Yes CRBK_1, CRBK_3 values are different. Use SELOPT
No Yes Yes CRBK_2, CRBK_3 values are equal. CRBK_2
No Yes Yes CRBK_2, CRBK_3 values are different. Use SELOPT
Yes No No (No Test) CRBK_1
No Yes No (No Test) CRBK_2
No No Yes (No Test) CRBK_3
No No No (No Test) Use SELOPT
13. BOUTR Redundant Binary Output Block B0193AX Rev AB
347


+ When MBADOP=1, the block switches to manual mode when either the output
value status is BAD or the status of the IN value is Bad.
These options are not supported on other control processors.
13.5.9 Fail-Safe Functions
Fail-safe support is based on the following parameters:
+ FSOPTN This configured value specifies the condition(s) under which the external
device will receive a fail-safe value from the I/A Series system.
+ FSCOUT This configured value specifies the fail-safe value that is to be sent to the
external device when any condition specified in FSOPTN exists.
+ SETFS This boolean option constitutes a command to send the configured
FSCOUT value to the external device. It is only observed when the appropriate
FSOPTN so specifies.
+ MANFS (CP270 Only) When set to true (MANFS=1), this parameter forces the
block to Manual mode when fail-safe is asserted.
The FSOPTN conditions are:
+ Send the fail-safe value FSCOUT when there is an input error in IN, as defined by
EROPT (Bit 0)
+ Send the fail-safe value FSCOUT when the block parameter SETFS has been set true
(Bit 1)
+ Assert fail-safe, using the FSCOUT value, when communications between the
I/A Series control station and the FBM is lost (Bit 2). The block does not perform this
option; it is carried out by the FBM software. This option will be enabled only if fail-
safe is enabled at the FBM level via the FSENAB parameter in ECB200 or ECB202.
FSOPTN is a bit map, thereby allowing combinations of conditions for fail-safe to be specified. If
any of the FSOPTN conditions exists, and COUT is not bad or out-of-service, the fail-safe value
is sent to the external device point when the BOUTR block is shut down. This happens when
turning off the compound containing the BOUTR block and when deleting the BOUTR block
or the compound containing the BOUTR block from the CP database.
In addition, the FSCOUT value is sent to the field device via the FBM when the CP is rebooted.
This action is independent of the FSOPTN configuration.
13.5.10 Time Stamp
The time stamp (TSTAMP) parameter of the block is updated every time there is a change in the
COUT value (that is, if COUT differs from the current readback value). TSTAMP, which is
expressed in units of milliseconds past midnight, is read from the FBM when it is available there;
otherwise, it is computed by the I/A Series control station. TSTAMP is not updated when
SELECT = 0; it is left at its last good value. Refer to Section 13.5.7.
13.5.11 Conditions for Sending a Block Output
The following items are conditions that cause a new output from the BOUTR block:
+ When a periodic output is required. Whenever SECTIM has been configured with a
positive value and there has been no output for SECTIM seconds, a block output is
forced and the secondary timer is reinitialized.
B0193AX Rev AB 13. BOUTR Redundant Binary Output Block
348


+ When a condition for fail-safe has been met in this cycle (described in Section 13.5.9),
but was not met in the previous cycle (start of a fail-safe period)
+ When a condition for fail-safe was present in the previous cycle but not in this cycle
(end of fail-safe period)
+ When the connection status indicates that an initialization request (IR) exists this
cycle, but did not on the previous cycle (start of an IR period)
+ When the connection status indicates that an initialization request does not exist this
cycle, but did on the previous cycle (end of an IR period)
+ When the block is in Auto mode, and the value of IN has changed in this cycle
+ When the block is in Manual mode, and the value of SET has been changed in this
cycle
+ When this is an initialization cycle as defined in Section 13.5.17, including bad-to-
good transitions of IN when in Auto.
13.5.12 Sending the Output
When any of the conditions for sending a block output (listed in Section 13.5.11) exists, the cur-
rent value of SET (Manual) or IN (Auto) is sent to the output buffers of the two or three DCI
connections for the COx_PTs used by the block.
If either of the last two conditions listed exists (the change timer has expired or the readback
changed in this cycle), the current readback value is sent to the used COx_PTs. This readback
value is also set into IN (provided that IN is unlinked) and SET, in order to establish the baseline
for change detection in the next cycle.
The Write Flag is then set in the output buffer receiving the new output. If any of the connections
has an Initialization Request flag set, the Initialization Acknowledge flag is also set in the output
buffer. If the outputs are being sent because of a fail-safe condition (see Section 13.5.11), the Fail-
safe Request flag is also set in the output buffer.
13.5.13 Status of Other Block Outputs
The Out-Of-Service (OOS), Bad, Error, and fail-safe statuses of COUT, COUT_request, and
BKCO are all copied from the corresponding statuses of the selected readback CRBK_x. See
Section 13.5.6 and Section 13.5.7.
13.5.14 PRIBLK and PRITIM Functionality
The Primary Block (PRIBLK) parameter indicates whether the BOUTR block has a connection
from an upstream block (PRIBLK=1) or not (PRIBLK=0). Its value, together with that of the
Primary Cascade Timer (PRITIM), determines whether the BOUTR block remains in Hold for a
fixed time delay, or ends the Hold after one cycle. Note that a Hold of one cycle only occurs dur-
ing initialization.
13.5.15 Change Timer
The purpose of the change timer is to facilitate monitoring by the block for an indication that the
external device point has received the most recent I/A Series system change. The block expects the
device to have received the new value within that time.
13. BOUTR Redundant Binary Output Block B0193AX Rev AB
349


The timer is initialized to the configured value of RBKTIM (in seconds) each time a value is sent
to the redundant outputs. In each cycle thereafter, as long as there is no new output sent, the
timer is decremented and tested for expiration.
If the change timer expires, the current read-back value (as arbitrated) is compared against the
value of COUT_request. If they differ, it is assumed that the output device should not change as
a result of the I/A Series system change (that is, that the most recent I/A Series system value sent
was rejected). The value of the readback from the FBM is then set into SET, IN (if it is unlinked),
and COUT_request to establish the new baseline for input change-detection.
If the change timer has not expired, the readback value is compared against its previous value on
any cycle in which there is no new output. If they differ and the new readback is not the same as
the current value of COUT_request, the new readback is set into SET, IN (if it is unlinked), and
COUT_request.
13.5.16 Status of INI_PT
Transitions in the status of the initialization input INI_PT are used in determining whether block
initialization is required (see Section 13.5.18). This status is considered true if:
+ The device value of INI_PT is true (the external device has requested that the block
go into Tracking),
+ The appropriate ECB status indicates that the field device containing INI_PT is off-
line or out-of-service,
+ The DCI connection for INI_PT cannot be configured, due to lack of configuration
information in the FBM database,
+ The DCI for INI_PT is not yet connected (that is, the PIO Maintenance task has not
yet sent the DATA_CONNECT message to the FBM for the linked-list addition
described in Section 13.5.3),
+ The DCI connection status information for the selected COx_PT, as determined by
the arbitration algorithm, indicates Initialization Request, Local Override, Fail-safe, or
Open Cascade.
13.5.17 Initialization
The BOUTR block initializes whenever the block is restarted, there is a bad-to-good transition of
the status of COUT, or there is a true-to-false transition in the status of INI_PT (see
Section 13.5.16).
Initialization action consists of setting the readback value from the selected redundant output
point into IN, SET, and COUT_request. The cascade is then opened to force an upstream initial-
ization. See Section 13.5.18. A block output is sent to the redundant outputs at this time.
If the block is in Auto mode, and there has been a bad-to-good transition in the status of IN, the
same actions are taken, except for the initialization of SET. The definition of Bad for the status of
IN depends on EROPT.
13.5.18 Cascade Processing
The cascade is opened when the block has initialized for any of the reasons listed in
Section 13.5.17. When the cascade is opened, INITCO, which should be connected to INITI
input of the block immediately upstream from the BOUTR block (if there is an INITI parameter
B0193AX Rev AB 13. BOUTR Redundant Binary Output Block
350


in that block), is turned on. The status of BKCO, which should be connected to the BCALCI
input of the block immediately upstream, is set to indicate open cascade.
The current readback value is set into the value of BKCO, and the BOUTR block then goes into
a Hold (see Section 13.5.19), thereby disallowing any output changes.
The upstream block (the block connected to IN) is then commanded to run immediately. This
feature sets a Run flag in the header of the upstream block, causing the compound processor to
execute this block on the next BPC without regard to its period and phase.
If there is no support for cascade processing in the upstream block, configure PRIBLK = 0. In this
case, the cascade is held open for one cycle, after which the Hold is released. If closure of the cas-
cade is to occur after a specific timeout, configure PRIBLK = 1. In this case, PRITIM must be
configured with a nonzero value. The cascade is closed again after the PRITIM delay has expired.
(The BOUTR block does not support the closed-loop ACK option for cascade closure. If
PRIBLK is True and PRITIM = 0, the block fails validation.)
13.5.19 Holding and Tracking
The block goes into Holding whenever IN is Bad, when COUT has Bad status, or when it is in
Auto mode with the cascade not closed.
The block goes into Tracking when the status of INI_PT is true and remains that way as long as it
remains true.
Ordinarily, no output changes are allowed while the block is in Holding or Tracking. The only
exceptions are when this is an initialization cycle or this is the beginning or end of a fail-safe or IR
period, as described earlier in Section 13.5.11.
13.5.20 Simulation Option
When Simulation Option (SIMOPT) is configured true, there are no ECBs and no DCI connec-
tions established for the block. The statuses of CRBK_1, CRBK_2, and CRBK_3 are not recov-
ered from the field, and no updates to the field occur.
However, the basic actions of Auto and Manual modes are still observed when SIMOPT is true. If
the block is in Auto, IN is used for simulated inputs, and if the block is in Manual mode, SET
may be used. All input processing, including change monitoring and readback change detection,
is performed normally.
13.5.21 Alarming (CP270 Only)
The BOUTR block supports the Bad I/O alarm type. This section provides a functional overview
of the Bad I/O alarm.
The nomenclature for identical alarm types varies from block to block for historical reasons
involving backward compatibility requirements. The nomenclature for the BOUTR block is as
follows:
Table 13-5. Alarm Nomenclature
Type Option
Priority
Group Text
Default
Display
Indicator
Parameter
BAD I/O BAO BAG BAT IOBAD
13. BOUTR Redundant Binary Output Block B0193AX Rev AB
351


13.5.21.1 Bad Alarming Overview
Key Parameters: BAO, BAP, BAG, BAT, BAD, AMRTIN
Bad alarming occurs when the Bad Alarm Option (BAO) is set and one or both of the connected
readback values are bad. Bad alarm messages are generated for each readback value independently
when its status is bad (CRBK_P.BAD, CRBK_S.BAD).
When one readback value becomes bad, the BOUTR block creates a bad alarm message and sends
it to all devices specified in the bad alarm group (BAG) parameter. The bad alarm message con-
tains the descriptive text specified in the Bad Alarm Text parameter (BAT) and the loop identifier
(LOOPID). To identify which of the readback values are bad, the message also contains a
BAD_P text string if the primary readback value is bad or a BAD_S text string if the second-
ary readback value is bad.
When the readback value becomes good, a corresponding return-to-normal message is generated
and sent to all devices in the bad alarm group.
Bad alarm status information, however, is generated only when both readback values are bad.
When both readback values are bad, the BOUTR block takes the following actions:
+ Sets the bad parameter (BAD) and the corresponding BAD bit of the Alarm Status
parameter (ALMSTA.BAD) true
+ Sets the UNACK parameter and the corresponding ALMSTA.UNACK bit true
+ Sets the criticality (CRIT) parameter and its corresponding ALMSTA.CRIT field to
the BAP (Bad Alarm Priority) value.
+ Sets the Priority Type (PRTYPE) parameter and its corresponding ALMSTA.PRTYPE
bit to the Bad alarm type.
When both readback values return to good status, BAD, CRIT, PRTYPE and their corresponding
fields in ALMSTA are cleared. The UNACK parameter and the ALMSTA.UNACK bit are
cleared if one of the following is true:
+ The alarm is acknowledged by an OM set operation at either the compound or block
level by setting the compound or block parameter UNACK to 0.
+ Both readback values return to a good status and the Inhibit Option (INHOPT) is set
appropriately.
+ The block is shut down.
When UNACK is cleared, an Alarm Acknowledge message is generated and sent to all devices in
the bad alarm group.
13.5.21.2 Inhibiting and Disabling Alarms
Using a combination of the BOUTR block parameters INHOPT and INHIB and the compound
parameter CINHIB, you can inhibit bad alarm messages and/or disable bad alarm detection.
When the Bad alarm is inhibited or disabled, an Alarm Disable message is sent to all devices in the
bad alarm group. If the Bad alarm is unacknowledged, an Alarm Acknowledge message is also sent
to the devices. In addition, the ALMSTA.INHIB, INHSTA.BAD, INHSTA.BAD_P, and
INHSTA.BAD_S bits are set.
When the Bad alarm is uninhibited or enabled, a corresponding Alarm Enable message is gener-
ated and sent to the devices belonging to the bad alarm group, the ALMSTA.INHIB bit is
cleared, and the INHSTA parameter is cleared.
B0193AX Rev AB 13. BOUTR Redundant Binary Output Block
352


The BOUTR block also supports alarm reprioritization and regeneration. Refer to the appropri-
ate Integrated Control Software Concepts document (B0700AG or B0193AW) for detailed infor-
mation on inhibiting, disabling, reprioritizing, and regenerating alarms.
353


14. CALC Calculator Block
This chapter covers the Calculator, or CALC, block, its features, parameters and detailed
operations.
14.1 Overview
The Calculator (CALC) block provides both logical functions and arithmetic and boolean com-
putational capability within one integrated environment. This block lets you satisfy specialized
control needs that cannot be met efficiently with either the standard block set offering or the
sequence control blocks.
Use the Integrated Control Configurator to configure the CALC block. The configuration pro-
cess allows you to specify the system path for all desired input connections and constant data val-
ues, and to program the block by entering a series of programming steps. Each program step is
represented by a parameter string of up to 10 characters.
The CALC block inputs and outputs are shown in Figure 14-1.
Figure 14-1. CALC Block I/O Diagram
The differences between the CALC, CALCA, MATH, and LOGIC blocks are summarized in
Table 14-1.
Table 14-1. Block Comparison
CALC CALCA MATH LOGIC
Dual Operands --- X X X
Output Clamping X --- --- ---
Boolean Instructions X X --- X
Packed Boolean Instructions X X ---
Mathematical Instructions X X X ---
Cascade Instruction X X X ---
Steps 50 50 20 15
8 Real Inputs
16 Boolean Inputs
2 Integer Inputs
2 Long Integer Inputs
4 Real Outputs
8 Boolean Outputs
6 Integer Outputs
2 Long Integer Outputs
Calculation
Program
(up to 50 steps;
configurable)
Manual/Auto Program Error
Step Error
B0193AX Rev AB 14. CALC Calculator Block
354


14.2 Basic Operation
The CALC block operates like most programmable pocket calculators. The blocks input/output
modularity and programming capacity provides a level of functionality that complements the
standard block set offering.
The program which you enter is executed once each time the CALC block executes. A single exe-
cution of the program is defined as a single consecutive execution of each program step in turn. It
is, however, possible to specify conditional execution of steps or groups of steps.
Every program step contains an opcode, which identifies the operation to be performed, and one
command line argument. The command line argument consists of the actual operand for the step,
the location of the operand, a specification of details which further refine the opcode, or some
combination of these factors. The syntax of each individual instruction is provided in
Section 14.6.5.
The CALC block can operate in Auto or Manual mode. The operation of the block in Manual is
identical to the operation in Auto, except that any output parameters involved in the steps are not
modified by the block logic. They are released, and can be set only by user action. Manual mode
is described in Section 14.6.1.2.
14.3 Features
+ Operates with the standard block set, within the same compound processor
environment.
+ Provides tight synchronization with the real-time execution of the standard blocks.
+ Provides 8 real inputs, 2 long integer inputs, 2 integer inputs, 16 boolean inputs,
4 real outputs, 2 long integer outputs, 8 boolean outputs, and 6 integer outputs.
+ Provides 24 memory data storage registers that are preserved between execution cycles.
+ Provides 50 programming steps and supports a chaining capacity of up to 16 operands
before a function is performed or before the stack is cleared.
+ Allows arithmetic calculations to be conditionally executed, depending on arithmetic
or logic conditions detected under program control.
Memory Registers 24 24 5 5
Boolean Inputs 16 16 0 16
Boolean Outputs 8 8 0 4
Integer Inputs 2 2 0 0
Integer Outputs 6 6 0 0
Long Integer Inputs 2 2 0 1
Long Integer Outputs 2 2 0 1
Real Inputs 8 8 8 2
Real Outputs 4 4 4 0
Table 14-1. Block Comparison (Continued)
CALC CALCA MATH LOGIC
14. CALC Calculator Block B0193AX Rev AB
355


+ Provides a complete mix and interchangeability between the results of boolean and
real operations.
+ Provides system-level functions that let your algorithm read the status of any input
parameter for error detection and directly control the BAD status of any output
parameter. This capability lets your algorithm directly interface with the standard
block set.
+ Checks correctness of all programming steps following block installation and recon-
figuration, and undefines the block if an error is detected.
+ Provides the ability to detect run-time errors.
+ Supports the standard block-level manual/auto capability for all of its outputs.
+ Allows forward branching of program control. To keep you from creating endless
loops, backward branching is not allowed.
+ Supports range and engineering units for each real input/output parameter. When in
Auto, the block automatically clamps all real outputs at the specified output ranges.
+ Lets you initialize all timers and memory registers.
14.4 Parameters
Table 14-2. CALC Block Parameters
Name Description Type Accessibility Default Units/Range
Configurable Parameters
INPUTS
NAME block name string no-con/no-set blank 1 to 12 chars
TYPE block type integer no-con/no-set 18 CALC
DESCRP descriptor string no-con/no-set blank 1 to 32 chars
PERIOD block sample time short no-con/no-set 1 0 to 13
PHASE block phase number integer no-con/no-set 0 ---
LOOPID loopid string no-con/set blank 1 to 32 characters
RI01 to RI08 real input 1 to 8 real con/set 0.0 RI1 to RI8
HSCI1 to HSCI8 high scale 1 to 8 real no-con/no-set 100.0 specifiable
LSCI1 to LSCI8 low scale 1 to 8 real no-con/no-set 0.0 specifiable
DELTI1 to DELTI8 change delta 1 to 8 real no-con/no-set 1.0 percent
EI1 to EI8 eng units input 1 to 8 string no-con/no-set % specifiable
BI01 to BI16 boolean input 1 to 16 boolean con/set 0 0 to 1
II01 and II02 integer input 1 and 2 integer con/set 0 ---
LI01 and LI02 long int input 1 and 2 long con/set 0 ---
HSCO1 to HSCO4 high scale 1 to 4 real no-con/no-set 100.0 specifiable
LSCO1 to LSCO4 low scale 1 to 4 real no-con/no-set 0.0 specifiable
EO1 to EO4 eng unit output 1 to 4 string no-con/no-set % specifiable
MA manual/auto boolean con/set 0 0 to 1
INITMA initialize MA short no-con/no-set 1 [0|1|2]
TIMINI timer initialize option short_int no-con/set 0 0 to 3
M01 to M24 memory 1 to 24 real no-con/no-set 0.0 ---
STEP01 to STEP50 program step 1 to 50 char[16] no-con/no-set --- 1 to 16 chars
B0193AX Rev AB 14. CALC Calculator Block
356


14.4.1 Parameter Definitions
ACHNGE Alternate Change is an integer output which is incremented each time a
block parameter is changed via a Set command.
BI01 to BI16 Boolean Inputs 1 through 16 are configurator entries that identify the
upstream boolean outputs coming to the boolean inputs of the block.
BLKSTA Block Status is a 32-bit output, bit-mapped to indicate the blocks opera-
tional states. For the CALC block, only the following bits are used:
Non-Configurable Parameters
OUTPUTS
BLKSTA block status pack_l con/no-set 0 bit map
BO01 to BO08 boolean output 1 to 8 boolean con/no-set 0 0 to 1
IO01 to IO06 integer output 1 to 6 integer con/no-set 0 ---
LO01 to LO02 long outputs 1 and 2 long con/no-set 0 ---
PERROR program error integer con/no-set 0 ---
RO01 to RO04 real output 1 to 4 real con/no-set 0.0 RO1
STERR step error number integer con/no-set 0 ---
DATA STORES
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
DEFINE no config errors boolean no-con/no-set 1 0 to 1
DELTO1 to DELTO4 change delta 1 to 4 real no-con/no-set 1.0 percent
ERCODE config error string no-con/no-set 0 1 to 43 chars
LOCKID lock identifier string no-con/no-set blank 8 to 13 chars
LOCKRQ lock request boolean no-con/set 0 0 to 1
OWNER owner name string no-con/set blank 1 to 32 chars
RI1 to RI8 eng range input 1 to 8 real[3] no-con/no-set 100,0,1 specifiable
RO1 to RO4 eng range output 1 to 4 real[3] no-con/set 100,0,1 specifiable
Table 14-2. CALC Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
W
L
C
K
O
N
U
D
E
F
M
A
14. CALC Calculator Block B0193AX Rev AB
357


* Bit 0 is the least significant, low order bit.
BO01 to BO08 Boolean Outputs 1 through 8.
DEFINE Define is a data store which indicates the presence or absence of configura-
tion errors. The default is 1 (no configuration errors). When the block ini-
tializes, DEFINE is set to 0 if any configured parameters fail validation
testing. In that case, no further processing of the block occurs. To return
DEFINE to a true value, correct all configuration errors and re-install the
block.
DELTI1 to DELTI8
Change Delta for Input Ranges 1 through 8 are a real values that define
the minimum percent of the input range that triggers change driven con-
nections for parameters in the range of RI1 through RI8. The default
value is 1.
Entering a 1 causes the Object Manager to recognize and respond to a
change of 1 percent of the full error range. If communication is within the
same CP that contains the blocks compound, change deltas have no
effect.
Refer to Peer-to-Peer Connections of Real-Type Block Inputs on
page 23 for details on how the I/A Series software affects the change delta
percentage during operation.
DELTO1 to DELTO4
Change Deltas for Output Ranges 1 through 4 are presently unused.
DESCRP Description is a user-defined string of up to 32 characters that describe the
blocks function (for example, PLT 3 FURNACE 2 HEATER CON-
TROL).
EI1 to EI8 Engineering Units for Input Ranges 1 through 8, as defined by the param-
eters HSCI1 to HSCI8, LSCI1 to LSCI8, and DELTI1 to DELTI8. EI1
to EI8 provide the engineering units text for the values defined by Input
Ranges 1 through 8. Deg F or pH are typical entries.
EO1 to EO4 Engineering Units for Output Ranges 1 through 4, as defined by the
parameters HSCO1 to HSCO4, LSCO1 to LSCO4, and DELTO1 to
Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
11 MA Manual(= false)/Auto(= true) BLKSTA.B21
14 UDEF Undefined BLKSTA.B18
15 ON Compound On BLKSTA.B17
20 WLCK Workstation Lock BLKSTA.B12
B0193AX Rev AB 14. CALC Calculator Block
358


DELTO4. EO1, for example, provides the engineering units text for the
values defined by Output Range 1. Deg F or pH are typical entries.
Make the units for the Output Range (EO1) consistent with the units of
Input Range 1 (EI1) and Input Range 2 (EI2).
ERCODE Error Code is a string data store which indicates the type of configuration
error or warning encountered. The error situations cause the blocks
DEFINE parameter to be set false, but not the warning situations. Valida-
tion of configuration errors does not proceed past the first error encoun-
tered by the block logic. The block detailed display shows the ERCODE
on the primary page, if it is not null. For the CALC block, the following
list specifies the possible values of ERCODE, and the significance of each
value in this block:
HSCI1 to HSCI8 High Scale for Input Ranges 1 through 8 are real values that define the
upper limit of the measurement ranges. EI1 to EI8 define the units. Make
the range and units consistent with the measurement source. A typical
value is 100 (percent).
HSCO1 to HSCO4
High Scale for Output Ranges 1 through 4 are real values that define the
upper limit of the ranges for outputs 1 through 4. A typical value is 100
(percent). EO1 to EO4 define the units. Make the range and units consis-
tent with those of the output destination.
Message Value
W43 INVALID PERIOD/
PHASE COMBINATION
PHASE does not exist for given block
PERIOD, or block PERIOD not
compatible with compound
PERIOD.
W45 CONFIGURATION
ERROR IN STEP nn
A parsing error has been detected in a
CALC block; nn identifies the step in
error.
W46 INVALID INPUT
CONNECTION
The source parameter specified in the
input connection cannot be found in
the source block, or the source
parameter is not connectable, or an
invalid boolean extension connection
has been configured.
W48 INVALID BLOCK
OPTION
The configured value of a block
option is illegal.
W53 INVALID
PARAMETER VALUE
A parameter value is not in the accept-
able range.
W58 INSTALL ERROR;
DELETE/UNDELETE
BLOCK
A Database Installer error has
occurred.
14. CALC Calculator Block B0193AX Rev AB
359


II01 Integer Input 1 is a 16-bit integer representing 16 packed boolean inputs.
II01 is processed when the IOMOPT option is false, and the parameter
INPUTS is not connected. The bits are numbered 1 through 16, with bit
1 as the Most Significant Bit. The bits are mapped to the CIN_x output of
the same number (that is, II01 bit 1 is output at CIN_1, bit 2 at
CIN_2, and so on). If II01 and II02 are both used, II01 is positioned as
the more significant. II01 can be peer-to-peer connected as a sink to a
packed boolean output of another block (for example, PAKCRB from an
MCOUT block or IO01 through IO06 from a CALC block). In the case
of the MCIN block, II01 is a packed boolean long (32-bit) input.
II02 Integer Input 2 is the same as II01 except that II02 contains the 16 bits of
lesser significance. The bits of II02 are output to CIN_x, where x = the bit
number + 16 (that is, II02 bit 1 is output at CIN_17, bit 2 at CIN_18,
and so on). II02 has the same connection properties as II01. In the case of
the MCIN block, II02 is a packed boolean long (32-bit) input.
INITMA Initialize Manual/Auto specifies the desired state of the MA input during
initialization, where:
0 = Manual
1 = Auto
2 = The MA state as specified in the checkpoint file.
The block asserts this initial M/A state whenever:
+ It is installed into the Control Processor database.
+ The Control Processor undergoes a reboot operation.
+ The compound in which it resides is turned on.
+ The INITMA parameter itself is modified via the control configu-
rator. (The block does not assert INITMA on ordinary
reconfiguration.)
INITMA is ignored if MA has an established linkage.
IO01 to IO06 Integer Outputs for Points 1 through 6.
LI01 to LI02 Long Integer Inputs 1 and 2.
LO01 to LO02 Long Integer Outputs 1 and 2.
LOCKID Lock Identifier is a string identifying the workstation which has locked
access to the block via a successful setting of LOCKRQ. LOCKID has the
format LETTERBUG:DEVNAME, where LETTERBUG is the 6-charac-
ter letterbug of the workstation and DEVNAME is the 1-6 character logi-
cal device name of the Display Manager task.
LOCKRQ Lock Request is a boolean input which can be set true or false only by a
SETVAL command from the LOCK U/L toggle key on workstation dis-
plays. When LOCKRQ is set true in this fashion a workstation identifier
accompanying the SETVAL command is entered into the LOCKID
B0193AX Rev AB 14. CALC Calculator Block
360


parameter of the block. Thereafter, set requests to any of the blocks
parameters are honored (subject to the usual access rules) only from the
workstation whose identifier matches the contents of LOCKID.
LOCKRQ can be set false by any workstation at any time, whereupon a
new LOCKRQ is accepted, and a new ownership workstation identifier
written to LOCKID.
LOOPID Loop Identifier is a configurable string of up to 32 characters which iden-
tify the loop or process with which the block is associated. It is displayed
on the detail display of the block, immediately below the faceplate.
LSCI1 to LSCI8 Low Scale for Input Ranges 1 through 8 are real values that define the
lower limit of the measurement ranges. A typical value is 0 (percent). EI1
to EI8 define the units. Make the range and units consistent with those of
the measurement source.
LSCO1 to LSCO4
Low Scale for Output Ranges 1 through 4 are real values that define the
lower limit of the ranges for Outputs 1 through 4. A typical value is 0
(percent). EO1 to EO4 define the units. Make the range and units consis-
tent with those of the output destination.
M01 to M24 Memory elements 1 through 24 are memory registers. These provide tem-
porary storage for the result of any operation in the up-to-50-step CALC
block program. The values you configure are initial values for M01 to
M20. The CALC block program can overwrite this value with an STM
command.
MA Manual Auto is a boolean input that controls the Manual/Automatic
operating state (0 = false = Manual; 1 = true = Auto). In Auto, given the
measurement value, the block computes the output according to its spe-
cific algorithm. The block automatically limits the output to the output
range specified between LSCO1 and HSCO1, for analog blocks. In Man-
ual, the algorithm is not performed, and the output is unsecured. An
external program can then set the output to a desired value.
NAME Name is a user-defined string of up to 12 characters used to access the
block and its parameters.
OWNER Owner is a string of up to 32 ASCII characters which are used to allocate
control blocks to applications. Attempts to set Owner are successful only
if the present value of Owner is the null string, an all-blank string, or iden-
tical to the value in the set request. Otherwise the request is rejected with a
LOCKED_ACCESS error. Owner can be cleared by any application by
setting it to the null string; this value is always accepted, regardless of the
current value of Owner. Once set to the null string, the value can then be
set as desired.
PERIOD Period is an indexed input that dictates the blocks execution time base
and allowable PHASE values. For stations other than Integrators and
14. CALC Calculator Block B0193AX Rev AB
361


Gateways, PERIOD values range from 0 to 13 and map to the following
period time lengths. (Integrator and Gateway blocks have different period
values than shown here.)
*If the BPC is 0.2 seconds, this period is treated internally as 0.6 seconds,
but the PERIOD parameter remains 1.
** If the BPC is 2.0 seconds, this period is treated internally as
6.0 seconds, but the PERIOD parameter remains 10.
*** If the BPC is 0.5 seconds this period is treated internally as
0.5 seconds, but the PERIOD parameter remains 11.
**** If the BPC is not 2.0 seconds, this period is treated internally as
5.0 seconds, but the PERIOD parameter remains 12.
***** Available in CP40, CP40B, CP60 and later control processors.
PERROR Program Error is a coded integer output that indicates the type of instruc-
tion syntax error or program run-time error that occurred in the step spec-
ified by the STERR parameter.
PHASE Phase is an integer input that causes the block to execute at a specific BPC
within the time determined by the PERIOD. For instance, a block with
PERIOD of 3 (2.0 sec) can execute within the first, second, third, or
fourth BPC of the 2-second time period, assuming the BPC of the Con-
trol Processor is 0.5 seconds. Refer to the appropriate Integrated Control
Software Concepts document (B0700AG or B0193AW).
RI01 to RI08 Real Inputs 1 through 8 are real inputs. Your configurator entry identifies
the upstream output that is coming to the inputs of this block to be
included in the calculation.
RI1 to RI8 Range Input is an array of real values that specify the high and low engi-
neering scale and change delta of a particular real input. For a given block,
it also forms an association with a group of real input parameters that have
the same designated range and change delta.
RO01 to RO04 Real Output for Points 1 through 4.
Period Length Period Length
0 0.1 sec 7 10 min
1 0.5 sec* 8 60 min
2 1.0 sec 9 0.2 sec
3 2.0 sec 10 5.0 sec**
4 10 sec 11 0.6 sec***
5 30 sec 12 6.0 sec****
6 1 min 13 0.05 sec*****
B0193AX Rev AB 14. CALC Calculator Block
362


RO1 to RO4 Range Output is an array of real values that specify the high and low engi-
neering scale of a particular real output. For a given block, it also forms an
association with a group of real output parameters that have the same des-
ignated range.
STEP01 to STEP50
Steps 1 through 50 are string inputs of up to 8 characters. They are the 50
executable commands that make up the CALC block program.
STERR Step Error is an integer output that indicates which program step is exhib-
iting the error defined by PERROR.
TIMINI Timer Initialization option specifies whether an initial state change can be
generated by a DON, DOFF, FF, MRS, or OSP instruction in a block
when the block initializes.
TYPE When you enter CALC or select it from a configurator list, it creates an
identifying integer specifying this block type.
14.5 Functions
The CALC block provides 114 program instructions, consisting of the following general types:
+ 32 Arithmetic instructions, which perform mathematical calculations.
+ 13 Boolean instructions, which provide various boolean and packed boolean
operations.
+ 27 Input/Output instructions, which perform the input or output of data or status
bits.
+ 2 Cascade and Propagation instructions for error propagation and downstream cas-
cade acknowledgments.
+ 10 Memory and Stack Reference instructions for reading and writing the memory reg-
isters, or directly manipulating the stack.
+ 10 Program Control instructions for conditional and unconditional branching, and
program termination.
+ 10 Clear/Set instructions, which provide for conditional or unconditional clearing or
setting of parameters, sometimes with simultaneous program control action.
+ 6 Timing instructions which control the operation of program timers.
+ 2 Logic instructions which emulate the operation of flip-flops.
0 = Initial state change allowed for DOFF, DON, FF, MRS, and OSP.
1 = Initial state change disallowed for DOFF, DON, and OSP.
Initial state change allowed for FF and MRS.
2 = Initial state change disallowed for FF and MRS.
Initial state change allowed for DOFF, DON, and OSP.
3 = Initial state change disallowed for DOFF, DON, FF, MRS, and
OSP.
14. CALC Calculator Block B0193AX Rev AB
363


+ 3 Error Control instructions which provide access to the run-time error flag.
B0193AX Rev AB 14. CALC Calculator Block
364


14.5.1 Arithmetic Instructions
Most CALC block operations center about a 16-position push-down stack of real data type val-
ues. The top position of this stack is referred to as the accumulator.
All arithmetic instructions involve the accumulator value, frequently in conjunction with various
block parameters. No arithmetic operations contribute rounding errors beyond one unit of the
least significant decimal digit of a real, single precision, floating point value.
To minimize the number of arithmetic instructions, all arithmetic operations are performed in the
floating point domain.
Data is always stored as a real value. If an integer operation is defined, the operation strips the dec-
imal portion from the input real value(s), and converts the result to a real value again by adding a
zero after the decimal point. If a boolean operation is specified, the operation interprets any non-
zero value to be a logical one, and a zero value to be a logical zero, in keeping with the usual C lan-
guage convention.
The range of integer values is -32,768 to 32,767.
The range of real values is 10
-38
to 10
38
for positive and negative numbers.
Each of the arithmetic operations (and boolean operations) utilize one or more inputs to the cal-
culation, generically referred to as operands. These inputs are obtained from various block param-
eters, the push-down stack, and/or the command line argument of the instruction syntax.
Regardless of the origin of the inputs, instructions using one input are designated unary, those uti-
lizing two inputs are designated diadic, and those utilizing a variable number of inputs are desig-
nated polyadic. Table 14-3 lists the arithmetic instructions.
Table 14-3. Arithmetic Instructions
Name Function Instruction Type
ABS Absolute Value Unary
ACOS Arc Cosine Unary
ADD Add Diadic or Polyadic
ALN Natural Antilog Unary
ALOG Common Antilog Unary
ASIN Arc Sine Unary
ATAN Arc Tangent Unary
AVE Average Diadic or Polyadic
CHS Change Sign Unary
COS Cosine Unary
DEC Decrement Unary
DIV Divide Diadic
EXP Exponent Diadic
IDIV Integer Division Diadic
IMOD Integer Modulus Diadic
INC Increment Unary
LN Natural Logarithm Unary
14. CALC Calculator Block B0193AX Rev AB
365


14.5.2 Boolean Instructions
All boolean instructions involve the accumulator value, frequently in conjunction with various
block parameters. The boolean value of logical zero is stored on the stack or in memory registers
as real value 0.0, and logical one is stored as 1.0. When operands are fetched from the stack or
memory registers, the operation interprets any non-zero value to be a logical one, and a real zero
value to be a logical zero, in keeping with the usual C language convention.
In addition to ordinary boolean operations, a group of bitwise logical operations on packed bool-
ean values is supported. Table 14-4 lists the boolean instructions.
LOG Common Logarithm Unary
MAX Maximum Diadic or Polyadic
MAXO (Same as MAX)
MIN Minimum Diadic or Polyadic
MEDN Median Polyadic
MUL Multiply Diadic or Polyadic
RAND Generate Random Number Unary
RANG Generate Random Number, Gaussian Unary
RND Round Unary
SEED Seed Random Number Generator Unary
SIN Sine Unary
SQR Square Unary
SQRT Square Root Unary
SUB Subtract Diadic
TAN Tangent Unary
TRC Truncate Unary
Table 14-4. Boolean Instructions
Name Function Instruction Type
AND Logical And Diadic or Polyadic
ANDX Packed Logical And Polyadic
NAND Logical Not And Diadic or Polyadic
NANX Packed Logical NAND Polyadic
NOR Logical Not Or Diadic or Polyadic
NORX Packed Logical Nor Or Polyadic. Packed Boolean
NOT Not Unary
NOTX Packed Logical Not Unary, Packed Boolean
NXOR Logical Not Exclusive Or Diadic or Polyadic, Packed Boolean
Table 14-3. Arithmetic Instructions (Continued)
Name Function Instruction Type
B0193AX Rev AB 14. CALC Calculator Block
366


14.5.3 Input/Output Reference Instructions
Input/Output reference instructions provide access to status bits of I/O parameters and permit
data transfer between a specific input or output parameter and the accumulator (top of stack).
Instructions referencing a specific input or output include an operand specifying the particular
I/O parameter.
Instructions only modify the values of output parameters when the CALC block is in Auto. If an
instruction performs several actions, one of which is modification of output values, the portions
of the instruction which do not relate to output modification are carried out even if the block is in
Manual. Modification of the status of output parameters is carried out in Auto or Manual.
The CALC block automatically clamps its integer and long integer output values on overflow and
underflow at the maximum positive and minimum negative values, respectively, as shown in the
following table.
Table 14-5 lists the input/output reference instructions.
NXOX Packed Logical Not Exclusive Or Polyadic, Packed Boolean
OR Logical Or Diadic or Polyadic
ORX Packed Logical Or Polyadic, Packed Boolean
XOR Logical Exclusive Or Diadic or Polyadic
XORX Packed Logical Exclusive Or Polyadic, Packed Boolean
Parameter Maximum Positive Minimum Negative
IO01 to IO04 32767 -32768
LO01 to LO02 2147483647 -2147483648
Table 14-5. Input/Output Reference Instructions
Name Function Instruction Type
CBD Clear Bad Status Output Status
CE Clear Error Status Output Status
COO Clear Out-of-Service Status Output Status
IN Input Input Value
INB Input Indexed Boolean Input Value
INH Input High Order Input Value
INL Input Low Order Input Value
INR Input Indexed Real Input Value
INS Input Status Input Status
Table 14-4. Boolean Instructions (Continued)
Name Function Instruction Type
14. CALC Calculator Block B0193AX Rev AB
367


14.5.4 Cascade and Propagation Instructions
Cascade and propagation instructions pass various status bits of specified real inputs to specified
real outputs. They are used for error propagation and downstream cascade acknowledgment.
Table 14-6 lists the cascade and propagation instructions.
14.5.5 Memory and Stack Reference Instructions
The CALC block provides 24 memory data storage elements to store the result of any operation.
Data is stored as a real value but can represent either integer, real, or boolean results.
All memory elements are preserved between execution cycles.
OUT Output Output Value
RBD Read Bad and OOS Bits Input Status
RCL Read and Clear Input Value/Unconditional Clear
RCN Read Connect Status Input Linkage Type
RE Read Error Bit Input Status
REL Clear Secure Status Output Status
RON Read In-Service Status Input Status
ROO Read OOS Bit Input Status
RQE Read Quality Including Error Input Status
RQL Read Quality Input Status
SAC Store Accumulator in Output Output Value
SBD Set Bad Status Output Status
SE Set Error Status Output Status
SEC Set Secure Status Output Status
SOO Set Out-of-Service Status Output Status
STH Store High Order Output Value
STL Store Low Order Output Value
SWP Swap Input Value/Output Value
Table 14-6. Cascade and Propagation Instructions
Name Function Instruction Type
PRI Propagate Upstream Cascade/Propagation
PRO Propagate Downstream Cascade
PRP Propagate Errors Propagation
Table 14-5. Input/Output Reference Instructions (Continued)
Name Function Instruction Type
B0193AX Rev AB 14. CALC Calculator Block
368


The letter M followed by an integer between 01 and 24 (or 1 and 24) designates the specific regis-
ter to be accessed by a memory referencing instruction. Table 14-7 lists the memory and stack ref-
erence instructions.
14.5.6 Program Control Instructions
The instructions in Table 14-8 provide conditional or unconditional branching to a program step
number as well direct termination of the program. A step number less than or equal to the present
program step or greater than 50 invalidates or terminates the program.
Table 14-7. Memory and Stack Reference Instructions
Name Function Instruction Type
CLA Clear All Memory Registers Memory
CLM Clear Memory Register Memory
CST Clear Stack Stack
DEC Decrement Operand/Stack
DUP Duplicate Stack
INC Increment Operand/Stack
LAC Load Accumulator Memory/Stack
LACI Load Accumulator Indirect Memory/Stack
POP Pop Stack Stack
RCL Read and Clear Operand/Stack
STM Store Memory Memory/Stack
STMI Store Memory Indirect Memory/Stack
SWP Swap Operand/Stack
TSTB Test Packed Boolean Stack
Table 14-8. Program Control Instructions
Name Function Instruction Type
BIF Branch If False Conditional Branch
BII Branch If Initializing Conditional Branch
BIN Branch If Negative Conditional Branch
BIP Branch If Positive or Zero Conditional Branch
BIT Branch If True Conditional Branch
BIZ Branch If Zero Conditional Branch
END End Program Program Termination
EXIT Exit Program Program Termination
GTI Go To Indirect Unconditional Branch
GTO Go To Unconditional Branch
14. CALC Calculator Block B0193AX Rev AB
369


14.5.7 Clear/Set Instructions
The following instructions allow you to clear or set a parameter value unconditionally, or set it
conditionally, depending on the accumulator value or the block initialization state.
14.5.8 Timing Functions
The operands of the timing instructions in Table 14-10, except for TIM, can specify a real value
constant or reference any real input or output parameter value record, for example, RI02. The
numeric value used in either case is assumed to be in units of seconds. During conversion, the
internal time values are truncated to the nearest block period. See the OSP, DON, DOFF Timing
Diagram (Figure 14-2).
NOP No Operation Unconditional Branch
SSF Set Boolean and Skip if Accumulator False Program Control
SSI Set Boolean and Skip if Block Initializing Program Control
SSN Set Boolean and Skip if Accumulator Negative Program Control
SSP Set Boolean and Skip if Accumulator Positive Program Control
SST Set Boolean and Skip if Accumulator True Program Control
SSZ Set Boolean and Skip if Accumulator Zero Program Control
Table 14-9. Clear/Set Instructions
Name Function Instruction Type
CLR Clear Unconditional Clear
CLRB Clear Packed Boolean Unconditional Clear
SET Set Unconditional Set
SETB Set Packed Boolean Unconditional Set
SSF Set and Skip if False Conditional Set
SSI Set and Skip if Initializing Conditional Set
SSN Set and Skip if Negative Conditional Set
SSP Set and Skip if Positive Conditional Set
SST Set and Skip if True Conditional Set
SSZ Set and Skip if Zero Conditional Set
Table 14-8. Program Control Instructions (Continued)
Name Function Instruction Type
B0193AX Rev AB 14. CALC Calculator Block
370


Figure 14-2. OSP, DON, DOFF Timing Diagram
14.5.9 Logic Functions
The higher-level logic functions listed in Table 14-11 are supported. They emulate the functions
of a traditional set-reset flip-flop and a reset-dominant flip-flop, respectively.
The FF instruction emulates the function of a traditional set-reset flip-flop. If both the set input
and the reset input take on a logical one value, the previous state of the Q output is retained.
The MRS instruction provides the same functionality as the FF, except that the reset input has
priority over the set input. If both inputs take on a logical one value, the flip-flop is forced to
reset.
Table 14-10. Timing Instructions
Name Function Instruction Type
DOFF Delayed OFF Timing
DON Delayed ON Timing
OSP One-Shot Pulse Timing
TIM Time Since Midnight Time Reporting
Table 14-11. Logic Instructions
Name Function Instruction Type
FF Flip-Flop Logic
MRS Master Reset Flip-Flop Logic
Accumulator
OSP
Accumulator
DON nn
Accumulator
DOFF nn
nn sec
nn sec nn sec
nn sec nn sec
14. CALC Calculator Block B0193AX Rev AB
371


14.5.10 Error Control Instructions
Error control instructions give your program the ability to detect, report, and clear errors during
run-time. An internal error flag (parameter PERROR) records the first run-time error event. The
instructions in Table 14-12 test and clear this flag, but do not in themselves handle the error con-
dition. In most cases, the accumulator value is clamped continuously to positive or negative
machine infinity.
14.6 Instructions
14.6.1 Instruction Processing
14.6.1.1 Auto Mode
Each block processing cycle, the CALC block executes each programmed step in sequence, except
for those bypassed because of branch conditions. When the program has been executed a single
time, the block execution is complete, and control is passed to the next block in the compound
processor list.
Program execution is complete when an END or EXIT statement is reached in the program flow,
or Step 50 has been executed, whichever occurs first in time.
Between instructions, the block stores intermediate results on a 16-position internal stack. You
can use stack values as arguments to subsequent instructions. The stack is cleared at the start of
each block execution cycle. You can use the 24 internal memory registers (Mxx) to store data
between block execution cycles. These memory registers can be pre-configured to contain con-
stants needed by the various instructions, or they can be used to store instruction arguments
and/or results.
14.6.1.2 Manual Mode
When the block is in Manual mode, it processes the steps the same way, except that the output
actions are ignored. When an instruction (such as RCL) involves both the writing of outputs and
other actions, the other actions are performed; only the output portions are ignored.
The actions carried out by the instruction RCL RO01 in Auto and Manual mode are shown in
Figure 14-3. The read portion, shown in part 1 of Figure 14-3, occurs unconditionally. Then the
clear action shown in part 2 of Figure 14-3, which depends on the Auto/Manual mode, follows.
Table 14-12. Error Control Instructions
Name Function Instruction Type
CLE Clear Error Flag Error Control
RER Read Error Flag Error Control
SIEC Skip if Error Cleared Error Control
B0193AX Rev AB 14. CALC Calculator Block
372


Figure 14-3. Manual Mode
Instructions which modify memory registers M01 to M24 continue to execute normally while in
Manual. For example, if your program ramps a value in M01, the ramping continues while in
Manual.
14.6.2 Instruction Syntax
The CALC block program is entered through the Control Configurator. A program consists of a
series of string-type entries configured in parameters STEP01 through STEP50, each of which
defines a single program instruction.
Each CALC block instruction consists of a string of alphanumeric characters, optionally followed
by a comment. The comment must follow a semi-colon character, and can contain any alphanu-
meric or punctuation characters. The comments are ignored by the block logic, but you may find
them useful when writing, debugging, or reading a CALC program.
14.6.2.1 Rules
The following pseudo instructions show the generic instruction syntax:
operation; comment
operation number_of_stack_operands; comment
operation operand; comment
As noted in Section 14.2, the instruction string comprises the opcode, followed by a command
line argument. You may use leading blanks before the opcode of a program step and between the
opcode and the argument, and between the argument and any comment you include.
17.29
Part 1. Read
Part 2. Clear
17.29
O
O
O
(M)
(A)
0.0
MA
OUTPUT
RO01
OUTPUT
RO01 = 17.29
14. CALC Calculator Block B0193AX Rev AB
373


Blank steps can be inserted anywhere in a CALC block program prior to the END statement.
This makes it easier to make minor modifications in the block program without reconfiguring
each step in the program. When a blank step is found in the program, the block logic skips to the
next step without taking any action.
14.6.2.2 Constants
Some instructions allow a constant value as a command line argument. The instruction defini-
tions of Section 14.6.5 use different letters to represent this constant, depending on the semantic
meaning of the constant, as follows:
+ s = step number
+ t = time constant
+ b = bit number
+ c = count of the number of stack values involved
+ n = arithmetic operand
In all cases, the constant is expected to be an integer. If you enter a non-integer value for the con-
stant, it is automatically truncated to an integer before it is used. There is no warning message
when this truncation occurs. Certain instructions permit a zero or negative integer value, and this
is indicated in the individual instruction descriptions. Truncation of negative real values involves
dropping the decimal portion and retaining the negative sign.
If your program requires the use of a constant operand of real type, you should store it in one of
the memory registers M01 to M24 at configuration time. For example, the instruction ADD RI01
is valid, but ADD 0.7 is invalid.
14.6.3 Instruction Operation
The unary arithmetic and boolean operations take their single input from the contents of the
accumulator (located at the top of the stack). They always store the result of the operation into
the accumulator, overwriting the original accumulator value. The stack pointer remains
unchanged.
Diadic arithmetic and boolean operations obtain their two inputs from a variety of places. When
there is no command line argument specified, the two inputs are obtained from the two top loca-
tions of the stack, having typically been placed there by the two instructions immediately preced-
ing the diadic instruction. The block decrements the stack pointer as the operation is being
performed and stores the result in the new accumulator location, overwriting the first of the two
operands. The second operand is also lost because it now resides in an inaccessible position one
location above the top of the stack.
NOTE
The term first, when used in describing the location of stack operands, refers to the
one which had been pushed earlier. Since the stack grows toward high memory, an
earlier operand has a lower stack pointer value.
A polyadic arithmetic or boolean instruction operates on a variable number of operands, and all of
them are on the stack.
Several polyadic instructions make use of the pseudo-parameters, Ixx and Oxx. These pseudo-
parameters allow the instructions to perform their work with individual bits of the LI01 and
B0193AX Rev AB 14. CALC Calculator Block
374


LO01 packed boolean long integer parameters. The xx index varies from 01 to 32. The polyadic
instructions making use of Ixx and Oxx are IN, OUT, AND, OR, NAND, NOR, XOR, and
NXOR.
For example, IN I12 extracts bit 12 from LI01, while IN O12 extracts bit 12 from LO01. OUT
O12 sets bit 12 of LO01 and OUT I12 sets bit 12 of LI01. AND I12 performs the logical AND
operation between the top of the accumulator stack and bit 12 of LI01. OR O12 performs the
logical OR operation between the top of the accumulator stack and bit 12 of LO01.
14.6.3.1 Stack Operation
If a single operand (for example, RIxx) is specified in the command line, the other operand is
obtained from the top of the stack, and the result is stored at the top of the stack, overwriting the
operand there.
Program Example 1 includes typical diadic instructions. Figure 14-4 shows the stack operation for
each program instruction.
Example 1:
Figure 14-4. Examples of Stack Operation for Diadic Instructions
STEP01 IN RI01 Pushes RI01 value onto stack.
STEP02 ADD RI02 Pops Value1 from the stack, adds RI02 value to Value1, and
pushes the result (Sum1) onto stack.
STEP03 ADD RI03 Pops Sum1 from the stack, adds RI03 value to Sum1, and
pushes the result (Sum2) onto stack.
STEP04 IN 3 Pushes constant 3 onto stack.
STEP05 DIV Pops 3 and Sum2 from stack, divides them, and pushes
Quotient onto stack.
Examples of Stack Operation for Diadic Instructions to Solve
RO01 = (RI01 + RI02 + RI03) / 3
IN RI01 ADD RI02 ADD RI03 IN 3 DIV
S1
Value1
Stack
Registers
(up to 16)
S1 Sum1 S1 Sum2
S2
S1
3
Sum2 S1 Quotient
LEGEND:
Stack
Push
Stack
Pop
14. CALC Calculator Block B0193AX Rev AB
375


When there are no command line arguments, the polyadic instructions operate on all values on
the stack. When the command line argument is a constant (c), they operate on the c operands at
the highest stack positions. These are the most recently-pushed values before the polyadic instruc-
tion is executed.
The block decrements the stack pointer as the operation is being performed and stores the result
in the new accumulator location (the new top of the stack location determined by the decre-
mented stack pointer), overwriting the first operand. All other operands are also lost because they
now reside in inaccessible registers located above the top of the stack. When fewer than all values
on the stack are used, those stack values remaining after the execution of the statement are not
lost.
Program Example 2 includes a typical polyadic instruction (AVE). Figure 14-5 shows the stack
operation for each program instruction.
Figure 14-5. Example of Stack Operation for Polyadic Instruction
STEP01 IN RI01 Pushes RI01 value onto stack
STEP02 IN RI02 Pushes RI02 value onto stack
STEP03 IN RI03 Pushes RI03 value onto stack
STEP04 IN RI04 Pushes RI04 value onto stack
STEP05 AVE Pops Value4 to Value1 from stack, averages them, and
pushes Average onto stack
Example of Stack Operation for Polyadic Instruction to Solve
RO01 = (RI01 + RI02 + RI03 + RI04) / 4
IN RI01 IN RI02 IN RI03 IN RI04 AVE
Average S1
Value4
Value3
Value2
Value1
S4
S3
S2
S1
Value3
Value2
Value1 S1
S2
S3
Value2
Value1
S2
S1 Value1 S1
Stack
Registers
(up to 16)
LEGEND:
Stack
Pop
Stack
Push
B0193AX Rev AB 14. CALC Calculator Block
376


14.6.4 Instruction Definition Convention
Section 14.6.5 uses a notational convention to describe the syntactical options available for an
instruction, as illustrated below for the Add instruction:
ADD
ADD c
ADD {RIxx, ROxx, Mxx}
(Add)
[Descriptions and examples appear here.]
This means that the Add instruction has the following four possible com-
mand line syntaxes:
+ The opcode ADD alone. This pops the top two values on the stack,
adds them, and pushes the result onto the stack. The popped val-
ues are lost.
+ The opcode ADD with integer constant c as the only command line
argument. This pops the c quantity of values at the top of the
stack, adds them, and pushes the result onto the stack. The
popped values are lost.
+ The opcode ADD with exactly one of the operands RIxx, ROxx, or
Mxx. This pops the value at the top of the stack, adds the specified
operand to it, and pushes the result onto the stack. The popped
value is lost.
NOTE
Note that when operands are enclosed in curly brackets, you must select exactly one
from the group.
Following the syntax specifications, are the English-language meaning of the opcode, for example,
(Add), and the description and examples for the instructions use.
The location of the stack pointer after the execution of an instruction is indicated by an italicized
expression such as the following: sptr(after) = sptr(before) + 1. This means that the stack pointer
after the instruction has executed is one higher than it was before. Since the stack grows toward
high memory, this means that a value has been pushed onto the stack by the instruction.
Similarly, the expression sptr(after) = sptr(before) - 1 means that one value has been popped off the
stack by the instruction. The polyadic instructions finish with the stack pointer in the first posi-
tion of the stack, which is referred to as stackbottom.
One instruction, CST, finishes with the stack pointer one position lower than stackbottom, with
the pointer waiting for the first push. After CST, sptr(after) = stackbottom -1.
14. CALC Calculator Block B0193AX Rev AB
377


14.6.5 Instruction Definitions
The CALC block instructions are defined below in alphabetical order.
NOTE
The examples show the program step number preceding the instruction, that is, in
the instruction 17 ABS, 17 is the step number.
ABS (Absolute Value)
ABS reads the contents of the accumulator and returns the absolute value
to the accumulator, overwriting the original contents. sptr(after) =
sptr(before).
Example:
ACOS (Arc Cosine)
ACOS reads the value (cosine function value) in the accumulator and com-
putes the value, in radians, of the first or second quadrant angle that has
this cosine value. It then stores the angle value into the accumulator, over-
writing the original cosine value, which must have an absolute value equal
to or less than one. sptr(after) = sptr(before).
An attempt to ACOS a value > 1 or < -1 causes the instruction to be
skipped and writes a 3 (ACOS run-time error) to the PERROR parame-
ter.
Example 1:
Example 2:
ADD
ADD c
ADD {RIxx, ROxx, Mxx}
(Add)
ADD (or ADD c) reads the values from the top two stack locations (or a
specified number c of stack values), adds them, decrements the stack
pointer, and writes the sum into the new accumulator location (the new
Accumulator = -.7853983 or +.7853983
17 ABS Compute absolute value of accumulator.
Accumulator = +.7853983
Accumulator = 0.7071
17 ACOS Compute arc cosine of accumulator.
Accumulator = +0.7853983 (Pi/4) radians. (Pi/4 radians
= 45 degrees)
Accumulator = -0.5000
27 ACOS Compute arc cosine of accumulator.
Accumulator = 2.0944 (2*Pi/3) radians. (2*Pi/3 radians =
120 degrees)
B0193AX Rev AB 14. CALC Calculator Block
378


top of stack location). This overwrites the first operand and isolates the
second and any later operands from any further access. For ADD, sptr(after)
= sptr(before) - 1. For ADD c, sptr(after) = sptr(before) - c + 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter. The same action
occurs if ADD has no operand and there is only one value on the stack.
ADD RIxx reads the value stored in RIxx (the CALCs Real Input parame-
ter xx), adds it to the value that it pops from the stack, then pushes the
result back onto the stack. ADD ROxx and ADD Mxx do the same for the
values stored at ROxx and memory location xx, respectively. sptr(after) =
sptr(before).
ALN (Natural Antilog)
ALN reads the value in the accumulator, computes the natural antiloga-
rithm (base e) of the value, and writes the result to the accumulator, over-
writing the original contents. sptr(after) = sptr(before).
Example:
ALOG (Common Antilog)
ALOG reads the value in the accumulator, computes the base 10 antiloga-
rithm of the value, and writes it to the accumulator, overwriting the origi-
nal contents. sptr(after) = sptr(before).
Example 1:
Example 2:
AND
AND c
AND {BIxx, BOxx, Ixx, Oxx, Mxx, ~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx}
(Logical And)
AND performs a logical and of the contents of the specified operands and
stack locations.
If blank is specified, all stack locations are ANDed together, and the result
is written into the accumulator (the new top of stack location). This over-
writes the first operand and isolates the other operands from any further
access. sptr(after) = stackbottom.
Accumulator = +0.69347
17 ALN Compute natural antilogarithm of accumulator.
Accumulator = +2.0000
Accumulator = +1.30103
17 ALOG Compute common antilog of accumulator.
Accumulator = +20.0000
Accumulator = -3.00000
27 ALOG Compute common antilog of accumulator.
Accumulator = +0.00100
14. CALC Calculator Block B0193AX Rev AB
379


If c is specified, the last c stack locations are ANDed together, removed
from the stack, and the result stored in the accumulator. sptr(after) =
sptr(before) - c + 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
If one operand is specified, the operand is ANDed with the accumulator,
and the result replaces the accumulator. sptr(after) = sptr(before).
If ~ is specified, the operand value is inverted prior to being used.
Before the operand Mxx is used in the calculation, its value is truncated to
an integer; if the result is 0 the operand value is considered False, other-
wise it is True.
Example 1:
Example 2:
11 CST Clears the stack.
BI01 = True
BI07 = False
BO03 = True
BI14 = True
12 IN BI01 Puts BI01 into accumulator.
13 IN BI07 Puts BI07 into accumulator. The prior value is pushed
down one stack location.
14 IN BO03 Puts BO03 into accumulator. The prior values are
pushed down one stack location.
15 IN BI14 Puts BI14 into accumulator. The prior values are
pushed down one stack location.
16 AND Performs the logical AND function on the 4 stack
locations, overwriting the True value loaded in from
BI01. The other values are inaccessible.
Accumulator = 0 (False)
11 CST Clears the stack.
BI01 = True
BI02 = True
BI03 = False
12 IN BI01 Puts BI02 into accumulator.
13 AND BI02 Performs the logical AND of BI02 and the
accumulator and stores the result on the stack.
14 AND ~BI03 Inverts the BI03 value and performs the logi-
cal AND of this value with the accumulator
and stores the result on the stack.
Accumulator = True
B0193AX Rev AB 14. CALC Calculator Block
380


ANDX
ANDX c
(Packed Logical And)
ANDX reads all the values or a specified number (c) of values from the
stack, performs a 16-bit bitwise logical AND function on them, and stores
the result into the new accumulator location (the new top of stack). This
overwrites the first operand and isolates the other operands from any fur-
ther access.
For ANDX, sptr(after) = stackbottom. For ANDX c, sptr(after) = sptr(before) - c
+ 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
Each operand is truncated from real to 16-bit integer type before it is used
in the calculation. The final result is stored on the stack.
Example:
ASIN (Arc Sine)
ASIN reads the value (sine function value) in the accumulator and com-
putes the value, in radians, of the first or fourth quadrant angle that has
this sine value. It then stores the angle value into the accumulator, over-
writing the original sine value, which must have an absolute value equal to
or less than one. sptr(after) = sptr(before).
An attempt to ASIN a value > 1 or < -1 causes the instruction to be
skipped and writes a 2 (ASIN run-time error) to the PERROR parame-
ter.
Example 1:
11 CST Clears the stack.
BI01 = True (0000000000000001)
II01 = 5 (0000000000000101)
II02 = 7 (0000000000000111)
12 IN BI01 Puts BI01 into accumulator. Stored as 1.0.
13 IN II01 Puts II01 into accumulator. The prior value is pushed
down one stack location.
14 IN II02 Puts II02 into accumulator. The prior values are
pushed down one stack location.
15 ANDX Performs the packed logical AND function and stores
the result into the accumulator overwriting the value
loaded in from BI01. The other values are inaccessible.
Accumulator = 0000000000000001 (stored as 1.0)
Accumulator = 0.7071
17 ASIN Compute arc sine of accumulator.
Accumulator = +0.7853983 (Pi/4) radians.
(Pi/4 radians = 45 degrees)
14. CALC Calculator Block B0193AX Rev AB
381


Example 2:
ATAN (Arc Tangent)
ATAN reads the value (tangent function value) in the accumulator, com-
putes the value, in radians, of the first or fourth quadrant angle that has
this tangent value. It then stores the angle value into the accumulator,
overwriting the original tangent value. sptr(after) = sptr(before).
Example 1:
Example 2:
AVE
AVE c
AVE {RIxx, ROxx, Mxx}
(Average)
AVE reads all the values from the stack, computes the mean algebraic
value, decrements the stack pointer, and writes this value into the new
accumulator location (the new top of stack location). This overwrites the
first operand and isolates the other operands from any further access.
sptr(after) = stackbottom.
AVE c reads the top c values from the stack, computes the mean algebraic
value of the c topmost values on the stack, writes this value into the cth
position from the top of the stack, and sets the new top of the stack (the
accumulator) to this position. sptr(after) = sptr(before) - c + 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
AVE RIxx reads the value stored in RIxx (the CALCs Real Input parame-
ter xx), computes the mean algebraic value of the RIxx value and the value
that it pops from the stack, and then pushes the result onto the stack. AVE
ROxx and AVE Mxx do the same for the values stored at ROxx and mem-
ory location xx, respectively. sptr(after) = sptr(before).
Accumulator = -0.5000
27 ASIN Compute arc sine of accumulator.
Accumulator = -0.5236 (-Pi/6) radians.
(-Pi/6 radians = -30 degrees)
Accumulator = 1.000
17 ATAN Compute arc tangent of accumulator.
Accumulator = +.7853983 (Pi/4) radians.
(Pi/4 radians = 45 degrees)
Accumulator = -0.5000
27 ATAN Compute arc tangent of accumulator.
Accumulator = -.4636476 radians
B0193AX Rev AB 14. CALC Calculator Block
382


Example 1:
Example 2:
BIF s (Branch If False)
BIF branches to the step number designated by s if the value in the accu-
mulator (the current top of stack location) is 0.0. sptr(after) = sptr(before).
BIF is identical to BIZ
BII s (Branch If Initializing)
BII s branches to the step number designated by s if the CALC block is
initializing this execution cycle. sptr(after) = sptr(before).
An attempt to branch to a step number less than or equal to the current
step number or greater than the step number containing the END state-
ment (50 if there is no END step) writes a -4 (invalid goto syntax error)
to the PERROR parameter.
BIN s (Branch If Negative)
BIN s branches to the step number designated by s if the value in the
accumulator (the current top of stack location) is less than 0.0. sptr(after)
= sptr(before).
11 CST Clears the stack.
RI01 = 12.3485
RI02 = 3,73182
RI03 = -2.0037
RI04 = -0.8369
12 IN RI01 Places RI01 into accumulator.
13 IN RI02 Places RI02 into accumulator and pushes the RI01
value down one stack location.
14 IN RI03 Places RI03 into accumulator and pushes the prior
values down one stack location.
15 IN RI04 Places RI04 into accumulator and pushes the prior
values down one stack location.
16 AVE Reads all the values from the stack, calculates the mean
algebraic value for the stack values, and stores the result
into the accumulator, overwriting the RI01 value. The
other values are inaccessible.
Accumulator = 3.30993
RI01 = 12.3485
M01 = 3.73182
11 IN RI01 Places RI01 into accumulator.
12 AVE M01 Calculates the mean algebraic value for RI01
and M01 and stores the result on the stack.
Accumulator = 8.04016
14. CALC Calculator Block B0193AX Rev AB
383


An attempt to branch to a step number less than or equal to the current
step number or greater than the step number containing the END state-
ment (50 if there is no END step) writes a -4 (invalid goto syntax error)
to the PERROR parameter.
BIP s (Branch If Positive or Zero)
BIP s branches to the step number designated by s if the value in the
accumulator (the current top of stack location) is greater than or equal to
0.0. sptr(after) = sptr(before).
An attempt to branch to a step number less than or equal to the current
step number or greater than the step number containing the END state-
ment (50 if there is no END step), writes a -4 (invalid goto syntax error)
to the PERROR parameter.
BIT s (Branch If True)
BIT s branches to the step number designated by s if the value in the
accumulator (the current top of stack location) is non-zero. sptr(after) =
sptr(before).
An attempt to branch to a step number less than or equal to the current
step number or greater than the step number containing the END state-
ment (50 if there is no END step), writes a -4 (invalid goto syntax error)
to the PERROR parameter.
BIZ s (Branch If Zero)
BIZ s branches to the step number designated by s if the value in the
accumulator (the current top of stack location) is 0.0. sptr(after) =
sptr(before).
An attempt to branch to a step number less than or equal to the current
step number or greater than the step number containing the END state-
ment (50 if there is no END step), writes a -4 (invalid goto syntax error)
to the PERROR parameter.
CBD {ROxx, BOxx, IOxx, LOxx}
(Clear Bad Status)
CBD clears the Bad status bit of the specified output parameter to False. Its
effect is identical in Auto or Manual mode. sptr(after) = sptr(before).
Use of no operands, constant operands, or input operands writes a -2
(invalid I/O) to the PERROR parameter during block validation and the
block is undefined.
CE {ROxx, BOxx, IOxx, LOxx}
(Clear Error Status)
CE clears the Error status bit of the specified output parameter to False. Its
effect is identical in Auto or Manual mode. sptr(after) = sptr(before).
Invalid values for xx (for example, RO06) activate the out-of-range
error.
B0193AX Rev AB 14. CALC Calculator Block
384


Use of no operands, constant operands, or input operands writes a -2
(invalid I/O) to the PERROR parameter during block validation and the
block is undefined.
CHI (Clear History)
CHI causes all timer history to be cleared, thereby setting all DON, DOFF,
and OSP elements in the program to the inactive state with accumulated
time of zero. sptr(after) = sptr(before).
CHN s (Clear Step History)
CHN s causes the history of any timer in Step s to be cleared, setting any
DON, DOFF, or OSP element in Step s to the inactive state with accumulated
time of zero. sptr(after) = sptr(before).
If s is less than 1 or greater than 50, a -3 (out-of-range syntax error
value, treated as a run-time error) is written to the PERROR parameter.
CHS (Change Sign)
CHS reads the value in the accumulator, changes the sign of the mantissa,
and writes the result into the accumulator, overwriting the original con-
tents. sptr(after) = sptr(before).
Example 1:
Example 2:
CLA (Clear All Memory Registers)
CLA clears all 24 memory registers. sptr(after) = sptr(before).
CLE (Clear Error)
CLE clears the internal error flag (the PERROR parameter) during pro-
gram execution. PERROR is automatically reset prior to each block execu-
tion. Thereafter it retains the first run-time error encountered during
execution.
CLE also clears the step error (STERR) parameter, which records the step
in which the first run-time error occurred. sptr(after) = sptr(before).
CLM {Mxx} (Clear Memory Register)
CLM Mxx clears the memory register specified by the Mxx operand, where
xx is an index from 01 to 24 (or 1 to 24). sptr(after) = sptr(before).
CLR
CLR {ROxx, BOxx, IOxx, LOxx, Mxx}
(Clear)
Accumulator = -0.6734592
17 CHS Change sign of accumulator.
Accumulator = +0.6734592
Accumulator = +0.1086372
27 CHS Change sign of accumulator.
Accumulator = -0.1086372
14. CALC Calculator Block B0193AX Rev AB
385


CLR stores a 0 in the specified operand.
If blank is specified, a 0 is stored in the accumulator, overwriting the
current contents.
If Mxx is specified, a 0 is stored in memory location Mxx.
If any other operand type is specified, a 0 is stored in the specified out-
put, provided the block is in Auto; otherwise the step is skipped. In all
cases, sptr(after) = sptr(before).
CLRB
CLRB b
(Clear Packed Boolean)
CLRB clears to 0 a specified bit in the accumulator. If blank is specified, the
bit number is expected to be at the top of the stack and this bit number is
removed from the stack before the instruction is executed. sptr(after) =
sptr(before) - 1.
If the bit number is less than 1 or greater than 16, an 11 (bit error run-
time error) is written to the PERROR parameter.
If the operand b is specified, it indicates a bit number between 1 and 16 in
the accumulator. The stack is not popped in this case. sptr(after) =
sptr(before).
Bit 1 is the most significant bit of the accumulator, and bit 16 is the least
significant bit.
COO {ROxx, BOxx, IOxx, LOxx}
(Clear Out-of-Service Status)
COO clears the Out-of-Service status bit of the specified output parameter
to False. Its effect is identical in Auto or Manual mode. sptr(after) =
sptr(before).
COS (Cosine)
COS reads the value (value of the angle in radians) in the accumulator,
computes the cosine of the angle, and writes the result into the accumula-
tor, overwriting the original contents. sptr(after) = sptr(before).
Example:
CST (Clear Stack)
CST resets the stack pointer one position below the bottom of the stack,
waiting for the first value to be pushed onto the stack. Since the block
implicitly executes a CST prior to execution, it is not required to start a
program with a CST instruction.
It is, however, recommended that you issue a CST instruction just before
setting up operands for a polyadic instruction, since polyadic instructions
operate on all values currently pushed onto the stack. sptr(after) = stackbot-
tom -1.
Accumulator = +1.0472 (Pi/3) radians.
(Pi/3 radians = 60 degrees)
17 COS Compute cosine of accumulator.
Accumulator = +0.5000
B0193AX Rev AB 14. CALC Calculator Block
386


DEC
DEC n
DEC {ROxx, IOxx, LOxx, Mxx}
(Decrement)
DEC with a blank operand reads the value in the accumulator, algebraically
decreases it by 1.0, and returns the results to the accumulator, overwriting
the original contents. The decremented value is limited to
-16,777,215.
DEC n reads the value in the accumulator, algebraically decreases it by the
integer n, and returns the results to the accumulator. The decremented
value is limited to -16,777,215.
DEC Mxx reads the value in memory location Mxx, algebraically decreases
it by 1.0, and returns the result to Mxx. The decremented value is limited
to -16,777,215.
DEC ROxx reads the value stored at ROxx, algebraically decreases it by 1.0,
and returns the result to ROxx, but only if the block is in Auto. In Manual
the block skips this step. The decremented value is limited to LSCOxx.
DEC IOxx reads the value stored at IOxx, algebraically decreases it by 1,
and returns the result to IOxx, but only if the block is in Auto. In Manual
the block skips this step. The decremented value is limited to -32,768.
DEC LOxx reads the value stored at LOxx, algebraically decreases it by 1,
and returns the result to LOxx, but only if the block is in Auto. In Manual
the block skips this step. The decremented value is limited to
-2,147,483,648.
The stack is unaffected when the operand is other than blank or n. In all
cases, sptr(after) = sptr(before).
Example 1:
Example 2:
DIV
DIV {RIxx, ROxx, Mxx}
(Divide)
DIV reads the values from the top two stack locations, divides the second
operand (divisor) into the first operand (dividend), decrements the stack
pointer, and writes the quotient into the new accumulator location (the
new top of stack location). This overwrites the first operand and isolates
the second operand from any further access. sptr(after) = sptr(before) - 1.
RI01 = -5.23
10 IN RI01 Places RI01 into the accumulator.
11 DEC 2 Decrement accumulator by 2.
Accumulator = -7.23. (that is, -5.23 - 2.0)
M02 = 11.2
11 DEC M02 Decrement M02.
M02 = 10.2
14. CALC Calculator Block B0193AX Rev AB
387


DIV RIxx reads the value stored in RIxx (the CALCs Real Input parame-
ter xx) as the divisor, divides the value (the dividend) that it pops from the
stack, then pushes the result back onto the stack. DIV ROxx and DIV Mxx
do the same for the values stored at ROxx and memory location xx,
respectively. sptr(after) = sptr(before).
An attempt to DIV by zero (divisor = 0) causes the value of 0 to be written
to the stack location at which the result would ordinarily be stored. A 4
(DIV run-time error) is written to the PERROR parameter.
Example:
DOFF
DOFF t
DOFF Mxx
(Delayed OFF}
DOFF produces a logical zero output if the input has been in the logical
zero state for the consecutive length of time specified by the operand.
Once the timer has been activated by a zero value of the input, the output
is forced to logical one and remains in this state during the time-out. Once
the delay has been completed and the output is at logical zero, the output
returns to one as soon as the instruction reads a logical one at the input.
On each cycle, the input is found in the accumulator, and the output is
then written to the accumulator, overwriting the input after it has been
used.
DOFF with blank operand or with a 0 constant operand uses 0.5 seconds as
its delay value. If the operand is the integer t and greater than zero the
value of t indicates the number of seconds in the delay. If the operand is
Mxx, then the delay is determined by the contents of memory location xx.
A positive value in Mxx is used as the delay in seconds, and a negative
value is used as the delay in block execution cycles. If the value of the
memory location changes during the timing cycle, the instruction will
notice the change.
The maximum time delay with format DOFF t is 32,767 seconds, or
approximately 9.1 hours. The maximum delay with format DOFF Mxx can
be obtained by loading the maximum positive floating point value into
Mxx, before the DOFF Mxx instruction is reached in the program. Since
the maximum floating point value is 10
38
, the delay is 10
38
seconds. If the
block period is longer than 1.0 second, an even longer delay can be
obtained by loading Mxx with the value of -10
38
. (The delay times obtain-
able with this instruction are effectively unlimited.)
The TIMINI parameter controls DOFF behavior at block initialization
time to avoid unexpected behavior of the DOFF timer and, possibly, unpre-
dicted activation of the CALC blocks outputs. If the TIMINI parameter
is set (TIMINI = 1) or (TIMINI = 3), the timer is considered to have been
RI01 = 12.3485
M01 = 3.73182
12 IN RI01 Pushes RI01 onto top of stack (accumulator)
13 DIV M01 Divides RI01 by M01, and stores the result on
the stack.
Accumulator = +3.30898
B0193AX Rev AB 14. CALC Calculator Block
388


in the expired state just before initialization. A one-to-zero transition of
the accumulator after initialization is required in order to start the timer. If
the TIMINI parameter is not set (TIMINI =0) or (TIMINI = 2), the
timer is considered to have been in the inactive state just before initializa-
tion, and a zero in the accumulator at block initialization begins to time
the specified delay. The timer, therefore, begins to run.
In all cases, sptr(after) = sptr(before).
Example:
Figure 14-6. Timing Diagram for DOFF Example
DON
DON t
DON Mxx
(Delayed ON)
DON produces a logical one output if the input has been in the logical one
state for the consecutive length of time specified by the operand. The out-
put returns to zero as soon as the instruction reads a zero in the input. On
each cycle, the input is found in the accumulator, and the output is then
written to the accumulator, overwriting the input after it has been used.
DON with blank operand or with a 0 constant operand uses 0.5 seconds as
its delay value. If the operand is integer t and greater than zero the value of
t indicates the number of seconds in the delay. If the operand is Mxx, then
the delay is determined by the contents of memory location xx. A positive
value in Mxx is used as the delay in seconds, and a negative value is used as
the delay in block execution cycles. If the value of the memory location
changes during the timing cycle, the instruction will notice the change.
RI01 = 8.0
9 IN RI01 Places RI01 into accumulator.
10 STMM01 Copies accumulator value of 8.0 to M01.
11 IN BI01 Inputs to the accumulator the state of BI01at the
execution time of each cycle.
12 DOFF M01 Looks at BI01s input to the accumulator, uses it
to control the Step 12 DOFF timer, and writes the
timer result to the accumulator.
Accumulator = Step 12 timer output
13 OUT BO04 Outputs accumulator contents (the results of the
DOFF M01 instruction) to output BO04.
Assume that the block is in Auto.
BO04 = Step 12 timer output
BO04
BI01
8 sec
8 sec
14. CALC Calculator Block B0193AX Rev AB
389


The maximum time delay with format DON t is 32,767 seconds, or
approximately 9.1 hours. The maximum delay with format DON Mxx can
be obtained by loading the maximum positive floating point value into
Mxx, before the DON Mxx instruction is reached in the program. Since the
maximum floating point value is 10
38
, the delay is 10
38
seconds. If the
block period is longer than 1.0 second, an even longer delay can be
obtained by loading Mxx with the value of -10
38
. (The delay times obtain-
able with this instruction are effectively unlimited.)
The TIMINI parameter controls DON behavior at block initialization time
to avoid unexpected behavior of the DON timer and, possibly, unpredicted
activation of the CALC blocks outputs. If the TIMINI parameter is set
(TIMINI = 1) or (TIMINI = 3), the timer is considered to have been in
the expired state just before initialization. A zero-to-one transition of the
accumulator after initialization is required in order to start the timer. If the
TIMINI parameter is not set (TIMINI = 0) or (TIMINI = 2), the timer is
considered to have been in the inactive state just before initialization, and
a logical one in the accumulator at block initialization begins to time the
specified delay. The timer, therefore, begins to run.
In all cases, sptr(after) = sptr(before).
Example:

Figure 14-7. Timing Diagram for DON Example
DUP (Duplicate)
DUP copies the last stack operand back onto the stack. The stack pointer is
advanced one position. sptr(after) = sptr(before) + 1.
END (End Program)
11 IN BI01 Inputs to the accumulator the state of BI01 at the
execution time of each cycle.
12 DON 7 Looks at BI01s input to the accumulator, uses it to
control the Step 12 DON timer, and writes the
timer result to the accumulator.
13 OUT BO04 Outputs accumulator contents (the results of the
DON 7 instruction) to output BO04. Assume that
the block is in Auto.
BO04 = Step 12 timer output
BI01
7 sec
7 sec
BO04
B0193AX Rev AB 14. CALC Calculator Block
390


END terminates the program. Any and all statements (including any addi-
tional END statements) following the first END are never executed. If any
skip statement skips over the first END statement, the block program ter-
minates as if the END had been executed.
The END instruction is not required. If there is no END statement, Step 50
(which may be any legal instruction) is the last statement executed, unless
the execution flow lands on an EXIT statement. sptr(after) = sptr(before).
EXIT (Exit Program)
EXIT terminates the program at the current step number. It is useful for
establishing multiple conditional exit points in the program. The EXIT
instruction is functionally equivalent to a GTO instruction pointing to an
END statement. You can use as many EXIT statements as you need.
sptr(after) = sptr(before).
EXP
EXP {RIxx, ROxx, Mxx}
(Exponent)
EXP with blank operand reads the values from the top two stack locations,
raises the first operand (base) to the power of the second operand (expo-
nent), decrements the stack pointer, and writes the result into the new
accumulator location (the new top of stack location). This overwrites the
first operand and isolates the second operand from any further access.
sptr(after) = sptr(before) - 1.
EXP RIxx reads the value stored in RIxx, raises the value that it pops from
the stack to the power of RIxx value, then pushes the result back onto the
stack. EXP ROxx and EXP Mxx do the same for the values stored at ROxx
and memory location xx, respectively. sptr(after) = sptr(before).
An attempt to EXP a negative value (base less than 0) causes the value of
the specified exponent to be written to the stack location that would have
contained the final result if the operation had been successful. A 9 (EXP
run-time error) is written to the PERROR parameter.
If the base is 0 and the exponent is less than or equal to 0, the result of the
operation is 0.0. PERROR is not set.
Example:
FF (Flip-Flop)
FF emulates the function of a traditional set-reset flip-flop. It uses two
operands on the stack as inputs. The first operand is the set input and
the second operand is the reset input.
RI01 = 1.483
M01 = 3.10
11 IN RI01 Places RI01 into accumulator.
12 EXP M01 Raises RI01 to the power of M01 and pushes the
result on the stack.
Accumulator = +3.392638
14. CALC Calculator Block B0193AX Rev AB
391


This instruction writes the output, which corresponds to the Q output
of a flip-flop, into the accumulator, overwriting the first operand (the set
value) and making the second operand (the reset value) inaccessible.
The No Change condition causes the value of the flip-flop after the pre-
vious execution cycle, which is retained in a block data variable, to be writ-
ten to the accumulator. sptr(after) = sptr(before) - 1.
Example:
The TIMINI parameter controls FF behavior at block initialization time
to avoid undesired operation of the CALC block's boolean outputs. This
option will only work when the CALC block is being modified in the
Integrated Control Configurator. If the TIMINI option is set and the
CALC block is loaded from a checkpoint file, the station is rebooted, or
the compound is turned ON or OFF, the FF output will be treated as if an
initialization has occurred. If the TIMINI parameter is set (TIMINI = 2)
or (TIMINI = 3), and the block has been modified, the FF output will not
be treated as if an initialization has occurred. If the TIMINI parameter is
set (TIMINI =0) or (TIMINI =1), FF output initialization will occur.
Table 14-13. Truth Table for FF Instruction
S R Q
0 0 No Change
0 1 0
1 0 1
1 1 No Change
BI01 = True
BI02 = False
12 IN BI01 Puts BI01 into accumulator has a True value for
set.
13 IN BI02 Puts BI02 into accumulator has a False value for
reset. The set input is pushed down one stack
location.
14 FF Reads the two operands, determines the output
according to the truth table above (output = 1 for
this example), and writes it into the accumulator,
overwriting set input. The output (1) is also stored
in the block data for use the next execution cycle.
Accumulator = True
15 OUT BO01 Writes the accumulator contents (the FF output) to
BO01.
BO01 = True
B0193AX Rev AB 14. CALC Calculator Block
392


GTI
GTI {RIxx, ROxx, IIxx, IOxx, Mxx}
(Go To Indirect)
GTI branches to the step number contained in the accumulator. GTI
RIxx branches to the step number specified by the current contents of
RIxx. Similarly for the other operand types. When the destination is in an
operand of real data type (accumulator, RIxx, ROxx, or Mxx), the operand
contents are truncated to an integer before use. sptr(after) = sptr(before).
An attempt to branch to a step number less than or equal to the current
step number or greater than the step number containing the END state-
ment (50 if there is no END step) writes a 10 (index run-time error) to
the PERROR parameter.
GTO s (Go To)
GTO s branches to the step number designated by s. sptr(after) =
sptr(before).
An attempt to branch to a step number less than or equal to the current
step number or greater than the step number containing the END state-
ment (50 if there is no END step) writes a -4 (invalid goto syntax error)
to the PERROR parameter.
IDIV
IDIV Mxx
(Integer Division)
IDIV, with either blank or Mxx operand, reads the numbers from the top
two stack locations, truncates the values, divides the second operand (divi-
sor) into the first operand (dividend), decrements the stack pointer, and
writes the truncated quotient into the new accumulator location (the new
top of stack location). This overwrites the first operand and isolates the
second operand from any further access.
The result of integer division is always truncated, so that the quotient
returned to the stack is always a whole number. When an operand Mxx is
specified, the quotient is handled as above, and the integer remainder (the
integer modulus) is stored in memory location xx. The integer modulus is
also always a whole number. In all cases, sptr(after) = sptr(before) - 1.
IDIV does not work for numbers greater than 32,767.
If the truncated value of the divisor is 0, the value 0.0 is written into the
stack location where the quotient would have been placed. The value 4
(divide run-time error) is written to the PERROR parameter. The value of
Mxx (if specified as an operand) is unchanged.
Example:
RI01 = 19.713
RI02 = 5.9021
15 IN RI01 Places RI01 into accumulator.
16 IN RI02 Places RI02 into accumulator. The prior value is
pushed down one stack location.
14. CALC Calculator Block B0193AX Rev AB
393


IMOD (Integer Modulus)
IMOD reads the values from the top two stack locations, truncates each into
integer form, decrements the stack pointer, and writes the integer modulus
of the first divided by the second truncated value into the new accumula-
tor location (the new top of stack location). This overwrites the first oper-
and and isolates the second operand from any further access. The integer
modulus is defined as the remainder after an integer division, and is
always a whole number. sptr(after) = sptr(before) - 1.
IMOD does not work for numbers greater than 32,767.
If the truncated value of the divisor is 0, the value 0.0 is written into the
stack location where the modulus would have been placed. The value 4
(divide run-time error) is written to the PERROR parameter.
Example:
IN
IN {n, RIxx, ROxx, IIxx, IOxx, BIxx, BOxx, Ixx, Oxx, Mxx, ~RIxx, ~ROxx,
~IIxx,
~IOxx, ~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx}
(Input)
IN with no operands pushes the value 0.0 onto the stack. IN with operand
of type n (any integer), RIxx, ROxx, or Mxx pushes the operand value
onto the stack. IN IIxx and IN IOxx convert the operand value to real
data type and then push the result onto the stack. IN with one of the bool-
ean operands (BIxx, BOxx, Ixx, or Oxx) pushes the value 1.0 when the
operand value is True and 0.0 when it is False.
IN with inverted Boolean operand (~BIxx, ~BOxx, ~Ixx, or ~Oxx) pushes
the value 0.0 onto the stack when the parameter value is True and 1.0
when it is false. IN with inverted real or integer operand (~RIxx, ~ROxx,
~IIxx, ~IOxx, or ~Mxx) pushes the value 0.0 when the parameter is non-
zero, and 1.0 when the parameter value is 0.0. In all cases, sptr(after) =
sptr(before) + 1.
17 IDIV M03 The quotient, which is 3.0, overwrites the value of
19.713. The value of 5.9021 is inaccessible. The integer
modulus, which is 4.0, is in memory location M03.
Accumulator = 3.0
M03 = 4.0
RI01 = 19.713
RI02 = 5.9021
15 IN RI01 Places RI01 into accumulator.
16 IN RI02 Places RI02 into accumulator. The prior value is
pushed down one stack location.
17 IMOD The integer modulus, which is 4.0, overwrites the value
of 19.713. The value of 5.9021 is inaccessible.
B0193AX Rev AB 14. CALC Calculator Block
394


INB
INB {IIxx, Mxx}
(Input Indexed Boolean)
INB with blank operand reads the value in the accumulator, truncates it to
an integer, and uses the result as the index of the BIxx parameter to be
read. The value of BIxx is then pushed onto the stack. INB IIxx and INB
Mxx operate similarly, except that the index of the BIxx parameter is found
in IIxx or Mxx. (If in Mxx, the real contents of Mxx are first truncated to
an integer.)
A value of True in the indexed boolean is written to the stack as 1.0 and a
value of False is written as 0.0. sptr(after) = sptr(before) + 1.
If the value of the index (the contents of the accumulator, IIxx, or Mxx) is
less than 1 or greater than 16, a 10 (index run-time error) is written to
the PERROR parameter.
INC
INC n
INC {ROxx, IOxx, LOxx, Mxx}
(Increment)
INC with a blank operand reads the value in the accumulator, algebraically
increases it by 1.0, and returns the results to the accumulator, overwriting
the original contents. The incremented value is limited to
-16,777,215.
INC n reads the value in the accumulator, algebraically increases it by the
integer n, and returns the results to the accumulator. The incremented
value is limited to -16,777,215.
INC Mxx reads the value in memory location Mxx, algebraically increases
it by 1.0, and returns the result to Mxx. The incremented value is limited
to -16,777,215.
INC ROxx reads the value stored at ROxx, algebraically increases it by 1.0,
and returns the result to ROxx, but only if the block is in Auto. In Manual
the block skips this step. The incremented value is limited to HSCOxx.
INC IOxx reads the value stored at IOxx, algebraically increases it by 1,
and returns the result to IOxx, but only if the block is in Auto. In Manual
the block skips this step. The incremented value is limited to -32,768.
INC LOxx reads the value stored at LOxx, algebraically increases it by 1,
and returns the result to LOxx, but only if the block is in Auto. In Manual
the block skips this step. The incremented value is limited to
-2,147,483,648.
The stack is unaffected when the operand is other than blank or n. In all
cases, sptr(after) = sptr(before).
Example 1:
RI01 = -5.23
10 IN RI01 Places RI01 into the accumulator.
11 INC 2 Increments accumulator by 2.
Accumulator = -3.23 (-5.23 + 2.0)
14. CALC Calculator Block B0193AX Rev AB
395


Example 2:
INH {LIxx,
LOxx}
(Input High Order)
INH reads the high order 16 bits of parameter LIxx or LOxx as an integer
and pushes it onto the stack. sptr(after) = sptr(before) + 1.
INL {LIxx,
LOxx}
(Input Low Order)
INL reads the low order 16 bits of parameter LIxx or LOxx as an integer
and pushes it onto the stack. sptr(after) = sptr(before) + 1.
INR
INR {IIxx, Mxx}
(Input Indexed Real)
INR with blank operand reads the value in the accumulator, truncates it to
an integer, and uses the result as the index of the RIxx parameter to be
read. The value of RIxx is then pushed onto the stack. INR IIxx and INR
Mxx operate similarly, except that the index of the RIxx parameter is found
in IIxx or Mxx. (If in Mxx, the real contents of Mxx are first truncated to
an integer.) sptr(after) = sptr(before) + 1.
If the value of the index (the contents of the accumulator, IIxx, or Mxx) is
less than 1 or greater than 8, a 10 (index run-time error) is written to the
PERROR parameter.
INS {RIxx, BIxx, IIxx, LIxx, ROxx, BOxx, IOxx, LOxx}
(Input Status)
INS pushes the 16-bit status of the specified input or output parameter
onto the stack. The status value is not modified. sptr(after) = sptr(before) +
1.
The status integer is made up of the following fields: (Bit 0 is the least sig-
nificant bit; Bit 15 is most significant.)
M02 = 11.2
11 INC M02 Increments M02 by 1.
M02 = 12.2
Bit Definition
0 to 4 Data Type
5 to 7 OM Status
8 Bad
9 Secure/Release
10 Acknowledge
11 Out of Service
12 Shadow Parameter
13 Limited High
14 Limited Low
15 Propagated Error
B0193AX Rev AB 14. CALC Calculator Block
396


LAC Mxx (Load Accumulator)
LAC Mxx loads the accumulator with contents of memory location xx,
where xx is a one or two digit number, between 01 and 24 (or 1 and 24),
that specifies the specific memory register whose contents are to be loaded
into the accumulator. sptr(after) = sptr(before) + 1.
LACI Mxx (Load Accumulator Indirect)
LACI Mxx loads the accumulator with the contents of a memory register
indexed by the contents of the memory register specified by the Mxx oper-
and, where xx is an index from 01 to 24 (or 1 to 24). Neither memory reg-
ister is affected.
If Mxx does not contain an integer value, the truncated contents are used
as the index.
If the specified memory contents are less than 1 or greater than 24, a 10
(index run-time error) is written to the PERROR parameter at run-time.
sptr(after) = sptr(before) + 1.
LN (Natural Logarithm)
LN reads the value (which must be positive) in the accumulator, computes
the natural (base e) logarithm of the value, and writes the result to the
accumulator, overwriting the original contents. sptr(after) = sptr(before).
An attempt to execute this instruction with a zero or negative value in the
accumulator causes the instruction to be skipped and writes an 8 (LN
run-time error) to the PERROR parameter.
Example 1:
Example 2:
10 IN 5 Loads accumulator with value 5.0.
11 STMM04 Places value 5.0 into M04.
12 IN 9 Loads accumulator with value 9.0.
13 STMM05 Places value 9.0 into M05.
14 LACI M04 Loads accumulator with contents of M05 (9.0).
15 OUT RO01 Outputs accumulator value of 9.0 to RO01.
Accumulator = +1000.00
17 LN Computes natural logarithm of accumulator
Accumulator = +6.907755
Accumulator = +0.130570
27 LN Computes natural logarithm of accumulator
Accumulator = 2.035846
14. CALC Calculator Block B0193AX Rev AB
397


LOG (Common Logarithm)
LOG reads the value (which must be positive) in the accumulator, com-
putes the common (base 10) logarithm of the value, and writes the result
to the accumulator, overwriting the original contents. sptr(after) =
sptr(before).
An attempt to execute this instruction with a zero or negative value in the
accumulator causes the instruction to be skipped and writes a 7 (LOG
run-time error) to the PERROR parameter.
Example 1:
Example 2:
MAX
MAX c
MAX {RIxx, ROxx, Mxx}
(Maximum)
MAX reads all the values from the stack, selects the maximum algebraic
value, decrements the stack pointer, and writes this value into the new
accumulator location (the new top of stack location). This overwrites the
first operand and isolates other operands from any further access.
sptr(after) = stackbottom.
MAX c reads the top c values from the stack, selects the maximum alge-
braic value from the c topmost values on the stack, writes this value into
the cth position from the top of the stack, and sets the new top of the
stack (the accumulator) to this position. sptr(after) = sptr(before) - c + 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
MAX RIxx reads the value stored in RIxx (the CALCs Real Input param-
eter xx), selects the maximum algebraic value from the RIxx value and the
value that it pops from the stack, and then pushes the result onto the
stack. MAX ROxx and MAX Mxx do the same for the values stored at ROxx
and memory location xx, respectively. sptr(after) = sptr(before).
Example 1:
Accumulator = +2000.00
17 LOG Computes common logarithm of accumulator.
Accumulator = +3.30103
Accumulator = +0.02000
27 LOG Computes common logarithm of accumulator.
Accumulator = -1.69897
11 CST Clears the stack.
RI01 = 12.3485
RI02 = 3.73182
RI03 = -2.0037
RI04 = -0.8369
B0193AX Rev AB 14. CALC Calculator Block
398


Example 2:
MAXO Identical to MAX
MEDN (Median)
MEDN reads all the values from the stack, determines the median value,
decrements the stack pointer, and writes this value into the new accumula-
tor location (the new top of stack location). This overwrites the first oper-
and and isolates the other operands from any further access.
The median value is determined as follows: The stack values are arranged
conceptually in ascending order; then the median is the middle value if
the number of operands is odd, or the average of the two middle values if
the number of operands is even. sptr(after) = stackbottom.
Example:
12 IN RI01 Places RI01 into accumulator.
13 IN RI02 Places RI02 into accumulator and pushes the RI01 value
down one stack location.
14 IN RI03 Places RI03 into accumulator and pushes the prior values
down one stack location.
15 IN RI04 Places RI04 into accumulator and pushes the prior values
down one stack location.
16 MAX Selects the maximum algebraic value (12.3485) and
stores this value into the accumulator, overwriting the
RI01 value. The other values are inaccessible.
Accumulator = 12.3485
RI01 = 12.3485
M01 = 3.73182
11 IN RI01 Places RI01 into accumulator.
12 MAX M01 Selects the maximum algebraic value from M01
and the value that it pops from the stack and
stores the result on the stack.
Accumulator = 12.3485
11 CST Clears the stack.
RI01 = 12.3485
RI02 = 3.73182
RI03 = -2.0037
RI04 = -0.8369
12 IN RI01 Places RI01 into accumulator.
13 IN RI02 Places RI02 into accumulator and pushes the RI01 value
down one stack location.
14 IN RI03 Places RI03 into accumulator and pushes the prior values
down one stack location.
15 IN RI04 Places RI04 into accumulator and pushes the prior values
down one stack location.
14. CALC Calculator Block B0193AX Rev AB
399


MIN
MIN c
MIN {RIxx, ROxx, Mxx}
(Minimum)
MIN reads all the values from the stack, selects the minimum algebraic
value, decrements the stack pointer, and writes this value into the new
accumulator location (the new top of stack location). This overwrites the
first operand and isolates the other operands from any further access.
sptr(after) = stackbottom.
MIN c reads the top c values from the stack, selects the minimum alge-
braic value from the c topmost values on the stack, writes this value into
the cth position from the top of the stack, and sets the new top of the
stack (the accumulator) to this position. sptr(after) = sptr(before) - c + 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
MIN RIxx reads the value stored in RIxx (the CALCs Real Input parame-
ter xx), selects the minimum algebraic value from the RIxx value and the
value that it pops from the stack, and then pushes the result onto the
stack. MIN ROxx and MIN Mxx do the same for the values stored at ROxx
and memory location xx, respectively. sptr(after) = sptr(before).
Example 1:
16 MEDN Computes the average of the two middle values (3.73182
and -0.8369) and stores this value into the accumulator,
overwriting the RI01 value. The other values are
inaccessible.
Accumulator = 1.44746
11 CST Clears the stack.
RI01 = 12.3485
RI02 = 3.73182
RI03 = -2.0037
RI04 = -0.8369
12 IN RI01 Places RI01 into accumulator.
13 IN RI02 Places RI02 into accumulator and pushes the RI01
value down one stack location.
14 IN RI03 Places RI03 into accumulator and pushes the prior
values down one stack location.
15 IN RI04 Places RI04 into accumulator and pushes the prior
values down one stack location.
16 MIN Selects the minimum algebraic value and stores this
value into the accumulator, overwriting the RI01
value. The other values are inaccessible.
Accumulator = -2.0037
B0193AX Rev AB 14. CALC Calculator Block
400


Example 2:
MRS (Master Reset Flip-Flop)
MRS emulates the function of a traditional reset-dominant flip-flop. It uses
two operands on the stack as inputs. The first operand is the set input
and the second operand is the reset input.
This instruction writes the output, which corresponds to the Q output
of a flip-flop, into the accumulator, overwriting the first operand (the set
value) and making the second operand (the reset value) inaccessible.
Note that the MRS instruction provides the same functionality as the FF,
except that the reset input has priority over the set input. If both inputs
take on a logical one value, the flip-flop is forced to reset.
The No Change condition causes the value of the MRS flip-flop after the
previous execution cycle, which is retained in a block data variable, to be
written to the accumulator. sptr(after) = sptr(before) - 1.
Example:
RI01 = 12.3485
M01 = 3.73182
11 IN RI01 Places RI01 into accumulator.
12 MIN M01 Selects the minimum algebraic value from M01
and the value that it pops from the stack and
stores the result on the stack.
Accumulator = 3.73182
Table 14-14. Truth Table for MRS Instruction
S R Q
0 0 No Change
0 1 0
1 0 1
1 1 0
BI01 = True
BI02 = True
12 IN BI01 Puts BI01 into accumulator has a True value for set.
13 IN BI02 Puts BI02 into accumulator has a True value for
reset. The set input is pushed down one stack
location.
14 MRS Reads the two operands, determines the output
according to the truth table above (output = 0 for this
example), and writes it into the accumulator,
overwriting set input. The output (0) is also stored in
the block data for use the next execution cycle.
Accumulator = False
14. CALC Calculator Block B0193AX Rev AB
401


The TIMINI parameter controls MRS behavior at block initialization
time to avoid undesired operation of the CALC block's boolean outputs.
This option will only work when the CALC block is being modified in the
Integrated Control Configurator. If the TIMINI option is set and the
CALC block is loaded from a checkpoint file, the station is rebooted, or
the compound is turned ON or OFF, the MRS output will be treated as if
an initialization has occurred. If the TIMINI parameter is set (TIMINI =
2) or (TIMINI = 3), and the block has been modified, the MRS output
will not be treated as if an initialization has occurred. If the TIMINI
parameter is set (TIMINI =0) or (TIMINI =1), MRS output initialization
will occur.
MUL
MUL c
MUL {RIxx, ROxx, Mxx}
(Multiply)
MUL (or MUL c), reads the values from the top two stack locations (or a
specified number (c) of stack locations), multiplies them, decrements the
stack pointer, and writes the product into the new accumulator location
(the new top of stack location). This overwrites the first operand and iso-
lates the second and any later operand from any further access. For MUL,
sptr(after) = sptr(before) - 1. For MUL c, sptr(after) = sptr(before) - c + 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter. The same action
occurs if MUL has no operand and there is only one value on the stack.
MUL RIxx reads the value stored in RIxx (the CALCs Real Input parame-
ter xx), multiplies it with the value that it pops from the stack, then pushes
the result back on the stack. MUL ROxx and MUL Mxx do the same for the
values stored at ROxx and memory location xx, respectively. sptr(after) =
sptr(before).
Example 1 Calculate (RI01 * M01):
15 OUT BO01 Writes the accumulator contents (the MRS output) to
BO01.
BO01 = False
RI01 = 12.3485
M01 = 3.73182
12 IN RI01 Places RI01 into accumulator.
13 MUL M01 Multiplies the value it pops from the stack by
M01 and stores the result on the stack.
Accumulator = 46.08238
B0193AX Rev AB 14. CALC Calculator Block
402


Example 2 Calculate (RI01 + RI02) * (RI03 - RI04):
NAND
NAND c
NAND {BIxx, BOxx, Ixx, Oxx, Mxx, ~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx}
(Logical Not And)
NAND performs a logical nand (not and) of the contents of the specified
operands and stack locations. Logical Not And is defined as producing a
False output if all of the inputs are True and a True output if any one of
the inputs is False.
If blank is specified, all stack locations are NANDed together, and the
result is written into the accumulator (the new top of stack location). This
overwrites the first operand and isolates the other operands from any fur-
ther access. sptr(after) = stackbottom.
If c is specified, the last c stack locations are NANDed together, removed
from the stack, and the result stored in the accumulator. sptr(after) =
sptr(before) - c + 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
If one operand is specified, the operand is NANDed with the accumula-
tor, and the result replaces the accumulator. sptr(after) = sptr(before).
If ~ is specified, the operand value is inverted prior to being used.
Before the operand Mxx is used in the calculation, its value is truncated to
an integer; if the result is 0 the operand value is considered False, other-
wise it is True.
RI01 = 12.3485
RI02 = 3.73182
RI03 = 8.919
RI04 = 5.199
12 IN RI01 Places RI01 into accumulator.
13 ADD RI02 Adds RI02 to the value that it pops from the
stack and stores (pushes) the result on the stack.
Accumulator = 16.08032
14 IN RI03 Places RI03 into accumulator.
15 SUB RI04 Subtracts RI04 from the value that it pops from
the stack and stores (pushes) the result on the
stack.
Accumulator = 3.72
16 MUL Pops the top two values from the stack,
multiplies them, and pushes the result
(16.08032 * 3.72 = 59.81879) on the stack.
Accumulator = 59.81879
17 OUT RO01 Writes the value (59.81879) in the accumulator
(top of the stack) to the RO01 parameter.
14. CALC Calculator Block B0193AX Rev AB
403


Example 1:
Example 2:
NANX
NANX c
(Packed Logical Not And)
NANX reads all the values or a specified number (c) of values from the
stack, performs a 16-bit bitwise logical nand function on them, and
stores the result into the new accumulator location (the new top of stack).
This overwrites the first operand and isolates the other operands from any
further access. Logical Not And is defined as producing a False output if
all of the inputs are True and a True output if any one of the inputs is
False.
For NANX, sptr(after) = stackbottom. For NANX c, sptr(after) = sptr(before) - c
+ 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
Each operand is truncated from real to 16-bit integer type before it is used
in the calculation. The final result is stored on the stack as a real value.
11 CST Clears the stack.
BI01 = True
BI07 = False
BO03 = True
BI14 = True
12 IN BI01 Puts BI01 into accumulator.
13 IN BI07 Puts BI07 into accumulator. The prior value is pushed
down one stack location.
14 IN BO03 Puts BO03 into accumulator. The prior values are
pushed down one stack location.
15 IN BI14 Puts BI14 into accumulator. The prior values are
pushed down one stack location.
16 NAND Performs the logical NAND function, and stores result
into the accumulator, overwriting the True value
loaded in from BI01. The other values are inaccessible.
Accumulator = True
BI04 = False
BO01 = True
11 IN BI04 Puts BI04 into accumulator.
12 NAND BO01 Performs the logical NAND of BI04 and
BO01 and stores the result on the stack.
Accumulator = True
B0193AX Rev AB 14. CALC Calculator Block
404


Example:
NOP (No Operation)
This instruction causes the step to be ignored. The program continues
with the next instruction. sptr(after) = sptr(before).
NOR
NOR c
NOR {BIxx, BOxx, Ixx, Oxx, Mxx, ~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx}
(Logical Not Or)
NOR performs a logical nor (not or) of the contents of the specified oper-
ands and stack locations. Logical Not Or is defined as producing a False
output if any input is True and a True output if all of the inputs are False.
If blank is specified, all stack locations are NORed together, and the result
is written into the accumulator (the new top of stack location). This over-
writes the first operand and isolates the other operands from any further
access. sptr(after) = stackbottom.
If c is specified, the last c stack locations are NORed together, removed
from the stack, and the result stored in the accumulator. sptr(after) =
sptr(before) - c + 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
If one operand is specified, the operand is NORed with the accumulator,
and the result replaces the accumulator. sptr(after) = sptr(before).
If ~ is specified, the operand value is inverted prior to being used.
Before the operand Mxx is used in the calculation, its value is truncated to
an integer; if the result is 0 the operand value is considered False, other-
wise it is True.
Example 1:
II01 = 5 (0000000000000101)
II02 = 1 (0000000000000001)
RI01 = 13.078 (0000000000001101)
13 IN II01 Puts II01 into accumulator. The prior value is pushed
down one stack location.
14 IN II02 Puts II02 into accumulator. The prior values are pushed
down one stack location.
15 IN RI01 Puts RI01 into accumulator. Value is truncated to 13 and
used as 0000000000001101 in the calculation. The prior
values are pushed down one stack location.
16 NANX 3 Performs the packed logical NANX function and stores
the result, 1111111111111110, into the accumulator,
overwriting the value of II01. The other values are
inaccessible.
Accumulator = -2.0
11 CST Clears the stack.
14. CALC Calculator Block B0193AX Rev AB
405


Example 2:
NORX
NORX c
(Packed Logical Not Or)
NORX reads all the values or a specified number (c) of values from the
stack, performs a 16-bit bitwise logical nor function on them, and stores
the result into the new accumulator location (the new top of stack). This
overwrites the first operand and isolates the other operands from any fur-
ther access. Logical Not Or is defined as producing a False output if any
input is True and a True output if all of the inputs are False.
For NORX, sptr(after) = stackbottom. For NORX c, sptr(after) = sptr(before) - c
+ 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
Each operand is truncated from real to 16-bit integer type before it is used
in the calculation. The final result is stored on the stack as a real value.
Example:
BI01 = True
BI07 = False
BO03 = True
BI14 = True
12 IN BI01 Puts BI01 into accumulator.
13 IN BI07 Puts BI07 into accumulator. The prior value is pushed
down one stack location.
14 IN BO03 Puts BO03 into accumulator. The prior values are
pushed down one stack location.
15 IN BI14 Puts BI14 into accumulator. The prior values are
pushed down one stack location.
16 NOR Performs the logical NOR function, and stores the
result into the accumulator, overwriting the True value
loaded in from BI01. The other values are inaccessible.
Accumulator = False
BI04 = False
BO01 = True
12 IN BI04 Puts BI04 into accumulator.
12 NOR BO01 Performs the logical NOR of BI04 and BO01
and stores the result on the stack.
Accumulator = False
II01 = 5 (0000000000000101)
II02 = 1 (0000000000000001)
RI01 = 13.078 (0000000000001101)
13 IN II01 Puts II01 into accumulator. The prior value is pushed
down one stack location.
B0193AX Rev AB 14. CALC Calculator Block
406


NOT (Not)
NOT reads the value (real, integer, or boolean) in the accumulator (zero
value = False, non-zero value = True), logically negates the value, and
writes the result into the accumulator, overwriting the original value.
sptr(after) = sptr(before).
Example (AC = accumulator):
NOTX (Packed Logical Not)
NOTX reads the value (real, integer, or boolean) in the accumulator, per-
forms a 16-bit logical complement of the value, and writes the result into
the accumulator, overwriting the original value. (The original value is
truncated to a 16-bit integer before complementing.) sptr(after) =
sptr(before).
Example:
NXOR
NXOR c
NXOR {BIxx, BOxx, Ixx, Oxx, Mxx, ~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx}
(Logical Not Exclusive Or)
NXOR performs a logical nxor of the contents of the specified operands
and stack locations. Not Exclusive Or is defined as producing a True out-
put for an even number of True inputs, a False output for an odd number
of True inputs, and a True output if all inputs are False.
If blank is specified, all stack locations are NXORed together, and the
result is written into the accumulator (the new top of stack location). This
14 IN II02 Puts II02 into accumulator. The prior values are
pushed down one stack location.
15 IN RI01 Puts RI01 into accumulator - assume value is 13.078.
Value is truncated to 13 and used as
0000000000001101 in the calculation. The prior
values are pushed down one stack location.
16 NORX 3 Performs the packed logical NORX function and stores
the result, 1111111111110010, into the accumulator,
overwriting the value of II01. The other values are
inaccessible.
Accumulator = -14.0
Accumulator = 0 after Step 16.
17 NOT Accumulator = 1 after Step 17.
Accumulator = 0.21 after Step 26.
27 NOT Accumulator = 0 after Step 27.
Accumulator = 12.0
17 NOTX Complement the accumulator.
Accumulator = -13.0. (Complement of
0000000000001100 is 1111111111110011, or -13.0.)
14. CALC Calculator Block B0193AX Rev AB
407


overwrites the first operand and isolates the other operands from any fur-
ther access. sptr(after) = stackbottom.
If c is specified, the last c stack locations are NXORed together, removed
from the stack, and the result stored in the accumulator. sptr(after) =
sptr(before) - c + 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
If one operand is specified, the operand is NXORed with the accumulator,
and the result replaces the accumulator. sptr(after) = sptr(before).
If ~ is specified, the operand value is inverted prior to being used.
Before the operand Mxx is used in the calculation, its value is truncated to
an integer; if the result is 0 the operand value is considered False, other-
wise it is True.
Example 1:
Example 2:
11 CST Clears the stack.
BI01 = True
BI07 = False
BO03 = True
BI14 = True
12 IN BI01 Puts BI01 into accumulator.
13 IN BI07 Puts BI07 into accumulator. The prior value is pushed
down one stack location.
14 IN BO03 Puts BO03 into accumulator. The prior values are
pushed down one stack location.
15 IN BI14 Puts BI14 into accumulator. The prior values are
pushed down one stack location.
16 NXOR Performs the logical NXOR function, and stores result
into accumulator, overwriting the True value loaded in
from BI01. The other values are inaccessible.
Accumulator = False
BI04 = False
BO01 = True
11 IN BI04 Puts BI04 into accumulator.
12 NXOR BO01 Performs the logical NXOR of BI04 and
BO01 and stores the result on the stack.
Accumulator = False
B0193AX Rev AB 14. CALC Calculator Block
408


NXOX
NXOX c
(Packed Logical Not Exclusive Or)
NXOX reads all the values or a specified number (c) of values from the
stack, performs a 16-bit bitwise logical nxor function on them, and
stores the result into the new accumulator location (the new top of stack).
This overwrites the first operand and isolates the other operands from any
further access. Not Exclusive Or is defined as producing a True output for
an even number of True inputs, a False output for an odd number of True
inputs, and a True output if all inputs are False.
For NXOX, sptr(after) = stackbottom. For NXOX c, sptr(after) = sptr(before) - c
+ 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
Each operand is truncated from real to 16-bit integer type before it is used
in the calculation. The final result is stored on the stack as a real value.
Example:
OR
OR c
OR {BIxx, BOxx, Ixx, Oxx, Mxx, ~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx}
(Logical Or)
OR performs a logical or of the contents of the specified operands and
stack locations.
If blank is specified, all stack locations are ORed together, and the result is
written into the accumulator (the new top of stack location). This over-
writes the first operand and isolates the other operands from any further
access. sptr(after) = stackbottom.
If c is specified, the last c stack locations are ORed together, removed from
the stack, and the result stored in the accumulator. sptr(after) = sptr(before)
- c + 1.
II01 = 5 (0000000000000101)
II02 = 7 (0000000000000111)
RI01 = 12.078 (0000000000001100)
13 IN II01 Puts II01 into accumulator. The prior value is pushed
down one stack location.
14 IN II02 Puts II02 into accumulator. The prior values are
pushed down one stack location.
15 IN RI01 Puts RI01 into accumulator. Value is truncated to 12
and used as 0000000000001100 in the calculation.
The prior values are pushed down one stack location.
16 NXOX 3 Performs the packed logical NXOX function and stores
the result, 1111111111110001, into the accumulator,
overwriting the value loaded in from II01. The other
values are inaccessible.
Accumulator = -15.0
14. CALC Calculator Block B0193AX Rev AB
409


If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
If one operand is specified, the operand is ORed with the accumulator,
and the result replaces the accumulator. sptr(after) = sptr(before).
If ~ is specified, the operand value is inverted prior to being used.
Before the operand Mxx is used in the calculation, its value is truncated to
an integer; if the result is 0 the operand value is considered False, other-
wise it is True.
Example 1:
Example 2:
ORX
ORX c
(Packed Logical Or)
ORX reads all the values or a specified number (c) of values from the stack,
performs a 16-bit bitwise logical or function on them, and stores the
result into the new accumulator location (the new top of stack). This over-
writes the first operand and isolates the other operands from any further
access.
For ORX, sptr(after) = stackbottom. For ORX c, sptr(after) = sptr(before) - c +
1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
11 CST Clears the stack.
BI01 = True
BI07 = False
BO03 = True
BI14 = True
12 IN BI01 Puts BI01 into accumulator.
13 IN BI07 Puts BI07 into accumulator. The prior value is pushed
down one stack location.
14 IN BO03 Puts BO03 into accumulator. The prior values are
pushed down one stack location.
15 IN BI14 Puts BI14 into accumulator. The prior values are
pushed down one stack location.
16 OR Performs the logical OR function, and stores result
into accumulator, overwriting the True value loaded in
from BI01. The other values are inaccessible.
Accumulator = True
BI04 = False
BO01 = True
11 IN BI04 Puts BI04 into accumulator.
12 OR BO01 Performs the logical OR of BI04 and BO01 and
stores the result on the stack.
Accumulator = True
B0193AX Rev AB 14. CALC Calculator Block
410


Each operand is truncated from real to 16-bit integer type before it is used
in the calculation. The final result is stored on the stack as a real value.
Example:
OSP
OSP t
OSP Mxx
(One-Shot Pulse)
OSP with blank operand or with a 0 constant operand uses 0.5 seconds as
its pulse width value. If the operand is integer t and greater than zero the
value of t indicates the number of seconds in the pulse width. If the oper-
and is Mxx, then the pulse width is determined by the contents of mem-
ory location xx. A positive value in Mxx is used as the pulse width in
seconds, and a negative value is used as the pulse width in block execution
cycles. If the value of the memory location changes during the timing
cycle, the instruction will notice the change.
The maximum pulse width with format OSP t is 32,767 seconds, or
approximately 9.1 hours. The maximum pulse width with format OSP
Mxx can be obtained by loading the maximum positive floating point
value into Mxx, before the OSP Mxx instruction is reached in the program.
Since the maximum floating point value is 10
38
, the pulse width is 10
38

seconds. If the block period is longer than 1.0 second, an even longer
pulse width can be obtained by loading Mxx with the value of -10
38
. (The
pulse widths obtainable with this instruction are effectively unlimited.)
OSP generates a non-retriggerable (triggering is disabled while the output
is true) one-shot pulse when the accumulator value makes a zero-to-one
transition. The output remains true for a period specified by the operand,
after which the block resets the output to zero.
11 CST Clears the stack.
BI01 = True (0000000000000001)
II01 = 5 (0000000000000101)
II02 = 0 (0000000000000000)
RI01 = 12.078 (0000000000001100)
12 IN BI01 Puts BI01 into accumulator. Stored as 1.0 and used as
0000000000000001 in the calculation.
13 IN II01 Puts II01 into accumulator. The prior value is pushed
down one stack location.
14 IN II02 Puts II02 into accumulator. The prior values are pushed
down one stack location.
15 IN RI01 Puts RI01 into accumulator. Value is truncated to 12
and used as 0000000000001100 in the calculation. The
prior values are pushed down one stack location.
16 ORX Performs the packed logical OR function and stores the
result, 0000000000001101, into the accumulator,
overwriting the value loaded in from BI01. The other
values are inaccessible.
Accumulator = 13.0
14. CALC Calculator Block B0193AX Rev AB
411


The TIMINI parameter controls OSP behavior at block initialization time
to avoid unexpected behavior of the OSP element and, possibly, unpre-
dicted activation of the CALC blocks outputs. If the TIMINI parameter
is set (TIMINI = 1) or (TIMINI = 3), the pulse is considered to have been
in progress just before initialization. A zero-to-one transition of the accu-
mulator after initialization is required in order to start the pulse output. If
the TIMINI parameter is not set (TIMINI = 0) or (TIMINI = 2), the
pulse is considered to have been off just before initialization, and a logical
one in the accumulator at block initialization begins to output the speci-
fied pulse.
In all cases, sptr(after) = sptr(before).
Example:
Figure 14-8. Timing Diagram for OSP Example
OUT {ROxx, BOxx, IOxx, Oxx, Mxx, ~BOxx, ~Oxx, ~Mxx}
(Output)
OUT writes the accumulator contents to the output parameter specified by
the operand. When operating in the Manual state, this instruction is
skipped without changing the value of the output, unless the operand is
Mxx or ~Mxx, in which case the operation is executed.
The value of the accumulator is first clamped between 32,767 and
-32,768 and then truncated to an integer value before writing it to an
operand of type IOxx.
Any non-zero value in the accumulator is converted to True in an operand
of type BOxx or Oxx, and a 0.0 value is converted to False. If the operand
is of type ~BOxx or ~Oxx a non-zero value in the accumulator causes a
False to be written and a 0.0 causes a True to be written.
11 IN BI01 Inputs to the accumulator the state of BI01 at the
execution time of each cycle.
12 OSP 5 Looks at BI01s input to the accumulator, uses it to
control the Step 12 OSP element, and writes the
result to the accumulator.
13 OUT BO04 Outputs accumulator contents (the results of the
OSP 5 instruction) to output BO04. Assume block
is in Auto.
BO04 = Step 12 OSP output
BI01
BO04
5 sec
B0193AX Rev AB 14. CALC Calculator Block
412


If the operand is of type Mxx, the accumulator value is simply copied to
the specified memory location. If it is of type ~Mxx, any non-zero accu-
mulator value is written to Mxx as the real value 0.0 and an accumulator
value of 0.0 is written to Mxx as real value 1.0.
OUT does not alter the contents or location of the accumulator. sptr(after)
= sptr(before).
Example:
POP (Pop Stack)
POP removes the value at the top of the stack and discards it. The stack
pointer is decremented to point to the next value on the stack. sptr(after) =
sptr(before) - 1.
PRI ROxx (Propagate Upstream)
PRI allows you to propagate cascade status and bad status from a specified
RInn input, to a specified ROnn output. The RInn input index is loaded
onto the stack by a prior instruction.
This instruction copies the LHI, LLO, INITU, INITC, FS, BAD, and
OOS bits from the status field of RInn to the status field of the ROnn
output. If this operation causes any of these bits to be changed in the sta-
tus of ROnn, an immediate execution of the upstream block is requested.
sptr(after) = sptr(before) - 1.
If the popped index value for RIxx is less than 1 or greater than 8, a -3
(out-of-range syntax error value, treated as a run-time error) is written to
the PERROR parameter.
Example:
PRO ROxx (Propagate Downstream)
PRO allows you to propagate the cascade acknowledgment from a specified
RIxx input to the specified ROxx output. The RIxx input index is loaded
onto the stack by a prior instruction, and popped from the stack when it is
used. sptr(after) = sptr(before) - 1.
This instruction copies the PRIBLK initialization acknowledgment bit
(the Acknowledge status bit) from RIxx to ROxx.
Accumulator = 3.1416
OUT IO02 Writes accumulator value to output IO02.
OUT RO02 Writes accumulator value to output RO02.
OUT ~BO01 Writes accumulator value to output BO01.
IO02 = 3
RO02 = 3.1416
BO01 = False
31 IN 4 Loads 4 onto the stack to specify the RI04 will be
used by the PRI instruction.
32 PRI RO02 Propagates the LHI, LLO, INITU, INITC, FS, BAD
and OOS status bits, from RI04 to real output RO02.
14. CALC Calculator Block B0193AX Rev AB
413


If the popped index value for RIxx is less than 1 or greater than 8, a -3
(out-of-range syntax error value, treated as a run-time error) is written to
the PERROR parameter.
Example:
PRP ROxx (Propagate Errors)
PRP allows you to propagate certain types of RIxx input errors to the spec-
ified ROxx output. The RIxx inputs whose error conditions are to be
propagated are specified by a mask on the stack, loaded by a prior instruc-
tion. The mask is popped from the stack after it is used. sptr(after) =
sptr(before) - 1.
This instruction sets the ERROR status bit of the specified output oper-
and if any of the specified RIxx inputs are in error. An RIxx input is con-
sidered to be in error when:
+ Its BAD status bit is true, or
+ Its Out-of-Service (OOS) status bit is true, or
+ Its ERROR status bit is true, or
+ It is experiencing peer-to-peer path failure.
If all masked inputs have the same status, for example, all OOS or all
BAD bits are set, the output will have this status set, in addition to setting
ERROR.
Example:
where:
RAND (Generate Random Number)
RAND generates a random number with uniform distribution and places it
in the accumulator. The following formula is used:
Seed = (Seed*125) modulo 2,796,203
Accumulator = Seed / 2,796,203
Seed is a CALC block variable which is set to the value 100,001 when the
block initializes, and is changed each time a RAND instruction is executed.
41 IN 5 Loads 5 onto the stack to specify that RI05 will
be used by the PRO instruction.
42 PRO RO03 Propagates the PRIBLK initialization
acknowledgment bit in RI05 to real output RO03.
12 IN H29 Puts Hexadecimal 29 into accumulator.
13 PRP RO02 Propagates any error in RI03 or RI05 or RI08 to the
real output RO02.
7 6 5 4 3 2 1 0
R
I
0
1
R
I
0
2
R
I
0
3
R
I
0
4
R
I
0
5
R
I
0
6
R
I
0
8
R
I
0
8
0 0 1 0 1 0 0 1
{{
2 9 H29
B0193AX Rev AB 14. CALC Calculator Block
414


You can re-initialize Seed with any desired value at any time, by using the
SEED instruction. sptr(after) = sptr(before) + 1.
RANG (Generate Random Number, Gaussian)
RANG generates a random number with Gaussian distribution and places it
in the accumulator. Two consecutive implicit RAND executions are used,
after which the following formula determines the value to be set into the
accumulator:
x = result of the first of two RAND iterations
y = result of the second of two RAND iterations
Accumulator = square root ((-2.0 ln (x)) * cos(2.0ty))
In this expression, ln represents the natural logarithm function.
sptr(after) = sptr(before) + 1.
RBD {RIxx, IIxx, LIxx, BIxx, ROxx, IOxx, LOxx, BOxx}
(Read Bad and OOS Bits)
RBD reads both the Out-of-Service and Bad status bits of the specified
parameter and writes the value 1 to the accumulator if either of the bits is
set. If neither bit is set the value 0 is written to the accumulator. sptr(after)
= sptr(before) + 1.
RCL {RIxx, ROxx, IIxx, IOxx, BIxx, BOxx, Ixx, Oxx, Mxx, ~RIxx, ~ROxx,
~IIxx, ~IOxx,
~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx}
(Read and Clear)
RCL with RIxx, IIxx, BIxx, or Ixx operand unconditionally pushes
onto the stack the contents of the operand. If the operand is unlinked (in
the case of Ixx, if the LI01 operand is unlinked) a zero value is written to
the operand. Otherwise the operand is unchanged.
RCL with ROxx, IOxx, BOxx, or Oxx operand unconditionally pushes onto
the stack the operand contents, and, if the CALC block is in Auto, writes
a zero value to the operand. Otherwise the operand is unchanged.
RCL Mxx always pushes the Mxx value onto the stack and writes 0.0 to
Mxx.
For real type operands, a written zero value is 0.0; for integer types it is 0;
and for boolean types it is False. Values of integer operands are converted
to real type when pushed on the stack. False boolean operands are pushed
as 0.0, and true boolean operands are pushed as 1.0.
RCL with inverted operand follows the same rules as above, except that
operand values are inverted before they are pushed on the stack. Inverted
real or integer operands are pushed as 0.0 when they are non-zero and as
1.0 when they are zero.
In all cases, sptr(after) = sptr(before) + 1.
14. CALC Calculator Block B0193AX Rev AB
415


RCN {RIxx, IIxx. LIxx, Bxx}
(Read Connect Status)
RCN reads the linkage type of the specified input and stores the signed
integer result in the accumulator. sptr(after) = sptr(before) + 1.
The connection status values are:
RE {RIxx, IIxx, LIxx, BIxx, ROxx, IOxx, LOxx, BOxx}
(Read Error Bit)
RE reads the Error status bit of the specified parameter and writes its value
to the accumulator. (1 = True = error bit set, 0 = False = error bit not set.)
sptr(after) = sptr(before) + 1.
REL {ROxx, BOxx, IOxx, LOxx}
(Clear Secure Status)
REL clears the Secure status bit of the specified output parameter to False,
thereby releasing it and making it settable. Its effect is identical in Auto or
Manual mode. The effect of REL overrides that of MA. sptr(after) =
sptr(before).
RER (Read Error)
RER reads the internal error flag (the PERROR parameter) during pro-
gram execution and stores the value in the accumulator. PERROR retains
the first run-time error encountered during each block execution, or the
first error encountered after a CLE instruction. You can use this instruction
to check for errors that may have occurred since starting the current execu-
tion cycle. sptr(after) = sptr(before) + 1.
RND (Round)
RND reads the number in the accumulator, rounds off the value to the
nearest integer, and writes the result into the accumulator, overwriting the
original value.
If the decimal portion is less than 0.5, the value is rounded down to the
integer portion of the number. If the decimal portion is 0.5 or greater, the
value is rounded up to the next higher integer. In the case of negative
accumulator values, if the absolute value of the decimal portion is greater
than 0.5, the value is rounded down to the next lower integer. (See Exam-
ple 2.) sptr(after) = sptr(before).
-1 or -2 = Unresolved linkage; the source compound or block
cannot be found
0 = No linkage is specified
1 or 3 = Resolved Local Linkage; the source parameter is in the
same station
2 or 4 = Resolved Remote linkage; the source parameter is in a
different station
B0193AX Rev AB 14. CALC Calculator Block
416


Example 1:
Example 2:
RON {RIxx, IIxx, LIxx, BIxx, ROxx, IOxx, LOxx, BOxx}
(Read In-Service Status)
RON reads the Out-of-Service status bit of the specified parameter and
writes the inverse of its value to the accumulator. (1 = True = OOS bit not
set = parameter in service, 0 = False = OOS bit set = parameter out-of-ser-
vice).
The result of the RON instruction is always the inverse of the result of the
ROO instruction. sptr(after) = sptr(before) + 1.
ROO {RIxx, IIxx, LIxx, BIxx, ROxx, IOxx, LOxx, BOxx}
(Read OOS Bit)
ROO reads the Out-of-Service status bit of the specified parameter and
writes its value to the accumulator. (1 = True = OOS bit set, 0 = False =
OOS bit not set.)
The result of the ROO instruction is always the inverse of the result of the
RON instruction. sptr(after) = sptr(before) + 1.
RQE {RIxx, IIxx, LIxx, BIxx}
(Read Quality Including Error)
RQE reads the Bad, Out-of-Service, and Error status bits and the OM sta-
tus field of the specified input. It writes the value 1 to the accumulator if
any of the three bits is set or if the OM status field does not have the value
ON_SCAN. In any other case, it writes the value 0 to the accumulator.
sptr(after) = sptr(before) + 1.
RQL {RIxx, IIxx, LIxx, BIxx}
(Read Quality)
RQL reads the Bad and Out-of-Service status bits and the OM status field
of the specified input. It writes the value 1 to the accumulator if either of
the two bits is set or if the OM status field does not have the value
ON_SCAN. In any other case, it writes the value 0 to the accumulator.
sptr(after) = sptr(before) + 1.
SAC {ROxx, BOxx, IOxx, Mxx, ~BOxx, ~Mxx}
(Store Accumulator in Output)
SAC is identical to OUT, except that outputs to the pseudo-parameters Oxx
are not permitted. sptr(after) = sptr(before).
SBD {ROxx, BOxx, IOxx, LOxx}
(Set Bad Status)
16... Assume the accumulator has value of 43.499 after Step 16.
17 RND Accumulator has value of 43.0 after Step 17.
26... Assume the accumulator has value of -1.68 after Step 26.
27 RND Accumulator has value of -2.0 after Step 27.
14. CALC Calculator Block B0193AX Rev AB
417


SBD sets the Bad status bit of the specified output parameter to True. Its
effect is identical in Auto or Manual mode. sptr(after) = sptr(before).
SE {ROxx, BOxx, IOxx, LOxx}
(Set Error Status)
SE sets the Error status bit of the specified output parameter to True. Its
effect is identical in Auto or Manual mode. sptr(after) = sptr(before).
SEC {ROxx, BOxx, IOxx, LOxx}
(Set Secure Status)
SEC sets the Secure status bit of the specified output parameter to True,
thereby making the parameter non-settable. Its effect is identical in Auto
or Manual mode. The effect of SEC overrides that of MA. sptr(after) =
sptr(before).
SEED (Seed Random Number Generator)
SEED stores the contents of the accumulator into the Seed value used by
the RAND and RANG instructions. The initial Seed value is set, when the
block initializes, at 100,001 and is changed by each iteration of the RAND
or RANG instruction. If the accumulator value is less than zero or greater
than 100,001 when the SEED instruction is executed, the instruction is
skipped. sptr(after) = sptr(before).
Use of no operands, constant operands, or input operands writes a -2
(Syntax Error Code -2, INV_IO) to the PERROR parameter during block
validation and the block is undefined.
SET
SET {ROxx, BOxx, IOxx, LOxx, Mxx}
(Set)
SET stores a 1 in the specified operand.
If blank is specified, a 1 is stored in the accumulator. If Mxx is specified,
a 1 is stored in memory location Mxx.
If any other operand type is specified, a 1 is stored in the specified out-
put, provided the block is in Auto; otherwise the step is skipped. In all
cases, sptr(after) = sptr(before).
SETB
SETB b
(Set Packed Boolean)
SETB sets to 1 a specified bit in the accumulator. If blank is specified the
bit number is expected to be at the top of the stack and this bit number is
removed from the stack before the instruction is executed. sptr(after) =
sptr(before) - 1.
If the bit number is less than 1 or greater than 16 an 11 (bit error run-
time error) is written to the PERROR parameter.
If the operand b is specified it indicates a bit number between 1 and 16 in
the accumulator. The stack is not popped in this case. sptr(after) =
sptr(before).
Bit 1 is the most significant bit of the accumulator, and bit 16 the least sig-
nificant.
B0193AX Rev AB 14. CALC Calculator Block
418


SIEC (Skip if Error Clear)
SIEC skips the next program step if the internal error flag (the PERROR
parameter) is zero. PERROR retains the first run-time error encountered
during each block execution, or the first error encountered after a CLE
instruction sptr(after) = sptr(before).
SIN (Sine)
SIN reads the value (value of the angle in radians) in the accumulator,
computes the sine of the angle, and writes the result into the accumulator,
overwriting the original contents. sptr(after) = sptr(before).
Example:
SOO {ROxx, BOxx, IOxx, LOxx}
(Set Out-of-Service Status)
SOO sets the Out-of-Service status bit of the specified output parameter to
True. Its effect is identical in Auto or Manual mode. sptr(after) =
sptr(before).
SQR (Square)
SQR reads the value in the accumulator, computes the square of the value,
and writes the result into the accumulator, overwriting the original con-
tents. sptr(after) = sptr(before).
Example:
SQRT (Square Root)
SQRT reads the value (which must be > 0) in the accumulator, computes
the square root of the value, and writes the positive root to the accumula-
tor, writing over the original contents. sptr(after) = sptr(before).
An attempt to SQRT a value < 0 causes the instruction to be skipped and
writes a 1 (SQRT run-time error) to the PERROR parameter.
Accumulator = +0.5236 (Pi/6) radians.
(Pi/6 radians = 30 degrees)
17 SIN Compute sine of accumulator.
Accumulator = +0.5000
Accumulator = -7.0 or +7.0
17 SQR Computes square of accumulator
Accumulator = +49.0000
14. CALC Calculator Block B0193AX Rev AB
419


Example:
SSF {ROxx, BOxx, IOxx, LOxx, Mxx}
(Set and Skip if False)
SSF sets the specified operand to 1.0 (if ROxx or Mxx) or 1 (if IOxx or
LOxx) or True (if BOxx) and skips the next program step when the accu-
mulator value is 0.0. Otherwise the instruction is ignored and the next
instruction in sequence is executed.
If this instruction is the last or next-to-last step in the CALC block pro-
gram and the accumulator is zero, the operand is set and then the block
program terminates.
When the block is in Manual, the outputs ROxx, BOxx, IOxx, and LOxx
are unchanged, but the skip action still occurs based on the value of the
accumulator. sptr(after) = sptr(before). SSF is identical to SSZ.
SSI {ROxx, BOxx, IOxx, LOxx, Mxx}
(Set and Skip if Initializing)
SSI sets the specified operand to 1.0 (if ROxx or Mxx) or 1 (if IOxx or
LOxx) or True (if BOxx) and skips the next program step if the CALC
block is initializing this execution cycle. Otherwise the instruction is
ignored and the next instruction in sequence is executed.
If this instruction is the last or next-to-last step in the CALC block pro-
gram and the block is initializing, the operand is set and then the block
program terminates.
When the block is in Manual, the outputs ROxx, BOxx, IOxx, and LOxx
are unchanged, but the skip action still occurs based on the value of the
accumulator. sptr(after) = sptr(before).
SSN {ROxx, BOxx, IOxx, LOxx, Mxx}
(Set and Skip if Negative)
SSN sets the specified operand to 1.0 (if ROxx or Mxx) or 1 (if IOxx or
LOxx) or True (if BOxx) and skips the next program step when the accu-
mulator is negative. Otherwise the instruction is ignored and the next
instruction in sequence is executed.
If this instruction is the last or next-to-last step in the CALC block pro-
gram and the accumulator is negative, the operand is set and then the
block program terminates.
When the block is in Manual, the outputs ROxx, BOxx, IOxx, and LOxx
are unchanged, but the skip action still occurs based on the value of the
accumulator. sptr(after) = sptr(before).
Accumulator = +49.0000
17 SQRT Computes square root of accumulator
Accumulator = +7.00000
B0193AX Rev AB 14. CALC Calculator Block
420


SSP {ROxx, BOxx, IOxx, LOxx, Mxx}
(Set and Skip if Positive)
SSP sets the specified operand to 1.0 (if ROxx or Mxx) or 1 (if IOxx or
LOxx) or True (if BOxx) and skips the next program step when the accu-
mulator is positive or zero. Otherwise the instruction is ignored and the
next instruction in sequence is executed.
If this instruction is the last or next-to-last step in the CALC block pro-
gram and the accumulator is positive or zero, the operand is set and then
the block program terminates.
When the block is in Manual, the outputs ROxx, BOxx, IOxx, and LOxx
are unchanged, but the skip action still occurs based on the value of the
accumulator. sptr(after) = sptr(before).
SST {ROxx, BOxx, IOxx, LOxx, Mxx}
(Set and Skip if True)
SST sets the specified operand to 1.0 (if ROxx or Mxx) or 1 (if IOxx or
LOxx) or True (if BOxx) and skips the next program step when the accu-
mulator is non-zero. Otherwise the instruction is ignored and the next
instruction in sequence is executed.
If this instruction is the last or next-to-last step in the CALC block pro-
gram and the accumulator is non-zero, the operand is set and then the
block program terminates.
When the block is in Manual, the outputs ROxx, BOxx, IOxx, and LOxx
are unchanged, but the skip action still occurs based on the value of the
accumulator. sptr(after) = sptr(before).
SSZ {ROxx, BOxx, IOxx, LOxx, Mxx}
(Set and Skip if Zero)
SSZ sets the specified operand to 1.0 (if ROxx or Mxx) or 1 (if IOxx or
LOxx) or True (if BOxx) and skips the next program step when the accu-
mulator value is 0.0. Otherwise the instruction is ignored and the next
instruction in sequence is executed.
If this instruction is the last or next-to-last step in the CALC block pro-
gram and the accumulator is zero, the operand is set and then the block
program terminates.
When the block is in Manual, the outputs ROxx, BOxx, IOxx, and LOxx
are unchanged, but the skip action still occurs based on the value of the
accumulator. sptr(after) = sptr(before).
STH LOxx (Store High Order)
STH stores the last stack value into the high order integer of the specified
long integer output (LOxx), after type conversion into an unsigned inte-
ger. The output is changed only when the block is in Auto, otherwise the
instruction is skipped. sptr(after) = sptr(before).
14. CALC Calculator Block B0193AX Rev AB
421


STL LOxx (Store Low Order)
STL stores the last stack value into the low order integer of the specified
long integer output (LOxx), after type conversion into an unsigned inte-
ger. The output is changed only when the block is in Auto, otherwise the
instruction is skipped. sptr(after) = sptr(before).
STM Mxx (Store Memory)
STM Mxx stores the accumulator contents into the memory register speci-
fied by the Mxx operand, where xx is an index from 01 to 24 (or 1 to 24).
The accumulator is unaffected. sptr(after) = sptr(before).
STMI Mxx (Store Memory Indirect)
STMI Mxx stores the accumulator contents into a specified memory regis-
ter indexed by the contents of the memory register specified by the Mxx
operand, where xx is an index from 01 to 24 (or 1 to 24). The accumula-
tor is unaffected.
If Mxx does not contain an integer value, the truncated contents are used
as the index. Mxx is unaffected. sptr(after) = sptr(before).
If the specified memory contents are less than 1 or greater than 24, a 10
(index run-time error) is written to the PERROR parameter at run-time.
If the specified memory contents are less than one or greater than 24, a
10 (Run-time Error Code 10) is written to the PERROR parameter at
run-time.
SUB
SUB {RIxx, ROxx, Mxx}
(Subtract)
SUB reads the values from the top two stack locations, subtracts the second
operand (subtrahend) from the first operand (minuend), decrements the
stack pointer, and writes the difference into the new accumulator location
(the new top of stack location). This overwrites the first operand and iso-
lates the second operand from any further access. (The later stack value is
subtracted from the earlier one.) sptr(after) = sptr(before) - 1.
SUB RIxx reads the value stored in RIxx (the CALCs Real Input parame-
ter xx), subtracts it from the value that it pops from the stack, then pushes
the result back onto the stack. SUB ROxx and SUB Mxx do the same for
the values stored at ROxx and memory location xx, respectively. sptr(after)
= sptr(before).
Example:
M01 = 3.73182
RI01 = 12.3485
11 IN RI01 Puts RI01 into accumulator.
12 SUB M01 Substracts M01 from RI01 and stores the result
on the stack
Accumulator = +8.61668
B0193AX Rev AB 14. CALC Calculator Block
422


SWP
SWP {ROxx, BOxx, IOxx, Mxx}
(Swap)
SWP with no argument causes the contents of the last two positions on the
stack to be interchanged. The stack pointer is not moved.
SWP ROxx swaps the contents of the last position on the stack with that of
output ROxx. If the block is not in Auto, the value of ROxx is copied to
the stack, but the stack value is not copied to ROxx.
SWP BOxx swaps the contents of the last position on the stack with that of
output BOxx. A True value in BOxx is converted to 1.0 on the stack, and
a False value is converted to 0.0 on the stack. Any non-zero value on the
stack is converted to True in BOxx, and a 0.0 value is converted to False in
BOxx. If the block is not in Auto, the swap is treated as in the ROxx case.
SWP IOxx swaps the contents of the last position on the stack with that of
output IOxx. The accumulator value is clamped between 32,767.0 and
-32,768.0 before the swap. If the block is not in Auto, the swap is treated
as in the ROxx case.
SWP Mxx swaps the contents of the last position on the stack with that of
memory location Mxx.
In all cases, sptr(after) = sptr(before).
TAN (Tangent)
TAN reads the value (value of the angle in radians) in the accumulator,
computes the tangent of the angle, and writes the result into the accumu-
lator, overwriting the original contents. sptr(after) = sptr(before).
Example:
TIM (Time Since Midnight)
TIM gets the time, in seconds since midnight, and pushes it onto the stack
sptr(after) = sptr(before) + 1.
TRC (Truncate)
TRC reads the number in the accumulator, truncates the mantissa, or deci-
mal portion, and writes the result into the accumulator as a floating point
value, overwriting the original value. sptr(after) = sptr(before).
Example:
TSTB
TSTB b
(Test Packed Boolean)
Accumulator = +0.7853983 (Pi/4) radians.
(Pi/4 radians = 45 degrees)
17 TAN Computes tangent of accumulator.
Accumulator = +1.0000
Accumulator = 43.999
17 TRC Truncates the accumulator
Accumulator = 43.0
14. CALC Calculator Block B0193AX Rev AB
423


TSTB tests a specified bit in the accumulator. If blank is specified the bit
number is expected to be at the top of the stack and this bit number is
removed from the stack before the instruction is executed. sptr(after) =
sptr(before) - 1.
If the bit number is less than 1 or greater than 16 an 11 (bit error run-
time error) is written to the PERROR parameter.
If the argument b is specified it indicates a bit number between 1 and 16
in the accumulator. The stack is not popped in this case. sptr(after) =
sptr(before).
Bit 1 is the most significant bit of the accumulator, and bit 16 the least sig-
nificant.
If the tested bit is 0, the value False (0.0) replaces the accumulator; if it is
1, the value True (1.0) replaces the accumulator.
XOR
XOR c
XOR {BIxx, BOxx, Ixx, Oxx, Mxx, ~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx}
(Logical Exclusive Or)
XOR performs a logical xor of the contents of the specified operands and
stack locations. Exclusive Or is defined as producing a True output for an
odd number of True inputs, a False output for an even number of True
inputs, and a False output if all inputs are False.
If blank is specified, all stack locations are XORed together, and the result
is written into the accumulator (the new top of stack location). This over-
writes the first operand and isolates the other operands from any further
access. sptr(after) = stackbottom.
If c is specified, the last c stack locations are XORed together, removed
from the stack, and the result stored in the accumulator. sptr(after) =
sptr(before) - c + 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
If one operand is specified, the operand is XORed with the accumulator,
and the result replaces the accumulator. sptr(after) = sptr(before).
If ~ is specified, the operand value is inverted prior to being used.
Before the operand Mxx is used in the calculation, its value is truncated to
an integer; if the result is 0 the operand value is considered False, other-
wise it is True.
Example 1:
11 CST Clears the stack.
BI01 = True
BI07 = False
BO03 = True
BI14 = True
12 IN BI01 Puts BI01 into accumulator.
B0193AX Rev AB 14. CALC Calculator Block
424


Example 2:
XORX
XORX c
(Packed Logical Exclusive Or)
XORX reads all the values or a specified number (c) of values from the
stack, performs a 16-bit bitwise logical xor function on them, and stores
the result into the new accumulator location (the new top of stack). This
overwrites the first operand and isolates the other operands from any fur-
ther access. Exclusive Or is defined as producing a True output for an odd
number of True inputs, a False output for an even number of True inputs,
and a False output if all inputs are False.
For XORX, sptr(after) = stackbottom. For XORX c, sptr(after) = sptr(before) - c
+ 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
Each operand is truncated from real to 16-bit integer type before it is used
in the calculation. The final result is stored on the stack as a real value.
Example:
13 IN BI07 Puts BI07 into accumulator. The prior value is pushed
down one stack location.
14 IN BO03 Puts BO03 into accumulator. The prior values are
pushed down one stack location.
15 IN BI14 Puts BI14 into accumulator. The prior values are
pushed down one stack location.
16 XOR Performs the logical XOR function, and stores result
into accumulator, overwriting the value loaded in from
BI01. The other values are inaccessible.
Accumulator = True
BI04 = False
BO01 = True
11 IN BI04 Puts BI04 into accumulator.
12 XOR BO01 Performs the logical XOR of BI04 and BO01
and stores the result on the stack.
Accumulator = True
II01 = 5 (binary 0000000000000101)
II02 = 7 (binary 0000000000000111)
LI01 =12 (binary
00000000000000000000000000001100)
13 IN II01 Puts II01 into accumulator. The prior value is pushed
down one stack location.
14 IN II02 Puts II02 into accumulator. The prior values are
pushed down one stack location.
14. CALC Calculator Block B0193AX Rev AB
425


14.7 Error Conditions
For each instruction, the specified operation code (for example, ADD or RCL) and operand,
including the index range of the operand (xx), are validated when the CALC block is installed or
modified by the Control Configurator. An invalid operation code or operand causes the block to
be undefined. An error message indicating the type of syntax error and the step in error is sent to
the Control Configurator and displayed on the screen.
Two types of errors are detected by the CALC block:
+ Syntax errors those detected when the program is validated, as the block is installed
or modified.
+ Run-time (dynamic) errors those detected while the program is running. Note that
these errors do not cause the program to halt.
An integer code stored in the output parameter PERROR indicates the type of the first detected
error.
The output parameter STERR indicates the number of the program step that experienced the first
error.
Displaying the automatically-updated run-time values of PERROR and STERR at the display
interface enables you to monitor these parameters while in the debugging phase of the CALC pro-
gram development.
Syntax errors are detected when the CALC block is installed or reconfigured, but not when the
compound is turned ON, or when the control processor is rebooted. This avoids control cycle
overruns that might occur if validation of complex CALC blocks were to be done during ordinary
block processing. Configuration errors generate screen messages that you can view and act upon
for correction while configuring the block, without interrupting the configuration session.
A non-zero value for PERROR indicates an error. A negative value generally indicates a syntax
error, and a positive value generally indicates that an error occurred while executing the program
(that is, a run-time error). The only exceptions to this convention are described in the CHN and
PRO instructions (q.v.).
The syntax error codes for the PERROR parameter are listed in Table 14-15.
15 IN LI01 Puts the low 16 bits (0000000000001100) of LI01
into accumulator. The prior values are pushed down
one stack location.
16 XORX 3 Performs the packed logical XORX function on the
stack locations by bit position. If all bits in a certain bit
position are 0 (false) the result is 0. If there is an odd
number of 1s (trues), the result is 1. If there is an even
number of 1s, the result is 0. The resulting value,
binary 0000000000001110, is stored into the accumu-
lator, overwriting the value loaded in from II01. The
other values are inaccessible.
Accumulator = 14.0 (binary 0000000000001110)
B0193AX Rev AB 14. CALC Calculator Block
426


The run-time error codes for the PERROR parameter are listed in Table 14-16.
14.8 Programming Concepts
The CALC block operates in the same way as do most programmable pocket calculators. To spec-
ify program operations, you type in a series of programming steps, which are analogous to key-
strokes on a calculator. A programming step can contain zero or one command line argument
which serve to complete the specification of the action to be performed. Each instruction per-
forms a unique operation over a set of one or more operands.
The block accepts programs entered through the Reverse Polish Notation (RPN) method, which
is more efficient than other methods of programming. In a simple example, you specify first the
operands and then the action to be performed, which terminates the operation. This convention
works especially well with those instructions that operate on more than two operands.
CALC block instructions use the following types of operands:
1. Real Variables Real variable values used in block calculations are either specified as a
command line argument (RIxx, ROxx, or Mxx) or obtained from the stack, where
they were stored as the result of earlier operations such as the IN instruction.
2. Integer Variables Parameters IIxx, IOxx, LIxx, and LOxx or the constant command
line argument n.
Table 14-15. PERROR Syntax Error Codes
Code Definition
-1 Invalid operation code
-2 Invalid operand type
-3 Out of range operand index
-4 Invalid go to step number
Table 14-16. PERROR Run-time Error Codes
Code Definition
1 SQRT error (accumulator < 0)
2 ASIN error (absolute value of accumulator > 1)
3 ACOS error (absolute value of accumulator > 1)
4 DIV error (divide by zero)
5 Stack overflow
6 Stack underflow
7 LOG error (accumulator s 0)
8 LN error (accumulator s 0)
9 EXP error (base < 0)
10 Index error
11 Bit error
14. CALC Calculator Block B0193AX Rev AB
427


3. Boolean Variables Parameters BIxx and BOxx, and pseudo-parameters Ixx and Oxx.
Boolean variables can be optionally inverted before use. For information on pseudo-
parameters, see Instruction Syntax on page 372.
4. Other Constants In addition to arguments of type n used as integer variables in
the calculation, constant command line arguments are also used to represent a timer
constant (t), a program step number (s), a bit number (b), or the number of
stack operands to be used (c).
The opcode and any required argument for a program step are entered in the STEPxx position of
the Control Configurator screen.
Arithmetic Examples
Example 1 illustrates an instruction that uses two operands to compute the result. Example 2
shows an instruction involving more than two operands.
Example 1 Calculate (RI01 * RI02) and output the result to RO01:
Example 2 Calculate ((RI01 + RI02 + RI03 + RI04) / 4):
14.8.1 Execution Sequence
You can consider the sequencing of programming steps to be under control of an internal pro-
gram counter that indicates the next program step to be processed. Instructions such as GTO that
affect program control directly reference the step number of the next step to be processed. Your
program can have up to 50 steps.
The CALC block supports both conditional and unconditional means of altering the control of
program execution. Unconditional transfer of control is supported only in a forward direction;
looping backwards is not allowed. Conditional transfer of control is dependent on the results of
arithmetic comparisons or logical conditions.
The following example demonstrates these concepts.
STEP01 IN RI01 Places Real Input 1 into accumulator.
STEP02 MUL RI02 Multiplies the RI01 value it pops from the stack by RI02 and
stores the result on the stack.
STEP03 OUT RO01 Writes the product of RI01 and RI02 to RO01.
STEP01 CST Clears the stack.
STEP02 IN RI01 Places Real Input 1 into accumulator.
STEP03 IN RI02 Places Real Input 2 into accumulator and pushes Real Input 1 value down
one stack location.
STEP04 IN RI03 Places Real Input 3 into accumulator and pushes the prior values down
one stack location.
STEP05 IN RI04 Places Real Input 4 into accumulator and pushes the prior values down
one stack location.
STEP06 AVE Reads all the values from the stack (values for Real Inputs 1 through 4),
calculates the mean algebraic value for them, and stores the result into the
accumulator, overwriting the Real Input 1 value. The other values are
inaccessible.
B0193AX Rev AB 14. CALC Calculator Block
428


Branching Example:
Example:
14.8.2 Arithmetic Chaining
An internal FILO (first-in, last-out) stack preserves the results of prior, intermediate operations
required for calculation of the final result. You can chain arithmetic operations without using
memory registers to store and retrieve data. This approach greatly simplifies program entries and
minimizes the number of programming steps.
14.8.2.1 Stack Push Operation
A chaining sequence begins with a stack clear instruction (CST) to clear the results of any prior
operations. The first operand of the sequence is placed in the first stack register. The second oper-
and is read into the second stack register.
When the next step contains an arithmetic operator, the contents of the first two stack registers
are removed and processed according to the operator (add, subtract, multiply, divide, or exponen-
tiation). The result is stored in the first stack register.
An operand immediately following the first arithmetic operator goes into the second stack posi-
tion unless a CST command is issued first. Then the input goes into stack position one.
14.8.2.2 Stack Pop Operation
When one diadic arithmetic instruction is followed immediately by another one, a stack pop
operation occurs. A stack pop retrieves the most recent pending result from the stack to complete
the current operation. The stack pop operation repeats for each additional arithmetic instruction
until an operand (or an operation that does not use the stack) is encountered. Each pop operation
closes a pending operation. Pending operations involving a unary instruction operate directly on
the accumulator value and are not saved on the stack.
STEP01 CST Clear any pending results from stack
STEP02 IN BI01 Read binary input, to select a real
STEP03 BIT 06 Branch if binary input is true
STEP04 IN RI01 Binary is false, read real input #1
STEP05 GTO 07 Go to output step
STEP06 IN RI02 Binary is true, read real input #2
STEP07 OUT RO01 Write selected real value to output
STEP08 END
RO01 BI01
RI02
RI01
Program function:
To select either of two
real inputs based on the
status of a binary input.
SELECTOR LOGIC
IN CALC BLK
14. CALC Calculator Block B0193AX Rev AB
429


Stack operations occur only for diadic arithmetic operations and for boolean operations other
than the unary NOT function. This approach enables you to mix arithmetic and boolean opera-
tions.
The operation sequence for an arithmetic chaining example is shown in Figure 14-9. It shows the
stack operations involved in the equation, working from the innermost parentheses outward. The
actual program steps that implement the procedures are shown below. Figure 14-10 shows the
stack operations for this example.
Figure 14-9. Arithmetic Chaining Example, Operation Sequence
Equation: RO01 = RI05 * SQRT [(RI01 * RI02) / ((RI03 * RI04) - 1)]
Prod1
Prod2
Diff
Quotient
Root
Prod3
1 3 4 5 6 2
4
B0193AX Rev AB 14. CALC Calculator Block
430


Programming steps to compute the following equation:
RO01 = RI05 * SQRT ((RI01 * RI02) / ((RI03 * RI04) - 1)
STEP01 CST Clears stack.
STEP02 IN RI01 Pushes RI01 value onto stack.
STEP03 IN RI02 Pushes RI02 value onto stack.
STEP04 MUL Pops RI01 and RI02 values from stack, multiplies
them, and pushes the product (Prod1) onto stack.
STEP05 IN RI03 Pushes RI03 value onto stack.
STEP06 IN RI04 Pushes RI04 value onto stack.
STEP07 MUL Pops RI03 and RI04 values from stack, multiplies
them, and pushes the product (Prod2) onto stack.
STEP08 IN 1 Pushes constant 1 onto stack.
STEP09 SUB Pops Prod2 and constant 1 from stack, subtracts 1
from Prod2, and pushes difference (Diff ) onto stack.
STEP10 DIV Pops Prod1 and Diff from stack, divides Prod1 by Diff,
and pushes results (Quotient) onto stack.
STEP11 SQRT Pops Quotient from stack, computes the square root of
Quotient, and pushes the result (Root) onto stack.
STEP12 IN RI05 Pushes RI05 value onto stack.
STEP13 MUL Pops Root and RI05 value from stack, multiplies them,
and pushes the result (Prod3) onto stack.
STEP14 OUT RO01 Writes Prod3 to RO01, and Prod3 remains in
position 1 on stack.
STEP15 END
14. CALC Calculator Block B0193AX Rev AB
431



Figure 14-10. Arithmetic Chaining, Stack Operation
Push
Stack
Pop
LEGEND:
Stack
[RO01]
Stack
Registers
RI05
Root
Diff
Prod1 Quotient Root
Arithmetic Chaining, Stack Operation
RO01 = RI05 * SQRT ((RI01 * RI02) / ((RI03 * RI04) - 1))
Sequence: 6 5 1 4 2 3
S1
S1
S2
S1
S2
S1 S1
(up to 16)
5
SQRT
STEP11
4
DIV
STEP10
3
SUB
STEP09
IN
STEP12
CST
STEP01
OUT
STEP14
RI01 S1
IN
STEP02
RI02
RI01 S1
S2
IN
STEP03
S1 Prod1
1
MUL
STEP04
RI03
Prod1 S1
S2
IN
STEP05
RI03
Prod1
RI04
S1
S2
S3
IN
STEP06
Prod2
Prod1 S1
S2
2
MUL
STEP07
Prod2
Prod1
1
S1
S2
S3
IN
STEP08
S1 Prod1
6
MUL
STEP13
B0193AX Rev AB 14. CALC Calculator Block
432


14.9 Application Example
Figure 14-11. Application Example
Example:
STEP01 IN RI01 Reads Real Input 1 and pushes it onto stack.
STEP02 IN 90 Reads constant 90.0 and pushes it onto stack.
STEP03 SUB Pops Real Input 1 and constant 90 from stack, subtracts 90
from Real Input 1, and pushes difference onto stack.
STEP04 BIN 5 Branches to Step 7 if difference is negative.
STEP05 IN 90 Reads constant 90.0 and pushes it onto stack.
STEP06 GTO 14 Branches to Step 10.
STEP07 IN RI01 Reads Real Input 1 and pushes it onto stack.
STEP08 IN 10 Reads constant 10.0 and pushes it onto stack.
STEP09 SUB Pops Real Input 1 and constant 10 from stack, subtracts 10
from Real Input 1, and pushes difference onto stack.
STEP10 BIP 13 Branches to Step 13 if difference is positive.
STEP11 IN 10 Reads constant 10.0 and pushes it onto stack.
STEP12 GTO 14 Branches to Step 14.
STEP13 IN RI01 Reads Real Input 1 and pushes it onto stack.
STEP14 OUT RO01 Writes limited measurement value to Real Output 1.
STEP15 END
Program Function
Limit measurement input to
downstream control block to the
range 10.0 to 90.0
RI01
Measurement
CALC Block
Program
RO01
433


15. CALCA Advanced Calculator
Block
This chapter covers the Advanced Calculator, or CALCA, block, its basic operations, features,
parameters, and functions, instruction processing, syntax and definitions, error conditions,
programming concepts, and an application example.
15.1 Overview
The Advanced Calculator (CALCA) block provides both logical functions and arithmetic compu-
tational capability within one integrated environment.
This block provides dual-operand efficiency in several mathematical and logical instructions,
resulting in as much as a three-to-one reduction in the length of your program relative to the same
calculations performed in a CALC block program.
The CALCA block does not support the clamping of real outputs, whereas the CALC block does.
With this exception, programs written for the CALC, MATH, or LOGIC blocks will execute in
the CALCA block without change.
The configuration process allows you to program the block by entering a series of up to 50 pro-
gramming steps. Each program step is represented by a parameter string of up to 16 characters.
The CALCA block inputs and outputs are shown in Figure 15-1.
Figure 15-1. CALCA Block I/O Diagram
The differences between the CALCA, CALC, MATH, and LOGIC blocks are summarized in
Table 15-1.
4 Real Outputs
Program Error
Step Error
Advanced
Calculation
(up to 50 steps;
configurable)
Program
16 Boolean Inputs
2 Long Integer Inputs
2 Integer Inputs
8 Real Inputs
8 Boolean Outputs
6 Integer Outputs
2 Long Integer Outputs
B0193AX Rev AB 15. CALCA Advanced Calculator Block
434


15.2 Basic Operation
The CALCA block operates like most programmable pocket calculators. The blocks input/output
modularity and programming capacity provides a level of functionality that complements the
standard block set offering.
The program which you enter is executed once each time the CALCA block executes. A single
execution of the program is defined as a single consecutive execution of each program step in turn.
It is, however, possible to specify conditional execution of steps or groups of steps.
Every program step contains an opcode, which identifies the operation to be performed, and up
to two command line arguments. The command line arguments consist of the actual operands for
the step, the location of the operands, a specification of details which further refine the opcode, or
some combination of these factors. The syntax of each individual instruction is provided in
Section 15.6.5.
The CALCA block can operate in Auto or Manual mode. The operation of the block in Manual is
identical to the operation in Auto, except that any output parameters involved in the steps are not
modified by the block logic. They are released, and can be set only by user action. Manual mode
is described in Section 15.6.1.2.
Table 15-1. Block Comparison
CALCA CALC MATH LOGIC
Dual Operands X --- X X
Output Clamping --- X --- ---
Boolean Instructions X X --- X
Packed Boolean Instructions X X ---
Mathematical Instructions X X X ---
Cascade Instruction X X X ---
Steps 50 50 20 15
Memory Registers 24 24 5 5
Boolean Inputs 16 16 0 16
Boolean Outputs 8 8 0 4
Integer Inputs 2 2 0 0
Integer Outputs 6 6 0 0
Long Integer Inputs 2 2 0 1
Long Integer Outputs 2 2 0 1
Real Inputs 8 8 8 2
Real Outputs 4 4 4 0
15. CALCA Advanced Calculator Block B0193AX Rev AB
435


15.3 Features
+ Provides 8 real inputs, 2 long integer inputs, 2 integer inputs, 16 boolean inputs, 4
real outputs, 2 long integer outputs, 8 boolean outputs, and 6 integer outputs.
+ Provides 24 floating point memory data storage registers that are preserved between
execution cycles.
+ Uses a stack of 24 floating point values for storage of intermediate computational
results.
+ Provides 50 programming steps of up to 16 characters, allowing dual operands in all
appropriate instructions.
+ Clamping of outputs is not supported.
+ Accepts any CALC, MATH, or LOGIC block instruction without change; outputs
are not clamped in the CALCA block, however.
+ Allows arithmetic calculations to be conditionally executed, depending on arithmetic
or logic conditions detected under program control.
+ Provides a complete mix and interchangeability between the results of boolean, inte-
ger, and real operations.
+ Lets your algorithm read the status bits of input/output parameters and directly con-
trol the status bits of output parameters (for example, Bad, Out-of-Service, Error).
+ Allows you to propagate the cascade acknowledgment from an upstream to a down-
stream block.
+ Checks correctness of all programming steps following block installation and recon-
figuration, and marks the block as undefined if an error is detected.
+ Provides the ability to detect run-time errors.
+ Supports Auto/Manual capability for all block outputs; in Manual, all functions are
performed normally except for changes of output values.
+ Allows forward branching of program control. However, backward branching is not
allowed, to prevent endless loops.
+ Lets you initialize all timers and memory registers.
+ Permits effectively unlimited time delays and pulse widths in the timer instructions.
15.4 Parameters
Table 15-2. CALCA Block Parameters
Name Description Type Accessibility Default Units/Range
Configurable Parameters
INPUTS
NAME block name string no-con/no-set blank 1 to 12 chars
TYPE block type integer no-con/no-set 75 CALCA
DESCRP descriptor string no-con/no-set blank 1 to 32 chars
PERIOD block sample time short no-con/no-set 1 0 to 10
B0193AX Rev AB 15. CALCA Advanced Calculator Block
436


15.4.1 Parameter Definitions
ACHNGE Alternate Change is an integer output which is incremented each time a
block parameter is changed via a Set command.
BI01 to BI16 Boolean Inputs 1 through 16 are inputs to the block calculations which
can be configured, linked to upstream blocks, or set when unlinked.
PHASE block execute phase integer no-con/no-set 0 ---
LOOPID loop identifier string no-con/set blank 1 to 32 chars
RI01 to RI08 real input 1 to 8 real con/set 0.0 ---
BI01-BI16 boolean input 1 to 16 boolean con/set 0 0 to 1
II01 to II02 integer input 1 to 2 integer con/set 0 ---
LI01 to LI02 long int input 1 to 2 long con/set 0 ---
MA manual/auto boolean con/set 0 0 to 1
INITMA initialize MA short no-con/no-set 1 0 to 2
TIMINI timer initialize option short_int no-con/set 0 0 to 3
M01 to M24 memory 1 to 24 real no-con/no-set 0.0 Any real value
STEP01 to STEP50 program steps 1 to 50 char[16] no-con/no-set blank 1 to 8 chars
Non-Configurable Parameters
OUTPUTS
BLKSTA block status pack_l con/no-set 0 bit map
BO01 to BO08 boolean output 1 to 8 boolean con/no-set 0 0 to 1
IO01 to IO06 integer output 1 to 6 integer con/no-set 0 ---
LO01 to LO02 long int output 1 to 2 long con/no-set 0 ---
PERROR program error integer con/no-set 0 ---
RO01 to RO04 real output 1 to 4 real con/no-set 0.0 ---
STERR step error number integer con/no-set 0 ---
DATA STORES
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
DEFINE no config errors boolean no-con/no-set 1 0 to 1
ERCODE configuration error string no-con/no-set blank 1 to 43 chars
LOCKID lock identifier string no-con/no-set blank 8 to 13 chars
LOCKRQ lock request boolean no-con/set 0 0 to 1
OWNER owner name string no-con/set blank 1 to 32 chars
Table 15-2. CALCA Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
15. CALCA Advanced Calculator Block B0193AX Rev AB
437


BLKSTA Block Status is a 32-bit output, bit-mapped to indicate various block oper-
ational states. For the CALCA block, only the following bits are used:
* Bit 0 is the least significant, low order bit.
BO01 to BO08 Boolean Outputs 1 through 8 are outputs from the block calculations.
They can be set when the block is in Manual.
DEFINE Define is a data store which indicates the presence or absence of configura-
tion errors. The default is 1 (no configuration errors). When the block ini-
tializes, DEFINE is set to 0 if any configured parameters fail validation
testing. (See ERCODE for the list of all possible validation errors in this
block.) In that case, no further processing of the block occurs, including
further validation of remaining parameters. To return DEFINE to a true
value, correct all configuration errors and re-install the block. If DEFINE
= 0, the bit BLKSTA.UDEF = 1.
DESCRP Description is a user-defined string of up to 32 characters that describe the
blocks function (for example, PLT 3 FURNACE 2 HEATER CON-
TROL).
ERCODE Error Code is a string data store which indicates the type of configuration
error which caused the blocks DEFINE parameter to be set false. Valida-
tion of configuration errors does not proceed past the first error encoun-
tered by the block logic. For the CALCA block, the following is the only
possible error value of ERCODE. (More specific information as to the
type of syntax error encountered can be found in PERROR and STERR.)
W45 - CONFIGURATION ERROR IN STEP nn
II01 to II02 Integer Inputs 1 and 2 are inputs to the block calculations which can be
configured, linked to upstream blocks, or set when unlinked.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
W
L
C
K
O
N
U
D
E
F
M
A
Bit Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
11 MA Manual = 0, Auto = 1 BLKSTA.B21
14 UDEF Block Undefined BLKSTA.B18
15 ON Block ON BLKSTA.B17
20 WLCK Access Locked BLKSTA.B12
B0193AX Rev AB 15. CALCA Advanced Calculator Block
438


INITMA Initialize Manual/Auto specifies the desired state of the MA input during
initialization, where:
0 = Manual
1 = Auto
2 = The MA state as specified in the checkpoint file.
The block asserts this initial M/A state whenever:
+ It is installed into the Control Processor database.
+ The Control Processor undergoes a reboot operation.
+ The compound in which it resides is turned on.
+ The INITMA parameter itself is modified via the control configu-
rator. (The block does not assert INITMA on ordinary
reconfiguration.)
INITMA is ignored if MA has an established linkage.
IO01 to IO06 Integer Outputs 1 through 6 are outputs from the block calculations.
They can be set when the block is in Manual.
LI01 to LI02 Long Integer Inputs 1 and 2 are inputs to the block calculations which can
be configured, linked to upstream blocks, or set when unlinked. In addi-
tion, the individual bits of LI01 can only be accessed in the calculation as
I1 (or I01) through I32. I1 is the most significant bit of LI01, and I32 is
the least significant bit.
LO01 to LO02 Long Integer Outputs 1 and 2 are outputs from the block calculations.
They can be linked to downstream blocks, or set when the block is in
Manual. In addition, the individual bits of LO01 can only be accessed in
the calculation as O1 (or O01) through O32. O1 is the most significant
bit of LO01, and O32 is the least significant bit.
LOCKID Lock Identifier is a string identifying the workstation which has locked
access to the block via a successful setting of LOCKRQ. LOCKID has the
format LETTERBUG:DEVNAME, where LETTERBUG is the 6-char-
acter letterbug of the workstation and DEVNAME is the 1 to 6 character
logical device name of the Display Manager task.
LOCKRQ Lock Request is a boolean input which can be set True or False only by a
SETVAL command from the LOCK U/L toggle key on workstation dis-
plays. When LOCKRQ is set True in this fashion a workstation identifier
accompanying the SETVAL command is entered into the LOCKID
parameter of the block. Thereafter, set requests to any of the blocks
parameters are honored (subject to the usual access rules) only from the
workstation whose identifier matches the contents of LOCKID.
LOCKRQ can be set False by any workstation at any time, whereupon a
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5

O1 O2 O32
... ...
15. CALCA Advanced Calculator Block B0193AX Rev AB
439


new LOCKRQ is accepted, and a new ownership workstation identifier
written to LOCKID.
LOOPID Loop Identifier is a configurable string of up to 32 characters which iden-
tifies the loop or process with which the block is associated. It is displayed
on the detail display of the block, immediately below the faceplate.
M01 to M24 Memory elements 1 through 24 are memory registers. These provide tem-
porary storage for the result of any operation in the up-to-50-step CALCA
block program. The values you configure are initial values for M01 to
M24. The CALCA block program can overwrite this value with an STM
command.
MA Manual/Auto is a boolean input that controls the blocks operating state:
0 = False = Manual
1 = True = Auto
When in Manual, all block outputs are released and can only be updated
manually. In Auto the outputs are secured and only updated based on the
programmed step operations.
NAME Name is a user-defined string of up to 12 characters used to access the
block and its parameters.
OWNER Owner is a string of up to 32 ASCII characters which are used to allocate
control blocks to applications. Attempts to set OWNER are successful
only if the present value of OWNER is the null string, an all-blank string,
or identical to the value in the set request. Otherwise the request is
rejected with a LOCKED_ACCESS error. OWNER can be cleared by any
application by setting it to the null string; this value is always accepted,
regardless of the current value of OWNER. Once set to the null string, the
value can then be set as desired.
PERIOD Period is an indexed input that dictates the blocks execution time base
and allowable PHASE values. For stations other than Integrators and
Gateways, PERIOD values range from 0 to 13 and map to the following
period time lengths. (Integrator and Gateway blocks have different period
values than shown here.
Period Length Period Length
0 0.1 sec 7 10 min
1 0.5 sec* 8 60 min
2 1.0 sec 9 0.2 sec
3 2.0 sec 10 5.0 sec**
4 10 sec 11 0.6 sec***
5 30 sec 12 6.0 sec****
6 1 min 13 0.05 sec*****
B0193AX Rev AB 15. CALCA Advanced Calculator Block
440


* If the BPC is 0.2 sec., this period is treated internally as 0.6 sec.,
but the PERIOD parameter remains 1.
** If the BPC is 2.0 sec., this period is treated internally as 6.0 sec.,
but the PERIOD parameter remains 10.
*** If the BPC is 0.5 sec., this period is treated internally as 0.5 sec.,
but the PERIOD parameter remains 11.
**** If the BPC is not 2.0 sec., this period is treated internally as 5.0
sec., but the PERIOD parameter remains 12.
***** Available in CP40, CP40B, CP60 and later control processors.
PERROR Program Error is a coded integer output that indicates the type of instruc-
tion syntax error or program run-time error that occurred in the step spec-
ified by the STERR parameter. See Section 15.7 for tables of the
PERROR values.
PHASE Phase is an integer input that causes the block to execute at a specific BPC
within the time determined by the PERIOD. For instance, a block with
PERIOD of 3 (2.0 sec) can execute within the first, second, third, or
fourth BPC of the 2-second time period, assuming the BPC of the Con-
trol Processor is 0.5 sec. Refer to the appropriate Integrated Control Soft-
ware Concepts document (B0700AG or B0193AW).
RI01 to RI08 Real Inputs 1 through 8 are inputs to the block calculations which can be
configured, linked to upstream blocks, or set when unlinked. The CALCA
block does not have change delta parameters. When one of the RI01 to
RI08 parameters is the sink of a peer-to-peer connection, it will be
updated whenever the value at the source of the connection changes by
more than 0.0001 units.
RO01 to RO04 Real Outputs 1 through 4 are outputs from the block calculations. They
can be set when the block is in Manual.
STEP01 to STEP50
Steps 1 through 50 are string inputs of up to 16 characters. They are the
50 executable commands that make up the CALCA block program.
STERR Step Error is an integer output that indicates which program step is exhib-
iting the error defined by PERROR.
TIMINI Timer Initialization option specifies whether an initial state change can be
generated by a DON, DOFF, FF, MRS, or OSP instruction in a block
when the block initializes.
0 = Initial state change allowed for DOFF, DON, FF, MRS, and OSP.
1 = Initial state change disallowed for DOFF, DON, and OSP.
Initial state change allowed for FF and MRS.
2 = Initial state change disallowed for FF and MRS.
15. CALCA Advanced Calculator Block B0193AX Rev AB
441


TYPE When you enter CALCA or select it from a configurator list, an identi-
fying integer is created specifying this block type.
15.5 Functions
The CALCA block provides 114 program instructions, consisting of the following general types:
+ 32 Arithmetic instructions, which perform mathematical calculations.
+ 13 Boolean instructions, which provide various boolean and packed boolean
operations.
+ 27 Input/Output instructions, which perform the input or output of data or status
bits.
+ 2 Cascade and Propagation instructions for error propagation and downstream cas-
cade acknowledgments.
+ 10 Memory and Stack Reference instructions for reading and writing the memory reg-
isters, or directly manipulating the stack.
+ 10 Program Control instructions for conditional and unconditional branching, and
program termination.
+ 9 Clear/Set instructions, which provide for conditional or unconditional clearing or
setting of parameters, sometimes with simultaneous program control action.
+ 6 Timing instructions which control the operation of program timers.
+ 2 Logic instructions which emulate the operation of flip-flops.
+ 3 Error Control instructions which provide access to the run-time error flag.
15.5.1 Arithmetic Instructions
Most CALCA block operations center about a 25-position push-down stack of real data type val-
ues. The top position of this stack is referred to as the accumulator.
All arithmetic instructions involve the accumulator value, frequently in conjunction with various
block parameters. No arithmetic operations contribute rounding errors beyond one unit of the
least significant decimal digit of a real, single precision, floating point value.
To minimize the number of arithmetic instructions, all arithmetic operations are performed in the
floating point domain.
Data is always stored as a real value. If an integer operation is defined, the operation strips the dec-
imal portion from the input real value(s), and converts the result to a real value again by adding a
zero after the decimal point. If a boolean operation is specified, the operation interprets any non-
zero value to be a logical one, and a zero value to be a logical zero, in keeping with the usual C lan-
guage convention.
The range of integer values is -32,768 to 32,767.
The range of real values is 10
-38
to 10
38
for positive and negative numbers.
Initial state change allowed for DOFF, DON, and OSP.
3 = Initial state change disallowed for DOFF, DON, FF, MRS, and
OSP.
B0193AX Rev AB 15. CALCA Advanced Calculator Block
442


Each of the arithmetic operations (and boolean operations) utilize one or more inputs to the cal-
culation, generically referred to as operands. These inputs are obtained from various block param-
eters, the push-down stack, and/or the command line arguments of the instruction syntax.
Regardless of the origin of the inputs, instructions using one input are designated unary, those uti-
lizing two inputs are designated diadic, and those utilizing a variable number of inputs are desig-
nated polyadic.
Table 15-3. Arithmetic Instructions
Name Function Instruction Type
ABS Absolute Value Unary
ACOS Arc Cosine Unary
ADD Add Diadic or Polyadic
ALN Natural Antilog Unary
ALOG Common Antilog Unary
ASIN Arc Sine Unary
ATAN Arc Tangent Unary
AVE Average Diadic or Polyadic
CHS Change Sign Unary
COS Cosine Unary
DEC Decrement Unary
DIV Divide Diadic
EXP Exponent Diadic
IDIV Integer Division Diadic
IMOD Integer Modulus Diadic
INC Increment Unary
LN Natural Logarithm Unary
LOG Common Logarithm Unary
MAX Maximum Diadic or Polyadic
MAXO (Same as MAX)
MIN Minimum Diadic or Polyadic
MEDN Median Polyadic
MUL Multiply Diadic or Polyadic
RAND Generate Random Number Unary
RANG Generate Random Number, Gaussian Unary
RND Round Unary
SEED Seed Random Number Generator Unary
SIN Sine Unary
SQR Square Unary
SQRT Square Root Unary
SUB Subtract Diadic
15. CALCA Advanced Calculator Block B0193AX Rev AB
443


15.5.2 Boolean Instructions
All boolean instructions involve the accumulator value, frequently in conjunction with various
block parameters. The boolean value of logical zero is stored on the stack or in memory registers
as real value 0.0, and logical one is stored as 1.0. When operands are fetched from the stack or
memory registers, the operation interprets any non-zero value to be a logical one, and a real zero
value to be a logical zero, in keeping with the usual C language convention.
In addition to ordinary boolean operations, a group of bitwise logical operations on packed bool-
ean values is supported.
15.5.3 Input/Output Reference Instructions
Input/Output reference instructions provide access to status bits of I/O parameters and permit
data transfer between a specific input or output parameter and the accumulator (top of stack).
Instructions referencing a specific input or output include an operand specifying the particular
I/O parameter.
Instructions only modify the values of output parameters when the CALCA block is in Auto. If an
instruction performs several actions, one of which is modification of output values, the portions
of the instruction which do not relate to output modification are carried out even if the block is in
Manual. Modification of the status of output parameters is be carried out in Auto or Manual.
TAN Tangent Unary
TRC Truncate Unary
Table 15-4. Boolean Instructions
Name Function Instruction Type
AND Logical And Diadic or Polyadic
ANDX Packed Logical And Polyadic
NAN Logical Not And Diadic or Polyadic
NAND (Same as NAN)
NOR Logical Not Or Diadic or Polyadic
NORX Packed Logical Nor Or Polyadic. Packed Boolean
NOT Not Unary
NOTX Packed Logical Not Unary, Packed Boolean
NXO Logical Not Exclusive Or Diadic or Polyadic, Packed Boolean
NXOR (Same as NXO)
NXOX Packed Logical Not Exclusive Or Polyadic, Packed Boolean
OR Logical Or Diadic or Polyadic
ORX Packed Logical Or Polyadic, Packed Boolean
XOR Logical Exclusive Or Diadic or Polyadic
XORX Packed Logical Exclusive Or Polyadic, Packed Boolean
Table 15-3. Arithmetic Instructions (Continued)
Name Function Instruction Type
B0193AX Rev AB 15. CALCA Advanced Calculator Block
444


15.5.4 Cascade and Propagation Instructions
Cascade and propagation instructions pass various status bits of specified real inputs to specified
real outputs. They are used for error propagation and downstream cascade acknowledgment.
Table 15-5. Input/Output Reference Instructions
Name Function Instruction Type
CBD Clear Bad Status Output Status
CE Clear Error Status Output Status
COO Clear Out-of-Service Status Output Status
IN Input Input Value
INB Input Indexed Boolean Input Value
INH Input High Order Input Value
INL Input Low Order Input Value
INR Input Indexed Real Input Value
INS Input Status Input Status
OUT Output Output Value
RBD Read Bad and OOS Bits Input Status
RCL Read and Clear Input Value/Unconditional Clear
RCN Read Connect Status Input Linkage Type
RE Read Error Bit Input Status
REL Clear Secure Status Output Status
RON Read In-Service Status Input Status
ROO Read OOS Bit Input Status
RQE Read Quality Including Error Input Status
RQL Read Quality Input Status
SAC Store Accumulator in Output Output Value
SBD Set Bad Status Output Status
SE Set Error Status Output Status
SEC Set Secure Status Output Status
SOO Set Out-of-Service Status Output Status
STH Store High Order Output Value
STL Store Low Order Output Value
SWP Swap Input Value/Output Value
Table 15-6. Cascade and Propagation Instructions
Name Function Instruction Type
PRI Propagate Upstream Cascade/Propagation
PRO Propagate Downstream Cascade
PRP Propagate Errors Propagation
15. CALCA Advanced Calculator Block B0193AX Rev AB
445


15.5.5 Memory and Stack Reference Instructions
The CALCA block provides 24 memory data storage elements to store the result of any operation.
Data is stored as a real value but can represent either integer, real, or boolean results.
All memory elements are preserved between execution cycles.
The letter M followed by an integer between 01 and 24 (or 1 and 24) designates the specific regis-
ter to be accessed by a memory referencing instruction.
15.5.6 Program Control Instructions
The following instructions provide conditional or unconditional branching to a program step
number as well direct termination of the program. A step number less than or equal to the present
program step or greater than 50 invalidates or terminates the program.
Table 15-7. Memory and Stack Reference Instructions
Name Function Instruction Type
CLA Clear All Memory Registers Memory
CLM Clear Memory Register Memory
CST Clear Stack Stack
DUP Duplicate Stack
LAC Load Accumulator Memory/Stack
LACI Load Accumulator Indirect Memory/Stack
POP Pop Stack Stack
STM Store Memory Memory/Stack
STMI Store Memory Indirect Memory/Stack
TSTB Test Packed Boolean Stack
Table 15-8. Program Control Instructions
Name Function Instruction Type
BIF Branch If False Conditional Branch
BII Branch If Initializing Conditional Branch
BIN Branch If Negative Conditional Branch
BIP Branch If Positive or Zero Conditional Branch
BIT Branch If True Conditional Branch
BIZ Branch If Zero Conditional Branch
END End Program Program Termination
EXIT Exit Program Program Termination
GTI Go To Indirect Unconditional Branch
GTO Go To Unconditional Branch
NOP No Operation Unconditional Branch
B0193AX Rev AB 15. CALCA Advanced Calculator Block
446


15.5.7 Clear/Set Instructions
The following instructions allow you to clear or set a parameter value unconditionally, or set it
conditionally, depending on the accumulator value or the block initialization state.
15.5.8 Timing Instructions
The operands of the following instructions (except for TIM) specify a time constant or a number
of block cycles as the duration of the timing function involved. If a time constant in seconds is
specified, the duration of the timing function is rounded up to the next block execution following
the specified number of seconds. (In other words, timing functions do not reach their target val-
ues between block executions.)
15.5.9 Logic Instructions
The following higher-level logic functions are supported. They emulate the functions of a tradi-
tional set-reset flip-flop and a reset-dominant flip-flop, respectively.
Table 15-9. Clear/Set Instructions
Name Function Instruction Type
CLL (Unused NOP)
CLR Clear Unconditional Clear
CLRB Clear Packed Boolean Unconditional Clear
SET Set Unconditional Set
SETB Set Packed Boolean Unconditional Set
SSF Set and Skip if False Conditional Set
SSI Set and Skip if Initializing Conditional Set
SSN Set and Skip if Negative Conditional Set
SSP Set and Skip if Positive Conditional Set
SST Set and Skip if True Conditional Set
SSZ Set and Skip if Zero Conditional Set
Table 15-10. Timing Instructions
Name Function Instruction Type
CHI Clear History Timing
CHN Clear Step History Timing
DOFF Delayed OFF Timing
DON Delayed ON Timing
OSP One-Shot Pulse Timing
TIM Time Since Midnight Time Reporting
15. CALCA Advanced Calculator Block B0193AX Rev AB
447


15.5.10 Error Control Instructions
Error control instructions give your program the ability to detect, report, and clear errors during
run-time. An internal error flag (parameter PERROR) records the first run-time error event. The
following instructions test and clear this flag, but do not in themselves handle the error condition.
15.6 Instructions
15.6.1 Instruction Processing
15.6.1.1 Auto Mode
Each block processing cycle, the CALCA block executes each programmed step in sequence,
except for those bypassed because of branch conditions. When the program has been executed a
single time, the block execution is complete, and control is passed to the next block in the com-
pound processor list.
Program execution is complete when an END or EXIT statement is reached in the program flow,
or Step 50 has been executed, whichever occurs first in time.
Between instructions, the block stores intermediate results on a 24-position internal stack. You
can use stack values as arguments to subsequent instructions. The stack is cleared at the start of
each block execution cycle. You can use the 24 internal memory registers (Mxx) to store data
between block execution cycles. These memory registers can be pre-configured to contain con-
stants needed by the various instructions, or they can be used to store instruction arguments
and/or results.
15.6.1.2 Manual Mode
When the block is in Manual mode, it processes the steps the same way, except that the output
actions are ignored. When an instruction (such as RCL) involves both the writing of outputs and
other actions, the other actions are performed; only the output portions are ignored.
The actions carried out by the instruction RCL RO01 in Auto and Manual mode are shown in
Figure 15-2. The read portion, shown in part 1 of Figure 15-2, occurs unconditionally. Then the
clear action shown in part 2 of Figure 15-2, which depends on the Auto/Manual mode, follows.
Table 15-11. Logic Instructions
Name Function Instruction Type
FF Flip-Flop Logic
MRS Master Reset Flip-Flop Logic
Table 15-12. Error Control Instructions
Name Function Instruction Type
CLE Clear Error Error Control
RER Read Error Error Control
SIEC Skip if Error Clear Error Control
B0193AX Rev AB 15. CALCA Advanced Calculator Block
448


Figure 15-2. Manual Mode
It should be noted that instructions which modify the memory registers M01 to M24 continue to
execute normally while in Manual mode. If, for example, your program ramps a value in M01,
then the ramping continues throughout the Manual mode, and M01 contains an indeterminate
value when the block is returned to Auto.
15.6.2 Instruction Syntax
The CALCA block program is entered through the Control Configurator. A program consists of a
series of string-type entries configured in parameters STEP01 through STEP50, each of which
defines a single program instruction.
Each CALCA block instruction consists of a string of alphanumeric characters, optionally fol-
lowed by a comment. The comment must follow a semi-colon character, and can contain any
alphanumeric or punctuation characters. The comments are ignored by the block logic, but you
may find them useful when writing, debugging, or reading a CALCA program.
15.6.2.1 Rules
The following pseudo instructions show the generic instruction syntax:
operation; comment
operation number_of_stack_operands; comment
operation operand_1 operand_2; comment
operation operand_1; comment
As noted in Section 15.2, the instruction string comprises the opcode, followed by up to two
command line arguments. Any comment must follow a semi-colon (;) character, and can contain
any alphanumeric or punctuation characters. No punctuation is allowed between arguments.
Blank steps can be inserted anywhere in a CALCA block program prior to the END statement.
This makes it easier to make minor modifications in the block program without reconfiguring
17.29
Part 1. Read
Part 2. Clear
17.29
O
O
O
(M)
(A)
0.0
MA
OUTPUT
RO01
OUTPUT
RO01 = 17.29
15. CALCA Advanced Calculator Block B0193AX Rev AB
449


each step in the program. When a blank step is found in the program, the block logic skips to the
next step without taking any action.
15.6.2.2 Constants
Some instructions allow a constant value as a command line argument. The instruction defini-
tions of Section 15.6.5. use different letters to represent this constant, depending on the semantic
meaning of the constant, as follows:
+ s = step number
+ t = time constant
+ b = bit number
+ c = count of the number of stack values involved
+ n = arithmetic operand
In all cases, the constant is expected to be an integer. If you enter a non-integer value for the con-
stant, it is automatically truncated to an integer before it is used. There is no warning message
when this truncation occurs. Certain instructions permit a zero or negative integer value, and this
is indicated in the individual instruction descriptions. Truncation of negative real values involves
dropping the decimal portion and retaining the negative sign.
If your program requires the use of a constant operand of real type, you should store it in one of
the memory registers M01 to M24 at configuration time. For example, the instruction ADD RI01
M01 is valid, but ADD RI01 0.7 is invalid.
15.6.3 Instruction Operation
The unary arithmetic and boolean operations take their single input from the contents of the
accumulator (located at the top of the stack). They always store the result of the operation into
the accumulator, overwriting the original accumulator value. The stack pointer remains
unchanged.
Diadic arithmetic and boolean operations obtain their two inputs from a variety of places. When
there are no command line arguments specified, the two inputs are obtained from the two top
locations of the stack, having typically been placed there by the two instructions immediately pre-
ceding the diadic instruction. The block decrements the stack pointer as the operation is being
performed and stores the result in the new accumulator location, overwriting the first of the two
operands. The second operand is also lost because it now resides in an inaccessible position one
location above the top of the stack.
NOTE
The term first, when used in describing the location of stack operands, refers to the
one which had been pushed earlier. Since the stack grows toward high memory,
an earlier operand has a lower stack pointer value.
A polyadic arithmetic or boolean instruction operates on a variable number of operands, and all of
them are on the stack.
Several polyadic instructions make use of the pseudo-parameters, Ixx and Oxx. These pseudo-
parameters allow the instructions to perform their work with individual bits of the LI01 and
LO01 packed boolean long integer parameters. The xx index varies from 01 to 32. The polyadic
B0193AX Rev AB 15. CALCA Advanced Calculator Block
450


instructions making use of Ixx and Oxx are IN, OUT, AND, OR, NAND, NOR, XOR, and
NXOR.
For example, IN I12 extracts bit 12 from LI01, while IN O12 extracts bit 12 from LO01. OUT
O12 sets bit 12 of LO01 and OUT I12 sets bit 12 of LI01. AND I12 performs the logical AND
operation between the top of the accumulator stack and bit 12 of LI01. OR O12 performs the
logical OR operation between the top of the accumulator stack and bit 12 of LO01.
15.6.3.1 Stack Operation
If a single operand (for example, RIxx) is specified in the command line, the other operand is
obtained from the top of the stack, and the result is stored at the top of the stack, overwriting the
operand there.
If two operands (for example, RIxx and Mxx) are specified in the command line, they are used to
perform the operation. The result is pushed onto the stack.
Program Example 1 includes typical diadic instructions. Figure 15-3 shows the stack operation for
each program instruction.
Example 1:
Figure 15-3. Examples of Stack Operation for Diadic Instructions
STEP01 ADD RI01 RI02 Adds RI01 to RI02 and pushes the result (Sum1) onto stack.
STEP02 ADD RI03 RI04 Adds RI03 to RI04 and pushes the result (Sum2) onto stack.
STEP03 ADD Pops Sum2 and Sum1 from stack, performs addition, and
pushes the result (Sum3) onto stack.
STEP04 IN 4 Pushes constant 4 onto stack.
STEP05 DIV Pops 4 and Sum3 from stack, divides them, and pushes
Quotient onto stack.
Examples of Stack Operation for Diadic Instructions to Solve
RO01 = [(RI01 + RI02) + (RI03 + RI04)] / 4
ADD RI01 RI02 ADD RI03 RI04 ADD IN 4 DIV
S1
Sum1
Stack
Registers
(up to 24)
S2
S1 Sum1
Sum2
S1 Sum3
S2
S1
4
Sum3 S1 Quotient
LEGEND:
Stack
Push
Stack
Pop
15. CALCA Advanced Calculator Block B0193AX Rev AB
451


When there are no command line arguments, the polyadic instructions operate on all values on
the stack. When the command line argument is a constant (c), they operate on the c operands at
the highest stack positions. These are the most recently-pushed values before the polyadic instruc-
tion is executed.
The block decrements the stack pointer as the operation is being performed and stores the result
in the new accumulator location (the new top of the stack location determined by the decre-
mented stack pointer), overwriting the first operand. All other operands are also lost because they
now reside in inaccessible registers located above the top of the stack. When fewer than all values
on the stack are used, those stack values remaining after the execution of the statement are not
lost.
Program Example 2 includes a typical polyadic instruction (AVE). Figure 15-4 shows the stack
operation for each program instruction.
Figure 15-4. Example of Stack Operation for Polyadic Instruction
STEP01 IN RI01 Pushes RI01 value onto stack
STEP02 IN RI02 Pushes RI02 value onto stack
STEP03 IN RI03 Pushes RI03 value onto stack
STEP04 IN RI04 Pushes RI04 value onto stack
STEP05 AVE Pops Value4 to Value1 from stack, averages them, and
pushes Average onto stack
Example of Stack Operation for Polyadic Instruction to Solve
RO01 = (RI01 + RI02 + RI03 + RI04) / 4
IN RI01 IN RI02 IN RI03 IN RI04 AVE
Average S1
Value4
Value3
Value2
Value1
S4
S3
S2
S1
Value3
Value2
Value1 S1
S2
S3
Value2
Value1
S2
S1 Value1 S1
Stack
Registers
(up to 24)
LEGEND:
Stack
Pop
Stack
Push
B0193AX Rev AB 15. CALCA Advanced Calculator Block
452


15.6.4 Instruction Definition Convention
Section 15.6.5 uses a notational convention to describe the syntactical options available for an
instruction, as illustrated below for the Add instruction:
ADD
ADD c
ADD {RIxx, ROxx, Mxx}
ADD {RIxx, ROxx, Mxx} {n, RIxx, ROxx, Mxx}
(Add)
[Descriptions and examples appear here.]
This means that the Add instruction has the following four possible com-
mand line syntaxes:
+ The opcode ADD alone. This pops the top two values on the stack,
adds them, and pushes the result onto the stack. The popped val-
ues are lost.
+ The opcode ADD with integer constant c as the only command line
argument. This pops the c quantity of values at the top of the
stack, adds them, and pushes the result onto the stack. The
popped values are lost.
+ The opcode ADD with exactly one of the operands RIxx, ROxx, or
Mxx. This pops the value at the top of the stack, adds the specified
operand to it, and pushes the result onto the stack. The popped
value is lost.
NOTE
Note that when operands are enclosed in curly brackets, you must select exactly one
from the group.
+ The opcode ADD with exactly one operand from the group {RIxx,
ROxx, Mxx} followed by exactly one operand from the group {n,
RIxx, ROxx, Mxx}, as for example ADD RO01 M02. This adds the
two specified operands and pushes the result onto the stack.
NOTE
Note that there is no comma between the two operands. Except within comment
fields, commas are never valid in command lines.
Following the syntax specifications, are the English-language meaning of the opcode, for example,
(Add), and the description and examples for the instructions use.
The location of the stack pointer after the execution of an instruction is indicated by an italicized
expression such as the following: sptr(after) = sptr(before) + 1. This means that the stack pointer
after the instruction has executed is one higher than it was before. Since the stack grows toward
high memory, this means that a value has been pushed onto the stack by the instruction.
Similarly, the expression sptr(after) = sptr(before) - 1 means that one value has been popped off the
stack by the instruction. The polyadic instructions finish with the spack pointer in the first posi-
tion of the stack, which is referred to as stackbottom.
15. CALCA Advanced Calculator Block B0193AX Rev AB
453


One instruction, CST, finishes with the stack pointer one position lower than stackbottom, with
the pointer waiting for the first push. After CST, sptr(after) = stackbottom -1.
15.6.5 Instruction Definitions
The CALCA block instructions are defined below in alphabetical order.
NOTE
The examples show the program step number preceding the instruction, that is, in
the instruction 17 ABS, 17 is the step number.
ABS (Absolute Value)
ABS reads the contents of the accumulator and returns the absolute value
to the accumulator, overwriting the original contents. sptr(after) =
sptr(before).
Example:
ACOS (Arc Cosine)
ACOS reads the value (cosine function value) in the accumulator and com-
putes the value, in radians, of the first or second quadrant angle that has
this cosine value. It then stores the angle value into the accumulator, over-
writing the original cosine value, which must have an absolute value equal
to or less than one. sptr(after) = sptr(before).
An attempt to ACOS a value > 1 or < -1 causes the instruction to be
skipped and writes a 3 (ACOS run-time error) to the PERROR parame-
ter.
Example 1:
Example 2:
Accumulator = -.7853983 or +.7853983
17 ABS Compute absolute value of accumulator.
Accumulator = +.7853983
Accumulator = 0.7071
17 ACOS Compute arc cosine of accumulator.
Accumulator = +0.7853983 (Pi/4) radians. (Pi/4 radians
= 45 degrees)
Accumulator = -0.5000
27 ACOS Compute arc cosine of accumulator.
Accumulator = 2.0944 (2*Pi/3) radians. (2*Pi/3 radians =
120 degrees)
B0193AX Rev AB 15. CALCA Advanced Calculator Block
454


ADD
ADD c
ADD {RIxx, ROxx, Mxx}
ADD {RIxx, ROxx, Mxx} {n, RIxx, ROxx, Mxx}
(Add)
ADD (or ADD c) reads the values from the top two stack locations (or a
specified number c of stack values), adds them, decrements the stack
pointer, and writes the sum into the new accumulator location (the new
top of stack location). This overwrites the first operand and isolates the
second and any later operands from any further access. For ADD, sptr(after)
= sptr(before) - 1. For ADD c, sptr(after) = sptr(before) - c + 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
runtime error) is written to the PERROR parameter. The same action
occurs if ADD has no operand and there is only one value on the stack.
ADD RIxx reads the value stored in RIxx (the CALCAs Real Input param-
eter xx), adds it to the value that it pops from the stack, then pushes the
result back onto the stack. ADD ROxx and ADD Mxx do the same for the
values stored at ROxx and memory location xx, respectively. sptr(after) =
sptr(before).
ADD RIxx n reads the RIxx value and a specified integer constant (n),
adds them and stores the result on the stack. If the first operand is ROxx
or Mxx, the operation is similar. sptr(after) = sptr(before) + 1.
The range of n is 0 to 127.
NOTE
Values of n outside of this range will cause the block to go undefined with a config-
uration error in the appropriate step.
ADD RIxx Mxx reads the values stored in RIxx and Mxx, adds them, and
stores the result on the stack. Similarly when ROxx or Mxx is the first
operand or RIxx or ROxx is the second operand. sptr(after) = sptr(before) +
1.
Example:
ALN (Natural Antilog)
ALN reads the value in the accumulator, computes the natural antiloga-
rithm (base e) of the value, and writes the result to the accumulator, over-
writing the original contents. sptr(after) = sptr(before).
RI01 = 12.3485
M01 = 3.73182
12 ADD RI01 M01 Adds RI01 to M01 and stores the result on the
stack.
Accumulator = 16.08032
15. CALCA Advanced Calculator Block B0193AX Rev AB
455


Example:
ALOG (Common Antilog)
ALOG reads the value in the accumulator, computes the base 10 antiloga-
rithm of the value, and writes it to the accumulator, overwriting the origi-
nal contents. sptr(after) = sptr(before).
Example 1:
Example 2:
AND
AND c
AND {BIxx, BOxx, Ixx, Oxx, Mxx, ~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx}
AND {BIxx, BOxx, Ixx, Oxx, Mxx, ~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx} {BIxx,
BOxx, Ixx,
Oxx, Mxx, ~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx}
(Logical And)
AND performs a logical and of the contents of the specified operands and
stack locations.
If blank is specified, all stack locations are ANDed together, and the result
is written into the accumulator (the new top of stack location). This over-
writes the first operand and isolates the other operands from any further
access. sptr(after) = stackbottom.
If c is specified, the last c stack locations are ANDed together, removed
from the stack, and the result stored in the accumulator. sptr(after) =
sptr(before) - c + 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
If only one operand is specified, the operand is ANDed with the accumu-
lator, and the result replaces the accumulator. sptr(after) = sptr(before).
If both operands are specified, the operands are ANDed together and the
result is stored in the accumulator. sptr(after) = sptr(before) + 1.
If ~ is specified, the operand value is inverted prior to being used.
Accumulator = +0.69347
17 ALN Compute natural antilogarithm of accumulator.
Accumulator = +2.0000
Accumulator = +1.30103
17 ALOG Compute common antilog of accumulator.
Accumulator = +20.0000
Accumulator = -3.00000
27 ALOG Compute common antilog of accumulator.
Accumulator = +0.00100
B0193AX Rev AB 15. CALCA Advanced Calculator Block
456


Before the operand Mxx is used in the calculation, its value is truncated to
an integer; if the result is 0 the operand value is considered False, other-
wise it is True.
Example 1:
Example 2:
ANDX
ANDX c
(Packed Logical And)
ANDX reads all the values or a specified number (c) of values from the
stack, performs a 16-bit bitwise logical and function on them, and stores
the result into the new accumulator location (the new top of stack). This
overwrites the first operand and isolates the other operands from any fur-
ther access.
For ANDX, sptr(after) = stackbottom. For ANDX c, sptr(after) = sptr(before) - c
+ 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
Each operand is truncated from real to 16-bit integer type before it is used
in the calculation. The final result is stored on the stack.
11 CST Clears the stack.
BI01 = True
BI07 = False
BO03 = True
BI14 = True
12 IN BI01 Puts BI01 into accumulator.
13 IN BI07 Puts BI07 into accumulator. The prior value is pushed
down one stack location.
14 IN BO03 Puts BO03 into accumulator. The prior values are
pushed down one stack location.
15 IN BI14 Puts BI14 into accumulator. The prior values are
pushed down one stack location.
16 AND Performs the logical AND function on the 4 stack
locations, overwriting the True value loaded in from
BI01. The other values are inaccessible.
Accumulator = 0 (False)
11 IN BI02 Puts BI02 into accumulator.
BI03 = False
BO01 = True
12 AND BI03 BO01 Performs the logical AND of BI03 and BO01
and stores the result on the stack.
Accumulator = False
15. CALCA Advanced Calculator Block B0193AX Rev AB
457


Example:
ASIN (Arc Sine)
ASIN reads the value (sine function value) in the accumulator and com-
putes the value, in radians, of the first or fourth quadrant angle that has
this sine value. It then stores the angle value into the accumulator, over-
writing the original sine value, which must have an absolute value equal to
or less than one. sptr(after) = sptr(before).
An attempt to ASIN a value > 1 or < -1 causes the instruction to be
skipped and writes a 2 (ASIN run-time error) to the PERROR parame-
ter.
Example 1:
Example 2:
ATAN (Arc Tangent)
ATAN reads the value (tangent function value) in the accumulator, com-
putes the value, in radians, of the first or fourth quadrant angle that has
this tangent value. It then stores the angle value into the accumulator,
overwriting the original tangent value. sptr(after) = sptr(before).
Example 1:
11 CST Clears the stack.
BI01 = True (0000000000000001)
II01 = 5 (0000000000000101)
II02 = 7 (0000000000000111)
12 IN BI01 Puts BI01 into accumulator. Stored as 1.0.
13 IN II01 Puts II01 into accumulator. The prior value is pushed
down one stack location.
14 IN II02 Puts II02 into accumulator. The prior values are
pushed down one stack location.
15 ANDX Performs the packed logical AND function and stores
the result into the accumulator overwriting the value
loaded in from BI01. The other values are inaccessible.
Accumulator = 0000000000000001 (stored as 1.0)
Accumulator = 0.7071
17 ASIN Compute arc sine of accumulator.
Accumulator = +0.7853983 (Pi/4) radians.
(Pi/4 radians = 45 degrees)
Accumulator = -0.5000
27 ASIN Compute arc sine of accumulator.
Accumulator = -0.5236 (-Pi/6) radians.
(-Pi/6 radians = -30 degrees)
Accumulator = 1.000
17 ATAN Compute arc tangent of accumulator.
B0193AX Rev AB 15. CALCA Advanced Calculator Block
458


Accumulator = +.7853983 (Pi/4) radians.
(Pi/4 radians = 45 degrees)
15. CALCA Advanced Calculator Block B0193AX Rev AB
459


Example 2:
AVE
AVE c
AVE {RIxx, ROxx, Mxx}
AVE {RIxx, ROxx, Mxx} {n, RIxx, ROxx, Mxx}
(Average)
AVE reads all the values from the stack, computes the mean algebraic
value, decrements the stack pointer, and writes this value into the new
accumulator location (the new top of stack location). This overwrites the
first operand and isolates the other operands from any further access.
sptr(after) = stackbottom.
AVE c reads the top c values from the stack, computes the mean algebraic
value of the c topmost values on the stack, writes this value into the cth
position from the top of the stack, and sets the new top of the stack (the
accumulator) to this position. sptr(after) = sptr(before) - c + 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
AVE RIxx reads the value stored in RIxx (the CALCAs Real Input param-
eter xx), computes the mean algebraic value of the RIxx value and the
value that it pops from the stack, and then pushes the result onto the
stack. AVE ROxx and AVE Mxx do the same for the values stored at ROxx
and memory location xx, respectively. sptr(after) = sptr(before).
AVE RIxx Mxx reads the values stored in RIxx and Mxx, computes the
mean algebraic value of the RIxx and Mxx values, and stores the result on
the stack. Whenever both operands are specified, the mean algebraic value
of the first and second operand is computed. sptr(after) = sptr(before) + 1.
AVE RIxx n reads the value stored in RIxx and a specified integer con-
stant (n), computes the mean algebraic value of RIxx and n, and stores the
result on the stack. If the first operand is ROxx or Mxx, the operation is
similar. sptr(after) = sptr(before) + 1.
Example 1:
Accumulator = -0.5000
27 ATAN Compute arc tangent of accumulator.
Accumulator = -.4636476 radians
11 CST Clears the stack.
RI01 = 12.3485
RI02 = 3,73182
RI03 = -2.0037
RI04 = -0.8369
12 IN RI01 Places RI01 into accumulator.
13 IN RI02 Places RI02 into accumulator and pushes the RI01
value down one stack location.
14 IN RI03 Places RI03 into accumulator and pushes the prior
values down one stack location.
B0193AX Rev AB 15. CALCA Advanced Calculator Block
460


Example 2:
BIF s (Branch If False)
BIF branches to the step number designated by s if the value in the accu-
mulator (the current top of stack location) is 0.0. sptr(after) = sptr(before).
BIF is identical to BIZ
BII s (Branch If Initializing)
BII s branches to the step number designated by s if the CALCA block
is initializing this execution cycle. sptr(after) = sptr(before).
An attempt to branch to a step number less than or equal to the current
step number or greater than the step number containing the END state-
ment (50 if there is no END step) writes a -4 (invalid goto syntax error)
to the PERROR parameter.
BIN s (Branch If Negative)
BIN s branches to the step number designated by s if the value in the
accumulator (the current top of stack location) is less than 0.0. sptr(after)
= sptr(before).
An attempt to branch to a step number less than or equal to the current
step number or greater than the step number containing the END state-
ment (50 if there is no END step) writes a -4 (invalid goto syntax error)
to the PERROR parameter.
BIP s (Branch If Positive or Zero)
BIP s branches to the step number designated by s if the value in the
accumulator (the current top of stack location) is greater than or equal to
0.0. sptr(after) = sptr(before).
An attempt to branch to a step number less than or equal to the current
step number or greater than the step number containing the END state-
ment (50 if there is no END step), writes a -4 (invalid goto syntax error)
to the PERROR parameter.
15 IN RI04 Places RI04 into accumulator and pushes the prior
values down one stack location.
16 AVE Reads all the values from the stack, calculates the mean
algebraic value for the stack values, and stores the result
into the accumulator, overwriting the RI01 value. The
other values are inaccessible.
Accumulator = 3.30993
RI01 = 12.3485
M01 = 3.73182
11 AVE RI01 M01 Calculates the mean algebraic value for RI01
and M01 and stores the result on the stack.
Accumulator = 8.04016
15. CALCA Advanced Calculator Block B0193AX Rev AB
461


BIT s (Branch If True)
BIT s branches to the step number designated by s if the value in the
accumulator (the current top of stack location) is non-zero. sptr(after) =
sptr(before).
An attempt to branch to a step number less than or equal to the current
step number or greater than the step number containing the END state-
ment (50 if there is no END step), writes a -4 (invalid goto syntax error)
to the PERROR parameter.
BIZ s (Branch If Zero)
BIZ s branches to the step number designated by s if the value in the
accumulator (the current top of stack location) is 0.0. sptr(after) =
sptr(before).
An attempt to branch to a step number less than or equal to the current
step number or greater than the step number containing the END state-
ment (50 if there is no END step), writes a -4 (invalid goto syntax error)
to the PERROR parameter.
CBD {ROxx, BOxx, IOxx, LOxx}
(Clear Bad Status)
CBD clears the Bad status bit of the specified output parameter to False. Its
effect is identical in Auto or Manual mode. sptr(after) = sptr(before).
CE {ROxx, BOxx, IOxx, LOxx}
(Clear Error Status)
CE clears the Error status bit of the specified output parameter to False. Its
effect is identical in Auto or Manual mode. sptr(after) = sptr(before).
CHI (Clear History)
CHI causes all timer history to be cleared, thereby setting all DON, DOFF,
and OSP elements in the program to the inactive state with accumulated
time of zero. sptr(after) = sptr(before).
CHN s (Clear Step History)
CHN s causes the history of any timer in Step s to be cleared, setting any
DON, DOFF, or OSP element in Step s to the inactive state with accumulated
time of zero. sptr(after) = sptr(before).
If s is less than 1 or greater than 50, a -3 (out-of-range syntax error
value, treated as a run-time error) is written to the PERROR parameter.
CHS (Change Sign)
CHS reads the value in the accumulator, changes the sign of the mantissa,
and writes the result into the accumulator, overwriting the original con-
tents. sptr(after) = sptr(before).
Example 1:
Accumulator = -0.6734592
17 CHS Change sign of accumulator.
B0193AX Rev AB 15. CALCA Advanced Calculator Block
462


Example 2:
CLA (Clear All Memory Registers)
CLA clears all 24 memory registers. sptr(after) = sptr(before).
CLE (Clear Error)
CLE clears the internal error flag (the PERROR parameter) during pro-
gram execution. PERROR is automatically reset prior to each block execu-
tion. Thereafter it retains the first run-time error encountered during
execution.
CLE also clears the step error (STERR) parameter, which records the step
in which the first run-time error occurred. sptr(after) = sptr(before).
CLM {Mxx} (Clear Memory Register)
CLM Mxx clears the memory register specified by the Mxx operand, where
xx is an index from 01 to 24 (or 1 to 24). sptr(after) = sptr(before).
CLR
CLR {ROxx, BOxx, IOxx, LOxx, Mxx}
(Clear)
CLR stores a 0 in the specified operand.
If blank is specified, a 0 is stored in the accumulator, overwriting the
current contents.
If Mxx is specified, a 0 is stored in memory location Mxx.
If any other operand type is specified, a 0 is stored in the specified out-
put, provided the block is in Auto; otherwise the step is skipped. In all
cases, sptr(after) = sptr(before).
CLRB
CLRB b
(Clear Packed Boolean)
CLRB clears to 0 a specified bit in the accumulator. If blank is specified the
bit number is expected to be at the top of the stack and this bit number is
removed from the stack before the instruction is executed. sptr(after) =
sptr(before) - 1.
If the bit number is less than 1 or greater than 16 an 11 (bit error run-
time error) is written to the PERROR parameter.
If the operand b is specified it indicates a bit number between 1 and 16 in
the accumulator. The stack is not popped in this case. sptr(after) =
sptr(before).
Bit 1 is the most significant bit of the accumulator, and bit 16 the least sig-
nificant.
Accumulator = +0.6734592
Accumulator = +0.1086372
27 CHS Change sign of accumulator.
Accumulator = -0.1086372
15. CALCA Advanced Calculator Block B0193AX Rev AB
463


COO {ROxx, BOxx, IOxx, LOxx}
(Clear Out-of-Service Status)
COO clears the Out-of-Service status bit of the specified output parameter
to False. Its effect is identical in Auto or Manual mode. sptr(after) =
sptr(before).
COS (Cosine)
COS reads the value (value of the angle in radians) in the accumulator,
computes the cosine of the angle, and writes the result into the accumula-
tor, overwriting the original contents. sptr(after) = sptr(before).
Example:
CST (Clear Stack)
CST resets the stack pointer one position below the bottom of the stack,
waiting for the first value to be pushed onto the stack. Since the block
implicitly executes a CST prior to execution, it is not required to start a
program with a CST instruction.
It is, however, recommended that you issue a CST instruction just before
setting up operands for a polyadic instruction, since polyadic instructions
operate on all values currently pushed onto the stack. sptr(after) = stackbot-
tom -1.
DEC
DEC n
DEC {ROxx, IOxx, LOxx, Mxx}
(Decrement)
DEC with a blank operand reads the value in the accumulator, algebraically
decreases it by 1.0, and returns the results to the accumulator, overwriting
the original contents. The decremented value is limited to
-16,777,215.
DEC n reads the value in the accumulator, algebraically decreases it by the
integer n, and returns the results to the accumulator. The decremented
value is limited to -16,777,215.
DEC Mxx reads the value in memory location Mxx, algebraically decreases
it by 1.0, and returns the result to Mxx. The decremented value is limited
to -16,777,215.
DEC ROxx reads the value stored at ROxx, algebraically decreases it by 1.0,
and returns the result to ROxx, but only if the block is in Auto. In Manual
the block skips this step. The decremented value is limited to LSCOxx.
DEC IOxx reads the value stored at IOxx, algebraically decreases it by 1,
and returns the result to IOxx, but only if the block is in Auto. In Manual
the block skips this step. The decremented value is limited to -32,768.
Accumulator = +1.0472 (Pi/3) radians.
(Pi/3 radians = 60 degrees)
17 COS Compute cosine of accumulator.
Accumulator = +0.5000
B0193AX Rev AB 15. CALCA Advanced Calculator Block
464


DEC LOxx reads the value stored at LOxx, algebraically decreases it by 1,
and returns the result to LOxx, but only if the block is in Auto. In Manual
the block skips this step. The decremented value is limited to
-2,147,483,648.
The stack is unaffected when the operand is other than blank or n. In all
cases, sptr(after) = sptr(before).
Example 1:
Example 2:
DIV
DIV {RIxx, ROxx, Mxx}
DIV {RIxx, ROxx, Mxx} {n, RIxx, ROxx, Mxx}
(Divide)
DIV reads the values from the top two stack locations, divides the second
operand (divisor) into the first operand (dividend), decrements the stack
pointer, and writes the quotient into the new accumulator location (the
new top of stack location). This overwrites the first operand and isolates
the second operand from any further access. sptr(after) = sptr(before) - 1.
DIV RIxx reads the value stored in RIxx (the CALCAs Real Input param-
eter xx) as the divisor, divides the value (the dividend) that it pops from
the stack, then pushes the result back onto the stack. DIV ROxx and DIV
Mxx do the same for the values stored at ROxx and memory location xx,
respectively. sptr(after) = sptr(before).
DIV RIxx Mxx reads the values stored in RIxx and Mxx, divides the RIxx
value by the Mxx value, and stores the result on the stack. Whenever both
operands are specified, the first operand is divided by the second operand.
sptr(after) = sptr(before) + 1.
DIV RIxx n reads the value stored in RIxx and a specified integer con-
stant n, divides the RIxx value by n, and stores the result on the stack. If
the first operand is ROxx or Mxx, the operation is similar. sptr(after) =
sptr(before) + 1.
The range of n is 1 to 127.
NOTE
Values of n outside of this range will cause the block to go undefined with a config-
uration error in the appropriate step.
RI01 = -5.23
10 IN RI01 Places RI01 into the accumulator.
11 DEC 2 Decrement accumulator by 2.
Accumulator = -7.23. (that is, -5.23 - 2.0)
M02 = 11.2
11 DEC M02 Decrement M02.
M02 = 10.2
15. CALCA Advanced Calculator Block B0193AX Rev AB
465


An attempt to DIV by zero (divisor = 0) causes the value of 0 to be written
to the stack location at which the result would ordinarily be stored. A 4
(DIV run-time error) is written to the PERROR parameter.
Example:
DOFF
DOFF t
DOFF Mxx
(Delayed OFF}
DOFF produces a logical zero output if the input has been in the logical
zero state for the consecutive length of time specified by the operand.
Once the timer has been activated by a zero value of the input, the output
is forced to logical one and remains in this state during the time-out. Once
the delay has been completed and the output is at logical zero, the output
returns to one as soon as the instruction reads a logical one at the input.
On each cycle, the input is found in the accumulator, and the output is
then written to the accumulator, overwriting the input after it has been
used.
DOFF with blank operand or with a 0 constant operand uses 0.5 seconds as
its delay value. If the operand is the integer t and greater than zero the
value of t indicates the number of seconds in the delay. If the operand is
Mxx, then the delay is determined by the contents of memory location xx.
A positive value in Mxx is used as the delay in seconds, and a negative
value is used as the delay in block execution cycles. If the value of the
memory location changes during the timing cycle, the instruction will
notice the change.
The maximum time delay with format DOFF t is 32,767 seconds, or
approximately 9.1 hours. The maximum delay with format DOFF Mxx can
be obtained by loading the maximum positive floating point value into
Mxx, before the DOFF Mxx instruction is reached in the program. Since
the maximum floating point value is 10
38
, the delay is 10
38
seconds. If the
block period is longer than 1.0 second, an even longer delay can be
obtained by loading Mxx with the value of -10
38
. (The delay times obtain-
able with this instruction are effectively unlimited.)
The TIMINI parameter controls DOFF behavior at block initialization
time to avoid unexpected behavior of the DOFF timer and, possibly, unpre-
dicted activation of the CALCA blocks outputs. If the TIMINI parameter
is set (TIMINI = 1) or (TIMINI = 3), the timer is considered to have been
in the expired state just before initialization. A one-to-zero transition of
the accumulator after initialization is required in order to start the timer. If
the TIMINI parameter is not set (TIMINI =0) or (TIMINI = 2), the
timer is considered to have been in the inactive state just before initializa-
tion, and a zero in the accumulator at block initialization begins to time
the specified delay. The timer, therefore, begins to run.
RI01 = 12.3485
M01 = 3.73182
12 DIV RI01 M01 Divides RI01 by M01, and stores the result on
the stack.
Accumulator = +3.30898
B0193AX Rev AB 15. CALCA Advanced Calculator Block
466


In all cases, sptr(after) = sptr(before).
Example:
Figure 15-5. Timing Diagram for DOFF Example
DON
DON t
DON Mxx
(Delayed ON)
DON produces a logical one output if the input has been in the logical one
state for the consecutive length of time specified by the operand. The out-
put returns to zero as soon as the instruction reads a zero in the input. On
each cycle, the input is found in the accumulator, and the output is then
written to the accumulator, overwriting the input after it has been used.
DON with blank operand or with a 0 constant operand uses 0.5 seconds as
its delay value. If the operand is integer t and greater than zero the value of
t indicates the number of seconds in the delay. If the operand is Mxx, then
the delay is determined by the contents of memory location xx. A positive
value in Mxx is used as the delay in seconds, and a negative value is used as
the delay in block execution cycles. If the value of the memory location
changes during the timing cycle, the instruction will notice the change.
The maximum time delay with format DON t is 32,767 seconds, or
approximately 9.1 hours. The maximum delay with format DON Mxx can
be obtained by loading the maximum positive floating point value into
Mxx, before the DON Mxx instruction is reached in the program. Since the
maximum floating point value is 10
38
, the delay is 10
38
seconds. If the
block period is longer than 1.0 second, an even longer delay can be
RI01 = 8.0
9 IN RI01 Places RI01 into accumulator.
10 STMM01 Copies accumulator value of 8.0 to M01.
11 IN BI01 Inputs to the accumulator the state of BI01at the
execution time of each cycle.
12 DOFF M01 Looks at BI01s input to the accumulator, uses it
to control the Step 12 DOFF timer, and writes the
timer result to the accumulator.
Accumulator = Step 12 timer output
13 OUT BO04 Outputs accumulator contents (the results of the
DOFF M01 instruction) to output BO04.
Assume that the block is in Auto.
BO04 = Step 12 timer output
BO04
BI01
8 sec
8 sec
15. CALCA Advanced Calculator Block B0193AX Rev AB
467


obtained by loading Mxx with the value of -10
38
. (The delay times obtain-
able with this instruction are effectively unlimited.)
The TIMINI parameter controls DON behavior at block initialization time
to avoid unexpected behavior of the DON timer and, possibly, unpredicted
activation of the CALCA blocks outputs. If the TIMINI parameter is set
(TIMINI = 1) or (TIMINI = 3), the timer is considered to have been in
the expired state just before initialization. A zero-to-one transition of the
accumulator after initialization is required in order to start the timer. If the
TIMINI parameter is not set (TIMINI = 0) or (TIMINI = 2), the timer is
considered to have been in the inactive state just before initialization, and
a logical one in the accumulator at block initialization begins to time the
specified delay. The timer, therefore, begins to run.
In all cases, sptr(after) = sptr(before).
Example:

Figure 15-6. Timing Diagram for DON Example
DUP (Duplicate)
DUP copies the last stack operand back onto the stack. The stack pointer is
advanced one position. sptr(after) = sptr(before) + 1.
END (End Program)
END terminates the program. Any and all statements (including any addi-
tional END statements) following the first END are never executed. If any
skip statement skips over the first END statement, the block program ter-
minates as if the END had been executed.
The END instruction is not required. If there is no END statement, Step 50
(which may be any legal instruction) is the last statement executed, unless
the execution flow lands on an EXIT statement. sptr(after) = sptr(before).
11 IN BI01 Inputs to the accumulator the state of BI01 at the
execution time of each cycle.
12 DON 7 Looks at BI01s input to the accumulator, uses it to
control the Step 12 DON timer, and writes the
timer result to the accumulator.
13 OUT BO04 Outputs accumulator contents (the results of the
DON 7 instruction) to output BO04. Assume that
the block is in Auto.
BO04 = Step 12 timer output
BI01
7 sec
7 sec
BO04
B0193AX Rev AB 15. CALCA Advanced Calculator Block
468


EXIT (Exit Program)
EXIT terminates the program at the current step number. It is useful for
establishing multiple conditional exit points in the program. The EXIT
instruction is functionally equivalent to a GTO instruction pointing to an
END statement. You can use as many EXIT statements as you need.
sptr(after) = sptr(before).
EXP
EXP {RIxx, ROxx, Mxx}
(Exponent)
EXP with blank operand reads the values from the top two stack locations,
raises the first operand (base) to the power of the second operand (expo-
nent), decrements the stack pointer, and writes the result into the new
accumulator location (the new top of stack location). This overwrites the
first operand and isolates the second operand from any further access.
sptr(after) = sptr(before) - 1.
EXP RIxx reads the value stored in RIxx, raises the value that it pops from
the stack to the power of RIxx value, then pushes the result back onto the
stack. EXP ROxx and EXP Mxx do the same for the values stored at ROxx
and memory location xx, respectively. sptr(after) = sptr(before).
EXP RIxx ROxx reads the values stored in RIxx and ROxx, raises the RIxx
value to the power of ROxx value, and pushes the result on the stack. Sim-
ilarly for the cases where the first operand is of type ROxx or Mxx, or the
second operand is of type RIxx or Mxx. sptr(after) = sptr(before) + 1.
EXP RIxx n reads the value stored in RIxx and the specified integer con-
stant n, raises the RIxx value to the power of n, and pushes the result on
the stack. If the first operand is ROxx or Mxx, the operation is similar.
sptr(after) = sptr(before) + 1.
Whenever both operands are specified, the first operand is raised to the
power of the second operand.
An attempt to EXP a negative value (base less than 0) causes the value of
the specified exponent to be written to the stack location that would have
contained the final result if the operation had been successful. A 9 (EXP
run-time error) is written to the PERROR parameter.
If the base is 0 and the exponent is less than or equal to 0, the result of the
operation is 0.0. PERROR is not set.
Example:
FF (Flip-Flop)
RI01 = 1.483
M01 = 3.10
12 EXP RI01 M01 Raises RI01 to the power of M01 and pushes the
result on the stack.
Accumulator = +3.392638
15. CALCA Advanced Calculator Block B0193AX Rev AB
469


FF emulates the function of a traditional set-reset flip-flop. It uses two
operands on the stack as inputs. The first operand is the set input and
the second operand is the reset input.
This instruction writes the output, which corresponds to the Q output
of a flip-flop, into the accumulator, overwriting the first operand (the set
value) and making the second operand (the reset value) inaccessible.
The No Change condition causes the value of the flip-flop after the pre-
vious execution cycle, which is retained in a block data variable, to be writ-
ten to the accumulator. sptr(after) = sptr(before) - 1.
Example:
The TIMINI parameter controls FF behavior at block initialization time
to avoid undesired operation of the CALCA block's boolean outputs. This
option will only work when the CALCA block is being modified in the
Integrated Control Configurator. If the TIMINI option is set and the
CALCA block is loaded from a checkpoint file, the station is rebooted, or
the compound is turned ON or OFF, the FF output will be treated as if an
initialization has occurred. If the TIMINI parameter is set (TIMINI = 2)
or (TIMINI = 3), and the block has been modified, the FF output will not
Table 15-13. Truth Table for FF Instruction
S R Q
0 0 No Change
0 1 0
1 0 1
1 1 No Change
BI01 = True
BI02 = False
12 IN BI01 Puts BI01 into accumulator has a True value for
set.
13 IN BI02 Puts BI02 into accumulator has a False value for
reset. The set input is pushed down one stack
location.
14 FF Reads the two operands, determines the output
according to the truth table above (output = 1 for
this example), and writes it into the accumulator,
overwriting set input. The output (1) is also stored
in the block data for use the next execution cycle.
Accumulator = True
15 OUT BO01 Writes the accumulator contents (the FF output) to
BO01.
BO01 = True
B0193AX Rev AB 15. CALCA Advanced Calculator Block
470


be treated as if an initialization has occurred. If the TIMINI parameter is
set (TIMINI =0) or (TIMINI =1), FF output initialization will occur.
GTI
GTI {RIxx, ROxx, IIxx, IOxx, Mxx}
(Go To Indirect)
GTI branches to the step number contained in the accumulator. GTI
RIxx branches to the step number specified by the current contents of
RIxx. Similarly for the other operand types. When the destination is in an
operand of real data type (accumulator, RIxx, ROxx, or Mxx), the operand
contents are truncated to an integer before use. sptr(after) = sptr(before).
An attempt to branch to a step number less than or equal to the current
step number or greater than the step number containing the END state-
ment (50 if there is no END step) writes a 10 (index run-time error) to
the PERROR parameter.
GTO s (Go To)
GTO s branches to the step number designated by s. sptr(after) =
sptr(before).
An attempt to branch to a step number less than or equal to the current
step number or greater than the step number containing the END state-
ment (50 if there is no END step) writes a -4 (invalid goto syntax error)
to the PERROR parameter.
IDIV
IDIV Mxx
(Integer Division)
IDIV, with either blank or Mxx operand, reads the values from the top two
stack locations, truncates each into integer form, integer divides the sec-
ond truncated operand (divisor) into the first truncated operand (divi-
dend), decrements the stack pointer, and writes the quotient into the new
accumulator location (the new top of stack location). This overwrites the
first operand and isolates the second operand from any further access.
The result of integer division is always truncated, so that the quotient
returned to the stack is always a whole number. When an operand Mxx is
specified, the quotient is handled as above, and the integer remainder (the
integer modulus) is stored in memory location xx. The integer modulus is
also always a whole number. In all cases, sptr(after) = sptr(before) - 1.
IDIV does not work for numbers greater than 32,767.
If the truncated value of the divisor is 0, the value 0.0 is written into the
stack location where the quotient would have been placed. The value 4
(divide run-time error) is written to the PERROR parameter. The value of
Mxx (if specified as an operand) is unchanged.
IMOD (Integer Modulus)
IMOD reads the values from the top two stack locations, truncates each into
integer form, decrements the stack pointer, and writes the integer modulus
of the first divided by the second truncated value into the new accumula-
tor location (the new top of stack location). This overwrites the first oper-
and and isolates the second operand from any further access. The integer
15. CALCA Advanced Calculator Block B0193AX Rev AB
471


modulus is defined as the remainder after an integer division, and is
always a whole number. sptr(after) = sptr(before) - 1.
IMOD does not work for numbers greater than 32,767.
If the truncated value of the divisor is 0, the value 0.0 is written into the
stack location where the modulus would have been placed. The value 4
(divide run-time error) is written to the PERROR parameter.
Example:
IN
IN {n, RIxx, ROxx, IIxx, IOxx, BIxx, BOxx, Ixx, Oxx, Mxx, ~RIxx, ~ROxx,
~IIxx,
~IOxx, ~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx}
(Input)
IN with no operands pushes the value 0.0 onto the stack. IN with operand
of type n (any integer), RIxx, ROxx, or Mxx pushes the operand value
onto the stack. IN IIxx and IN IOxx convert the operand value to real
data type and then push the result onto the stack. IN with one of the bool-
ean operands (BIxx, BOxx, Ixx, or Oxx) pushes the value 1.0 when the
operand value is True and 0.0 when it is False.
IN with inverted Boolean operand (~BIxx, ~BOxx, ~Ixx, or ~Oxx) pushes
the value 0.0 onto the stack when the parameter value is True and 1.0
when it is false. IN with inverted real or integer operand (~RIxx, ~ROxx,
~IIxx, ~IOxx, or ~Mxx) pushes the value 0.0 when the parameter is non-
zero, and 1.0 when the parameter value is 0.0. In all cases, sptr(after) =
sptr(before) + 1.
INB
INB {IIxx, Mxx}
(Input Indexed Boolean)
INB with blank operand reads the value in the accumulator, truncates it to
an integer, and uses the result as the index of the BIxx parameter to be
read. The value of BIxx is then pushed onto the stack. INB IIxx and INB
Mxx operate similarly, except that the index of the BIxx parameter is found
in IIxx or Mxx. (If in Mxx, the real contents of Mxx are first truncated to
an integer.)
A value of True in the indexed boolean is written to the stack as 1.0 and a
value of False is written as 0.0. sptr(after) = sptr(before) + 1.
If the value of the index (the contents of the accumulator, IIxx, or Mxx) is
less than 1 or greater than 16, a 10 (index run-time error) is written to
the PERROR parameter.
RI01 = 19.713
RI02 = 5.9021
15 IN RI01 Places RI01 into accumulator.
16 IN RI02 Places RI02 into accumulator. The prior value is
pushed down one stack location.
17 IMOD The integer modulus, which is 4.0, overwrites the value
of 19.713. The value of 5.9021 is inaccessible.
B0193AX Rev AB 15. CALCA Advanced Calculator Block
472


INC
INC n
INC {ROxx, IOxx, LOxx, Mxx}
(Increment)
INC increments the accumulator or the specified operand.
If blank is specified, the value in the accumulator is read, algebraically
increased by 1.0, and returned to the accumulator, overwriting the origi-
nal contents. If an integer n is specified, the accumulator value is algebra-
ically increased by n and returned to the accumulator.
If Mxx is specified, the value in memory location xx is algebraically
increased by 1.0. The stack is unaffected.
If ROxx is specified and the block is in Auto, the indicated output is alge-
braically increased by 1.0. If the block is in Manual, the step is skipped.
If IOxx or LOxx is specified and the block is in Auto, the indicated output
is incremented by 1 as an integer addition without overflow. If the oper-
and value before incrementation is equal to 32,767 (2,147,483,647 in the
case of LOxx) or the block is in Manual, the step is skipped.
The stack is unaffected when the operand is other than blank or n. In all
cases, sptr(after) = sptr(before).
Example 1:
Example 2:
INH {LIxx,
LOxx}
(Input High Order)
INH reads the high order 16 bits of parameter LIxx or LOxx as an integer
and pushes it onto the stack. sptr(after) = sptr(before) + 1.
INL {LIxx,
LOxx}
(Input Low Order)
INL reads the low order 16 bits of parameter LIxx or LOxx as an integer
and pushes it onto the stack. sptr(after) = sptr(before) + 1.
INR
INR {IIxx, Mxx}
(Input Indexed Real)
INR with blank operand reads the value in the accumulator, truncates it to
an integer, and uses the result as the index of the RIxx parameter to be
read. The value of RIxx is then pushed onto the stack. INR IIxx and INR
Mxx operate similarly, except that the index of the RIxx parameter is found
in IIxx or Mxx. (If in Mxx, the real contents of Mxx are first truncated to
an integer.) sptr(after) = sptr(before) + 1.
RI01 = -5.23
10 IN RI01 Places RI01 into the accumulator.
11 INC 2 Increments accumulator by 2.
Accumulator = -3.23 (-5.23 + 2.0)
M02 = 11.2
11 INC M02 Increments M02 by 1.
M02 = 12.2
15. CALCA Advanced Calculator Block B0193AX Rev AB
473


If the value of the index (the contents of the accumulator, IIxx, or Mxx) is
less than 1 or greater than 8, a 10 (index run-time error) is written to the
PERROR parameter.
INS {RIxx, BIxx, IIxx, LIxx, ROxx, BOxx, IOxx, LOxx}
(Input Status)
INS pushes the 16-bit status of the specified input or output parameter
onto the stack. The status value is not modified. sptr(after) = sptr(before) +
1.
The status integer is made up of the following fields: (Bit 0 is the least sig-
nificant bit; Bit 15 is most significant.)
LAC Mxx (Load Accumulator)
LAC Mxx loads the accumulator with contents of memory location xx,
where xx is a one or two digit number, between 01 and 24 (or 1 and 24),
that specifies the specific memory register whose contents are to be loaded
into the accumulator. sptr(after) = sptr(before) + 1.
LACI Mxx (Load Accumulator Indirect)
LACI Mxx loads the accumulator with the contents of a memory register
indexed by the contents of the memory register specified by the Mxx oper-
and, where xx is an index from 01 to 24 (or 1 to 24). Neither memory reg-
ister is affected.
If Mxx does not contain an integer value, the truncated contents are used
as the index.
If the specified memory contents are less than 1 or greater than 24, a 10
(index run-time error) is written to the PERROR parameter at run-time.
sptr(after) = sptr(before) + 1.
Bit Definition
0 to 4 Data Type
5 to 7 OM Status
8 Bad
9 Secure/Release
10 Acknowledge
11 Out of Service
12 Shadow Parameter
13 Limited High
14 Limited Low
15 Propagated Error
10 IN 5 Loads accumulator with value 5.0.
11 STMM04 Places value 5.0 into M04.
12 IN 9 Loads accumulator with value 9.0.
B0193AX Rev AB 15. CALCA Advanced Calculator Block
474


LN (Natural Logarithm)
LN reads the value (which must be positive) in the accumulator, computes
the natural (base e) logarithm of the value, and writes the result to the
accumulator, overwriting the original contents. sptr(after) = sptr(before).
An attempt to execute this instruction with a zero or negative value in the
accumulator causes the instruction to be skipped and writes an 8 (LN
run-time error) to the PERROR parameter.
Example 1:
Example 2:
LOG (Common Logarithm)
LOG reads the value (which must be positive) in the accumulator, com-
putes the common (base 10) logarithm of the value, and writes the result
to the accumulator, overwriting the original contents. sptr(after) =
sptr(before).
An attempt to execute this instruction with a zero or negative value in the
accumulator causes the instruction to be skipped and writes a 7 (LOG
run-time error) to the PERROR parameter.
Example 1:
Example 2:
MAX
MAX c
MAX {RIxx, ROxx, Mxx}
MAX {RIxx, ROxx, Mxx} {n, RIxx, ROxx, Mxx}
(Maximum)
13 STMM05 Places value 9.0 into M05.
14 LACI M04 Loads accumulator with contents of M05 (9.0).
15 OUT RO01 Outputs accumulator value of 9.0 to RO01.
Accumulator = +1000.00
17 LN Computes natural logarithm of accumulator
Accumulator = +6.907755
Accumulator = +0.130570
27 LN Computes natural logarithm of accumulator
Accumulator = 2.035846
Accumulator = +2000.00
17 LOG Computes common logarithm of accumulator.
Accumulator = +3.30103
Accumulator = +0.02000
27 LOG Computes common logarithm of accumulator.
Accumulator = -1.69897
15. CALCA Advanced Calculator Block B0193AX Rev AB
475


MAX reads all the values from the stack, selects the maximum algebraic
value, decrements the stack pointer, and writes this value into the new
accumulator location (the new top of stack location). This overwrites the
first operand and isolates other operands from any further access.
sptr(after) = stackbottom.
MAX c reads the top c values from the stack, selects the maximum alge-
braic value from the c topmost values on the stack, writes this value into
the cth position from the top of the stack, and sets the new top of the
stack (the accumulator) to this position. sptr(after) = sptr(before) - c + 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
MAX RIxx reads the value stored in RIxx (the CALCAs Real Input
parameter xx), selects the maximum algebraic value from the RIxx value
and the value that it pops from the stack, and then pushes the result onto
the stack. MAX ROxx and MAX Mxx do the same for the values stored at
ROxx and memory location xx, respectively. sptr(after) = sptr(before).
MAX RIxx Mxx reads the values stored in RIxx and Mxx, selects the maxi-
mum algebraic value from the RIxx and Mxx values, and stores the result
on the stack. Whenever both operands are specified, the maximum alge-
braic value is selected from the first and second operands. sptr(after) =
sptr(before) + 1.
MAX RIxx n reads the value stored in RIxx and a specified integer con-
stant (n), selects the maximum algebraic value from RIxx and n, and stores
the result on the stack. If the first operand is ROxx or Mxx, the operation
is similar. sptr(after) = sptr(before) + 1.
Example 1:
11 CST Clears the stack.
RI01 = 12.3485
RI02 = 3.73182
RI03 = -2.0037
RI04 = -0.8369
12 IN RI01 Places RI01 into accumulator.
13 IN RI02 Places RI02 into accumulator and pushes the RI01 value
down one stack location.
14 IN RI03 Places RI03 into accumulator and pushes the prior values
down one stack location.
15 IN RI04 Places RI04 into accumulator and pushes the prior values
down one stack location.
16 MAX Selects the maximum algebraic value (12.3485) and
stores this value into the accumulator, overwriting the
RI01 value. The other values are inaccessible.
Accumulator = 12.3485
B0193AX Rev AB 15. CALCA Advanced Calculator Block
476


Example 2:
MAXO Identical to MAX
MEDN (Median)
MEDN reads all the values from the stack, determines the median value,
decrements the stack pointer, and writes this value into the new accumula-
tor location (the new top of stack location). This overwrites the first oper-
and and isolates the other operands from any further access.
The median value is determined as follows: The stack values are arranged
conceptually in ascending order; then the median is the middle value if
the number of operands is odd, or the average of the two middle values if
the number of operands is even. sptr(after) = stackbottom.
Example:
RI01 = 12.3485
M01 = 3.73182
11 MAX RI01 M01 Selects the maximum algebraic value from RI01
and M01 and stores the result on the stack.
Accumulator = 12.3485
11 CST Clears the stack.
RI01 = 12.3485
RI02 = 3.73182
RI03 = -2.0037
RI04 = -0.8369
12 IN RI01 Places RI01 into accumulator.
13 IN RI02 Places RI02 into accumulator and pushes the RI01 value
down one stack location.
14 IN RI03 Places RI03 into accumulator and pushes the prior values
down one stack location.
15 IN RI04 Places RI04 into accumulator and pushes the prior values
down one stack location.
16 MEDN Computes the average of the two middle values (3.73182
and -0.8369) and stores this value into the accumulator,
overwriting the RI01 value. The other values are
inaccessible.
Accumulator = 1.44746
15. CALCA Advanced Calculator Block B0193AX Rev AB
477


MIN
MIN c
MIN {RIxx, ROxx, Mxx}
MIN {RIxx, ROxx, Mxx} {n, RIxx, ROxx, Mxx}
(Minimum)
MIN reads all the values from the stack, selects the minimum algebraic
value, decrements the stack pointer, and writes this value into the new
accumulator location (the new top of stack location). This overwrites the
first operand and isolates the other operands from any further access.
sptr(after) = stackbottom.
MIN c reads the top c values from the stack, selects the minimum alge-
braic value from the c topmost values on the stack, writes this value into
the cth position from the top of the stack, and sets the new top of the
stack (the accumulator) to this position. sptr(after) = sptr(before) - c + 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
MIN RIxx reads the value stored in RIxx (the CALCAs Real Input param-
eter xx), selects the minimum algebraic value from the RIxx value and the
value that it pops from the stack, and then pushes the result onto the
stack. MIN ROxx and MIN Mxx do the same for the values stored at ROxx
and memory location xx, respectively. sptr(after) = sptr(before).
MIN RIxx Mxx reads the values stored in RIxx and Mxx, selects the mini-
mum algebraic value from the RIxx and Mxx values, and stores the result
on the stack. Whenever both operands are specified, the minimum alge-
braic value is selected from the first and second operands. sptr(after) =
sptr(before) + 1.
MIN RIxx n reads the value stored in RIxx and a specified integer con-
stant (n), selects the minimum algebraic value from RIxx and n, and stores
the result on the stack. If the first operand is ROxx or Mxx, the operation
is similar. sptr(after) = sptr(before) + 1.
Example 1:
11 CST Clears the stack.
RI01 = 12.3485
RI02 = 3.73182
RI03 = -2.0037
RI04 = -0.8369
12 IN RI01 Places RI01 into accumulator.
13 IN RI02 Places RI02 into accumulator and pushes the RI01
value down one stack location.
14 IN RI03 Places RI03 into accumulator and pushes the prior
values down one stack location.
15 IN RI04 Places RI04 into accumulator and pushes the prior
values down one stack location.
B0193AX Rev AB 15. CALCA Advanced Calculator Block
478


Example 2:
MRS (Master Reset Flip-Flop)
MRS emulates the function of a traditional reset-dominant flip-flop. It uses
two operands on the stack as inputs. The first operand is the set input
and the second operand is the reset input.
This instruction writes the output, which corresponds to the Q output
of a flip-flop, into the accumulator, overwriting the first operand (the set
value) and making the second operand (the reset value) inaccessible.
Note that the MRS instruction provides the same functionality as the FF,
except that the reset input has priority over the set input. If both inputs
take on a logical one value, the flip-flop is forced to reset.
The No Change condition causes the value of the MRS flip-flop after the
previous execution cycle, which is retained in a block data variable, to be
written to the accumulator. sptr(after) = sptr(before) - 1.
Example:
16 MIN Selects the minimum algebraic value and stores this
value into the accumulator, overwriting the RI01
value. The other values are inaccessible.
Accumulator = -2.0037
RI01 = 12.3485
M01 = 3.73182
11 MIN RI01 M01 Selects the minimum algebraic value from RI01
and M01 and stores the result on the stack.
Accumulator = 3.73182
Table 15-14. Truth Table for MRS Instruction
S R Q
0 0 No Change
0 1 0
1 0 1
1 1 0
BI01 = True
BI02 = True
12 IN BI01 Puts BI01 into accumulator has a True value for set.
13 IN BI02 Puts BI02 into accumulator has a True value for
reset. The set input is pushed down one stack
location.
15. CALCA Advanced Calculator Block B0193AX Rev AB
479


The TIMINI parameter controls MRS behavior at block initialization
time to avoid undesired operation of the CALCA block's boolean outputs.
This option will only work when the CALCA block is being modified in
the Integrated Control Configurator. If the TIMINI option is set and the
CALCA block is loaded from a checkpoint file, the station is rebooted, or
the compound is turned ON or OFF, the MRS output will be treated as if
an initialization has occurred. If the TIMINI parameter is set (TIMINI =
2) or (TIMINI = 3), and the block has been modified, the MRS output
will not be treated as if an initialization has occurred. If the TIMINI
parameter is set (TIMINI =0) or (TIMINI =1), MRS output initialization
will occur.
MUL
MUL c
MUL {RIxx, ROxx, Mxx}
MUL {RIxx, ROxx, Mxx} {n, RIxx, ROxx, Mxx}
(Multiply)
MUL (or MUL c), reads the values from the top two stack locations (or a
specified number (c) of stack locations), multiplies them, decrements the
stack pointer, and writes the product into the new accumulator location
(the new top of stack location). This overwrites the first operand and iso-
lates the second and any later operand from any further access. For MUL,
sptr(after) = sptr(before) - 1. For MUL c, sptr(after) = sptr(before) - c + 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter. The same action
occurs if MUL has no operand and there is only one value on the stack.
MUL RIxx reads the value stored in RIxx (the CALCAs Real Input param-
eter xx), multiplies it with the value that it pops from the stack, then
pushes the result back on the stack. MUL ROxx and MUL Mxx do the same
for the values stored at ROxx and memory location xx, respectively.
sptr(after) = sptr(before).
MUL RIxx Mxx reads the values stored in RIxx and Mxx, multiplies the
RIxx value by the Mxx value, and stores the result on the stack. Whenever
both operands are specified, the first operand is multiplied by the second
operand. sptr(after) = sptr(before).
MUL RIxx n reads the value stored in RIxx and a specified integer con-
stant (n), multiplies the RIxx value by n, and stores the result on the stack.
14 MRS Reads the two operands, determines the output
according to the truth table above (output = 0 for this
example), and writes it into the accumulator,
overwriting set input. The output (0) is also stored in
the block data for use the next execution cycle.
Accumulator = False
15 OUT BO01 Writes the accumulator contents (the MRS output) to
BO01.
BO01 = False
B0193AX Rev AB 15. CALCA Advanced Calculator Block
480


If the first operand is ROxx or Mxx, the operation is similar. sptr(after) =
sptr(before).
Example 1 Calculate (RI01 * M01):
Example 2 Calculate (RI01 + RI02) * (RI03 - RI04):
NAN Identical to NAND
NAND
NAND c
NAND {BIxx, BOxx, Ixx, Oxx, Mxx, ~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx}
NAND {BIxx, BOxx, Ixx, Oxx, Mxx, ~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx} {BIxx,
BOxx, Ixx, Oxx, Mxx, ~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx}
(Logical Not And)
NAND performs a logical nand (not and) of the contents of the specified
operands and stack locations. Logical Not And is defined as producing a
False output if all of the inputs are True and a True output if any one of
the inputs is False.
If blank is specified, all stack locations are NANDed together, and the
result is written into the accumulator (the new top of stack location). This
overwrites the first operand and isolates the other operands from any fur-
ther access. sptr(after) = stackbottom.
If c is specified, the last c stack locations are NANDed together, removed
from the stack, and the result stored in the accumulator. sptr(after) =
sptr(before) - c + 1.
RI01 = 12.3485
M01 = 3.73182
12 MUL RI01 M01 Multiplies RI01 by M01 and stores the result
on the stack.
Accumulator = 46.08238
RI01 = 12.3485
RI02 = 3.73182
RI03 = 8.919
RI04 = 5.199
12 ADD RI01 RI02 Adds RI01 to RI02 and stores (pushes) the
result on the stack.
Accumulator = 16.08032
15 SUB RI03 RI04 Subtracts RI04 from RI03 and stores (pushes)
the result on the stack.
Accumulator = 3.72
16 MUL Pops the top two values from the stack,
multiplies them, and pushes the result
(16.08032 * 3.72 = 59.81879) on the stack.
Accumulator = 59.81879
17 OUT RO01 Writes the value (59.81879) in the accumulator
(top of the stack) to the RO01 parameter.
15. CALCA Advanced Calculator Block B0193AX Rev AB
481


If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
If only one operand is specified, the operand is NANDed with the accu-
mulator, and the result replaces the accumulator. sptr(after) = sptr(before).
If both operands are specified, the operands are NANDed together and
the result is stored in the accumulator. sptr(after) = sptr(before) + 1.
If ~ is specified, the operand value is inverted prior to being used.
Before the operand Mxx is used in the calculation, its value is truncated to
an integer; if the result is 0 the operand value is considered False, other-
wise it is True.
Example 1:
Example 2:
NANX
NANX c
(Packed Logical Not And)
NANX reads all the values or a specified number (c) of values from the
stack, performs a 16-bit bitwise logical nand function on them, and
stores the result into the new accumulator location (the new top of stack).
This overwrites the first operand and isolates the other operands from any
further access. Logical Not And is defined as producing a False output if
all of the inputs are True and a True output if any one of the inputs is
False.
11 CST Clears the stack.
BI01 = True
BI07 = False
BO03 = True
BI14 = True
12 IN BI01 Puts BI01 into accumulator.
13 IN BI07 Puts BI07 into accumulator. The prior value is pushed
down one stack location.
14 IN BO03 Puts BO03 into accumulator. The prior values are
pushed down one stack location.
15 IN BI14 Puts BI14 into accumulator. The prior values are
pushed down one stack location.
16 NAND Performs the logical NAND function, and stores result
into the accumulator, overwriting the True value
loaded in from BI01. The other values are inaccessible.
Accumulator = True
BI04 = False
BO01 = True
12 NAND BI04 BO01 Performs the logical NAND of BI04 and
BO01 and stores the result on the stack.
Accumulator = True
B0193AX Rev AB 15. CALCA Advanced Calculator Block
482


For NANX, sptr(after) = stackbottom. For NANX c, sptr(after) = sptr(before) - c
+ 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
Each operand is truncated from real to 16-bit integer type before it is used
in the calculation. The final result is stored on the stack as a real value.
Example:
NOP (No Operation)
This instruction causes the step to be ignored. The program continues
with the next instruction. sptr(after) = sptr(before).
NOR
NOR c
NOR {BIxx, BOxx, Ixx, Oxx, Mxx, ~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx}
NOR {BIxx, BOxx, Ixx, Oxx, Mxx, ~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx} {BIxx,
BOxx, Ixx, Oxx, Mxx, ~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx}
(Logical Not Or)
NOR performs a logical nor (not or) of the contents of the specified oper-
ands and stack locations. Logical Not Or is defined as producing a False
output if any input is True and a True output if all of the inputs are False.
If blank is specified, all stack locations are NORed together, and the result
is written into the accumulator (the new top of stack location). This over-
writes the first operand and isolates the other operands from any further
access. sptr(after) = stackbottom.
If c is specified, the last c stack locations are NORed together, removed
from the stack, and the result stored in the accumulator. sptr(after) =
sptr(before) - c + 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
II01 = 5 (0000000000000101)
II02 = 1 (0000000000000001)
RI01 = 13.078 (0000000000001101)
13 IN II01 Puts II01 into accumulator. The prior value is pushed
down one stack location.
14 IN II02 Puts II02 into accumulator. The prior values are pushed
down one stack location.
15 IN RI01 Puts RI01 into accumulator. Value is truncated to 13 and
used as 0000000000001101 in the calculation. The prior
values are pushed down one stack location.
16 NANX 3 Performs the packed logical NANX function and stores
the result, 1111111111111110, into the accumulator,
overwriting the value of II01. The other values are
inaccessible.
Accumulator = -2.0
15. CALCA Advanced Calculator Block B0193AX Rev AB
483


If only one operand is specified, the operand is NORed with the accumu-
lator, and the result replaces the accumulator. sptr(after) = sptr(before).
If both operands are specified, the operands are NORed together and the
result is stored in the accumulator. sptr(after) = sptr(before) + 1.
If ~ is specified, the operand value is inverted prior to being used.
Before the operand Mxx is used in the calculation, its value is truncated to
an integer; if the result is 0 the operand value is considered False, other-
wise it is True.
Example 1:
Example 2:
11 CST Clears the stack.
BI01 = True
BI07 = False
BO03 = True
BI14 = True
12 IN BI01 Puts BI01 into accumulator.
13 IN BI07 Puts BI07 into accumulator. The prior value is pushed
down one stack location.
14 IN BO03 Puts BO03 into accumulator. The prior values are
pushed down one stack location.
15 IN BI14 Puts BI14 into accumulator. The prior values are
pushed down one stack location.
16 NOR Performs the logical NOR function, and stores the
result into the accumulator, overwriting the True value
loaded in from BI01. The other values are inaccessible.
Accumulator = False
BI04 = False
BO01 = True
12 NOR BI04 BO01 Performs the logical NOR of BI04 and BO01
and stores the result on the stack.
Accumulator = False
B0193AX Rev AB 15. CALCA Advanced Calculator Block
484


NORX
NORX c
(Packed Logical Not Or)
NORX reads all the values or a specified number (c) of values from the
stack, performs a 16-bit bitwise logical nor function on them, and stores
the result into the new accumulator location (the new top of stack). This
overwrites the first operand and isolates the other operands from any fur-
ther access. Logical Not Or is defined as producing a False output if any
input is True and a True output if all of the inputs are False.
For NORX, sptr(after) = stackbottom. For NORX c, sptr(after) = sptr(before) - c
+ 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
Each operand is truncated from real to 16-bit integer type before it is used
in the calculation. The final result is stored on the stack as a real value.
Example:
NOT (Not)
NOT reads the value (real, integer, or boolean) in the accumulator (zero
value = False, non-zero value = True), logically negates the value, and
writes the result into the accumulator, overwriting the original value.
sptr(after) = sptr(before).
Example (AC = accumulator):
II01 = 5 (0000000000000101)
II02 = 1 (0000000000000001)
RI01 = 13.078 (0000000000001101)
13 IN II01 Puts II01 into accumulator. The prior value is pushed
down one stack location.
14 IN II02 Puts II02 into accumulator. The prior values are
pushed down one stack location.
15 IN RI01 Puts RI01 into accumulator - assume value is 13.078.
Value is truncated to 13 and used as
0000000000001101 in the calculation. The prior
values are pushed down one stack location.
16 NORX 3 Performs the packed logical NORX function and stores
the result, 1111111111110010, into the accumulator,
overwriting the value of II01. The other values are
inaccessible.
Accumulator = -14.0
Accumulator = 0 after Step 16.
17 NOT Accumulator = 1 after Step 17.
Accumulator = 0.21 after Step 26.
27 NOT Accumulator = 0 after Step 27.
15. CALCA Advanced Calculator Block B0193AX Rev AB
485


NOTX (Packed Logical Not)
NOTX reads the value (real, integer, or boolean) in the accumulator, per-
forms a 16-bit logical complement of the value, and writes the result into
the accumulator, overwriting the original value. (The original value is
truncated to a 16-bit integer before complementing.) sptr(after) =
sptr(before).
Example:
NXO Identical to NXOR
NXOR
NXOR c
NXOR {BIxx, BOxx, Ixx, Oxx, Mxx, ~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx}
NXOR {BIxx, BOxx, Ixx, Oxx, Mxx, ~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx} {BIxx,
BOxx, Ixx, Oxx, Mxx, ~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx}
(Logical Not Exclusive Or)
NXOR performs a logical nxor of the contents of the specified operands
and stack locations. Not Exclusive Or is defined as producing a True out-
put for an even number of True inputs, a False output for an odd number
of True inputs, and a True output if all inputs are False.
If blank is specified, all stack locations are NXORed together, and the
result is written into the accumulator (the new top of stack location). This
overwrites the first operand and isolates the other operands from any fur-
ther access. sptr(after) = stackbottom.
If c is specified, the last c stack locations are NXORed together, removed
from the stack, and the result stored in the accumulator. sptr(after) =
sptr(before) - c + 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
If only one operand is specified, the operand is NXORed with the accu-
mulator, and the result replaces the accumulator. sptr(after) = sptr(before).
If both operands are specified, the operands are NXORed together and the
result is stored in the accumulator. sptr(after) = sptr(before) + 1.
If ~ is specified, the operand value is inverted prior to being used.
Before the operand Mxx is used in the calculation, its value is truncated to
an integer; if the result is 0 the operand value is considered False, other-
wise it is True.
Accumulator = 12.0
17 NOTX Complement the accumulator.
Accumulator = -13.0. (Complement of
0000000000001100 is 1111111111110011, or -13.0.)
B0193AX Rev AB 15. CALCA Advanced Calculator Block
486


Example 1:
Example 2:
NXOX
NXOX c
(Packed Logical Not Exclusive Or)
NXOX reads all the values or a specified number (c) of values from the
stack, performs a 16-bit bitwise logical nxor function on them, and
stores the result into the new accumulator location (the new top of stack).
This overwrites the first operand and isolates the other operands from any
further access. Not Exclusive Or is defined as producing a True output for
an even number of True inputs, a False output for an odd number of True
inputs, and a True output if all inputs are False.
For NXOX, sptr(after) = stackbottom. For NXOX c, sptr(after) = sptr(before) - c
+ 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
Each operand is truncated from real to 16-bit integer type before it is used
in the calculation. The final result is stored on the stack as a real value.
11 CST Clears the stack.
BI01 = True
BI07 = False
BO03 = True
BI14 = True
12 IN BI01 Puts BI01 into accumulator.
13 IN BI07 Puts BI07 into accumulator. The prior value is pushed
down one stack location.
14 IN BO03 Puts BO03 into accumulator. The prior values are
pushed down one stack location.
15 IN BI14 Puts BI14 into accumulator. The prior values are
pushed down one stack location.
16 NXOR Performs the logical NXOR function, and stores result
into accumulator, overwriting the True value loaded in
from BI01. The other values are inaccessible.
Accumulator = False
BI04 = False
BO01 = True
12 NXOR BI04 BO01 Performs the logical NXOR of BI04 and
BO01 and stores the result on the stack.
Accumulator = False
15. CALCA Advanced Calculator Block B0193AX Rev AB
487


Example:
OR
OR c
OR {BIxx, BOxx, Ixx, Oxx, Mxx, ~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx}
OR {BIxx, BOxx, Ixx, Oxx, Mxx, ~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx} {BIxx, BOxx,
Ixx, Oxx, Mxx, ~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx}
(Logical Or)
OR performs a logical or of the contents of the specified operands and
stack locations.
If blank is specified, all stack locations are ORed together, and the result is
written into the accumulator (the new top of stack location). This over-
writes the first operand and isolates the other operands from any further
access. sptr(after) = stackbottom.
If c is specified, the last c stack locations are ORed together, removed from
the stack, and the result stored in the accumulator. sptr(after) = sptr(before)
- c + 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
If only one operand is specified, the operand is ORed with the accumula-
tor, and the result replaces the accumulator. sptr(after) = sptr(before).
If both operands are specified, the operands are ORed together and the
result is stored in the accumulator. sptr(after) = sptr(before) + 1.
If ~ is specified, the operand value is inverted prior to being used.
Before the operand Mxx is used in the calculation, its value is truncated to
an integer; if the result is 0 the operand value is considered False, other-
wise it is True.
II01 = 5 (0000000000000101)
II02 = 7 (0000000000000111)
RI01 = 12.078 (0000000000001100)
13 IN II01 Puts II01 into accumulator. The prior value is pushed
down one stack location.
14 IN II02 Puts II02 into accumulator. The prior values are
pushed down one stack location.
15 IN RI01 Puts RI01 into accumulator. Value is truncated to 12
and used as 0000000000001100 in the calculation.
The prior values are pushed down one stack location.
16 NXOX 3 Performs the packed logical NXOX function and stores
the result, 1111111111110001, into the accumulator,
overwriting the value loaded in from II01. The other
values are inaccessible.
Accumulator = -15.0
B0193AX Rev AB 15. CALCA Advanced Calculator Block
488


Example 1:
Example 2:
ORX
ORX c
(Packed Logical Or)
ORX reads all the values or a specified number (c) of values from the stack,
performs a 16-bit bitwise logical or function on them, and stores the
result into the new accumulator location (the new top of stack). This over-
writes the first operand and isolates the other operands from any further
access.
For ORX, sptr(after) = stackbottom. For ORX c, sptr(after) = sptr(before) - c +
1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
Each operand is truncated from real to 16-bit integer type before it is used
in the calculation. The final result is stored on the stack as a real value.
11 CST Clears the stack.
BI01 = True
BI07 = False
BO03 = True
BI14 = True
12 IN BI01 Puts BI01 into accumulator.
13 IN BI07 Puts BI07 into accumulator. The prior value is pushed
down one stack location.
14 IN BO03 Puts BO03 into accumulator. The prior values are
pushed down one stack location.
15 IN BI14 Puts BI14 into accumulator. The prior values are
pushed down one stack location.
16 OR Performs the logical OR function, and stores result
into accumulator, overwriting the True value loaded in
from BI01. The other values are inaccessible.
Accumulator = True
BI04 = False
BO01 = True
12 OR BI04 BO01 Performs the logical OR of BI04 and BO01 and
stores the result on the stack.
Accumulator = True
15. CALCA Advanced Calculator Block B0193AX Rev AB
489


Example:
OSP
OSP t
OSP Mxx
(One-Shot Pulse)
OSP with blank operand or with a 0 constant operand uses 0.5 seconds as
its pulse width value. If the operand is integer t and greater than zero the
value of t indicates the number of seconds in the pulse width. If the oper-
and is Mxx, then the pulse width is determined by the contents of mem-
ory location xx. A positive value in Mxx is used as the pulse width in
seconds, and a negative value is used as the pulse width in block execution
cycles. If the value of the memory location changes during the timing
cycle, the instruction will notice the change.
The maximum pulse width with format OSP t is 32,767 seconds, or
approximately 9.1 hours. The maximum pulse width with format OSP
Mxx can be obtained by loading the maximum positive floating point
value into Mxx, before the OSP Mxx instruction is reached in the program.
Since the maximum floating point value is 10
38
, the pulse width is 10
38

seconds. If the block period is longer than 1.0 second, an even longer
pulse width can be obtained by loading Mxx with the value of -10
38
. (The
pulse widths obtainable with this instruction are effectively unlimited.)
OSP generates a non-retriggerable (triggering is disabled while the output
is true) one-shot pulse when the accumulator value makes a zero-to-one
transition. The output remains true for a period specified by the operand,
after which the block resets the output to zero.
The TIMINI parameter controls OSP behavior at block initialization time
to avoid unexpected behavior of the OSP element and, possibly, unpre-
dicted activation of the CALCA blocks outputs. If the TIMINI parameter
is set (TIMINI = 1) or (TIMINI = 3), the pulse is considered to have been
11 CST Clears the stack.
BI01 = True (0000000000000001)
II01 = 5 (0000000000000101)
II02 = 0 (0000000000000000)
RI01 = 12.078 (0000000000001100)
12 IN BI01 Puts BI01 into accumulator. Stored as 1.0 and used as
0000000000000001 in the calculation.
13 IN II01 Puts II01 into accumulator. The prior value is pushed
down one stack location.
14 IN II02 Puts II02 into accumulator. The prior values are pushed
down one stack location.
15 IN RI01 Puts RI01 into accumulator. Value is truncated to 12
and used as 0000000000001100 in the calculation. The
prior values are pushed down one stack location.
16 ORX Performs the packed logical OR function and stores the
result, 0000000000001101, into the accumulator,
overwriting the value loaded in from BI01. The other
values are inaccessible.
Accumulator = 13.0
B0193AX Rev AB 15. CALCA Advanced Calculator Block
490


in progress just before initialization. A zero-to-one transition of the accu-
mulator after initialization is required in order to start the pulse output. If
the TIMINI parameter is not set (TIMINI = 0) or (TIMINI = 2), the
pulse is considered to have been off just before initialization, and a logical
one in the accumulator at block initialization begins to output the speci-
fied pulse.
In all cases, sptr(after) = sptr(before).
Example:
Figure 15-7. Timing Diagram for OSP Example
OUT {ROxx, BOxx, IOxx, Oxx, Mxx, ~BOxx, ~Oxx, ~Mxx}
(Output)
OUT writes the accumulator contents to the output parameter specified by
the operand. When operating in the Manual state, this instruction is
skipped without changing the value of the output, unless the operand is
Mxx or ~Mxx, in which case the operation is executed.
The value of the accumulator is first clamped between 32,767 and
-32,768 and then truncated to an integer value before writing it to an
operand of type IOxx.
Any non-zero value in the accumulator is converted to True in an operand
of type BOxx or Oxx, and a 0.0 value is converted to False. If the operand
is of type ~BOxx or ~Oxx a non-zero value in the accumulator causes a
False to be written and a 0.0 causes a True to be written.
If the operand is of type Mxx, the accumulator value is simply copied to
the specified memory location. If it is of type ~Mxx, any non-zero accu-
mulator value is written to Mxx as the real value 0.0 and an accumulator
value of 0.0 is written to Mxx as real value 1.0.
11 IN BI01 Inputs to the accumulator the state of BI01 at the
execution time of each cycle.
12 OSP 5 Looks at BI01s input to the accumulator, uses it to
control the Step 12 OSP element, and writes the
result to the accumulator.
13 OUT BO04 Outputs accumulator contents (the results of the
OSP 5 instruction) to output BO04. Assume block
is in Auto.
BO04 = Step 12 OSP output
BI01
BO04
5 sec
15. CALCA Advanced Calculator Block B0193AX Rev AB
491


OUT does not alter the contents or location of the accumulator. sptr(after)
= sptr(before).
Example:
POP (Pop Stack)
POP removes the value at the top of the stack and discards it. The stack
pointer is decremented to point to the next value on the stack. sptr(after) =
sptr(before) - 1.
PRI ROxx (Propagate Upstream)
PRI allows you to propagate cascade status and bad status from a specified
RInn input, to a specified ROnn output. The RInn input index is loaded
onto the stack by a prior instruction.
This instruction copies the LHI, LLO, INITU, INITC, FS, BAD, and
OOS bits from the status field of RInn to the status field of the ROnn
output. If this operation causes any of these bits to be changed in the sta-
tus of ROnn, an immediate execution of the upstream block is requested.
sptr(after) = sptr(before) - 1.
If the popped index value for RIxx is less than 1 or greater than 8, a -3
(out-of-range syntax error value, treated as a run-time error) is written to
the PERROR parameter.
Example:
PRO ROxx (Propagate Downstream)
PRO allows you to propagate the cascade acknowledgment from a specified
RIxx input to the specified ROxx output. The RIxx input index is loaded
onto the stack by a prior instruction, and popped from the stack when it is
used. sptr(after) = sptr(before) - 1.
This instruction copies the PRIBLK initialization acknowledgment bit
(the Acknowledge status bit) from RIxx to ROxx.
If the popped index value for RIxx is less than 1 or greater than 8, a -3
(out-of-range syntax error value, treated as a run-time error) is written to
the PERROR parameter.
Accumulator = 3.1416
OUT IO02 Writes accumulator value to output IO02.
OUT RO02 Writes accumulator value to output RO02.
OUT ~BO01 Writes accumulator value to output BO01.
IO02 = 3
RO02 = 3.1416
BO01 = False
31 IN 4 Loads 4 onto the stack to specify the RI04 will be
used by the PRI instruction.
32 PRI RO02 Propagates the LHI, LLO, INITU, INITC, FS, BAD
and OOS status bits, from RI04 to real output RO02.
B0193AX Rev AB 15. CALCA Advanced Calculator Block
492


Example:
PRP ROxx (Propagate Errors)
PRP allows you to propagate certain types of RIxx input errors to the spec-
ified ROxx output. The RIxx inputs whose error conditions are to be
propagated are specified by a mask on the stack, loaded by a prior instruc-
tion. The mask is popped from the stack after it is used. sptr(after) =
sptr(before) - 1.
This instruction sets the ERROR status bit of the specified output oper-
and if any of the specified RIxx inputs are in error. An RIxx input is con-
sidered to be in error when:
+ Its BAD status bit is true, or
+ Its Out-of-Service (OOS) status bit is true, or
+ Its ERROR status bit is true, or
+ It is experiencing peer-to-peer path failure.
If all masked inputs have the same status, for example, all OOS or all
BAD bits are set, the output will have this status set, in addition to setting
ERROR.
Example:
where:
RAND (Generate Random Number)
RAND generates a random number with uniform distribution and places it
in the accumulator. The following formula is used:
Seed = (Seed*125) modulo 2,796,203
Accumulator = Seed / 2,796,203
Seed is a CALCA block variable which is set to the value 100,001 when
the block initializes, and is changed each time a RAND instruction is exe-
cuted. You can re-initialize Seed with any desired value at any time, by
using the SEED instruction. sptr(after) = sptr(before) + 1.
RANG (Generate Random Number, Gaussian)
41 IN 5 Loads 5 onto the stack to specify that RI05 will
be used by the PRO instruction.
42 PRO RO03 Propagates the PRIBLK initialization
acknowledgment bit in RI05 to real output RO03.
12 IN H29 Puts Hexadecimal 29 into accumulator.
13 PRP RO02 Propagates any error in RI03 or RI05 or RI08 to the
real output RO02.
7 6 5 4 3 2 1 0
R
I
0
1
R
I
0
2
R
I
0
3
R
I
0
4
R
I
0
5
R
I
0
6
R
I
0
8
R
I
0
8
0 0 1 0 1 0 0 1
{{
2 9 H29
15. CALCA Advanced Calculator Block B0193AX Rev AB
493


RANG generates a random number with Gaussian distribution and places it
in the accumulator. Two consecutive implicit RAND executions are used,
after which the following formula determines the value to be set into the
accumulator:
x = result of the first of two RAND iterations
y = result of the second of two RAND iterations
Accumulator = square root ((-2.0 ln (x)) * cos(2.0ty))
In this expression, ln represents the natural logarithm function.
sptr(after) = sptr(before) + 1.
RBD {RIxx, IIxx, LIxx, BIxx, ROxx, IOxx, LOxx, BOxx}
(Read Bad and OOS Bits)
RBD reads both the Out-of-Service and Bad status bits of the specified
parameter and writes the value 1 to the accumulator if either of the bits is
set. If neither bit is set the value 0 is written to the accumulator. sptr(after)
= sptr(before) + 1.
RCL {RIxx, ROxx, IIxx, IOxx, BIxx, BOxx, Ixx, Oxx, Mxx, ~RIxx, ~ROxx,
~IIxx, ~IOxx,
~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx}
(Read and Clear)
RCL with RIxx, IIxx, BIxx, or Ixx operand unconditionally pushes
onto the stack the contents of the operand. If the operand is unlinked (in
the case of Ixx, if the LI01 operand is unlinked) a zero value is written to
the operand. Otherwise the operand is unchanged.
RCL with ROxx, IOxx, BOxx, or Oxx operand unconditionally pushes onto
the stack the operand contents, and, if the CALCA block is in Auto, writes
a zero value to the operand. Otherwise the operand is unchanged.
RCL Mxx always pushes the Mxx value onto the stack and writes 0.0 to
Mxx.
For real type operands, a written zero value is 0.0; for integer types it is 0;
and for boolean types it is False. Values of integer operands are converted
to real type when pushed on the stack. False boolean operands are pushed
as 0.0, and true boolean operands are pushed as 1.0.
RCL with inverted operand follows the same rules as above, except that
operand values are inverted before they are pushed on the stack. Inverted
real or integer operands are pushed as 0.0 when they are non-zero and as
1.0 when they are zero.
In all cases, sptr(after) = sptr(before) + 1.
RCN {RIxx, IIxx. LIxx, Bxx}
(Read Connect Status)
RCN reads the linkage type of the specified input and stores the signed
integer result in the accumulator. sptr(after) = sptr(before) + 1.
B0193AX Rev AB 15. CALCA Advanced Calculator Block
494


The connection status values are:
RE {RIxx, IIxx, LIxx, BIxx, ROxx, IOxx, LOxx, BOxx}
(Read Error Bit)
RE reads the Error status bit of the specified parameter and writes its value
to the accumulator. (1 = True = error bit set, 0 = False = error bit not set.)
sptr(after) = sptr(before) + 1.
REL {ROxx, BOxx, IOxx, LOxx}
(Clear Secure Status)
REL clears the Secure status bit of the specified output parameter to False,
thereby releasing it and making it settable. Its effect is identical in Auto or
Manual mode. The effect of REL overrides that of MA. sptr(after) =
sptr(before).
RER (Read Error)
RER reads the internal error flag (the PERROR parameter) during pro-
gram execution and stores the value in the accumulator. PERROR retains
the first run-time error encountered during each block execution, or the
first error encountered after a CLE instruction. You can use this instruction
to check for errors that may have occurred since starting the current execu-
tion cycle. sptr(after) = sptr(before) + 1.
RND (Round)
RND reads the number in the accumulator, rounds off the value to the
nearest integer, and writes the result into the accumulator, overwriting the
original value.
If the decimal portion is less than 0.5, the value is rounded down to the
integer portion of the number. If the decimal portion is 0.5 or greater, the
value is rounded up to the next higher integer. In the case of negative
accumulator values, if the absolute value of the decimal portion is greater
than 0.5, the value is rounded down to the next lower integer. (See Exam-
ple 2.) sptr(after) = sptr(before).
Example 1:
-1 or -2 = Unresolved linkage; the source compound or block
cannot be found
0 = No linkage is specified
1 or 3 = Resolved Local Linkage; the source parameter is in the
same station
2 or 4 = Resolved Remote linkage; the source parameter is in a
different station
16... Assume that the accumulator has value of 43.499 after Step 16.
17 RND Accumulator has value of 43.0 after Step 17.
15. CALCA Advanced Calculator Block B0193AX Rev AB
495


Example 2:
RON {RIxx, IIxx, LIxx, BIxx, ROxx, IOxx, LOxx, BOxx}
(Read In-Service Status)
RON reads the Out-of-Service status bit of the specified parameter and
writes the inverse of its value to the accumulator. (1 = True = OOS bit not
set = parameter in service, 0 = False = OOS bit set = parameter out-of-ser-
vice).
The result of the RON instruction is always the inverse of the result of the
ROO instruction. sptr(after) = sptr(before) + 1.
ROO {RIxx, IIxx, LIxx, BIxx, ROxx, IOxx, LOxx, BOxx}
(Read OOS Bit)
ROO reads the Out-of-Service status bit of the specified parameter and
writes its value to the accumulator. (1 = True = OOS bit set, 0 = False =
OOS bit not set.)
The result of the ROO instruction is always the inverse of the result of the
RON instruction. sptr(after) = sptr(before) + 1.
RQE {RIxx, IIxx, LIxx, BIxx}
(Read Quality Including Error)
RQE reads the Bad, Out-of-Service, and Error status bits and the OM sta-
tus field of the specified input. It writes the value 1 to the accumulator if
any of the three bits is set or if the OM status field does not have the value
ON_SCAN. In any other case, it writes the value 0 to the accumulator.
sptr(after) = sptr(before) + 1.
RQL {RIxx, IIxx, LIxx, BIxx}
(Read Quality)
RQL reads the Bad and Out-of-Service status bits and the OM status field
of the specified input. It writes the value 1 to the accumulator if either of
the two bits is set or if the OM status field does not have the value
ON_SCAN. In any other case, it writes the value 0 to the accumulator.
sptr(after) = sptr(before) + 1.
SAC {ROxx, BOxx, IOxx, Mxx, ~BOxx, ~Mxx}
(Store Accumulator in Output)
SAC is identical to OUT, except that outputs to the pseudo-parameters Oxx
are not permitted. sptr(after) = sptr(before).
SBD {ROxx, BOxx, IOxx, LOxx}
(Set Bad Status)
SBD sets the Bad status bit of the specified output parameter to True. Its
effect is identical in Auto or Manual mode. sptr(after) = sptr(before).
26... Assume that the accumulator has value of -1.68 after Step 26.
27 RND Accumulator has value of -2.0 after Step 27.
B0193AX Rev AB 15. CALCA Advanced Calculator Block
496


SE {ROxx, BOxx, IOxx, LOxx}
(Set Error Status)
SE sets the Error status bit of the specified output parameter to True. Its
effect is identical in Auto or Manual mode. sptr(after) = sptr(before).
SEC {ROxx, BOxx, IOxx, LOxx}
(Set Secure Status)
SEC sets the Secure status bit of the specified output parameter to True,
thereby making the parameter non-settable. Its effect is identical in Auto
or Manual mode. The effect of SEC overrides that of MA. sptr(after) =
sptr(before).
SEED (Seed Random Number Generator)
SEED stores the contents of the accumulator into the Seed value used by
the RAND and RANG instructions. The initial Seed value is set, when the
block initializes, at 100,001 and is changed by each iteration of the RAND
or RANG instruction. If the accumulator value is less than zero or greater
than 100,001 when the SEED instruction is executed, the instruction is
skipped. sptr(after) = sptr(before).
SET
SET {ROxx, BOxx, IOxx, LOxx, Mxx}
(Set)
SET stores a 1 in the specified operand.
If blank is specified, a 1 is stored in the accumulator. If Mxx is specified,
a 1 is stored in memory location Mxx.
If any other operand type is specified, a 1 is stored in the specified out-
put, provided the block is in Auto; otherwise the step is skipped. In all
cases, sptr(after) = sptr(before).
SETB
SETB b
(Set Packed Boolean)
SETB sets to 1 a specified bit in the accumulator. If blank is specified the
bit number is expected to be at the top of the stack and this bit number is
removed from the stack before the instruction is executed. sptr(after) =
sptr(before) - 1.
If the bit number is less than 1 or greater than 16 an 11 (bit error run-
time error) is written to the PERROR parameter.
If the operand b is specified it indicates a bit number between 1 and 16 in
the accumulator. The stack is not popped in this case. sptr(after) =
sptr(before).
Bit 1 is the most significant bit of the accumulator, and bit 16 the least sig-
nificant.
15. CALCA Advanced Calculator Block B0193AX Rev AB
497


SIEC (Skip if Error Clear)
SIEC skips the next program step if the internal error flag (the PERROR
parameter) is zero. PERROR retains the first run-time error encountered
during each block execution, or the first error encountered after a CLE
instruction sptr(after) = sptr(before).
SIN (Sine)
SIN reads the value (value of the angle in radians) in the accumulator,
computes the sine of the angle, and writes the result into the accumulator,
overwriting the original contents. sptr(after) = sptr(before).
Example:
SOO {ROxx, BOxx, IOxx, LOxx}
(Set Out-of-Service Status)
SOO sets the Out-of-Service status bit of the specified output parameter to
True. Its effect is identical in Auto or Manual mode. sptr(after) =
sptr(before).
SQR (Square)
SQR reads the value in the accumulator, computes the square of the value,
and writes the result into the accumulator, overwriting the original con-
tents. sptr(after) = sptr(before).
Example:
SQRT (Square Root)
SQRT reads the value (which must be > 0) in the accumulator, computes
the square root of the value, and writes the positive root to the accumula-
tor, writing over the original contents. sptr(after) = sptr(before).
An attempt to SQRT a value < 0 causes the instruction to be skipped and
writes a 1 (SQRT run-time error) to the PERROR parameter.
Example:
Accumulator = +0.5236 (Pi/6) radians.
(Pi/6 radians = 30 degrees)
17 SIN Compute sine of accumulator.
Accumulator = +0.5000
Accumulator = -7.0 or +7.0
17 SQR Computes square of accumulator
Accumulator = +49.0000
Accumulator = +49.0000
17 SQRT Computes square root of accumulator
Accumulator = +7.00000
B0193AX Rev AB 15. CALCA Advanced Calculator Block
498


SSF {ROxx, BOxx, IOxx, LOxx, Mxx}
(Set and Skip if False)
SSF sets the specified operand to 1.0 (if ROxx or Mxx) or 1 (if IOxx or
LOxx) or True (if BOxx) and skips the next program step when the accu-
mulator value is 0.0. Otherwise the instruction is ignored and the next
instruction in sequence is executed.
If this instruction is the last or next-to-last step in the CALCA block pro-
gram and the accumulator is zero, the operand is set and then the block
program terminates.
When the block is in Manual, the outputs ROxx, BOxx, IOxx, and LOxx
are unchanged, but the skip action still occurs based on the value of the
accumulator. sptr(after) = sptr(before). SSF is identical to SSZ.
SSI {ROxx, BOxx, IOxx, LOxx, Mxx}
(Set and Skip if Initializing)
SSI sets the specified operand to 1.0 (if ROxx or Mxx) or 1 (if IOxx or
LOxx) or True (if BOxx) and skips the next program step if the CALCA
block is initializing this execution cycle. Otherwise the instruction is
ignored and the next instruction in sequence is executed.
If this instruction is the last or next-to-last step in the CALCA block pro-
gram and the block is initializing, the operand is set and then the block
program terminates.
When the block is in Manual, the outputs ROxx, BOxx, IOxx, and LOxx
are unchanged, but the skip action still occurs based on the value of the
accumulator. sptr(after) = sptr(before).
SSN {ROxx, BOxx, IOxx, LOxx, Mxx}
(Set and Skip if Negative)
SSN sets the specified operand to 1.0 (if ROxx or Mxx) or 1 (if IOxx or
LOxx) or True (if BOxx) and skips the next program step when the accu-
mulator is negative. Otherwise the instruction is ignored and the next
instruction in sequence is executed.
If this instruction is the last or next-to-last step in the CALCA block pro-
gram and the accumulator is negative, the operand is set and then the
block program terminates.
When the block is in Manual, the outputs ROxx, BOxx, IOxx, and LOxx
are unchanged, but the skip action still occurs based on the value of the
accumulator. sptr(after) = sptr(before).
SSP {ROxx, BOxx, IOxx, LOxx, Mxx}
(Set and Skip if Positive)
SSP sets the specified operand to 1.0 (if ROxx or Mxx) or 1 (if IOxx or
LOxx) or True (if BOxx) and skips the next program step when the accu-
mulator is positive or zero. Otherwise the instruction is ignored and the
next instruction in sequence is executed.
15. CALCA Advanced Calculator Block B0193AX Rev AB
499


If this instruction is the last or next-to-last step in the CALCA block pro-
gram and the accumulator is positive or zero, the operand is set and then
the block program terminates.
When the block is in Manual, the outputs ROxx, BOxx, IOxx, and LOxx
are unchanged, but the skip action still occurs based on the value of the
accumulator. sptr(after) = sptr(before).
SST {ROxx, BOxx, IOxx, LOxx, Mxx}
(Set and Skip if True)
SST sets the specified operand to 1.0 (if ROxx or Mxx) or 1 (if IOxx or
LOxx) or True (if BOxx) and skips the next program step when the accu-
mulator is non-zero. Otherwise the instruction is ignored and the next
instruction in sequence is executed.
If this instruction is the last or next-to-last step in the CALCA block pro-
gram and the accumulator is non-zero, the operand is set and then the
block program terminates.
When the block is in Manual, the outputs ROxx, BOxx, IOxx, and LOxx
are unchanged, but the skip action still occurs based on the value of the
accumulator. sptr(after) = sptr(before).
SSZ {ROxx, BOxx, IOxx, LOxx, Mxx}
(Set and Skip if Zero)
SSZ sets the specified operand to 1.0 (if ROxx or Mxx) or 1 (if IOxx or
LOxx) or True (if BOxx) and skips the next program step when the accu-
mulator value is 0.0. Otherwise the instruction is ignored and the next
instruction in sequence is executed.
If this instruction is the last or next-to-last step in the CALCA block pro-
gram and the accumulator is zero, the operand is set and then the block
program terminates.
When the block is in Manual, the outputs ROxx, BOxx, IOxx, and LOxx
are unchanged, but the skip action still occurs based on the value of the
accumulator. sptr(after) = sptr(before).
STH LOxx (Store High Order)
STH stores the last stack value into the high order integer of the specified
long integer output (LOxx), after type conversion into an unsigned inte-
ger. The output is changed only when the block is in Auto, otherwise the
instruction is skipped. sptr(after) = sptr(before).
STL LOxx (Store Low Order)
STL stores the last stack value into the low order integer of the specified
long integer output (LOxx), after type conversion into an unsigned inte-
ger. The output is changed only when the block is in Auto, otherwise the
instruction is skipped. sptr(after) = sptr(before).
B0193AX Rev AB 15. CALCA Advanced Calculator Block
500


STM Mxx (Store Memory)
STM Mxx stores the accumulator contents into the memory register speci-
fied by the Mxx operand, where xx is an index from 01 to 24 (or 1 to 24).
The accumulator is unaffected. sptr(after) = sptr(before).
STMI Mxx (Store Memory Indirect)
STMI Mxx stores the accumulator contents into a specified memory regis-
ter indexed by the contents of the memory register specified by the Mxx
operand, where xx is an index from 01 to 24 (or 1 to 24). The accumula-
tor is unaffected.
If Mxx does not contain an integer value, the truncated contents are used
as the index. Mxx is unaffected. sptr(after) = sptr(before).
If the specified memory contents are less than 1 or greater than 24, a 10
(index run-time error) is written to the PERROR parameter at run-time.
SUB
SUB {RIxx, ROxx, Mxx}
SUB {RIxx, ROxx, Mxx} {n, RIxx, ROxx, Mxx}
(Subtract)
SUB reads the values from the top two stack locations, subtracts the second
operand (subtrahend) from the first operand (minuend), decrements the
stack pointer, and writes the difference into the new accumulator location
(the new top of stack location). This overwrites the first operand and iso-
lates the second operand from any further access. (The later stack value is
subtracted from the earlier one.) sptr(after) = sptr(before) - 1.
SUB RIxx reads the value stored in RIxx (the CALCAs Real Input param-
eter xx), subtracts it from the value that it pops from the stack, then
pushes the result back onto the stack. SUB ROxx and SUB Mxx do the
same for the values stored at ROxx and memory location xx, respectively.
sptr(after) = sptr(before).
SUB RIxx Mxx reads the values stored in RIxx and Mxx, subtracts the
Mxx value from the RIxx value, and stores the result on the stack. When-
ever both operands are specified, the second operand is subtracted from
the first operand. sptr(after) = sptr(before) + 1.
SUB RIxx n reads the value stored in RIxx and a specified integer con-
stant (n), substracts n from the RIxx value, and stores the result on the
stack. If the first operand is ROxx or Mxx, the operation is similar.
sptr(after) = sptr(before) + 1.
Example:
M01 = 3.73182
RI01 = 12.3485
12 SUB RI01 M01 Substracts M01 from RI01 and stores the result
on the stack
Accumulator = +8.61668
15. CALCA Advanced Calculator Block B0193AX Rev AB
501


SWP
SWP {ROxx, BOxx, IOxx, Mxx}
(Swap)
SWP with no argument causes the contents of the last two positions on the
stack to be interchanged. The stack pointer is not moved.
SWP ROxx swaps the contents of the last position on the stack with that of
output ROxx. If the block is not in Auto, the value of ROxx is copied to
the stack, but the stack value is not copied to ROxx.
SWP BOxx swaps the contents of the last position on the stack with that of
output BOxx. A True value in BOxx is converted to 1.0 on the stack, and
a False value is converted to 0.0 on the stack. Any non-zero value on the
stack is converted to True in BOxx, and a 0.0 value is converted to False in
BOxx. If the block is not in Auto, the swap is treated as in the ROxx case.
SWP IOxx swaps the contents of the last position on the stack with that of
output IOxx. The accumulator value is clamped between 32,767.0 and -
32,768.0 before the swap. If the block is not in Auto, the swap is treated as
in the ROxx case.
SWP Mxx swaps the contents of the last position on the stack with that of
memory location Mxx.
In all cases, sptr(after) = sptr(before).
TAN (Tangent)
TAN reads the value (value of the angle in radians) in the accumulator,
computes the tangent of the angle, and writes the result into the accumu-
lator, overwriting the original contents. sptr(after) = sptr(before).
Example:
TIM (Time Since Midnight)
TIM gets the time, in seconds since midnight, and pushes it onto the stack
sptr(after) = sptr(before) + 1.
TRC (Truncate)
TRC reads the number in the accumulator, truncates the mantissa, or deci-
mal portion, and writes the result into the accumulator as a floating point
value, overwriting the original value. sptr(after) = sptr(before).
Example:
TSTB
TSTB b
(Test Packed Boolean)
Accumulator = +0.7853983 (Pi/4) radians.
(Pi/4 radians = 45 degrees)
17 TAN Computes tangent of accumulator.
Accumulator = +1.0000
Accumulator = 43.999
17 TRC Truncates the accumulator
Accumulator = 43.0
B0193AX Rev AB 15. CALCA Advanced Calculator Block
502


TSTB tests a specified bit in the accumulator. If blank is specified the bit
number is expected to be at the top of the stack and this bit number is
removed from the stack before the instruction is executed. sptr(after) =
sptr(before) - 1.
If the bit number is less than 1 or greater than 16 an 11 (bit error run-
time error) is written to the PERROR parameter.
If the argument b is specified it indicates a bit number between 1 and 16
in the accumulator. The stack is not popped in this case. sptr(after) =
sptr(before).
Bit 1 is the most significant bit of the accumulator, and bit 16 the least sig-
nificant.
If the tested bit is 0, the value False (0.0) replaces the accumulator; if it is
1, the value True (1.0) replaces the accumulator.
XOR
XOR c
XOR {BIxx, BOxx, Ixx, Oxx, Mxx, ~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx}
XOR {BIxx, BOxx, Ixx, Oxx, Mxx, ~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx} {BIxx,
BOxx,
Ixx, Oxx, Mxx, ~BIxx, ~BOxx, ~Ixx, ~Oxx, ~Mxx}
(Logical Exclusive Or)
XOR performs a logical xor of the contents of the specified operands and
stack locations. Exclusive Or is defined as producing a True output for an
odd number of True inputs, a False output for an even number of True
inputs, and a False output if all inputs are False.
If blank is specified, all stack locations are XORed together, and the result
is written into the accumulator (the new top of stack location). This over-
writes the first operand and isolates the other operands from any further
access. sptr(after) = stackbottom.
If c is specified, the last c stack locations are XORed together, removed
from the stack, and the result stored in the accumulator. sptr(after) =
sptr(before) - c + 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
If only one operand is specified, the operand is XORed with the accumu-
lator, and the result replaces the accumulator. sptr(after) = sptr(before).
If both operands are specified, the operands are XORed together and the
result is stored in the accumulator. sptr(after) = sptr(before) + 1.
If ~ is specified, the operand value is inverted prior to being used.
Before the operand Mxx is used in the calculation, its value is truncated to
an integer; if the result is 0 the operand value is considered False, other-
wise it is True.
15. CALCA Advanced Calculator Block B0193AX Rev AB
503


Example 1:
Example 2:
XORX
XORX c
(Packed Logical Exclusive Or)
XORX reads all the values or a specified number (c) of values from the
stack, performs a 16-bit bitwise logical xor function on them, and stores
the result into the new accumulator location (the new top of stack). This
overwrites the first operand and isolates the other operands from any fur-
ther access. Exclusive Or is defined as producing a True output for an odd
number of True inputs, a False output for an even number of True inputs,
and a False output if all inputs are False.
For XORX, sptr(after) = stackbottom. For XORX c, sptr(after) = sptr(before) - c
+ 1.
If c exceeds the current number of stack operands, a 6 (stack underflow
run-time error) is written to the PERROR parameter.
Each operand is truncated from real to 16-bit integer type before it is used
in the calculation. The final result is stored on the stack as a real value.
Example:
11 CST Clears the stack.
BI01 = True
BI07 = False
BO03 = True
BI14 = True
12 IN BI01 Puts BI01 into accumulator.
13 IN BI07 Puts BI07 into accumulator. The prior value is pushed
down one stack location.
14 IN BO03 Puts BO03 into accumulator. The prior values are
pushed down one stack location.
15 IN BI14 Puts BI14 into accumulator. The prior values are
pushed down one stack location.
16 XOR Performs the logical XOR function, and stores result
into accumulator, overwriting the value loaded in from
BI01. The other values are inaccessible.
Accumulator = True
BI04 = False
BO01 = True
12 XOR BI04 BO01 Performs the logical XOR of BI04 and BO01
and stores the result on the stack.
Accumulator = True
II01 = 5 (binary 0000000000000101)
II02 = 7 (binary 0000000000000111)
LI01 =12 (binary
00000000000000000000000000001100)
B0193AX Rev AB 15. CALCA Advanced Calculator Block
504


15.7 Error Conditions
For each instruction, the specified operation code (for example, ADD or RCL) and operands,
including the index ranges of the operands (xx), are validated when the CALCA block is installed
or modified by the Control Configurator. An invalid operation code or operand causes the block
to be undefined. An error message indicating the type of syntax error and the step in error is sent
to the Control Configurator and displayed on the screen.
Two types of errors are detected by the CALCA block:
+ Syntax errors those detected when the program is validated, as the block is installed
or modified.
+ Run-time (dynamic) errors those detected while the program is running. Note that
these errors do not cause the program to halt.
An integer code stored in the output parameter PERROR indicates the type of the first detected
error.
The output parameter STERR indicates the number of the program step that experienced the first
error.
Displaying the automatically-updated run-time values of PERROR and STERR at the display
interface enables you to monitor these parameters while in the debugging phase of the CALCA
program development.
Syntax errors are detected when the CALCA block is installed or reconfigured, but not when the
compound is turned ON, or when the control processor is rebooted. This avoids control cycle
overruns that might occur if validation of complex CALCA blocks were to be done during ordi-
nary block processing. Configuration errors generate screen messages that you can view and act
upon for correction while configuring the block, without interrupting the configuration session.
A non-zero value for PERROR indicates an error. A negative value generally indicates a syntax
error, and a positive value generally indicates that an error occurred while executing the program
(that is, a run-time error). The only exceptions to this convention are described in the CHN and
PRO instructions (q.v.).
13 IN II01 Puts II01 into accumulator. The prior value is pushed
down one stack location.
14 IN II02 Puts II02 into accumulator. The prior values are
pushed down one stack location.
15 IN LI01 Puts the low 16 bits (0000000000001100) of LI01
into accumulator. The prior values are pushed down
one stack location.
16 XORX 3 Performs the packed logical XORX function on the
stack locations by bit position. If all bits in a certain bit
position are 0 (false) the result is 0. If there is an odd
number of 1s (trues), the result is 1. If there is an even
number of 1s, the result is 0. The resulting value,
binary 0000000000001110, is stored into the accumu-
lator, overwriting the value loaded in from II01. The
other values are inaccessible.
Accumulator = 14.0 (binary 0000000000001110)
15. CALCA Advanced Calculator Block B0193AX Rev AB
505


The syntax error codes for the PERROR parameter are listed in Table 15-15.
The run-time error codes for the PERROR parameter are listed in Table 15-16.
15.8 Programming Concepts
The CALCA block operates in the same way as do most programmable pocket calculators. To
specify program operations, you type in a series of programming steps, which are analogous to
keystrokes on a calculator. A programming step can contain zero, one, or two command line
arguments which serve to complete the specification of the action to be performed. Each instruc-
tion performs a unique operation over a set of one or more operands.
The block accepts programs entered through the Reverse Polish Notation (RPN) method, which
is more efficient than other methods of programming. In a simple example, you specify first the
operands and then the action to be performed, which terminates the operation. This convention
works especially well with those instructions that operate on more than two operands.
CALCA block instructions use the following types of operands:
1. Real Variables Real variable values used in block calculations are either specified as
command line arguments (RIxx, ROxx, or Mxx) or obtained from the stack, where
they were stored as the result of earlier operations.
2. Integer Variables Parameters IIxx, IOxx, LIxx, and LOxx or the constant command
line argument n.
Table 15-15. PERROR Syntax Error Codes
Code Definition
-1 Invalid operation code
-2 Invalid operand type
-3 Out of range operand index
-4 Invalid go to step number
Table 15-16. PERROR Run-time Error Codes
Code Definition
1 SQRT error (accumulator < 0)
2 ASIN error (absolute value of accumulator > 1)
3 ACOS error (absolute value of accumulator > 1)
4 DIV error (divide by zero)
5 Stack overflow
6 Stack underflow
7 LOG error (accumulator s 0)
8 LN error (accumulator s 0)
9 EXP error (base < 0)
10 Index error
11 Bit error
B0193AX Rev AB 15. CALCA Advanced Calculator Block
506


3. Boolean Variables Parameters BIxx and BOxx, and pseudo-parameters Ixx and Oxx.
Boolean variables can be optionally inverted before use. For information on pseudo-
parameters, see Instruction Syntax on page 448.
4. Other Constants In addition to arguments of type n used as integer variables in
the calculation, constant command line arguments are also used to represent a timer
constant (t), a program step number (s), a bit number (b), or the number of
stack operands to be used (c).
The opcode and any required arguments for a program step are entered in the STEPxx position of
the Control Configurator screen.
Arithmetic Examples
Example 1 illustrates an instruction that uses two operands to compute the result. Example 2
shows an instruction involving more than two operands.
Example 1 Calculate (RI01 * RI02) and output the result to RO01:
Example 2 Calculate ((RI01 + RI02 + RI03 + RI04) / 4):
15.8.1 Execution Sequence
You can consider the sequencing of program steps to be under control of an internal program
counter that indicates the next program step to be processed. Instructions such as GTO that affect
program control reference the step number of the next step to be processed. Transfer of control is
permissible only in a forward direction; looping backwards or to the same step is not allowed.
Your program can have up to 50 steps.
The CALCA block supports both conditional and unconditional means of altering the control of
program execution. Conditional transfer of control is dependent on various tests of the accumula-
tor value, or on the block initialization status.
The following example demonstrates this concept.
Branching Example
STEP01 MUL RI01 RI02 Multiplies Real Input 1 by Real Input 2 and stores the results
on the stack.
STEP02 OUT RO01 Writes the product of RI01 and RI02 to RO01.
STEP01 CST Clears the stack.
STEP02 IN RI01 Places Real Input 1 into accumulator.
STEP03 IN RI02 Places Real Input 2 into accumulator and pushes Real Input 1 value down
one stack location.
STEP04 IN RI03 Places Real Input 3 into accumulator and pushes the prior values down
one stack location.
STEP05 IN RI04 Places Real Input 4 into accumulator and pushes the prior values down
one stack location.
STEP06 AVE Reads all the values from the stack (values for Real Inputs 1 through 4),
calculates the mean algebraic value for them, and stores the result into the
accumulator, overwriting the Real Input 1 value. The other values are
inaccessible.
15. CALCA Advanced Calculator Block B0193AX Rev AB
507


Figure 15-8. Program Branching Example
Example:
15.8.2 Arithmetic Chaining
An internal LIFO (last-in, first-out) stack preserves the results of prior, intermediate operations
required for calculation of the final result. You can chain arithmetic operations without using
memory registers to store and retrieve data. This approach greatly simplifies program entries and
minimizes the number of programming steps.
15.8.2.1 Stack Push Operations
If the first instruction of the chained group has two operands, the operands are processed accord-
ing to the operator (add, subtract, multiply, divide, or exponentiation), and the result is stored in
the first stack register (top of stack).
If the next instruction of the group is also an arithmetic instruction with two operands, as in the
example of this section, the next operands are processed according to the operator and the new
result is pushed onto the stack. The result of the previous arithmetic operation is pushed down to
the second stack register.
15.8.2.2 Stack Pop Operations
If an arithmetic instruction has no command line arguments, as in the fourth step of the example,
both operands are popped from the stack. If it has one command line argument, as in the seventh
step of the example, the first of the two operands is obtained by popping it from the stack. Any
stack pop retrieves the most recently pushed value from the stack to complete the current opera-
tion. When instructions in the chain operate directly on the accumulator value, the stack pointer
is not moved.
The operation sequence for an arithmetic chaining example is shown in Figure 15-9. It shows the
stack operations involved in the equation, working from the innermost parentheses outward. The
actual program steps that implement the procedures are shown below. Figure 15-10 shows the
stack operations for this example.
STEP01 IN RI01 Reads Real Input 1.
STEP02 BIP 04 Branches if value is positive.
STEP03 IN RI02 Reads Real Input 2.
STEP04 OUT RO01 Writes selected real input to output.
SELECTOR LOGIC
IN CALCA BLK
RO01
RI02
RI01
Program Function
Select Real Input 1 if
it is positive; other-
wise, select Real
Input 2.
B0193AX Rev AB 15. CALCA Advanced Calculator Block
508


Figure 15-9. Arithmetic Chaining Example, Operation Sequence
Programming steps to compute the following equation:
RO01 = RI05 * SQRT ((RI01 * RI02) / ((RI03 * RI04) - 1)
Equation: RO01 = RI05 * SQRT [(RI01 * RI02) / ((RI03 * RI04) - 1)]
Prod1
Prod2
Diff
Quotient
Root
Prod3
1 3 4 5 6 2
4
STEP01 MUL RI01 RI02 Multiplies RI01 value by RI02 value and pushes
product (Prod1) onto stack.
STEP02 MUL RI03 RI04 Multiplies RI03 value by RI04 value and pushes
product (Prod2) onto stack.
STEP03 IN 1 Pushes constant 1 onto stack.
STEP04 SUB Pops Prod2 and constant 1 from stack, subtracts 1
from Prod2, and pushes difference (Diff ) onto stack.
STEP05 DIV Pops Prod1 and Diff from stack, divides Prod1 by Diff,
and pushes results (Quotient) onto stack.
STEP06 SQRT Pops Quotient from stack, computes the square root of
Quotient, and pushes the result (Root) onto stack.
STEP07 MUL RI05 Pops Root from stack, multiplies it by RI05 value, and
pushes product (Prod3) onto stack.
STEP08 OUT RO01 Writes Prod3 to RO01, and Prod3 remains in
position 1 on stack.
STEP9 END
15. CALCA Advanced Calculator Block B0193AX Rev AB
509



Figure 15-10. Arithmetic Chaining Example, Stack Operation
15.9 Application Example
Figure 15-11. Application Example
Example:
STEP01 SUB RI01 90 Substracts constant 90.0 from Real Input 1.
STEP02 BIN 5 Branches to Step 5 if difference is negative.
STEP03 IN 90 Reads constant 90.0 and pushes it onto stack.
STEP04 GTO 10 Branches to Step 10.
STEP05 SUB RI01 10 Substracts constant 10.0 from Real Input 1.
STEP06 BIP 09 Branches to Step 09 if difference is positive.
Push
Stack
Pop
LEGEND:
Stack
[RO01]
Stack
Registers
S1
Prod1
Prod2
Prod1
Prod2
Prod1
1
Diff
Prod1 Quotient
Root
Prod3
Arithmetic Chaining, Stack Operation
RO01 = RI05 * SQRT ((RI01 * RI02) / ((RI03 * RI04) - 1))
Sequence: 6 5 1 4 2 3
S1 S1
S2
S1
S2
S3
S1
S2
S1 S1
(up to 24)
5
SQRT
STEP06
4
DIV
STEP05
3
SUB
STEP04
IN
STEP03
2
MUL
STEP02
1
MUL
STEP01
OUT
STEP08
6
MUL
STEP07
Program Function
Limit measurement input to
downstream control block to the
range 10.0 to 90.0
RI01
Measurement
CALCA Block
Program
RO01
B0193AX Rev AB 15. CALCA Advanced Calculator Block
510


By configuring the memory registers M01 to M24 with appropriate clamping values, the lack of
output clamping in the CALCA block can be overcome by the use of a program similar to the pre-
ceding one.
STEP07 IN 10 Reads constant 10.0 and pushes it onto stack.
STEP08 GTO 10 Branches to Step 10.
STEP09 IN RI01 Reads Real Input 1 and pushes it onto stack.
STEP10 OUT RO01 Writes limited measurement value to Real Output 1.
STEP11 END
511


16. CHARC Characterizer Block
This chapter covers the Characterizer, or CHARC, block, its features, parameters and detailed
operations.
16.1 Overview
The Characterizer block (CHARC) simulates signal characterization by building a piecewise lin-
ear characteristic curve of up to 20 segments. The MEAS is the block input. You determine the
output characteristic and construct the curve using up to 21 separate break points. In operation,
the block produces an output based on the MEAS and the user-specified characteristic curve.
16.1.1 I/O Diagram
Figure 16-1. CHARC Block I/O Diagram
16.2 Features
The features are:
+ 20 segment characterization curve
+ Specifiable interpolation interval
+ Discontinuous signal characterization through a specifiable step function
+ Auto/Manual
+ Input/Output assignable engineering units and range
+ Output clamping between the output specified span limits
+ Full support for cascade initialization.
The options are:
+ Extender Block Option (EXTOPT) which allows the CHARC block to function as an
extension to an AIN or MAIN block, for signal conditioning and for performing ther-
mocouple compensation.
+ Out-of-range alarming (ORAO).
+ Error propagation (PROPT and EROPT).
CHARC
BLOCK
Output
Block Status
Manual/Auto
Measurement
Out-of-Range
Alarm Limit
Alarm Priority
B0193AX Rev AB 16. CHARC Characterizer Block
512


+ Inhibit/Disable alarming (INHOPT).
+ Primary Block (PRIBLK) option for bumpless cascade operation.
+ Initialize Manual/Auto (INITMA) which specifies the desired state of MA input dur-
ing initialization.
+ Step Function Option (STPOPT) which enables the discontinuous step function and
disables the interpolation function.
16.3 Parameters
Table 16-1. CHARC Block Parameters
Name Description Type Accessibility Default Units/Range
Configurable Parameters
INPUTS
NAME block name string no-con/no-set blank 1 to 12 chars
TYPE block type integer no-con/no-set 19 CHARC
DESCRP descriptor string no-con/no-set blank 1 to 32 chars
PERIOD block sample time short no-con/no-set 1 0 to 13
PHASE block phase number integer no-con/no-set 0 ---
LOOPID loopid string no-con/set blank 1 to 32 chars
EXTOPT extender block option short no-con/no-set 0 [0..2]
MEAS process input real con/set 0.0 RI1
HSCI1 high scale input 1 real no-con/no-set 100.0 specifiable
LSCI1 low scale input 1 real no-con/no-set 0.0 specifiable
DELTI1 change delta input 1 real no-con/no-set 1.0 percent
EI1 eng units input 1 string no-con/no-set % specifiable
PRIBLK primary block cascade operation boolean no-con/no-set 0 0 to 1
PRITIM primary cascade timer real no-con/no-set 0.0 seconds
BCALCI back calculated input real con/set 0.0 RO1
PROPT propagate error boolean no-con/no-set 0 0 to 1
EROPT error option short no-con/no-set 1 [0|1|2]
STPOPT step function option boolean no-con/no-set 0 0 to 1
HSCO1 high scale output 1 real no-con/no-set 100.0 specifiable
LSCO1 low scale output 1 real no-con/no-set 0.0 specifiable
DELTO1 change delta output 1 real no-con/no-set 1.0 percent
EO1 eng unit output 1 string no-con/no-set % specifiable
STARTP starting point integer no-con/no-set 1 [1..21]
ENDP ending point integer no-con/no-set 21 [1..21]
X_1 - X_21 abscissa point real no-con/no-set 0.0 RI1
Y_1 - Y_21 ordinate point real no-con/no-set 0.0 RO1
MA manual/auto boolean con/set 0 0 to 1
INITMA initialize MA short no-con/no-set 1 [0|1|2]
INHOPT inhibit option short no-con/no-set 0 0 to 3
INHIB alarm inhibit boolean con/set 0 0 to 1
ORAO out-of-range alarming boolean no-con/no-set 0 0 to 1
ORAT out-of-range text string no-con/no-set blank 1 to 32 chars
16. CHARC Characterizer Block B0193AX Rev AB
513


16.3.1 Parameter Definitions
ACHNGE Alternate Change is an integer output which is incremented each time a
block parameter is changed via a Set command.
ALMOPT Alarm Options contains packed long values representing the alarm types
that have been configured as options in the block, and the alarm groups
that are in use. For the CHARC block, only the following unshaded bits
are used:
ORAP out-of-range priority integer con/set 5 [1..5]
ORAG out-of-range group short no-con/set 1 [1..8]
AMRTIN alarm regeneration timer integer no-con/no-set 0 0 to 32767 s
Non-Configurable Parameters
OUTPUTS
ALMSTA alarm status pack_l con/no-set 0 bit map
BCALCO back calculated output real con/no-set 0.0 RI1
BLKSTA block status pack_l con/no-set 0 bit map
CRIT criticality integer con/no-set 0 [0..5]
HOR high out-of-range boolean con/no-set 0 0 to 1
INHSTA inhibit status pack_l con/no-set 0 0 to 0xFFFFFFFF
INITO initialize out short con/no-set 0 ---
LOR low out-of-range boolean con/no-set 0 0 to 1
OUT output real con/no-set 0.0 RO1
PRTYPE priority type integer con/no-set 0 [0..10]
UNACK alarm notification boolean con/no-set 0 0 to 1
DATA STORES
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
ALMOPT alarm options pack_l no-con/no-set 0 0 to 0xFFFFFFFF
DEFINE no config errors boolean no-con/no-set 1 0 to 1
ERCODE config error string no-con/no-set 0 1 to 43 chars
LOCKID lock identifier string no-con/no-set blank 8 to 13 chars
LOCKRQ lock request boolean no-con/set 0 0 to 1
OWNER owner name string no-con/set blank 1 to 32 chars
PRSCAS cascade state short no-con/no-set 0 0 to 7
RI1 eng range input 1 real[3] no-con/no-set 100,0,1 specifiable
RO1 eng range output 1 real[3] no-con/no-set 100,0,1 specifiable
Table 16-1. CHARC Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
B0193AX Rev AB 16. CHARC Characterizer Block
514


ALMSTA Alarm Status is a 32-bit output, bit-mapped to indicate the blocks alarm
states. For the CHARC block, only the following bits are used:
* Bit 0 is the least significant, low order bit.
AMRTIN Alarm Regeneration Timer is a configurable integer that specifies the time
interval for an alarm condition to exist continuously, after which a new
unacknowledged alarm condition and its associated alarm message is gen-
erated.
BCALCI Back Calculation In is a real input that provides the initial value of the
output before the block enters the controlling state, so that the return to
controlling is bumpless. It is also the source of the output value when its
integration bit, which puts the block into output tracking, is non-zero.
The source for this input is the back calculation output (BCALCO) of the
downstream block. With V4.2 and later software, BCALCI contains the
cascade initialization data bits which were formerly contained in the
Bit Number
1
(0 to 31) Configured Alarm Option When True
0 Alarm Group 8 in Use
1 Alarm Group 7 in Use
7 Alarm Group 1 in Use
28 Out-of-Range Alarm Configured
1.
Bit 0 is the least significant, low order bit.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
U
N
A
K
I
N
H
O
O
R
CRIT PRTYPE
Bit
Number
(0 to 31)* Name Description When True
Boolean
Connection
(B32 to B1)
0 to 4 PTYP_MSK Priority Type: See parameter
PRTYPE for values used in
the AIN block
ALMSTA.B32
ALMSTA.B28
5 to 7 CRIT_MSK Criticality; 5 = lowest
priority, 1= highest
ALMSTA.B27
ALMSTA.B25
28 OOR Out of Range Alarm ALMSTA.B4
29 INH Alarm inhibit ALMSTA.B3
30 UNAK Unacknowledged ALMSTA.B2
16. CHARC Characterizer Block B0193AX Rev AB
515


INITI parameter. Therefore, BCALCI defines the source block and
parameter that drives this block into initialization, and INITI and INITO
are not required for cascade initialization.
BCALCO Back Calculation Output is a real output that is passed upstream for
bumpless initialization purposes. It is the inverse interpolation of the out-
put and is the value for the upstream block to write to avoid bumping the
process.
With V4.2 and later software, BCALCO contains the initialization output
which was formerly contained in the INITO parameter. The initialization
output data bit is set true when:
+ the block is in manual or initializing
+ the downstream block has passed an initialization request via the
BCALCI input of this block.
The block clears the initialization bit when none of those conditions exist.
If you expect an upstream block to initialize when this one is doing so, you
connect BCALCO to the BCALCI input of the upstream block so that
the block can sense when this block is in open cascade condition.
BLKSTA Block Status is a 32-bit output, bit-mapped to indicate the blocks opera-
tional states. For the CHARC block, only the following bits are used:
* Bit 0 is the least significant, low order bit.
CRIT Criticality is an integer output that indicates the priority, ranging from 1
to 5, of the blocks highest currently active alarm (1 is the highest priority).
An output of zero indicates the absence of alarms.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
M
A
O
W
L
C
K
O
N
U
D
E
F
M
A
Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
11 MA Manual(= false)/Auto(= true) BLKSTA.B21
14 UDEF Undefined BLKSTA.B18
15 ON Compound On BLKSTA.B17
20 WLCK Workstation Lock BLKSTA.B12
26 MAO Manual/Auto Override BLKSTA.B6
B0193AX Rev AB 16. CHARC Characterizer Block
516


DEFINE Define is a data store which indicates the presence or absence of configura-
tion errors. The default is 1 (no configuration errors). When the block ini-
tializes, DEFINE is set to 0 if any configured parameters fail validation
testing. In that case, no further processing of the block occurs. To return
DEFINE to a true value, correct all configuration errors and re-install the
block.
DELTI1 Change Delta for Input Range 1 is a real value that defines the minimum
percent of the input range that triggers change driven connections for
parameters in the range of RI1. The default value is 1.
Entering a 1 causes the Object Manager to recognize and respond to a
change of 1 percent of the full error range. If communication is within the
same CP that contains the blocks compound, change deltas have no
effect.
Refer to Peer-to-Peer Connections of Real-Type Block Inputs on
page 23 for details on how the I/A Series software affects the change delta
percentage during operation.
DELTO1 Change delta for Output Range 1 is a configurable real value that defines
the minimum percent of the output range that triggers change-driven
connections for parameters in the range RO1. The default value is 1.0 per-
cent. If communication is within the same control station that contains
the blocks compound, DELTO1 has no effect.
DESCRP Description is a user-defined string of up to 32 characters that describe the
blocks function (for example, PLT 3 FURNACE 2 HEATER CON-
TROL).
EI1 Engineering Units for Input Range 1, as defined by the parameters
HSCI1, LSCI1, and DELTI1, is the engineering units text for the values
defined by Input Range 1. Deg F or pH are typical entries.
ENDP End Point is an integer input that specifies the index number of the break-
point at which the active portion of the characterization curve ends. The
default value of 21 closes the active portion of the curve at (X_21, Y_21).
You can change ENDP only by reconfiguring the block. ENDP must be
greater than STARTP.
EO1 Engineering Units for Output Range 1, as defined by the parameters
HSCO1, LSCO1, and DELTO1, is the engineering units text for the val-
ues defined by Output Range 1. Deg F or pH are typical entries.
Make the units for the Output Range (EO1) consistent with the units of
Input Range 1 (EI1).
ERCODE Error Code is a string data store which indicates the type of configuration
error or warning encountered. The error situations cause the blocks
DEFINE parameter to be set false, but not the warning situations. Valida-
tion of configuration errors does not proceed past the first error encoun-
tered by the block logic. The block detailed display shows the ERCODE
16. CHARC Characterizer Block B0193AX Rev AB
517


on the primary page, if it is not null. For the CHARC block, the following
list specifies the possible values of ERCODE, and the significance of each
value in this block:
EROPT Error Option is a short integer. If PROPT is true, EROPT specifies how
the block responds to MEAS when the MEAS parameter is in error.
EROPT has a range of 0 to 2, where:
The block disregards EROPT if PROPT is configured false. If EROPT =
0, a block in a cascaded scheme does not open the cascade in response to
an error of its input signal, even if PRIBLK is configured true.
Message Value
W43 INVALID PERIOD/
PHASE COMBINATION
PHASE does not exist for given
block PERIOD, or block
PERIOD not compatible with
compound PERIOD.
W44 INVALID
ENGINEERING RANGE
High range value is less than or
equal to low range value.
W46 INVALID INPUT
CONNECTION
The source parameter specified in
the input connection cannot be
found in the source block, or the
source parameter is not connect-
able, or an invalid boolean exten-
sion connection has been
configured.
W53 INVALID
PARAMETER VALUE
A parameter value is not in the
acceptable range. The
X_parameters for STARTP to
ENP are not monotonically
increasing.
W58 INSTALL ERROR;
DELETE/UNDELETE BLOCK
A Database Installer error has
occurred.
0 = The block ignores the errors.
1 = The block sets the ERROR bit in OUT if the MEAS parame-
ter:
+ has its BAD status bit set true;
+ has its OOS status bit set true;
+ is experiencing peer-to-peer path failure.
2 = The block sets the ERROR bit in OUT if the MEAS parame-
ter:
+ has its BAD status bit set true;
+ has its OOS status bit set true;
+ has its ERROR status bit set true;
+ is experiencing peer-to-peer path failure.
B0193AX Rev AB 16. CHARC Characterizer Block
518


EXTOPT Extender Block Option is a short integer input that allows the block to be
used as an extension to a host block.
0 = Non-extender
1 = Standard characterization extender
2 = Thermocouple signal conversion extender
The host blocks EXTBLK parameter must be linked to this blocks BLK-
STA parameter. This block and its host block must reside in the same
compound, and this block must precede (that is, must be installed in the
CP database before) the host block, to avoid having the host go to the
Undefined state. When the host block runs, it passes control to the
extender block. When the extender block finishes its calculations, the host
block regains control.
When the EXTOPT parameter is set to 1 or 2, indicating that the block is
running as an extender, the PHASE parameter is set to -1. The CONFIG
overlay for the CHARC block detail display shows -1 for the PHASE
parameter when the extender block option (EXTOPT) is set.
HOR High Out-of-Range is a boolean output that is set true if any one of the
following cases occurs:
+ The upper range of an RTD table has been exceeded during RTD
signal conversion.
+ The upper range of the 100 ohms IEC table has been exceeded
during cold junction compensation for thermocouple signal
conversion.
+ The compensated millivolt value of a thermocouple signal conver-
sion has exceeded the upper range of the SCI table in use.
+ The compensated millivolt value of a special thermocouple signal
conversion has exceeded the upper range of the characterizer
block.
+ The raw high value of a linear/square root signal conversion has
been exceeded.
+ The upper end-point of the characterizer has been exceeded in a
characterizer signal conditioning.
+ The output has been modified due to clamping based on HSCO1.
HSCI1 High Scale for Input Range 1 is a real value that defines the upper limit of
the measurement ranges. EI1 defines the units. Make the range and units
consistent with the measurement source. A typical value is 100 (percent).
HSCO1 High Scale for Output Range 1 is a real value that defines the upper limit
of the ranges for Output 1. A typical value is 100 (percent). EO1 define
the units. Make the range and units consistent with those of the output
destination.
16. CHARC Characterizer Block B0193AX Rev AB
519


INHIB Inhibit is a boolean input. When true, it inhibits all block alarms; the
alarm handling and detection functions are determined by the INHOPT
setting. Alarms may also be inhibited based on the compound parameter
CINHIB.
INHOPT Inhibit Option specifies the following actions applying to all block alarms:
INHSTA Inhibit Status contains packed long values that represent the actual inhibit
status of each alarm type configured in the block. For the CHARC block,
only the following bits are used:
0 = When an alarm is inhibited, disable alarm messages but do
not disable alarm detection.
1 = When an alarm is inhibited, disable both alarm messages and
alarm detection. If an alarm condition already exists at the
time the alarm transitions into the inhibited state, clear the
alarm indicator.
2 = Same as 0 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages.
Into alarm messages may be acknowledged by explicitly set-
ting UNACK false.
3 = Same as 1 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages.
Into alarm messages may be acknowledged by explicitly set-
ting UNACK false.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
U
N
A
C
K
I
N
H
O
O
R

Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
28 OOR Out-of-Range Alarm Inhibited INHSTA.B4
29 INH Inhibit Alarm INHSTA.B3
30 UNACK Unacknowledged INHSTA.B2
* Bit 0 is the least significant, low order bit.
B0193AX Rev AB 16. CHARC Characterizer Block
520


INITMA Initialize Manual/Auto specifies the desired state of the MA input during
initialization, where:
0 = Manual
1 = Auto
2 = The MA state as specified in the checkpoint file.
The block asserts this initial M/A state whenever:
+ It is installed into the Control Processor database.
+ The Control Processor undergoes a reboot operation.
+ The compound in which it resides is turned on.
+ The INITMA parameter itself is modified via the control configu-
rator. (The block does not assert INITMA on ordinary
reconfiguration.)
INITMA is ignored if MA has an established linkage.
INITO Initialization Output is set true when the primary cascade is open for any
reason, and returned to false when cascade closure is detected. The INITO
output of a downstream block is normally connected to the INITI of the
next upstream block, and serves to notify the upstream block of the open
loop condition. The information conveyed by the short value of INITO is
currently contained in the status bits of BCALCO, but INITO/INITI
have been retained for reasons of backward compatibility. This block
keeps INITO True, for one cycle (PRIBLK = 0), until the acknowledge is
received from upstream (PRIBLK = 1 and PRITIM = 0.0), or for a fixed
time delay (PRIBLK = 1 and PRITIM = nonzero).
LOCKID Lock Identifier is a string identifying the workstation which has locked
access to the block via a successful setting of LOCKRQ. LOCKID has the
format LETTERBUG:DEVNAME, where LETTERBUG is the 6-char-
acter letterbug of the workstation and DEVNAME is the 1 to 6 character
logical device name of the Display Manager task.
LOCKRQ Lock Request is a boolean input which can be set true or false only by a
SETVAL command from the LOCK U/L toggle key on workstation dis-
plays. When LOCKRQ is set true in this fashion a workstation
identifier accompanying the SETVAL command is entered into the
LOCKID parameter of the block. Thereafter, set requests to any of the
blocks parameters are honored (subject to the usual access rules) only
from the workstation whose identifier matches the contents of LOCKID.
LOCKRQ can be set false by any workstation at any time, whereupon a
new LOCKRQ is accepted, and a new ownership workstation identifier
written to LOCKID.
LOOPID Loop Identifier is a configurable string of up to 32 characters which iden-
tify the loop or process with which the block is associated. It is displayed
on the detail display of the block, immediately below the faceplate.
16. CHARC Characterizer Block B0193AX Rev AB
521


LOR Low Out-of-Range is a boolean output that is set true if any one of the fol-
lowing cases occurs:
+ The lower range of an RTD table has been exceeded during RTD
signal conversion.
+ The lower range of the 100 ohms IEC table has been exceeded
during cold junction compensation for thermocouple signal
conversion.
+ The compensated millivolt value of a thermocouple signal conver-
sion has exceeded the lower range of the SCI table in use.
+ The compensated millivolt value of a special thermocouple signal
conversion has exceeded the lower range of the characterizer block.
+ The raw low value of a linear/square root signal conversion has
been exceeded.
+ The lower end-point of the characterizer has been exceeded in a
characterizer signal conditioning.
+ The output has been modified due to clamping based on LSCO1.
LSCI1 Low Scale for Input Range 1 is a real value that defines the lower limit of
the measurement ranges. A typical value is 0 (percent). EI1 defines the
units. Make the range and units consistent with those of the measurement
source.
LSCO1 Low Scale for Output Range 1 is a real value that defines the lower limit of
the ranges for Output 1. A typical value is 0 (percent). EO1 defines the
units. Make the range and units consistent with those of the output desti-
nation.
MA Manual Auto is a boolean input that controls the Manual/Automatic
operating state (0 = false = Manual; 1 = true = Auto). In Auto, given the
measurement value, the block computes the output according to its spe-
cific algorithm. The block automatically limits the output to the output
range specified between LSCO1 and HSCO1, for analog blocks. In Man-
ual, the algorithm is not performed, and the output is unsecured. An
external program can then set the output to a desired value.
MEAS Measurement is an input identifying the source of the blocks input, or the
controlled variable.
NAME Name is a user-defined string of up to 12 characters used to access the
block and its parameters. It is used internally.
ORAG Out-of-Range Alarm Group is a short integer input that directs Out-of-
Range alarm messages to one of eight groups of alarm devices.
ORAO Out-of-Range Alarm Option, when configured as true, enables an alarm
message for each state change of either out-of-range parameter (LOR or
HOR). This parameter is not writable while the block is in operation.
B0193AX Rev AB 16. CHARC Characterizer Block
522


ORAP Out-of-Range Alarm Priority is an integer input, ranging from 1 to 5, that
sets the priority level of the out-of-range alarm (1 is the highest priority).
ORAT Out-of-Range Alarm Text is a user-configurable text string of up to
32 characters, sent with the out-of-range alarm message to identify it.
OUT Output, in Auto mode, is the result of the block algorithm applied to one
or more input variables. In Manual, OUT is unsecured, and can be set by
you or by an external task.
OWNER Owner is a string of up to 32 ASCII characters which are used to allocate
control blocks to applications. Attempts to set Owner are successful only
if the present value of Owner is the null string, an all-blank string, or iden-
tical to the value in the set request. Otherwise the request is rejected with a
LOCKED_ACCESS error. Owner can be cleared by any application by
setting it to the null string; this value is always accepted, regardless of the
current value of Owner. Once set to the null string, the value can then be
set as desired.
PERIOD Period is an indexed input that dictates the blocks execution time base
and allowable PHASE values. For stations other than Integrators and
Gateways, PERIOD values range from 0 to 13 and map to the following
period time lengths. (Integrator and Gateway blocks have different period
values than shown here.)
* If the BPC is 0.2 sec., this period is treated internally as 0.6 sec., but the
PERIOD parameter remains 1.
** If the BPC is 2.0 sec., this period is treated internally as 6.0 sec., but the
PERIOD parameter remains 10.
*** If the BPC is 0.5 sec., this period is treated internally as 0.5 sec., but
the PERIOD parameter remains 11.
****If the BPC is not 2.0 sec., this period is treated internally as 5.0 sec.,
but the PERIOD parameter remains 12.
***** Available in CP40, CP40B, CP60 and later control processors.
PHASE Phase is an integer input that causes the block to execute at a specific BPC
within the time determined by the PERIOD. For instance, a block with
PERIOD of 3 (2.0 sec) can execute within the first, second, third, or
Period Length Period Length
0 0.1 sec 7 10 min
1 0.5 sec* 8 60 min
2 1.0 sec 9 0.2 sec
3 2.0 sec 10 5.0 sec**
4 10 sec 11 0.6 sec***
5 30 sec 12 6.0 sec****
6 1 min 13 0.05 sec*****
16. CHARC Characterizer Block B0193AX Rev AB
523


fourth BPC of the 2-second time period, assuming the BPC of the Con-
trol Processor is 0.5 sec. Refer to the appropriate Integrated Control Soft-
ware Concepts document (B0700AG or B0193AW).
NOTE
When the EXTOPT parameter is set to 1 or 2, indicating that the block is running
as an extender, the PHASE parameter is set to -1. The CONFIG overlay for the
CHARC block detail display shows -1 for the PHASE parameter when the extender
block option (EXTOPT) is set.
PRIBLK Primary Block is a configuration option. When true (=1), PRIBLK
enables a block in a cascaded configuration to initialize without bumping
the process, either at initial startup or whenever control is transferred up
to a primary block. Depending on the value of PRITIM, PRIBLK does
this by forcing the AOUT block to remain in the Hold state until the
Acknowledge status bit (Bit 10) of MEAS is detected from the upstream
block (PRITIM = 0.0), or until the time defined by PRITIM expires
(PRITIM > 0.0). In the latter case, the explicit acknowledge from the
upstream block is not needed.
Use PRIBLK in a cascade situation when the source of the block's input
connection needs to be initialized.
For correct operation, set EROPT = 1 or 2, and implement the three con-
nections between each primary-secondary block combination. These con-
nections include BCALCI/BCALCO, and OUT/RSP (or OUT/MEAS).
Except for the most primary controller block, it is recommended that
PRIBLK be set true for all applicable blocks in a cascaded scheme. When
PRIBLK is false (default value), no special handling takes place.
Refer to PRIBLK and PRITIM Functionality on page 528 for more
information on this parameter.
PRITIM Primary Cascade Timer is a configurable parameter used to delay the clos-
ing of the cascade to a primary block, when the output is initialized in the
CHARC block. It is used only if the PRIBLK option is set. The cascade is
closed automatically when the timer expires without requiring an explicit
acknowledge by the upstream block logic.
Refer to PRIBLK and PRITIM Functionality on page 528 for more
information on this parameter.
PROPT Propagate Error Option is a boolean input. When true, PROPT sets the
ERROR status bit of the output parameter if the input to the MEAS
parameter is in error while the block is in Auto. The input to the MEAS
parameter is in error when:
+ Its BAD status bit is set true.
+ Its OOS (Out-of-Service) status bit is set true.
+ Its ERROR status bit is set true.
B0193AX Rev AB 16. CHARC Characterizer Block
524


+ It is experiencing peer-to-peer path failure.
If a transition to Manual occurs while the ERROR status is true, it
remains true until either a set command is written to that output or until
the block transfers to Auto with the error condition returned to normal.
PRSCAS Present Cascade State is a data store that indicates the cascade state. It has
the following possible values:
PRTYPE Priority Type is an indexed (0 to 9) output parameter that indicates the
alarm type of the highest priority active alarm. The PRTYPE outputs of
this block include the following alarm types:
0 = No active alarm
25 = Out-of-Range Alarm
RI1 Range Input is an array of real values that specify the high and low engi-
neering scale and change delta of a particular real input. For a given block,
it also forms an association with a group of real input parameters that have
the same designated range and change delta.
RO1 Range Output is an array of real values that specify the high and low engi-
neering scale of a particular real output. For a given block, it also forms an
association with a group of real output parameters that have the same des-
ignated range.
STARTP Start Point is an integer input that specifies the index number of the
breakpoint at which the active portion of the characterization curve
begins. The default value of 1 starts the active portion of the curve at
(X_1, Y_1). You can change STARTP only by reconfiguring the block.
STARTP must be less than ENDP.
STPOPT Step Function Option enables the discontinuous step function and
disables the interpolation function in the CHARC block
TYPE When you enter CHARC or select CHARC from the block type list
under Show, an identifying integer is created specifying this block type.
UNACK Unacknowledge is a boolean output that the block sets to True when it
detects an alarm. It is typically reset by operator action.
X_1 to X_21 X_1 through X_21 are the abscissa values of the first through the twenty-
first breakpoints in the series of line segments that make up the character-
Value State Description
1 INIT_U unconditional initialization of the primary
cascade is in progress.
2 PRI_OPN the primary cascade is open.
3 INIT_C conditional initialization of the primary
cascade is in progress.
4 PRI_CLS the primary cascade is closed.
16. CHARC Characterizer Block B0193AX Rev AB
525


ization curve. The abscissa value (the value of X) must be monotonically
increasing with the X index number; that is, X_2 must have a greater value
than X_1, X_3 must be greater than X_2, and so on. If this condition is
not met, the block is declared undefined at installation time and is not
operational. X values are measurements in this curve and take on the range
and units of the measurement (HSCI1, LSCI1, and EI1).
Y_1 to Y_21 Y_1 through Y_21 are the ordinate values of the first through the twenty-
first breakpoints in the series of line segments that make up the character-
ization curve. Y values are outputs in this curve and take on the range and
units of the output (HSCO1, LSCO1, and EO1).
B0193AX Rev AB 16. CHARC Characterizer Block
526


16.4 Detailed Operation
The active portion of the characteristic curve is specified by the parameters STARTP and ENDP,
which designate the starting and ending breakpoints, respectively. These parameters are specified
in terms of the index numbers (1 through 21) of the desired start and end breakpoints. The closed
interval containing all the line segments between the start and end breakpoints becomes the active
portion of the characteristic curve. Within this active portion, the block performs piecewise linear
interpolation on the measurement. See Figure 16-2.
When specifying the coordinates of up to 21 breakpoints, the set of X-abscissa values contained
between STARTP and ENDP must be actually increasing with the X index number (X_2 must be
greater than X_1, X_3, greater than X_2, and so on). If this condition is not met, the block is
declared undefined at installation and is not operational.
CHARC can also be configured to use a discontinuous step function on the measurement value
by setting the STPOPT option parameter. This disables CHARCs normal interpolation function
and instead sets the OUT parameter to a given constant Y value according to the following
formula:
For any X_i MEAS < X_i+1, OUT = Y_i
where MEAS is the measurement parameter and OUT is the output parameter.
In Auto, given the measurement value, the block determines the output using a straight line inter-
polation within the line segment that includes the measurement value.
If the measurement takes on a value outside the closed interval between the start and end break-
points, the output is computed by an extrapolation based upon the closest line segment contained
within the specified closed interval.
After characterization, the block automatically limits the output to the specified output range
(between LSCO1 and HSCO1) of the output parameter. This prevents the output from exceed-
ing reasonable bounds when the measurement is extrapolated beyond the active portion of the
characteristic curve. You can set ORAO for out-of-range alarming when the measurement does
overstep the output range. When ORAO is set and the alarm has high enough priority (ORAP),
the block sets OOR Alarm Status Boolean, and an alarm message text (ORAT) is sent to the con-
figured alarm group (ORAG). The OOR status bit remains set until the measurement returns
within the HSCO1 and LSCO1 limits.
Unacknowledge (UNACK) is a boolean output parameter which is set true, for notification pur-
poses, whenever the block goes into alarm. It is settable, but sets are only allowed to clear
UNACK to false, and never in the opposite direction. The clearing of UNACK is normally via an
operator acknowledge pick on a default or user display, or via a user task.
In Manual, characterization is not performed, and the output is unsecured. An external program
can then set the output (which is not limited while the block is in Manual) to a desired value.
16. CHARC Characterizer Block B0193AX Rev AB
527

Figure 16-2. Functional Diagram, Characterizer Block
When EXTOPT is set, the CHARC block performs ordinary characterization (EXTOPT = 1) or
thermocouple compensation (EXTOPT = 2). The reference value is supplied by the AIN or
MAIN block connected to the extension. If XREFOP is set in the AIN/MAIN block, the refer-
ence value is provided in degrees Celsius by the XREFIN input. Otherwise, the AIN or MAIN
block converts the RTD input from Channel 9 in the FBM from Ohms to degrees Celsius.
In either case, the CHARC block converts the reference value from degrees Celsius to mV, using a
reverse Y-to-X piecewise linear interpolation of its configured segments. The AIN/MAIN logic
then adds the result of the conversion to the input signal, converting the compensated value from
mV back to degrees Celsius, using a forward piecewise linear interpolation of the same segments
in the CHARC block. As with the X values in X-to-Y piecewise linear interpolation, the Y values
must be increasing (that is, the value at Y_2 must be greater than Y_1, Y_3, greater than Y_2, and
so on), or the block is declared undefined at installation and does not operate.
When the block is in Auto, status propagation from input to output occurs, in accordance with
these rules:
+ The Bad and Out-of-Service status bits of MEAS are copied to the Bad and Out-of-
Service status bits of OUT.
+ When option parameter PROPT is true, the Error status bit of OUT is set true or
false based on the value of parameter EROPT, as follows:
EROPT = 0: The Error status bit of OUT is set false.
EROPT = 1: The Error status bit of OUT is set true if MEAS has Bad or Out-of-Ser-
vice status, or if the OM field of MEAS status has any value other than 1
(ON_SCAN).
Note: A characterization curve can start and end with any of
the points between 1 and 21. STARTP defines the first
breakpoint and ENDP defines the last breakpoint. ENDP
* If STPOPT is set to true, the interpolation function is
disabled and instead, CHARC performs the
must be greater than STARTP.
discontinuous step function.
MEAS
STARTP(1)
MA
OUT (EO1)
HSCO1
LSCO1
Interpolation *
Interval
MEAS
(EI1)
ENDP(21)
OUT
(X1, Y1)
(X2, Y2)
(X20, Y20)
(X21, Y21)
(X3, Y3)
B0193AX Rev AB 16. CHARC Characterizer Block
528


EROPT = 2: The Error status bit of OUT is set true if MEAS has Bad, Out-of-Ser-
vice, or Error status, or if the OM field of MEAS status has any value other than 1
(ON_SCAN).
Cascade initialization is accomplished by use of the BCALCI, BCALCO, EROPT, PRSCAS, and
PRIBLK parameters, and several parameter status bits.
If the CHARC block is an intermediate member of a cascade, its PRIBLK option should be set
true, its BCALCO parameter should be connected to the BCALCI input of the upstream block,
and its MEAS input should be connected to the output of the upstream block. In any case, the
OUT parameter of the CHARC block should be connected to the input of the downstream
block, and its BCALCI to the BCALCO of the downstream block.
The CHARC block considers the cascade to be open in the following situations:
+ The CHARC block is in Manual mode.
+ PROPT is true and EROPT = 1 or 2, and the status of MEAS fulfills the conditions
listed above for the Error status bit of OUT to be set true. In this case, the block out-
put is in HOLD mode.
+ The cascade is open downstream, as indicated by the conditional or unconditional
initialization status bit of the blocks BCALCI parameter. If the unconditional initial-
ization bit is true, the blocks output OUT tracks the value of BCALCI. If the
conditional initialization bit is true, the value of OUT track BCALCI if the block is in
Auto, and retains its value if the block is in Manual.
The upstream actions taken by the CHARC block when it detects an open cascade are as follows:
+ An initialization request is sent via the status bits of BCALCO.
+ An inverse piecewise linear interpolation is performed on the output to determine the
abscissa producing that output ordinate, and the result becomes the back-
calculated BCALCO value.
+ The back-calculated value of BCALCO is retained until the open cascade condition
no longer exists, and, in addition, the acknowledgment from upstream has been
received via a status bit of MEAS.
A unique result of the inverse interpolation is needed for the back calculation, and this will only
be possible if the Y coordinates of the breakpoints are all either actually increasing or actually
decreasing (not monotonically). If PRIBLK is set true in the block, this is verified at validation
time. Failure of this validation produces an appropriate message in ERCODE, and the CHARC
block is set Undefined.
16.4.1 PRIBLK and PRITIM Functionality
The Primary Block (PRIBLK) parameter indicates whether the CHARC block has a connection
from an upstream block (PRIBLK=1) or not (PRIBLK=0). Its value, together with that of the
Primary Cascade Timer (PRITIM), determines whether the CHARC block remains in Hold for a
fixed time delay (of length defined by PRITIM), or ends the Hold when the Acknowledge status
bit (Bit 10) of MEAS is detected from the upstream block (if PRITIM = 0.0). During initializa-
tion, the acknowledgement is not required and a Hold of one cycle only occurs.
529


17. CIN Contact Input Block
This chapter covers the Contact Input Block, or CIN, its basic operations, features and
parameters, bad input, out-of-service and error conditions, manual mode, messages and
alarms, application diagrams, and a valid input connection appendix.
17.1 Overview
The Contact Input Block (CIN) provides the control strategy with input capability for a single
digital input or digital output point in any Fieldbus Module (FBM) or Fieldbus Card (FBC) con-
taining such points. The block also provides alarm handling features relating to the input. See
Figure 17-1.
Figure 17-1. CIN Block Diagram
17.2 Basic Operation
The CIN block interfaces to an Equipment Control Block (ECB) which stores digital input or
output values from an FBM or FBC. Each execution cycle, the block presents the value of the
specified digital point at its output, called Contact Input (CIN). When no FBM or FBC is con-
figured, the block input is taken from another block connected to the Input (IN) parameter. The
CIN block provides optional point inversion, Bad I/O and State alarming, State Change message
processing, and Auto/Manual capability.
Point
Inversion
State
Change
Detection
Input From
Other Block
FBM and
Channel
Status
Invert
Option
Contact
Input
BAD
Detection
Alarming
State Change
Messages
State Change
Option
Messages
Alarm Options
Alarms
Input From
FBM or FBC
B0193AX Rev AB 17. CIN Contact Input Block
530


17.3 Features
+ Interfacing of the control scheme to all digital points in any FBMs or FBCs, including
digital output readback values
+ Fieldbus Module option to permit configuration of CIN blocks without FBM or FBC
connections (input from another block instead of from hardware)
+ Manual mode availability for disconnecting control schemes from the process, for
simulation and checkout purposes
+ Last good value retention in the event of bad input quality
+ Point inversion option
+ Continuous FBM input monitoring during Manual mode and last good value
retention
+ Optional bad FBM/FBC and bad input point alarming
+ Optional State Change messages and State alarming
+ Alarming in Manual option
+ Alarm inhibit options.
+ Optional State alarm inversion (into alarm message generated on transition from 1
to 0, and return to normal on transition from 0 to 1).
17.4 Parameters
Table 17-1. CIN Block Parameters
Name Description Type Accessibility Default Units/Range
Configurable Parameters
INPUTS
NAME block name string no-con/no-set --- 1 to 12 chars
TYPE block type integer no-con/no-set 31 CIN
DESCRP descriptor string no-con/no-set blank 1 to 32 chars
PERIOD block sample time short no-con/no-set 1 0 to 13
PHASE block execute phase integer no-con/no-set 0 ---
LOOPID loop identifier string no-con/set blank 1 to 32 chars
IOMOPT FBM input option boolean no-con/no-set 1 0 to 1
IOM_ID FBM identifier string no-con/no-set blank 1 to 6 chars
PNT_NO FBM point number string no-con/no-set 1 1 to 32
ANM point alarm name string no-con/no-set blank 1 to 12 chars
NM0 alarm state name 0 string no-con/no-set blank 1 to 12 chars
NM1 alarm state name 1 string no-con/no-set blank 1 to 12 chars
IVO invert option boolean no-con/no-set 0 0 to 1
MA manual/auto boolean con/set 0 0 to 1
INITMA initialize MA short no-con/no-set 1 0 to 2
INHOPT inhibit option short no-con/no-set 0 0 to 3
INHIB alarm inhibit boolean con/set 0 0 to 1
INHALM inhibit alarm pack_b con/set 0 0 to 0xFFFF
17. CIN Contact Input Block B0193AX Rev AB
531


17.4.1 Parameter Definitions
ACHNGE Alternate Change is an integer output which is incremented each time a
block parameter is changed via a Set command.
INVALM invert alarm option boolean no-con/no-set 0 0 to 1
MANALM manual alarm option short no-con/no-set 0 0 to 1
SAO state alarm option boolean no-con/no-set 0 0 to 1
SAP state alarm priority integer con/set 5 1 to 5
SAG state alarm group short no-con/set 1 1 to 8
BAO bad alarm option boolean no-con/no-set 0 0 to 1
BAT bad alarm text string no-con/no-set blank 1 to 32 chars
BAP bad alarm priority integer con/set 5 1 to 5
BAG bad alarm group short no-con/set 1 1 to 8
SCOPT state change option short no-con/no-set 0 0 to 3
SCGRP state change group short no-con/set 1 1 to 8
SCTXT0 state change 0 text string no-con/no-set blank 1 to 32 chars
SCTXT1 state change 1 text string no-con/no-set blank 1 to 32 chars
PROPT propagate error option boolean no-con/no-set 0 0 to 1
IN input boolean con/set 0 0 to 1
AMRTIN alarm regeneration timer integer no-con/no-set 0 0 to 32767 s
NASTDB alarm deadband timer long integer no-con/no-set 0 0-2147483647 ms
NASOPT nuisance alarm suppres-
sion option
short no-con/no-set 0 0 to 2
Non-Configurable Parameters
OUTPUTS
ALMSTA alarm status pack_l con/no-set 0 bit map
BAD bad I/O status boolean con/no-set 0 0 to 1
BLKSTA block status pack_l con/no-set 0 bit map
CIN contact input boolean con/no-set 0 0 to 1
CRIT alarm criticality integer con/no-set 0 0 to 5
INHSTA inhibit status pack_l con/no-set 0 bit map
PRTYPE priority type integer con/no-set 0 0 to 9
QALSTA quality status pack_l con/no-set 0 0 to 0xFFFFFFFF
UNACK unacknowledge alarm boolean con/no-set 0 0 to 1
DATA STORES
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
ALMOPT alarm options pack_l no-con/no-set 0 0 to 0xFFFFFFFF
DEFINE no config errors boolean no-con/no-set 1 0 to 1
DEV_ID FBM letterbug char[6] no-con/no-set blank 1 to 6 chars
ERCODE configuration error string no-con/no-set blank 1 to 43 chars
LOCKID lock identifier string no-con/no-set blank 8 to 13 chars
LOCKRQ lock request boolean no-con/set 0 0 to 1
OWNER owner name string no-con/set blank 1 to 32 chars
Table 17-1. CIN Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
B0193AX Rev AB 17. CIN Contact Input Block
532


ALMOPT Alarm Options contains packed long values representing the alarm types
that have been configured as options in the block, and the alarm groups
that are in use.
For the CIN block, only the following bits are used:
ALMSTA Alarm Status is a 32-bit output, bit-mapped to indicate the blocks alarm
states. For the CIN block, only the following bits are used:
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
Bit Number
1
(0 to 31)
1.
Bit 0 is the least significant, low order bit.
Configured Alarm Options When True
0 (Least Significant) Alarm Group 8 in Use
1 Alarm Group 7 in Use
7 Alarm Group 1 in Use
22 Bad I/O Alarm Configured
26 State Alarm Configured
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
U
N
A
K
S
T
A
B
A
D
B
o
o
l
e
a
n
CRIT PRTYPE
Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
0 to 4
(Least Sig-
nificant)
PTYP_MSK Priority Type: See parameter
PRTYPE for values used in
the CIN block
5 to 7 CRIT_MSK Criticality; 5 = lowest prior-
ity, 1= highest
22 BAD Bad I/O Alarm ALMSTA.B10
26 STA State Alarm ALMSTA.B6
30 UNAK Unacknowledged ALMSTA.B2
17. CIN Contact Input Block B0193AX Rev AB
533


* Bit 0 is the least significant, low order bit.
AMRTIN Alarm Regeneration Timer is a configurable integer that specifies the time
interval for an alarm condition to exist continuously, after which a new
unacknowledged alarm condition and its associated alarm message is gen-
erated.
ANM Alarm Name is a user-defined string of up to 12 characters which serves as
a point descriptor label in State Alarm, State Change, and Bad Alarm mes-
sages, for example, PLT3 F2 SDR.
BAD Bad is a boolean output parameter which is set true when the connected
FBM or FBC has bad status or the connected point within it is bad. If
there is no connected FBM or FBC, BAD is true when IN is linked and
has a bad status.
BAG Bad Alarm Group is a short integer input that directs Bad alarm messages
to one of eight groups of alarm devices.
BAO Bad Alarm Option is a configurable boolean which, when true, enables
alarm generation for each state change of the BAD parameter.
BAP Bad Alarm Priority is an integer input, ranging from 1 to 5, that sets the
priority level of the Bad alarm (1 is the highest priority).
BAT Bad Alarm Text is a user-configurable text string of up to 32 characters,
sent with the Bad alarm message to identify it.
BLKSTA Block Status is a 32-bit output, bit-mapped to indicate various block oper-
ational states. For the CIN block, only the following bits are used:
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
W
L
C
K
O
N
U
D
E
F
B
A
D
M
A
F
B
M
Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
8 FBM FBM or FBC Failure BLKSTA.B24
11 MA Manual = 0, Auto = 1 BLKSTA.B21
12 BAD Bad I/O BLKSTA.B20
14 UDEF Block Undefined BLKSTA.B18
15 ON Block ON BLKSTA.B17
20 WLCK Access Locked BLKSTA.B12
B0193AX Rev AB 17. CIN Contact Input Block
534


* Bit 0 is the least significant, low order bit.
CIN Contact Input is the block output. It represents the state of the input
point specified by IOM_ID and PNT_NO when IOMOPT indicates
that an FBM or FBC is configured, or the value of the input IN otherwise.
In any case, CIN is subject to optional inversion based on the state of
option IVO.
CRIT Criticality is an integer output that indicates the priority, ranging from 1
to 5, of the blocks highest currently active alarm (1 is the highest priority).
An output of zero indicates the absence of alarms.
DEFINE Define is a data store which indicates the presence or absence of configura-
tion errors. The default is 1 (no configuration errors). When the block ini-
tializes, DEFINE is set to 0 if any configured parameters fail validation
testing. (See ERCODE for the list of all possible validation errors in this
block.) In that case, no further processing of the block occurs, including
further validation of remaining parameters. To return DEFINE to a true
value, correct all configuration errors and re-install the block. If DEFINE
= 0, the bit BLKSTA.UDEF = 1.
DESCRP Description is a user-defined string of up to 32 characters that describe the
blocks function (for example, PLT 3 FURNACE 2 HEATER CON-
TROL).
DEV_ID Device Identifier is a character array that specifies the 6-character letter-
bug of the connected FBM or FBC.
ERCODE Error Code is a string data store which indicates the type of configuration
error which caused the blocks DEFINE parameter to be set false. Valida-
tion of configuration errors does not proceed past the first error encoun-
tered by the block logic. For the CIN block, the following list specifies the
possible values of ERCODE, and the significance of each value in this
block:
IN Input is an alternate source for the CIN block input, used when there is
no connected FBM or FBC. When the block has a connected FBM or
FBC, IN reflects the actual physical input, even when the output CIN is
under Manual control or when CIN is holding the last good value due to
the quality of the physical input.
ERCODE Description
W51 Cluster I/O specified but type is not digital input, dig-
ital output, or digital input/output.
W52 PNT_NO out of range for the specified FBM or FBC.
W54 Specified IOM_ID does not exist.
17. CIN Contact Input Block B0193AX Rev AB
535


INHALM Inhibit Alarm contains packed boolean values that represent alarm genera-
tion inhibit requests for each type of alarm configured in the block. For
the CIN block, only the following bits are used:
* Bit 0 is the least significant, low order bit.
There are no mnemonic names for the individual bits of INHALM.
INHIB Inhibit is a boolean input. When true, it inhibits all block alarms; the
alarm handling and detection functions are determined by the INHOPT
setting. Alarms can also be inhibited based on INHALM and the com-
pound parameter CINHIB.
INHOPT Inhibit Option specifies the following actions applying to all block alarms:
Bit Number*
(0 to 15) Description When True
Boolean Connection
(B16 to B1)
6 Inhibit Bad I/O Alarm INHALM.B10
10 Inhibit State Alarm INHALM.B6
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
0 = When an alarm is inhibited, disable alarm messages but do not
disable alarm detection.
1 = When an alarm is inhibited, disable both alarm messages and
alarm detection. If an alarm condition already exists at the time
the alarm transitions into the inhibited state, clear the alarm
indicator.
2 = Same as 0 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages. Into
alarm messages can be acknowledged by explicitly setting
UNACK false.
3 = Same as 1 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages. Into
alarm messages can be acknowledged by explicitly setting
UNACK false.
B0193AX Rev AB 17. CIN Contact Input Block
536


INHSTA Inhibit Status contains packed long values that represent the current
inhibit status of each alarm type configured in the block. For the CIN
block, only the following bits are used:
INITMA Initialize Manual/Auto specifies the desired state of the MA input during
initialization, where:
0 = Manual
1 = Auto
2 = The M/A state as specified in the checkpoint file.
The block asserts this initial M/A state whenever:
+ It is installed into the Control Processor database.
+ The Control Processor undergoes a reboot operation.
+ The compound in which it resides is turned on.
+ The INITMA parameter is modified via the control configurator.
(The block does not assert INITMA on ordinary reconfiguration.)
INITMA is ignored if MA has an established linkage.
INVALM Invert Alarm is a configured boolean which specifies the sense of CIN
transitions considered into alarm and return to normal in State alarm
messages. Values are:
In any case, State alarm detection is disabled when option SAO is false.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
S
T
A
B
A
D

Bit Number*
(0 to 31) Name Description When True
Boolean Connection
(B32 to B1)
22 BAD Bad I/O Alarm Inhibited INHSTA.B10
26 STA State Alarm Inhibited INHSTA.B6
* Bit 0 is the least significant, low order bit.
0 = CIN transitions from 0 to 1 are considered into alarm. State
alarm messages contain the NM1 string. Transitions from 1 to 0
are considered return to normal. State alarm messages contain
the NM0 string.
1 = CIN transitions from 1 to 0 are considered into alarm. State
alarm messages contain the NM1 string. Transitions from 0 to 1
are considered return to normal. State alarm messages contain
the NM0 string.
17. CIN Contact Input Block B0193AX Rev AB
537


IOMOPT FBM Option is a boolean specifying whether an FBM or FBC connection
to the block exists. Values:
IOM_ID Fieldbus Module Identifier is a configurable string that specifies the path-
name of the FBM or FBC to which the block is connected.
IOM_ID has the form CompoundName:BlockName, where Compound-
Name is the 1-12 character name of the local compound containing the
ECB, and BlockName is the 1-12 character block name of the ECB.
If the compound containing the ECB is the CPletterbug_ECB compound
where CPletterbug is the station letterbug of the CP, the CompoundName
may be omitted from the IOM_ID configuration. In this case, the 1-12
character ECB block name is sufficient.
IVO Invert Option, when true, causes the block to invert the value of the FBM
or FBC input or the IN input before writing it to the CIN output. If IVO
is true, all alarming and state change message generation is based on the
inverted value of the input.
LOCKID Lock Identifier is a string identifying the workstation which has locked
access to the block via a successful setting of LOCKRQ. LOCKID has the
format LETTERBUG:DEVNAME, where LETTERBUG is the 6-char-
acter letterbug of the workstation and DEVNAME is the 1 to 6 character
logical device name of the Display Manager task.
LOCKRQ Lock Request is a boolean input which can be set true or false only by a
SETVAL command from the LOCK U/L toggle key on workstation dis-
plays. When LOCKRQ is set true in this fashion, a workstation identifier
accompanying the SETVAL command is entered into the LOCKID
parameter of the block. Thereafter, set requests to any of the blocks
parameters are honored (subject to the usual access rules) only from the
workstation whose identifier matches the contents of LOCKID.
LOCKRQ can be set false by any workstation at any time, whereupon a
new LOCKRQ is accepted, and a new ownership workstation identifier
written to LOCKID.
LOOPID Loop Identifier is a configurable string of up to 32 characters which iden-
tify the loop or process with which the block is associated. It is displayed
on the detail display of the block, immediately below the faceplate.
MA Manual/Auto is a boolean input that controls the blocks operating state:
0 = False = Manual
1 = True = Auto
When in Manual, the CIN block output is released and can only be
updated manually. In Auto, CIN is secured and updated by the physical
0 = The CIN block obtains input values from the IN parameter.
1 = The block obtains input values from the FBM or FBC input
point specified by IOM_ID and PNT_NO.
B0193AX Rev AB 17. CIN Contact Input Block
538


input point value (or the value of IN when there is no connected FBM or
FBC).
MANALM Manual Alarm Option is a configurable input which enables or disables
configured alarm options to function in Manual mode. Normally alarms
are processed only in the Auto mode. Values for the CIN block:
0 = No alarming in Manual
1 = Full alarming in Manual
NAME Name is a user-defined string of up to 12 characters used to access the
block and its parameters.
NASOPT Nuisance Alarm Suppression Option is a configurable, non-settable short
integer that specifies how the nuisance alarm delay is implemented:
+ 0 = Suppress nuisance alarms by delaying the Return-to-Normal
(default) by the length of time specified in NASTDB
+ 1 = Suppress nuisance alarms by delaying alarm detection by the
length of time specified in NASTDB
+ 2 = Suppress nuisance alarms by delaying both the Alarm Detec-
tion and the Return-to-Normal by the length of time specified in
NASTDB
NASTDB Alarm Deadband Timer is a configurable long integer. Depending on the
value of NASOPT, it either specifies the deadband time interval that must
elapse before an alarm condition is allowed to return to normal, or the
length of a delay-on timer which specifies the amount of time between an
alarms detection and the announcement of the alarm. The parameter
value ranges from zero (default, no delay) to 2147483647 ms.
NM0 Name 0 is a user-defined string of up to 12 characters sent with a State
alarm message to indicate that the message is a return to normal type.
This means that CIN has transitioned from 1 to 0 if INVALM is false, or
0 to 1 if INVALM is true.
NM1 Name 1 is a user-defined string of up to 12 characters sent with a State
alarm message to indicate that the message is an into alarm type. This
means that CIN has transitioned from 0 to 1 if INVALM is false, or 1 to 0
if INVALM is true.
OWNER Owner is a string of up to 32 ASCII characters which are used to
allocate control blocks to applications. Attempts to set OWNER are suc-
cessful only if the present value of OWNER is the null string, an all-blank
string, or identical to the value in the set request. Otherwise the request is
rejected with a LOCKED_ACCESS error. OWNER can be cleared by any
application by setting it to the null string; this value is always accepted,
regardless of the current value of OWNER. Once set to the null string, the
value can then be set as desired.
17. CIN Contact Input Block B0193AX Rev AB
539


PERIOD Period is an indexed input that dictates the blocks execution time base
and allowable PHASE values. For stations other than Integrators and
Gateways, PERIOD values range from 0 to 13 and map to the following
period time lengths. (Integrator and Gateway blocks have different period
values than shown here.)
* If the BPC is 0.2 sec., this period is treated internally as 0.6 sec., but the
PERIOD parameter remains 1.
** If the BPC is 2.0 sec., this period is treated internally as 6.0 sec., but the
PERIOD parameter remains 10.
*** If the BPC is 0.5 sec., this period is treated internally as 0.5 sec., but
the PERIOD parameter remains 11.
**** If the BPC is not 2.0 sec., this period is treated internally as 5.0 sec.,
but the PERIOD parameter remains 12.
***** Available in CP40, CP40B, CP60 and later control processors.
PHASE Phase is an integer input that causes the block to execute at a specific BPC
within the time determined by the PERIOD. For instance, a block with
PERIOD of 3 (2.0 sec) can execute within the first, second, third, or
fourth BPC of the 2-second time period, assuming the BPC of the Con-
trol Processor is 0.5 sec. Refer to the appropriate Integrated Control Soft-
ware Concepts document (B0700AG or B0193AW).
PNT_NO Point Number is the FBM or FBC point to which the CIN block is con-
nected (see Appendix A Valid Input Connections on page 548).
PROPT Propagate Error Option is a boolean input which determines whether the
status of IN should be reflected in the error bit of CIN status. If the CIN
block is in Auto and no FBM or FBC is configured (IOMOPT = 0), the
true value of PROPT causes any one of the following conditions to be
reflected as an error status of CIN:
+ Bad status bit in IN
+ OOS status bit in IN
+ Error status bit in IN
+ Any value in the OM field of the IN status except 1 (ON_SCAN).
Any other value in this field indicates that the source of the con-
Period Length Period Length
0 0.1 sec 7 10 min
1 0.5 sec* 8 60 min
2 1.0 sec 9 0.2 sec
3 2.0 sec 10 5.0 sec**
4 10 sec 11 0.6 sec***
5 30 sec 12 6.0 sec****
6 1 min 13 0.05 sec*****
B0193AX Rev AB 17. CIN Contact Input Block
540


nection has been deleted or is in a nonexistent compound, or there
has been a peer-to-peer path failure.
PRTYPE Priority Type is an indexed output parameter that indicates the alarm type
of the highest priority active alarm. The PRTYPE output of this block
consists of the following alarm types:
0 = No active alarm
8 = Bad
9 = State
If both alarms are active and have the same priority, PRTYPE reports the
BAD alarm type (PRTYPE = 8).
For example, assume the Bad and State alarms are both active. If the Bad
alarm has priority 3 and the State alarm has priority 2, then CRIT = 2 and
PRTYPE = 9. If the BAD alarm has priority 1 and the State alarm has pri-
ority 4 then CRIT = 1 and PRTYPE = 8. If both alarms have priority 2,
then CRIT = 2 and PRTYPE = 8.
QALSTA Quality Status parameter (QALSTA) is a non-configurable packed long
that provides a combination of value record status, block status
(BLKSTA), and alarm status (ALMSTA) information in a single connect-
able output parameter. Available bits for this block are provided below.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
Bit
Number
1
Definition Contents
Boolean Connection
(B32 to B1)
30 Alarms Unacknowledged ALMSTA.UNA QALSTA.B2
29 Alarms Inhibited ALMSTA.INH QALSTA.B3
26 State Alarm ALMSTA.STAL QALSTA.B6
22 Bad Alarm
2
ALMSTA.IOBD QALSTA.B10
13 Bad Primary FBM BLKSTA.FBM1 QALSTA.B19
10 Bad Primary Point BLKSTA.BAD1 QALSTA.B22
5 Manual BLKSTA.MA QALSTA.B27
2 Uncertain CIN.ERR status QALSTA.B30
1 Out-of-Service CIN.OOS QALSTA.B31
0 Bad CIN.BAD status QALSTA.B32
1.
Bit 0 is the least significant, low order bit.
17. CIN Contact Input Block B0193AX Rev AB
541


SAG State Alarm Group is a short integer input that directs State alarm mes-
sages to one of eight groups of alarm devices.
SAO State Alarm Option is a configurable boolean which, when true, enables
the generation of State Alarms.
SAP State Alarm Priority is an integer input, ranging from 1 to 5, that sets the
priority level of the State alarm (1 is the highest priority).
SCGRP State Change Group is a short integer input that directs State Change
messages to one of eight groups of devices. However, Alarm Alert ignores
these messages when they arrive; State Change messages are printed only.
SCOPT State Change Option specifies which state changes of the block output
cause a State Change message to be the generated. These messages are
ignored by Alarm Alert, and are not shown in the Alarm Display; they are
printed on the alarm printers only. Depending on the value of SCOPT,
messages are generated for the following types of transitions (state
changes):
0 = No transitions (no messages generated)
1 = All transitions
2 = 0 to 1 transitions only
3 = 1 to 0 transitions only
SCTXT0 State Change Text 0 is a text string sent with the State Change message to
indicate that the state has changed from 1 to 0, after any optional inver-
sion.
SCTXT1 State Change Text 1 is a text string sent with the State Change message to
indicate that the state has changed from 0 to 1, after any optional inver-
sion.
TYPE When you enter CIN or select it from a configurator list, an identifying
integer is created specifying this block type.
UNACK Unacknowledge is a boolean output parameter which is set true, for notifi-
cation purposes, whenever the block goes into alarm. It is settable, but sets
are only allowed to clear UNACK to false, and never in the opposite direc-
tion. The clearing of UNACK is normally via an operator acknowledge
pick on a default display, user display, or Current Alarms Display, or via a
user task.
2.
This bit records the status of the primary input (CIN). This status is the inverse of
the Manual/Auto (MA) status bit in BLKSTA. This bit is not available for
I/A Series software earlier than v8.0.
B0193AX Rev AB 17. CIN Contact Input Block
542


17.4.2 Detailed Diagram
Figure 17-2. CIN Block Operational Diagram
FROM
ECB
IOM_ID
IN
IVO
SCOPT
AND
SCTXT0
SCTXT1
SAO
AND
Point
Inversion
State
Change
Detected STATE
Alarming
o
(A)
o o
o
MA
(M)
CIN o
o LAST GOOD VALUE
Channel Status Bad
IOMOPT = 1
IOMOPT = 1
IOMOPT = 0,2
IN Status Bad
IOMOPT = 1
IOMOPT = 0,2
OR
OR
OR
Use Last
Good Value
CIN.OOS
BAD
CIN.BAD
BAO
AND BAD
Alarming
INVALM
0
IOMOPT
1
PNT_NO
ECB Status Bad
IN Status OOS
ECB Status OOS
17. CIN Contact Input Block B0193AX Rev AB
543


17.4.3 Input from FBM or FBC
Key Parameters: IOM_ID, PNT_NO, CIN, IN, IVO
You specify the source FBM or FBC in the Fieldbus Module Identifier (IOM_ID) parameter, and
the point within the FBM or FBC by the Point Number (PNT_NO) parameter. The following
are the FBMs or FBCs and point numbers providing valid inputs for the CIN block:
FBM Electrical Type Valid Input Points
Valid Output Points
(Readbacks)
FBM207 Contact or dc In Points 1 to 16 None
FBM217 Group-Isolated Contact In Points 1 to 32 None
FBM219 Contact or dc In/Out Points 1 to 24 Points 25 to 32
FBM241 Contact or dc In/Out Points 1 to 8 Points 9 to 16
FBM07 Contact or dc In Points 1 to 16 None
FBM08 120 Vac In Points 1 to 16 None
FBM09 Contact or dc In; Output Switch with
Internal or External Source
Points 1 to 8 Points 9 to 16
FBM10 120 Vac In; 120 Vac Output Switch Points 1 to 8 Points 9 to 16
FBM11 240 Vac In; 240 Vac Output Switch Points 1 to 8 Points 9 to 16
FBM12 Contact or dc In Expansion Points 17 to 32 None
FBM13 120 Vac In Expansion Points 17 to 32 None
FBM14 Contact or dc In; Output Switch with
Internal or External Source
Points 17 to 24 Points 25 to 32
FBM15 120 Vac In; 120 Vac Output Switch
Expansion
Points 17 to 24 Points 25 to 32
FBM16 240 Vac In; 240 Vac Output Switch
Expansion
Points 17 to 24 Points 25 to 32
FBM17 Contact or dc In; Output Switch with
Internal or External Source
(Plus Analog I/O)
Points 7 to 10 Points 11 to 14
FBM20 240 Vac In Points 1 to 16 None
FBM21 240 Vac In Expansion Points 17 to 32 None
FBM23 HTG Interface Unit Points 1 to 32 None
FBM24 Contact or 125 V dc or
Contact Externally Powered In
Points 1 to 16 None
FBM25 Contact or 125 V dc or Contact
Externally Powered In Expansion
Points 17 to 32 None
FBM26 Contact or 125 V dc or Contact
Externally Powered In; Externally
Powered Output Switch
Points 1 to 8 Points 9 to 16
FBM27 Contact or 125 V dc or Contact
Externally Powered In; Externally
Powered Output Switch Expansion
Points 17 to 24 Points 25 to 32
B0193AX Rev AB 17. CIN Contact Input Block
544


The points in the above table identified as valid output points are readback values from physical
outputs. You can use these values as inputs to the CIN block.
If the block is in Auto, the value of the input point is presented at the blocks output, CIN. If any
of the bad input conditions of Section 17.5.1 are true, or the out-of-service condition of
Section 17.5.2 is true, the CIN parameter value is not updated this cycle. This provides the block
with a last good value functionality. The value of CIN is not updated from the input point if
the block is in Manual (see Section 17.6).
The IN parameter always tracks the current value of the input point, regardless of the quality of
the point, and regardless of the Auto/Manual state of the block.
The values of both IN and CIN reflect the Invert Option (IVO) as described in Table 17-2.
When IVO is true, a true input point value is treated as false, and a false input point value is
treated as true.
Extra care is required when considering the relationship between the CIN, IN, IVO, and
IOMOPT parameter values. The table below summarizes the effects that the IOMOPT and IVO
values and the block state (Auto or Manual) have on the resulting values of CIN and IN.
FBM41 Contact or 60 V dc In/Out Points 1 to 8 Points 9 to 16
FBM42 Contact or 60 V dc In/Out Points 17 to 24 Points 25 to 32
FBC07 Isolated Voltage or
Non-Isolated Contact In
Points 1 to 32 None
FBC09 Isolated Contact or Relay Out None Points 1 to 32
FBC10 Configurable ac or dc In; Configurable
ac, dc, or Contact Out
Points 1 to 8, 17 to
24, 33 to 40, and
49 to 56
Points 9 to 16, 25 to
32, 41 to 48, and
57 to 64
FBC07
Redundant
Isolated Voltage or Non-Isolated
Contact In, Redundant
Points 1 to 32 None
FBC09
Redundant
Isolated Contact or Relay Out,
Redundant
None Points 1 to 32
FBC10
Redundant
Configurable ac or dc In; Configurable
ac, dc or Contact Out, Redundant
Points 1 to 8, 17 to
24, 33 to 40, and
49 to 56
Points 9 to 16, 25 to
32, 41 to 48, and 57
to 64
Table 17-2. Relationship Between IOMOPT, IVO, MA, CIN, and IN
IOMOPT
Manual/
Auto IVO CIN, IN
0 Auto 0 (N) CIN = IN = value of INs source connection
0 Auto 1 (Y) CIN = inverted value of INs source connection
IN = value of INs source connection (no inversion)
FBM Electrical Type Valid Input Points
Valid Output Points
(Readbacks)
17. CIN Contact Input Block B0193AX Rev AB
545


17.4.4 Input from Another Block
Key Parameters: IOMOPT, CIN, IN, IVO
When FBM Option (IOMOPT) has the value 0, indicating that there is no connected FBM or
FBC, the value of IN is copied to CIN, after any necessary inversion based on IVO. IN is not
copied to CIN when the block is in Manual.
IN is ordinarily connected to another block, and used for control scheme debugging.
17.5 Bad Input, Out-of-Service and Error Conditions
17.5.1 Bad Input Condition
Key Parameters: BAD, PNT_NO, BLKSTA, IOM_ID, CIN, IN
When there is a connected FBM or FBC, the BAD parameter, the bad status of CIN, and the bad
status of IN are simultaneously set true, provided any one of the following conditions is true:
+ The FBM or FBC itself is bad, that is, it has detected a fatal hardware fault, or other
fatal fault. (In this case BLKSTA.FBM is also set true.)
+ The connected point within the FBM or FBC is bad. (In this case, BLKSTA.BAD is
also set true.)
0 Manual 0 (N) CIN = manual value
IN = value of INs source connection
0 Manual 1 (Y) CIN = manual value
IN = value of INs source connection
1 Auto 0 (N) If FBM value is OK:
+ CIN = IN = FBM value
If FBM value is BAD or OOS:
+ CIN = unchanged
+ IN = FBM value
1 Auto 1 (Y) If FBM value is OK:
+ CIN = IN = inverted FBM value
If FBM value is BAD or OOS:
+ CIN = unchanged
+ IN = inverted FBM value
1 Manual 0 (N) CIN = manual value
IN = FBM value
1 Manual 1 (Y) CIN = manual value
IN = inverted FBM value
Table 17-2. Relationship Between IOMOPT, IVO, MA, CIN, and IN (Continued)
IOMOPT
Manual/
Auto IVO CIN, IN
B0193AX Rev AB 17. CIN Contact Input Block
546


If there is no connected FBM or FBC, the two conditions above are replaced by the following:
+ The IN value is linked and it has bad status.
If the block is in Manual, however, the status bits of CIN are not changed by any of the above
conditions.
17.5.2 Out-of-Service Condition
Key Parameters: IOM_ID, CIN, IN
When there is a connected FBM or FBC, the out-of-service status of CIN and the out-of-service
status of IN are set true if the FBM or FBC itself is out-of-service.
If there is no connected FBM or FBC, the out-of-service status of CIN reflects the out-of-service
status of IN.
If the block is in Manual, the status bits of CIN are not changed by the above condition.
17.5.3 Error Condition
Key Parameters: PROPT, CIN, IN
If the Propagate Error Option (PROPT) parameter is true, the error status bit of CIN is set true
when there is no FBM or FBC connection and IN has one or more of the following conditions:
+ The Dad status bit is set.
+ The Out-Of-Service status bit is set.
+ The error status bit is set.
+ The OM field of IN status has any value except ON_SCAN.
If the block is in Manual, the status bits of CIN are not changed by the above conditions.
17.6 Manual Mode
Key Parameters: MA, CIN, IN, BAD, MANALM
When the CIN block is in the Manual mode, it does not update the value of the CIN output.
CIN is released and becomes settable by you. When an FBM or FBC is connected, the IN param-
eter continues to reflect the value of the physical input, regardless of the manual value set into
CIN.
In Manual mode, the status bits (Bad, Out-of-Service, and Error) of the CIN output are not
updated. Since they are not cleared, they retain their last values before the transition to Manual.
The BAD parameter is updated when in Manual, based on the conditions stated in
Section 17.5.1.
The PROPT parameter is inactive when the block is in Manual (that is, the Error bit of the CIN
status is not set based on various status bits of IN when no FBM or FBC is connected).
If MANALM is true, alarming is enabled while in Manual mode. The Bad I/O Alarm is based on
the value of the BAD parameter, and the State Alarm on the current value of CIN, as set by you.
17.7 Messages and Alarming
The following sections discuss messages and alarms generated by the CIN block.
17. CIN Contact Input Block B0193AX Rev AB
547


17.7.1 State Change Messages
Key Parameters: SCOPT, CIN, SCTXT0, SCTXT1, IVO, SCGRP
State Change Option (SCOPT) specifies which state changes of the block output cause a State
Change message to be the generated.
NOTE
State Change messages are ignored by Alarm Alert, and are not shown in the Alarm
Display; they are printed on the alarm printers only.
A value of 0 in SCOPT disables State Change detection.
When SCOPT is set to 1, State Change messages are generated for any transition:
+ a message containing the text in State Change Text 1 (SCTXT1) is sent after any
change from 0 to 1 in the value of CIN
+ a message containing the text in State Change Text 0 (SCTXT0) is sent after any
change from 1 to 0 in the value of CIN.
NOTE
State Alarming is independent of state change detection based on SCOPT.
When SCOPT is set to 2, any change from 0 to 1 in the value of CIN results in a State Change
message containing the text string in SCTXT1.
When SCOPT is set to 3, any change from 1 to 0 in the value of CIN results in a State Change
message containing the text string in SCTXT0.
Any required inversion based on IVO is applied before state change detection.
While the State Change Group (SCGRP) parameter holds the group to which all State Change
messages are directed, Alarm Alert ignores these messages when they arrive.
17.7.2 Alarming
Key Parameters: BAO, SAO, BAD, INVALM
The CIN block supports the Bad I/O and State Alarm alarm types. The functionality of these
alarm types is discussed in the appropriate Integrated Control Software Concepts document
(B0700AG or B0193AW).
The nomenclature for identical alarm types varies from block to block for historical reasons
involving backward compatibility requirements. The nomenclature for the CIN block is as fol-
lows:
Table 17-3. Alarm Nomenclature
Type Option Priority Group Text
Default
Display
Indicator
Parameter
I/O Bad BAO = True BAP BAG BAT IOBAD BAD
State Alarm SAO = True SAP SAG NM0 or NM1 STATE CIN/INVALM
B0193AX Rev AB 17. CIN Contact Input Block
548


17.8 Application Diagram
Figure 17-3. Typical CIN Block Application
17.9 Appendix A Valid Input Connections
17.9.1 Fieldbus Modules Valid Input Connections
Hardware
Type
2
0
7
2
1
7
2
4
1
789
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
2
0
2
1
2
3
2
4
2
5
2
6
2
7
4
1
4
2
Point
1 I I I I I I I I I I I I I
2 I I I I I I I I I I I I I
TFS001
o
o
o
o
FLS001
CIN
CIN
CIN
CIN
CIN
CIN
CIN
CIN
LOGIC
Program
COUT
COUT
BI02 BI04 BI09 BI11
BO01 BO02
FBM 09
FBM 07
Flow
Switch
Feedstock
Solenoid
Valve
Tank Full
Switch
Tank Half
Full Switch
Output
Product
Solenoid
Valve
Flow
Switch
FBM207b
or
FBM 241
or
17. CIN Contact Input Block B0193AX Rev AB
549


Legend: I = Input
O = Readback from Output
NOTE
Hardware Type 23 is used for HTG Interface Unit (HIU).
3 I I I I I I I I I I I I I
4 I I I I I I I I I I I I I
5 I I I I I I I I I I I I I
6 I I I I I I I I I I I I I
7 I I I I I I I I I I I I I I
8 I I I I I I I I I I I I I I
9 I I O I I O O O I I I I O O
10 I I O I I O O O I I I I O O
11 I I O I I O O O O I I I O O
12 I I O I I O O O O I I I O O
13 I I O I I O O O O I I I O O
14 I I O I I O O O O I I I O O
15 I I O I I O O O I I I O O
16 I I O I I O O O I I I O O
17 I I I I I I I I I I I
18 I I I I I I I I I I I
19 I I I I I I I I I I I
20 I I I I I I I I I I I
21 I I I I I I I I I I I
22 I I I I I I I I I I I
23 I I I I I I I I I I I
24 I I I I I I I I I I I
25 I I I O O O I I I O O
26 I I I O O O I I I O O
27 I I I O O O I I I O O
28 I I I O O O I I I O O
29 I I I O O O I I I O O
30 I I I O O O I I I O O
31 I I I O O O I I I O O
32 I I I O O O I I I O O
Hardware
Type
2
0
7
2
1
7
2
4
1
789
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
2
0
2
1
2
3
2
4
2
5
2
6
2
7
4
1
4
2
Point
B0193AX Rev AB 17. CIN Contact Input Block
550


17.9.2 Cluster I/O Valid Input Connections
Hardware Type 60 62 86 92 94 97
Point
1 I O I I O I
2 I O I I O I
3 I O I I O I
4 I O I I O I
5 I O I I O I
6 I O I I O I
7 I O I I O I
8 I O I I O I
9 I O O I O I
10 I O O I O I
11 I O O I O I
12 I O O I O I
13 I O O I O I
14 I O O I O I
15 I O O I O I
16 I O O I O I
17 I O I I O I
18 I O I I O I
19 I O I I O I
20 I O I I O I
21 I O I I O I
22 I O I I O I
23 I O I I O I
24 I O I I O I
25 I O O I O I
26 I O O I O I
27 I O O I O I
28 I O O I O I
29 I O O I O I
30 I O O I O I
31 I O O I O I
32 I O O I O I
33 I O
34 I O
35 I O
17. CIN Contact Input Block B0193AX Rev AB
551


Legend: I = Input
O = Readback from Output
36 I O
37 I O
38 I O
39 I O
40 I O
41 O O
42 O O
43 O O
44 O O
45 O O
46 O O
47 O O
48 O O
49 I O
50 I O
51 I O
52 I O
53 I O
54 I O
55 I O
56 I O
57 O O
58 O O
59 O O
60 O O
61 O O
62 O O
63 O O
64 O O
Hardware Type 60 62 86 92 94 97
Point
B0193AX Rev AB 17. CIN Contact Input Block
552


NOTE
Hardware Type 60 is used for FBC 07.
Hardware Type 62 is used for FBC 09.
Hardware Type 86 is used for FBC 10.
Hardware Type 92 is used for FBC 07 Redundant.
Hardware Type 94 is used for FBC 09 Redundant.
Hardware Type 97 is used for FBC 10 Redundant.
553


18. CINR Redundant Contact
Input Block
This chapter covers the Redundant Contact Input (CINR) block, its basic operations, features
and parameters, bad input and out-of-service conditions, manual mode, messages and alarms,
and application diagram.
18.1 Overview
The Redundant Contact Input (CINR) block receives redundant input values for a single digital
input process point via redundant Fieldbus Modules (FBMs) (see Figure 18-1). The CINR block
is currently qualified for use only with DCS FBMs for Migration to Moore APACS+ systems, and
with redundant FBM207 and FBM217. Based on the quality of the two inputs and the user spec-
ification of a default selection, one of the inputs is chosen for use in the I/A Series control strategy.
The block also provides alarm handling features relating to the input. For more information on
these DCS FBMs, refer to the DCS Fieldbus Modules for Migration of Moore APACS+ Systems
Users Guide (B0700BK).
Figure 18-1. CINR Block Diagram
Point
Inversion
State
Change
Detection
FBM and
Channel
Status
Invert
Option
Contact
Input
Bad FBM/Input
State Change
Alarming and
State
Alarms
Inputs from
Redundant
FBMs
Detection
Manual
Auto
Inputs from
Other Blocks
Messages
Alarms
(Simulation)
Point
Selection
Point
Selection
State
Messages
Change
Option
Alarm
Option
Alarm
Option
Bad Alarming
and Messages Messages
FBM
Option
B0193AX Rev AB 18. CINR Redundant Contact Input Block
554


18.2 Basic Operation
The CINR block interfaces to two Equipment Control Blocks (ECBs) which store digital input
or output values from two FBMs.
Each execution cycle, the CINR block reads from each ECB its FBM operational status, and the
channel status and input data for the specified point. The block selects either the primary or sec-
ondary value, based on the quality of the two inputs, and presents this value at its output, called
Contact Input (CIN).
The CINR block provides optional point inversion, Bad I/O and State alarming, State Change
message processing, and Auto/Manual capability.
18.3 Features
The CINR block provides the following features:
+ Redundant digital inputs from separate FBMs
+ Both redundant and non-redundant points can coexist in the same digital input
module; non-redundant points are connected to CIN blocks
+ Simulation option allows configuring the CINR blocks with input connections to two
other blocks instead of the FBMs
+ Automatic switchover to the secondary input if the primary input is bad
+ Interfacing of the control scheme to all digital points in the FBMs, including digital
output readback values
+ Manual mode availability for disconnecting control schemes from the process, for
simulation and checkout purposes
+ Optional last good value retention or fallback value for the output upon I/O failure
+ Point inversion option
+ Continuous FBM input monitoring during Manual mode and last good value
retention
+ Optional bad FBM and bad input point alarming
+ Optional State Change messages and State alarming
+ Alarming in Manual option
+ Alarm inhibit options
+ Optional State alarm inversion (into alarm message generated on transition from 1
to 0, and return to normal on transition from 0 to 1).
+ Re-alarming of active block alarms when the alarm priority is changed
+ Optional re-alarming of active block alarms when the re-alarm timer expires
+ Optional nuisance/flutter alarm suppression of all contact input alarms until the
alarm deadband timer expires.
18. CINR Redundant Contact Input Block B0193AX Rev AB
555


18.4 Parameters
Table 18-1. CINR Block Parameters
Name Description Type Accessibility Default Units/Range
Configurable Parameters
INPUTS
NAME block name string no-con/no-set blank 1 to 12 chars
TYPE block type integer no-con/no-set 107 CINR
DESCRP block descriptor string no-con/no-set blank 1 to 32 chars
PERIOD block sample time short no-con/no-set 1 0 to 13
PHASE block execution phase integer no-con/no-set 0 see Parameter Def.
LOOPID loop identifier string no-con/set blank 1 to 32 chars
IOMOPT FBM input option boolean no-con/no-set 1 0 to 1
IOM_ID primary ECB name string no-con/no-set blank 1 to 25 chars
IOMIDR secondary ECB name string no-con/no-set blank 1 to 25 chars
PNT_NO FBM point number string no-con/no-set 1 1 to 32
ANM point alarm name string no-con/no-set blank 1 to 32 chars
NM0 alarm state 0 name string no-con/no-set blank 1 to 32 chars
NM1 alarm state name 1 string no-con/no-set blank 1 to 32 chars
IVO invert option boolean no-con/no-set 0 0 to 1
MA manual/auto boolean con/set 0 0 to 1
INITMA initialize MA short no-con/no-set 1 0 to 2
INHOPT alarm inhibit option short no-con/no-set 0 0 to 3
INHIB alarm inhibit boolean con/set 0 0 to 1
INHALM inhibit alarm request pack_b con/set 0 0 to 0xFFFF
INVALM invert alarm option boolean no-con/no-set 0 0 to 1
MANALM manual alarm option short no-con/no-set 0 0 to 1
SAO state alarm option boolean no-con/no-set 0 0 to 1
SAP state alarm priority short con/set 5 1 to 5
SAG state alarm group short no-con/set 1 1 to 8
BAO bad alarm option boolean no-con/no-set 0 0 to 1
BAT bad alarm text string no-con/no-set blank 1 to 32 chars
BAP bad alarm priority integer con/set 5 1 to 5
BAG bad alarm group short no-con/set 1 1 to 8
SCOPT state change option short no-con/no-set 0 0 to 3
SCGRP state change group short no-con/no-set 1 1 to 8
SCTXT0 state 0 change text string no-con/no-set blank 1 to 32 chars
SCTXT1 state 1 change text string no-con/no-set blank 1 to 32 chars
SELOPT select option short no-con/no-set 1 0 to 2
CIN_P primary contact input boolean con/set 0 0 to 1
CIN_S secondary contact input boolean con/set 0 0 to 1
AMRTIN alarm message regeneration integer no-con/set 0 0 to 32767 s
NASTDB noise suppression deadband long no-con/set 0 0 to 2147483647 ms
NASOPT nuisance alarm suppression
option
short no-con/no-set 0 0 to 2
B0193AX Rev AB 18. CINR Redundant Contact Input Block
556


18.4.1 Parameter Definitions
ACHNGE Alternate Change is an integer output which is incremented each time a
block parameter is changed via a Set command.
ALMOPT Alarm Options contains packed long values representing the alarm types
that have been configured as options in the block, and the alarm groups
that are in use.
For the CINR block, only the following bits are used:
Non-Configurable Parameters
OUTPUTS
ALMSTA alarm status pack_l con/no-set 0 see Parameter Def.
BAD bad I/O status indicator boolean con/no-set 0 0 to 1
BLKSTA block status pack_l con/no-set 0 see Parameter Def.
CIN contact input boolean con/no-set 0 0 to 1
CRIT alarm criticality integer con/no-set 0 0 to 5
INHSTA alarm inhibit status pack_l con/no-set 0 see Parameter Def.
INITO initialize output short con/no-set 0 0 to 1
PRTYPE priority type integer con/no-set 0 0 to 9
QALSTA quality status pack_l con/no-set 0 0 to 0xFFFFFFFF
UNACK unacknowledge alarm boolean con/no-set 0 0 to 1
DATA STORES
ACHNGE alternate change integer con/no-set 0 0 to 32767
ALMOPT alarm options pack_l no-con/no-set 0 see Parameter Def.
DEFINE no configuration errors boolean no-con/no-set 1 0 to 1
DEV_ID primary FBM letterbug char[6] no-con/no-set blank 1 to 6 chars
DEVIDR secondary FBM letterbug char[6] no-con/no-set blank 1 to 6 chars
ERCODE configuration error code string no-con/no-set blank see Parameter Def.
LOCKID lock identifier string no-con/no-set blank 8 to 13 chars
LOCKRQ lock request boolean no-con/set 0 0 to 1
OWNER owner name string no-con/set blank 1 to 32 chars
Table 18-1. CINR Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
18. CINR Redundant Contact Input Block B0193AX Rev AB
557


ALMSTA Alarm Status is a 32-bit output, bit-mapped to indicate the blocks alarm
states. For the CINR block, only the following bits are used:
Bit Number
1
(0 to 31)
1.
Bit 0 is the least significant, low order bit.
Configured Alarm Options When True
0 (Least Significant) Alarm group 8 in use
1 Alarm group 7 in use
2 Alarm group 6 in use
3 Alarm group 5 in use
4 Alarm group 4 in use
5 Alarm group 3 in use
6 Alarm group 2 in use
7 Alarm group 1 in use
14 Secondary point Bad alarm configured
15 Primary point Bad alarm configured
22 Bad I/O alarm configured
26 State alarm configured
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
U
N
A
C
K
S
T
A
B
A
D
B
A
D
_
P
B
A
D
_
S
CRIT PRTYPE
Bit
Number*(
0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
0 to 4
(Least
Significant)
PRTYPE Priority Type: See parameter
PRTYPE for values used in
the CINR block
5 to 7 CRIT Criticality; 5 = lowest prior-
ity, 1= highest
14 BAD_S Secondary point Bad ALMSTA.B18
15 BAD_P Primary point Bad ALMSTA.B17
22 BAD Bad I/O alarm** ALMSTA.B10
26 STA State alarm ALMSTA.B6
30 --- Alarms inhibited ALMSTA.B2
B0193AX Rev AB 18. CINR Redundant Contact Input Block
558


AMRTIN Alarm Regeneration Timer is an integer option that specifies the time
interval for an alarm condition to exist continuously, after which a new
unacknowledged alarm condition and its associated alarm message is
generated. Separate timers are maintained for Bad alarms (for each input)
and State alarms (for the selected input).
ANM Alarm Name is a user-defined string of up to 32 characters that identifies
the input point as the source of the alarm in the alarm messages. It serves
as a point-descriptor label.
BAD Bad is a boolean output parameter that is set true when the connected
FBM has bad status or the connected point within it is bad. If there is no
connected FBM, BAD is true when CIN_P or CIN_S is linked and has a
bad status. The BAD bit of BLKSTA (BLKSTA.BAD) is also set true
whenever BAD is true.
BAG Bad Alarm Group is a short integer input that directs Bad alarm messages
to one of eight groups of alarm devices. You can change the group number
through the workstation.
BAO Bad Alarm Option is a configurable boolean value. When configured true,
it enables alarm generation for each state change of the BAD parameter.
BAP Bad Alarm Priority is an integer input, ranging from 1 to 5, that sets the
priority level of the Bad alarm (1 is the highest priority).
BAT Bad Alarm Text is a user-configurable text string of up to 32 characters,
that is sent with the Bad alarm message to identify it.
BLKSTA Block Status is a 32-bit output, bit-mapped to indicate various block oper-
ational states. For the CINR block, only the following bits are used:
31 UNACK Unacknowledged ALMSTA.B1
* Bit 0 is the least significant, low order bit.
** Both the primary and secondary points are bad.
Bit
Number*(
0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
L
C
K
O
N
U
D
E
F
B
I
O
M
A
F
B
M
R
F
B
M
B
I
O
R
18. CINR Redundant Contact Input Block B0193AX Rev AB
559


CIN Contact Input is the block output. It represents the state of the input
point specified by IOM_ID or IOMIDR, and PNT_NO when
IOMOPT indicates that an FBM is configured. Otherwise, it represents
the value of the CIN_P or CIN_S input. In any case, CIN is subject to
optional inversion based on the state of option IVO.
CIN_P Primary Contact Input is a Boolean input that contains the current state
of the contact input read from the primary module of a redundant contact
FBM pair. If the block selects the CIN_P value while running in the Auto
mode, it writes this value to the output CIN parameter each execution
cycle. If IOMOPT=0, CIN_P contains the simulated primary input
value.
CIN_S Secondary Contact Input is a Boolean input that contains the current state
of the contact input read from the secondary module of a redundant con-
tact FBM pair. If the block selects the CIN_S value while running in the
Auto mode, it writes this value to the output CIN parameter each execu-
tion cycle. If IOMOPT=0, CIN_S contains the simulated secondary
input value.
CRIT Criticality is an integer output that indicates the priority, ranging from 1
to 5, of the blocks highest currently active alarm (1 is the highest priority).
An output of zero indicates the absence of alarms.
DEFINE Define is a data store which indicates the presence or absence of configura-
tion errors. The default is 1 (no configuration errors). When the block ini-
tializes, DEFINE is set to 0 if any configured parameters fail validation
testing. (See ERCODE for the list of all possible validation errors in this
block.) In that case, no further processing of the block occurs, including
further validation of remaining parameters. To return DEFINE to a true
value, correct all configuration errors and re-install the block. If
DEFINE = 0, the bit BLKSTA.UDEF = 1.
Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
1 BIOR Secondary Input Bad BLKSTA.B31
8 FBM Primary FBM Failure BLKSTA.B24
9 FBMR Secondary FBM Failure BLKSTA.B23
11 MA Manual = 0, Auto = 1 BLKSTA.B21
12 BIO Bad I/O BLKSTA.B20
14 UDEF Block Undefined BLKSTA.B18
15 ON Block ON BLKSTA.B17
20 WLCK Workstation Access Locked BLKSTA.B12
* Bit 0 is the least significant, low order bit.
B0193AX Rev AB 18. CINR Redundant Contact Input Block
560


DESCRP Description is a user-defined string of up to 32 characters that describe the
blocks function (for example, PLT 3 FURNACE 2 HEATER CON-
TROL).
DEV_ID Primary Device Identifier is a character array data store that specifies the
6-character letterbug of the connected primary FBM.
DEVIDR Secondary Device Identifier is a character array data store that specifies the
6-character letterbug of the connected secondary FBM.
ERCODE Error Code is a string data store which indicates the type of configuration
error which caused the blocks DEFINE parameter to be set false. Valida-
tion of configuration errors does not proceed past the first error encoun-
tered by the block logic. For the CINR block, the following list specifies
the possible values of ERCODE, and the significance of each value in this
block:
INHALM Inhibit Alarm contains packed boolean values that represent alarm genera-
tion inhibit requests for each type of alarm configured in the block. For
the CINR block, only the following bits are used:
There are no mnemonic names for the individual bits of INHALM.
INHIB Inhibit is a boolean input. When true, it inhibits all block alarms; the
alarm handling and detection functions are determined by the INHOPT
ERCODE Description
W43 - INVALID PERIOD/
PHASE COMBINATION
The configured PHASE parame-
ter value is not consistent with
the configured PERIOD value.
W51 - INVALID HARDWARE/
SOFTWARE TYPE
Hardware type is not digital
input.
W52 - INVALID I/O CHANNEL/
GROUP NUMBER
PNT_NO out of range for the
specified FBM.
W54 - ECB DOES NOT EXIST Specified IOM_ID does not
exist.
Bit
Number*
(0 to 15) Description When True
Boolean Connection
(B16 to B1)
6 Inhibit Bad I/O alarm INHALM.B10
10 Inhibit State alarm INHALM.B6
* Bit 0 is the least significant, low order bit.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
18. CINR Redundant Contact Input Block B0193AX Rev AB
561


setting. Alarms can also be inhibited based on INHALM and the com-
pound parameter CINHIB.
INHOPT Inhibit Option specifies the following actions applying to all block alarms:
INHSTA Inhibit Status contains packed long values that represent the current
inhibit status of each alarm type configured in the block. For the CINR
block, only the following bits are used:
0 = When an alarm is inhibited, disable alarm messages but do not
disable alarm detection.
1 = When an alarm is inhibited, disable both alarm messages and
alarm detection. If an alarm condition already exists at the time
the alarm transitions into the inhibited state, clear the alarm
indicator.
2 = Same as 0 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages. Into
alarm messages can be acknowledged by explicitly setting
UNACK false.
3 = Same as 1 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages. Into
alarm messages can be acknowledged by explicitly setting
UNACK false.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
S
T
A
B
A
D
B
A
D
_
P
B
A
D
_
S

Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
14 BAD_S Secondary point Bad alarm
inhibited**
INHSTA.B18
15 BAD_P Primary point Bad alarm
inhibited**
INHSTA.B17
22 BAD Bad I/O alarm inhibited** INHSTA.B10
26 STA State alarm inhibited*** INHSTA.B6
* Bit 0 is the least significant, low order bit.
** Bit is set if 0 < Compound.CINHIB s BAP, INHALM.BAD,
or INHIB = 1.
***Bit is set if 0 < Compound.CINHIB s SAP, INHALM.SA, or
INHIB = 1.
B0193AX Rev AB 18. CINR Redundant Contact Input Block
562


INITMA Initialize Manual/Auto specifies the desired state of the MA input during
initialization, where:
0 = Manual
1 = Auto
2 = The M/A state as specified in the checkpoint file.
The block asserts this initial M/A state whenever:
+ It is installed into the Control Processor database.
+ The Control Processor undergoes a reboot operation.
+ The compound in which it resides is turned on.
+ The INITMA parameter is modified via the Integrated Control
Configurator. (The block does not assert INITMA on ordinary
reconfiguration.)
INITMA is ignored if MA has an established linkage.
INVALM Invert Alarm is a configured boolean which specifies the sense of CIN
transitions considered into alarm and return to normal in State alarm
messages. Values are:
In any case, State alarm detection is disabled when option SAO is false.
IOMOPT FBM Option is a boolean specifying whether an FBM connection to the
block exists, where:
IOM_ID Primary Fieldbus Module Identifier is a configurable string that specifies
the pathname of the primary FBM to which the block is connected.
IOM_ID has the form CompoundName:BlockName, where Compound-
Name is the 1-12 character name of the local compound containing the
ECB, and BlockName is the 1-12 character block name of the ECB.
If the compound containing the ECB is the CPletterbug_ECB compound
where CPletterbug is the station letterbug of the CP, the CompoundName
may be omitted from the IOM_ID configuration. In this case, the 1-12
character ECB block name is sufficient.
0 = CIN transitions from 0 to 1 are considered into alarm; State
alarm messages contain the NM1 string. Transitions from 1 to 0
are considered return to normal; State alarm messages contain
the NM0 string.
1 = CIN transitions from 1 to 0 are considered into alarm; State
alarm messages contain the NM1 string. Transitions from 0 to 1
are considered return to normal; State alarm messages contain
the NM0 string.
0 = CINR block obtains input values from the CIN_P or CIN_S
parameter.
1 = CINR block obtains input values from the FBM input
point specified by IOM_ID or IOMIDR and PNT_NO.
18. CINR Redundant Contact Input Block B0193AX Rev AB
563


IOMIDR Secondary Fieldbus Module Identifier is a configurable string that speci-
fies the pathname of the secondary FBM to which the block is connected.
IOMIDR has the form CompoundName:BlockName, where Com-
poundName is the 1-12 character name of the local compound containing
the ECB, and BlockName is the 1-12 character block name of the ECB.
If the compound containing the ECB is the CPletterbug_ECB compound
where CPletterbug is the station letterbug of the CP, the CompoundName
may be omitted from the IOMIDR configuration. In this case, the 1-12
character ECB block name is sufficient.
IVO Invert Option, when true, causes the block to invert the value of the FBM
input or the CIN_P or CIN_S input before writing it to the CIN output.
If IVO is true, all alarming and state change message generation is based
on the inverted value of the input.
LOCKID Lock Identifier is a string data store that identifies the workstation that has
exclusive write access to the block. LOCKID arbitrates write access to the
control block parameters by operator workstations on the network. Set
requests to any of the blocks parameters are honored only if the requesting
workstations identifier matches the contents of LOCKID.
LOCKID does not lock out sequence code write access to block parame-
ters. Sequence block set requests to any of the blocks parameters are
always honored.
The lock-request message sets LOCKRQ to true and sets LOCKID to the
identifier of the requesting workstation. The lock-release message clears
LOCKRQ and nulls LOCKID.
LOCKID has the format Letterbug:DeviceName, where Letterbug is the
6-character letterbug of the workstation and DeviceName is the 6-charac-
ter logical name of the Display Manager.
LOCKRQ Lock Request is a Boolean data store that is set true or false by toggling the
LOCK U/L key on the Block Detail Display. An operator at any other
workstation can lock and unlock the block by toggling the LOCK U/L
key.
The lock-request message sets LOCKRQ true, sets LOCKID to the iden-
tifier of the requesting workstation, and sets the WLCK bit in the
BLKSTA parameter. Set requests to any of the blocks parameters are only
honored if the requesting workstations identifier matches the contents of
LOCKID.
LOCKID does not lock out sequence code write access to block parame-
ters. Sequence block set requests to any of the blocks parameters are
always honored.
The lock-release message resets LOCKRQ, nulls LOCKID, and resets the
WLCK bit.
B0193AX Rev AB 18. CINR Redundant Contact Input Block
564


NOTE
Do not set LOCKRQ with an application program. Contention for the use of the
block may make the block inaccessible.
LOOPID Loop Identifier is a configurable string of up to 32 characters that identify
the loop or process with which the block is associated. It is displayed on
the detail display of the block, immediately below the faceplate.
MA Manual/Auto is a boolean input that controls the blocks operating state:
0 = Manual
1 = Auto
In Manual, the block output CIN is released and can be set by an
external process (program or display). In Auto, CIN is secured and
updated by the FBM input point value, or the value of CIN_P or CIN_S
when IOMOPT = 0.
MANALM Manual Alarm Option is a configurable input which enables or disables
configured alarm options to function in Manual mode. Normally alarms
are processed only in the Auto mode. Options are:
0 = No alarming in Manual
1 = Full alarming in Manual
NAME Name is a user-defined string of up to 12 characters used to access the
block and its parameters.
NASOPT Nuisance Alarm Suppression Option is a configurable, non-settable short
integer that specifies how the nuisance alarm delay is implemented:
+ 0 = Suppress nuisance alarms by delaying the Return-to-Normal
(default) by the length of time specified in NASTDB
+ 1 = Suppress nuisance alarms by delaying alarm detection by the
length of time specified in NASTDB
+ 2 = Suppress nuisance alarms by delaying both the Alarm Detec-
tion and the Return-to-Normal by the length of time specified in
NASTDB
NASTDB Alarm Deadband Timer is a configurable long integer. Depending on the
value of NASOPT, it either specifies the deadband time interval that must
elapse before an alarm condition is allowed to return to normal, or the
length of a delay-on timer which specifies the amount of time between an
alarms detection and the announcement of the alarm. The parameter
value ranges from zero (default, no delay) to 2147483647 ms.
NM0 Name 0 is a user-defined string of up to 32 characters sent with a State
alarm message to indicate that the message is a return to normal type.
This means that the CIN output has transitioned from 1 to 0 if INVALM
is false, or 0 to 1 if INVALM is true.
18. CINR Redundant Contact Input Block B0193AX Rev AB
565


NM1 Name 1 is a user-defined string of up to 32 characters sent with a State
alarm message to indicate that the message is an into alarm type. This
means that the CIN output has transitioned from 0 to 1 if INVALM is
false, or 1 to 0 if INVALM is true.
OWNER Owner is a string of up to 32 ASCII characters which are used to allocate
control blocks to applications. Attempts to set OWNER are successful
only if the present value of OWNER is the null string, an all-blank string,
or identical to the value in the set request. Otherwise the request is
rejected with a LOCKED_ACCESS error. OWNER can be cleared by any
application by setting it to the null string; this value is always accepted.
Once set to the null string, the value can then be set as desired.
PERIOD Period is an indexed input that dictates the blocks execution time base
and allowable PHASE values. For stations other than Integrators and
Gateways, PERIOD values range from 0 to 13 and map to the following
period time lengths. (Integrator and Gateway blocks have different period
values than shown here.)
* If the BPC is 0.2 sec., this period is treated internally as 0.6 sec., but the
PERIOD parameter remains 1.
** If the BPC is 2.0 sec., this period is treated internally as 6.0 sec., but the
PERIOD parameter remains 10.
*** If the BPC is 0.5 sec., this period is treated internally as 0.5 sec., but
the PERIOD parameter remains 11.
**** If the BPC is not 2.0 sec., this period is treated internally as 5.0 sec.,
but the PERIOD parameter remains 12.
***** Available in CP40, CP40B, CP60 and later control processors.
PHASE Phase is an integer input that causes the block to execute at a specific BPC
within the time determined by the PERIOD. For instance, a block with
PERIOD of 3 (2.0 sec) can execute with phases 0, 1, 2, or 3, assuming the
BPC of the Control Processor is 0.5 sec. Refer to the appropriate Inte-
grated Control Software Concepts document (B0700AG or B0193AW).
PNT_NO Point Number is the FBM point to which the CINR block is connected.
Period Length Period Length
0 0.1 sec 7 10 min
1 0.5 sec* 8 60 min
2 1.0 sec 9 0.2 sec
3 2.0 sec 10 5.0 sec**
4 10 sec 11 0.6 sec***
5 30 sec 12 6.0 sec****
6 1 min 13 0.05 sec*****
B0193AX Rev AB 18. CINR Redundant Contact Input Block
566


PRTYPE Priority Type is an indexed output parameter that indicates the alarm type
of the highest priority active alarm. The PRTYPE output of this block
consists of the following alarm types:
0 = No active alarm
8 = Bad
9 = State
If both alarms are active and have the same priority, PRTYPE reports the
BAD alarm type (PRTYPE = 8).
For example, if the BAD alarm has priority 1 and the State alarm has
priority 4 then CRIT = 1 and PRTYPE = 8.
QALSTA Quality Status parameter (QALSTA) is a non-configurable packed long
that provides a combination of value record status, block status
(BLKSTA), and alarm status (ALMSTA) information in a single connect-
able output parameter. Available bits for this block are provided below.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
Bit
Number
1
Definition Contents
Boolean Connection
(B32 to B1)
30 Alarms Unacknowledged ALMSTA.UNA QALSTA.B2
29 Alarms Inhibited ALMSTA.INH QALSTA.B3
26 State Alarm ALMSTA.STAL QALSTA.B6
22 Bad Alarm
2
ALMSTA.IOBD QALSTA.B10
14 Bad Secondary FBM BLKSTA.FBM2 QALSTA.B18
13 Bad Primary FBM BLKSTA.FBM1 QALSTA.B19
11 Bad Secondary Point BLKSTA.BAD2 QALSTA.B21
10 Bad Primary Point BLKSTA.BAD1 QALSTA.B22
5 Manual BLKSTA.MA QALSTA.B27
2 Uncertain CIN.ERR status QALSTA.B30
1 Out-of-Service CIN.OOS status QALSTA.B31
0 Bad CIN.BAD status QALSTA.B32
1.
Bit 0 is the least significant, low order bit.
2.
This bit records the status of the primary input (CIN). This status is the inverse of
the Manual/Auto (MA) status bit in BLKSTA. This bit is not available for I/A Series
software earlier than v8.0.
18. CINR Redundant Contact Input Block B0193AX Rev AB
567


SAG State Alarm Group is a short integer input that directs State alarm mes-
sages to one of eight groups of alarm devices.
SAO State Alarm Option is a configurable boolean that, when true, enables the
generation of State alarms.
SAP State Alarm Priority is an integer input, ranging from 1 to 5, that sets the
priority level of the State alarm (1 is the highest priority).
SCGRP State Change Group is a short integer input that directs State Change
messages to one of eight groups of devices. However, Alarm Alert ignores
these messages when they arrive; State Change messages are printed only.
SCOPT State Change Option specifies which state changes of the block output
cause a State Change message to be the generated. These messages are
ignored by Alarm Alert, and are not shown in the Alarm Display; they are
printed on the alarm printers only. Depending on the value of SCOPT,
messages are generated for the following types of transitions (state
changes):
0 = No transitions (no messages generated)
1 = All transitions
2 = 0 to 1 transitions only
3 = 1 to 0 transitions only
SCTXT0 State Change Text 0 is a text string sent with the State Change message to
indicate that the state has changed from 1 to 0, after any optional inver-
sion.
SCTXT1 State Change Text 1 is a text string sent with the State Change message to
indicate that the state has changed from 0 to 1, after any optional inver-
sion.
SELOPT Select Option is a configurable short integer that specifies the output value
of CIN when both CIN_P and CIN_S are bad or out-of-service. Options
are:
0 = Last good value
1 = False
2 = True
TYPE When you enter CINR or select it from a configurator list, an identify-
ing integer is created specifying this block type.
UNACK Unacknowledge is a Boolean output that the block sets to True when it
detects an alarm. It is typically reset by operator action.
B0193AX Rev AB 18. CINR Redundant Contact Input Block
568


18.5 Functions
18.5.1 Detailed Diagram
Figure 18-2. CINR Block Operational Diagram
IOM_ID
IVO
SCOPT
SCTXT0
SCTXT1
SAO
Read &
MA
CIN
Last Good Value
BAD
CIN.BAD
BAO
BAD
INVALM
IOMOPT
IOMIDR
PNT_NO
M
A
CIN_P
CIN_S
State
Change
Detected
AND
OR
AND
Primary FBM Failure
Secondary FBM Failure
Alarming
AND
CIN_P.BAD
CIN_S.BAD
AND
OR
MA = 0
MANALM = 1
MA = 1
CIN_P
CIN_S
Primary
ECB5
Data
Sec.
ECB5
Data
FBM and
Channel
1
0
1
0
SELOPT
AND
AND
State
Alarming
Status
Input
Status
Invert
Points
AND
CIN_P.OOS
CIN_S.OOS
CIN.OOS
OR
AND
Primary FBM OOS
Secondary FBM OOS
18. CINR Redundant Contact Input Block B0193AX Rev AB
569


18.5.2 Input from FBM
Key Parameters: IOM_ID, IOMIDR, PNT_NO, IOMOPT, CIN, IVO
You specify the source primary and secondary FBM Identifier (IOM_ID and IOMIDR) parame-
ters, and the same point within the FBMs by the Point Number (PNT_NO) parameter. The
CINR block supports connection to only redundant FBMs that use ECB5 (SWTYPE = 5). For a
list of DCS FBMs and point numbers providing valid inputs for the CINR block, refer to the
DCS Fieldbus Modules for Migration of Moore APACS+ Systems Users Guide (B0700BK-A). For a
list of point numbers providing valid inputs from redundant FBM207s or FBM217s for the
CINR block, refer to the ECB5 chapter in this document.
When the block is in Auto and IOMOPT is true, the block output CIN is set to either the pri-
mary or secondary FBM input. If the FBM and point status is good for both inputs, CIN is set to
the input value from the primary FBM. If either the primary FBM or the primary input is bad or
out-of-service, CIN is set to the input value from the secondary FBM.
If both FBMs or input points are bad or out-of-service, the block output CIN is set true or false as
specified in the SELOPT option. If SELOPT is 0, CIN is not changed. This provides the block
with a last good value functionality. The value of CIN is not updated from the input point if
the block is in Manual (see Section 18.7).
The CIN_P and CIN_S parameters always track the current value of their input point, regardless
of the quality of the point, and regardless of the Auto/Manual state of the block.
The values of CIN_P, CIN_S and CIN always reflects the Invert Option (IVO) when IOMOPT
is true. When IVO is true, a true input point value is treated as false, and a false input point value
is treated as true.
18.5.3 Input from Another Block
Key Parameters: IOMOPT, CIN, CIN_P, CIN_S
When the FBM Option (IOMOPT) value is 0, indicating that there is no connected FBM, the
value of CIN_P or CIN_S is copied to CIN. When the block is in Manual, the CIN_P or CIN_S
value is not copied to CIN.
CIN_P and CIN_S are ordinarily connected to another block for control scheme debugging pur-
poses.
18.6 Bad Input and Out-of-Service Conditions
18.6.1 Bad Input Condition
Key Parameters: BAD, PNT_NO, BLKSTA, IOM_ID, IOMIDR, CIN, CIN_P, CIN_S
When redundant FBMs are connected, the BAD parameter, the bad status of CIN, and the bad
status of CIN_P and CIN_S are simultaneously set true, provided any one of the following condi-
tions is true:
+ Primary and secondary FBMs are bad both FBMs have detected a fatal hardware
fault, or other fatal fault. In this case, BLKSTA.FBM and BLKSTA.FBMR are also set
true.
B0193AX Rev AB 18. CINR Redundant Contact Input Block
570


+ Connected points within the primary and secondary FBMs are bad. In this case,
BLKSTA.BIO, BLKSTA.BIOR, ALMSTA.BAD, ALMSTA.BAD_P, and
ALMSTA.BAD_S are also set true.
If redundant FBMs are not connected, the two conditions above are replaced by the following:
+ The CIN_P and CIN_S values are linked and both have bad status. In this case,
ALMSTA.BAD, ALMSTA.BAD_P, and ALMSTA.BAD_S are also set true.
If the block is in Manual, however, the status bits of CIN are not changed by any of the above
conditions.
Bad status of the primary or secondary input is set individually in CIN_P, CIN_S, BLKSTA and
ALMSTA.
18.6.2 Out-of-Service Condition
Key Parameters: IOM_ID, CIN, CIN_P, CIN_S
When redundant FBMs are connected, the out-of-service (OOS) status of CIN, CIN_P and
CIN_S are set true if both FBMs are out-of-service.
If there is no connected FBM, the out-of-service status of CIN is set when both CIN_P and
CIN_S are out-of-service.
If the block is in Manual, the status bits of CIN are not changed by the above condition.
18.7 Manual Mode
Key Parameters: MA, CIN, CIN_P, CIN_S, BAD, MANALM
When the CINR block is in the Manual mode, it does not update the value of the CIN output.
CIN is released and becomes settable by you. When redundant FBMs are connected, the CIN_P
and CIN_S parameters continue to reflect the value of the physical input, regardless of the
manual value set into CIN.
In Manual mode, the status bits (Bad and Out-of-Service) of the CIN output are not updated.
Since they are not cleared, they retain their last values before the transition to Manual. The BAD
parameter is updated when in Manual, based on the conditions stated in Section 18.6.1.
If MANALM is true, alarming is enabled while in Manual mode. The Bad I/O alarm is based on
the value of the BAD parameter, and the State alarm is based on the current value of CIN, as set
by you.
18.8 Messages and Alarming
The following sections discuss messages and alarms generated by the CINR block.
18.8.1 State Change Messages
Key Parameters: SCOPT, CIN, SCTXT0, SCTXT1, IVO, SCGRP
State Change Option (SCOPT) specifies which state changes of the block output cause a State
Change message to be the generated.
18. CINR Redundant Contact Input Block B0193AX Rev AB
571


NOTE
State Change messages are ignored by Alarm Alert, and are not shown in the Alarm
Display; they are printed on the alarm printers only.
When SCOPT is 0, State Change detection is disabled.
When SCOPT is set to 1, State Change messages are generated for any transition:
+ A message containing the text in State Change Text 1 (SCTXT1) is sent after any
change from 0 to 1 in the value of CIN
+ A message containing the text in State Change Text 0 (SCTXT0) is sent after any
change from 1 to 0 in the value of CIN.
NOTE
State alarming is independent of state change detection based on SCOPT.
When SCOPT is set to 2, any change from 0 to 1 in the value of CIN results in a State Change
message containing the text string in SCTXT1.
When SCOPT is set to 3, any change from 1 to 0 in the value of CIN results in a State Change
message containing the text string in SCTXT0.
Any required inversion based on IVO is applied before state change detection.
While the State Change Group (SCGRP) parameter holds the group to which all State Change
messages are directed, Alarm Alert ignores these messages when they arrive.
18.8.2 Alarming
Key Parameters: BAO, SAO, BAD, INVALM, AMRTIN, NASTDB
The CINR block supports the Bad I/O and State alarm types. The following sections provide
functional overviews for these alarms.
The nomenclature for identical alarm types varies from block to block for historical reasons
involving backward compatibility requirements. The nomenclature for the CINR block is as fol-
lows:
Detailed descriptions of the above alarm types and the following alarm functions is discussed in
the appropriate Integrated Control Software Concepts document (B0700AG or B0193AW).
+ Re-alarming of active alarms when the alarm priority (PRTYPE) is changed
+ Re-alarming of active alarms when the alarm regeneration timer (AMRTIN) expires
+ Nuisance/flutter alarm suppression of all contact input alarms until, depending on the
setting of NASOPT, the alarm deadband timer (NASTDB) expires.
Table 18-2. Alarm Nomenclature
Type Option Priority Group Text
Default
Display
Indicator
Parameter
I/O Bad BAO = True BAP BAG BAT IOBAD BAD
State Alarm SAO = True SAP SAG NM0 or NM1 STATE CIN/INVALM
B0193AX Rev AB 18. CINR Redundant Contact Input Block
572


18.8.2.1 State Alarming Overview
Key Parameters: SAO, SAP, SAG, NM0, NM1, INVALM
State alarming occurs when the State Alarm Option (SAO) is set and the selected FBM input
transitions from 0 to 1, or 1 to 0 if INVALM is set to 1.
When the selected input value is in the alarm state, a state alarm message is sent to all devices in
the alarm group specified by the SAG parameter. This message also contains the descriptive text in
the NM1 parameter and the loop identifier in the LOOPID parameter.
When the selected input value is no longer in the alarm state, a corresponding return-to-normal
message is generated and sent to all devices in the state alarm group (SAG). This message contains
the descriptive text in the NM0 parameter.
When the state alarm exists, the SA bit is set in the alarm status parameter (ALMSTA.SA). If a
Bad alarm condition of a higher priority does not also exists, the CRIT parameter and its corre-
sponding ALMSTA.CRIT field are set to the SAP parameter value, and the PRTYPE parameter
and its corresponding ALMSTA.PRTYPE field are set to the State alarm type.
When the state alarm condition returns to normal status, and if a Bad alarm condition of higher
priority does not exist, ALMSTA.SA, CRIT, PRTYPE and their corresponding fields in ALMSTA
are cleared.
18.8.2.2 Bad Alarming Overview
Key Parameters: BAO, BAP, BAG, BAT, BAD
Bad alarming occurs when the Bad Alarm Option (BAO) is set and one or both FBM inputs are
bad. Bad alarm messages are generated for each input value independently when its status is bad
(CIN_P.BAD or CIN_S.BAD).
When the input value becomes bad, a bad alarm message is sent to all devices in the bad alarm
group specified by the BAG parameter. This message contains a BAD_P or BAD_S text string
to identify a respective bad CIN_P or CIN_S input value. This message also contains the descrip-
tive text in the BAT parameter and the loop identifier in the LOOPID parameter.
When the input value becomes good, a corresponding return-to-normal message is sent to all
devices in the bad alarm group.
Bad alarm status information, however, is generated only when both FBM input values are bad.
When both FBM input values are bad, the bad parameter (BAD) is set and the BAD bit is set in
the alarm status parameter (ALMSTA.BAD). If a State alarm of higher priority does not exist, the
CRIT parameter and its corresponding ALMSTA.CRIT field are set to the BAP parameter value,
and the PRTYPE parameter and its corresponding ALMSTA.PRTYPE field are set to the Bad
alarm type.
When both FBM input values have returned to good status, and if a State alarm of higher priority
does not exist, BAD, CRIT, PRTYPE and their corresponding fields in ALMSTA are cleared.
18. CINR Redundant Contact Input Block B0193AX Rev AB
573


18.9 Application Diagram
Figure 18-3. Typical CINR Block Application
CINR
CIN
COUT
BI01
BO01 BO03
Feedstock
Solenoid
Valve
Tank Full
Switch
Output
Product
Solenoid
Valve
ECB5
COUT
DCS
FBM
AID115
TFS001
DCS
FBM
AID115
TFS002
LOGIC
Program
ECB5
Heater
COUT
BO02
AC Power
B0193AX Rev AB 18. CINR Redundant Contact Input Block
574


575


19. CMP Compounds
This chapter gives a general overview of compounds, their features, rules, functions, and
parameters.
19.1 Compound Overview
Process control for I/A Series Systems is based on the concepts of compounds and blocks. A com-
pound is a logical collection of blocks that performs a control strategy. A block is a member of a
set of algorithms that performs a certain control task within the compound structure. Figure 19-1
below shows the compound/block relationship.
The compound provides the basis for the integration of:
+ Continuous control
+ Ladder logic
+ Sequential control.
Within this structure, any block in any compound can be connected to any other block in any
other compound in the system. The entire compound structure can be viewed through the work-
station SELECT display.
Figure 19-1. Compound/Block Relationship
COMPOUND
1
COMPOUND
2
COMPOUND
n
BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK
PROCESS
CONFIGURATOR
= Control Processor
B0193AX Rev AB 19. CMP Compounds
576


19.2 Compound I/O Diagram
Refer to Figure 19-2.
Figure 19-2. Compound Inputs/Outputs
19.3 Compound Features
Standard features:
+ Process alarm priority, alarm inhibiting, and alarm grouping.
+ Sequential state of all sequential control blocks in the compound.
+ Phasing for execution load leveling at execution time.
Options:
+ Compound Initialization (INITON) in On/Off state or as specified by checkpoint
file.
+ Compound Inhibit (CINHIB) specifies the priority levels of alarm inhibit.
19.4 Compound Rules
The compound rules are:
+ Multiple compounds can be executed within the same station.
+ A single compound cannot cross station boundaries.
+ Blocks in different compounds can be interconnected across station boundaries.
+ Every compound must have a unique name.
19.5 Compound Functions
19.5.1 Compound/Block Process Alarming
Alarms and status messages are generated by specific alarm blocks and by alarm options in selected
blocks.
Name
Type
Descriptor
Period
Phase
On/Off Compound
Compound Inhibit
Group Devices
Loop Identification
Initialize Compound On
Alarm Level
Sequence State
Alarm Notification
Compound
19. CMP Compounds B0193AX Rev AB
577


Alarms have five levels of priority, 1-5, (where 1 = highest priority) that enable you to quickly
focus on the most important plant alarm conditions. An alarm priority of 0 indicates the absence
of any alarm.
These are summarized in a single alarm summary parameter for each compound. This parameter
contains the priority of the highest current alarm in that compound.
To reduce nuisance alarms, alarms can be inhibited at the compound level on a priority level basis.
Alarms can also be inhibited at the block level, on either an alarm type basis, or an overall basis.
Alarms are initiated by the blocks within the compound. Alarm messages are then sent to groups
of stations or applications (for example, Workstations, Historians, Printers) according to config-
ured alarm groups. The UNACK alarm acknowledge output parameter allows you to propagate
alarm acknowledge actions to all blocks in a compound.
Stations, applications, and devices corresponding to various alarm destination groups are config-
ured at the compound level or at the station level in the case of station compounds.
Group numbers for individual block alarm types are configured at the block level.
19.5.2 Compound/Block Phasing
You assign a phase number to each compound using a range of integer values that varies with the
assigned period.
Phasing allows the starting time of one compound/block to lead or lag the starting time of
another compound/block, thereby leveling the block processor load.
19.5.3 Compound Attributes
The compound has the following attributes:
Name Name is a user-defined name that must be system-unique and no more
than 12 characters in length. The name can be any mix of numerics (0 to
9), upper case alphabetic (A to Z), and the underscore (_).
Descriptor Description is a 32-character field for user-defined block identification.
On/Off On/Off is a parameter that enables or disables the execution of all blocks
within the compound, where: 1 = on; 0 = off.
19.5.4 Compound Access
Both compounds and blocks have a set of parameters that comprise the user interface. To access a
compound parameter value, use the following convention:
Compound.Parameter
where:
+ Compound has (up to) a 12-character name.
+ Parameter has (up to) a 6-character name.
19.5.5 Compound/Block Parameters
Compound and block parameters contain values that are of one of the types Real, String, Integer,
Short Integer, Long Integer, Boolean, Packed Boolean, Packed Long, or Character.
B0193AX Rev AB 19. CMP Compounds
578


Additionally, parameters are defined as being configurable, and either connectable/settable, not
connectable/not settable, or a combination that is dependent upon the compound, block, and
state.
19.5.5.1 Configurable Parameters
Configurable parameters are those parameters that can be defined through the Integrated Control
Configurator. They can be displayable only, or displayable and editable.
19.5.5.2 Connectable Parameters
Connectable parameters are those parameters of the user interface in which secured, change-
driven connections can be made between network stations, or as local direct connections within
the same station.
Each connection consists of a connectable source and a connectable sink. Output parameters (all
outputs are connectable) are sources, while a connectable input can be a sink or a source, or both.
Certain parameters that can be considered functional inputs (such as SPT in the PID blocks, and
RATIO in the RATIO block) are settable but not connectable.
A connectable parameter has a value record that contains the parameters value, its status, and its
designated value type (Real, Boolean, or Integer). Its status consists of the following boolean attri-
butes:
Out-of-Service
(OOS):
Out-of-Service defines the validity of the data. This flag is set and reset by
the block algorithm. The OOS status usually originates from I/O type
blocks (for example, AIN, COUT) which detect abnormal I/O condi-
tions, for example, that the FBM is out-of-service, or that the compound
containing the block of the I/O parameter is turned off.
Secure Secured defines the conditional settability status of the parameter. The
secure flag is set and reset by the block algorithm. A settable parameter can
only be written if it is not secured. For example, a remote setpoint, RSP, is
unsecured and settable when it is not connected. When connected, the
parameter is secured and not settable.
Bad Bad defines the validity of the data. This flag is set and reset by the block
algorithm. The Bad status usually originates from I/O type blocks (for
example, AIN, COUT) which detect abnormal I/O conditions such as a
bad FBM, type mismatch, bad channel status, or out-of-range conditions.
You can access certain status bits of a parameter value record as explicit connections in control
schemes, by using boolean connection extensions. Certain CALC and LOGIC block
instructions also have this capability, and your tasks can access these variables implicitly within
their specific algorithms.
In addition, the BAD status of an I/O blocks value record is made available as a unique
boolean-type connectable output parameter. This value can be accessed explicitly by any other
block or task.
19.5.5.3 Input Parameters
Input parameters are connectable types that are the receivers of data from other connectable
parameters via a path connection.
19. CMP Compounds B0193AX Rev AB
579


If no source path is specified during configuration, then the resident data of the value record is the
actual source of data. It can be either the initial default or configured value, or a new value
through a SET call to the input parameter.
If a source path is specified, then the data value is an output parameter of the same or another
block, or a shared variable, thereby securing the input. By linking a shared variable to a block
input during configuration, you can establish a long-term secured connection between a remote
application program and the block input.
19.5.5.4 Output Parameters
All output parameters are connectable data sources that have value records. There are two types:
settable and nonsettable.
The settability of a settable output is controlled by the secured status of the value record. The
secured status is dependent on whether the blocks operational mode is in Auto or in Manual.
In either Auto or Manual, nonsettable output parameters cannot be written by any other source
under any conditions.
Settable outputs can be conditionally released by the block algorithm in the Manual mode.
In Manual, the block unsecures settable output parameters. They can then be written by other
tasks via SET calls. When the block switches to Auto, the block secures and updates its own out-
put parameter(s).
19.5.5.5 Nonconnectable Parameters
Nonconnectable parameters have no value records and are not linkable. They consist mainly of
string-type variables like NAME, or nonsettable parameters that are used in the configurator only,
for example, block options. Local algorithm variables are also nonconnectable.
Nonconnectable parameters are generally accessible through GET calls.
There is also a class of nonconnectable input parameters that comprise the block user interface
which can be manipulated through SET calls. An example is an alarm deadband.
19.5.5.6 Compound Operation Information and Procedures
Figure 19-3 shows the compound detail display. For operating information and procedures, refer
to the Process Operations and Displays (B0193MM) document.
B0193AX Rev AB 19. CMP Compounds
580


Figure 19-3. Compound Detail Display
19.6 Compound Parameters
Table 19-1 lists the compound parameters followed by a description of each parameter.

Table 19-1. Compound Parameters
Name Description Type Accessibility Default Units/Range
Configurable Parameters
INPUTS
NAME block name string no-con/no-set blank 1 to 12 chars
TYPE block type integer no-con/no-set blank CMP
DESCRP descriptor string no-con/no-set blank 1 to 32 chars
PERIOD block sample time short no-con/no-set 1 0 to 13
PHASE block phase number integer no-con/no-set 0 ---
ON on/off compound boolean no-con/set 0 0 to 1
INITON initialize ON short no-con/no-set 2 [0|1|2]
CINHIB compound inhibit integer con/set 0 [0..5]
GR1DV1-8 group 1 device 1 to 8 string no-con/no-set blank 1 to 6 chars
GR2DV1-8 group 2 device 1 to 8 string no-con/no-set blank 1 to 6 chars
GR3DV1-8 group 3 device 1 to 8 string no-con/no-set blank 1 to 6 chars
LOOPID loop identification string[32] no-con/set blank 1 to 32 characters
19. CMP Compounds B0193AX Rev AB
581


ALMLEV Alarm Level specifies the highest priority of all active alarms within the
compound.
CINHIB Compound Inhibit specifies the priority levels of alarm inhibit within the
compound where:
0 = no inhibit
1 = inhibit all inclusive
2 = inhibit levels 2-5 inclusive
3 = inhibit levels 3-5 inclusive
4 = inhibit levels 4-5 inclusive
5 = inhibit level 5.
DEFINE Define is a boolean (1 = Defined; 0 = Undefined). Define is set to 0 dur-
ing initialization if the block detects a configuration error. To return
DEFINE to a true value, correct all configuration errors and re-install the
block.
DESCRP Descriptor is a user-defined string of up to 32-character that describe the
block's function (for example, STATION HEATER CONTROL).
ERCODE Error Code of the first configuration error detected in the block. For the
CMP block, the following list specifies the possible values of ERCODE,
and the significance of each value in this block:
Non-Configurable Parameters
OUTPUTS
ALMLEV alarm level integer con/no-set 0 1 to 5
SSTATE sequence state short con/no-set 0 [0,1,2]
UNACK alarm notification boolean con/set 0 0 to 1
DATA STORES
DEFINE no configuration errors boolean no-con/no-set 1 0 to 1
ERCODE configuration error string no-con/no-set blank 1 to 99
GR1FD1 TO
GR1FD8
group 1 file descriptor integer no-con/no-set blank 1 to 12 chars
GR2FD1 TO
GR2FD8
group 2 file descriptor integer no-con/no-set blank 1 to 12 chars
GR3FD1 TO
GR3FD8
group 3 file descriptor integer no-con/no-set blank 1 to 12 chars
Table 19-1. Compound Parameters
Name Description Type Accessibility Default Units/Range
Message Value
W43 INVALID PERIOD/
PHASE COMBINATION
PHASE does not exist for given block
PERIOD, or block PERIOD not
compatible with compound PERIOD.
W48 INVALID BLOCK
OPTION
The configured value of a block
option is illegal.
B0193AX Rev AB 19. CMP Compounds
582


GR1DV1 Group 1 Device 1 is one of up to eight devices to receive the block alarm
messages directed to Group 1 by the specifying block parameter. Enter the
identifier of the alarm message destination assigned to be Device 1. If any
nonexisting Station Level device (including spaces-only entries) is entered
in one of the GRxDVy parameters, the alarm throughput of the control
processor is adversely affected.
GR1DV2 - GR1DV8
Group 1 Device 2 through Group 1 Device 8. Apply GR1DV1 definition
to Device numbers 2 through 8.
GR2DV1 - GR2DV8
Group 2 Device 1 through Group 2 Device 8. Apply GR1DV1 definition
to Group 2 Devices 1 through 8.
GR3DV1 - GR3DV8
Group 3 Device 1 through Group 3 Device 8. Apply GR1DV1 definition
to Group 3 Devices 1 through 8.
GR1FD1-GR1FD8
Group 1/Device 1-8 File Descriptor is an integer value.
GR2FD1-GR2FD8
Group 2/Device 1-8 File Descriptor is an integer value.
GR3FD1-GR3FD8
Group 3/Device 1-8 File Descriptor is an integer value.
INITON Initialize On/Off specifies the state the compound assumes on initializa-
tion where:
0 = initialize the compound in the OFF state.
1 = initialize the compound in the ON state.
2 = initialize the compound in the ON/OFF state specified in the check-
point file.
The default setting = 2. INITON action is performed when the com-
pound is initialized by installation of the compound, or download of the
compound during Reboot.
LOOPID Loop Identifier is a configurable string of up to 32 characters which iden-
tify the loop or process with which the block is associated. It is displayed
on the detail display of the block, immediately below the faceplate.
W53 INVALID
PARAMETERVALUE
A parameter value is not in the accept-
able range.
W58 INSTALL ERROR;
DELETE/UNDELETE
BLOCK
A Database Installer error has
occurred.
Message Value
19. CMP Compounds B0193AX Rev AB
583


NAME Name is a user-defined string of up to 12 characters used to access the sta-
tion block and its parameters.
ON On/Off is a boolean input that, when true, allows the compound to be
processed. When false this input turns the compound off. As of Release
4.2, the On/Off status of a compound is not indicated in a status bit of
every input and output parameter of every block in the compound.
PERIOD An indexed input that dictates the compounds execution time base and
allowable PHASE values. Except for Integrator and Gateway stations,
PERIOD values range from 0 to 13 and map to the following time lengths
and allowable PHASE values:
* When allowed by the selection of an appropriate BPC, this period is
only available in the CP40, CP40B, CP60 and later control processors.
WARNING
!
The period of a compound must be equal to, or shorter than, the shortest period of
any block in the compound to ensure that all blocks are processed. That is, you may
not enter a compound period of 1.0 second while it contains a block with a 0.5 sec-
ond period. Attempts to do so will result in warning messages, and the blocks will
be set undefined.
PHASE The system automatically defaults the Compound PHASE to zero. A
Compound PHASE value of zero relegates phasing to the individual
blocks.
WARNING
!
Manual phasing of compounds is allowed, but it must be done carefully for proper
block operation. Improper compound phasing can result in excessive overruns or in
blocks not being processed. Note also that raising the frequency (shortening the
period) of the Basic Processing Cycle (BPC) may invalidate previously configured
phase values by reducing the range of legal PHASE values for a given Period. Read
Block Phasing in the appropriate Integrated Control Software Concepts document
(B0700AG or B0193AW).
PERIOD
PHASE Values
for BPC=0.5s
PERIOD
PHASE Values
for BPC=0.5s Value Length Value Length
0 0.1 sec Not allowed 7 10 min 0 to 1199
1 0.5 sec [0] default 8 60 min 0 to 7199
2 1.0 sec 0 or 1 9 0.2 sec Not allowed
3 2.0 sec 0 to 3 10 5.0 sec 0 to 9
4 10 sec 0 to 19 11 0.6 sec [0] default
5 30 sec 0 to 59 12 6.0 sec 0 to 11
6 1 min 0 to 119 13 0.05 sec* Not allowed
B0193AX Rev AB 19. CMP Compounds
584


SSTATE Sequential State represents the collective operational state of all sequential
control blocks in the compound. SSTATE can be one of three values:
SSTATE = 0 (Inactive);
SSTATE = 1 (Active); or
SSTATE = 2 (Exception).
Refer to the Compound Sequence State in the appropriate Integrated
Control Software Concepts document (B0700AG or B0193AW) for further
definition.
TYPE When you enter CMP or select CMP from the block type list under
Show, an identifying integer is created specifying this block type.
UNACK Unacknowledge is a boolean output parameter that allows you to propa-
gate alarm acknowledge actions to all blocks in a compound. An
alarm-acknowledge display task typically resets UNACK.
585


20. COUT Contact Output Block
This chapter covers the Contact Output, or COUT, block, its basic operations, features,
parameters, and functions, bad input, out-of-service and error conditions, failsafe state,
manual mode, and alarming, and also provides an application diagram and a valid output
connections appendix.
20.1 Overview
The Contact Output block (COUT) provides the control strategy with output capability for a
single digital output point in any Fieldbus Module (FBM) or Fieldbus Card (FBC) containing
such points. You can select a sustained output that follows the block input or a pulsed output with
a selectable pulse width. The block also supports output inversion and alarming. See Figure 20-1.
Figure 20-1. COUT Block Diagram
Point
Inversion
Pulse
Output
Input
Fieldbus
Module
Identifier
Invert
Contact Out
Pulse Option
Point
Number
Contact
Output
To
FBM/FBC
ECB
Failsafe
Failsafe
Processing
Failsafe
FBM and
Channel
Status
BAD
Detection
Bad Alarm
Option
Bad
Alarm
Alarming
Option
B0193AX Rev AB 20. COUT Contact Output Block
586


20.2 Basic Operation
The COUT block interfaces to an Equipment Control Block (ECB) which contains digital out-
put values to an FBM or FBC. Each execution cycle, the block writes the value of the input
parameter Input (IN) to its output, called Contact Output (COUT). When an FBM or FBC is
configured, the value of COUT also drives the connected output point.
The COUT block provides optional point inversion under control of parameter Invert Contact
Output (INVCO) and optional pulsed output under control of parameter Pulse Option
(PLSOPT).
The block uses parameters Initialize Out (INITO) and Failsafe (FS) to alert upstream blocks to
various abnormal situations.
Bad I/O alarming and Auto/Manual capability are also provided.
20.3 Features
+ Interfacing of the control scheme to all digital output points in any FBMs or FBCs
+ Duplicate output channel cross-checking against other control blocks
+ Fieldbus Module option to permit configuration of COUT blocks without FBM or
FBC connections
+ Output inversion option
+ Pulse option with variable pulse width
+ Failsafe support
+ Switch to Manual option if Failsafe detected
+ Contact readback for initialization situations.
+ Open cascade notification to upstream blocks
+ Error propagation option
+ Last good value option
+ Manual mode for disconnecting the process from the control scheme, for simulation
and checkout purposes
+ Detection and alarming of bad FBM, bad FBC, and bad FBC input point
+ Out-of-service detection and handling for connected FBMs or FBCs.
20. COUT Contact Output Block B0193AX Rev AB
587


20.4 Parameters

Table 20-1. COUT Block Parameters
Name Description Type Accessibility Default Units/Range
Configurable Parameters
INPUTS
NAME block name string no-con/no-set blank 1 to 12 chars
TYPE block type integer no-con/no-set 33 COUT
DESCRP descriptor string no-con/no-set blank 1 to 32 chars
PERIOD block sample time short no-con/no-set 1 0 to 13
PHASE block execute phase integer no-con/no-set 0 ---
LOOPID loop identifier string no-con/set blank 1 to 32 chars
IOMOPT FBM output option boolean no-con/no-set 1 0 to 1
IOM_ID FBM identifier string no-con/no-set blank 1 to 6 chars
PNT_NO FBM point number string no-con/no-set 1 1 to 32
IN generic input boolean con/set 0 0 to 1
PROPT propagate error option boolean no-con/no-set 0 0 to 1
EROPT error option short no-con/no-set 0 0 to 2
PLSOPT pulse option boolean no-con/no-set 0 0 to 1
WIDTH pulse width real con/set 0.0 minutes
INVCO invert cout state boolean no-con/no-set 0 0 to 1
MA manual/auto boolean con/set 0 0 to 1
INITMA initialize MA short no-con/no-set 1 0 to 2
MANFS manual if failsafe boolean no-con/no-set 0 0 to 1
INHOPT inhibit option short no-con/no-set 0 0 to 3
INHIB alarm inhibit boolean con/set 0 0 to 1
BAO bad alarm option boolean no-con/no-set 0 0 to 1
BAT bad alarm text string no-con/no-set blank 1 to 32 chars
BAP bad alarm priority integer con/set 5 1 to 5
BAG bad alarm group short no-con/set 1 1 to 8
DEV_ID FBM Letterbug char[6] no-con/no-set blank 1 to 6 chars
AMRTIN alarm regeneration timer integer no-con/no-set 0 0 to 32767 s
Non-Configurable Parameters
OUTPUTS
ALMSTA alarm status pack_l con/no-set 0 bit map
BAD bad I/O status boolean con/no-set 0 0 to 1
BLKSTA block status pack_l con/no-set 0 bit map
COUT contact output boolean con/no-set 0 0 to 1
CRBK contact readback boolean con/no-set 0 0 to 1
CRIT alarm criticality integer con/no-set 0 0 to 5
FS failsafe state boolean con/no-set 0 0 to 1
INHSTA inhibit status pack_l con/no-set 0 0 to 0xFFFFFFFF
INITO initialize out short con/no-set 0 ---
PRTYPE priority type integer con/no-set 0 0 to 8
UNACK unacknow alarm boolean con/no-set 0 0 to 1
B0193AX Rev AB 20. COUT Contact Output Block
588


20.4.1 Parameter Definitions
ACHNGE Alternate Change is an integer output which is incremented each time a
block parameter is changed via a Set command.
ALMOPT Alarm Options contains packed long values representing the alarm types
that have been configured as options in the block, and the alarm groups
that are in use.
For the COUT block, only the following bits are used:
DATA STORES
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
ALMOPT alarm options pack_l no-con/no-set 0 0 to 0xFFFFFFFF
DEFINE no config errors boolean no-con/no-set 1 0 to 1
ERCODE configuration error string no-con/no-set blank 1 to 43 chars
LOCKID lock identifier string no-con/no-set blank 8 to 13 chars
LOCKRQ lock request boolean no-con/set 0 0 to 1
OWNER owner name string no-con/set blank 1 to 32 chars
PERTIM period time real no-con/no-set 0.1 ---
Table 20-1. COUT Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
Bit Number
1
(0 to 31)
1.
Bit 0 is the least significant, low order bit.
Configured Alarm Option When True
0 (Least Significant) Alarm Group 8 in Use
1 Alarm Group 7 in Use
7 Alarm Group 1 in Use
22 Bad I/O Alarm Configured
20. COUT Contact Output Block B0193AX Rev AB
589


ALMSTA Alarm Status is a 32-bit output, bit-mapped to indicate the blocks alarm
states. For the COUT block, only the following bits are used:
* Bit 0 is the least significant, low order bit.
AMRTIN Alarm Regeneration Timer is a configurable integer that specifies the time
interval for an alarm condition to exist continuously, after which a new
unacknowledged alarm condition and its associated alarm message is gen-
erated.
BAD Bad is a boolean output parameter which is set true when the connected
FBM or FBC has bad status or the connected point within it (if an FBC)
has bad readback status.
BAG Bad Alarm Group is a short integer input that directs Bad alarm messages
to one of eight groups of alarm devices.
BAO Bad Alarm Option is a configurable boolean which, when true, enables
alarm generation for each state change of the BAD parameter.
BAP Bad Alarm Priority is an integer input, ranging from 1 to 5, that sets the
priority level of the Bad alarm (1 is the highest priority).
BAT Bad Alarm Text is a user-configurable text string of up to 32 characters,
sent with the Bad alarm message to identify it.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
U
N
A
K
B
A
D
CRIT PRTYPE
Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
0 to 4
(Least Sig-
nificant)
PTYP_MSK Priority Type: Only PRTYPE values
0 and 8 are used in the COUT block
5 to 7 CRIT_MSK Criticality; 5 = lowest priority,
1 = highest
22 BAD Bad I/O Alarm ALMSTA.B10
30 UNAK Unacknowledged Alarm ALMSTA.B2
B0193AX Rev AB 20. COUT Contact Output Block
590


BLKSTA Block Status is a 32-bit output, bit-mapped to indicate various block oper-
ational states. For the COUT block, only the following bits are used:
* Bit 0 is the least significant, low order bit.
COUT Contact Output is the output of the block. When there is a connected
FBM or FBC, its value is also transmitted to the connected output point.
CRBK Contact Readback contains the readback value of the connected point if
an FBM or FBC is connected, provided the FBM or FBC is not out-of-
service or bad, or the FBC point does not have bad status readback. If any
of these conditions exist, CRBK retains its last good value.
CRIT Criticality is an integer output that indicates the priority, ranging from 1
to 5, of the blocks highest currently active alarm (1 is the highest priority).
An output of zero indicates the absence of alarms.
DEFINE Define is a data store which indicates the presence or absence of configura-
tion errors. The default is 1 (no configuration errors). When the block ini-
tializes, DEFINE is set to 0 if any configured parameters fail validation
testing, other than those involved in duplicate output channel detection.
(See ERCODE for the list of all possible validation errors in this block.) In
that case, no further processing of the block occurs, including further vali-
dation of remaining parameters. To return DEFINE to a true value, cor-
rect all configuration errors and re-install the block. If DEFINE = 0, the
bit BLKSTA.UDEF = 1.
Bit Number*
(0 to 31) Name Description When True
Boolean Connection
(B32 to B1)
6 TRK Tracking BLKSTA.B26
8 FBM FBM or FBC Failure BLKSTA.B24
11 MA Manual = 0, Auto = 1 BLKSTA.B21
12 BAD Bad I/O BLKSTA.B20
14 UDEF Block Undefined BLKSTA.B18
15 ON Block ON BLKSTA.B17
20 WLCK Workstation Lock BLKSTA.B12
24 FS Output in Failsafe BLKSTA.B8
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
F
S
W
L
C
K
O
N
U
D
E
F
B
A
D
M
A
F
B
M
T
R
K
20. COUT Contact Output Block B0193AX Rev AB
591


DESCRP Description is a user-defined string of up to 32 characters that describe the
blocks function (for example, PLT 3 FURNACE 2 HEATER CON-
TROL).
DEV_ID Device Identifier is a character array that specifies the 6-character letter-
bug of the connected FBM or FBC.
ERCODE Error Code is a string data store which indicates the type of configuration
error which caused the blocks DEFINE parameter to be set false. Valida-
tion of configuration errors does not proceed past the first error encoun-
tered by the block logic. For the COUT block, the following list specifies
the possible values of ERCODE and the significance of each value in this
block:
EROPT Error Option is a short integer option which determines the conditions
under which last good value functionality is provided for the block output
COUT. EROPT is only active when PROPT is true and the block is in
Auto. (See Section 20.6.3 for a definition of the effect of the different val-
ues of EROPT).
FS Failsafe is a boolean output which is set true when the connected output
point transitions into the Failsafe state. If the block is in Auto when the
transition occurs, FS remains true for one cycle, and then returns to false.
If in Manual, FS goes true on any transition into Failsafe, and remains
true while the block is in Manual. On the next transition into Auto, FS is
set false.
IN Input is the input to the block. Its value, after optional inversion and pulse
generation, is presented as the output COUT, and transmitted to any con-
nected FBM or FBC point.
INHIB Inhibit is a boolean input. When true, it inhibits all block alarms; the
alarm handling and detection functions are determined by the INHOPT
setting. Alarms can also be inhibited based on the compound parameter
CINHIB.
ERCODE Description
W51 The specified FBM or FBC does not contain any digital
output points)
W52 PNT_NO out of range for the specified FBM or FBC)
W54 Specified IOM_ID does not exist
W59 Warning: This block and another block which drives
digital output points are connected to the same FBM or
FBC and point number. Both blocks receive the same
warning message.
B0193AX Rev AB 20. COUT Contact Output Block
592


INHOPT Inhibit Option specifies the following actions applying to all block alarms:
INHSTA Inhibit Status contains packed long values that represent the current
inhibit status of each alarm type configured in the block. For the COUT
block, only the following bit is used:
* Bit 0 is the least significant, low order bit.
INITMA Initialize Manual/Auto specifies the desired state of the MA input during
initialization, where:
0 = Manual
1 = Auto
2 = The MA state as specified in the checkpoint file.
The block asserts this initial M/A state whenever:
+ It is installed into the Control Processor database
+ The Control Processor undergoes a reboot operation
+ The compound in which it resides is turned on.
0 = When an alarm is inhibited, disable alarm messages but do not
disable alarm detection.
1 = When an alarm is inhibited, disable both alarm messages and
alarm detection. If an alarm condition already exists at the time
the alarm transitions into the inhibited state, clear the alarm
indicator.
2 = Same as 0 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages. Into
alarm messages can be acknowledged by explicitly setting
UNACK false.
3 = Same as 1 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages. Into
alarm messages can be acknowledged by explicitly setting
UNACK false.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
B
A
D
Bit Number*
(0 to 31) Name Description When True
Boolean Connection
(B32 to B1)
22 BAD Bad I/O Alarm Inhibited INHSTA.B10
20. COUT Contact Output Block B0193AX Rev AB
593


+ The INITMA parameter itself is modified via the control configu-
rator. (The block does not assert INITMA on ordinary
reconfiguration.)
INITMA is ignored if MA has an established linkage.
INITO Initialize Out is set true when any open-cascade situation exists in the
COUT block. It persists for the duration of the condition, and is set false
again when the condition terminates.
INVCO Invert Contact Out is an option parameter which causes the blocks sus-
tained output to be inverted from the input value IN, or the blocks pulsed
output to be reversed in sense.
IOMOPT FBM Option is a boolean specifying whether an FBM or FBC connection
to the block exists. Values:
IOM_ID Fieldbus Module Identifier is a configurable string that specifies the path-
name of the FBM or FBC to which the block is connected.
IOM_ID has the form CompoundName:BlockName, where Compound-
Name is the 1-12 character name of the local compound containing the
ECB, and BlockName is the 1-12 character block name of the ECB.
If the compound containing the ECB is the CPletterbug_ECB compound
where CPletterbug is the station letterbug of the CP, the CompoundName
may be omitted from the IOM_ID configuration. In this case, the 1-12
character ECB block name is sufficient.
LOCKID Lock Identifier is a string identifying the workstation which has locked
access to the block via a successful setting of LOCKRQ. LOCKID has the
format LETTERBUG:DEVNAME, where LETTERBUG is the 6-char-
acter letterbug of the workstation and DEVNAME is the 1 to 6 character
logical device name of the Display Manager task.
LOCKRQ Lock Request is a boolean input which can be set true or false only by a
SETVAL command from the LOCK U/L toggle key on workstation dis-
plays. When LOCKRQ is set true in this fashion a workstation identifier
accompanying the SETVAL command is entered into the LOCKID
parameter of the block. Thereafter, set requests to any of the blocks
parameters are honored (subject to the usual access rules) only from the
workstation whose identifier matches the contents of LOCKID.
LOCKRQ can be set false by any workstation at any time, whereupon a
new LOCKRQ is accepted, and a new ownership workstation identifier
written to LOCKID.
0 = The block does not transmit the COUT value to an FBM or
FBC point.
1 = The block transmits the COUT value to the FBM or FBC
point specified by IOM_ID and PNT_NO each cycle.
B0193AX Rev AB 20. COUT Contact Output Block
594


LOOPID Loop Identifier is a configurable string of up to 32 characters which iden-
tify the loop or process with which the block is associated. It is displayed
on the detail display of the block, immediately below the faceplate.
MA Manual /Auto is a boolean input that controls the blocks operating state:
0 = False = Manual
1 = True = Auto
When in Manual, the COUT block outputs are released and can only be
updated manually. In Auto, the outputs are secured and updated by the
block logic.
MANFS Manual if Failsafe is a configurable option which, when true, causes the
block to switch to the Manual mode when the connected point is reported
by the FBM or FBC to be in Failsafe state. MANFS has no effect when
MA is linked.
NAME Name is a user-defined string of up to 12 characters used to access the
block and its parameters.
OWNER Owner is a string of up to 32 ASCII characters which are used to allocate
control blocks to applications. Attempts to set OWNER are successful
only if the present value of OWNER is the null string, an all-blank string,
or identical to the value in the set request. Otherwise the request is
rejected with a LOCKED_ACCESS error. OWNER can be cleared by any
application by setting it to the null string; this value is always accepted,
regardless of the current value of OWNER. Once set to the null string, the
value can then be set as desired.
PERIOD Period is an indexed input that dictates the blocks execution time base
and allowable PHASE values. For stations other than Integrators and
Gateways, PERIOD values range from 0 to 13 and map to the following
period time lengths. (Integrator and Gateway blocks have different period
values than shown here.)
* If the BPC is 0.2 sec., this period is treated internally as 0.6 sec., but the
PERIOD parameter remains 1.
Period Length Period Length
0 0.1 sec 7 10 min
1 0.5 sec* 8 60 min
2 1.0 sec 9 0.2 sec
3 2.0 sec 10 5.0 sec**
4 10 sec 11 0.6 sec***
5 30 sec 12 6.0 sec****
6 1 min 13 0.05 sec*****
20. COUT Contact Output Block B0193AX Rev AB
595


** If the BPC is 2.0 sec., this period is treated internally as 6.0 sec., but the
PERIOD parameter remains 10.
*** If the BPC is 0.5 sec., this period is treated internally as 0.5 sec., but
the PERIOD parameter remains 11.
**** If the BPC is not 2.0 sec., this period is treated internally as 5.0 sec.,
but the PERIOD parameter remains 12.
***** Available in CP40, CP40B, CP60 and later control processors.
PERTIM Period Time is the period of the block expressed in seconds.
PHASE Phase is an integer input that causes the block to execute at a specific BPC
within the time determined by the PERIOD. For instance, a block with
PERIOD of 3 (2.0 sec) can execute within the first, second, third, or
fourth BPC of the 2-second time period, assuming the BPC of the Con-
trol Processor is 0.5 sec. Refer to the appropriate Integrated Control Soft-
ware Concepts document (B0700AG or B0193AW).
PLSOPT Pulse Option allows you to select pulsed operation of the output COUT.
When true, PLSOPT causes a 0-to-1 pulse on COUT for a duration of
WIDTH minutes, every time there is a 0-to-1 transition of the input IN.
If the invert option INVCO is also true, the sense of output pulses is
reversed.
PNT_NO Point Number is the FBM or FBC point to which the COUT block is
connected. (See Appendix A Valid Output Connections on page 605).
PROPT Propagate Error Option is a boolean input which determines whether the
status of IN should be reflected in the Error bit of COUT status. If the
COUT block is in Auto, a true value of PROPT causes any one of the fol-
lowing conditions to be reflected as an Error status of COUT:
+ Bad status bit in IN parameter
+ OOS status bit in IN parameter
+ Error status bit in IN parameter
+ Any value in the om field of the input source except 1
(ON_SCAN). Any other value in this field indicates that the
source of the connection has been deleted or is in a nonexistent
compound, or there has been a peer-to-peer path failure.
Parameter EROPT is used to control last good value functionality when
PROPT is true and the block is in Auto.
PRTYPE Priority Type is an indexed output parameter that indicates the alarm type
of the highest priority active alarm. The PRTYPE output of this block
consists only of the following alarm types:
0 = No active alarm
8 = Bad
B0193AX Rev AB 20. COUT Contact Output Block
596


TYPE When you enter COUT or select it from a configurator list, an identify-
ing integer is created specifying this block type.
UNACK Unacknowledge is a boolean output parameter which is set true, for notifi-
cation purposes, whenever the block goes into alarm. It is settable, but sets
are only allowed to clear UNACK to false, and never in the opposite direc-
tion. The clearing of UNACK is normally via an operator acknowledge
pick on a default display, user display, or Current Alarms Display, or via a
user task.
WIDTH Pulse Width specifies the duration, in minutes, of output pulses generated
when PLSOPT is true.
20. COUT Contact Output Block B0193AX Rev AB
597


20.5 Functions
20.5.1 Detailed Diagram
Figure 20-2. COUT Block Operational Diagram
IN
Point
Inversion
Pulsed
Output
INVCO
PLSOPTWIDTH
o o
o
o
LAST GOOD VALUE
BUMPLESS INIT VALUE
CRBK
PLSOPT = 0
Bumpless Init Cycle
PLSOPT = 1
Non-Pulsed
COUT State
AND
AND
OR
o
BUMPLESS INIT VALUE
(A)
o o
o
MA
(M)
COUT
AND
To
ECB
EROPT = 1
AND
AND
AND
EROPT = 2
PROPT
Auto
OR
o USE LAST GOOD VALUE
Open
Cascade
Detection
INITO
ECB Bad
Readback
Point Status
Bad
OR
AND
IOMOPT
BAD
COUT.SECURE
COUT.BAD
INITO.BAD
CRBK.BAD
BAO
AND
Bad
Alarming
AND COUT.OOS
INITO.OOS
CRBK.OOS
COUT.SECURE
IOMOPT
ECB OOS
Failsafe
Detection
AND
AND
OR FS
Transition Cycle
Manual
Auto
(See Section 15.5.3)
IN.BAD
IN.OOS
IN.Disconnect
IN.BAD
IN.OOS
IN.Disconnect
IN.ERROR
OR
OR
IOMOPT
B0193AX Rev AB 20. COUT Contact Output Block
598


20.5.2 Output Processing
Key Parameters: IOM_ID, PNT_NO, IN, COUT, INVCO, PLSOPT, WIDTH, IOMOPT
You specify the destination FBM or FBC in the Fieldbus Module Identifier (IOM_ID) parameter,
and the point within the FBM or FBC by the Point Number (PNT_NO) parameter. The follow-
ing are the FBMs or FBCs and point numbers providing valid output destinations for the COUT
block:
NOTE
Points 33 to 64 of FBC10 and FBC10 Redundant can be used as inputs or outputs,
depending on how you configure the ECB parameter BUSMID using the Inte-
grated Control Configurator. The first 32 points (Points 1 to 32) are always inputs.
Any additional inputs within the range 33 to 64 must be lower than any outputs.
The value of BUSMID is the total number of inputs in the FBC, according to the
following table.
FBM Electrical Type Valid Output Points
FBM219 Contact or dc In; Output Switch with Internal or
External Source
Points 25 to 32
FBM241 Contact or dc In; Output Switch with Internal or
External Source
Points 9 to 16
FBM242 Contact Output; Output Switch with External Source Points 1 to 16
FBM09 Contact or dc In; Output Switch with Internal or
External Source
Points 9 to 16
FBM10 120 Vac In; 120 Vac Output Switch Points 9 to 16
FBM11 240 Vac In; 240 Vac Output Switch Points 9 to 16
FBM14 Contact or dc In; Output Switch with Internal or
External Source Expansion
Points 25 to 32
FBM15 120 Vac In; 120 Vac Output Switch Expansion Points 25 to 32
FBM16 240 Vac In; 240 Vac Output Switch Expansion Points 25 to 32
FBM17 Contact or dc In; Output Switch with Internal or
External Source (Plus Analog I/O)
Points 11 to 14
FBM26 Contact or 125 V dc or Contact Externally Powered In;
Externally Powered Output Switch
Points 9 to 16
FBM27 Contact or 125 V dc or Contact Externally Powered In;
Externally Powered Output Switch Expansion
Points 25 to 32
FBC09 Isolated Contact or Relay Out Points 1 to 32
FBC10 Configurable ac or dc In; Configurable ac, dc or
Contact Out
Points 33 to 64, if
configured as outputs.
FBC09
Redundant
Isolated Contact or Relay Out, Redundant Points 1 to 32
FBC10
Redundant
Configurable ac or dc In; Configurable ac, dc or
Contact Out, Redundant
Points 33 to 64, if
configured as outputs.
20. COUT Contact Output Block B0193AX Rev AB
599


Duplicate output channel detection is intended to alert you to the fact that this block and another
block capable of digital outputs are connected to the same output point. This does not necessarily
constitute a conflict, since the other block may be in a compound which is not intended to run at
the same time as the compound containing this COUT block, or the duplicate connection may
be desired as part of an elaborate control scheme. The blocks capable of driving digital outputs are
COUT, MCOUT, GDEV, MTR, VLV, MOVLV, and MDACT.
When any block of one of these types undergoes one of the following actions, the entire data base
is checked for duplicate digital output channels:
+ The block is installed.
+ The IOMOPT (OP_FBM in the case of GDEV) parameter is modified.
+ The IOM_ID or IOMIDR parameter is modified.
+ A variable output point number (PNT_NO, CO1_PT, or CO2_PT) is modified, or,
in the case of MCOUT, the parameter GRPNUM is modified.
The duplicate output channel check is also performed when the Control Processor is rebooted. It
is not performed when a compound is switched On or Off.
All blocks connected to the same output point receive the DUPLICATE OUTPUT CHANNEL
warning message, but none are set Undefined.
If the block is in Auto, and the last good value conditions described in Section 20.6.3 are not in
effect, then the value of the input IN is transferred to the output COUT, after optional inversion
based on the value of Invert Contact Out (INVCO). Note that inversion is disabled in Manual
mode.
When the Pulse Option (PLSOPT) option parameter is true and INVCO is false, any 0-to-1
transition of IN results in a pulsed output, during which COUT is in the 1 state for a period of
time equal to parameter Pulse Width (WIDTH). WIDTH, which is expressed in units of min-
utes, enables dynamic pulse width settings. The values of IN, including any positive or negative
transitions, are ignored during the active WIDTH period. The output returns to 0 when the pulse
duration expires. If IN is in the 1 state at the time the pulse ends, no new pulse is started until IN
has returned to 0, and a new 0-to-1 transition has occurred.
The sense of pulses is reversed when PLSOPT and INVCO are simultaneously true. In this case, a
0-to-1 transition of IN causes a pulse in which COUT remains in the 0 state for WIDTH min-
utes, after which it returns to 1. Any transitions of IN are ignored during the active pulse period,
and if IN is in the 1 state when the pulse ends, no new pulse begins until there has been a new
transition of the input.
Table 20-2. Input/Output Points, FBC10 and FBC10 Redundant
BUSMID Input Points Output Points
32 1 to 32 33 to 64
40 1 to 40 41 to 64
48 1 to 48 49 to 64
56 1 to 56 57 to 64
64 1 to 64 None
B0193AX Rev AB 20. COUT Contact Output Block
600


If an FBM or FBC is connected, as specified by FBM Option (IOMOPT) = 1, the value in
COUT is written to the ECB, and a flag is set in the ECB which causes its contents to be written
to the FBM or FBC at the next bus output cycle. This transfer of the value of COUT to the FBM
or FBC is the only difference between setting IOMOPT = 0 (no connected FBM or FBC) and
setting IOMOPT = 1 (FBM or FBC connected). COUT is calculated identically in either case.
Parameter Contact Readback (CRBK) contains the actual value read back from any connected
FBM or FBC at all times. If there is no connected FBM or FBC, it is identical to the present value
of COUT.
Some digital FBMs also have momentary (pulse) and sustained options on a per-point basis that
the user can specify independently from the COUT block option. Refer to the appropriate Inte-
grated Control Software Concepts document (B0700AG or B0193AW).
20.5.3 Bumpless Operation Features
Key Parameters: BAD, FS, CRBK, PLSOPT, INITO, COUT
A one-cycle initialization mode is entered when any one of the following conditions is detected by
the block:
+ The FBM or FBC has undergone a transition out of the out-of-service state.
+ The FBM or FBC has undergone a transition out of the bad state. If an FBC is in use,
the bad state is as defined in Section 20.6.1 below.
+ The FBM or FBC has undergone a transition into the Failsafe state, that is, parameter
FS is true. (See Section 20.7).
+ The Tracking bit, BLKSTA.TRK, is true. This bit is set by the block logic when it
detects that the FBM is in local panel mode. (In this case, the one-cycle initialization
mode can persist for an indefinite duration).
During this initialization mode, the block operation is as follows:
+ If the block is using sustained operation (that is, PLSOPT is false), parameter CRBK
is set to the value read back by the connected FBM or FBC. If there is no connected
FBM or FBC, then CRBK is set to the previous value of COUT. In either case, the
resulting value of CRBK is set into COUT as its current value, and transmitted to any
connected FBM or FBC.
+ If PLSOPT is true, any currently-active pulse is terminated. This means that COUT
is restored to the 0 state if INVCO is false, or the 1 state if INVCO is true. The result-
ing value of COUT is transmitted to any connected FBM or FBC. No new pulse will
be started until the appropriate transition, as defined in Section 20.5.2.
On any cycle other than an initialization mode cycle as defined above, INITO is set true to notify
upstream blocks if there is any open-loop situation. Since the COUT block is always at the down-
stream end of cascades, the loop is considered open if:
+ The COUT block is in Manual.
+ The COUT block is itself initializing.
+ A connected FBM or FBC is out of service.
+ A connected FBM or FBC has bad status.
If INITO is true because of either of the first two conditions, and neither of the last two condi-
tions exists, CRBK is set to the readback value from the FBM or FBC, or if there is no connected
20. COUT Contact Output Block B0193AX Rev AB
601


FBM or FBC, to the previous value of COUT. If either of the last two conditions is the cause of
INITO, CRBK holds its last good value.
Since CRBK is refreshed on every cycle, including those in which neither the initialization mode
nor INITO is true, it therefore serves to make the actual state of any connected FBM or FBC
available to the control strategy at all times.
20.6 Bad Input, Out-of-Service, and Error Conditions
20.6.1 Bad Input Conditions
Key Parameters: BAD, COUT, BLKSTA, CRBK, INITO
If there is a connected FBM or FBC, then the Bad (BAD) parameter, the bad status of COUT, the
bad status of CRBK, the bad status of INITO, and the bits of Block Status (BLKSTA) with mne-
monics BLKSTA.FBM and BLKSTA.BAD are all simultaneously set true when the FBM or FBC
itself is bad, that is, it has detected a fatal hardware fault, or other fatal fault.
Since FBCs provide readback of the status of output points as well as their values, the readback
status of the connected point is checked when an FBC (rather than an FBM) is connected to the
block. If the point has bad readback status, all of the above actions are taken, with the exception
of the setting of BLKSTA.FBM, unless of course the FBC itself is also bad, in which case BLK-
STA.FBM and BLKSTA.BAD are both set true.
If either the FBM or FBC, or the connected point readback status, is bad then COUT is secured,
and cannot be set for any reason, regardless of the Auto/Manual state.
20.6.2 Out-of-Service Condition
Key Parameters: COUT, CRBK, INITO
When there is a connected FBM or FBC, the out-of-service status of COUT, the out-of-service
status of CRBK, and the out-of-service status of INITO are simultaneously set true if the FBM or
FBC itself is out of service. In this case also, COUT is secured and cannot be set. COUT retains
its previous value, and this therefore constitutes an additional last good value situation, in addi-
tion to those described in Section 20.6.3.
20.6.3 Error Condition and Last Good Value Functionality
Key Parameters: PROPT, IN, COUT, EROPT
If the Propagate Error Option (PROPT) parameter is true, the Error status bit of COUT is set
true if IN has one or more of the following conditions:
+ The Bad status bit of IN is true.
+ The Out-of-Service status bit of IN is true.
+ The Error status bit of IN is true.
+ Any value in the om field of the input source except 1 (ON_SCAN). Any other value
in this field indicates that the source of the connection has been deleted or is in a non-
existent compound, or there has been a peer-to-peer path failure.
If the block is in Manual, PROPT is ignored; the Error status bit of COUT is not set true under
any of these conditions.
B0193AX Rev AB 20. COUT Contact Output Block
602


When PROPT is true and the block is in Auto, you may use parameter Error Option (EROPT)
to control last good value functionality. The values of EROPT are as follows:
+ EROPT = 0: There is no last good value functionality. COUT is updated normally.
+ EROPT = 1: The value of COUT is not updated, and its value from the previous pro-
cessing cycle is used, whenever any one of the first, second, or fourth conditions above
is true.
+ EROPT = 2: The value of COUT is not updated, and its value from the previous pro-
cessing cycle is used, whenever any one of the four conditions above is true.
If the block is in Manual, EROPT is ignored.
20.7 Failsafe State
Key Parameters: FS, BLKSTA, MANFS, MA
Each execution cycle, the block inspects the ECB to determine whether the connected point has
been reported in the Failsafe state by the FBM or FBC. If so, and if the block is in Auto, the
parameter FS is set true for one cycle, when the transition into Failsafe occurs. Thereafter FS is
false until another transition into Failsafe is detected.
If the block is in Manual when a transition into Failsafe is detected, FS is set true and remains true
for the duration of the Manual mode. If the block is then switched into Auto, FS is cleared to
false.
The status bit BLKSTA.FS is true whenever parameter FS is true.
If option Manual if Failsafe (MANFS) is true the block is forced into Manual when a transition
into Failsafe occurs, if it is not already in Manual. Thereafter, it remains in Manual unless it is set
into Auto by a user task or display. MANFS is always ignored when parameter MA is linked.
Failsafe state processing is not performed when no FBM or FBC is connected.
20.8 Manual Mode
Key Parameters: COUT, MA, INITO
When the COUT block is in the Manual mode, it does not update the value of the COUT out-
put. COUT is released and becomes settable by the user. When an FBM or FBC is connected, the
manual value set into COUT is copied to the output point. However, if a connected FBM or
FBC has bad status, or the connected FBC point has bad readback status, or the FBM or FBC is
out-of-service, then COUT is not settable.
All other output parameters can be set during Manual mode. Ordinarily, you should not set the
value of CRBK, since it would lose its function of continually reporting the actual readback value
from the FBM or FBC.
All of the parameters and status bits which reflect the bad or out-of-service status of the FBM or
FBC, or the bad readback status of an FBC channel, remain active during Manual mode, and are
refreshed every cycle. These are listed in detail in Section 20.6.1 and Section 20.6.2.
Neither PROPT, EROPT, nor INVCO are active during Manual mode.
The cascade is considered open during Manual mode of the COUT block, and INITO is there-
fore kept true throughout the mode.
Alarming is always active during Manual mode of the COUT block.
20. COUT Contact Output Block B0193AX Rev AB
603


20.9 Alarming
The COUT block supports the Bad I/O alarm type. The functionality of this alarm type is dis-
cussed in the appropriate Integrated Control Software Concepts document (B0700AG or
B0193AW).
The nomenclature for identical alarm types varies from block to block for historical reasons
involving backward compatibility requirements. The nomenclature for the COUT block is as fol-
lows:
Table 20-3. Alarm Nomenclature
Type Option Priority Group Text
Default
Display
Indicator
Parameter
I/O Bad BAO = True BAP BAG BAT IOBAD BAD
B0193AX Rev AB 20. COUT Contact Output Block
604


20.10 Application Diagram
CIN
CIN
CIN
CIN
CIN
COUT
COUT
BI02 BI04 BI11
FBM09
CALCA
Program
CIN
CIN
CIN
BI09
BO01 BO02 RO01 RO02
WIDTH
WIDTH
IN
IN
Flow
Switch
Feedstock
Tank Full
Switch
Tank Half
Full Switch
Output
Product
Flow
Switch
Solenoid
Valve
FBM241
or
20. COUT Contact Output Block B0193AX Rev AB
605


20.11 Appendix A Valid Output Connections
Hardware
Type #
9
1
0
1
1
1
4
1
5
1
6
1
7
2
6
2
7
6
2
8
6
9
4
9
7
2
1
9
2
4
1
2
4
2
Point
1 O O O
2 O O O
3 O O O
4 O O O
5 O O O
6 O O O
7 O O O
8 O O O
9 O O O O O O O O
10 O O O O O O O O
11 O O O O O O O O O
12 O O O O O O O O O
13 O O O O O O O O O
14 O O O O O O O O O
15 O O O O O O O O
16 O O O O O O O O
17 O O
18 O O
19 O O
20 O O
21 O O
22 O O
23 O O
24 O O
25 O O O O O O O
26 O O O O O O O
27 O O O O O O O
28 O O O O O O O
29 O O O O O O O
30 O O O O O O O
31 O O O O O O O
32 O O O O O O O
33 I/O I/O
34 I/O I/O
B0193AX Rev AB 20. COUT Contact Output Block
606


Legend: O = Output
I/O = Configurable as Input or Output
35 I/O I/O
36 I/O I/O
37 I/O I/O
38 I/O I/O
39 I/O I/O
40 I/O I/O
41 I/O I/O
42 I/O I/O
43 I/O I/O
44 I/O I/O
45 I/O I/O
46 I/O I/O
47 I/O I/O
48 I/O I/O
49 I/O I/O
50 I/O I/O
51 I/O I/O
52 I/O I/O
53 I/O I/O
54 I/O I/O
55 I/O I/O
56 I/O I/O
57 I/O I/O
58 I/O I/O
59 I/O I/O
60 I/O I/O
61 I/O I/O
62 I/O I/O
63 I/O I/O
64 I/O I/O
Hardware
Type #
9
1
0
1
1
1
4
1
5
1
6
1
7
2
6
2
7
6
2
8
6
9
4
9
7
2
1
9
2
4
1
2
4
2
Point
20. COUT Contact Output Block B0193AX Rev AB
607


NOTE
Hardware Type 62 is used for FBC09.
Hardware Type 86 is used for FBC10.
Hardware Type 94 is used for FBC09 Redundant.
Hardware Type 97 is used for FBC10 Redundant.
B0193AX Rev AB 20. COUT Contact Output Block
608


609


21. COUTR Redundant Contact
Output Block
This chapter covers the Redundant Contact Output, or COUTR, block, its basic operations,
features, parameters, and functions, bad input, out-of-service and error conditions, failsafe
state, manual mode, and alarming, and also provides an application diagram.
21.1 Overview
The Redundant Contact Output block (COUTR) provides the control strategy with output capa-
bility for a single digital output point directed to two redundant Fieldbus Modules (FBMs) con-
taining such points. You can select a sustained output that follows the block input or a pulsed
output with a selectable pulse width. The block also supports bad alarming. The COUTR block
is currently qualified for use only with redundant FBM240 modules and redundant DCS FBMs
for Migration to Moore APACS+ systems, and with redundant FBM207 and FBM217. For more
information on the DCS FBMs, refer to DCS Fieldbus Modules for Migration of Moore APACS+
Systems Users Guide (B0700BK). For more information on the FBM207/217, refer to DIN Rail
Mounted Subsystem Users Guide (B0400FA).
See Figure 21-1 for an overview of COUTR block operation.
B0193AX Rev AB 21. COUTR Redundant Contact Output Block
610


Figure 21-1. COUTR Block Diagram
21.2 Basic Operation
The COUTR block interfaces to two Equipment Control Blocks (ECBs) that store digital output
values and send the values to a redundant pair of FBMs.
When the COUTR block initializes, the block output is set to the signal that is read back from
either the primary or secondary FBM in the redundant pair. If both signals are healthy, the read-
back signal from the primary FBM is used. If the primary FBM is failed, the readback signal from
the secondary FBM is used.
Each execution cycle, the block output is stored as a connectable output parameter (COUT) and
transmitted to both FBMs. Signals that are read back by the FBMs are stored as two connectable
output parameters, CRBK_P and CRBK_S.
The COUTR block can be configured to run in simulation mode when FBMs are not connected
to the block, allowing you to test your control scheme without I/O hardware physically
connected.
The COUTR block provides optional pulsed output, Failsafe support, Bad I/O alarming, and
Auto/Manual capability.
Input
Fieldbus
Module
Identifiers
Pulse
Point
Number
Contact
Output
To
Redundant
Failsafe
FBM and
Channel
Status
Bad Alarm
Option
ECBs
Failsafe/Bad
M
A Primary and
Secondary
Point
Selection
FBM
Option
Option
Readback
Values
Bad FBM/Input
Alarms
Detection Messages
Bad Alarming
and Messages
Pulse
Output
Write
Points
FBM
Option
1
1
0
Width
ECBs
Failsafe
Processing
0
21. COUTR Redundant Contact Output Block B0193AX Rev AB
611


21.3 Features
The COUTR block provides the following features:
+ Drives each of two redundant output signals in redundant FBMs
+ Interfacing of the control scheme to digital output points in redundant FBMs, includ-
ing readback values from field devices
+ Pulse option with variable pulse width
+ Contact readback for initialization situations
+ Simulation mode via the Fieldbus Module option to permit block configuration with-
out FBM connections
+ Manual mode availability for disconnecting the process from the control scheme, for
simulation and checkout purposes
+ Duplicate output channel cross-checking against other control blocks
+ Failsafe support
+ Switch to Manual option if Failsafe detected
+ Open cascade notification to upstream blocks
+ Error propagation option
+ Last good value option
+ Alarming of bad output channels of both FBMs
+ Alarm inhibit options
+ Re-alarming of active block alarms when the alarm priority is changed
+ Optional re-alarming of active block alarms when the re-alarm timer expires.
B0193AX Rev AB 21. COUTR Redundant Contact Output Block
612


21.4 Parameters

Table 21-1. COUTR Block Parameters
Name Description Type Accessibility Default Units/Range
Configurable Parameters
INPUTS
NAME block name string no-con/no-set 2 blanks 1 to 12 chars
TYPE block type integer no-con/no-set 108 COUTR
DESCRP block descriptor string no-con/no-set 2 blanks 1 to 32 chars
PERIOD block sample time short no-con/no-set 1 0 to 13
PHASE block execution phase integer no-con/no-set 0 see Parameter Def.
LOOPID loop identifier string no-con/set 2 blanks 1 to 32 chars
IOMOPT FBM output option boolean no-con/no-set 1 0 to 1
IOM_ID primary ECB name string no-con/no-set 2 blanks 1 to 25 chars
IOMIDR secondary ECB name string no-con/no-set blank 1 to 25 chars
PNT_NO FBM point number string no-con/no-set 1 1 to 32
IN generic input boolean con/set 0 0 to 1
PROPT propagate error option boolean no-con/no-set 0 0 to 1
EROPT error option short no-con/no-set 0 0 to 2
PLSOPT pulse option boolean no-con/no-set 0 0 to 1
WIDTH pulse width real con/set 0 minutes any real
MA manual/auto boolean con/set 0 0 to 1
INITMA initialize MA short no-con/no-set 1 0 to 2
MANFS manual if failsafe option boolean no-con/no-set 0 0 to 1
INHOPT alarm inhibit option short no-con/no-set 0 0 to 3
INHIB alarm inhibit boolean con/set 0 0 to 1
BAO bad alarm option boolean no-con/no-set 0 0 to 1
BAT bad alarm text string no-con/no-set 2 blanks 1 to 32 chars
BAP bad alarm priority integer con/set 5 1 to 5
BAG bad alarm group short no-con/set 1 1 to 8
AMRTIN alarm message regeneration integer no-con/set 0 0 to 32767 seconds
Non-Configurable Parameters
OUTPUTS
ALMSTA alarm status pack_l con/no-set 0 see Parameter Def.
BAD bad I/O status indicator boolean con/no-set 0 0 to 1
BLKSTA block status pack_l con/no-set 0 see Parameter Def.
COUT contact output boolean con/no-set 0 0 to 1
CRBK_P primary contact readback boolean con/no-set 0 0 to 1
CRBK_S secondary contact readback boolean con/no-set 0 0 to 1
CRIT alarm criticality integer con/no-set 0 0 to 5
FS failsafe indicator boolean con/no-set 0 0 to 1
INHSTA alarm inhibit status pack_l con/no-set 0 see Parameter Def.
INITO initialize output short con/no-set 0 0 to 1
PRTYPE priority type integer con/no-set 0 0 to 8
UNACK unacknowledge alarm boolean con/no-set 0 0 to 1
21. COUTR Redundant Contact Output Block B0193AX Rev AB
613


21.4.1 Parameter Definitions
ACHNGE Alternate Change is an integer output which is incremented each time a
block parameter is changed via a Set command.
ALMOPT Alarm Options contains packed long values representing the alarm types
that have been configured as options in the block, and the alarm groups
that are in use. For the COUTR block, only the following bits are used:
DATA STORES
ACHNGE alternate change integer con/no-set 0 0 to 32767
ALMOPT alarm options pack_l no-con/no-set 0 see Parameter Def.
DEFINE no configuration errors boolean no-con/no-set 1 0 to 1
DEV_ID primary FBM Letterbug char[6] no-con/no-set blank 1 to 6 chars
DEVIDR secondary FBM Letterbug char[6] no-con/no-set blank 1 to 6 chars
ERCODE configuration error code string no-con/no-set 2 blanks see Parameter Def.
LOCKID lock identifier string no-con/no-set 2 blanks 8 to 13 chars
LOCKRQ lock request boolean no-con/set 0 0 to 1
OWNER owner name string no-con/set 2 blanks 1 to 32 chars
Table 21-1. COUTR Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
Bit Number
1
(0 to 31)
1.
Bit 0 is the least significant, low order bit.
Configured Alarm Option When True
0 (Least Significant) Alarm group 8 in use
1 Alarm group 7 in use
2 Alarm group 6 in use
3 Alarm group 5 in use
4 Alarm group 4 in use
5 Alarm group 3 in use
6 Alarm group 2 in use
7 Alarm group 1 in use
14 Secondary point alarm option
2
2.
Bit is set if BAO = 1.
15 Primary point alarm option
2
22 Bad I/O alarm configured
2
B0193AX Rev AB 21. COUTR Redundant Contact Output Block
614


There are no mnemonic names for the individual bits of ALMOPT.
ALMSTA Alarm Status is a 32-bit output, bit-mapped to indicate the blocks alarm
states. For the COUTR block, only the following bits are used:
AMRTIN Alarm Regeneration Timer is an integer that specifies the time interval for
an alarm condition to exist continuously, after which a new unacknowl-
edged alarm condition and an associated alarm message is generated. Val-
ues range from 0 (default, no regeneration) to 32767 seconds.
BAD Bad is a boolean output parameter which is set true when both of the con-
nected FBMs have bad status or both readback values have bad status.
BAG Bad Alarm Group is a short integer input that directs Bad alarm messages
to one of eight groups of alarm devices.
BAO Bad Alarm Option is a configurable boolean value. When configured true,
it enables alarm generation for each state change of the BAD parameter.
BAP Bad Alarm Priority is an integer input, ranging from 1 to 5, that sets the
priority level of the Bad alarm (1 is the highest priority).
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
U
N
A
C
K
B
A
D
B
A
D
_
S
B
A
D
_
P
CRIT PRTYPE
Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
0 to 4
(Least Sig-
nificant)
PRTYPE Priority Type: Only PRTYPE values
0 and 8 are used in the COUTR
block
5 to 7 CRIT Criticality; 5 = lowest priority,
1 = highest
14 BAD_S Secondary point Bad ALMSTA.18
15 BAD_P Primary point Bad ALMSTA.17
22 BAD Bad I/O alarm (primary and
secondary points Bad)
ALMSTA.B10
30 --- Bad alarm inhibited ALMSTA.B2
31 UNACK Unacknowledged Bad alarm ALMSTA.B1
* Bit 0 is the least significant, low order bit.
21. COUTR Redundant Contact Output Block B0193AX Rev AB
615


BAT Bad Alarm Text is a user-configurable text string of up to 32 characters
that is sent with the Bad alarm message to identify it.
BLKSTA Block Status is a 32-bit output, bit-mapped to indicate various block oper-
ational states. For the COUTR block, only the following bits are used:
COUT Contact Output is the output of the block. When there are connected
FBMs, its value is also transmitted to the connected output points.
CRBK_P If a pair of FBMs is connected (IOMOPT = 1), the Primary Contact
Readback parameter contains the current state of the contact output read
back from the connected point of the primary FBM. This value initializes
the blocks output parameter (COUT) when the block initializes, when
communication is restored to the redundant FBM pair, and when transi-
tioning from both readback channels having bad status to at least one
readback channel becoming good.
If a pair of FBMs is not connected (IOMOPT = 0), this value is simulated
using the current state of the COUT parameter.
CRBK_S If a pair of FBMs is connected (IOMOPT = 1), the Secondary Contact
Readback parameter contains the current state of the contact output read
back from the connected point of the secondary FBM. This value initial-
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
F
S
L
C
K
O
N
U
D
E
F
B
I
O
M
A
F
B
M
R
F
B
M
H
O
L
D
B
I
O
R
Bit Number*
(0 to 31) Name Description When True
Boolean Connection
(B32 to B1)
1 BIOR Secondary I/O Bad BLKSTA.B31
7 HOLD Hold BLKSTA.B25
8 FBM Primary FBM failure BLKSTA.B24
9 FBMR Secondary FBM failure BLKSTA.B23
11 MA Manual = 0, Auto = 1 BLKSTA.B21
12 BIO Primary I/O Bad BLKSTA.B20
14 UDEF Block Undefined BLKSTA.B18
15 ON Compound On = 1,
Compound Off = 0
BLKSTA.B17
20 WLCK Workstation Lock BLKSTA.B12
24 FS Failsafed outputs (both
outputs in failsafe)
BLKSTA.B8
* Bit 0 is the least significant, low order bit.
B0193AX Rev AB 21. COUTR Redundant Contact Output Block
616


izes the blocks output parameter (COUT) when the block initializes,
when communication is restored to the redundant FBM pair, and when
transitioning from both readback channels having bad status to at least
one readback channel becoming good.
If a pair of FBMs is not connected (IOMOPT = 0), this value is simulated
using the current state of the COUT parameter.
CRIT Criticality is an integer output that indicates the priority, ranging from 1
to 5, of the blocks highest currently active alarm (1 is the highest priority).
An output of zero indicates the absence of alarms.
DEFINE Define is a data store which indicates the presence or absence of configura-
tion errors. The default is 1 (no configuration errors). When the block ini-
tializes, DEFINE is set to 0 if any configured parameters fail validation
testing, other than those involved in duplicate output channel detection.
(See ERCODE for the list of all possible validation errors in this block.) In
that case, no further processing of the block occurs, including further vali-
dation of remaining parameters. To return DEFINE to a true value, cor-
rect all configuration errors and re-install the block. If DEFINE = 0, the
bit BLKSTA.UDEF = 1.
DESCRP Description is a user-defined string of up to 32 characters that describes
the blocks function (for example, PLT 3 FURNACE 2 HEATER CON-
TROL).
DEV_ID Primary Device Identifier is a character array data store that specifies the
6-character letterbug of the connected primary FBM.
DEVIDR Secondary Device Identifier is a character array data store that specifies the
6-character letterbug of the connected secondary FBM.
ERCODE Error Code is a string data store that indicates the type of configuration
error that caused the blocks DEFINE parameter to be set false. Validation
of configuration errors does not proceed past the first error encountered
by the block logic. For the COUTR block, the following list specifies the
possible values of ERCODE and the significance of each value in this
block:
ERCODE Description
W43 INVALID PERIOD/
PHASE COMBINATION
The configured PHASE parameter
value is not consistent with the con-
figured PERIOD value.
W51 INVALID HARDWARE/
SOFTWARE TYPE
The specified FBM does not con-
tain any digital output points
W52 INVALID I/O
CHANNEL/GROUP NUMBER
PNT_NO out of range for the spec-
ified FBM
W54 ECB DOES NOT EXIST Specified IOM_ID or IOMIDR
does not exist
21. COUTR Redundant Contact Output Block B0193AX Rev AB
617


EROPT Error Option is a short integer option that determines the conditions
under which the last good value functionality is provided for the block
output COUT. EROPT is only active when PROPT is true and the block
is in Auto. (See Section 21.6.3 for a definition of the effect of the different
values of EROPT).
FS Failsafe is a boolean output which is set true when the connected output
points in both FBMs transition into the Failsafe state or if the connected
output point in one FBM transitions to Failsafe and the other FBM is
failed. If the block is in Auto when the transition occurs, FS remains true
for one cycle, and then returns to false. If in Manual, FS goes true on any
transition into Failsafe, and remains true while the block is in Manual. On
the next transition into Auto, FS is set false.
IN Input is the input to the block. Its value, after optional pulse generation, is
presented as the output COUT, and transmitted to any connected FBM
points.
INHIB Inhibit is a boolean input. When true, it inhibits all block alarms; the
alarm handling and detection functions are determined by the INHOPT
setting. Alarms can also be inhibited based on the compound parameter
CINHIB.
INHOPT Inhibit Option specifies the following actions applying to all block alarms:
0 = When an alarm is inhibited, disable alarm messages but do not
disable alarm detection.
1 = When an alarm is inhibited, disable both alarm messages and
alarm detection. If an alarm condition already exists at the time
the alarm transitions into the inhibited state, clear the alarm
indicator.
2 = Same as 0 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages. Into
alarm messages can be acknowledged by explicitly setting
UNACK false.
3 = Same as 1 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages. Into
alarm messages can be acknowledged by explicitly setting
UNACK false.
B0193AX Rev AB 21. COUTR Redundant Contact Output Block
618


INHSTA Inhibit Status contains packed long values that represent the current
inhibit status of each alarm type configured in the block. For the COUTR
block, only the following bits are used:
INITMA Initialize Manual/Auto specifies the desired state of the MA input during
initialization, where:
+ 0 = Manual
+ 1 = Auto
+ 2 = The M/A state as specified in the checkpoint file.
The block asserts this initial M/A state whenever:
+ It is installed into the Control Processor database
+ The Control Processor undergoes a reboot operation
+ The compound in which it resides is turned on.
+ The INITMA parameter is modified via the Integrated Control
Configurator. (The block does not assert INITMA on ordinary
reconfiguration.)
INITMA is ignored if MA has an established linkage.
INITO Initialize Out is set true when any open-cascade situation exists in the
COUTR block. It persists for the duration of the condition, and is set
false again when the condition terminates.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
B
A
D
B
A
D
_
P
B
A
D
_
S
Bit Number*
(0 to 31) Name Description When True
Boolean Connection
(B32 to B1)
14 BAD_S Secondary point Bad alarm
inhibited**
INHSTA.B18
15 BAD_P Primary point Bad alarm
inhibited**
INHSTA.B17
22 BAD Bad I/O alarm inhibited** INHSTA.B10
* Bit 0 is the least significant, low order bit.
** Bit is set if 0 < Compound.CINHIB s BAP or INHIB = 1.
21. COUTR Redundant Contact Output Block B0193AX Rev AB
619


IOMOPT FBM Option is a boolean specifying whether FBM connections to the
block exist, where: Values:
IOM_ID Primary Fieldbus Module Identifier is a configurable string that specifies
the pathname of the primary FBM to which the block is connected.
IOM_ID has the form CompoundName:BlockName, where Compound-
Name is the 1-12 character name of the local compound containing the
ECB, and BlockName is the 1-12 character block name of the ECB.
If the compound containing the ECB is the CPletterbug_ECB compound
where CPletterbug is the station letterbug of the CP, the CompoundName
may be omitted from the IOM_ID configuration. In this case, the 1-12
character ECB block name is sufficient.
IOMIDR Secondary Fieldbus Module Identifier is a configurable string that speci-
fies the pathname of the secondary FBM to which the block is connected.
IOMIDR has the form CompoundName:BlockName, where Com-
poundName is the 1-12 character name of the local compound containing
the ECB, and BlockName is the 1-12 character block name of the ECB.
If the compound containing the ECB is the CPletterbug_ECB compound
where CPletterbug is the station letterbug of the CP, the CompoundName
may be omitted from the IOMIDR configuration. In this case, the 1-12
character ECB block name is sufficient.
LOCKID Lock Identifier is a string identifying the workstation that has exclusive
write access to the block. LOCKID arbitrates write access to the block
parameters by operator workstations on the network. Set requests to any
of the blocks parameters are honored only if the identifier of the worksta-
tion requesting the changes matches the identifier set in LOCKID.
The lock request message sets LOCKRQ to true and sets LOCKID to the
identifier of the requesting workstation. The corresponding lock release
message sets LOCKRQ to false and LOCKID to null.
LOCKID has the format Letterbug:DeviceName, where Letterbug is the
6-character letterbug of the workstation and DeviceName is the 1 to 6
character logical device name of the Display Manager task.
LOCKRQ Lock Request is a boolean value that is set true or false by a toggling the
LOCK U/L key on the Block Detail Display. Lock Request is a boolean
value that is set true or false by a toggling the LOCK U/L key on the
Block Detail Display. An operator at any workstation can lock and unlock
the block using the LOCK U/L key.
The lock request message sets LOCKRQ to true, sets LOCKID to the
identifier of the requesting workstation, and sets the WLCK bit in the
BLKSTA parameter. Thereafter, set requests to any of the blocks parame-
0 = The block does not transmit the COUT value to FBM points.
1 = The block transmits the COUT value to both FBMs points
specified by IOM_ID, IOMIDR, and PNT_NO each execu-
tion cycle.
B0193AX Rev AB 21. COUTR Redundant Contact Output Block
620


ters are honored (subject to the usual access rules) only if the requesting
workstations identifier matches the contents of LOCKID.
The corresponding lock release message sets LOCKRQ to false, sets
LOCKID to null, and resets the WLCK bit.
LOOPID Loop Identifier is a configurable string of up to 32 characters that identi-
fies the loop or process with which the block is associated. It is displayed
on the detail display of the block, immediately below the faceplate.
MA Manual/Auto is a boolean input that controls the blocks operating state:
+ 0 = False = Manual
+ 1 = True = Auto
When in Manual, the block output parameter COUT is released and can
only be updated manually. In Auto, the outputs are secured and updated
by the block logic.
MANFS Manual if Failsafe is a configurable option which, when true, causes the
block to switch to the Manual mode when the connected points in both
FBMs are reported to be in the Failsafe state, or if a connected point in
one of the FBMs is reported to be in the Failsafe state while the other
FBM is failed. MANFS has no effect when MA is linked.
NAME Name is a user-defined string of up to 12 characters used to access the
block and its parameters.
OWNER Owner is a string of up to 32 ASCII characters which are used to allocate
control blocks to applications. Attempts to set OWNER are successful
only if the present value of OWNER is the null string, an all-blank string,
or identical to the value in the set request. Otherwise the request is
rejected with a LOCKED_ACCESS error. OWNER can be cleared by any
application by setting it to the null string; this value is always accepted,
regardless of the current value of OWNER. Once set to the null string, the
value can then be set as desired.
PERIOD Period is an indexed input that dictates the blocks execution time base
and allowable PHASE values. For stations other than Integrators and
Gateways, PERIOD values range from 0 to 13 and map to the following
period time lengths. (Integrator and Gateway blocks have different period
values than shown here.)
Period Length Period Length
0 0.1 sec 7 10 min
1 0.5 sec* 8 60 min
2 1.0 sec 9 0.2 sec
3 2.0 sec 10 5.0 sec**
4 10 sec 11 0.6 sec***
21. COUTR Redundant Contact Output Block B0193AX Rev AB
621


PHASE Phase is an integer input that causes the block to execute at a specific BPC
within the time determined by the PERIOD. For instance, a block with
PERIOD of 3 (2.0 sec) can execute within the first, second, third, or
fourth BPC of the 2-second time period, assuming the BPC of the Con-
trol Processor is 0.5 sec. Refer to the appropriate Integrated Control Soft-
ware Concepts document (B0700AG or B0193AW).
PLSOPT Pulse Option allows you to select pulsed operation of the output COUT.
When true, PLSOPT causes a 0-to-1 pulse on COUT for a duration of
WIDTH minutes, every time there is a 0-to-1 transition of the input IN.
PNT_NO Point Number is the FBM point to which the COUTR block is
connected.
PROPT Propagate Error Option is a boolean input that determines whether the
status of IN should be reflected in the Error bit of COUT status. If the
COUTR block is in Auto, a true value of PROPT causes any one of the
following conditions to be reflected as an Error status of COUT:
+ Bad status bit in IN parameter
+ OOS status bit in IN parameter
+ Error status bit in IN parameter
+ Any value in the om field of the input source except 1
(ON_SCAN). Any other value in this field indicates that the
source of the connection has been deleted or is in a nonexistent
compound, or there has been a peer-to-peer path failure.
Parameter EROPT is used to control last good value functionality when
PROPT is true and the block is in Auto.
PRTYPE Priority Type is an indexed output parameter that indicates the alarm type
of the highest priority active alarm. The PRTYPE output of this block
consists only of the following alarm types:
0 = No active alarm
8 = Bad
5 30 sec 12 6.0 sec****
6 1 min 13 0.05 sec*****
* If the BPC is 0.2 sec., this period is treated internally as 0.6 sec.,
but the PERIOD parameter remains 1.
** If the BPC is 2.0 sec., this period is treated internally as 6.0 sec.,
but the PERIOD parameter remains 10.
***If the BPC is 0.5 sec., this period is treated internally as 0.5 sec.,
but the PERIOD parameter remains 11.
****If the BPC is not 2.0 sec., this period is treated internally as 5.0
sec., but the PERIOD parameter remains 12.
*****Available in CP40, CP40B, CP60 and later control proces-
sors.
Period Length Period Length
B0193AX Rev AB 21. COUTR Redundant Contact Output Block
622


TYPE When you enter COUTR or select it from a configurator list, an identi-
fying integer is created specifying this block type.
UNACK Unacknowledge is a boolean output parameter that is set true, for notifica-
tion purposes, whenever the block goes into alarm. It is settable, but sets
are only allowed to clear UNACK to false, and never in the opposite direc-
tion. The clearing of UNACK is normally via an operator acknowledge
pick on a default display, user display, or Current Alarms Display, or via a
user task.
WIDTH Pulse Width specifies the duration, in minutes, of output pulses generated
when PLSOPT is true.
21. COUTR Redundant Contact Output Block B0193AX Rev AB
623


21.5 Functions
21.5.1 Detailed Diagram
Figure 21-2. COUTR Block Operational Diagram
Prim. ECB Bad
Sec. Readback Pt. Bad
Sec. ECB Bad
Prim. Readback Pt. Bad
IN
Pulsed
Output
PLSOPT WIDTH
LAST GOOD VALUE
A
MA
M
EROPT = 1
AND
AND
EROPT = 2
PROPT
Auto
USE LAST GOOD VALUE
Open
Cascade
Detection
INITO
BAD
COUT.SECURE
COUT.BAD
INITO.BAD
CRBK_P.BAD
BAO
Bad
Alarming
COUT.OOS
INITO.OOS
CRBK_P.OOS
COUT.SECURE
IOMOPT
Prim. ECB OOS
Failsafe
Detection
FS
Transition Cycle
Manual
Auto
IN.BAD
IN.OOS
IN.Disconnect
IN.BAD
IN.OOS
IN.Disconnect
IN.ERROR
OR
OR
IOMOPT
Sec.
ECB
Prim.
ECB
Read-
back
CRBK_P
CRBK_S
COUT
1
Value
Returned from
0
COUT
CRBK_P
CRBK_S
Value
Returned from
Prim. FBM
Sec. FBM
AND
IOMOPT
AND
CRBK_S.BAD
Sec. ECB OOS
AND
AND
CRBK_S.OOS
AND
OR
OR
AND
AND
AND
OR
B0193AX Rev AB 21. COUTR Redundant Contact Output Block
624


21.5.2 Output Processing
Key Parameters: IOM_ID, IOMIDR, PNT_NO, IN, COUT, PLSOPT, WIDTH, IOMOPT
You specify the primary and secondary FBM connections by setting the IOM_ID and IOMIDR
parameters to the names of the primary and secondary ECBs, respectively, and the same point
within the FBMs by the Point Number (PNT_NO) parameter. The COUTR block supports
connection only to redundant FBM240s and redundant DCS FBMs for Migration to Moore
APACS+ systems that use ECB5 (SWTYPE = 5), and to redundant FBM207s or FBM217s. For a
list of other DCS FBMs that provide valid output points for the COUTR block, refer to the DCS
Fieldbus Modules for Migration of Moore APACS+ Systems Users Guide (B0700BK). For more
information on the FBM207/217, refer to DIN Rail Mounted Subsystem Users Guide (B0400FA).
If a pair of FBMs are connected to the COUTR block, as specified by an FBM Option
(IOMOPT) of 1, the value in COUT is written to both ECBs, and a flag is set in each ECB that
causes the contents to be written to the FBMs at the next bus output cycle. This transfer of the
value of COUT to the FBMs is the only difference between setting IOMOPT = 0 (no connected
FBMs) and setting IOMOPT = 1 (FBMs connected). COUT is calculated identically in either
case.
The Contact Readback values, CRBK_P and CRBK_S, contain the actual values read back from
the connected primary and secondary FBMs respectively at all times. If there are no connected
FBMs, CRBK_P and CRBK_S are identical to the present value of COUT.
21.5.2.1 Duplicate Output Channel Detection
Duplicate output channel detection is intended to alert you to the fact that this block and another
block capable of digital outputs are connected to the same output point. This does not necessarily
constitute a conflict, since the other block may be in a compound which is not intended to run at
the same time as the compound containing this COUTR block, or the duplicate connection may
be desired as part of an elaborate control scheme. The blocks capable of driving digital outputs are
COUT, COUTR, MCOUT, GDEV, MTR, VLV, MOVLV, and MDACT.
The entire database is checked for duplicate digital output channels when any block of one of
these types undergoes one of the following actions:
+ The block is installed.
+ An ECB connected to this block is installed or reconfigured.
+ The IOMOPT parameter is modified.
+ The IOM_ID or IOMIDR parameter is modified.
+ The variable output point number (PNT_NO) is modified.
The duplicate output channel check is also performed when the Control Processor is rebooted.
It is not performed when a compound is switched On or Off.
The ERCODE parameter of the blocks connected to the same output point is set to the string
W59 DUPLICATE OUTPUT CHANNEL, but the blocks are not set Undefined.
If the block is in Auto, and the last good value conditions described in Section 21.6.3 are not in
effect, then the value of the input IN is transferred to the output COUT.
21. COUTR Redundant Contact Output Block B0193AX Rev AB
625


21.5.2.2 Pulsed Output
The block output can be configured to operate as either a sustained output or a pulsed output.
When sustained action is configured (the Pulse Option parameter PLSOPT is 0), any change in
the block output is written to the redundant FBMs each block cycle.
However, when the Pulse Option parameter is true (PLSOPT = 1) and the block is in Auto mode,
any 0-to-1 transition of IN results in a pulsed output, during which COUT is set to 1 and written
to the FBMs for a period of time equal to parameter Pulse Width (WIDTH). WIDTH, which is
expressed in units of minutes, enables dynamic pulse width settings. The values of IN, including
any positive or negative transitions, are ignored during the active WIDTH period. Setting the
block input to 0 does not turn off the pulse during this time.
When the pulse duration expires, the pulse is turned off. The output parameter returns to 0 and is
written to the FBMs. No new pulse can be started until IN has returned to 0, and a new 0-to-1
transition has occurred. If the block is switched to Manual while a pulse is active, the pulse con-
tinues until the pulse timer expires.
When the Pulse Option parameter is true (PLSOPT = 1) and the block is in Manual mode, any 0-
to-1 transition in the block output (COUT) results in a pulsed output, during which the block
output is written to the redundant FBMs for a period of time equal to the parameter Pulse Width
(WIDTH). When the active WIDTH period expires, the output parameter returns to 0 and is
written to the FBMs.
Some digital FBMs also have momentary (pulse) and sustained options on a per-point basis that
you can specify independently from the COUTR block option. Refer to the appropriate Inte-
grated Control Software Concepts document (B0700AG or B0193AW).
21.5.3 Output Initialization
Output initialization occurs when the block initializes. Refer to the appropriate Integrated Control
Software Concepts document (B0700AG or B0193AW) for details about block initialization. The
block output also initializes when recovering from either of the following faults:
+ From loss of communications to both FBM modules to recovery of communications
to either FBM module, provided that the readback value in the healthy module has
good status.
+ From both readback values having bad status to at least one of the readback values
having good status.
Normally, the block output is initialized to the readback signal from the primary FBM (CRBK_P)
if it is healthy. However, if the primary readback value is bad and the secondary value (CRBK_S)
is healthy, the block output is initialized to CRBK_S.
21.5.4 Cascade Initialization
The COUTR block sets the INITO parameter to request that the upstream logic initializes in any
of these cases:
+ When the block initializes or the output initializes to one of the readback values.
+ When in Manual mode or transitioning into Auto mode.
+ When in Auto mode, and either the block input is in error, the block output is BAD
or OOS, or the block output transitions from BAD or OOS to healthy.
B0193AX Rev AB 21. COUTR Redundant Contact Output Block
626


+ When a healthy block output is in the failsafe state or transitions out of the failsafe
state.
21.5.5 Simulation Mode
The COUTR block can be configured to run in simulation mode when FBMs are not connected
to the block. The simulation option allows testing of control schemes requiring redundant con-
tact outputs without requiring actual I/O hardware connections. When the FBM option
(IOMOPT) is set to 0 (that is, FBMs are not connected), the COUT parameter value is not writ-
ten to a pair of FBMs, but is written to both CRBK_P and CRBK_S each block execution cycle,
simulating actual readback values.
You can use the simulation mode of the COUTR block while the block is in the Auto, Auto
Hold, or Manual mode.
21.6 Bad Input, Out-of-Service, and Error Conditions
21.6.1 Bad Input Conditions
Key Parameters: BAD, COUT, BLKSTA, CRBK_P, CRBK_S, INITO
The status of each side is separately tested. If an FBM is bad, one of two block status bits (FBM or
FBMR) is set. If a readback signal is bad, one of two block status bits (BIO or BIOR) is set.
If both FBMs are bad or both readback signals are bad, the BAD parameter, the bad status of the
block output (COUT.BAD), and the INITO parameter are set in the block.
When either signal becomes healthy, BAD, COUT.BAD, and INITO are cleared, and the block
output is initialized to the healthy readback value.
21.6.2 Out-of-Service Condition
Key Parameters: COUT, CRBK_P, CRBK_S, INITO
When redundant FBMs are connected, the out-of-service (OOS) status of COUT, CRBK_P,
CRBK_S, and INITO are set true if both FBMs are out-of-service. In this case, COUT is secured
and cannot be set. COUT retains its previous value, constituting an additional last good value sit-
uation, in addition to those described in Section 21.6.3.
21.6.3 Error Condition and Last Good Value Functionality
Key Parameters: PROPT, IN, COUT, EROPT
If the Propagate Error Option (PROPT) parameter is true, the Error status bit of COUT is set
true if IN has one or more of the following conditions:
+ The Bad status bit of IN is true.
+ The Out-of-Service status bit of IN is true.
+ The Error status bit of IN is true.
+ Any value in the om field of the input source except 1 (ON_SCAN). Any other value
in this field indicates that the source of the connection has been deleted or is in a non-
existent compound, or there has been a peer-to-peer path failure.
If the block is in Manual, PROPT is ignored; the Error status bit of COUT is not set true under
any of these conditions.
21. COUTR Redundant Contact Output Block B0193AX Rev AB
627


When PROPT is true and the block is in Auto, you may use parameter Error Option (EROPT)
to control last good value functionality. The values of EROPT are as follows:
+ EROPT = 0: There is no last good value functionality. COUT is updated normally.
+ EROPT = 1: The value of COUT is not updated, and its value from the previous pro-
cessing cycle is used, whenever any one of the first, second, or fourth conditions above
is true.
+ EROPT = 2: The value of COUT is not updated, and its value from the previous pro-
cessing cycle is used, whenever any one of the four conditions above is true.
If the block is in Manual, EROPT is ignored.
21.7 Failsafe State
Key Parameters: FS, BLKSTA, MANFS, MA
During each execution cycle, the COUTR block inspects the two ECBs to determine whether the
FBMs have reported the output points in the Failsafe state. A transition to Failsafe occurs when
both modules start reporting the point in Failsafe, or when one module starts reporting the point
in Failsafe and the other module is failed. When a Failsafe transition occurs, the COUTR block
sets the Failsafe parameter (FS) true and the BLKSTA.FS status bit true. The blocks output is
read back from the primary FBM, if healthy, or from the secondary FBM if the primary FBM is
failed.
The status bit BLKSTA.FS is true whenever parameter FS is true.
If the block is in Auto when a Failsafe transition occurs, the Failsafe parameter (FS) is set true for
one cycle. Thereafter, FS is false until another transition to Failsafe is detected.
If the block is in Manual when a transition into Failsafe is detected, FS is set true and remains true
for the duration of the Manual mode. If the block is switched to Auto mode, FS is cleared to false.
If option Manual if Failsafe (MANFS) is true, the block is forced into Manual when a transition
into Failsafe occurs, if it is not already in Manual. Thereafter, it remains in Manual unless it is set
into Auto by a user task or display. MANFS is always ignored when parameter MA is linked.
Failsafe state processing is not performed when no FBM is connected.
21.8 Block Modes
The COUTR block operates in one of three modes: Auto, Manual, and Auto Hold. The
INITMA parameter allows you to specify in which state the block initializes: Auto or Manual.
21.8.1 Auto Mode
When the block is in Auto mode, the following actions are taken:
+ The readback parameters, CRBK_P and CRBK_S, are updated from the readback
values and channel status information in the redundant ECBs. The status of each
readback value is marked OOS if its ECB is unhealthy or off-line, or marked BAD if
its ECB is unhealthy or its channel status is set to BAD.
+ The block input (IN) is copied to the block output parameter (COUT) each execu-
tion cycle. COUT cannot be set manually, that is, by an OM set operation, when the
block is in Auto mode.
B0193AX Rev AB 21. COUTR Redundant Contact Output Block
628


+ If the block is connected to a pair of redundant FBMs, COUT is written to both
FBMs, provided that the readback signals CRBK_P and CRBK_S are not marked
out-of-service (OOS) or BAD. If one of the readback signals is out-of-service or BAD,
the output is not written to that FBM.
+ Because the cascade is considered closed during Auto mode, the INITO output is
cleared.
+ If the Bad Alarming Option is enabled (BAO = 1), bad alarming is active while
COUTR is in the Auto mode.
21.8.2 Auto Hold Mode
The block mode is considered in Auto Hold mode when the Auto/Manual parameter is in the
Auto state (MA=1) and one of the following is true:
1. The Propagation option is configured (PROPT=1) and the block input is in error
The block input is in error if one of the following is true:
+ EROPT is 1 and the block input is bad (BAD), out-of-service (OOS), or has a
broken connection
+ EROPT is 2 and the block input is BAD, OOS, has a broken connection, or is
questionable (the ERR status is set).
2. The block output is BAD or OOS.
The block output is BAD if both readback values are bad, and the block output is
OOS when both readback values are OOS.
When the block is in Auto Hold mode, the following actions are taken:
+ The readback parameters, CRBK_P and CRBK_S, are updated from the readback
values and channel status information in the redundant ECBs. The status of each
readback value is marked OOS if its ECB is unhealthy or off-line, or marked BAD if
its ECB is unhealthy or its channel status is set to BAD.
+ The INITO output is set.
+ Alarming is active while the COUTR block is in the Auto Hold mode if the Bad
Alarming Option is enabled (BAO = 1).
21.8.3 Manual Mode
Key Parameters: COUT, MA, INITO
When the COUTR block is in the Manual mode, it does not update the value of the COUT out-
put; COUT is released and becomes settable by an OM set operation. When a redundant pair of
FBMs are connected, the manual value set into COUT is written to both FBMs, provided that
the readback signals CRBK_P and CRBK_S are not marked out-of-service (OOS) or BAD. If one
of the readback signals is out-of-service or BAD, the output is not written to that FBM.
All other output parameters can be set during Manual mode. Ordinarily, you should not set the
value of CRBK_P or CRBK_S, since the parameters would lose the function of continually
reporting the actual readback value from the FBMs.
All of the parameters and status bits that reflect the bad or out-of-service status of the FBM
remain active during Manual mode, and are refreshed every cycle. These are listed in detail in
Section 21.6.1 and Section 21.6.2.
21. COUTR Redundant Contact Output Block B0193AX Rev AB
629


Neither PROPT nor EROPT are active during Manual mode.
The cascade is considered open during Manual mode of the COUTR block, and INITO is there-
fore kept true throughout the mode.
Alarming is always active during Manual mode of the COUTR block, provided that the Bad
Alarming Option is enabled (BAO = 1).
21.9 Alarming
The COUTR block supports the Bad I/O alarm type. This section provides a functional overview
of the Bad I/O alarm.
The nomenclature for identical alarm types varies from block to block for historical reasons
involving backward compatibility requirements. The nomenclature for the COUTR block is as
follows:
Detailed descriptions of this alarm type and the following alarm functions is discussed in the
appropriate Integrated Control Software Concepts document (B0700AG or B0193AW).
+ Re-alarming of active alarms when the alarm priority (PRTYPE) is changed
+ Re-alarming of active alarms when the alarm regeneration timer (AMRTIN) expires
21.9.1 Bad Alarming Overview
Key Parameters: BAO, BAP, BAG, BAT, BAD, AMRTIN
Bad alarming occurs when the Bad Alarm Option (BAO) is set and one or both of the connected
readback values are bad. Bad alarm messages are generated for each readback value independently
when its status is bad (CRBK_P.BAD, CRBK_S.BAD).
When one readback value becomes bad, the COUTR block creates a bad alarm message and
sends it to all devices specified in the bad alarm group (BAG) parameter. The bad alarm message
contains the descriptive text specified in the Bad Alarm Text parameter (BAT) and the loop iden-
tifier (LOOPID). To identify which of the readback values are bad, the message also contains a
BAD_P text string if the primary readback value is bad or a BAD_S text string if the second-
ary readback value is bad.
When the readback value becomes good, a corresponding return-to-normal message is generated
and sent to all devices in the bad alarm group.
Bad alarm status information, however, is generated only when both readback values are bad.
When both readback values are bad, the COUTR block takes the following actions:
+ Sets the bad parameter (BAD) and the corresponding BAD bit of the Alarm Status
parameter (ALMSTA.BAD) true
+ Sets the UNACK parameter and the corresponding ALMSTA.UNACK bit true
+ Sets the criticality (CRIT) parameter and its corresponding ALMSTA.CRIT field to
the BAP (Bad Alarm Priority) value.
Table 21-2. Alarm Nomenclature
Type Option Priority Group Text
Default
Display
Indicator
Parameter
I/O Bad BAO = True BAP BAG BAT IOBAD BAD
B0193AX Rev AB 21. COUTR Redundant Contact Output Block
630


+ Sets the Priority Type (PRTYPE) parameter and its corresponding ALMSTA.PRTYPE
bit to the Bad alarm type.
When both readback values return to good status, BAD, CRIT, PRTYPE and their corresponding
fields in ALMSTA are cleared.
The UNACK parameter and the ALMSTA.UNACK bit are cleared if one of the following is true:
+ The alarm is acknowledged by an OM set operation at either the compound or block
level by setting the compound or block parameter UNACK to 0.
+ Both readback values return to a good status and the Inhibit Option (INHOPT) is set
appropriately.
+ The block is shut down.
When UNACK is cleared, an Alarm Acknowledge message is generated and sent to all devices in
the bad alarm group.
21.9.2 Inhibiting and Disabling Alarms
Using a combination of the COUTR block parameters INHOPT and INHIB and the compound
parameter CINHIB, you can inhibit bad alarm messages and/or disable bad alarm detection.
When the Bad alarm is inhibited or disabled, an Alarm Disable message is sent to all devices in the
bad alarm group. If the Bad alarm is unacknowledged, an Alarm Acknowledge message is also sent
to the devices. In addition, the ALMSTA.INHIB, INHSTA.BAD, INHSTA.BAD_P, and
INHSTA.BAD_S bits are set.
When the Bad alarm is uninhibited or enabled, a corresponding Alarm Enable message is gener-
ated and sent to the devices belonging to the bad alarm group, the ALMSTA.INHIB bit is
cleared, and the INHSTA parameter is cleared.
The COUTR block also supports alarm reprioritization and regeneration. Refer to the appropri-
ate Integrated Control Software Concepts document (B0700AG or B0193AW) for detailed informa-
tion on inhibiting, disabling, reprioritizing, and regenerating alarms.
21. COUTR Redundant Contact Output Block B0193AX Rev AB
631


21.10 Application Diagram
CIN
CIN
CIN
CIN
CIN
BI02 BI04 BI11
CIN
CIN
CIN
BI09
BO01 BO02 RO01 RO02
WIDTH IN
Feedstock
Output
Product
Solenoid
Valve
CALCA
Program
ECB5 ECB5
FBM240 FBM240
FBM241
COUTR
WIDTH IN
ECB5 ECB5
COUTR
Tank Full
Switch
FBM240 FBM240
B0193AX Rev AB 21. COUTR Redundant Contact Output Block
632


633


22. DEP Dependent Sequence
Block
This chapter covers the Dependent Sequence, or DEP, block, its features, parameters and
detailed operations.
22.1 Overview
The Dependent Sequence (DEP) block provides sequential control for regulatory feedback appli-
cations at the equipment control level. A DEP block can be used to perform a series of activities,
for example: filling, mixing, and draining the contents of a tank.
22.1.1 I/O Diagram
Figure 22-1. DEP Block I/O Diagram
22.2 Features
The features are:
+ Define a sequence of events with High Level Batch Language (HLBL) statements.
+ Activate or deactivate other Sequence blocks.
+ Activate or deactivate Monitor (MON) blocks.
+ Activate or deactivate individual monitor cases of a MON block.
+ Control timers in Timer (TIM) blocks to time events.
+ Access any shared variable and all parameters of any block present in the system. For
example, a DEP block may be carrying out a function, such as filling a tank. If a Mon-
itor (MON) block detects an off-normal process condition, it can activate an
RO (115)
DEP
BLOCK
PAUSED
SUSPND
STMNO, SUBRNO
SBXNO, STEPNO
OP_ERR
ALMSTA, BLKSTA
MSGNO
BO (116)
IO (15)
Standard
Parameters
Parameters
Subroutines
SBXs
Main
Statement
Section
(with steps)
MA
ACTIVE
STEPMD
BI (124)
II (18)
RI (115)
User
B0193AX Rev AB 22. DEP Dependent Sequence Block
634


Exception (EXC) block to take corrective action. The DEP block is Paused until the
corrective action is complete. When the EXC block becomes Inactive, the DEP block
can finish executing its logic.
+ For example, a DEP block may be carrying out a function, such as filling a tank. If a
Monitor (MON) block detects an off-normal process condition, it can activate an
Exception (EXC) block to take corrective action. The DEP block is Paused until the
corrective action is complete. When the EXC block becomes Inactive, the DEP block
can finish executing its logic.
+ The DEP block contains standard parameters, user parameters, and a free program-
mable algorithm. Standard parameters govern and represent the operational mode for
the DEP block. All user parameters can be read and written in the free programmable
blocks algorithm.
+ The user-defined algorithm consists of:
+ Local block variables to be used by the blocks algorithm. They cannot be accessed
from outside the block.
+ Subroutines.
+ Standard Block Exception Handlers (SBXs) that contain:
+ Error handling logic to be executed in order to recover from an operational
error.
+ Transition logic to be executed when the operational mode of the block
changes from Active/Auto or Active/Semi-Auto to another mode.
+ The blocks main section, which can be subdivided into steps.
The options are:
+ Restart Manual Auto (RSTMA) specifies the desired value of the MA parameter at
block initialization.
+ Restart Active (RSTACT) specifies the desired value of the ACTIVE parameter at
block initialization, where:
+ RSTACT = 0: sets ACTIVE to false when the compound is turned on or for a
station reboot.
+ RSTACT = 1: sets ACTIVE to true when the compound is turned on or for a
station reboot.
+ RSTACT = 2: sets ACTIVE to the value in the checkpoint file for a station reboot
only. Otherwise, ACTIVE remains unchanged.
+ Inhibit Option (INHOPT) allows you to specify alarm inhibit options.
+ Operational Error Alarm Option (OP_OPT) enables or disables operational error
alarm messages and indications. You can change OP_OPT only by reconfiguring the
block.
22. DEP Dependent Sequence Block B0193AX Rev AB
635


22.3 Parameters
Table 22-1. DEP Block Parameters
Name Description Type Accessibility Default Units/Range
Configurable Parameters
INPUTS
NAME block name string no-con/no-set blank 1 to 12 chars
TYPE block type integer no-con/no-set 176 DEP
DESCRP descriptor string no-con/no-set blank 1 to 32 chars
PERIOD block sample time short no-con/no-set 1 0 to 13
PHASE block phase number integer no-con/no-set 0 ---
LOOPID loopid string no-con/set blank 1 to 32 chars
MA manual/auto boolean con/set 0 0 to 1
RSTMA restart MA short no-con/set 1 [0|1|2]
ACTIVE sequence block state boolean con/set 0 0 to 1
RSTACT restart ACTIVE short no-con/set 0 [0|1|2]
INHIB alarm inhibit boolean con/set 0 0 to 1
INHOPT inhibit option short no-con/no-set 0 0 to 3
BPCSTM number BPC statements integer no-con/set 100 0-32767
HSCI1 high scale input 1 real no-con/no-set 100.0 specifiable
LSCI1 low scale input 1 real no-con/no-set 0.0 specifiable
DELTI1 change delta input 1 real no-con/no-set 1.0 percent
EI1 eng units input string no-con/no-set % specifiable
HSCO1 high scale output 1 real no-con/no-set 100.0 specifiable
LSCO1 low scale output 1 real no-con/no-set 0.0 specifiable
DELTO1 change delta output 1 real no-con/no-set 1.0 percent
EO1 eng unit output string no-con/no-set % specifiable
MSGGR1-MSGGR4 message groups 1 to 4 short no-con/set 0 1 to 8
BI0001 to BI0024 user lab input boolean con/set 0 0 to 1
II0001-II0008 user lab input long con/set 0 ---
RI0001 to RI0015 user lab input real con/set 0.0 RI1
SN0001 to SN0010 user labels string no-con/set blank ---
OP_OPT operation alarm option boolean no-con/no-set 0 0 to 1
OP_PRI alarm priority integer con/set 5 [1..5]
OP_GRP alarm message group integer no-con/set 1 1 to 8
OP_TXT operation alarm text string no-con/no-set blank 1 to 32 chars
CSPACE code space integer no-con/no-set 0 ---
Non-Configurable Parameters
OUTPUTS
ALMSTA alarm status pack_l con/no-set 0 bit map
BLKSTA block status pack_l con/no-set 0 bit map
BO0001 to BO0016 user lab output boolean con/set 0 0 to 1
CRIT criticality integer con/no-set 0 [0..5]
CSIZE code size integer no-con/no-set 0 ---
INHSTA inhibit status pack_l con/no-set 0 0 to 0xFFFFFFFF
B0193AX Rev AB 22. DEP Dependent Sequence Block
636


22.3.1 Parameter Definitions
ACHNGE Alternate Change is an integer output which is incremented each time a
block parameter is changed via a Set command.
Note: Each time a block parameter is changed via HLBL code, parameter
MSGNO is incremented.
IO0001 to IO0005 user lab output long con/set 0 ---
MSGNO message number long con/no-set 0 0 to 2E31-1
OP_ERR operation error long con/no-set 0 ---
PAUSED execution stopped boolean con/no-set 0 0 to 1
PRTYPE priority type integer con/no-set 0 [0..10]
RO0001 to RO0015 user lab output real con/set 0.0 RO1
SBXNO subroutine exception number long con/no-set 0 0 to 5
SC_IND state change indicator long con/no-set 0 ---
STEPNO executed step long con/no-set 0 ---
STMNO executed statement number long con/no-set 0 ---
SUBRNO subroutine number long con/no-set 0 ---
TRACMD trace mode long con/no-set 0 0 to 2
UNACK alarm notification boolean con/no-set 0 0 to 1
DATA STORES
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
ALMOPT alarm options pack_l no-con/no-set 0 0 to 0xFFFFFFFF
BA0001 to BA0004 boolean array 1 to 4 boolean[16] no-con/set 0 16 boolean
DEFINE no config errors boolean no-con/no-set 1 0 to 1
DISBX1 to DISBX5 SBX states boolean no-con/set 1 0 to 1
ERCODE config error string no-con/no-set 0 1 to 43 chars
ERHKEY external reference key integer no-con/no-set -1 ---
FPNBUF pathname buffer char[33] no-con/no-set 0 1 to 33 chars
IA0001 integer array 1 long[16] no-con/set 0 1 to 16 longs
LOCKID lock identifier string no-con/no-set blank 8 to 13 chars
LOCKRQ lock request boolean no-con/set 0 0 to 1
NXTSTM next HLBL statement boolean no-con/set 0 0 to 1
OF_ICM number of bytes ic integer no-con/no-set 0 ---
OWNER owner name string no-con/set blank 1 to 32 chars
RA0001 to RA0002 real array real[16] no-con/set 0.0 1 to 16 reals
RI1 eng range input real[3] no-con/no-set 100,0,1 specifiable
RO1 eng range output real[3] no-con/no-set 100,0,1 specifiable
SBXRQ SBX request short no-con/set 0 1 to 5
STEPMD step mode boolean con/set 0 0 to 1
STEPRQ step request short no-con/set 0 ---
STMRQ statement request long no-con/set 0 ---
SUSPND suspend boolean con/set 0 0 to 1
TIMCNT suspend time real no-con/no-set -2.0 seconds
TOPEVL top evaluation stack integer no-con/no-set -1 ---
TRACRQ trace request short no-con/set 0 ---
Table 22-1. DEP Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
22. DEP Dependent Sequence Block B0193AX Rev AB
637


ACTIVE Active shows the current Sequence block state. Writing to this parameter
changes the block state. When ACTIVE = 1, the block is active. When
ACTIVE = 0, the block is inactive.
ALMOPT Alarm Options contains packed long values representing the alarm types
that have been configured as options in the block, and the alarm groups
that are in use. For the DEP block, only the following unshaded bits are
used:
ALMSTA Alarm Status is a 32-bit output, bit-mapped to indicate the blocks alarm
states. For the DEP block, only the following bits are used:
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
Bit Number
1
(0 to 31)
1.
Bit 0 is the least significant, low order bit.
Configured Alarm Option When True
0 Alarm Group 8 in Use
1 Alarm Group 7 in Use
7 Alarm Group 1 in Use
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
U
N
A
K
I
N
H
O
P
E
R
S
T
A
L CRIT PRTYPE
Bit Number
(0 to 31)* Name Description When True
Boolean Connection
(B32 to B1)
0 to 4 PTYP_MSK Priority Type: See param-
eter PRTYPE for values
used in the AIN block
ALMSTA.B32
ALMSTA.B28
5 to 7 CRIT_MSK Criticality; 5 = lowest pri-
ority, 1= highest
ALMSTA.B27
ALMSTA.B25
26 STAL State Change Alarm ALMSTA.B6
27 OPER Sequence Operational
Error Alarm
ALMSTA.B5
29 INH Alarm inhibit ALMSTA.B3
B0193AX Rev AB 22. DEP Dependent Sequence Block
638


* Bit 0 is the least significant, low order bit.
BA0001 to BA0004
Boolean Array 1 to 4 are parameters of 16 elements each.
BI0001 to BI0024 Boolean Inputs 1 through 24 are user parameters that can be read in user-
defined monitor case expressions. You cannot assign a value to these
parameters by means of an HLBL statement in a monitor case. You can
optionally assign a label to these inputs to facilitate referencing.
BLKSTA Block Status is a 32-bit output, bit-mapped to indicate the blocks opera-
tional states. For the DEP block, only the following bits are used:
BO0001 to BO0016
Boolean Outputs 1 through 16, are user parameters, and are the evalua-
tion of monitor cases 1 through 16, when active. BO0001 to BO0016 can
be read as an inputs for other monitor cases. You can assign labels to
BO0001 to BO0016, to facilitate referencing.
30 UNAK Unacknowledged ALMSTA.B2
Bit Number
(0 to 31)* Name Description When True
Boolean Connection
(B32 to B1)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
W
L
C
K
S
B
X
P
A
U
S
A
C
T
O
N
U
D
E
F
M
A
Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
11 MA Manual(= false)/Auto(= true) BLKSTA.B21
14 UDEF Undefined BLKSTA.B18
15 ON Compound On BLKSTA.B17
16 ACT Active/Inactive BLKSTA.B16
18 PAUS Paused BLKSTA.B14
19 SBX Executing Sequence Block
Exception (SBX) Statements
BLKSTA.B13
20 WLCK Workstation Lock BLKSTA.B12
* Bit 0 is the least significant, low order bit.
22. DEP Dependent Sequence Block B0193AX Rev AB
639


BPCSTM Basic Processing Cycle Statements determines the number of statements in
the DEP block that are executed per Basic Processing Cycle (BPC), when
the block is in Auto. Its range is 0-32767.
CRIT Criticality is an integer output that indicates the priority, ranging from 1
to 5, of the blocks highest currently active alarm (1 is the highest priority).
An output of zero indicates the absence of alarms.
CSIZE Code Size is the actual size, in bytes, of the code space used by a sequence
block. This value is the size of the sequence block and its associated
sequence code.
CSPACE Code Space is the total number of bytes to be pre-allocated for the
sequence block and its associated sequence code.
DEFINE Define is a data store which indicates the presence or absence of configura-
tion errors. The default is 1 (no configuration errors). When the block ini-
tializes, DEFINE is set to 0 if any configured parameters fail validation
testing. In that case, no further processing of the block occurs. To return
DEFINE to a true value, correct all configuration errors and re-install the
block.
DELTI1 Change Delta for Input Range 1 is a real value that defines the minimum
percent of the input range that triggers change driven connections for
parameters in the range of RI1. The default value is 1.
Entering a 1 causes the Object Manager to recognize and respond to a
change of 1 percent of the full error range. If communication is within the
same CP that contains the blocks compound, change deltas have no
effect.
Refer to Peer-to-Peer Connections of Real-Type Block Inputs on
page 23 for details on how the I/A Series software affects the change delta
percentage during operation.
DELTO1 Change Deltas for Output Range 1 is presently unused.
DESCRP Description is a user-defined string of up to 32 characters that describe the
blocks function (for example, PLT 3 FURNACE 2 HEATER CON-
TROL).
DISBX1 to DISBX5
Disable Sequence Block Exceptions (SBX 1 through 5) are boolean out-
puts. When true, DISX1, for example, indicates that SBX 1 has been dis-
abled. When the block is activated, SBX 1 assumes its enabled/disabled
state as determined by its HLBL definition. While the block is active, the
SBX 1 enabled/ disabled state can be changed by manipulating DISBX1,
or by executing the SET_SBXS statement.
EI1 Engineering Units for Input Range 1, as defined by the parameters
HSCI1, LSCI1, and DELTI1. EI1 provides the engineering units text for
the values defined by Input Range 1. Deg F or pH are typical entries.
B0193AX Rev AB 22. DEP Dependent Sequence Block
640


EO1 Engineering Units for Output Range 1, as defined by the parameters
HSCO1, LSCO1, and DELTO1. EO1 provides the engineering units text
for the values defined by Output Range 1. Deg F or pH are typical
entries. Make the units for the Output Range (EO1) consistent with the
units of Input Range 1 (EI1).
ERCODE Error Code is a string data store which indicates the type of configuration
error or warning encountered. The error situations cause the blocks
DEFINE parameter to be set false, but not the warning situations. Valida-
tion of configuration errors does not proceed past the first error encoun-
tered by the block logic. The block detailed display shows the ERCODE
on the primary page, if it is not null. For the DEP block, the following list
specifies the possible values of ERCODE, and the significance of each
value in this block:
ERHKEY External Reference Location Key is an indexed specification of the loca-
tion type for an external reference (data store for debugging use only).
FPNBUF Full Path Name Buffer contains the full path name of the external refer-
ence (for debugging use only).
HSCI1 High Scale for Input Range 1 is a real value that defines the upper limit of
the measurement ranges. EI1 defines the units. Make the range and units
consistent with the measurement source. A typical value is 100 (percent).
Message Value
W43 INVALID PERIOD/
PHASE COMBINATION
PHASE does not exist for given block
PERIOD, or block PERIOD not
compatible with compound PERIOD.
W44 INVALID
ENGINEERING RANGE
High range value is less than or equal
to low range value.
W46 INVALID INPUT
CONNECTION
The source parameter specified in the
input connection cannot be found in
the source block, or the source
parameter is not connectable, or an
invalid boolean extension connection
has been configured.
W48 INVALID BLOCK
OPTION
The configured value of a block option
is illegal.
W53 INVALID PARAMETER
VALUE
A parameter value is not in the accept-
able range.
W58 INSTALL ERROR;
DELETE/UNDELETE BLOCK
A Database Installer error has
occurred.
22. DEP Dependent Sequence Block B0193AX Rev AB
641


HSCO1 High Scale for Output Range 1 is a real value that defines the upper limit
of the ranges for Output 1. A typical value is 100 (percent). EO1 defines
the units. Make the range and units consistent with those of the output
destination.
IA0001 Integer Array 1 is an array of 16 long integer data stores. There are stan-
dard parameters which can be user labelled.
II0001 to II0008 Integer Inputs 1 through 8 are user parameters that can be read in user-
defined monitor case expressions. You cannot assign a value to these
parameters by means of an HLBL statement in a monitor case. You can
optionally assign a label to these inputs to facilitate referencing. The same
parameters are writable in IND, DEP, EXC block types.
INHIB Inhibit is a boolean input. When true, it inhibits all block alarms; the
alarm handling and detection functions are determined by the INHOPT
setting. Alarms can also be inhibited based on the compound parameter
CINHIB.
INHOPT Inhibit Option specifies the following actions applying to all block alarms:
INHSTA Inhibit Status contains packed long values that represent the actual inhibit
status of each alarm type configured in the block. For the DEP block, only
the following bits are used:
0 = When an alarm is inhibited, disable alarm messages but do
not disable alarm detection.
1 = When an alarm is inhibited, disable both alarm messages and
alarm detection. If an alarm condition already exists at the
time the alarm transitions into the inhibited state, clear the
alarm indicator.
2 = Same as 0 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages.
Into alarm messages may be acknowledged by explicitly set-
ting UNACK false.
3 = Same as 1 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages.
Into alarm messages may be acknowledged by explicitly set-
ting UNACK false.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
U
N
A
C
K
I
N
H
O
P
E
R
S
T
A
L

B0193AX Rev AB 22. DEP Dependent Sequence Block
642


* Bit 0 is the least significant, low order bit.
IO0001 to IO0005
Integer Outputs 1 through 5 are user parameters that you can reference in
the blocks sequence logic. You can optionally assign labels to these out-
puts to facilitate referencing.
LOCKID Lock Identifier is a string identifying the workstation which has locked
access to the block via a successful setting of LOCKRQ. LOCKID has the
format LETTERBUG:DEVNAME, where LETTERBUG is the 6-char-
acter letterbug of the workstation and DEVNAME is the 1 to 6 character
logical device name of the Display Manager task.
LOCKRQ Lock Request is a boolean input which can be set true or false only by a
SETVAL command from the LOCK U/L toggle key on workstation dis-
plays. When LOCKRQ is set true in this fashion a workstation identifier
accompanying the SETVAL command is entered into the LOCKID
parameter of the block. Thereafter, set requests to any of the blocks
parameters are honored (subject to the usual access rules) only from the
workstation whose identifier matches the contents of LOCKID.
LOCKRQ can be set false by any workstation at any time, whereupon a
new LOCKRQ is accepted, and a new ownership workstation identifier
written to LOCKID.
LOOPID Loop Identifier is a configurable string of up to 32 characters which iden-
tifies the loop or process with which the block is associated. It is displayed
on the detail display of the block, immediately below the faceplate.
LSCI1 Low Scale for Input Range 1 is a real value that defines the lower limit of
the measurement ranges. A typical value is 0 (percent). EI1 defines the
units. Make the range and units consistent with those of the measurement
source.
LSCO1 Low Scale for Output Range 1 is a real value that defines the lower limit of
the ranges for Output 1. A typical value is 0 (percent). EO1 defines the
units. Make the range and units consistent with those of the output desti-
nation.
Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
26 STAL State Change Alarm INHSTA.B6
27 OPER Sequence Operational Error
Alarm
INHSTA.B5
29 INH Inhibit Alarm INHSTA.B3
30 UNACK Unacknowledged INHSTA.B2
22. DEP Dependent Sequence Block B0193AX Rev AB
643


MA Manual Auto is a boolean input that controls the Manual/ Automatic
operating state (0 = false = Manual; 1 = true = Auto). In Auto, the block
can execute HLBL statements. In Manual, the block can execute main sec-
tion statements one at a time by writing to the parameters STEPRQ,
STMRQ, or NXTSTM.
MSGGR1 to MSGGR4
Message Groups 1 through 4 are integer inputs (1 through 8), that direct
alarm messages to one of eight groups of alarm devices.
MSGNO Message Number indicates the number of the last message assigned to a
user string parameter. It is incremented by one each time a message is
assigned, to show updates of SN00xx on the detailed displays. If the
parameter value reaches 2E31-1, the next message number is 0.
Note: Each time a block parameter is changed via a SET command,
parameter ACHANGE is incremented.
NAME Name is a user-defined string of up to 12 characters used to access the
block and its parameters.
NXTSTM Next Statement is a nonconfigurable boolean input. When true, NXT-
STM causes the HLBL statement following the current one to be exe-
cuted. After this request has been granted, NXTSTM is reset to false. You
activate this function by selecting the NEXT STMT button in the ALL
CODE display. NXTSTM can occur within a subroutine, within an SBX,
or within a step in the block's main section of code. The block mode
(whether the block is in the Manual, Auto, Semi-Auto, Subr-Trace or
SBX-Trace mode) determines the number of HLBL statements executed.
OF_ICM Offset to the IC Module is an integer representing the number of bytes
from the start of the block to the IC module.
OP_ERR Operational Error shows the operational error number, if any, caused by
the last statement executed. An operational error occurs when the block
cannot recover from an error by itself. This can happen when:
+ The error handler SBXs are not present.
+ The error handler SBXs are disabled.
+ An operational error occurs within an error handler.
When this happens, the block changes to manual mode, OP_ERR is set to
indicate the type of error that has occurred, and statement execution stops
until a request is made through STMRQ, MA, or ACTIVE. Refer to the
Integrated Control Configurator document (B0193AV) for a list of opera-
tional error numbers.
OP_GRP Operational Error Group is an integer input (1 through 8) that directs the
operational alarm message to one of eight groups of alarm devices. You
can change the group number at the workstation.
B0193AX Rev AB 22. DEP Dependent Sequence Block
644


OP_OPT Operational Error Alarm Option is a boolean input that enables (1 =
enable = true) or disables (0 = disable = false) operational error alarm mes-
sages and indications. You can change OP_OPT only by reconfiguring the
block.
OP_PRI Operational Error Priority is an integer input, (1 to 5), that sets the prior-
ity level of the operational error alarm (highest priority is 1).
OP_TXT Operational Error Text is a user-defined text string of up to 32 characters
that is part of the operational error alarm message. You can change
OP_TXT only by reconfiguring the block.
OWNER Owner is a string of up to 32 ASCII characters which are used to allocate
control blocks to applications. Attempts to set Owner are successful only
if the present value of Owner is the null string, an all-blank string, or iden-
tical to the value in the set request. Otherwise the request is rejected with a
LOCKED_ACCESS error. Owner can be cleared by any application by
setting it to the null string; this value is always accepted, regardless of the
current value of Owner. Once set to the null string, the value can then be
set as desired.
PAUSED Paused shows when a temporary delay in DEP block execution occurs as a
result of active EXC blocks in the same compound.
PERIOD Period is an indexed input that dictates the blocks execution time base
and allowable PHASE values. For stations other than Integrators and
Gateways, PERIOD values range from 0 to 13 and map to the following
period time lengths. (Integrator and Gateway blocks have different period
values than shown here.)
* If the BPC is 0.2 sec., this period is treated internally as 0.6 sec., but the
PERIOD parameter remains 1.
** If the BPC is 2.0 sec., this period is treated internally as 6.0 sec., but the
PERIOD parameter remains 10.
*** If the BPC is 0.5 sec., this period is treated internally as 0.5 sec., but
the PERIOD parameter remains 11.
**** If the BPC is not 2.0 sec., this period is treated internally as 5.0 sec.,
but the PERIOD parameter remains 12.
Period Length Period Length
0 0.1 sec 7 10 min
1 0.5 sec* 8 60 min
2 1.0 sec 9 0.2 sec
3 2.0 sec 10 5.0 sec**
4 10 sec 11 0.6 sec***
5 30 sec 12 6.0 sec****
6 1 min 13 0.05 sec*****
22. DEP Dependent Sequence Block B0193AX Rev AB
645


***** Available in CP40, CP40B, CP60 and later control processors.
PHASE Phase is an integer input that causes the block to execute at a specific BPC
within the time determined by the PERIOD. For instance, a block with
PERIOD of 3 (2.0 sec) can execute within the first, second, third, or
fourth BPC of the 2-second time period, assuming the BPC of the Con-
trol Processor is 0.5 sec. Refer to the appropriate Integrated Control Soft-
ware Concepts document (B0700AG or B0193AW).
PRTYPE Priority Type is an indexed output parameter that indicates the alarm type
of the highest priority active alarm. The PRTYPE output of this block
includes the following alarm types:
0 = No active alarm
9 = State Alarm
RA0001 to RA0002
Real Array 1 and 2 each define 16 elements for sequence blocks.
RI0001 to RI0015
Real Inputs 1 through 15 are user parameters in all sequence control
blocks but they can only be read in user-defined monitor case expressions.
You cannot assign a value to these parameters by means of an HLBL state-
ment in a monitor case. You can optionally assign labels to these inputs to
facilitate referencing.
RI1 Range Input is an array of real values that specify the high and low engi-
neering scale and change delta of a particular real input. For a given block,
it also forms an association with a group of real input parameters that have
the same designated range and change delta.
RO0001 to RO0015
Real Outputs 1 through 15 are user parameters that you can reference in
the blocks sequence logic. You can optionally assign labels to these out-
puts to facilitate referencing.
RO1 Range Output is an array of real values that specify the high and low engi-
neering scale of a particular real output. For a given block, it also forms an
association with a group of real output parameters that have the same des-
ignated range.
RSTACT Restart Active specifies the desired value of the ACTIVE parameter at
block initialization, where:
+ 0 sets ACTIVE to 0 (= false = Inactive) when the compound is
turned on or for a station reboot
+ 1 sets ACTIVE to 1 (= true = Active) when the compound is
turned on or for a station reboot
+ 2 sets ACTIVE to the value in the checkpoint file for a station
reboot only. Otherwise, ACTIVE remains unchanged.
B0193AX Rev AB 22. DEP Dependent Sequence Block
646


RSTMA Restart Manual Auto specifies the desired value of the MA parameter at
block initialization, where:
+ 0 sets MA to 0 (= false = Manual)
+ 1 sets MA to 1 (= true = Auto)
+ 2 leaves MA unchanged.
The block asserts this initial M/A state whenever:
+ The compound in which it resides is turned on
+ The Control Processor undergoes a restart operation.
SBXNO SBX Number indicates the number of the SBX that is currently executing.
The SBX numbers are fixed (1 and 2 are error handlers, 3 to 5 are state
changes handlers). A value of 0 means no SBX is currently executing.
SBXRQ SBX Request is a nonconfigurable, short integer (1 to 5). When the block
is in the SBX-Trace mode, SBXRQ selects the SBX to be traced. Activate
this function by selecting the EXEC SBX button in the ALL CODE dis-
play. The block ignores out of range values. After granting an SBX request,
the block resets SUBRNO and STMNO to 0. Use the NEXT STMT but-
ton to single-step through the selected SBX.
SC_IND State Change Indicator is a long integer value, that indicates the current
state of the state-change SBXs for the DEP, EXC, and IND blocks.
SN0001 to SN0010
Strings 1 through 10 are parameters that you can designate as the destina-
tion of a SENDMSG statement in the IND sequence logic. The Object
Manager can then retrieve SN0001 to SN0010 for operator display pur-
poses.
STEPMD Step mode is a boolean input. When true, STEPMD indicates the block is
in the step (semi-automatic) mode. In step mode, statement execution
stops at the nearest step boundary, as dictated by the step-labels in the
blocks source code. If a block in Step mode is switched to Manual (MA is
set to false), STEPMD is set to false. If a block in Manual is switched to
Step mode, MA becomes true. In Step mode, the outputs are secured.
STEPNO Step Number indicates the number of the step currently executing.
STEPNO changes as the block crosses a step boundary in the main sec-
tion; it does not change when the block calls a subroutine or executes an
SBX.
STEPRQ Step Request is a nonconfigurable short integer input that specifies the
next HLBL step to be executed in the blocks main section. Execution
begins at the first statement in the step. Activate this function by selecting
the EXEC STEP button in the ALL CODE display. If you enter an out of
range value, the last statement of the block is executed and the IND block
deactivates. The block mode (Manual, Auto, Semi-Auto, or Subr-Trace)
determines the number of HLBL statements executed.
22. DEP Dependent Sequence Block B0193AX Rev AB
647


STMNO Statement Number indicates the number of the statement currently exe-
cuting. When the statement finishes execution, STMNO is set to the
number of the next statement dictated by execution flow.
STMRQ Statement Request is a nonconfigurable long integer input that specifies
the next HLBL statement to be executed in the block's main section. Acti-
vate this function by selecting the EXEC STMT button in the ALL
CODE display. If you enter an out of range value, the last statement of the
block is executed and the IND block deactivates. The block mode (Man-
ual, Auto, Semi-Auto, or Subr-Trace) determines the number of HLBL
statements executed.
SUBRNO Subroutine Number indicates the number of the subroutine currently
executing, if any. The subroutine number is determined by its position in
the blocks source file. A value of 0 means no subroutine is currently
executing.
SUSPND Suspended is a boolean output that is set true when the SENDCONF
statement is executed. SENDCONF suspends statement execution until
the timeout value expires or until you set SUSPND to false by selecting
either SUSP ACK or NEXT STMT at the detailed displays.
TIMCNT Timing Counter is a decrementing real counter that indicates how many
seconds remain before expiration of the suspended period for a WAIT
statement or the timeout period for the WAITUNTIL or SENDCONF
statements.
TOPEVL Top of Evaluation Stack is an indexed specification of the top of the inter-
nal evaluation stack (data store for debugging use only).
TRACMD Trace Mode indicator shows whether the block is in Trace mode.
TRACRQ Trace Request is a nonconfigurable, short integer. When the block is in
Manual, TRACRQ determines whether the block is set into the Subr-
Trace or SBX-Trace mode, or is out of trace mode. After granting the
request, the block resets TRACRQ to 0. The parameter values map to the
Trace modes as follows:
TRACMD Indication
0 Not in trace mode
1 Subr-Trace mode
2 SBX-Trace mode
0 Request granted
1 Into Subr-Trace mode
2 Into SBX-Trace mode
any other value Out of Trace mode
B0193AX Rev AB 22. DEP Dependent Sequence Block
648


Enter Trace mode by selecting either SUBR TRACE or SBX TRACE in
the ALL CODE display. Selecting the TRACE field in the faceplate gets
you out of Trace mode.
TYPE When you enter DEP or select DEP from the block type list under
Show, an identifying integer is created specifying this block type.
UNACK Unacknowledge is a boolean output that the block sets to True when it
detects an alarm. It is typically reset by operator action.
22.4 Detailed Operation
A DEP block can be in the Active, Paused, or Inactive state. When Active (and not Paused), and
the compound is on, the block is processed. When Inactive or Paused, the block is not processed.
When a DEP block is Active, it is capable of executing its HLBL statements in one of the follow-
ing modes:
+ Auto
+ Step (semiautomatic)
+ Manual
+ Subr-Trace
+ SBX-Trace
Once an DEP block is set Active, it starts executing its Sequence language statements the first
scheduled Basic Processing Cycle (BPC). Since Sequence block algorithms vary in length, a block
may become Inactive within one BPC or it may require several BPCs to execute completely.
Once all statements have been executed, the block deactivates itself unless a statement in the user
algorithm causes it to repeat.
If you program an endless loop in an DEP block, the block does not deactivate itself.
In Auto, the block attempts, each scan period, to process the number of statements specified by
the blocks BPCSTM parameter. The actual number may be less than BPCSTM when statement
execution requires suspension (such as WAIT or WAIT UNTIL, SENDCONF, or access to
remote parameters).
Step mode (also called Semiautomatic) operation is very similar to Auto mode operation except
that the block executes only those statements that belong to a particular Step. Suspension-causing
statements and the value of the BPCSTM parameter determine the maximum number of state-
ments that can be executed per BPC. The block does not deactivate itself automatically in the
Step mode.
You can divide the blocks main section into steps by defining step labels in the blocks source file.
When in the step mode (STEPMD set to true), the block will stop statement execution at the
nearest step boundary. After reaching that boundary, the block idles on the first statement of the
next step and awaits a request (step-, statement-, or unexcused request) to continue statement pro-
cessing.
22. DEP Dependent Sequence Block B0193AX Rev AB
649


In the modes Active/Auto and Active/Step, the block can handle operational errors. Two standard
block exception handlers (SBXs) are supported for error handling.
If an operational error occurs, the block sets the parameter OP_ERR to indicate the cause of the
problem. If the corresponding error handling SBX is not present, or it is disabled, the block
switches to Manual and alarming takes place, provided the alarm option is set.
However, if the SBX is present and enabled, the value of OP_ERR is saved in the next process
scan, alarming is suppressed, no switch to Manual takes place, and the SBX statements are exe-
cuted.
Upon completion of the SBX, the block either executes the erroneous statement again, or resumes
statement execution at the statement following the erroneous one, depending on whether the last
executed SBX statement was RETRY or ENDEXCEPTION.
No additional error handling is possible while the block is executing an error handler SBX.
In the modes Active/Auto and Active/Step the block is capable of reacting to state changes which
are forced upon the block from outside. Three standard block exception handlers are supported
for state change handling. See the following table.
If the block is not Paused when the block mode changes from Active/Auto or Active/Step to Inac-
tive, Manual, or Paused, it executes the statements of the corresponding SBX. During execution
of these statements, the block assumes an interim mode: To_Inactive, To_Manual, or To_Paused.
However, if the block is Paused and Active/Auto when the block is switched to Manual or to Inac-
tive, it cannot execute a To_Manual SBX or a To_Inactive SBX.
If an operational error occurs during the execution of a To_Manual SBX or a To_Paused SBX, the
DEP block is deactivated.
All statements are supported within SBXs. Error handling is also possible while the block is exe-
cuting a state change SBX.
In the Auto and Step modes, the block secures its output parameters. The block algorithm is
responsible for updating the output parameters. External sources (applications and other blocks)
cannot write values to block output parameters.
You can alter the order of statement execution while the block is in the Auto state. You can specify
a new starting location by writing a statement number to the STMRQ parameter from a default
or user-defined display.
You can change the block Auto/Manual state from external sources such as: user-defined and
default displays, other blocks, and other applications.
SBX Number SBX Function
1 System error handler, OP_ERR = no user error
2 User error handler, OP_ERR = 2000..3000
SBX Number SBX Function
3 Transition logic for switch to Inactive
4 Transition logic for switch to Manual
5 Transition logic for switch to Paused
B0193AX Rev AB 22. DEP Dependent Sequence Block
650


If a statement is in execution when you request a state change, the statements execution is com-
pleted as if it had begun in the requested state. Then any following statements are executed as
appropriate for the requested state.
In Manual, the block executes the main section statements one at a time by writing to parameters
STEPRQ, STMRQ, or NXTSTM. STEPRQ and STMRQ alter the order of execution. If more
than one are set at the same time, only a single request is granted. The priority in decreasing order
is: step, statement, next statement.
The parameter STMNO indicates the number of the statement currently executing. When the
statement finishes execution, STMNO is set to the number of the next statement dictated by exe-
cution flow. That statement is not executed unless requested.
A statement that requires several BPCs to execute, such as a WAIT statement, need only be
requested once to complete the statements execution.
When the requested statement is a call-subroutine statement the request causes the execution of
all of the statements of that subroutine (and all of its nested subroutines, if any).
In the Manual state, the block does not secure its output parameters. External sources (other
blocks and applications) can write values to the blocks output parameters.
Sequential control block parameters may be updated by the block algorithm while the block is in
Manual.
The Subr-Trace and SBX-Trace modes enable you to single step through statements of subrou-
tines and SBXs. You can switch the block into one of the Trace modes only when the block is in
the Active/Manual state.
Once in the Subr-Trace mode, you select a subroutine by requesting a call-subroutine statement
in the blocks main section. The block is idle before the first statement in the requested subrou-
tine. You can then single-step through the subroutine statements by toggling the
NXTSTMparameter. Step-req and statement-req cause the execution of a single statement in the
blocks main section.
When you switch into the SBX-Trace mode, the block environment (that is, step, subroutine,
statement number) is saved. The block returns to this environment when you exit the SBX-Trace
mode.
Once in the SBX-Trace mode, you select an SBX by setting the SBXRQ parameter to a value of
1 to 5. The block ignores out of range values. When you select an SBX, the block idles at the first
statement within that SBX. You can then single-step through the SBX statements by toggling the
NXTSTM parameter. The block ignores step- and statement- requests while it is in the
SBX-Trace mode.
In the Manual, Subr-Trace, and SBX-Trace modes, the block does not secure its output parame-
ters. External sources (other blocks and applications) can write values to the blocks outputs.
While the block is in Manual, the DEP block algorithm can update user parameters after a step-,
statement-, or next_stm request.
The DEP block does not execute statements while it is Inactive or Paused. An DEP block goes to
the Inactive state when one of the following conditions occurs:
+ The last statement of the blocks main section is executed.
+ An EXIT statement is executed.
+ Another Sequence block executes an ABORT statement.
+ The ACTIVE parameter value is toggled to Inactive.
22. DEP Dependent Sequence Block B0193AX Rev AB
651


+ The surrounding compound is switched to OFF.
A DEP block is Paused when one or more EXC blocks within the same Compound are in the
Active state. The DEP block(s) become Paused during the BPC in which the EXC block(s)
become Active; that is, the switch to Paused of a DEP block is independent of its PERIOD and
PHASE.
Sequential control blocks are processed every scheduled Basic Processing Cycle (BPC) as defined
for the Control Processor in which they operate. The number of statements processed each BPC is
determined by the DEP blocks BPCSTM parameter.
The scheduled BPC is determined by the block parameters PHASE and PERIOD. The PHASE
parameter specifies the BPC in which a block should be processed relative to the other blocks in
the compound. PERIOD specifies how often to process a block. Refer to the appropriate Inte-
grated Control Software Concepts document (B0700AG or B0193AW).
All control blocks scheduled in any given BPC are processed in the following order:
If the block processor cannot process all blocks in a scheduled BPC, there is a Basic Processing
Cycle (BPC) overrun.
See High Level Batch Language (HLBL) Users Guide (B0400DF) for a definition of the HLBL
syntax and semantics and the sequence compiler related limits.
Continuous
Continuous
Continuous
Compound A
Compound B
Compound C
MON/TIM
MON/TIM
MON/TIM
EXC
EXC
EXC
DEP/IND
DEP/IND
DEP/IND
1 2 3 4
1BPC
Continuous
Continuous
Continuous
extension
B0193AX Rev AB 22. DEP Dependent Sequence Block
652


653


23. DGAP Differential Gap Block
This chapter describes the Differential Gap controller block, or DGAP, its features, parameters
and detailed operations.
23.1 Overview
The Differential Gap controller block, DGAP, adjusts two Boolean outputs, OUTINC and
OUTDEC, as the measurement input varies from the setpoint by a distance set by the blocks
GAP parameter (Figure 23-1 and Figure 23-2). The outputs normally control on/off valves or
other discrete devices.
Figure 23-1. DGAP Block I/O Diagram
Figure 23-2. DGAP Tristate and Bistate Typical Operation
Setpoint
+
ERROR
Alarming Alarm Messages and Indicators
Measurement
Differential
Gap
Generator
Bistate
Tristate
-- OUTDEC
++ OUTINC
Output Option
1
0
OUTINC
Time
1
0 OUTDEC
1
0
OUTINC
1
0 OUTDEC
TRISTATE
BISTATE
Time
B0193AX Rev AB 23. DGAP Differential Gap Block
654


23.2 Features
The features are:
+ Manual/Auto (MA) control of the outputs, which can be initiated by a host process or
another block
+ Auto and Manual latch switch inputs (AUTSW and MANSW) that force the block to
be switched to Auto or Manual
+ Local/Remote (LR) setpoint source selection, the ability to lock out setpoint operator
changes, and the ability to secure against any write access to the LR parameter.
+ Local and Remote latch switch inputs (LOCSW and REMSW) that force the block to
be switched to Local or Remote
+ Bad inputs detection and handling
+ Automatic cascade handling that includes:
+ Initialization output connection parameter that provides proper coordination and
initialization of cascade schemes
+ Back calculation of the setpoint input for the upstream block, to provide bumpless
cascade operation when the cascade is open loop.
The options are:
+ Setpoint Tracking Option (STRKOP) forces the setpoint to track the measurement
signal. STRKOP takes this action when the LR parameter has transitioned in either
direction and 1) either the output is in Manual or a cascade is broken (a downstream
block is in open loop - INITI true) or the block is in Manual, or 2) when the block is
in Manual only. STRKOP is not performed if any measurement data errors are
detected. This feature allows bumpless return to automatic control when the DGAP
block returns to closed-loop operation.
+ Manual if Bad Option (MBADOP) is a manual override feature. It sets the unlinked
MA input to manual (thereby forcing the output state to manual), if the Measurement
or Initialization In (or optionally Remote Setpoint) is disconnected, bad, or off-scan.
A return to Auto requires external intervention.
+ Measurement Alarming Option (MALOPT) provides absolute alarming of the mea-
surement during auto operation. This option also provides standard alarm
notification and reporting features.
+ Deviation Alarm Option (DALOPT) enables (when true) deviation alarming of the
measurement - setpoint (MEAS SPT) deviation.
+ Manual Alarming Option (MANALM) allows you to invoke all configured alarm
options while the block is in manual. Otherwise, alarming is normally performed only
in Auto.
+ High-High Alarm Option (HHAOPT) enables High-High and Low-Low absolute
alarming for the measurement input, or disables absolute alarming altogether. Each
alarm triggers an indicator and text message
+ Inhibit/Disable (INHOPT) alarming.
+ Mode Option (MODOPT) allows you to select whether the block, when it is in Auto,
operates in the BISTATE or the TRISTATE mode.
23. DGAP Differential Gap Block B0193AX Rev AB
655


+ Control Error Option (CEOPT) allows you to enable, or disable, the blocks implicit
Hold action when it detects an error (ERR) in the MEAS input.
+ Propagate Error Option (PROPT) gives you the option of propagating the error
(ERR) status bit from the MEAS input to the blocks OUTDEC and OUTINC out-
put parameters.
+ Initialize Local/Remote (INITLR) is an integer input specifying the desired state of
the LR input during initialization.
+ Initialize Manual/Auto (INITMA) specifies the desired state of the MA input during
initialization.
23.3 Parameters

Table 23-1. DGAP Block Parameters
Name Description Type Accessibility Default Units/Range
Configurable Parameters
INPUTS
NAME block name string no-con/no-set blank 1 to 12 chars
TYPE block type integer no-con/no-set 11 DGAP
DESCRP descriptor string no-con/no-set blank 1 to 32 chars
PERIOD block sample time short no-con/no-set 1 0 to 13
PHASE block phase number integer no-con/no-set 0 ---
LOOPID loopid string no-con/set blank 1 to 32 chars
MEAS process input real con/set 0.0 RI1
HSCI1, HSCI2 high scale 1 and 2 real no-con/no-set 100.0 specifiable
LSCI1, LSCI2 low scale 1 and 2 real no-con/no-set 0.0 specifiable
DELTI, DELTI2 change delta 1 and 2 real no-con/no-set 1.0 percent
EI1-EI2 eng units input 1 and 2 string no-con/no-set % specifiable
PROPT propagate error Boolean no-con/no-set 0 0 to 1
SPT setpoint real con/set 0.0 RI1
MODOPT control mode option short no-con/no-set 2 [2,3]
GAP control dead zone real con/set 0.0 [0..]RI2
GAPDB gap deadband real no-con/set 0.0 [0..]RI2
MA manual/auto Boolean con/set 0 0 to 1
INITMA initialize MA short no-con/no-set 1 [0|1|2]
MBADOP manual bad option short no-con/no-set 0 [0|1|2]
MANSW manual switch Boolean con/set 0 0 to 1
AUTSW auto switch Boolean con/set 0 0 to 1
CEOPT control error option short no-con/no-set 1 0 to 2
HOLD hold mode Boolean con/set 0 0 to 1
INITI initialize in short con/set 0 0 to 1
LR local/remote Boolean con/set 0 0 to 1
INITLR initialize LR short no-con/no-set 2 [0|1|2]
LOCSP local setpoint Boolean no-con/no-set 0 0 to 1
LOCSW local switch Boolean con/set 0 0 to 1
REMSW remote switch Boolean con/set 0 0 to 1
B0193AX Rev AB 23. DGAP Differential Gap Block
656


RSP remote setpoint real con/set 0.0 RI1
STRKOP setpoint track option short no-con/no-set 0 [0|1|2]
MANALM manual alarm option short no-con/no-set 1 0 to 1
INHOPT inhibit option short no-con/no-set 0 0 to 3
INHIB alarm inhibit Boolean con/set 0 0 to 1
INHALM inhibit alarm pack_b con/set 0 0 to 0xFFFF
MEASNM meas alarm name string no-con/no-set blank 1 to 32 chars
MALOPT meas alarm option short no-con/no-set 0 0 to 3
MEASHL meas high alarm limit real con/set 100.0 RI1
MEASHT mea high alarm text string no-con/no-set blank 1 to 32 chars
MEASLL meas low alarm limit real con/set 0.0 RI1
MEASLT meas low alarm text string no-con/no-set blank 1 to 32 chars
MEASDB meas alarm deadband real no-con/set [0.0 RI1
MEASPR meas alarm priority integer con/set 5 [1 to 5]
MEASGR meas alarm group short no-con/set 1 [1 to 8]
DALOPT deviation alarm option short no-con/no-set 0 0 to 3
HDALIM high deviation limit real con/set 100.0 RI1
HDATXT high deviation alarm text string no-con/no-set blank 1 to 32 chars
LDALIM low deviation limit real con/set -100.0 RI1
LDATXT low deviation alarm text string no-con/no-set blank 1 to 32 chars
DEVADB deviation alarm deadbd real no-con/set [0.0 RI1
DEVPRI deviation alarm prior integer con/set 5 [1 to 5]
DEVGRP deviation alarm group short no-con/set 1 [1 to 8]
HHAOPT high-high option short no-con/no-set 0 0 to 3
HHALIM high-high limit real con/set 100.0 RI1
HHATXT high-high alarm text string no-con/no-set blank 1 to 32 chars
LLALIM low-low alarm limit real con/set 0.0 RI1
LLATXT low-low absolute text string no-con/no-set blank 1 to 32 chars
HHAPRI high-high priority integer con/set 5 [1 to 5]
HHAGRP high-high group short no-con/set 1 [1 to 8]
AMRTIN alarm regeneration timer integer no-con/no-set 0 0 to 32767 s
NASTDB alarm deadband timer long integer no-con/no-set 0 0-2147483647 ms
NASOPT nuisance alarm suppres-
sion option
short no-con/no-set 0 0 to 2
Non-Configurable Parameters
OUTPUTS
ALMSTA alarm status pack_l con/no-set 0 0 to 0xFFFFFFFF
BCALCO back calc out real con/no-set 0.0 RI1
BLKSTA block status pack_l con/no-set 0 0 to 0xFFFFFFFF
CRIT criticality integer con/no-set 0 [0 to 5]
ERROR control error real con/no-set 0.0 RI1
HDAIND high deviation indicator Boolean con/no-set 0 0 to 1
HHAIND high-high absolute indicator Boolean con/no-set 0 0 to 1
INHSTA inhibit status pack_l con/no-set 0 0 to 0xFFFFFFFF
INITO initialize out short con/no-set 0 0 to 1
Table 23-1. DGAP Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
23. DGAP Differential Gap Block B0193AX Rev AB
657


23.3.1 Parameter Definitions
ACHNGE Alternate Change is an integer output which is incremented each time a
block parameter is changed via a Set command.
ALMOPT Alarm Options contains values representing the alarm types that have
been configured as options in the block, and the alarm groups that are in
use. For the DGAP block, only the following unshaded bits are used:
LDAIND low deviation indicator Boolean con/no-set 0 0 to 1
LLAIND low-low alarm indicator Boolean con/no-set 0 0 to 1
MEASHI meas high alarm indicator Boolean con/no-set 0 0 to 1
MEASLI meas low alarm indicator Boolean con/no-set 0 0 to 1
OUTDEC output decrease Boolean con/no-set 0 0 to 1
OUTINC output increase Boolean con/no-set 0 0 to 1
PRTYPE priority type integer con/no-set 0 [0 to 6]
QALSTA quality status pack_l con/no-set 0 0 to 0xFFFFFFFF
UNACK alarm notification Boolean con/no-set 0 0 to 1
DATA STORES
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
ALMOPT alarm options pack_l no-con/no-set 0 0 to 0xFFFFFFFF
DEFINE no config errors Boolean no-con/no-set 1 0 to 1
ERCODE config error string no-con/no-set 0 1 to 43 chars
LOCKID lock identifier string no-con/no-set --- 8 to 13 chars
LOCKRQ lock request Boolean no-con/set 0 0 to 1
OWNER owner name string no-con/set blank 1 to 32 chars
PERTIM period time real no-con/no-set 0.1 ---
PRSCON present control short no-con/no-set 0 1 to 3
RI1-RI2 eng range input real[3] no-con/no-set 100,0,1 specifiable
Table 23-1. DGAP Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
Bit Number
1
(0 to 31) Configured Alarm Option When True
0 Alarm Group 8 in Use
1 Alarm Group 7 in Use
7 Alarm Group 1 in Use
B0193AX Rev AB 23. DGAP Differential Gap Block
658


ALMSTA Alarm Status is a 32-bit output to indicate the blocks alarm states. For the
DGAP block, only the following bits are used:
AMRTIN Alarm Regeneration Timer is a configurable integer that specifies the time
interval for an alarm condition to exist continuously, after which a new
16 Low Absolute Alarm Configured
17 High Absolute Alarm Configured
20 Low deviation Alarm Configured
21 High deviation Alarm Configured
24 Low-Low Absolute Alarm Configured
25 High-High Absolute Alarm Configured
1.
Bit 0 is the least significant, low order bit.
Bit Number
1
(0 to 31) Configured Alarm Option When True
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
U
N
A
K
I
N
H
H
H
A
L
L
A
H
D
A
L
D
A
H
M
A
L
M
A
CRIT PRTYPE
Bit
Number
(0 to 31)
1
Name Description When True
Boolean
Connection
(B32 to B1)
0 to 4 PTYP_MSK Priority Type: See parameter
PRTYPE for values used in
the DGAP block
ALMSTA.B32
ALMSTA.B28
5 to 7 CRIT_MSK Criticality; 5 = lowest priority,
1= highest
ALMSTA.B27-
ALMSTA.B25
16 LMA Low Absolute Alarm ALMSTA.B16
17 HMA High Absolute Alarm ALMSTA.B15
20 LDA Low Deviation Alarm ALMSTA.B12
21 HDA High Deviation Alarm ALMSTA.B11
24 LLA Low-Low Absolute Alarm ALMSTA.B8
25 HHA High-High Absolute Alarm ALMSTA.B7
29 INH Alarm inhibit ALMSTA.B3
30 UNAK Unacknowledged ALMSTA.B2
1.
* Bit 0 is the least significant, low order bit.
23. DGAP Differential Gap Block B0193AX Rev AB
659


unacknowledged alarm condition and its associated alarm message is gen-
erated.
AUTSW Auto Switch is a Boolean input that, when true, overrides the MA and
INITMA parameters, and drives the block to the Auto state. If both
MANSW and AUTSW are true, MANSW has priority.
BCALCO Back Calculation Output is a real output that is always equal to the Mea-
surement input except in the following situations, where it is equal to the
setpoint:
+ The block is transitioning from Local to Remote mode on this
cycle.
+ MEAS has Bad status.
+ MEAS has Out-of-Service status.
+ MEAS has Error (ERR) status.
+ MEAS is experiencing source connection problems.
With V4.2 and later software, BCALCO contains the initialization output
which was formerly contained in the INITO parameter. You connect this
parameter (BCALCO) to the BCALCI input of upstream blocks so that
these upstream blocks can sense when this block is open.
BLKSTA Block Status is a 32-bit output that indicates the following block opera-
tional states. For the DGAP block, only the following bits are used:
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
M
A
O
L
R
O
W
L
C
K
O
N
U
D
E
F
M
A
L
R
S
T
R
K
H
L
D
T
R
K
C
T
L
Bit Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
5 CTL Controlling BLKSTA.B27
6 TRK Tracking BLKSTA.B26
7 HLD Holding BLKSTA.B25
9 STRK Setpoint Tracking BLKSTA.B23
10 LR Local(= false)/Remote(=
true)
BLKSTA.B22
11 MA Manual(= false)/Auto(=
true)
BLKSTA.B21
14 UDEF Undefined (Inverse of
DEFINE)
BLKSTA.B18
B0193AX Rev AB 23. DGAP Differential Gap Block
660


CEOPT Control Error Option is a short integer that specifies how the block
responds to the MEAS input when it is in error. To provide backward
compatibility, CEOPT defaults to 1. CEOPT has a range of 0 to 2 where:
CEOPT is independent of the propagate error option, PROPT, and does
not affect the external logical input, HOLD. The HOLD input, when
true, still drives the block into the Hold state whenever the block is in
Auto (and MBADOP = 0).
CRIT Criticality is an integer output that indicates the priority, ranging from 1
to 5, of the blocks highest currently active alarm (1 is the highest priority).
An output of zero indicates the absence of alarms.
DALOPT Deviation Alarm Option is a short integer input that enables High and
Low deviation alarming of the deviation (MEAS SPT), or disables
alarming altogether.
0 = No alarming
1 = High and Low deviation alarming
2 = High deviation alarming only
3 = Low deviation alarming only
You can change DALOPT only by reconfiguring the block.
DEFINE Define is a data store which indicates the presence or absence of configura-
tion errors. The default is 1 (no configuration errors). When the block ini-
tializes, DEFINE is set to 0 if any configured parameters fail validation
testing. In that case, no further processing of the block occurs. To return
DEFINE to a true value, correct all configuration errors and re-install the
15 ON Compound On BLKSTA.B17
20 WLCK Workstation Lock BLKSTA.B12
25 LRO Local/Remote Override BLKSTA.B7
26 MAO Manual/Auto Override BLKSTA.B6
* Bit 0 is the least significant, low order bit.
Bit Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
0 = The block takes no implicit Hold action when it detects a con-
trol error.
1 = The block goes to the Hold state if, while MBADOP = 0,
MEAS: (a) has its BAD status bit set true; (b) has its Out-of-
Service status bit set true; (c) is experiencing peer-to-peer path
failure.
2 = The block goes to the Hold state if, while MBADOP = 0,
MEAS meets any of the conditions described for CEOPT = 1,
or if MEAS has its ERR status bit set true.
23. DGAP Differential Gap Block B0193AX Rev AB
661


block. DEFINE is the inverse of undefined (UDEF) in the BLKSTA
parameter.
DELTI1 to DELTI2
Change Delta for Input Range 1 or 2 is a real value that defines the mini-
mum percent of the input range that triggers change driven connections
for parameters in the range of RI1 or RI2. The default value is 1.
Entering a 1 causes the Object Manager to recognize and respond to a
change of 1 percent of the full error range. If communication is within the
same CP that contains the blocks compound, change deltas have no
effect.
Refer to Peer-to-Peer Connections of Real-Type Block Inputs on
page 23 for details on how the I/A Series software affects the change delta
percentage during operation.
DESCRP Description is a user-defined string of up to 32 characters that describe the
blocks function (for example, PLT 3 FURNACE 2 HEATER CON-
TROL).
DEVADB Deviation Alarm Deadband is a real, in MEAS units, that applies to both
High and Low Deviation Limits.
DEVGRP Deviation Group is a short integer input that directs deviation alarm mes-
sages to one of eight groups of alarm devices.
DEVPRI Deviation Priority is an input from 1 to 5 that sets the priority level of the
deviation alarm (1 is the highest priority).
EI1 to EI2 Engineering Units for Input Ranges 1 and 2, as defined by the parameters
HSCI1 to HSCI2, LSCI1 to LSCI2, and DELTI1 to DELTI2. EI1 to EI2
provide the engineering units text for the values defined by Input Ranges
1 and 2. DEG F or PH are typical entries. EI1 is used with MEAS and
SPT and EI2 is used with the GAP.
ERCODE Error Code is a string data store which indicates the type of configuration
error or warning encountered. The error situations cause the blocks
DEFINE parameter to be set false, but not the warning situations. Valida-
tion of configuration errors does not proceed past the first error encoun-
tered by the block logic. The block detailed display shows the ERCODE
on the primary page, if it is not null. For the DGAP block, the following
list specifies the possible values of ERCODE, and the significance of each
value in this block:
Message Value
W43 INVALID
PERIOD/PHASE COMBI-
NATION
PHASE does not exist for given block
PERIOD, or block PERIOD not com-
patible with compound PERIOD.
B0193AX Rev AB 23. DGAP Differential Gap Block
662


ERROR Error is a real output that equals Setpoint minus Measurement. ERROR
can be sourced to other blocks.
GAP Gap is a real input defining the size of the region the Measurement may
traverse without activating either of the outputs. The defined region is
always placed symmetrically about the zero error level. This parameter
sizes a symmetric envelope (around the selected setpoint), that determines
the measurement level that activates one of the outputs. GAP has the same
relative units as MEAS and SPT.
GAPDB Gap Deadband is a real value applied to both extremes of the gap. It has
no function in the bi-state mode, where the gap itself functions as a dead-
band. However, in the tri-state mode, GAPDB is the deadband for each of
the two switch elements. It has the same relative units as MEAS and SPT.
Configure a value large enough to prevent the outputs OUTDEC and
OUTINC from chattering. Also, see GAP and GAPDB Parameter Vali-
dation on page 682.
HDAIND High Deviation Alarm Indicator is a Boolean output set true when the
measurement exceeds the setpoint by more than the deviation limit
HDALIM. When the measurement passes back through the DEVADB
deadband, the block sets HDAIND to false.
HDALIM High Deviation Alarm Limit is a real input that establishes the amount by
which the measurement must exceed the setpoint to initiate a high devia-
tion alarm and set the High Deviation Alarm Indicator, HDAIND, true.
HDATXT High Deviation Alarm Text is a user-configurable text string of up to 32-
characters, output with the alarm message to identify the alarm.
W44 INVALID ENGI-
NEERING RANGE
High range value is less than or equal
to low range value.
W46 INVALID INPUT
CONNECTION
The source parameter specified in the
input connection cannot be found in
the source block, or the source parame-
ter is not connectable, or an invalid
Boolean extension connection has been
configured.
W48 INVALID BLOCK
OPTION
The configured value of a block option
is illegal.
W53 INVALID
PARAMETER VALUE
A parameter value is not in the accept-
able range.
W58 INSTALL
ERROR;
DELETE/UNDELETE
BLOCK
A Database Installer error has occurred.
Message Value
23. DGAP Differential Gap Block B0193AX Rev AB
663


HHAGRP High-High Absolute Alarm Group is a short integer input that directs
High-High Absolute alarm messages to one of eight groups of alarm
devices.
HHAIND High-High Alarm Indicator is a Boolean output set true when the block-
dependent parameter value (generally the measurement input) exceeds the
high-high absolute alarm limit (HHALIM). HHAIND is set to false when
the value is less than HHALIM. Once the Indicator is set true, it does not
return to false until the value falls below the limit less a deadband.
HHALIM High-High Absolute Alarm Limit is a real input that defines the value of
the measurement that triggers a High-High alarm.
HHAOPT High-High Alarm Option is a short integer input that enables High-High
and Low-Low absolute alarming for alarming of a block-dependent value,
generally the measurement input, or disables absolute alarming altogether.
Each alarm triggers an indicator and text message.
0 = No alarming
1 = High-High and Low-Low alarming
2 = High-High alarming only
3 = Low-Low alarming only
HHAPRI High-High Absolute Priority is an integer input from 1 to 5 that sets the
priority level of the high-high absolute alarm (1 is the highest priority)
HHATXT High-High Absolute Alarm Text is a user-defined text string of up to 32
characters, sent with the high-high absolute alarm message to identify it.
HOLD Hold is a Boolean input. When true, HOLD forces the block into the
Hold substate of Auto, holding the output at its last computed value.
HSCI1 to HSCI2 High Scale for Input Ranges 1 and 2 are real values that define the upper
limit of the measurement ranges. EI1 to EI2 define the engineering units
text. Make the range and units consistent with the measurement source. A
typical value is 100 (percent). HSCI1 is used with MEAS and SPT and
HSCI2 is used with the GAP.
INHALM Inhibit Alarm contains packed Boolean values that represent alarm inhibit
requests for each alarm type or point configured in the block. For the
DGAP block, only the following bits are used:
Bit Number*
(0 to 15) Description When True
Boolean Connection
(B16 to B1)
0 Inhibit Low Absolute Alarm INHALM.B16
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B0193AX Rev AB 23. DGAP Differential Gap Block
664


There are no mnemonic names for the individual bits of INHALM.
INHIB Inhibit is a Boolean input. When true, it inhibits all block alarms; the
alarm handling and detection functions are determined by the INHOPT
setting. Alarms may also be inhibited based on INHALM and the com-
pound parameter CINHIB.
INHOPT Inhibit Option specifies the following actions applying to all block alarms:
INHSTA Inhibit Status contains packed Boolean values that represent the actual
inhibit status of each alarm type configured in the block. For the DGAP
block, only the following bits are used:
1 Inhibit High Absolute Alarm INHALM.B15
4 Inhibit Low Deviation Alarm INHALM.B12
5 Inhibit High Deviation Alarm INHALM.B11
8 Inhibit Low-Low Absolute
Alarm
INHALM.B8
9 Inhibit High-High Absolute
Alarm
INHALM.B7
* Bit 0 is the least significant, low order bit
Bit Number*
(0 to 15) Description When True
Boolean Connection
(B16 to B1)
0 = When an alarm is inhibited, disable alarm notification but do
not disable alarm detection.
1 = When an alarm is inhibited, disable both alarm notification
and alarm detection. If an alarm condition already exists at the
time the alarm transitions into the inhibited state, clear the
alarm indicator.
2 = Same as 0 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal notification.
Into alarm messages may be acknowledged by explicitly set-
ting UNACK false.
3 = Same as 1 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal notification.
Into alarm messages may be acknowledged by explicitly set-
ting UNACK false.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
U
N
A
C
K
I
N
H
H
H
A
L
L
A
H
D
A
L
D
A
H
M
A
L
M
A

23. DGAP Differential Gap Block B0193AX Rev AB
665


INITI Initialization In defines the source block and parameter that would nor-
mally drive this block into initialization. Not used with the DGAP block
since DGAP is always a downstream block.
INITLR Initialize Local/Remote is an integer input that specifies the desired state
of the LR input during initialization, where:
0 = Local
1 = Remote
2 = The LR state specified in the checkpoint file (reboot only)
The block asserts this initial LR state when:
+ The block is installed into the Control Processor database.
+ The Control Processor undergoes a restart operation.
+ The compound in which the block resides is turned on.
The Initialize LR state is ignored if the LR input has an established link-
age, or LOCSW or REMSW are set true.
INITMA Initialize Manual/Auto specifies the desired state of the MA input during
initialization, where:
0 = Manual
1 = Auto
2 = The MA state specified in the checkpoint file (reboot only)
The block asserts this initial M/A state whenever:
+ It is installed into the Control Processor database.
Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
16 LMA Low Absolute Alarm Inhib-
ited
INHSTA.B16
17 HMA High Absolute Alarm Inhib-
ited
INHSTA.B15
20 LDA Low Deviation Alarm
Inhibited
INHSTA.B12
21 HDA High Deviation Alarm
Inhibited
INHSTA.B11
24 LLA Low-Low Absolute Alarm
Inhibited
INHSTA.B8
25 HHA High-High Absolute Alarm
Inhibited
INHSTA.B7
29 INH Inhibit Alarm INHSTA.B3
30 UNACK Unacknowledged Inhibited INHSTA.B2
* Bit 0 is the least significant, low order bit.
B0193AX Rev AB 23. DGAP Differential Gap Block
666


+ The Control Processor undergoes a reboot operation.
+ The compound in which it resides is turned on.
+ The INITMA parameter is modified via the control configurator.
The Initialize M/A state is ignored if the MA input has an established
linkage or if MANSW or AUTSW is set true.
INITO Initialization Output is set true when:
+ The block is in Manual or initializing.
+ Permanent or temporary loss of FBM communications occurs.
+ The ladder logic in the FBM is not running.
+ MMAIND (mismatch indicator) is true.
+ DISABL is true.
+ RSP (the remote setpoint) is not the setpoint source.
The block clears INITO when none of these conditions exist. You con-
nects this parameter to the INITI input of upstream blocks so that these
upstream blocks can sense when this block is open loop. With V4.2 or
later software, BCALCO contains the initialization output eliminating the
need to configure INITO connections in cascades. However, to preserve
backward compatibility, the INITO parameter has been maintained for
use in existing configurations. Existing configurations do not need to
reconfigure their cascades. The logic to set or reset the INITO Boolean
value has been maintained, but the setting of the handshaking bits, via the
INITI to INITO connection, is eliminated.
LDAIND The Low Deviation Alarm Indicator is a Boolean output that is set true
when the measurement falls below the setpoint by more than the devia-
tion limit, LDALIM. When the measurement passes back through the
DEVADB deadband, the block sets LDAIND to false.
LDALIM Low Deviation Alarm Limit is a real input that defines how far the mea-
surement must fall below the setpoint to initiate a low deviation alarm and
set the Low Deviation Alarm Indicator LDAIND true.
LDATXT Low Deviation Alarm Text is a user-defined text string of up to 32-charac-
ter that is output with the alarm message to identify the alarm.
LLAIND Low-Low Alarm Indicator is a Boolean output set true when the block-
dependent parameter value (generally the measurement input) falls below
the low-low absolute alarm limit (LLALIM). LLAIND is set to false when
the value is greater than LLALIM. Once the Indicator is set true, it does
not return to false until the value exceeds the limit plus a deadband.
LLALIM Low-Low Absolute Alarm Limit is a real input that defines the value of the
measurement that triggers a Low-Low Alarm.
LLATXT Low-Low Absolute Alarm Text is a user-defined text string of up to 32
characters, sent with the low-low absolute alarm message to identify it.
23. DGAP Differential Gap Block B0193AX Rev AB
667


LOCKID Lock Identifier is a string identifying the workstation which has locked
access to the block via a successful setting of LOCKRQ. LOCKID has the
format LETTERBUG:DEVNAME, where LETTERBUG is the 6-char-
acter letterbug of the workstation and DEVNAME is the 1 to 6 character
logical device name of the Display Manager task.
LOCKRQ Lock Request is a Boolean input which can be set true or false only by a
SETVAL command from the LOCK U/L toggle key on workstation dis-
plays. When LOCKRQ is set true in this fashion a workstation identifier
accompanying the SETVAL command is entered into the LOCKID
parameter of the block. Thereafter, set requests to any of the blocks
parameters are honored (subject to the usual access rules) only from the
workstation whose identifier matches the contents of LOCKID.
LOCKRQ can be set false by any workstation at any time, whereupon a
new LOCKRQ is accepted, and a new ownership workstation identifier
written to LOCKID.
LOCSP Local Setpoint Secure is a Boolean input. When true, LOCSP provides
lockout of user write access to the LR parameter. If LOCSP is configured
true, the block secures LR when it initializes and maintains LR in the
secured state. The LOCSW and REMSW overrides have higher prece-
dence, but LR remains secured when they are no longer asserted.
LOCSW Local Switch is a Boolean input. When true, LOCSW overrides the LR
and INITLR parameters and drives the block to the Local state. If both
LOCSW and REMSW are true, LOCSW has priority.
LOOPID Loop Identifier is a configurable string of up to 32 characters which iden-
tifies the loop or process with which the block is associated. It is displayed
on the detail display of the block, immediately below the faceplate.
LR Local/Remote is a Boolean input that selects the setpoint source (0 = false
= Local; 1 = true = Remote). If LR is set to Remote, the source of the set-
point value is the real input parameter RSP. When LR is set to Local, there
are two possible sources for the setpoint: (a) MEAS or (b) a user settable
input. The choice is based on the conditions of STRKOP and MA, as
described under STRKOP.
LSCI1 to LSCI2 Low Scale for Input Ranges 1 and 2 are real values that define the lower
limit of the measurement ranges. A typical value is 0 (percent). EI1 to EI2
define the engineering units text. Make the range and units consistent
with those of the measurement source. LSCI1 is used with MEAS and
SPT and LSCI2 is used with the GAP.
MA Manual Auto is a Boolean input that controls the Manual/ Automatic
operating state (0 = false = Manual; 1 = true = Auto). In Auto, given the
measurement value, the block computes the output according to its spe-
cific algorithm. In Manual, the algorithm is not performed, and the out-
put is unsecured. An external program can then set the output to a desired
value.
B0193AX Rev AB 23. DGAP Differential Gap Block
668


MALOPT Measurement Alarm Option is an input that enables absolute High and
Low measurement alarming, or disables absolute alarming altogether.
0 = No alarming
1 = High and Low measurement alarming
2 = High measurement alarming only
3 = Low measurement alarming only
You can change MALOPT only by reconfiguring the block.
MANALM Manual Alarm Option is an input which enables and disables configured
alarm options to function in Manual. Normally alarms are processed only
in the Auto mode.
0 = No alarming in Manual
1 = Full alarming in Manual
You can change MANALM only by reconfiguring the block.
MANSW Manual Switch is a Boolean input. When true, MANSW overrides the
MA and INITMA parameters and drives the block to the Manual state. If
both MANSW and AUTSW are true, MANSW has priority.
MBADOP Manual if Bad Option is a manual override feature. When MBADOP is
set to 1 or 2, the block sets the unlinked MA input to manual if it detects
a BAD status bit in the MEAS or INITI input, and when set to 2, it
detects that the Remote Setpoint (RSP) is not healthy (i.e., value status is
BAD or has a broken OM connection). This forces the output state to
manual as long as the BAD status remains. After the BAD status clears,
returning to Auto requires external intervention unless AUTSW is true.
0 = no option enabled
1 = Switch to Manual when MEAS or INITI value status is BAD
2 = Same as option 1, plus switch to Manual when RSP is not healthy
You can change MBADOP only by reconfiguring the block. MBADOP
has the same priority as the MANSW override, and it has precedence over
the AUTSW override. MBADOP has no effect when MA is linked. If any
of the MBADOP conditions are true, the block will be switched to Man-
ual regardless of the MANSW and AUTSW settings.
MEAS Measurement is an input identifying the source of the blocks input, or the
controlled variable.
MEASDB Measurement Alarm Deadband is an input, expressed in MEAS units, that
applies to both High, High-High, Low and Low-Low Alarm Limits.
MEASGR Measurement Group is an input that directs measurement alarm messages
to one of eight groups of alarm devices.
MEASHI Measurement High Alarm Indicator is a Boolean output that is set true
when the measurement exceeds the high alarm limit (MEASHL). When
23. DGAP Differential Gap Block B0193AX Rev AB
669


the measurement passes back through the deadband, the block sets
MEASHI to false.
MEASHL Measurement High Alarm Limit is a real input that defines the value of
the measurement that initiates a high absolute alarm.
MEASHT Measurement High Alarm Message Text is a user-defined text string of up
to 32 characters that is output with the alarm message to identify the
alarm. You can only change the message text by reconfiguring the block.
MEASLI Measurement Low Alarm Indicator is a Boolean output that is set true
when the measurement falls below the low alarm limit (MEASLL). When
the measurement passes back through the MEASDB deadband, the block
sets MEASLI to false.
MEASLL Measurement Low Alarm Limit is a real input that defines the value of the
measurement that initiates a low absolute alarm.
MEASLT Measurement Low Alarm Message Text is a user-defined text string of up
to 32 characters that is output with the alarm message to identify the
alarm. You can only change the message text by reconfiguring the block.
MEASNM Measurement Alarm Name is a user-defined text string of up to 12 charac-
ters that identifies the alarm source in the alarm message. It serves as a
point descriptor label (for example, FURN 37 TEMP).
MEASPR Measurement Priority is an integer input (1 to 5), that sets the priority
level of the measurement alarm (1 is the highest priority).
MODOPT Mode Option is a configurable short integer. When the block is in Auto,
MODOPT dictates the controller mode.
2 = BISTATE
3 = TRISTATE
NAME Name is a user-defined string of up to 12 characters used to access the
block and its parameters.
NASOPT Nuisance Alarm Suppression Option is a configurable, non-settable short
integer that specifies how the nuisance alarm delay is implemented:
+ 0 = Suppress nuisance alarms by delaying the Return-to-Normal
(default) by the length of time specified in NASTDB
+ 1 = Suppress nuisance alarms by delaying alarm detection by the
length of time specified in NASTDB
+ 2 = Suppress nuisance alarms by delaying both the Alarm Detec-
tion and the Return-to-Normal by the length of time specified in
NASTDB
NASTDB Alarm Deadband Timer is a configurable long integer. Depending on the
value of NASOPT, it either specifies the deadband time interval that must
B0193AX Rev AB 23. DGAP Differential Gap Block
670


elapse before an alarm condition is allowed to return to normal, or the
length of a delay-on timer which specifies the amount of time between an
alarms detection and the announcement of the alarm. The parameter
value ranges from zero (default, no delay) to 2147483647 ms.
OUTDEC Output Decrease is a Boolean output.
In the Auto bi-state mode, OUTDEC is set true when the Measurement
input goes above the setpoint by more than 1/2 the GAP, and stays true
until MEAS goes below the setpoint by more than 1/2 the GAP.
In the Auto tri-state mode, the block sets OUTDEC true when the Mea-
surement goes above the setpoint by more than 1/2 the GAP, and sets
OUTDEC false when the Measurement passes back through the
((GAP/2) - GAPDB).
While the block is in Auto, the ERR status bit is set, if PROPT is not true,
if either the MEAS input or the local SPT is in error. In Manual, no on-off
control is performed and the output is settable.
OUTINC Output Increase is a Boolean output.
In the Auto bi-state mode, OUTINC is set true when the Measurement
input goes below the setpoint by more than 1/2 the GAP, and stays true
until MEAS goes above the setpoint by more than 1/2 the GAP.
In the Auto tri-state mode, the block sets OUTINC true when the Mea-
surement goes below the setpoint by more than 1/2 the GAP, and sets
OUTINC false when the Measurement passes back through the
((-GAP/2) + GAPDB).
While the block is in Auto, the ERR status bit is set, if PROPT is not true,
if either the MEAS input or the local SPT is in error. In Manual, no on-off
control is performed and the output is settable.
OWNER Owner is a string of up to 32 ASCII characters which is used to allocate
control blocks to applications. Attempts to set Owner successful only if
the present value of Owner is the null string, an all-blank string, or identi-
cal to the value in the set request. Otherwise the request is rejected with a
LOCKED_ACCESS error. Owner can be cleared by any application by
setting it to the null string; this value is always accepted, regardless of the
current value of Owner. Once set to the null string, the value can then be
set as desired.
PERIOD Period is an indexed input that dictates the blocks execution time base
and allowable PHASE values. For stations other than Integrators and
Gateways, PERIOD values range from 0 to 13 and map to the following
period time lengths. (Integrator and Gateway blocks have different period
values than shown here.)
Period Length Period Length
0 0.1 sec 7 10 min
1 0.5 sec* 8 60 min
23. DGAP Differential Gap Block B0193AX Rev AB
671


* If the BPC is 0.2 sec., this period is treated internally as 0.6 sec., but the
PERIOD parameter remains 1.
** If the BPC is 2.0 sec., this period is treated internally as 6.0 sec., but the
PERIOD parameter remains 10.
*** If the BPC is 0.5 sec., this period is treated internally as 0.5 sec., but
the PERIOD parameter remains 11.
**** If the BPC is not 2.0 sec., this period is treated internally as 5.0 sec.,
but the PERIOD parameter remains 12.
***** Available in CP40, CP40B, CP60 and later control processors.
PERTIM Period Time is the period of the block expressed in seconds.
PHASE Phase is an integer input that causes the block to execute at a specific BPC
within the time determined by the PERIOD. For instance, a block with
PERIOD of 3 (2.0 sec) can execute within the first, second, third, or
fourth BPC of the 2-second time period, assuming the BPC of the Con-
trol Processor is 0.5 sec. Refer to the appropriate Integrated Control Soft-
ware Concepts document (B0700AG or B0193AW).
PROPT Propagate Error Option is a Boolean input. When true, PROPT sets the
ERR Status bit of the output parameter if the input to the MEAS parame-
ter is in error while the block is in Auto. The input to the MEAS parame-
ter is in error when:
+ Its BAD status bit is set true.
+ Its OOS (Out-of-Service) status bit is set true.
+ Its ERR status bit is set true.
+ It is experiencing peer-to-peer path failure.
If a transition to Manual occurs while the ERR status is true, it remains
true until either a set command is written to that output or until the block
transfers to Auto with the error condition returned to normal.
PRSCON Present Control state is a data store that contains the substates of Auto:
1 = Holding
2 = Tracking
3 = Controlling (not open loop)
2 1.0 sec 9 0.2 sec
3 2.0 sec 10 5.0 sec**
4 10 sec 11 0.6 sec***
5 30 sec 12 6.0 sec****
6 1 min 13 0.05 sec*****
Period Length Period Length
B0193AX Rev AB 23. DGAP Differential Gap Block
672


PRTYPE Priority Type is an indexed output parameter that indicates the alarm type
of the highest priority active alarm. The PRTYPE output of this block
includes the following alarm types:
0 = No active alarm
1 = High Absolute
2 = Low Absolute
3 = High-High Absolute
4 = Low-Low Absolute
5 = High Deviation
6 = Low Deviation
QALSTA Quality Status parameter (QALSTA) is a non-configurable packed long
that provides a combination of value record status, block status
(BLKSTA), and alarm status (ALMSTA) information in a single connect-
able output parameter. Available bits for this block are provided below.
REMSW Remote Switch is a Boolean input. When true, REMSW overrides the
unlinked LR and INITLR parameters, and drives the block to the Remote
state. If both LOCSW and REMSW are true, LOCSW has priority.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
Bit
Number
1
Definition Contents
Boolean Connection
(B32 to B1)
30 Alarms Unacknowledged ALMSTA.UNA QALSTA.B2
29 Alarms Inhibited ALMSTA.INH QALSTA.B3
25 High-High Absolute Alarm ALMSTA.HHA QALSTA.B7
24 Low-Low Absolute Alarm ALMSTA.LLA QALSTA.B8
21 High Deviation Alarm ALMSTA.HDA QALSTA.B11
20 Low Deviation Alarm ALMSTA.LDA QALSTA.B12
17 High Absolute Alarm ALMSTA.HMA QALSTA.B15
16 Low Absolute Alarm ALMSTA.LMA QALSTA.B16
5 Manual BLKSTA.MA QALSTA.B27
2 Uncertain MEAS.ERR status QALSTA.B30
1 Out-of-Service MEAS.OOS status QALSTA.B31
0 Bad MEAS.BAD status QALSTA.B32
1.
Bit 0 is the least significant, low order bit.
23. DGAP Differential Gap Block B0193AX Rev AB
673


RI1 to RI2 Range Input is an array of real values that specify the high and low engi-
neering scale (HSCI - LSCI) and change delta (DELTI) of a particular real
input. For a given block, it also forms an association with a group of real
input parameters that have the same designated range and change delta, as
defined by the parameters HSCI1 to HSCI2, LSCI1 to LSCI2, and
DELTI1 to DELTI2.
RSP Remote Setpoint is the selected setpoint source when LR is set to Remote.
RSP is a connectable, settable, real input. Typically RSP connects to an
upstream block in a cascade scheme. RSP and its source must be expressed
in MEAS units.
SPT Setpoint always represents the active controller setpoint. Setpoint is the
reference variable that is compared with the MEAS input to produce the
ERROR signal. SPT is implemented as a configurable output that deter-
mines its source from the Local/Remote setpoint selector, LR. When LR is
true (Remote), SPT is nonsettable and assumes the Remote Setpoint
(RSP) value. When LR is false (Local), SPT is an unsecured, and thus set-
table, output and the SPT source is the set value. Configure the value you
want the SPT to assume when it first goes to Local. As an output, SPT can
also source the setpoint value to other blocks.
While settable by default, SPT is nonsettable while setpoint tracking is
active. (See STRKOP.)
STRKOP Setpoint Track Option is a short integer input. When active, STRKOP
enables the setpoint to track the measurement input under the following
conditions.
0 = no option enabled
1 = SPT parameter tracks the measurement input when the block is in
Manual, or the cascade is open downstream (Initialization input INITI is
true).
2 = SPT parameter tracks the measurement only when the block is in
Manual.
STRKOP is active only when the setpoint source selector LR is in Local
and Supervisory Enable (SE) is enabled (1).
SPT is nonsettable while setpoint tracking is active. You can change
STRKOP only by reconfiguring the block.
TYPE When you enter DGAP or select DGAP from the block type list
under Show, an identifying integer is created specifying this block type.
UNACK Unacknowledge is a Boolean output that the block sets to True when it
detects an alarm. It is typically reset by operator action.
B0193AX Rev AB 23. DGAP Differential Gap Block
674


23.4 Detailed Operation
In the Auto state, the DGAP block performs on-off control via the outputs, OUTINC and OUT-
DEC. The specific control action depends on the mode option (MODOPT), and the sense of the
ERROR (MEAS SPT) in relation to the differential gap.
The Measurement has one source; the upstream block output that is linked to the MEAS param-
eter at configuration.
23.4.1 Detailed Diagram
Figure 23-3 is a simplified block diagram that depicts the functional signal flow of the DGAP
block. It shows the forward path of the block as it relates to the various states, logic control sig-
nals, and options represented by toggle switches.
23. DGAP Differential Gap Block B0193AX Rev AB
675


Figure 23-3. DGAP, Detailed Block Diagram
DGAP has two operational modes as selected by the MODOPT parameter:
+ BiState Operation
+ TriState Operation.
MANALM
Auto
Manual
MA
Output Message
HHALIM
MEASDB
HHATXT
Limit
LLALIM
MEASDB
LLATXT
MEASHL
MEASDB
MEASHT
MEASLL
MEASDB
MEASLT
HDALIM
HDATXT
LDALIM
LDATXT
INHIB
INHALM
INHOPT
HHAOPT
MALOPT
DALOPT
DEVADB
LDAIND
HHAPRI
HHAGRP
MEASPR
MEASGR
DEVPRI
DEVGRP
(High-High
Absolute
Alarming)
Limit
(Low-Low
Absolute
Alarming)
Limit
(High
Absolute
Alarming)
Limit
(Low
Absolute
Alarming)
Limit
(High
Deviation
Alarming)
Limit
(Low
Deviation
Alarming)
Including:
HHAIND, HHATXT
LLAIND, LLATXT
MEASHI, MEASHT
MEASLI, MEASLT
HDAIND, HDATXT
LDAIND, LDATXT
PRTYPE
CRIT
HDAIND
MEASLI
MEASHI
LLAIND
HHAIND
UNACK
LOCSW
LR
REMSW
LOCSP
SPT
ERROR
MEAS
Differential
Gap
Generator
OUTINC
OUTDEC
Hold
Control
Manual
Auto
Manual
MA
Auto
MBADOP
MANSW
AUTSW
MODOPT
GAP GAPDB

Bistate
Tristate
Hold
Control
HOLD
MEASNM
MEASNM
Manual
~
Deviation
Remote
RSP
Track
SPT
Local
BCALCO
Local
SPTRK
MEAS
unreliable
(see BCALCO)
B0193AX Rev AB 23. DGAP Differential Gap Block
676


23.4.1.1 BiState Mode
In the BISTATE mode, see Figure 23-4, a single on-off differential switching band controls both
outputs. The GAP parameter establishes the size of this band, sometimes called the differential
gap. GAP is always centered about zero error.
Figure 23-4. DGAP Bistate Controller Mode
Each output operates independently, as a function of the sense of the error. OUTINC is opera-
tional when the error is positive (measurement less than setpoint). OUTDEC is operational if the
error is negative (measurement greater than setpoint).
23.4.1.2 Tristate Mode
In the Tristate mode (Figure 23-5), each of two separate on-off differential switching bands con-
trols one of the outputs. The GAP parameter sets up a deadzone region, centered about zero error,
which separates the two switching bands. The gap deadband parameter, GAPDB, sets the differ-
ential gap of each switch within the deadzone. This deadband prevents the Boolean outputs,
OUTINC and OUTDEC, from oscillating prematurely when the measurement is noisy, by
delaying the clearing of these signals when the error falls inside (deadzone - deadband).
50
40
30
20
10
0
-10
-20
-30
-40
-50
Deviation
Setpoint - Measurement = Error
1
0
GAP
OUTINC
Time
1
0 OUTDEC
Dead Zone
SPT
23. DGAP Differential Gap Block B0193AX Rev AB
677


Figure 23-5. DGAP Tristate Controller Mode
The deadzone and deadband define a region about the setpoint in which the error, can traverse
without switching true either of two Boolean outputs.
OUTINC is true when the error exceeds the deadzone high limit, and is false when the error falls
below the (deadzone high limit - deadband). OUTDEC is true when the error falls below the
deadzone low limit, and is false when the error exceeds the (deadzone low limit + deadband).
With the dual outputs, you can select either increase-increase or increase-decrease controller
action depending on the controller outputs that you select.
23.4.2 Setpoint Control Mode
The setpoint (SPT) parameter is the local setpoint and always represents the active controller set-
point.
The setpoint source selector input, LR (Local/Remote), together with the two overrides, LOCSW
and REMSW, determines the setpoint source at any time:
+ When LR is switched to local (false), the block releases the SPT parameter, allowing
any user to input the desired controller setpoint value.
+ When LR is switched to Remote (true) with the cascade loop closed, SPT is nonsetta-
ble and takes on the value and status of the remote setpoint input, RSP. RSP is a
connectable parameter that establishes a link to a remote setpoint source. If RSP has
no linkage when LR is true, the block uses whatever value is in the unconnected RSP
parameter.
50
40
30
20
10
0
-10
-20
-30
-40
-50
Deviation
Setpoint - Measurement = Error
Dead Zone
1
0
GAP
OUTINC
Time
} Deadband = GAPDB
} Deadband = GAPDB
1
0 OUTDEC
SPT
B0193AX Rev AB 23. DGAP Differential Gap Block
678


+ The DGAP block also provides the LOCSW and REMSW parameters to drive the
setpoint state to Local or Remote.
When the block restarts, the INITLR configured option specifies the value of the LR parameter,
unless LR is linked, or LOCSW or REMSW are set true.
LOCSP allows the block to secure the LR parameter when the block initializes and to maintain
that secured state, preventing operator changes. LOCSW and REMSW override LOCSP and LR.
23.4.3 Setpoint Tracking
The setpoint track option, STRKOP, forces the DGAP setpoint, SPT, to track the measurement
input, MEAS.
The block performs Setpoint tracking only if the setpoint source selector, LR, is switched to Local
and the block is in Manual. To prevent external manipulation, the tracked setpoint value, SPT, is
nonsettable while setpoint tracking is active.
When the block is switched to Local mode with the block in Manual, the setpoint value depends
on the setpoint tracking option (STRKOP):
+ If STRKOP = 1 or 2, the SPT status copies the MEAS value.
+ If STRKOP = 0, the SPT value reflects the RSP value at the time the switch to Local
occurred. The block maintains this value as long as it is in Local, unless you change
the SPT value via data access.
To prevent external manipulation, SPT is nonsettable while setpoint tracking is active. While
tracking, the setpoint status reflects the MEAS status.
23.4.4 Auto Control Mode
The DGAP block has two output states, Auto and Manual. In Manual, the block releases the out-
put, allowing it to be set by the user. In Auto, the block secures the output.
Auto has two sub-states: Controlling, and Holding.
In the Controlling substate, the DGAP block activates (or deactivates) the outputs, OUTINC
and OUTDEC, based on the configured control mode and the deviation between SPT and
MEAS.
During Auto operation, the block checks the MEAS input for data errors (off-scan, or BAD,
OOS or ERR status bits set). If an error is detected, the DGAP block, depending on the value of
the CEOPT parameter (see CEOPT definition), may propagate the error to its outputs by setting
the ERR status bit of the outputs, OUTDEC and OUTINC.
23.4.5 Hold Mode
The block goes to Hold if, while MBADOP = 0 and CEOPT = 1 or 2, either the HOLD param-
eter goes true, or a condition required by the CEOPT parameter is met. In the Hold substate the
block holds the process at the last controlled state by setting OUTINC and OUTDEC to false.
When all error conditions are removed, the block returns to the Controlling state to resume on-
off control. Even if MBADOP = 1 or 2, the block goes to the Holding substate if the MA param-
eter is linked.
23. DGAP Differential Gap Block B0193AX Rev AB
679


23.4.6 Manual Mode
A state change from Auto to Manual forces the block to set OUTINC, OUTDEC, and all alarm
indicators, false. In the Manual state, DGAP does not perform on-off control and the outputs
become settable.
When the block is switched to Manual, the OUTINC (OUTDEC) status reflects the MEAS/SPT
status at the time the switch occurred. While the block is in Manual, it maintains this status until
you change the output via data access. At that time, the block clears the status.
When the block restarts, the INITMA configured option specifies the value of the MA parameter,
unless MA has an established linkage, or MANSW or AUTSW is set true. Likewise, the INITLR
specifies the value of the LR parameter, unless LR is linked, or LOCSW or REMSW is set true.
23.4.7 Alarming
The DGAP block optionally supports absolute, high-high, low-low, and deviation alarming of the
measurement. Configured alarming is always performed in Auto. Alarming is only performed in
Manual if the MANALM option is configured true. The block logs, and generates, alarm mes-
sages if the INHIB input is false.
Unacknowledge (UNACK) is a connectable Boolean output parameter which is set true, for noti-
fication purposes, whenever the block goes into alarm. It is settable, but sets are only allowed to
clear UNACK to false, and never in the opposite direction. The clearing of UNACK is normally
via an operator acknowledge pick on a default or user display, or via a user task.
The different types of alarming are discussed below.
23.4.7.1 Inhibit Alarming
Key Parameters: DALOPT, HHAOPT, INHALM, INHIB, INHOPT, MANALM, MALOPT
INHALM is a parameter that is used in conjunction with the CINHIB compound parameter and
the INHIB block parameter to determine which alarm types/points are inhibited in the block. See
INHIB on page 664 for its formatting.
The INHOPT parameter specifies the actions taken when alarms are inhibited in the block. See
INHOPT on page 664 to determine the possible actions.
HHAOPT enables/disables High-High and/or Low-Low absolute alarming.
MALOPT enables/disables High and/or Low absolute measurement alarming.
DALOPT enables/disables High and/or Low deviation alarming.
Refer to the parameter descriptions for setting HHAOPT, MALOPT, and DALOPT.
B0193AX Rev AB 23. DGAP Differential Gap Block
680


23.4.7.2 Absolute Alarming
Absolute alarming checks if MEAS has exceeded a predefined limit. See Figure 23-6.
Figure 23-6. Absolute Alarming
Four forms of absolute alarming are available in DGAP as described below.
23.4.7.2.1 High-High Absolute Alarming
Key Parameters: HHAIND, HHALIM, HHATXT, MEAS, MEASDB
In High-High Absolute Alarming, MEAS is compared to the high-high absolute alarm limit
(HHALIM). If MEAS is greater than HHALIM, the block sets HHAIND true and outputs an
alarm message that includes the user-defined HHATXT. When MEAS falls to, or below,
HHALIM minus the deadband (MEASDB), the block sets HHAIND to false and outputs a
return-to-normal message.
23.4.7.2.2 Low-Low Absolute Alarming
Key Parameters: LLAIND, LLALIM, LLATXT, MEAS, MEASDB
In Low-Low Absolute Alarming, MEAS is compared to low-low absolute alarm limits
(LLALIM). If MEAS is less than LLALIM, the block sets LLAIND to true and outputs an alarm
message that includes the user-defined LLATXT. When MEAS rises to, or above, LLALIMplus
the deadband (MEASDB), the block sets LLAIND to false and outputs a return-to-normal mes-
sage.
23.4.7.2.3 High Absolute Alarming
Key Parameters: MEAS, MEASDB, MEASHI, MEASHL, MEASHT
In High Absolute Alarming, MEAS is compared to the high absolute alarm limit (MEASHL). If
MEAS is greater than MEASHL, the block sets MEASHI true and outputs an alarm message that
includes the user-defined MEASHT. When MEAS falls to, or below, MEASHL minus the dead-
band (MEASDB), the block sets MEASHI to false and outputs a return-to-normal message.
23.4.7.2.4 Low Absolute Alarming
Key Parameters: MEAS, MEASDB, MEASLI, MEASLL, MEASLT
In Low Absolute Alarming, MEAS is compared to the low absolute alarm limits (MEASLL). If
MEAS is less than MEASLL, the block sets MEASLI true and outputs an alarm message that
HHALIM
LLALIM
MEAS
Time
High-High Alarm Indicator is set
Low-Low Alarm Indicator is set
MEASHL
MEASLL
GAP
High Alarm Indicator is set
Low Alarm Indicator is set
{MEASDB
{MEASDB
23. DGAP Differential Gap Block B0193AX Rev AB
681


includes the user-defined MEASLT. When MEAS rises to, or above, MEASLL plus the deadband
(MEASDB), the block sets MEASLI to false and outputs a return-to-normal message.
23.4.7.3 Deviation Alarming
Deviation alarming checks if the ERROR signal (MEAS SPT) has exceeded the predefined
deviation limits. See Figure 23-7.
Figure 23-7. Deviation Alarming
Two forms of deviation alarming are available, as described below.
23.4.7.3.1 High Deviation Alarming
Key Parameters: DEVADB, MEAS, HDAIND, HDALIM, HDATXT, SPT
In High Deviation Alarming, the deviation (SPT MEAS) is compared to the high deviation
alarm limit (HDALIM). If the deviation is greater than HDALIM, the block sets HDAIND true
and outputs an alarm message that includes the user-defined HDATXT. When the deviation falls
to, or below, HDALIM minus the deadband (DEVADB), the block sets HDAIND to false and
outputs a return-to-normal message. The alarm limit field of the messages reports the limit in
absolute terms, rather than using HDALIM, which is a relative quantity (that is, Alarm Limit
Field = Setpoint + HDALIM, rather than Alarm Limit Field = HDALIM).
High Deviation Alarm Limit
Low Deviation Alarm Limit
MEAS
Time
HDA Alarm Generated
Deadband
Deadband
{
{
HDA Alarm Clears
LDA Alarm Clears
LDA Alarm Generated
+ Deviation
- Deviation
MEAS
Time
High EU
Low EU
Deviation
SPT
Deviation = 0
B0193AX Rev AB 23. DGAP Differential Gap Block
682


23.4.7.3.2 Low Deviation Alarming
Key Parameters: DEVADB, LDAIND, LDALIM, LDATXT, MEAS, SPT
In Low Deviation Alarming, the deviation (SPT MEAS) is compared to the absolute value of
the low deviation alarm limit (LDALIM). If the deviation is less than the absolute value of
LDALIM, the block sets LDAIND true and outputs an alarm message that includes the user-
defined LDATXT. When the deviation rises to, or above, LDALIM plus the deadband
(DEVADB), the block sets LDAIND to false and outputs a return-to-normal message. The alarm
limit field of the messages reports the limit in absolute terms, rather than using LDALIM, which
is a relative quantity (that is, Alarm Limit Field = Setpoint - LDALIM, rather than Alarm Limit
Field = LDALIM).
23.4.8 GAP and GAPDB Parameter Validation
When GAP and GAPDB parameters overlap, the settings of OUTDEC and OUTINC are unpre-
dictable. Validation of the GAP and GAPDB parameters is performed at run time when a DGAP
block is processed. The validation is performed in the following logic sequence:
1. If GAP < 0, set GAP = 0.
2. If GAPDB < 0, set GAPDB = 0.
3. If GAPDB > 0 and GAP < 3 * GAPDB, set GAP = 3 * GAPDB.
4. In all other cases, GAP and GAPDB remain unchanged.
23.4.9 Normal Configuration
A typical configuration using the DGAP block is shown below.
Figure 23-8. Typical Cascade Configuration
To provide bumpless initialization of the upstream block in a cascade:
+ Link BCALCI of the primary controller (PID in Figure 23-8) to BCALCO.
+ Link FBK (external reset) of the primary controller to MEAS of the secondary con-
troller (DGAP in Figure 23-8) to prevent windup.
DGAP does not use PRIBLK.
23.4.10 Application
Figure 23-9 shows the DGAP block as a valve positioner for a furnace air damper, with feedback
from a position sensor, for example, slide wire, in the actuator. This application uses the DGAP
block with the feedback signal connecting to the measurement input. The PID controller sets the
demand for valve position via the remote setpoint (RSP) input.
DGAP PID RSP OUT
FBK
BCALCI
MEAS
MEAS
BCALCO
23. DGAP Differential Gap Block B0193AX Rev AB
683


Figure 23-9. DGAP with Position Feedback
SPT
MEAS
PID
DGAP
OUT
RSP
MEAS
OUTINC
(Increase)
(Decrease)
OUTDEC
Motor
Driven
Actuator
Position
Sensor
PT
Furnace
Air
Damper
COUTR, MCOUT
FBM
FBM
AIN
FBM
AIN
B0193AX Rev AB 23. DGAP Differential Gap Block
684


685


24. DPIDA Controller
This chapter covers the Distributed PIDA, or DPIDA, its basic operations, features,
parameters, ECB52 parameters, and DPIDA functions and an application example.
24.1 Overview
The Distributed PIDA (DPIDA) controller implements an advanced PID (PIDA) control algo-
rithm in Fieldbus Modules (FBM04/FBM204, FBM17/FBM227, and FBM22) to provide fast
real-time control capability (see Figure 24-1). The DPIDA controller provides very fast control
cycle times and high single-loop security. The FBM synchronizes execution of the control algo-
rithm to the analog-to-digital (A/D) conversion of the measurement input, thereby eliminating
data communication deadtime elements in the control loop.
The DPIDA controller implements continuous PID feedback and additive and multiplicative
feedforward control of an analog loop, providing advanced features similar to the PIDA block. Its
principal inputs, setpoint and measurement, are used to compute its output, the manipulated
variable, based on user-set or adaptively tuned values of the tuning parameters proportional
band, integral time, derivative time, and set-point-compensation lead/lag ratio. The feedforward
capability can be used to decouple interacting loops in addition to compensating for measured
load upsets.
Figure 24-1. DPIDA Controller Functional Diagram
+
x
+ A/B
+ +
-
FBTUNE
Extender Block
Loads
FFTUNE
Extender Block
Multiplicative Input
Bias
Local
Operators
Panel
Ramp
Output
Auto/
Manual
Switch
Scale Scale
DPIDA
Manual
Limit,
Ramp
Output
Auto
Track
A
B
Feedback
Control
Algorithm
FBM Using ECB52
Com-
pensator
Filter
Redundancy
Option
Select
One
Deviation
Alarms
Absolute
Alarms
Limit
Disable
Remote
Enable
LR
SE
Limit
Ramp,
Limit
Remote
Setpoint
Local
Setpoint
Supervisory
Setpoint
Measurement 1
Measurement 2
Measurement 3
Local
B0193AX Rev AB 24. DPIDA Controller
686


The ECB52 block provides the FBM interface for measurement characterization, linearization,
redundancy, out-of-range detection, Failsafe operation, and CP/FBM communications.
The combination of the FBM algorithm (ECB software type 52) and DPIDA block in the CP,
plus FBTUNE and FFTUNE extenders provides adaptive control capabilities of the I/A Series
patented EXACT MultiVariable control (see the FBTUNE and FFTUNE Block Descriptions in
this document). The FBM algorithm is a subset of the PIDA block algorithm.
24.2 Basic Operation
The FBM functions as a complete closed loop controller that executes the real time portion of the
algorithm every 10 to 50 ms (configurable), independent of the Control Processor (CP) execution
period. It reads the measurement and changes the output using the setpoint and other informa-
tion provided by the CP. FBM04/FBM204 and FBM17/FBM227 also provide three redundant
measurement inputs. FBM based control achieves fast controller response with very low inte-
grated absolute error, a key measure of controller performance to load and setpoint changes.
The DPIDA controller consists of the control algorithm in the FBM and companion DPIDA and
ECB52 blocks in the CP. The DPIDA block operates in conjunction with the FBM control algo-
rithm to support tuning, scaling and alarming functions. The DPIDA block acts as the bridge
between the operator workstation and the FBM algorithm by bidirectionally exchanging the
parameters and data between the FBM and the operator. The DPIDA block is available in the
CP30 and CP40.
Extension connections can be made to the FBTUNE and FFTUNE blocks, described elsewhere
in this manual, that perform adaptive tuning. This can be done while the DPIDA controller is
operating, by configuring the DPIDA blocks BLKSTA into the PIDBLK parameter in the
FBTUNE and FFTUNE extender blocks.
The FBTUNE extender block adaptively tunes the feedback controller parameters for controller
modes containing proportional and integral terms. The FFTUNE extender block provides
dynamic compensation for an absolute multiplicative or additive feedforward input and both
static and dynamic compensations for 3 or 4 incremental feedforward inputs and adapts the com-
pensator parameters.
The algorithm enhancements over the PID and PIDX blocks include the following:
+ Setpoint limiting, SPCLMP
+ Local setpoint ramping by rate or time to target, SPROPT
+ Setpoint compensation to prevent overshoot, SPLLAG
+ Improved measurement (derivative) filtering, KD
+ Feedforward ratio and bias inputs, MULT_IN and BIAS
+ Non-interacting tuning, NIPID
The PID and PIDX blocks are described elsewhere in this manual.
24.2.1 ECB52 Related Functions
The ECB52 block parameters allow you to configure:
+ FBM execution cycle time, CYCTIM
+ Measurement scaling, HMSCAL and LMSCAL
+ Measurement redundancy, REDOPT
24. DPIDA Controller B0193AX Rev AB
687


+ Measurement linearization, SQRENB
+ Measurement characterization, CHAREN
+ Anti-alias filtering, FLTOPT
+ Failsafe action, FSOPT
+ Output scaling, LOSCAL and HOSCAL
+ Local operators panel option, PNLOPT
24.3 Features
24.3.1 DPIDA Features
The DPIDA controller contains the following PIDA features:
+ Local setpoint ramping
+ Setpoint limiting
+ Setpoint compensation
+ Measurement filtering
+ Absolute feedforward inputs (multiplicative and additive)
+ Nonlinear gain function
24.3.1.1 Control Modes
The DPIDA controller can be configured to operate in one of the following control modes:
+ Proportional (P)
+ Integral (I)
+ Proportional-plus-Derivative (PD)
+ Proportional-plus-Integral (PI)
+ Proportional-plus-Integral-plus-Derivative (PID)
+ Non-Interactive PID (NIPID)
24.3.1.2 Standard DPIDA Features
The DPIDA controller contains the following DPIDA features:
+ FBTUNE extender block option adaptively tunes the feedback controller parameters
for the PI, PID, and NIPID controller modes.
+ FFTUNE extender block option provides dynamic compensation for an absolute
multiplicative or additive feedforward input and both static and dynamic compensa-
tions for 3 or 4 incremental feedforward inputs, and adapts the compensator
parameters.
+ Feedforward ratio and bias inputs, MULT_IN and BIAS, that can be adaptively tuned
by an FFTUNE block.
+ Manual/Auto (MA) control of the output, which can be initiated by either a host pro-
cess or another block.
B0193AX Rev AB 24. DPIDA Controller
688


+ Auto and Manual latch switch inputs (AUTSW and MANSW) that allow the control-
ler to be switched to Auto or Manual by overriding the MA parameter.
+ Local/Remote (LR) setpoint source selection.
+ Local and Remote latch switch inputs (LOCSW and REMSW) that allow the con-
troller to be switched to Local or Remote setpoint by overriding the LR parameter.
+ Setpoint compensation (SPLLAG) allows the amount of proportional action applied
to the setpoint to be different from that applied to the measurement to prevent
overshoot.
+ Measurement filtering using a second-order Butterworth filter for high frequency
noise rejection. Filter time constant is adjustable in relation to derivative time with
derivative gain KD.
+ Logic signals to prevent windup during cascaded closed-loop operation.
+ Assignable engineering range and units to measurement, bias, multiplicative input,
and output.
+ Automatic scaling, based on assigned engineering ranges, so that the proportional
band is expressed in percent.
+ Automatic scaling, based on assigned engineering ranges, so that the controller gain is
normalized.
+ Output biasing (BIAS, KBIAS) with scaling (BBIAS).
+ Output clamping between variable output limits (HOLIM, LOLIM).
+ Bad input detection, handling and indication (BAD).
+ Bumpless transfer of the output signal when the controller returns to controlling oper-
ation in Auto, which is inherent in all control modes.
+ Fast reaction to manual output change.
+ Automatic cascade handling as the secondary controller in a cascade loop including
back calculation (BCALCO) of the secondary setpoint which connects to the
BCALCI and FBK parameters of the upstream block, to provide bumpless cascade
operation when the cascade is open loop.
24.3.1.3 Standard DPIDA Options
The DPIDA controller contains the following DPIDA options
+ Supervisory Setpoint Control (SSC) by user application software. For cascade loops,
the DPIDA controller can only be at the bottom of the cascade.
+ Setpoint tracking (STRKOP) of the measurement signal allows bumpless return to
automatic control when the controller returns to closed-loop operation. STRKOP
takes this action when the LR parameter has transitioned in either direction and 1)
either the output is in Manual or a cascade is broken (a downstream block is in open
loop - INITI true) or the block is in Manual, or 2) when the block is in Manual only.
The block does not perform STRKOP if any critical data errors are detected.
+ Manual if Bad Option (MBADOP) is a Manual override feature. When MBADOP =
1 or 2, the block sets an unlinked MA input to Manual when it detects bad status of a
control input (MEAS, FBK, and/or INITI) or optionally (when MBADOP = 2), if
the Remote Setpoint (RSP) is not healthy (i.e., value status is BAD or has a broken
24. DPIDA Controller B0193AX Rev AB
689


OM connection). This forces the output state to Manual. Returning to Auto requires
external intervention, unless AUTSW is true.
+ Increase/Increase Option (INCOPT) reverses the normal sense of the control action
so that the controller output increases with increasing measurement.
+ Measurement Alarming Option (MALOPT) enables absolute alarming of the mea-
surement during auto operation. This option also provides standard alarm
notification and reporting features.
+ Deviation Alarm Option (DALOPT) enables deviation alarming of the measurement-
setpoint error signal.
+ High-High Alarm Option (HHAOPT) enables High-High and/or Low-Low absolute
alarming of the measurement input with indicators and text messages, at a given pri-
ority level, which are sent to the configured alarm group.
+ Manual Alarming Option (MANALM) enables all configured alarm options, with or
without output alarming, to be operational in Manual.
+ Output Alarm Option (OALOPT) enables absolute alarming of the controller output
(OUT).
+ Manual Clamping Option (MCLOPT) enables output clamping in Manual.
+ Control Error Option (CEOPT) enables implicit Holding action when an error in the
MEAS input is detected.
+ Propagate Error Option (PROPT) propagates the ERROR status bit from the MEAS
input to the OUT parameter.
+ Local Setpoint Secure (LOCSP), typically used for local only controllers, secures
against any write access to the LR parameter.
+ Workstation lock (LOCKRQ) allows write access to the block parameters only by the
Display Manager (LOCKID) that owns the lock. Any other workstation must first
unlock the lock to gain write access.
+ Loop identifier (LOOPID) allows you to identify the loop or process unit that con-
tains the lock.
24.3.1.4 Extended DPIDA Options
The DPIDA controller contains the following extended DPIDA options:
+ Setpoint Ramp Option (SPROPT) allows you to ramp the setpoint to a new target
value (SPTARG) by rate (SPRATE) in engineering units per minute or by time
(SPRATE) to target in minutes.
+ Setpoint clamping between limits.
+ Nonlinear Option (NONLOP) allows you to change the gain in a zone about zero
error. The zone is defined by HZONE and LZONE, and the gain by KZONE.
+ Output Tracking (TRKENL) allows the output to track an independent signal source
(TRACK).
+ Selection Request (SELRQ) allows you to select one of the redundant measurements
for use by the control algorithm, when REDOPT is set for two or three redundant
measurements.
B0193AX Rev AB 24. DPIDA Controller
690


24.3.1.5 ECB52 Features
+ Redundancy Option (REDOPT) allows the FBM04/FBM204 or FBM17/FBM227
to select one of up to three redundant inputs as the measurement input to the algo-
rithm. Options are:
+ Non-redundant measurement
+ Dual-redundant measurements
+ Triple-redundant measurements.
+ Characterizer Enable (CHAREN) allows measurement processing with an 8-segment
characterizer.
+ Square Root Enable (SQRENB) allows measurement linearizing with a square root
function.
+ Panel Option (PNLOPT) with FBM17/FBM227 allows connection of a local opera-
tors panel (Foxboro Deutschland) with status indicator lights, 0 to 100% meter
display of the output, Auto/Manual toggle key, and keys for ramping the output up or
down in Manual.
+ FBM22 allows connection of a hard manual backup panel with status indicator lights,
0 to 100% meter display of the output, hard Manual (A/M) toggle key, and keys for
ramping the output up or down in Manual. When the A/M key is toggled to Auto,
the controller goes to remote Manual, not Auto; operator action from a workstation is
required to transfer the controller to Auto.
+ Cycle Time option (CYCTIM) allows the controller algorithm cycle time to be con-
figured from 10ms to 50 ms, in 5ms increments.
+ Failsafe Enable (FSENB) allows Failsafe control options (FSOPT) while the controller
is in Auto or Holding (similar to MANFS option in other blocks).
24.4 Parameters
Table 24-1. DPIDA Block Parameters
Name Description Type Accessibility Default Units/Range
Configurable Parameters
INPUTS
AUTSW auto switch boolean con/set 0 0 to 1
BAG bad alarm group short no-con/set 1 1 to 8
BAO bad alarm option boolean no-con/no-set 0 0 to 1
BAP bad alarm priority integer con/set 5 1 to 5
BAT bad alarm text string no-con/no-set 2 blanks 1 to 32 chars
BBIAS bias scale factor real no-con/no-set 0.0 RO1
BIAS bias of output real con/set 0.0 RI2
CEOPT control error opt short no-con/no-set 1 0 to 2
DALOPT deviation alarm opt short no-con/no-set 0 0 to 3
DELTI1 change delta, meas real no-con/no-set 1.0 positive real%
DELTI2 change delta, meas real no-con/no-set 1.0 positive real%
DELTO1 change delta, outp real no-con/no-set 1.0 positive real%
24. DPIDA Controller B0193AX Rev AB
691


DERIV derivative time real con/set 0.0 0 to real minutes
DESCRP block descriptor string no-con/no-set 2 blanks 1 to 32 chars
DEVADB dev alm deadband real no-con/set 0.0 RI1
DEVGRP deviation alarm group short no-con/set 1 1 to 8
DEVLIM deviation limit real no-con/no-set 2.0% RI1
DEVPRI deviation alarm priority integer con/set 5 1 to 5
DEVTIM deviation alarm time integer no-con/no-set 0 0 to 32767
EI1 eng units for meas string no-con/no-set % 1 to 32 chars
EI2 eng units for meas string no-con/no-set % 1 to 32 chars
EIN multiplier eng unit string no-con/no-set % 1 to 32 chars
EO1 eng units, output string no-con/no-set % 1 to 32 chars
FLBOPT fallback option short no-con/no-set 0 0 to 4
HDALIM high deviation alarm limit real con/set 100.0 RI1
HDATXT high deviation alarm text string no-con/no-set 2 blanks 1 to 32 chars
HHAGRP high-high alarm group short no-con/set 1 1 to 8
HHALIM high-high alarm limit real con/set 100.0 RI1
HHAOPT high-high alarm option short no-con/no-set 0 0 to 3
HHAPRI high-high alarm priority integer con/set 5 1 to 5
HHATXT high-high alarm text string no-con/no-set 2 blanks 1 to 32 chars
HOALIM high output alarm limit real con/set 100.0 RO1
HOATXT high output alarm text string no-con/no-set 2 blanks 1 to 32 chars
HOLD hold mode boolean con/set 0 0 to 1
HOLIM high output limit real con/set 100.0 RO1
HSCI1 high scale for meas real no-con/no-set 100.0 any real value
HSCI2 high scale for meas real no-con/no-set 100.0 any real value
HSCIN multiplier high scale real no-con/no-set 100.0 any real value
HSCO1 high scale, output real no-con/no-set 100.0 any real value
HZONE high zone limit real con/set 100.0 positive real %
INCOPT increase/increase option boolean no-con/no-set 0 0 to 1
INHALM inhibit alarm pack_b con/set 0 0 to 0xFFFF
INHIB alarm inhibit boolean con/set 0 0 to 1
INHOPT inhibit option short no-con/no-set 0 0 to 3
INITLR initialize local/remote short no-con/no-set 0 0 to 2
INITMA initialize MA short no-con/no-set 1 0 to 2
INITSE initial SE short no-con/no-set 0 0 to 2
INT integral time real con/set 100.0 0 to real minutes
IOM_ID FBM identifier string no-con/no-set 2 blanks ---
KBIAS bias gain factor real no-con/no-set 1.0 any real value
KD derivative gain real con/set 10.0 positive real
KZONE nonlinear gain real con/set 1.0 positive real
LDALIM low deviation alarm limit real con/set -100.0 RI1
LDATXT low deviation alarm text string no-con/no-set 2 blanks 1 to 32 chars
LLALIM low-low alarm limit real con/set 0.0 RI1
LLATXT low-low alarm text string no-con/no-set 2 blanks 1 to 32 chars
LOALIM low output alarm limit real con/set 0.0 RO1
LOATXT low output alarm text string no-con/no-set 2 blanks 1 to 32 chars
Table 24-1. DPIDA Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
B0193AX Rev AB 24. DPIDA Controller
692


LOCSP lock setpoint boolean no-con/no-set 0 0 to 1
LOCSW local setpoint switch boolean con/set 0 0 to 1
LOLIM low output limit real con/set 0.0 RO1
LOOPID loop identifier string no-con/set 2 blanks 1 to 32 chars
LR local/remote setpoint boolean con/set 0 0 to 1
LSCI1 low scale for meas real no-con/no-set 0.0 any real value
LSCI2 low scale for meas real no-con/no-set 0.0 any real value
LSCIN multiplier low scale real no-con/no-set 0.0 any real value
LSCO1 low scale, output real no-con/no-set 0.0 any real
LZONE high zone limit real con/set 100.0 positive real %
MA manual/auto boolean con/set 0 0 to 1
MALOPT meas alarm option short no-con/no-set 0 0 to 3
MANALM manual alarm option short no-con/no-set 1 0 to 4
MANSW manual switch boolean con/set 0 0 to 1
MBADOP manual if bad option short no-con/no-set 0 [0|1|2]
MCLOPT manual clamp option boolean no-con/no-set 0 0 to 1
MEASDB meas alarm deadband real no-con/set 0.0 RI1
MEASGR meas alarm group short no-con/set 1 1 to 8
MEASHL meas high alarm limit real con/set 100.0 RI1
MEASHT meas high alarm text string no-con/no-set 2 blanks 1 to 32 chars
MEASLL meas low alarm limit real con/set 0.0 RI1
MEASLT meas low alarm text string no-con/no-set 2 blanks 1 to 32 chars
MEASNM meas alarm name string no-con/no-set 2 blanks 1 to 32 chars
MEASPR meas alarm priority integer con/set 5 1 to 5
MODOPT control mode option short no-con/no-set 1 1 to 6
MULTIN multiplier input real con/set 100.0 RIN
NAME block name string no-con/no-set 2 blanks 1 to 32 chars
NONLOP nonlinear option boolean no-con/no-set 0 0 to 1
OALOPT output alarm opt short no-con/no-set 0 0 to 3
OSV output span variance real no-con/no-set 2.0 0.0 to 25.0%
OUTADB output alarm deadband real no-con/set 0.0 RO1
OUTGRP output alarm group short no-con/set 1 1 to 8
OUTNM output alarm name string no-con/no-set 2 blanks 1 to 32 chars
OUTPRI output alarm priority integer con/set 5 1 to 5
PBAND proportional band real con/set 1000.0 0.1 to real %
PERIOD block sample time short no-con/no-set 1 0 to 13
PHASE block execute phase integer no-con/no-set 0 see param def
PRIBLK primary block boolean no-con/no-set 0 0 to 1
PRITIM primary cascade timer real no-con/no-set 0.0 seconds
PROPT propagate error option boolean no-con/no-set 0 0 to 1
REMSW remote switch boolean con/set 0 0 to 1
RSP remote setpoint real con/set 0.0 RI1
SPCLMP setpoint clamp short no-con/no-set 0 0 to 2
SPHLIM local setpoint high limit real con/set 100.0 RI1
SPLLAG setpoint lead/lag real con/set 1.0 RI1
SPLLIM local setpoint low limit real con/set 0.0 RI1
Table 24-1. DPIDA Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
24. DPIDA Controller B0193AX Rev AB
693


SPRAMP local setpoint ramp option boolean con/set 0 0 to 1
SPRATE local setpoint ramp rate real con/set 0.0 unit/min or min
SPROPT local setpoint ramp option short no-con/no-set 0 0 to 4
SPT setpoint real con/set 0.0 RI1
SPTARG local setpoint ramp target real con/set 0.0 RI1
STRKOP setpoint track option short no-con/no-set 0 [0|1|2]
SUPGRP supervisory group short no-con/no-set 1 1 to 8
SUPOPT supervisory option short no-con/no-set 0 0 to 4
TRACK track input real con/set 0.0 RO1
TRKENL track enable boolean con/set 0 0 to 1
TYPE block type integer no-con/no-set 124 DPIDA
AMRTIN alarm regeneration timer integer no-con/no-set 0 0 to 32767 s
NASTDB alarm deadband timer long integer no-con/no-set 0 0-2147483647 ms
NASOPT nuisance alarm suppression
option
short no-con/no-set 0 0 to 2
Non-Configurable Parameters
INPUTS
DEV_ID FBM letterbug char no-con/no-set 2 blanks 1 to 6 chars
FBTBLK feedback tune block status long con/set 0x00...0 0 to 0xFFFFFFFF
FFTBLK feedforward tune block status long con/set 0x00...0 0 to 0xFFFFFFFF
MEAS measurement real con/set 0.0 RI1
MEAS01 to MEAS03 measurement 1 to 3 real con/set 0.0 RI1
OUT2 output 2 real con/set 0.0 RO1
SE supervisory enable boolean no-con/set 0 0 to 1
SELRQ select request short con/set 0 0 to 3
SELST select status short con/set 0 1 to 3
SUP_IN supervisor setpoint real con/no-set 0.0 RI1
OUTPUTS
ALMSTA alarm status pack_l con/no-set 0x00...0 0 to 0xFFFFFFFF
BAD bad I/O status boolean con/no-set 0 0 to 1
BCALCO back calc output real con/no-set 0.0 RI1
BLKSTA block status pack_l con/no-set 0x00...0 0 to 0xFFFFFFFF
DEFINE no config errors boolean no-con/no-set 1 0 to 1
CRIT alarm criticality integer con/no-set 0 0 to 5
ERROR control error real con/no-set 0.0 RI1
FLBREQ fallback request short con/no-set 0 0 to 2
FS failsafe state boolean con/no-set 0 0 to 1
HDAIND high deviation alarm indicator boolean con/no-set 0 0 to 1
HHAIND high-high alarm indicator boolean con/no-set 0 0 to 1
HOAIND high output alarm indicator boolean con/no-set 0 0 to 1
HOLIND high output limit indicator boolean con/no-set 0 0 to 1
INHSTA inhibit status pack_l con/no-set 0x00...0 0 to 0xFFFFFFFF
INITO initialize output short con/no-set 0 0 to 1
LDAIND low deviation alarm indicator boolean con/no-set 0 0 to 1
LLAIND low-low alarm indicator boolean con/no-set 0 0 to 1
Table 24-1. DPIDA Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
B0193AX Rev AB 24. DPIDA Controller
694


24.4.1 Parameter Definitions
ACHNGE Alternate Change is an integer output that is incremented each time a set-
table parameter is changed externally. It wraps around from 32767 to
-32767.
ALMOPT Alarm Options contains packed boolean values representing the alarm
types that have been configured as options in the block. The DPIDA
block uses only the following bits:
LOAIND low output alarm indicator boolean con/no-set 0 0 to 1
LOLIND low output limit indicator boolean con/no-set 0 0 to 1
MEASHI meas high alarm indicator boolean con/no-set 0 0 to 1
MEASLI meas lo alarm indicator boolean con/no-set 0 0 to 1
OUT output real con/no-set 0.0 RO1
PRTYPE priority type integer con/no-set 0 0 to 10
QALSTA quality status pack_l con/no-set 0 0 to 0xFFFFFFFF
STATEB state of FB tune integer con/set -2 -3 to 6
STATEF state of FF tune integer con/set -2 -2 to 5
SUPBCO sup back calc out real con/no-set 0 RI1
UNACK unacknowledge alarm boolean con/no-set 0 0 to 1
DATA STORES
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
ALMOPT alarm options pack_l no-con/no-set 0 0 to 0xFFFFFFFF
ERCODE configuration error string no-con/no-set 2 blanks 1 to 43 chars
LOCKID lock identifier string no-con/no-set 2 blanks 8 to 13 chars
LOCKRQ lock request boolean no-con/set 0 0 to 1
OWNER owner name string no-con/set blank 0 to 32 chars
PERTIM period time real no-con/no-set 0.1 seconds
PRSCAS priority for cascade short no-con/no-set 0 0 to 3
PRSCON present control short no-con/no-set 0 0 to 2
RI1-RI2 measurement range real[3] no-con/no-set 100,0,1 ---
RIN multiplier range real[3] no-con/no-set 100,0,1 ---
RO1 output range real[3] no-con/no-set 100,0,1 ---
Table 24-1. DPIDA Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
Bit Number
1
(0 to 31) Configured Alarm Option When True
0 Alarm group 1 in use
24. DPIDA Controller B0193AX Rev AB
695


ALMSTA Alarm Status is a 32-bit output that is bit-mapped to indicate the blocks
alarm states. The DPIDA block uses the following bits:
7 Alarm group 8 in use
16 Low measurement alarm
17 High measurement alarm
18 Low output alarm
19 High output alarm
20 Low deviation alarm
21 High deviation alarm
22 Bad I/O alarm
24 Low-low absolute alarm
25 High-high absolute alarm
27 Operational error alarm
28 Out-of-range alarm
1.
Bit 0 is the least significant, low order bit.
Bit Number
1
(0 to 31) Configured Alarm Option When True
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
U
N
A
C
K
I
N
H
O
O
R
H
H
A
L
L
A
B
A
D
H
D
A
L
D
A
H
O
A
L
O
A
H
M
A
L
M
A
CRIT PRTYPE
Bit Number*
(0 to 31) Name Description When True
Boolean Connection
(B32 to B1)
0 to 4 PRTYPE** Priority type (0 to 25)* ---
5 to 7 CRIT** Criticality (0 to 5)* ---
16 LMA Low measurement alarm ALMSTA.B16
17 HMA High measurement alarm ALMSTA.B15
18 LOA Low output alarm ALMSTA.B14
19 HOA High output alarm ALMSTA.B13
20 LDA Low deviation alarm ALMSTA.B12
21 HDA High deviation alarm ALMSTA.B11
22 BAD Bad I/O alarm ALMSTA.B10
24 LLA Low-low absolute alarm ALMSTA.B8
25 HHA High-high absolute ALMSTA.B7
28 OOR Out-of-range alarm ALMSTA.B4
B0193AX Rev AB 24. DPIDA Controller
696


* Bit 0 is the least significant, low order bit.
** PRTYPE and CRIT are binary values. See PRTYPE and CRIT parame-
ter definitions for values used by the DPIDA block.
AMRTIN Alarm Regeneration Timer is a configurable integer that specifies the time
interval for an alarm condition to exist continuously, after which a new
unacknowledged alarm condition and its associated alarm message is gen-
erated.
AUTSW Auto Switch is a boolean input. When true, it overrides the MA and
INITMA parameters, and drives the block to the Auto state. If both
MANSW and AUTSW are true, MANSW has priority.
BAD Bad is a boolean output that is set true when any input to the controller is
unacceptable in any way. The BAD bit of the BLKSTA output, that is,
BLKSTA.BAD, is also set true whenever BAD is true.
BAG Bad Alarm Group is a short integer input that directs BAD alarm messages
to one of eight groups of alarm devices. You can change the group number
through the workstation.
BAO Bad Alarm Option is a configurable boolean value. When configured true,
it enables alarm generation for each state change of the BAD parameter.
BAP Bad Alarm Priority is an integer input, ranging from 1 to 5, that sets the
priority level of the Bad alarm (1 is the highest priority).
BAT Bad Alarm Text is a user-configurable text string of up to 32 characters,
that is sent with the bad alarm message to identify it.
BBIAS Bias Scale Factor is a real input used for biasing the input span of the BIAS
input.
BCALCO Back Calculation Output is a real output that is usually equal to the Mea-
surement input. BCALCO is the setpoint value that maintains the output
value when the block returns to normal mode after initializing or tracking.
The BCALCO data record contains the initialization and open cascade
status bits. You connect BCALCO to the BCALCI input of upstream
block so that the upstream block can sense when the DPIDA block has
initialized or is open loop.
BIAS Bias is a real value that is the additive feedforward input. Dynamic com-
pensation is set by the FFTUNE block.
29 INH Inhibit alarm ALMSTA.B3
30 UNACK Unacknowledged alarm ALMSTA.B2
Bit Number*
(0 to 31) Name Description When True
Boolean Connection
(B32 to B1)
24. DPIDA Controller B0193AX Rev AB
697


BLKSTA Block Status is a 32-bit output, bit-mapped to indicate various block oper-
ational states. The DPIDA block uses the following bits:
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
F
L
B
S
C
S
E
H
O
L
L
O
L
M
A
O
L
R
O
F
S
M
O
D
F
R
E
D
W
L
C
K
D
E
V
F
T
N
F
T
N
I
O
N
U
D
E
F
B
A
D
M
A
L
R
S
T
R
K
F
B
M
H
L
D
T
R
K
C
T
L
R
E
D
2
P
T
N
S
T
N
M
T
N
Bit Number*
(0 to 31) Name Description When True
Boolean Connection
(B32 to B1)
0 MTN Manual tune mode** BLKSTA.B32
1 STN Self-tune mode** BLKSTA.B31
2 PTN Pre-tune mode** BLKSTA.B30
4 RED2 Redundancy Option 2**** BLKSTA.B28
5 CTL Controlling BLKSTA.B27
6 TRK Tracking BLKSTA.B26
7 HLD Holding BLKSTA.B25
8 FBM FBM failure BLKSTA.B24
9 STRK Setpoint tracking BLKSTA.B23
10 LR 0 = Local; 1 = Remote BLKSTA.B22
11 MA 0 = Manual; 1 = Auto BLKSTA.B21
12 BAD Bad I/O BLKSTA.B20
14 UDEF Undefined BLKSTA.B18
15 ON Compound on BLKSTA.B17
16 FTNI Feedforward tune inactive BLKSTA.B16
17 FTN Feedforward tune active BLKSTA.B15
18 Not used BLKSTA.B14
19 DEV Redundant measurement
input deviation limit
BLKSTA.B13
20 WLCK Workstation lock BLKSTA.B12
21 RED Redundancy Option**** BLKSTA.B11
22 DF Device fail BLKSTA.B10
23 MO Manual override (panel) BLKSTA.B9
24 FS Failsafe BLKSTA.B8
25 LRO Local/Remote override BLKSTA.B7
26 MAO Manual/Auto override BLKSTA.B6
27 LOL Low output limit*** BLKSTA.B5
28 HOL High output limit*** BLKSTA.B4
29 SE Supervisory enabled BLKSTA.B3
B0193AX Rev AB 24. DPIDA Controller
698


* Bit 0 is the least significant, low order bit.
** These are tuning states for the EXACT tuning algorithm.
*** The controller output is clamped at these limits.
**** The REDOPT parameter (in ECB52) is used in conjunction with
BLKSTA.B11 (RED) and BLKSTA.B28 (RED2) to control the condi-
tional display of the three possible measurements of the DPIDA. The first
measurement is always on the display. The second and third measure-
ments can be added as well; the second measurement must be shown in
order for the third measurement to be displayed.
When REDOPT=1 (in ECB52), BLKSTA.B11 (RED) is set to 1 to
display the second measurement.
When REDOPT=2 (in ECB52), BLKSTA.B28 (RED2) is set to 1 to
display the third measurement. Since the second measurement must be
displayed in order to display the third measurement, BLKSTA.B11 (RED)
must have already been set to 1 before BLKSTA.B28 (RED2) is set to 1.
CEOPT Control Error Option is a short integer that specifies how the block
responds to the MEAS input when it is in error. Control errors are defined
in Error Detection on page 750. To provide backward compatibility,
CEOPT defaults to 1. CEOPT has a range of 0 to 2 where:
CEOPT is independent of the propagate error option, PROPT, and does
not affect the external logical input, HOLD. The HOLD input, when
true, still drives the block into the Hold state whenever the block is in
Auto (and MBADOP = 0).
CEOPT enables implicit control error handling of HOLD, STRKOP, and
MBADOP. When CEOPT is enabled, a control error is detected if the
MEAS input has a status such as OOS, BAD, or off-scan. If MBADOP =
1 or 2, a control error forces the controller to Manual. If MBADOP = 0, a
30 SC Supervisory control BLKSTA.B2
31 FLB Supervisory fallback BLKSTA.B1
Bit Number*
(0 to 31) Name Description When True
Boolean Connection
(B32 to B1)
0 = The block takes no implicit Hold action when it detects a
control error.
1 = The block goes to the Hold state if, while MBADOP = 0:
+ MEAS has its BAD status bit set true.
+ MEAS has its Out-of-Service status bit set true.
+ MEAS is experiencing peer-to-peer path failure.
2 = The block goes to the Hold state if, while MBADOP = 0:
+ MEAS meets any of the conditions described for
CEOPT = 1.
+ MEAS has its ERROR status bit set true.
24. DPIDA Controller B0193AX Rev AB
699


control error forces the controller to Hold if MA is set to Auto, and it dis-
ables setpoint tracking if SPTRKOP is set true.
If CEOPT is not enabled, then control error detection is not performed,
and MBADOP, HOLD, and SPTRK handling is performed explicitly by
asserting the HOLD input.
CRIT Criticality is an integer output that indicates the priority, 1 to 5, of the
blocks highest currently active alarm (1 is the highest priority). An output
of zero indicates the absence of alarms.
DALOPT Deviation Alarm Option is a short integer input that enables High and
Low deviation alarming, or disables alarming altogether.
0 = No alarming
1 = High and Low deviation alarming
2 = High deviation alarming only
3 = Low deviation alarming only
You can change DALOPT only by reconfiguring the block.
DEFINE Define is a boolean data store which when true indicates that the block
has no configuration errors. It is the inverse of UDEF in parameter BLK-
STA. When the block initializes, DEFINE is set to 0 (undefined) if the
block detects a parameter configuration error. To return DEFINE to a
true state, correct all configuration errors and reinstall the block.
DELTI1 to
DELTI2
Change Delta for Input Range 1 or 2 is a real value that defines the mini-
mum percent of the input range that triggers change driven connections
for parameters in the range of RI1 or RI2. The default value is 1.
Entering a 1 causes the Object Manager to recognize and respond to a
change of 1 percent of the full error range. If communication is within the
same CP that contains the blocks compound, change deltas have no
effect.
Refer to Peer-to-Peer Connections of Real-Type Block Inputs on
page 23 for details on how the I/A Series software affects the change delta
percentage during operation.
DELTO1 Change delta for Output Range 1 is a configurable real value that defines
the minimum percent of the output range that triggers change-driven
connections for parameters in the range RO1. The default value is 1.0 per-
cent. If communication is within the same CP that contains the blocks
compound, DELTO1 has no effect.
DERIV Derivative Time is a real input that adjusts the derivative time constant in
minutes. For the PID and NIPID modes, DERIV is adaptively tuned by
the FBTUNE block, if it is linked to the DPIDA block.
NOTE
The working DERIV value is indirectly limited by the working INT value.
B0193AX Rev AB 24. DPIDA Controller
700


DESCRP Descriptor is a user-defined string of up to 32 characters that describes the
blocks function (for example, PLT 3 FURNACE 2 HEATER CON-
TROL).
DEVADB Deviation Alarm Deadband is a real input (range RI1) that applies to both
High and Low Deviation Alarm Limits.
DEVGRP Deviation Group is a short integer input that directs deviation alarm mes-
sages to one of eight groups of alarm devices.
DEVLIM Deviation Limit is a real input (range RI1) that defines the limit of the
deviation between the selected measurement (MEAS) and any one of the
redundant measurements (MEAS01 to MEAS03). When this deviation is
exceeded, the block status deviation bit (BLKSTA.DEV) is set.
DEVPRI Deviation Priority is a integer input (1 to 5) that sets the priority level of
the deviation alarm (1 is the highest priority).
DEVTIM Deviation Time is a configurable integer value that specifies the delay time
for detecting a deviation alarm.
DEV_ID Device Identifier is a 6-character array input that specifies the 6-character
letterbug identifier of the FBM.
EI1 to EI2 Engineering Units for Input Ranges 1 and 2 are 32-character strings that
provide the engineering units text for the values defined by the ranges for
input 1 and 2. The values configured for these text strings should be con-
sistent with the values used for HSCI1 and LSCI1, or HSCI2 and LSCI2.
EIN Engineering Units for MULTIN is a 32-character string that provides the
engineering units text for the multiplicative input MULTIN. Make the
units consistent with those of the signal source.
EO1 Engineering Units for Output Range 1 is a 32-character string that pro-
vides the engineering units text for the values defined by the range for out-
put 1. The value configured for this text string should be consistent with
the values used for HSCO1 and LSCO1.
ERCODE Error Code is a string data store that indicates the type of configuration
error that first caused the block to set the DEFINE parameter to false. Val-
idation of configuration errors does not proceed past the first error
encountered by the block logic. The block uses the following error strings:
+ W44 Invalid Engineering Range.
+ W46 Invalid Input Connection.
+ W48 Invalid Block Option.
+ W51 Invalid Hardware/Software Type.
+ W54 ECB does not exist.
+ W58 Install Error; Delete/Undelete Block.
+ W59 Duplicate Output Channel.
24. DPIDA Controller B0193AX Rev AB
701


ERROR Error is a real output that equals setpoint minus measurement:
+ ERROR = SPT MEAS
FBTBLK Feedback Tune BLKSTA is a long integer input that contains the bit
mapped value of the connected FBTUNE blocks BLKSTA parameter (see
the FBTUNE Block Description).
FFTBLK Feed Forward Tune BLKSTA is a long integer input that contains the bit-
mapped value of the connected FFTUNE blocks BLKSTA parameter (see
the FFTUNE Block Description).
FLBOPT Fallback Option is a short integer input that defines the control action to
be taken by the block when a Supervisory Fallback occurs:
0 = take no fallback action (default)
1 = set MA parameter to Auto
2 = set MA parameter to Manual
3 = set LR parameter to Remote
4 = set LR parameter to Local
FLBOPT overrides linked MA and LR parameters, but does not override
the AUTSW, MANSW, REMSW, and LOCSW parameters.
FLBREQ Fallback Request is a short integer output that is an explicit request for the
block to go to the Fallback state, with recovery at the block level (when SE
is set), and/or at the group level (when the appropriate group enable bit is
set in SUPENA).
0 = No fallback requested
1 = Fallback requested; recovery at block or group level
2 = Fallback requested; recovery only at block level
FS Failsafe is a boolean output that is set true when the block detects the
FBM going to the Failsafe state. While in this state, the block retains the
actual Failsafe value of the output point as it is read back from the FBM.
This value, depending on the ECB Failsafe option, is either the fallback or
the hold value.
HDAIND High Deviation Alarm Indicator is a boolean output that is set true when
the measurement exceeds the setpoint by more than the deviation limit
HDALIM. When the measurement passes back through the DEVADB
deadband, the block sets HDAIND to false.
HDALIM High Deviation Alarm Limit is a real input that specifies the amount by
which the measurement must exceed the setpoint to initiate a high devia-
tion alarm and set the High Deviation Alarm Indicator, HDAIND, true.
HDATXT High Deviation Alarm Text is a user-configurable text string of up to 32-
characters, output with the alarm message to identify the alarm.
HHAGRP High-High Alarm Group is a short integer input that directs High-High
Absolute Alarm messages to one of eight groups of alarm devices.
B0193AX Rev AB 24. DPIDA Controller
702


HHAIND High-High Alarm Indicator is a boolean output that is set true when the
measurement input (MEAS) is greater than the high-high absolute alarm
limit (HHALIM). HHAIND is reset to false when the MEAS value is less
than HHALIM minus a deadband.
HHALIM High-High Alarm Limit is a real input (range RI1) that defines the value
of the measurement input (MEAS) that triggers a High-High alarm.
HHAOPT High-High Alarm Option is a configurable short integer value that
enables High-High and Low-Low absolute alarming for the measurement
input (MEAS), or disables absolute alarming altogether. Each alarm trig-
gers an indicator and text message. Options are:
0 = No alarming
1 = High-High and Low-Low alarming
2 = High-High alarming only
3 = Low-Low alarming only
HHAPRI High-High Alarm Priority is a integer input (1 to 5) that sets the priority
level of the high-high absolute alarm (1 is the highest priority).
HHATXT High-High Alarm Text is a user-configurable text string of up to
32 characters that is sent with the alarm message to identify the alarm.
HOAIND High Output Alarm Indicator is a boolean output that is set true when-
ever the output (OUT) is greater than HOALIM.
HOALIM High Output Alarm Limit is a real input (range RI1) that defines the
value of the output (OUT) that initiates a high output alarm.
HOATXT High Output Alarm Text is a user-defined text string of up to
32 characters that is sent with the alarm message to identify the alarm.
HOLD Hold is a boolean input. When true, it forces the block into the Hold sub-
state of Auto, holding the output at its last computed value.
HOLIM High Output Limit is a real input (range RO1) that specifies the maxi-
mum value for the output (OUT). If the algorithm tries to drive the out-
put to a higher value, the output is clamped at the HOLIM value and the
indicator HOLIND is set true.
HOLIND High Output Limit Indicator is a boolean output that is set true whenever
the output is clamped at the high output limit, HOLIM.
HSCI1 to HSCI2 High Scale for Input Ranges 1 and 2 are configurable real values that
define the upper limit of input ranges RI1 and RI2. EI1 and EI2 define
the units. Make the range and units consistent with those of the input
sources. The default value is 100 (percent).
HSCIN High Scale for Input MULTIN is a real value that defines the upper limit
of the range for MULTIN. The default value is 100 (percent). EIN defines
the units.
24. DPIDA Controller B0193AX Rev AB
703


HSCO1 High Scale for Output Range 1 is a real value that defines the upper limit
of the range for the output (OUT). The default value is 100 (percent).
EO1 defines the units. Make the range and units consistent with those of
the output (OUT).
HZONE High Zone is a real input that defines, in terms of the error, the upper
limit of the zone in which the nonlinear gain option is exercised. HZONE
is expressed as a percentage of the measurement span.
INCOPT Increase/Increase Option is a boolean input. When true, it reverses the
normal sense of the control action so that the controller output increases
with increasing measurement.
INHALM Inhibit Alarm is a packed boolean input that specifies the alarm inhibit
requests for each alarm type configured in the block. The DPIDA block
uses the following bits:
* Bit 0 is the least significant, low order bit.
There are no mnemonic names for the individual bits of INHALM.
INHIB Inhibit is a boolean input. When true, it inhibits all block alarms; the
alarm handling and detection functions are determined by the INHOPT
setting. Alarms may also be inhibited based on INHALM and the com-
pound parameter CINHIB.
Bit Number*
(0 to 15) Inhibit When True
Boolean Connection
(B16 to B1)
0 Low measurement alarm INHALM.B16
1 High measurement alarm INHALM.B15
2 Low output alarm INHALM.B14
3 High output alarm INHALM.B13
4 Low deviation alarm INHALM.B12
5 High deviation alarm INHALM.B11
6 Bad I/O alarm INHALM.B10
8 Low low absolute alarm INHALM.B8
9 High high absolute alarm INHALM.B7
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B0193AX Rev AB 24. DPIDA Controller
704


INHOPT Inhibit Option specifies the following actions applying to all block alarms:
INHSTA Inhibit Status is a 32-bit packed long boolean output that contains the
actual inhibit status of each alarm type configured in the block. The
DPIDA block uses the following bits:
0 = When an alarm is inhibited, disable alarm messages but do
not disable alarm detection.
1 = When an alarm is inhibited, disable both alarm messages and
alarm detection. If an alarm condition already exists at the
time the alarm transitions into the inhibited state, clear the
alarm indicator.
2 = Same as 0 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages.
Into alarm messages may be acknowledged by explicitly set-
ting UNACK false.
3 = Same as 1 for all inhibited alarms. For all uninhibited alarms,
automatically acknowledge return-to-normal messages.
Into alarm messages may be acknowledged by explicitly set-
ting UNACK false.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
I
N
H
O
O
R
H
H
A
L
L
A
B
A
D
H
D
A
L
D
A
H
O
A
L
O
A
H
M
A
L
M
A
Bit Number*
(0 to 31) Name Inhibited When True
Boolean Connection
(B32 to B1)
16 LMA Low measurement alarm ALMSTA.B16
17 HMA High measurement alarm ALMSTA.B15
18 LOA Low output alarm ALMSTA.B14
19 HOA High output alarm ALMSTA.B13
20 LDA Low deviation alarm ALMSTA.B12
21 HDA High deviation alarm ALMSTA.B11
22 BAD Bad I/O alarm ALMSTA.B10
24 LLA Low-low absolute alarm ALMSTA.B8
25 HHA High-high absolute ALMSTA.B7
28 OOR Out-of-range alarm ALMSTA.B4
29 INH Inhibit alarm ALMSTA.B3
* Bit 0 is the least significant, low order bit.
24. DPIDA Controller B0193AX Rev AB
705


INITLR Initialize Local/Remote is an integer input that specifies the desired state
of the LR input during initialization, where:
The block asserts this initial LR state whenever:
+ It is installed into the Control Processor database, but not when
the block is modified, unless INITLR was changed.
+ The Control Processor undergoes a restart operation.
+ The compound in which the block resides is turned on.
INITLR is ignored if the LR input has an established linkage.
INITMA Initialize Manual/Auto is a short integer input that specifies the desired
state of the MA input during initialization:
The DPIDA block asserts this initial Manual/Auto state whenever:
+ The DPIDA block is installed into the Control Processor database,
but not when the block is modified via the Control Configurator,
unless INITMA was changed.
+ The Control Processor undergoes a restart operation.
+ The compound in which the DPIDA block resides is turned on.
INITMA is ignored if the MA input has an established linkage.
Editing ECB52 via the Control Configurator places the DPIDA block in
Manual.
During communications failure, the DPIDA block shadows the MA state
of the FBM control algorithm.
INITO Initialization Output is set true when:
+ The block is in Manual or initializing.
+ Permanent or temporary loss of FBM communications occurs.
+ RSP (the remote setpoint) is not the setpoint source.
The block clears INITO when none of these conditions exist. This block
keeps INITO True, for one cycle (PRIBLK = 0), until the acknowledge is
received from upstream (PRIBLK = 1 and PRITIM = 0.0), or for a fixed
time delay (PRIBLK = 1 and PRITIM = nonzero).
Prior to release 4.2, you connected this parameter to the INITI input of
upstream blocks so that these upstream blocks could sense when a down-
0 = Local
1 = Remote
2 = no change, except if a reboot, use the LR state specified in the
checkpoint file.
0 = Manual
1 = Auto
2 = no change, except if a reboot, use the MA state specified in
the checkpoint file.
B0193AX Rev AB 24. DPIDA Controller
706


stream block is open loop. Starting with Release 4.2, you connect the
BCALCO output of this block to the BCALCI input of the upstream
block for this purpose.
INITSE Initial Supervisory Enable is a configurable short integer value that speci-
fies the initial state of the SE parameter in a block configured for Supervi-
sory Control (SUPOPT = 1 or 3) when the block initializes due to reboot,
installing the block, or turning the compound on. Options are:
0 = Disable
1 = Enable
2 = Do not change SE parameter
INT Integral Time is a real input that adjusts the integral time constant in min-
utes. For the PI, PID and NIPID modes, INT is adaptively tuned by the
FBTUNE block, if it is linked to the DPIDA block.
When a DPIDA block is in P or PD mode (that is, MODOPT=1 or
MODOPT=3), the INT parameter appears on the default displays as
BTIME because it becomes the balance time (explained below) for those
controller modes. Balance time is utilized so that a bumpless transfer can
be accomplished without compromising the algorithm of the P or PD
controller. In other words, if a P or PD controller is either initialized or
transferred from manual to auto, where the actual output is different from
the algorithm's calculated output, the controller output is not bumped
but instead is integrated (or balanced) over time until it matches its calcu-
lated value. The actual balance time is a function of a first-order lag and
adjustable via the lag time constant, which is the INT (or BTIME) param-
eter expressed in minutes. The DPIDA block does not have a parameter
labeled BTIME associated with it so all Object Manager access to the
BTIME value must refer to INT.
IOM_ID Fieldbus Module Identifier is a configurable string input that specifies the
ECB52 for the FBM that contains the algorithm for this block.
IOM_ID has the form CompoundName:BlockName, where Compound-
Name is the 1-12 character name of the local compound containing the
ECB, and BlockName is the 1-12 character block name of the ECB.
If the compound containing the ECB is the CPletterbug_ECB compound
where CPletterbug is the station letterbug of the CP, the CompoundName
may be omitted from the IOM_ID configuration. In this case, the 1-12
character ECB block name is sufficient.
KBIAS Gain Factor is a real input that multiplies the BIAS input. It is expressed
in OUT units (RO1) divided by BIAS units (RI2).
KD Measurement Filter Factor is a real input that adjusts the time constant of
the measurement filter.
For PD and NIPID control modes, the filter time constant is:
[DERIV / KD]
For the PID control mode, the filter time constant is:
24. DPIDA Controller B0193AX Rev AB
707


1 / [ (1/INT) + (1/DERIV) ] KD
KZONE Middle Zone Gain is a real input that establishes the relative gain within
the zone defined by HZONE and LZONE. KZONE is usually set at less
than unity for pH control applications, or for desensitizing the control to
noise. If KZONE is set to zero, the block behaves as a dead zone control-
ler, causing most loops to limit cycle.
LDAIND Low Deviation Alarm Indicator is a boolean output that is set true when
the measurement falls below the setpoint by more than the deviation
limit, LDALIM. When the measurement passes back through the
DEVADB deadband, the block sets LDAIND to false.
LDALIM Low Deviation Alarm Limit is a real input that defines how far the mea-
surement must fall below the setpoint to initiate a low deviation alarm and
set the Low Deviation Alarm Indicator LDAIND true.
LDATXT Low Deviation Alarm Text is a user-defined text string of up to 32-charac-
ter that is sent with the alarm message to identify the alarm.
LLAIND Low-Low Alarm Indicator is a boolean output that is set true when the
measurement (MEAS) falls below the low-low absolute alarm limit
(LLALIM). LLAIND is reset to false when the value is greater than
LLALIM plus a deadband.
LLALIM Low-Low Alarm Limit is a real input that defines the value of the mea-
surement (MEAS) that triggers a Low-Low Alarm.
LLATXT Low-Low Alarm Text is a user defined text string of up to 32 characters
that is inserted into a Low-Low Alarm message.
LOAIND Low Output Alarm Indicator is a boolean output that is set true whenever
the output is less than LOALIM.
LOALIM Low Output Alarm Limit is a real input (in RO1 units), that defines the
value of the output (OUT) that initiates a low output alarm.
LOATXT Low Output Alarm Message Text is a user-defined text string of up to
32 characters that is sent with the alarm message to identify the alarm.
LOCKID Lock Identifier is a string data store that identifies the workstation that has
exclusive write access to the block. LOCKID arbitrates write access to the
control block parameters by operator workstations on the network. Set
requests to any of the blocks parameters are honored only if the requesting
workstations identifier matches the contents of LOCKID.
LOCKID does not lock out sequence code write access to block parame-
ters. Sequence block set requests to any of the blocks parameters are
always honored.
B0193AX Rev AB 24. DPIDA Controller
708


The lock-request message sets LOCKRQ to true and sets LOCKID to the
identifier of the requesting workstation. The lock-release message clears
LOCKRQ and nulls LOCKID.
LOCKID has the format LETTERBUG:DEVNAME, where LETTER-
BUG is the 6-character letterbug of the workstation and DEVNAME is
the 6-character logical name of the Display Manager.
LOCKRQ Lock Request is a boolean data store that is set true or false by toggling the
LOCK U/L key on the Block Detail Display. An operator at any other
workstation can lock and unlock the block by toggling the LOCK U/L
key.
The lock-request message sets LOCKRQ true, sets LOCKID to the iden-
tifier of the requesting workstation, and sets the WLCK bit in the BLK-
STA parameter. Set requests to any of the blocks parameters are honored
only if the requesting workstations identifier matches the contents of
LOCKID.
LOCKID does not lock out sequence code write access to block parame-
ters. Sequence block set requests to any of the blocks parameters are
always honored.
The lock-release message resets LOCKRQ, nulls LOCKID, and resets the
WLCK bit.
NOTE
Do not set LOCKRQ with an application program. Due to contention for the
block, you may not be able to unlock the block
LOCSP Local Setpoint Secure is a boolean input. When true, it provides lockout
of user write access to the LR parameter. If LOCSP is configured true, the
block secures LR when it initializes and maintains LR in the secured state.
The LOCSW and REMSW overrides have higher precedence, but LR
remains secured when they are no longer asserted.
LOCSW Local Switch is a boolean input. When true, LOCSW overrides the LR
and INITLR parameters and drives the block to the Local state. If both
LOCSW and REMSW are true, LOCSW has priority.
LOLIM Low Output Limit is a real input that establishes the minimum output
(OUT) value. If the algorithm tries to drive the output to a lower value,
the output is clamped at the LOLIM value and the indicator LOLIND is
set true.
LOLIND Low Output Limit Indicator is a boolean output that is set true whenever
the output is clamped at the low output limit, LOLIM.
LOOPID Loop Identifier is a user-defined string of up to 32 characters that identi-
fies the loop or process associated with the block. It is displayed on the
detail display of the block, immediately below the faceplate.
24. DPIDA Controller B0193AX Rev AB
709


LR Local/Remote is a boolean input that selects the setpoint source:
0 = Local
1 = Remote
If LR is set to Remote, the source of the setpoint value is RSP. When LR is
set to Local, the source is the user set input (SPT).
If STRKOP = 1 or 2 while LR is set to Local and the block is in Manual,
the setpoint tracks the measurement MEAS.
LSCI1 to LSCI2 Low Scale for Input Ranges 1 and 2 are configurable real values that define
the lower limit of input ranges RI1 and RI2. EI1 and EI2 define the units.
Make the range and units consistent with those of the input sources. The
default value is 0 (percent).
LSCIN Low Scale for Input MULTIN is a configurable real value that defines the
lower limit of MULTIN. EIN defines the units. The default value is 0
(percent).
LSCO1 Low Scale for Output Range 1 is a configurable real value that define the
lower limit of the range for Output 1. EO1 defines the units. Make the
range and units consistent with those of the output destination. The
default value is 0 (percent).
LZONE Low Zone is a real input that defines, in terms of the error, the absolute
value of the negative error level that sets the lower limit of the zone in
which the nonlinear gain option is exercised. LZONE is expressed as a
percentage of the measurement span.
MA Manual /Auto is a boolean input that controls the blocks operating state:
0 = Manual
1 = Auto
In Manual, each DPIDA block output is unsecured, which makes it setta-
ble by an external process (program or display). In Auto, the block secures
each output so that it cannot be set externally.
MALOPT Measurement Alarm Option is a configurable short integer input that
enables absolute High and Low measurement alarming, or disables abso-
lute alarming altogether.
0 = no alarming
1 = High and Low measurement alarming
2 = High measurement alarming only
3 = Low measurement alarming only
MANALM Manual Alarm Option is a configurable input which enables and disables
configured alarm options to function in Manual. Normally alarms are
processed only in the Auto mode.
0 = No alarming in Manual
1 = Full alarming in Manual
B0193AX Rev AB 24. DPIDA Controller
710


2 = No Output alarming in Manual
3 = No output alarming in Track
4 = No output alarming in Manual or Track
MANSW Manual Switch is a boolean input. When true, it overrides the MA and
INITMA parameters and drives the block to the Manual state. If both
MANSW and AUTSW are true, MANSW has priority.
MBADOP Manual if Bad Option is a manual override feature. When MBADOP is
set to 1 or 2, the block sets the unlinked MA input to manual if it detects
a BAD or OOS status bit in the MEAS, BCALCI or FBK input, and
when set to 2, it detects that the Remote Setpoint (RSP) is not healthy
(i.e., value status is BAD or has a broken OM connection). This forces the
output state to manual as long as the BAD status remains. After the BAD
status clears, returning to Auto requires external intervention unless
AUTSW is true.
0 = no option enabled
1 = Switch to Manual when MEAS, BCALCI, or FBK value status is BAD
2 = Same as option 1, plus switch to Manual when RSP is not healthy
You can change MBADOP only by reconfiguring the block. MBADOP
has the same priority as the MANSW override, and it has precedence over
the AUTSW override. MBADOP has no effect when MA is linked. If any
of the MBADOP conditions are true, the block will be switched to Man-
ual regardless of the MANSW and AUTSW settings.
MCLOPT Manual Clamping Option is a configurable boolean input that allows you
to invoke output clamping while the block is in manual.
MEAS Measurement is a real input representing the FBMs measurement input,
or the controlled variable. If redundant measurements are configured
(REDOPT is set to 1 or 2), MEAS is the selected one.
MEAS01 to
MEAS03
Measurement 1 to 3 are real inputs representing FBM Channels 1, 2, and
3 analog inputs that are used for measurement redundancy. If redundant
measurements are configured (REDOPT is set to 1 or 2), MEAS is the
selected one.
MEASDB Measurement Alarm Deadband is a configururable real input expressed in
MEAS units (RI1), that applies to both High and Low Alarm Limits.
MEASGR Measurement Group is a short integer input that directs measurement
alarm messages to one of eight groups of alarm devices.
MEASHI Measurement High Alarm Indicator is a boolean output that is set true
when the measurement exceeds the high alarm limit (MEASHL). When
the measurement passes back through the deadband, the block sets
MEASHI to false.
24. DPIDA Controller B0193AX Rev AB
711


MEASHL Measurement High Alarm Limit is a real input that defines the value of
the measurement that initiates a high absolute alarm.
MEASHT Measurement High Alarm Message Text is a user-defined text string of up
to 32 characters that is sent with the alarm message to identify the alarm.
MEASLI Measurement Low Alarm Indicator is a boolean output that is set true
when the measurement falls below the low alarm limit (MEASLL). When
the measurement passes back through the MEASDB deadband, the block
sets MEASLI to false.
MEASLL Measurement Low Alarm Limit is a real input that defines the value of the
measurement that initiates a low absolute alarm.
MEASLT Measurement Low Alarm Message Text is a user-defined text string of up
to 32 characters that is sent with the alarm message to identify the alarm.
MEASNM Measurement Alarm Name is a user-defined text string of up to
32 characters that identifies the alarm source in the alarm message. It
serves as a point descriptor label (for example, FURN 37 TEMP).
MEASPR Measurement Priority is a integer input (1 to 5), that sets the priority level
of the measurement alarm (1 is the highest priority).
MODOPT Mode Option is a configurable short integer (1 to 6) that specifies the
controller mode when the block is in Auto:
1 = P proportional only.
2 = I integral only.
3 = PD proportional plus derivative.
4 = PI proportional plus integral.
5 = PID proportional, integral and derivative (product of factors).
6 = NIPID non-interacting PID (sum of terms).
MULTIN Multiplicative Feedforward Input is a real input in engineering units
(RIN). Dynamic compensation is adaptively set by FFTUNE.
NAME Name is a user-defined string of up to 32 characters used to access the
block and its parameters.
NASOPT Alarm Suppression Option is a configurable, non-settable short integer
that specifies how the nuisance alarm delay is implemented:
+ 0 = Suppress nuisance alarms by delaying the Return-to-Normal
(default) by the length of time specified in NASTDB
+ 1 = Suppress nuisance alarms by delaying alarm detection by the
length of time specified in NASTDB
+ 2 = Suppress nuisance alarms by delaying both the Alarm Detec-
tion and the Return-to-Normal by the length of time specified in
NASTDB
B0193AX Rev AB 24. DPIDA Controller
712


NASTDB Alarm Deadband Timer is a configurable long integer. Depending on the
value of NASOPT, it either specifies the deadband time interval that must
elapse before an alarm condition is allowed to return to normal, or the
length of a delay-on timer which specifies the amount of time between an
alarms detection and the announcement of the alarm. The parameter
value ranges from zero (default, no delay) to 2147483647 ms.
NONLOP Nonlinear Option is a configured boolean input that allows you to cus-
tomize the gain in a zone about zero error. The zone is defined by
HZONE and LZONE, the gain by KZONE.
OALOPT Output Alarm Option is a configured short integer input that enables
absolute High and Low alarming of the block output (OUT) or disables
output alarming altogether.
0 = No alarming
1 = High and Low output alarming
2 = High output alarming only
3 = Low output alarming only
OSV Output Span Variance is a configurable real input that defines the amount
by which the output clamp limits (HOLIM, LOLIM) may exceed the
specified output range, as defined by HSCO1 and LSCO1.
OUT Output is a real output that in the Auto mode is the result of the FBM
algorithm for the selected control mode (MODOPT). In Manual, OUT
is unsecured, and can be set by you or by an external task.
OUT2 Output 2 is a real output that is used as a feedforward input for other
blocks. OUT2 is the back-calculated indication of the internal controller
output, expressed in percent.
OUTADB Output Alarm Deadband is a real input that specifies the size of the dead-
band for both High and Low Output Alarm Limits.
OUTGRP Output Group is a short integer input that directs high and low output
alarm messages to one of eight groups of alarm devices.
OUTNM The Output Alarm Name is a user-defined string of up to 32 characters
that identifies the alarm source in the alarm message. It serves as a point
descriptor label (for example, F2 FUEL CTRL).
OUTPRI Output Priority is an integer input (1 to 5) that sets the priority level of
the High and Low Output Alarms (1 is the highest priority).
OWNER Owner is a string data store of up to 32 ASCII characters that is used to
allocate control blocks to applications. Attempts to set OWNER are only
successful if its present value is the null string, an all-blank string, or iden-
tical to the value in the set request. Otherwise the request is rejected with a
LOCKED_ACCESS error. Any application can clear OWNER by setting
24. DPIDA Controller B0193AX Rev AB
713


it to the null string, which is always accepted. Once set to the null string,
an application can then set the value as desired.
PBAND Proportional Band is an input expressed in percent. PBAND is the percent
of span change in input, that causes a full-span change in output. [100 /
PBAND] determines the gain of the controller when MEAS and OUT are
converted to percent of span. It is adaptively set by FBTUNE.
PERIOD Period is an indexed input that dictates the blocks execution time base
and allowable PHASE values. For stations other than Integrators and
Gateways, PERIOD values range from 0 to 13 and map to the following
period time lengths. (Integrator and Gateway blocks have different period
values than shown here.)
* If the BPC is 0.2 sec., this period is treated internally as 0.6 sec., but the
PERIOD parameter remains 1.
** If the BPC is 2.0 sec., this period is treated internally as 6.0 sec., but the
PERIOD parameter remains 10.
*** If the BPC is 0.5 sec., this period is treated internally as 0.5 sec., but
the PERIOD parameter remains 11.
**** If the BPC is not 2.0 sec., this period is treated internally as 5.0 sec.,
but the PERIOD parameter remains 12.
***** Available in CP40, CP40B, CP60 and later control processors.
PERTIM Period Time is a real data store value representing the period time of the
DPIDA (shadow) block in seconds.
PHASE Phase is an integer input that causes the DPIDA (shadow) block to exe-
cute at a specific BPC within the time determined by the PERIOD. For a
CP with a BPC of 0.5 s and a PERIOD of 2.0 s, the legal PHASE values
are 0, 1, 2, and 3. Refer to the appropriate Integrated Control Software
Concepts document (B0700AG or B0193AW).
PRIBLK Primary Block is a configurable boolean input for cascade configuration.
PRIBLK should be configured 0 in a primary block, and 1 (true) in a
non-primary (secondary) block. Use PRIBLK in a cascade situation when
the source of the block's input connection needs to be initialized.
Period Length Period Length
0 0.1 sec 7 10 min
1 0.5 sec* 8 60 min
2 1.0 sec 9 0.2 sec
3 2.0 sec 10 5.0 sec**
4 10 sec 11 0.6 sec***
5 30 sec 12 6.0 sec****
6 1 min 13 0.05 sec*****
B0193AX Rev AB 24. DPIDA Controller
714


A PRIBLK value of 1 causes a secondary block to wait for its primary
block to initialize before it uses the remote setpoint. The DPIDA block
can only be the secondary block.
Depending on the value of PRITIM, PRIBLK does this by forcing the
DPIDA block to remain in the Hold state until the Acknowledge status
bit (Bit 10) of MEAS is detected from the upstream block
(PRITIM= 0.0), or until the time defined by PRITIM expires
(PRITIM > 0.0). In the latter case, the explicit acknowledge from the
upstream block is not needed.
Refer to PRIBLK and PRITIM Functionality on page 739 for more
information on this parameter.
PRITIM Primary Cascade Timer is a configurable parameter used to delay the clos-
ing of the cascade to a primary block, when the output is initialized in the
DPIDA block. It is used only if the PRIBLK option is set. The cascade is
closed automatically when the timer expires without requiring an explicit
acknowledge by the upstream block logic.
Refer to PRIBLK and PRITIM Functionality on page 739 for more
information on this parameter.
PROPT Propagate Error Option is a boolean input. When true, PROPT sets the
ERROR Status bit of the output (OUT) parameter if all FBM measure-
ment inputs are in error while the block is in Auto. The measurement
input is in error when:
+ Its BAD status bit is set true.
+ Its OOS (Out-of-Service) status bit is set true.
+ Its ERROR status bit is set true.
If a transition to Manual occurs while the ERROR status is true, it
remains true until either a set command is written to that output or until
the block transfers to Auto with the error condition returned to normal.
PRSCAS Present Cascade State is a data store that indicates the cascade state. It has
the following possible values:
Value State Description
1 INIT_U Unconditional initialization of the primary cas-
cade is in progress.
2 PRI_OPN The primary cascade is open.
3 INIT_C Conditional initialization of the primary cas-
cade is in progress.
4 PRI_CLS The primary cascade is closed.
5 SUP_INIT The supervisory cascade is initializing.
6 SUP_OPN The supervisory cascade is open.
7 SUP_CLS The supervisory cascade is closed.
24. DPIDA Controller B0193AX Rev AB
715


PRSCON Present Control state is a short integer data store that contains the sub-
states of Auto:
1 = Holding
2 = Tracking
3 = Controlling (not open loop)
PRTYPE Priority Type is an indexed short integer (0 to 9) output that indicates the
alarm type of the highest priority active alarm. The PRTYPE outputs of
this block include the following alarm types:
0 = No active alarm
1 = High absolute
2 = Low absolute
3 = High-high absolute
4 = Low-low absolute
5 = High deviation
6 = Low deviation
7 = Rate alarm
8 = Bad alarm
25 = Out-of-range
REMSW Remote Switch is a boolean input. When true, it overrides the unlinked
LR and INITLR parameters, and drives the block to the Remote state. If
both LOCSW and REMSW are true, LOCSW has priority.
RI1 to RI2 Range Inputs 1 and 2 are data store arrays of real values that specify the
high and low engineering scale and change delta for the measurement
(MEAS) and bias (BIAS). For this block, it also forms an association with
a group of real input parameters that have the same designated range and
change delta.
RIN Range Input for MULTIN is a data store array of real values that specifies
the high and low engineering scale and change delta for input MULTIN.
RO1 Range Output 1 is a data store array of real values that specify the high
and low engineering scale of the controller output (OUT). For this block,
it also forms an association with a group of real output parameters that
have the same designated range.
RSP Remote Setpoint is a real input that is the selected setpoint source when
LR is set to Remote. Typically RSP connects to an upstream block in a
cascade scheme. RSP and its source must be expressed in MEAS units
(RI1).
SE Supervisory Enable is a boolean input that enables or disables Supervisory
Control in this block:
0 = Disable
1 = Enable
B0193AX Rev AB 24. DPIDA Controller
716


SELRQ Select Request is a short integer input that selects one of up to three
redundant measurements for use by the FBM algorithm:
SELST Select Status is a short integer input that indicates which of the three
redundant measurements is being used by the FBM algorithm, depending
on the value of SELRQ:
1 = analog input channel 1 is selected
2 = analog input channel 2 is selected
3 = analog input channel 3 is selected
If SELRQ is set to 0, SELST is set to 1.
SPCLMP Setpoint Clamp is a configurable short integer that specifies the limits to
be used when clamping or limiting the Supervisory setpoint (SUP_IN),
and Remote setpoint (RSP).
0 = clamp using the measurement scale limits (HSCI1 and LSCI1)
1 = clamp using the setpoint limits (SPHLIM and SPLLIM)
2 = reject values outside of the setpoint limits (SPHLIM and SPLLIM).
SPHLIM Set-Point High Limit is a real input that specifies the upper limit for the
local setpoint value in engineering units.
SPLLAG Setpoint Compensator. Lead-to-Lag ratio is a real input parameter. Its
optimum value depends on the process type: 0.2 for a dominant lag pro-
cess, 1.0 for a dominant delay. It is adaptively set by FBTUNE.
SPLLIM Setpoint Low Limit is a real input that specifies the lower limit for the
local setpoint value in engineering units.
SPRAMP Setpoint Ramp state is a boolean input that enables or disables setpoint
ramping:
0 = disable setpoint ramping
1 = enable setpoint ramping
SPRATE Setpoint Ramp Rate is a positive real input that specifies ramping of the
setpoint to a new target value (SPTARG) by rate in engineering units per
minute or by time to target in minutes, depending on the value of
SPROPT.
0 = use normal selection based on REDOPT in ECB52 (see
REDOPT in ECB52 Parameter Definitions on page 722.
1 = select analog input channel 1 measurement, if healthy
(REDOPT = 1 or 2).
2 = select analog input channel 2 measurement, if healthy
(REDOPT = 1 or 2).
3 = select analog input channel 3 measurement, if healthy
(REDOPT = 2).
24. DPIDA Controller B0193AX Rev AB
717


SPROPT Setpoint Option is a configurable short integer input that specifies the set-
point ramping option:
If SPROPT = 1, the setpoint ramps to a new target value SPTARG at the
rate SPRATE, when the operator or a program starts the ramp by setting
SPRAMP to 1.
If SPROPT = 2, ramping stops whenever the block is in deviation alarm
and continued setpoint ramping would increase the deviation. If ramping
decreases deviation, ramping is not inhibited. When the measurement
catches up to the setpoint, reducing the deviation, setpoint ramping is
uninhibited and resumes.
If SPROPT = 3, the setpoint ramps to a new target value SPTARG during
the time period SPRATE, when the operator or a program starts the ramp
by setting SPRAMP to 1.
If SPROPT = 4, ramping stops whenever the block is in deviation alarm
and continued setpoint ramping would increase the deviation. If ramping
decreases deviation, ramping is not inhibited. When the measurement
catches up to the setpoint, reducing the deviation, setpoint ramping is
uninhibited and resumes.
If SPTARG is changed during ramping, the block continues to ramp at
the initial rate calculated for the SPRATE time.
SPRAMP is reset and ramping stops when the setpoint reaches the target
or when an operator makes a manual setpoint change.
SPT SetPoint is a real output that always represents the active controller set-
point that is compared with the MEAS input to produce the ERROR sig-
nal. LR determines the source of SPT.
When LR is set to Remote, RSP is the source of SPT, which is secured
(not settable). When LR is set to Local, the set value is the source of SPT,
which is unsecured (settable). When LR is set to Local, SPT retains the
last RSP value until you change SPT.
When using the controller in only the Local mode, configure SPT to the
value you want it to assume when the block is installed and initialized to
Local.
SPT can also source the setpoint value to other blocks.
While settable by default, SPT is nonsettable while setpoint tracking is
active. (See STRKOP.)
0 = no setpoint ramping.
1 = ramp using SPRATE as ramp rate (units/minutes).
2 = ramp using SPRATE as ramp rate; do not ramp on deviation
alarm.
3 = ramp using SPRATE as ramp time (minutes).
4 = ramp using SPRATE as ramp time; do not ramp on deviation
alarm.
B0193AX Rev AB 24. DPIDA Controller
718


SPTARG SetPoint Target is a real input that is the final value for a setpoint ramp in
engineering units. It must be set within the setpoint SPHLIM and
SPLLIM limits, otherwise SPRAMP is reset to 0 and no ramping occurs.
STATEB State of the Feedback adaptor is a short integer output. Its values are:
If a peak is not confirmed, later states may be bypassed.
STATEF State of the Feedforward adaptor is a short integer output. Its values are:
States 4, 5, and 6 are bypassed if an FBTUNE extension block is not
active on the DPIDA block.
STRKOP Setpoint Track Option is a short integer input. When active, STRKOP
enables the setpoint to track the measurement input under the following
conditions.
0 = no option enabled
1 = SPT parameter tracks the measurement input when the block is in
Manual, or the cascade is open downstream (Initialization input INITI is
true).
2 = SPT parameter tracks the measurement only when the block is in
Manual.
STRKOP is active only when the setpoint source selector LR is in Local.
-3 = Pretune
-2 = Off
-1 = Hold last tuning
0 = Quiet, waiting for new (isolated) response
1 = Locating and confirming peak 1
2 = Locating and confirming peak 2
3 = Locating and confirming peak 3
4 = Locating and confirming peak 4
5 = Wait
6 = Settle (a non-isolated response may trigger a new search from
this state)
-2 = Off
-1 = Hold last tuning
0 = Quiet, waiting for new disturbance
1 = Unmeasured disturbance (or non-isolated response)
2 = Measured disturbance
3 = Significant (isolated) response
4 = Confirmed response
5 = Wait
6 = Settle
24. DPIDA Controller B0193AX Rev AB
719


SPT is nonsettable while setpoint tracking is active. You can change
STRKOP only by reconfiguring the block.
SUPBCO Supervisory Back-Calculated Output is a real output that specifies the
value to be used by the Supervisory application to initialize its output to
the current setpoint. SUPBCO also contains the following status bits:
SUPBCO is not configurable and can only be accessed by an application
program.
SUPGRP Supervisory Group is a short integer input (1 to 8) that specifies one of
eight groups to which this block is assigned for Supervisory Control.
SUPOPT Supervisory Option is a configurable short integer input that specifies
whether or not this block is under control of a Supervisory Control appli-
cation:
0 = No Supervisory control
1 = Set Point Control (SPC) of the blocks set point (Supervisory setpoint
control (SSC))
2 = Direct Digital Control (DDC) of the block output (Supervisory
output control)
3 = SPC, with an implicit acknowledge by the CP
4 = DDC, with an implicit acknowledge by the CP
Be aware that options 1 and 2 require an explicit acknowledge by the
application software to close the supervisory cascade. This must be done
by setting the ACK status bit in the SUP_IN parameter using special OM
access functions.
SUP_IN Supervisory Input is a real output that is the parameter set by a Supervi-
sory application when performing supervisory control of this blocks set-
point. SUP_IN also contains a status bit (Bit 10) that must be set by the
supervisor to acknowledge a request to initialize (Bit 10 in SUPBCO).
TRACK Track is a real input that provides the input signal that the block output
(OUT) tracks when the block is in Auto and TRKENL is set to 1.
TRKENL Track Enable is a boolean input that enables the block output to follow
the TRACK input.
0 = disable tracking
1 = enable tracking
Status Meaning
Bit 10 = 1 Initialize SUP_IN
Bit 13 = 1 SUP_IN is limited high
Bit 14 = 1 SUP_IN is limited low
Bit 13 = 1 and Bit 14 =1 Supervisory cascade is open
B0193AX Rev AB 24. DPIDA Controller
720


TYPE Type is a system-level mnemonic label indicating the block type. Enter
DPIDA or select DPIDA from the block type list under Show when
configuring the block.
UNACK Unacknowledge is a boolean output that the block sets to true when it
detects an alarm. It is typically reset by operator action.
24. DPIDA Controller B0193AX Rev AB
721


24.5 ECB52 Parameters
The ECB52 block parameters and their attributes are listed in Table 24-2. These parameters are
defined in ECB52 Parameter Definitions on page 722.

Table 24-2. ECB52 Parameters
Name Description Type Accessibility Default Units/Range
Configured Parameters - INPUTS
ATC air-to-close bool no-con/no-set 0 ---
CHAREN characterize enable boolean no-con/no-set 0 0 to 1
CYCTIM FBM cycle time short no-con/set 0 0, 2 to 10
DESCRP block descriptor string no-con/no-set 2 blanks 1 to 32 chars
DEV_ID FBM Letterbug char[6] no-con/no-set 1 blank 6 characters
FLTOPT filter option short no-con/set 0 0 to 1
FLTTIM filter time short no-con/set 0 0 to CYCTIM
FS5DPD failsafe value integer no-con/no-set 0 0 to 64000
FSDLAY failsafe delay long no-con/no-set 1000 10 ms units
FSENAB failsafe enable short no-con/no-set 0 0 to 1
FSMMPD failsafe mask main short no-con/no-set 0 0 to 255
FSOPT failsafe option short no-con/no-set 0 0 to 4
HMSCAL high meas scale integer no-con/no-set 64000 0 to 64000
HORVAL hi out-of-range val integer no-con/no-set 64000 0 to 64000
HOSCAL high output scale integer no-con/no-set 64000 0 to 64000
HWTYPE hardware type short no-con/no-set 0 4, 17, or 22
INVDFI invert device fail boolean no-con/no-set 0 0 to 1
LMSCAL low meas scale integer no-con/no-set 0 0 to 64000
LORVAL lo out-of-range val integer no-con/no-set 0 0 to 64000
LOSCAL low output scale integer no-con/no-set 0 0 to 64000
NAME block name string no-con/no-set 2 blanks 1 to 32 chars
NUMPTS number charac pts short no-con/no-set 2 2 t0 9
OORENB out-of-range enable boolean no-con/no-set 0 0 to 1
PERIOD block sample time short no-con/no-set 1 0 to 9
PHASE block execute phase integer no-con/no-set 0 see param def
PNLOPT panel option boolean no-con/set 0 0 to 1
REDOPT redundancy option short no-con/no-set 0 0 to 2
SQRENB square root enable boolean no-con/no-set 0 0 to 1
SWTYPE software type short no-con/no-set 0 52
TYPE block type integer no-con/no-set 254 ---
X_1PD to X_9PD x1 to x9 coordinates integer no-con/no-set --- 0 to 4000
Y_1PD to Y_9PD y1 to y9 coordinates integer no-con/no-set --- 0 to 4000
Non-Configured Parameters - OUTPUTS
ACHNGE a change integer con/no-set 0 -32768 to 32767
ECBSTA ECB status pack_l con/no-set 0x00...0 0 to 0xFFFFFFFF
DATA STORES
ACTION equip act request pack_b no-con/set 9 0 to 100
BUSWDS bus switch disable short no-con/no-set 0 0 to 1
B0193AX Rev AB 24. DPIDA Controller
722


24.5.1 ECB52 Parameter Definitions
ACHNGE Alternate Change is an integer output that is incremented each time a set-
table parameter is changed externally. It wraps around from 32767 to
-32768.
ACTION Equipment Change Action is a 16-bit, packed boolean, data store that is a
request from the Station Manager to perform an action related to a partic-
ular FBM:
NOTE
Do not set ACTION with an application program.
CYCLE actual cycle time short no-con/no-set 0 0, 2 to 10
DEFINE no config errors boolean no-con/no-set 1 0 to 1
ERCODE configuration error string no-con/no-set 2 blanks 1 to 43 chars
FSAFE failsafe mask pack_l no-con/no-set 0x00...0 0 to 0xFFFFFFFF
HWREV hardware revision char[2] no-con/no-set 2 blanks 0 to 2 chars
NR_INP # of inputs short no-con/no-set 0 ---
NR_OUT # of outputs short no-con/no-set 0 ---
LADDR logical address short no-con/no-set 255 0 to 255
OF_INP offset of input integer no-con/no-set 0 ---
OF_OUT offset of outs integer no-con/no-set 0 ---
OPSTAT operational status short no-con/no-set 8 0 to 255
OUOM01 out message index0 short no-con/no-set 78 0 to 255
SWREV software revision char[12] no-con/no-set 1 blank 0 to 12 chars
Table 24-2. ECB52 Parameters (Continued)
Name Description Type Accessibility Default Units/Range
Bit Number
(0 to 15) Description When True
Boolean Connection
(B16 to B1)
0 ON_LINE ACTION.B16
1 OFF_LINE ACTION.B15
2 RUN_DIAG ACTION.B14
3 DOWNLOAD ACTION.B13
4 CALIB1 # ACTION.B12
5 CALIB2 # ACTION.B11
6 UNDECLAR_ECB ACTION.B10
* Bit 0 is the least significant, low order bit.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
24. DPIDA Controller B0193AX Rev AB
723


ATC Air-To-Close is a boolean input that specifies reversing the controller out-
put for use with air-to-close valves. If ATC is set true, the span of the FBM
analog output is reversed. For example, a 100% output drives 0 V dc or
4 mA, while a 0% output drives 10 V dc or 20 mA. Inversion does not
effect the OUT and BCALCO parameters.
BUSWDS Bus Switch Disable is a boolean input that enables or disables FBM port
switching:
0 = Enable port switching
1 = Disable port switching
CHAREN Characterizer Enable is a boolean input that enables or disables FBM
characterization of the selected measurement input using a 9-point charac-
terizer.
0 = Disable characterization
1 = Enable characterization
CYCLE Cycle is a short integer input that represents the actual cycle time that the
controller is using, expressed in CYCTIM values. If FBM processor load-
ing is greater than the configured CYCTIM allows, the controller adap-
tively selects a slower CYCTIM value that allows it to handle the load.
CYCTIM Cycle Time is a short integer that specifies the cycle time of the controller
algorithm in 5 ms increments as follows:
Processor power limits the options usable at fast cycles. If the cycle time is
too fast for the configured options, the FBM adaptively selects a slower
CYCTIM value that allows it to handle processor loading. 10ms cycle
times are possible only for nonredundant measurement inputs without
characterizer or square root conditioning. 15ms cycles can support input
signal conditioning or redundancy but not both.
NOTE
As the controller cycle time is reduced, the precision of the analog conversion is
reduced. See the FLTOP and FLTTIM parameter descriptions.
DEFINE Define is a boolean data store. When true, it indicates that the block has
no configuration errors. It is the inverse of UDEF in parameter BLKSTA.
When the block initializes, DEFINE is set to 0 (undefined) if the block
Value Time (ms) Value Time (ms)
0 (default) 50 6 30
2 10 7 35
3 15 8 40
4 20 9 45
5 25 10 50
B0193AX Rev AB 24. DPIDA Controller
724


detects a parameter configuration error. To return DEFINE to a true state,
correct all configuration errors and reinstall the block.
DESCRP Descriptor is a user-defined string of up to 32 characters that describes the
blocks function (for example, COMPRESSOR 3 SURGE CONTROL).
DEV_ID Device Identifier is a character array that specifies the 6-character letter-
bug identifier of the connected FBM.
ECBSTA ECB Status is a 32-bit output, bit-mapped to indicate various block oper-
ational states. For the ECB52 block, the following bits are used:
ERCODE Error Code is a string data store that indicates the type of configuration
error that caused the blocks DEFINE parameter to be set false. Validation
of configuration errors does not proceed past the first error encountered
by the block logic.
FLTOPT Filter Option is a short integer input that specifies the number of sam-
pling windows for analog conversion averaging:
FLTTIM Filter Time is a short integer input that specifies the sampling window in 5
ms increments from 1 to the value of CYCTIM. The default value of 0
sets the sampling window equal to the controller cycle time. This is the
optimal setting for almost all cases:
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
Bit Number
(0 to 31) Description When True
Boolean Connection
(B32 to B1)
0 ECB is on-scan ECBSTA.B32
1 Device is shutdown ECBSTA.B31
8 Device is not ready ECBSTA.B24
9 Communications failed ECBSTA.B23
14 ECB is undefined ECBSTA.B18
15 ECB is on ECBSTA.B17
0 = average over two sampling windows to provide anti-alias
filtering (default)
1 = average over one sampling window
Value Time (ms) Value Time (ms)
0 (default) CYCTIM 6 30
1 5 7 35
24. DPIDA Controller B0193AX Rev AB
725


FS5DPD Failsafe Channel 5 Data is an integer input that specifies the fallback value
for the controller output. The value represents the D/A raw count value
and must be related to the intended signal conditioning. For example, if
this output is going to a 4 to 20 ma device (raw count range: 12800 to
64000), then FS5DPD must be within that range.
FSAFE Failsafe Map is a 32-bit data store that is bit-mapped to maintain the Fail-
safe state of each output channel related to the ECB. All bits are set by the
PIO/ECB interface when the FBM undergoes Failsafe at the module level.
FSDLAY Failsafe Delay is a long integer input timer. When enabled by FSENAB, it
specifies (in units of 0.01 seconds), the length of time the FBM waits for a
communication from the CP before entering a Communications Failure
(or software) Failsafe state. This state asserts the output values specified by
the Failsafe configuration. PIO security commands (for example, heart-
beat, read-device status) do not reset this timer.
For example, the default value of 1000 causes the FBM to wait 10 seconds
between CP communications before going to the Failsafe state, if
FSENAB is configured true.
FSENAB Failsafe Timer Enable is a boolean input that enables the FSDLAY timer.
When the FSDLAY timer expires while the FBM is waiting for a commu-
nication from the CP (Communications Failure), the FBM enters the
Failsafe state and takes the action specified by FSOPT.
0 = Disable FSDLAY timer
1 = Enable FSDLAY timer
If communications fail with FSENAB set false, the FBM does not enter
Failsafe for this reason. Setting FSENAB false does not prevent the FBM
from going to Failsafe for other reasons, such as:
+ FBM reboot
+ EEPROM update
+ FBM taken off-line from the System Management Displays
+ Power failure
+ FBM restart
2 10 8 40
3 15 9 45
4 20 10 50
5 25
Value Time (ms) Value Time (ms)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
B0193AX Rev AB 24. DPIDA Controller
726


FSMMPD Failsafe Mask Main for ECB Type 52 is a short integer input that specifies
the Failsafe action taken during FBM Failsafe mode for the analog and
digital outputs.
0 = fallback value
1 = Hold
FSOPT Failsafe Option specifies the action to be taken by the controller when a
Communications Failure occurs with FSENAB set true while the control-
ler is in Auto or Hold:
Upon Failsafe recovery from Hold, the controller goes to Auto.
0 = No mode change; control to last setpoint
1 = Go to Hold
2 = Go to Hold with output set Failsafe
3 = Go to Manual
4 = Go to Manual with output set Failsafe
Upon Failsafe recovery from Manual, the controller stays in Manual.
HMSCAL High Measurement Scale is an integer input (0 to 64000) that specifies the
FBM count value (default = 64000) that represents a measurement value
of 100.0%.
HORVAL High Out-of-Range Value is an integer input that specifies the high limit
in counts for range checking of the FBM measurement inputs MEASn
configured by REDOPT. If OORENB is set true and a measurement is
greater than this limit, its status is set Bad.
HOSCAL High Output Scale is an integer input (0 to 64000) that specifies the FBM
count value (default = 64000) that represents an output value of 100.0%.
HWREV Hardware Revision is the revision level of the FBM type that connects to
this ECB. Once HWREV is set, it cannot be edited via the Integrated
Control Configurator.
HWTYPE Hardware Type is the type of FBM that connects to this ECB. Once
HWTYPE is set, it cannot be edited via the Integrated Control
Configurator.
INVDFI Invert Device Fail option is a boolean input that specifies inversion of the
Device Fail input (Channel 10) in an FBM17/FBM227 to determine the
fail state of the field device:
0 = No inversion
1 = Invert
LADDR Logical Address of an FBM is a short integer data store parameter.
LMSCAL Low Measurement Scale is an integer input (0 to 64000) that specifies the
FBM count value (default = 0) that represents a measurement value of
0.0%.
24. DPIDA Controller B0193AX Rev AB
727


LORVAL Low-Out-of-Range Value is an integer input that specifies the low limit
for range checking of the FBM measurement inputs MEASn configured
by REDOPT. If OORENB is set true and a measurement is less than this
limit, its status is set Bad.
LOSCAL Low Output Scale is an integer input (0 to 64000) that specifies the FBM
count value (default = 0) that represents an output value of 0.0%.
NAME Name is a user-defined string of up to 12 characters used to access the
block and its parameters.
NUMPTS Number of Points is a short integer input (2 to 9) that specifies the num-
ber of X, Y coordinates (default= 2) for characterizing the selected mea-
surement.
OORENB Out-of-Range Enable is a boolean input. When true, OORENB specifies
checking of the FBM measurement inputs MEASn for range violations
using parameters HORVAL and LORVAL. The FBM checks all measure-
ment inputs configured by REDOPT.
OPSTAT Module Operational Status is a short integer data store that indicates the
following FBM operational status:
OUOM01 Output Message Index 0 is a short integer data store that specifies the off-
set in the ECB buffer of the output message from the CP to the FBM.
PERIOD Period is an indexed input that dictates the ECB52 input scan period and
allowable PHASE values. Use the same PERIOD and PHASE values for
the ECB52 and DPIDA blocks. PERIOD values range from 0 to 13 and
map to the following period time lengths:
Value Definition
0 Device failed
1 Communications failed
2 Ride through
3 Go maintenance off
4 Go ECB off
5 Going on
6 Module OK
7 Maintenance off
8 ECB off
Period Length Period Length
0 0.1 sec 7 10 min
1 0.5 sec* 8 60 min
2 1.0 sec 9 0.2 sec
B0193AX Rev AB 24. DPIDA Controller
728


*
If the BPC is 0.2 sec., this period is treated internally as 0.6 sec., but the
PERIOD parameter remains 1.
** If the BPC is 2.0 sec., this period is treated internally as 6.0 sec., but the
PERIOD parameter remains 10.
*** If the BPC is 0.5 sec., this period is treated internally as 0.5 sec., but
the PERIOD parameter remains 11.
**** If the BPC is not 2.0 sec., this period is treated internally as 5.0 sec.,
but the PERIOD parameter remains 12.
***** Available in CP40, CP40B, CP60 and later control processors
PHASE Phase is an integer input that causes the block to execute at a specific BPC
within the time determined by the PERIOD. For a CP with a BPC of
0.5 s and a PERIOD of 2.0 s, the legal PHASE values are 0, 1, 2, and 3.
Use the same PERIOD and PHASE values for the ECB52 and DPIDA
blocks. Refer to the appropriate Integrated Control Software Concepts docu-
ment (B0700AG or B0193AW).
PNLOPT Panel Option is a boolean input that specifies the use of the local opera-
tors panel (Foxboro Deutschland) for manual operation of the controller
output in an FBM17/FBM227.
0 = No panel
1 = Panel
QALSTA Quality Status parameter (QALSTA) is a non-configurable packed long
that provides a combination of value record status, block status
(BLKSTA), and alarm status (ALMSTA) information in a single connect-
able output parameter. Available bits for this block are provided below.
3 2.0 sec 10 5.0 sec**
4 10 sec 11 0.6 sec***
5 30 sec 12 6.0 sec****
6 1 min 13 0.05 sec*****
Period Length Period Length
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
Bit
Number
1
Definition Contents
Boolean Connection
(B32 to B1)
30 Alarms Unacknowledged ALMSTA.UNA QALSTA.B2
24. DPIDA Controller B0193AX Rev AB
729


REDOPT Redundancy Option is a short integer input that specifies redundant mea-
surement inputs MEASn for FBM04/FBM204 and FBM17/FBM227:
0 = no redundancy (default; channel 1 only)
1 = dual redundancy (channels 1 and 2); also sets BLKSTA.B11 (RED) in
the DPIDA block
2 = triple redundancy (channels 1, 2 and 3); also sets BLKSTA.B28
(RED2) in the DPIDA block
The REDOPT parameter (in ECB52) is used in conjunction with
BLKSTA.B11 (RED) and BLKSTA.B28 (RED2) to control the condi-
tional display of the three possible measurements of the DPIDA. The first
measurement is always on the display. The second and third measure-
ments can be added as well; the second measurement must be shown in
order for the third measurement to be displayed.
When REDOPT=1 (in ECB52), BLKSTA.B11 (RED) is set to 1 to
display the second measurement.
When REDOPT=2 (in ECB52), BLKSTA.B28 (RED2) is set to 1 to
display the third measurement. Since the second measurement must be
displayed in order to display the third measurement, BLKSTA.B11 (RED)
must have already been set to 1 before BLKSTA.B28 (RED2) is set to 1.
SQRENB Square Root Enable is a boolean input that enables or disables application
of the square root function to the scaled measurement.
0 = Disable (default)
1 = Enable
29 Alarms Inhibited ALMSTA.INH QALSTA.B3
25 High-High Absolute Alarm ALMSTA.HHA QALSTA.B7
24 Low-Low Absolute Alarm ALMSTA.LLA QALSTA.B8
21 High Deviation Alarm ALMSTA.HDA QALSTA.B11
20 Low Deviation Alarm ALMSTA.LDA QALSTA.B12
19 High Output Alarm ALMSTA.HOA QALSTA.B13
18 Low Output Alarm ALMSTA.LOA QALSTA.B14
17 High Absolute Alarm ALMSTA.HMA QALSTA.B15
16 Low Absolute Alarm ALMSTA.LMA QALSTA.B16
5 Manual BLKSTA.MA QALSTA.B27
4 Low Limited MEAS.LLO status QALSTA.B28
3 High Limited MEAS.LHI status QALSTA.B29
2 Uncertain MEAS.ERR status QALSTA.B30
1 Out-of-Service MEAS.OOS status QALSTA.B31
0 Bad MEAS.BAD status QALSTA.B32
1.
Bit 0 is the least significant, low order bit.
Bit
Number
1
Definition Contents
Boolean Connection
(B32 to B1)
B0193AX Rev AB 24. DPIDA Controller
730


SWREV Software Revision is the revision level of the FBM software type ECB52.
Once SWREV is set, it cannot be edited via the Integrated Control Con-
figurator.
SWTYPE Software Type is the ECB52 type. Once SWTYPE is set, it cannot be
edited via the Integrated Control Configurator.
TYPE Type is a system-level mnemonic label indicating the block type. Enter
ECB52 or select ECB52 from the block type list under Show when con-
figuring the block.
X_1PD to X_9PD Integer input coordinate values for an 8-segment characterizer that condi-
tions the selected measurement when CHAREN is set true. The values
range from 0 to 4000 counts representing 0 to 100%. They must be
monotonically increasing.
Y_1PD to Y_9PD Integer output coordinate values of an 8-segment characterizer that condi-
tions the selected measurement when CHAREN is set true. They are
required to be monotonically increasing. The values range from 0 to 4000
counts representing 0 to 100%. They must be monotonically increasing.
24.6 Functions
24.6.1 Detailed Functional Diagram
Figure 24-2 is a detailed functional diagram for the DPIDA Controller. Functions performed by
the FBM are not shaded in Figure 24-2. Functions performed by the DPIDA shadow block in the
CP are shaded in Figure 24-2.
24.6.2 DPIDA Detailed Operation
The controller provides P, I, PI, PD, PID, and NIPID control modes. The following controller
tuning parameters are set by you or adaptively tuned by the FBTUNE block (see the FBTUNE
Block Description for details):
+ Proportional band (PBAND)
+ Integral time (INT)
+ Derivative time (DERIV)
+ Derivative gain (KD)
+ Set-point-compensation lead/lag ratio (SPLLAG).
The FFTUNE block provides adaptive feedforward control by compensating the multiplicative
input (MULTIN) or BIAS input (see the FFTUNE Block Description for details).
The FBM reads the measurement and changes the output using the setpoint and other informa-
tion provided by the CP.
The setpoint sources are prioritized as follows:
1. Supervisory enable (SE) when SUPOPT is 1 or 3
2. Local switch (LOCSW)
24. DPIDA Controller B0193AX Rev AB
731


3. Remote switch (REMSW)
4. Local setpoint (LOCSP)
5. Local or Remote (LR).
B0193AX Rev AB 24. DPIDA Controller
732


Figure 24-2. PIDA Controller Detailed Functional Diagram
+
++
x
+
+ +
_
_
D
d
c
f
t
d
-
-
-
-
-
-
--

1
0
0
P
-
-
-
-
-
-
-
-
--
e
g

.
f
b
r
L
a
g
:

















I
d
y
d
t
-
-
-
-
-
-
y
x
i
n
p
u
t
=
=
+

y
1
I
-
--
x
t
(
)
y
t
(
)

(
)
t
d
y
0
o
u
t
p
u
t
=
+
}
=
A
r
r
f
e
c
f
c
d
e
p
m
m
f
m
b
f
b
b
f
b
b

f
r
f
b
b
f
r

f
b
b
e
g
m
s
m
l
.
i
A
t
1
.
0
r
r
f
c
S
P
R
O
P
T
,

S
P
T
A
R
G
,
S
P
R
A
M
P
,

S
P
R
A
T
E
L
R
,

L
O
C
S
P
,

L
O
C
S
W
,

R
E
M
S
W
,

S
T
R
K
O
P
L
o
c
a
l
R
e
m
o
t
eT
r
a
c
k
E
n
a
b
l
e
D
i
s
a
b
l
e
S
P
T
R
a
m
p
S
c
a
l
e
,

L
i
m
i
t
S
c
a
l
e
,

L
i
m
i
t
S
c
a
l
e
,

L
i
m
i
t
G
a
i
n

C
o
m
p
e
n
s
a
t
o
r
D
P
I
D
A
A
d
d
M
u
l
t
S
c
a
l
e
F
F
T
U
N
E
b
l
o
c
k

l
i
n
k
e
d
S
U
P
O
P
T
,
S
E
H
Z
O
N
E
,

L
Z
O
N
E
,
K
Z
O
N
E
,

N
O
N
L
O
P
H
S
C
I
N
,
L
S
C
I
N
M
a
n
u
a
l
M
U
L
T
I
N
B
I
A
S
K
B
I
A
S
,

B
B
I
A
S
S
c
a
l
e
L
o
c
a
l

P
a
n
e
l

R
a
m
p
M
A
A
u
t
o
H
o
l
dT
r
a
c
k
L
i
m
i
t
S
c
a
l
e
H
O
S
C
A
L
L
O
S
C
A
L
L
a
g
F
B
M
U
s
i
n
g

E
C
B
5
2
C
h
a
r
a
c
t
e
r
i
z
e
L
i
n
e
a
r
i
z
e
S
c
a
l
e
B
u
t
t
e
r
w
o
r
t
h
F
i
l
t
e
r
R
E
D
O
P
T
L
M
S
C
A
L
H
M
S
C
A
L
S
Q
R
E
N
B
N
i
n
e

X
,

Y
V
a
l
u
e
s
C
H
A
R
E
N
P
B
A
N
D
*
I
N
T
*
M
E
A
S
B
C
A
L
C
O
H
O
L
I
M
,

L
O
L
I
M
C
l
a
m
p
H
S
C
O
1
,

L
S
C
O
1
M
A
,
M
C
O
P
T
Y
e
s
T
R
A
C
K
H
O
L
D
,

T
R
K
E
N
L
M
O
D
O
P
T
M
A
,

M
B
A
D
O
P
,
M
A
N
S
W
,

A
U
T
S
W
B
A
O
B
a
d

I
/
O
D
e
t
e
c
t
i
o
n
O
S
V
O
S
V
N
o
B
A
D
O
U
T
S
c
a
l
e
C
o
n
t
r
o
l

O
u
t
p
u
t
O
U
T
2
*
F
r
o
m

F
B
T
U
N
E

b
l
o
c
k
,

i
f

c
o
n
n
e
c
t
e
d
m
e
a
s
3
m
e
a
s
2
m
e
a
s
1
S
E
L
R
Q
K
D
*
D
E
R
I
V
*
M
O
D
O
P
T
S
P
L
L
A
G
*
S
U
P
_
I
N
R
S
P
S
P
T H
S
C
I
1
,

L
S
C
I
1
,

S
P
H
L
I
M
,

S
P
L
L
I
M
,

S
P
C
L
M
P
24. DPIDA Controller B0193AX Rev AB
733


If supervisory option (SUPOPT) is 1 or 3 and supervisory enable (SE) is true, the controller uses
the supervisory setpoint (SUP_IN) for calculating the controller output (see Figure 24-2). For
more information, refer to Setpoint Processing on page 744 and the Supervisory Setpoint Control
(SSC) (B0193RY) document.
If SUPOPT is 0, the LR setpoint source selector, together with the two overrides, LOCSW and
REMSW, determines the setpoint source at any time. In Local, you can ramp the setpoint from
the Block Detail display.
When STRKOP = 1 or 2 while SUPOPT is 0 and LR is false, the local setpoint (SPT) tracks the
measurement when the block reinitializes or initializes with a local setpoint. This allows bumpless
return to automatic control when the controller returns to closed-loop operation.
The controller provides the MANSW and AUTSW override inputs to force the controller to the
Manual or Auto state. In Manual, you can ramp the controller output from the Block Detail dis-
play or A/M station.
When TRKENL is true, the output tracks an independent signal source (TRACK).
The DPIDA block in the CP operates in conjunction with the control algorithm in the FBM to
support tuning, scaling and alarming functions (see Figure 24-2). The block provides:
+ Absolute and deviation alarming of the measurement (see Figure 24-4)
+ Absolute alarming of the controller output
+ Bad I/O alarming.
FBM variables used in Figure 24-2 and the following sections to described controller operations
are listed in Figure 24-3.
Table 24-3. FBM Variables
Variable Description
A Setpoint lead/lag ratio (SPLLAG)
b b = KBIAS (BIAS + BBIAS)
c Controlled variable selected measurement
c
f
Butterworth filtered measurement
c
d
Derivative filtered c
f
c
i
Integral filtered c
d
D Derivative time (DERIV)
e Control error
e
g
Nonlinear gain adjusted e
e
p
Proportional filtered e
g
f
r
Scaled MULTIN
f
b
Feedback from controller output
f
bb
f
bb
= f
b
- b
f
br
f
br
= f
bb
- f
r
I Integral time (INT)
K
D
Derivative gain (KD)
K
z
Zone gain for nonlinear gain
B0193AX Rev AB 24. DPIDA Controller
734


24.6.2.1 Control Modes
The DPIDA controller performs most of the functions of the PID and PIDX blocks as well as
additional functions. The DPIDA can be configured with the following values of mode option
(MODOPT) to perform a variety of control algorithms:
1 = Proportional (P)
2 = Integral (I)
3 = Proportional-plus-Derivative (PD)
4 = Proportional-plus-Integral (PI)
5 = Proportional-plus-Integral-plus-Derivative (PID)
6 = Non-Interactive PID (NIPID).
The first five modes are the same as those of the PID and PIDX blocks, except that those having
proportional and integral action also have a setpoint lead-lag compensator. The P and PI modes
are the same as the PD and PID modes except the derivative time is set to 0.
The setpoint compensator allows the amount of proportional action applied to the setpoint to be
less than that applied to the measurement (see Figure 24-2). This enables the controller to be
tuned for both good load rejection and non-overshooting setpoint response simultaneously.
When the setpoint lead/lag ratio (SPLLAG) = 1, the controller behaves like the PID or PIDX,
applying the proportional term to the control error. This choice is best for a dominant deadtime
process. When SPLLAG = 0, no proportional term is applied to the setpoint. A value of 0.2 is best
for a dominant lag process. SPLLAG is adaptively tuned by the FBTUNE block.
m Manipulated variable
m
f
m
f
= m - f
r

m
b
m
b
= m
f
+ b
m
l
Limited m
b

m
s
m
s
= 6400 - (m
l
- LOSCAL / HOSCAL - LOSCAL)
meas1 Measurement 1
meas2 Measurement 2
meas3 Measurement 3
P Proportional band (PBAND)
r Selected setpoint
r
f
Compensated setpoint
t Time constant
x Lag input
y Lag output
Table 24-3. FBM Variables (Continued)
Variable Description
24. DPIDA Controller B0193AX Rev AB
735


The controller algorithms can be expressed using the differential operator (s = d()/dt) as follows
(see Table 24-3 for variable definitions):
+ Proportional only (P):
+ Integral only (I):
+ Proportional and derivative (PD):
+ Proportional and integral (PI):
+ Proportional, integral, and derivative (PID):
+ Non-interacting PID (NIPID):
+ In the above expressions:
m
b
100
P
---------
r c
f
( )f
r
b
t 0 =
+ =
m
b
d
1
Is
----
r c
f
( )f
r
b
t 0 =
+ =
m
b
100
P
---------
r ( 1 Ds + ( )c
f
)f
r
b +
t
D
K
D
------- =
=
m
b
100
P
---------
1
Is
---- A +
\ .
| |
r
1
Is
---- 1 +
\ .
| |
c
f

\ .
| |
f
r
b
t 0 =
+ =
m
b
100
P
---------
1
Is
---- A +
\ .
| |
r
1
Is
---- 1 +
\ .
| |
1 Ds + ( )c
f

\ .
| |
f
r
b +
1
t
---
1
I
---
1
D
---- +
\ .
| |
K
D
=
=
m
b
100
P
---------
1
Is
---- A +
\ .
| |
r
1
Is
---- 1 Ds + +
\ .
| |
c
f

\ .
| |
f
r
b +
t
D
K
D
------- =
=
c
f
c
1 ts 0.5 ts ( )
2
+ +
------------------------------------------- =
B0193AX Rev AB 24. DPIDA Controller
736


The controller algorithms can also be expressed in the time domain as follows:
+ Proportional only (P):
+ Integral only (I):
+ Proportional and derivative (PD):
+ Proportional and integral (PI):
+ Proportional, integral, and derivative (PID):
+ Non-interacting PID (NIPID):
+ In the above expressions:
m
b
100
P
---------
r c
f
( )f
r
b + =
m
b
1
I
---
r c
f
( ) t d
0
t
}
\ .
| |
f
r
b + =
m
b
100
P
---------
r c
f
D
dc
f
dt
-------
+
\ .
| |

\ .
| |
f
r
b +
t
D
K
D
------- =
=
m
b
100
P
---------
1
I
---
r c
f
( ) t d
0
t
}
Ar c +
\ .
| |
f
r
b + =
m
b
100
P
---------
1
I
---
r c
f
( ) t d
0
t
}
Ar 1
D
I
---- +
\ .
| |
c
f
D
c
f
d
t d
-------
+
\ .
| |
f
r
b +
1
t
---
1
I
---
1
D
---- +
\ .
| |
K
D
=
=
m
b
100
P
---------
1
I
---
r c
f
( ) t d
0
t
}
Ar c
f
D
c
f
d
t d
-------
+
\ .
| |
f
r
b +
t
D
K
D
------- =
=
c
f
t
c
f
d
t d
-------
-
t
2
2
-----
t
2
2
d
d c
f
- + + c =
24. DPIDA Controller B0193AX Rev AB
737


NOTE
The above expression for c
f
can also be expressed as two simultaneous integral equa-
tions, but the above expression more clearly shows the effect of t on c
f
.
The sign of the deviation (c
f
- r) signal is opposite that of the error (r - c). Scaling for engineering
units and normalized FBM counts and provision for sign reversal (INCOPT) is not shown in the
above simplified mathematical representations.
NIPID action introduces the capability of tuning to achieve complex (underdamped) numerator
roots. This capability is needed in order to achieve best performance when the process has two
dominant lags.
The DPIDA supports multiplicative and additive feedforward compensation, and local setpoint
ramping and limiting. Using extender blocks, the PIDA controller can accommodate self tuning
of feedback (FBTUNE) and feedforward (FFTUNE) parameters.
The measurement filter response is shown in Figure 24-5. The setpoint gain compensation
response is shown in Figure 24-7.
Table 24-4 summarizes the filtering and tuning features for these control modes.
24.6.2.2 Manual State
DPIDA Key Parameters: MA, MCLOPT
In Manual (MA = 0), the controller does not perform PID control and the controller output is
settable. In Manual, the controller does not adjust OUT2, the back-calculated indication of the
internal controller output expressed in percent.
During a transition to Manual while MANALM is false, the controller clears all alarm and limit
indicators. If the manual clamp option MCLOPT is true, the controller limits any value sets of
the output parameter.
The MA parameter allows an operator, another block, or a supervisory program to switch between
the Manual and Auto states. Transfer to Auto is bumpless (see Bumpless Start-up and Transfers
on page 739).
When MA is toggled, its status is immediately displayed on the faceplate of the Block Detail Dis-
play.
Table 24-4. Control Mode Filtering and Tuning Features
Feature
Control Mode
P I PD PI PID NIPID
Measurement filtering X X X
Setpoint compensation X X X
Nonlinear gain X X X X X X
Multiplicative input MULTIN X X X X X X
Bias input BIAS X X X X X X
FFTUNE feedforward tuning X X X
FBTUNE feedback tuning X X X
B0193AX Rev AB 24. DPIDA Controller
738


24.6.2.3 Auto State
DPIDA Key Parameters: INT, MA, OUT, SELRQ
In Auto (MA = 1), the controller performs the appropriate mode of control. Closed loop auto-
matic control is actually performed in the substate of Auto called Controlling. In this state, the
controller computes the output command signal in response to the setpoint (r) and measurement
(c
f
), according to the configured controller mode. The controller generates integral control action
using the integral-feedback signal (f
b
) that is back calculated (f
br
) and fed through a first-order lag
in a positive feedback arrangement. The integral (INT) setting establishes the time constant of the
lag. f
b
is tied to the controller output (OUT).
In Auto, the controller uses either the measurement signal selected by the FBM or the signal
selected by the operator via SELRQ (see Measurement Processing on page 756).
If all measurement inputs are bad, the MEAS.BAD status is set true and the controller automati-
cally transitions to Hold or Manual, depending on the MBADOP and CEOPT settings, and
holds the control output at the last good value.
24.6.2.4 Manual/Auto Overrides
DPIDA Key Parameters: AUTSW, CEOPT, INITMA, MA, MANSW, MBADOP
Since it is possible to set the parameters which invoke these block states simultaneously, certain
states have priority over other states for execution. If multiple block states are set, states with
higher priority will override those with lower priority as listed below.
The priority of the Manual/Auto overrides is as follows when MA is unlinked, with 1 being the
highest priority:
1. MBADOP and MANSW have equal priority
2. AUTSW
3. INITMA
4. MA
5. HOLD
6. CEOPT
7. TRKENL.
If MBADOP = 1 or 2 and the MA parameter is unlinked, the controller sets the MA input to
Manual and secures it when the MEAS.BAD or MEAS.OOS status bit is true. This forces the
output state to Manual as long as one or both of these bits is true. After the BAD or OOS status
clears, returning to Auto requires external intervention unless AUTSW is true.
MBADOP has the same priority as the MANSW override, and it has precedence over the
AUTSW override. If MBADOP = 1 or 2 and a BAD or OOS status is detected while MA is
unlinked, the controller goes to Manual regardless of the AUTSW setting.
If MANSW is true, it drives the controller to Manual by setting MA to false and securing it.
MANSW has priority over AUTSW. If both MANSW and AUTSW are true, the controller goes
to Manual.
If AUTSW is true, it drives the controller to Auto by setting MA to true and securing it.
CEOPT enables implicit control error handling of HOLD, STRKOP, and MBADOP. When
CEOPT is enabled, a control error is detected if the MEAS input has a status such as OOS, BAD,
or off-scan. If MBADOP = 1 or 2, a control error forces the controller to Manual. If MDADOP
24. DPIDA Controller B0193AX Rev AB
739


is set false, a control error forces the controller to Hold if MA is set to Auto, and it disables set-
point tracking if SPTRKOP is set true.
If CEOPT is not enabled, then control error detection is not performed, and MBADOP, HOLD,
and SPTRK handling is performed explicitly by asserting the HOLD input.
24.6.2.5 Holding State
DPIDA Key Parameters: HOLD, MBADOP
ECB52 Key Parameter: FSOPT
If the HOLD input is set to 1 while controlling in Auto, the controller stops the control calcula-
tion and holds the output at the last good value. If the controller experiences an open loop condi-
tion, it automatically transitions to Hold or Manual to prevent integral windup depending on
MBADOP and FSOPT. Transfer back to Auto is bumpless (see Bumpless Start-up and Trans-
fers on page 739).
24.6.2.6 PRIBLK and PRITIM Functionality
DPIDA Key Parameters: MEAS, PRIBLK, PRITIM
The Primary Block (PRIBLK) parameter indicates whether the DPIDA block has a connection
from an upstream block (PRIBLK=1) or not (PRIBLK=0). Its value, together with that of the
Primary Cascade Timer (PRITIM), determines whether the DPIDA block remains in Hold for a
fixed time delay (of length defined by PRITIM), or ends the Hold when the Acknowledge status
bit (Bit 10) of MEAS is detected from the upstream block (if PRITIM = 0.0). During initializa-
tion, the acknowledgement is not required and a Hold of one cycle only occurs.
24.6.2.7 Output Tracking State
DPIDA Key Parameters: OUT, TRACK, TRKENL
If TRKENL is set to 1 while controlling in Auto, the controller output (OUT) is forced immedi-
ately to follow the TRACK input. Transfer back to Auto is bumpless (see Bumpless Start-up and
Transfers on page 739).
24.6.2.8 Bumpless Start-up and Transfers
DPIDA Key Parameters: BCALCO, HOLD, MEAS, PRIBLK, SPT, STRKOP, TRKENL
Any transition from Manual, Holding, or Tracking to the Controlling state is performed
bumplessly by back-calculating the PID dynamics in the FBM (that is, the integral term absorbs
any proportional action and the derivative term is set to zero), so that the output maintains its
present value at the moment the transition occurs.
A transfer of the setpoint source from Remote to Local is inherently bumpless, because SPT
retains the last value that was transferred from the remote setpoint.
The setpoint track option (STRKOP) forces the local setpoint (SPT) to track the measurement
when the block reinitializes or initializes with a local setpoint. While setpoint tracking is active,
SPT is secured (nonsettable) to prevent you from manipulating the local setpoint value.
24.6.2.9 Cascade Handling
DPIDA Key Parameters: BCALCO, BLKSTA, CEOPT, INCOPT, MEAS, PRIBLK, RSP, SPT
B0193AX Rev AB 24. DPIDA Controller
740


The DPIDA controller can only be at the bottom of the cascade. A typical cascade configuration
using the DPIDA controller is shown in Figure 24-3.
Figure 24-3. Cascade Configuration (Typical)
To provide bumpless initialization of the upstream block in the cascade:
+ Set PRIBLK to true for the secondary controller (DPIDA).
+ Set PRIBLK to false for the primary controller.
+ Link BCALCI of the primary controller to BCALCO.
+ Link FBK (external reset) of the primary controller to BCALCO of the secondary
controller.
In a cascade configuration, control philosophy provides that the FBK (external integral feedback)
of the primary controller be connected to the BCALCO of the secondary controller to prevent
windup. Use the PRIBLK option in all cascade configurations.
The cascade initialization information is contained in the status bits of BCALCO which is con-
nected to BCALCI of the upstream block. For the BCALCO status bit definitions, see
Table 24-7.
The settings of SPT and BCALCO on transition from initialization depend on the type of initial-
ization, conditional and unconditional.
Conditional initialization occurs when the controller returns from an open cascade that was
caused by a Remote/Local, Auto/Manual, or Track transition. For a DPIDA secondary controller,
SPT remains unchanged, and BCALCO = SPT at transition.
Unconditional initialization occurs when the controller returns from an open cascade that was not
caused by a Remote/Local, Auto/Manual, or Track transition. For a DPIDA secondary controller,
SPT tracks MEAS, and BCALCO = MEAS at transition.
In order to trigger upstream initialization in a cascade, the appropriate BCALCO status bits
remain set while the setpoint is switched to Local. This notifies an upstream block to perform its
own explicit initialization, while the cascade remains open, enabling a return to remote setpoint
operation to be bumpless.
If the upstream block is in Auto, it initializes when its BCALCI initialization status bit is true and
then acknowledges the initialization request by setting the RSP acknowledge status bit. During
initialization, the output tracks the value of the BCALCI input. If the downstream block is a
DPIDA controller, this action causes its remote setpoint to track its BCALCO output when it is
connected to the upstream blocks BCALCI input. As a result, a return to closed loop control is
bumpless.
The appropriate BCALCO status bits of the DPIDA controller are set in the Tracking
(TRKENL = 1) or Holding (HOLD = 1) state. This requests its upstream block to perform its
own initialization. When TRKENL or HOLD are reset to 0, the controller returns to the Con-
trolling substate of Auto to resume closed loop control.
PRIBLK = 0
MEAS
PID
Block
FBK
BCALCI
OUT
PRIBLK = 1
RSP
MEAS
BCALCO
DPIDA
24. DPIDA Controller B0193AX Rev AB
741


The PRIBLK option allows a downstream block to initialize before the uptream block has
matched its output to its BCALCI input. The PRIBLK feature is needed if the upstream blocks
computing interval is the greater of the two, which is the case for a DPIDA controller.
The BCALCO status is updated each BPC to indicate when SPT has exceeded the high or low
limit. The upstream block uses this status to prevent integral windup.
24.6.2.10 Output Limiting
DPIDA Key Parameters: HOLIM, HOLIND, HSCO1, LOLIM, LOLIND, LSCO1, MCLOPT,
OSV
In Auto, the computed controller output (m
l
) value undergoes limiting, whereby it is limited
between the output limits, HOLIM and LOLIM (see Figure 24-2). These limits can be placed
anywhere within the range defined by HSCO1 and LSCO1. This range can be expanded in both
directions beyond the specified scale limits HSCO1 and LSCO1, by an amount equal to the out-
put span variance parameter OSV. If you set HOLIM less than LOLIM, then HOLIM is auto-
matically set equal to LOLIM. If the controller output (OUT) is limited at HOLIM or LOLIM,
the respective boolean output limit indicator, HOLIND or LOLIND, is set true.
MCLOPT affects output limiting as follows:
+ When MCLOPT = 1 (true), the computed controller output (m
l
) value undergoes
limiting as above.
+ When MCLOPT = 1 (true) and the controller is in Manual, the output is limited
between HSCO1 and LSCO1.
+ When MCLOPT = 0 (false) and the controller is in Manual, the output is limited
between HSCO1 + OSV and LSCO1 - OSV as shown in Figure 24-4.
Figure 24-4. Output Limiting
When an output limiting condition is detected in the FBM for a controller with integral action,
the integral term is managed to prevent integrator windup. If the controller prelimited output
becomes greater than HOLIM or less than LOLIM, the integral term is managed to provide rapid
recovery with almost no overshoot (similar to LIMOPT = 1 in the PIDA block).
Output limiting in the DPIDA controller is propagated to an upstream block through the status
bits of its BCALCI input, provided that it is linked to the BCALCO output of the DPIDA con-
troller.
OSV (units)
HSCO1
LSCO1
OSV (units)
Output
Time
B0193AX Rev AB 24. DPIDA Controller
742


24.6.2.11 FBM I/O Variable Scaling
DPIDA Key Parameters: See Table 24-5.
FBM input/output (I/O) variables, their scaling ranges, and related CP parameters are listed in
Table 24-3. Range and engineering units can be assigned to the listed CP parameters. The ranges
are used for analog displays and for relating proportional band (PBAND in %) to the inputs and
outputs.
The CP scales input parameters and then converts them to counts before sending them to the
FBM. The CP converts the count outputs received from the FBM and scales them for use in
alarming and transfers to Manual.
24.6.2.12 Measurement Filtering
DPIDA Key Parameters: DERIV, KD
For the PD, PID, and NIPID control modes, the measurement low-pass filter is a second order
Butterworth filter with time constant DERIV / KD (see Figure 24-5). Its purpose is to reduce
high-frequency valve activity. The default setting of KD is 10.
Table 24-5. FBM I/O Variable Scaling
FBM Variable Description Unit Range CP Related Parameter
A Setpoint lead/lag ratio 0 to 1 SPLLAG
--- --- RO1 BIAS
--- Controlled variable measurement RI1 MEAS
D Derivative time minutes DERIV
--- --- RIN MULTIN
--- --- % OUT2
holim High output limit clamped to RO1 RO1 HOLIM
hzone Zone high limit for nonlinear gain 0 to 100% HZONE
I Integral time minutes INT
K Derivative gain 0.1 to 100.0 KD
kzone Gain for nonlinear zone --- KZONE
lolim Low output limit clamped to RO1 RO1 LOLIM
lzone Zone low limit for nonlinear gain 0 to 100% LZONE
m
l
Manipulated variable limited RO1 OUT
meas1 Measurement 1 RI1 MEAS1
meas2 Measurement 2 RI1 MEAS2
meas3 Measurement 3 RI1 MEAS3
P Proportional band % PBAND
r Selected setpoint RI1 SPT
track Track input RO1 TRACK
24. DPIDA Controller B0193AX Rev AB
743


Figure 24-5. Butterworth Measurement Filter Response
The Butterworth measurement filter response can be expressed as follows:
Measurement filtering can be useful even when derivative action is not used, such as when the
process has a high frequency resonance. In this case, choose DERIV to have a small nonzero value
and KD to have a value less than one, such that the filter time constant
(DERIV / KD) is large enough to provide significant attenuation at the resonant frequency. The
range of KD is restricted to be not less than 0.1 and not greater than 100.
In all control modes, the measurement (c) is fed through a Butterworth filter. For the P, I, and PI
control modes, the derivative time (DERIV) is set to 0, thus providing no measurement filtering.
A noisy is measurement requires proper filtering to remove unwanted noise:
0 .1 .2 .3 .4 .5 .6 .7 .8 .9
.1
.2
.3
.4
.5
.6
.7
.8
.9
1.1
0
1.0
1.0
Time (s)
t t = DERIV / KD = 0.1 s
Input Step
Output
c
f
t
c
f
d
t d
-------
-
t
2
---
t
2
2
d
d c
f
- + + c input measurement =
or
c
f
c
1 ts 0.5ts
2
+ +
-------------------------------------- output filtered measurement = =
=
B0193AX Rev AB 24. DPIDA Controller
744


+ Use anti-alias filtering with CYCTIM and FILTIM set to 50 ms. Faster cycle times
can cause problems (see Controller Cycle Time and Measurement Sampling on
page 755).
+ For noisy measurements less than 50 to 60 cycles/seconds, set KD appropriately
(decreasing KD provides more filtering).
+ With FBTUNE feedback tuning, increase the threshold parameter THRESH for peak
detection.
24.6.2.13 Setpoint Processing
The selected setpoint is scaled, limited, and gain-compensated before calculating the control error
(e) (see Figure 24-2). The supervisory option (SUPOPT) allows an application to control the set-
point. The LR parameter allows an operator or another block to switch between the local and
remote setpoints. The Local and Remote latch switch inputs (LOCSW and REMSW) allow the
controller to be switched to Local or Remote setpoint by overriding the LR parameter. In Local,
you can ramp the setpoint from the Block Detail display.
24.6.2.13.1 Supervisory Setpoint
DPIDA Key Parameters: SE, SUP_IN, SUPBCO, SUPOPT
When the supervisory option (SUPOPT) is set to 1-4, it specifies that the controller can be under
control of a supervisory application program. The supervisory back calculated output (SUPBCO)
provides the current setpoint and initialization bits to the supervisory application program.
When supervisory enable (SE) is set by the application program or operator, the DPIDA control-
ler is prepared to do supervisory setpoint control (SSC) functions. When the proper handshaking
occurs with the application software, the controller accepts sets to the supervisory setpoint
(SUP_IN). If the controller is in Auto, it then uses the supervisory setpoint in the calculation of
the controller output.
If SUPOPT is set to 1 or 2, the handshake requires the application software to return an explicit
acknowledge to close the supervisory cascade. The software must set the ACK status bit in the
SUP_IN parameter using special OM access functions. However, if SUPOPT is set to 3 or 4, this
acknowledgement is implicitly provided by the CP and is not required from the user application
software. In the latter case, the CP closes the supervisory cascade automatically when the supervi-
sory input (SUP_IN) is written by the application, provided the block is in the Supervisory Ini-
tialization (SUP_INIT) state. The control block enters the SUP_INIT state when supervisory
control is enabled in the block and the cascade is closed downstream. Upon entering this state, the
CP sets the initialize request bit (INITC) in the SUPBCO parameter for the application software.
When SUP_IN is then written by the software, the CP access logic sets the ACK status automati-
cally in the SUP_IN parameter. When the block runs, the CP block logic then closes the supervi-
sory cascade automatically.
A typical Supervisory Setpoint Control cascade configuration using the DPIDA controller is
shown in Figure 24-6. The DPIDA controller can only be at the bottom of the cascade.
24. DPIDA Controller B0193AX Rev AB
745


Figure 24-6. Supervisory Setpoint Control Cascade Configuration (Typical)
For more information, refer to the Supervisory Setpoint Control (SSC) (B0193RY) document.
24.6.2.13.2 Local/Remote Overrides
DPIDA Key Parameters: INITLR, LOCSP, LOCSW, LR, REMSW
When the Local switch (LOCSW) override is true, it sets LR to false (Local) and secures it.
LOCSW has priority over REMSW, INITLR, and LOCSP. If both LOCSW and REMSW are
true, LR is set to Local.
When the Remote switch (REMSW) override is true, it sets LR to true (Remote) and secures it.
REMSW has priority over INITLR and LOCSP.
24.6.2.13.3 Setpoint State
DPIDA Key Parameters: INITLR, LOCSW, LR, MEAS, REMSW, SPT, STRKOP, TRKENL
The setpoint states are:
+ Remote
+ Tracking
+ Local.
The INITLR, REMSW, and LOCSW overrides are applied to the LR parameter as described
above and in Block Initialization on page 754.
If LR is true, the setpoint state is Remote. If STRKOP = 1 or 2, the setpoint state is Local, and the
status of MEAS is not Bad, the setpoint SPT tracks MEAS when (STRKOP = 1) the block is in
Manual or the cascade state is Open, or when (STRKOP = 2) the block is in Manual only.
24.6.2.13.4 Local/Remote Setpoint Selection
DPIDA Key Parameters: LR, MEAS, PRIBLK, RSP, SPT, STRKOP
The setpoint (SPT) is a configurable output whose source is determined by LR. If LR is true
(Remote), SPT is secured and assumes the Remote setpoint (RSP) value. If LR is false (Local),
SPT is unsecured and can be changed by the operator. When LR is toggled, its status is immedi-
ately displayed on the faceplate of the Block Detail Display.
Operator
Displays
Supervisory
Application
MEAS
PID
Block
OUT
FBK
BCALCI
SUPBCO
DPIDA
Block
SUP_IN
SE
LR
SUPOPT
RSP
MEAS
BCALCO
B0193AX Rev AB 24. DPIDA Controller
746


24.6.2.13.5 Setpoint Limiting
DPIDA Key Parameters: HSCI1, LSCI1, SPCLMP, SPHLIM, SPLLIM
The setpoints limits are clamped as follows.
+ If SPLLIM < LSCI1, it is set to LSCI1.
+ If SPLLIM > HSCI1, it is set to HSCI1.
+ If SPHLIM < SPLLIM, it is set to SPLLIM.
+ If SPHLIM > HSCI1, it is set to HSCI1.
If SPCLMP = 0, and the setpoint state is Supervisory, Remote, or Tracking, the SUP_IN/RSP
value is clamped as follows:
+ If SUP_IN/RSP <= LSCI1, it is set to LSCI1
+ If SUP_IN/RSP >= HSCI1, it is set to HSCI1.
If SPCLMP = 1, the SPT value in Local mode (RSP in Remote mode, SUP_IN in Supervisory
mode) is clamped as follows:
+ If RSP/SUP_IN <= SPLLIM, it is set to SPLLIM.
+ If RSP/SUP_IN >= SPHLIM, it is set to SPHLIM.
If SPCLMP = 2, an attempt to set SPT in Local mode (RSP in Remote mode, SUP_IN in Super-
visory mode) less than SPLLIM or greater than SPHLIM via an OM Setval or OM Write opera-
tion will be rejected with an OUT_OF_RANGE error code. If RSP has a source connection, it is
clamped as follows:
+ If RSP <= SPLLIM, it is set to SPLLIM.
+ If RSP >= SPHLIM, it is set to SPHLIM.
NOTE
When SPCLMP=0, the following special rules regarding setpoint limiting apply:
1. The SPHLIM and SPLLIM limits will be ignored while the block is in Remote
mode.
2. The SPHLIM and SPLLIM limits will be used to limit the setpoint value when
the block is switched to Local mode if the setpoint is within these limits when the
switch occurs.
3. If the setpoint is above SPHLIM (or below SPLLIM) when the block is switched
to Local mode, it will remain above SPHLIM (or below SPLLIM) when the switch
occurs to avoid a bump in the control action. The effective limits are allowed to
balloon beyond the actual limits while the block is in Remote mode to accomplish
this action when the block is switched to Local mode.
4. If the setpoint is above SPHLIM (or below SPLLIM) when the block is switched
to Local mode, it can be lowered (or raised), but once lowered (or raised), it cannot
be raised (or lowered) if it continues to be above SPHLIM (or below SPLLIM). (For
example, if the setpoint is 90.0 and SPHLIM=80.0, the setpoint will remain at 90.0
when the block is switched to Local mode. If the setpoint is lowered to 85.0, it can-
not be raised since 85.0 exceeds the SPHLIM value of 80.0. Once the setpoint is
lowered below SPHLIM, the SPHLIM value will then be used once again to limit
the setpoint value.).
24. DPIDA Controller B0193AX Rev AB
747


24.6.2.13.6 Setpoint Gain Compensation
DPIDA Key Parameters: INT, SPLLAG, SPT
Lead/lag compensation is applied to the setpoint with a user specified lead/lag ratio (SPLLAG see
Figure 24-7). SPLLAG adjustment allows the amount of proportional action applied to the set-
point to be different from that applied to the measurement (see Figure 24-2). This enables the
controller to be tuned for both good load rejection and non-overshooting setpoint response
simultaneously.
When the setpoint lead/lag ratio (SPLLAG) = 1, the controller behaves like the PID or PIDX,
applying the proportional term to the control error. This choice is best for a dominant deadtime
process.
When SPLLAG = 0, no proportional term is applied to the setpoint. A value of 0.2 is best for a
dominant lag process. SPLLAG is adaptively tuned by the FBTUNE block.
For the input (r) step shown in Figure 24-7, the lead/lag compensator output immediately rises to
the value SPLLAG (A). Then the output (r
f
) rises exponentially from SPLLAG to 1.0r with a first
order lag response of time constant INT.
Figure 24-7. Setpoint Lead/Lag Compensation
For example if SPLLAG is set to 0.5, the output at the end of one time constant is:
24.6.2.13.7 Setpoint Ramping
DPIDA Key Parameters: SPHLIM, SPLLIM, SPRAMP, SPRATE, SPROPT, SPT, SPTARG
If SPROPT is 1 and LR is Local, the setpoint ramps at the rate SPRATE (units/minute) from its
initial value to SPTARG, following an SPRAMP transition from 0 to 1.
If SPROPT is 2, ramping stops whenever the deviation (MEAS - SPT) is in alarm and continued
setpoint ramping would increase the deviation. If ramping decreases deviation, ramping is not
inhibited.
If SPROPT is 3 and LR is Local, the setpoint ramps from its initial value to SPTARG during the
time period SPRATE (minutes).
t = INT
A
1.0
Input r
Output rf
A = SPLLAG
Time
r
f
A 0.63 r A ( ) + 0.5 0.63 1.0 0.5 ( ) + 0.815 or 0.815r = = =
B0193AX Rev AB 24. DPIDA Controller
748


If SPROPT is 4, ramping stops whenever the deviation is in alarm and continued setpoint ramp-
ing would increase the deviation. If ramping decreases deviation, ramping is not inhibited.
Table 24-6 summarizes the setpoint ramping action for the SPROPT options.
To be accepted, an SPTARG value must be within the local setpoint limits, SPLLIM and
SPHLIM. When SPT reaches SPTARG or if the operator makes a local SPT change, setpoint
ramping stops and SPRAMP is reset to 0.
If SPTARG is changed during ramping, the block continues to ramp at the initial rate calculated
for the SPRATE time.
24.6.2.13.8 Error Propagation
DPIDA Key Parameters: CEOPT, MEAS, OUT, PROPT, SPT
Errors in the MEAS and SPT parameters are propagated to the ERR status bit of the OUT
parameter based on the control error option (CEOPT) and propagate error option (PROPT).
If the MEAS or SPT status is BAD or OOS while in Auto with PROPT set true and CEOPT
set to 1, the ERR status bit of OUT is set true.
If the MEAS or SPT status is BAD, OOS, or ERR while in Auto with PROPT set true and
CEOPT set to 2, the ERR status bit of OUT is set true.
24.6.2.14 Nonlinear Gain
DPIDA Key Parameters: KZONE, LZONE, NONLOP
A nonlinear gain option (NONLOP) specifies a gain factor (KZONE) and a zone of control error
values in which this alternate gain multiplies 100/PBAND (see Figure 24-8). This nonlinear zone
is defined by the HZONE and LZONE positive real values, and is situated, but not necessarily
centered, about zero error.
Table 24-6. Ramping Action for SPROPT Options
SPROPT
Rate
(Units/Minutes) Time (Minutes)
Stop on
Deviation Alarm
1 X
2 X X
3 X
4 X X
24. DPIDA Controller B0193AX Rev AB
749


Figure 24-8. Nonlinear Gain Response
Nonlinear gain allows the controller to handle a process with nonlinear gain (for example, a pH
process) by providing a gain characteristic that is opposite that of the process. You set the width of
the zone and the gain (slope) of the line within the zone. The slope typically varies from 0 to 1.0.
At zero slope, the line between the low and high zone limits is horizontal. At a slope of 1.0, the
nonlinear characteristic is completely removed, and the controller behaves as a conventional linear
controller as shown by the dashed line in Figure 24-8.
The proportional gain (G) in the linear part of the response curve where the slope = 1.0 is:
The effective gain (G
e
) within the zone is:
The effective proportional band (P
e
) within the zone is:
HZONE LZONE
De
Deg
Slope = 1.0
Slope = 1.0
40
30
20
10
0
10
20
30
40
-40 -30 -20 -10
Control Error (e)
0
Linear Response
10 20 30 40
Slope = 1.0
Nonlinear Response
Slope = KZONE = Deg / De
eg = KZONE e
Characterized
Control
Error (eg)
G
100
PBAND
--------------------- =
G
e
KZONE
100
PBAND
---------------------
- =
P
e
PBAND
KZONE
--------------------- =
B0193AX Rev AB 24. DPIDA Controller
750


24.6.2.15 Feedforward
DPIDA Key Parameters: BIAS, MULTIN
There is provision for both multiplicative MULTIN and additive BIAS feedforward inputs (see
Figure 24-2). The multiplicative input divided by its span (f
r
) multiplies the output (m) of the lin-
ear part of the control algorithm. The gain/offset adjusted and scaled bias input (b) is added to m
f

before output limiting is applied. A back calculation is applied to feedback input f
b
, using the pre-
vious values of these feedforward terms to achieve the integral-feedback input f
br
to the linear part
of the algorithm.
If either the BIAS or MULTIN value becomes invalid, its last valid value is used.
24.6.2.16 Error Detection
DPIDA Key Parameters: BCALCO, CEOPT, MA, MEAS, RSP, SPT
ECB52 Key Parameters: HORVAL, LORVAL, MEAS, OORENB, REDOPT
During Auto operation, the critical inputs MEAS, SPT, and MA are checked for any data errors.
Such errors include: off scan, out-of-service, and bad, which are reflected by the status of the con-
nected source. If any of these errors are detected, the error is indicated.
If CEOPT is set and any of these errors are detected, the controller output is forced to a substate
of Auto called Holding, whereby the last controller output (OUT) value is retained. If redundant
measurements are configured, the controller does not go to Holding unless all redundant mea-
surements are bad. In the Holding state, the held output value undergoes output limiting.
When all error conditions have ceased, the controller returns to the Controlling substate of Auto
to resume closed loop control.
Input errors are classified on a functional basis related to feedback control. Control errors affect
the ability to perform control in a local setpoint mode. Control errors include any errors detected
in the feedback portion of the local control loop. They do not include errors that originate
upstream through the remote setpoint path. If the remote setpoint RSP is in error, the controller
simply transitions to local SPT, holds the last valid value, and indicates that the cascade has
opened. When the error conditions clears, the appropriate BCALCO status bits reset to cause the
upstream block to initialize its OUT to BCALCI.
Global error detection is propagated to upstream blocks via the bad status indicator of the
BCALCO parameter record. In this manner, any errors detected along the cascade are propagated
up through the cascade, from block to block, by the BCALCO-to-BCALCI connections.
The FBM performs out-of-range checking on all configured measurement inputs using ECB52
parameters. If the out-of-range enable (OORENB) parameter is set true and a measurement input
configured by REDOPT exceeds the high out-of-range (HORVAL) or low out-of-range (LOR-
VAL) value, the Bad status bit of the associated MEASn parameter is set true. The Bad status bit
of the selected measurement (MEAS) is set true only if all redundant measurements are Bad.
The status of each block parameter value record is made up of the following 16 bits:
The bit definitions are listed in Table 24-7.
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Boolean B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 B11 B12 B13 B14 B15 B16
24. DPIDA Controller B0193AX Rev AB
751


24.6.2.17 Alarms
DPIDA Key Parameters: BAD, CRIT, HDALIM, HHALIM, HOALIM, INHALM, INHIB,
INHOPT, LDALIM, LLALIM, LOALIM, MANALM, MEAS, MEASHL, MEASLL, OUT,
PRTYPE, SPT, UNACK
The DPIDA block optionally supports the following alarms:
+ Bad I/O
+ Measurement absolute high-high (HHABS) and low-low (LLABS)
+ Measurement absolute high (HIABS) and low (LOABS)
+ Deviation high (HIDEV) and low (LODEV)
Table 24-7. Status Bit Definitions for Parameter Value Record
Bit Number
(0 to 15) Name Definition
Boolean
Connection
(B16 to B1)
0 to 4 Data Type:
1 = character
2 = integer
3 = real
4 = string
5 = boolean
6 = long integer
7 = (unused)
8 = short integer
9 = packed boolean
10 = packed long
B16 to B12
5 to 7 OM Status:
0 = No Response
1 = On Scan
2 = Disconnect
3 = Deleted
4 = Nonconnect
5 (unused)
6 (unused)
7 = Not sent
B11 to B9
8 BAD Bad I/O B8
9 SECURE Secure/Release B7
10 INITC/ACK Initialize Conditional/Acknowledge B6
11 OOS Out of Service B5
12 SHADOW Shadow Parameter B4
13 LHI Limited High B3
14 LLO Limited Low B2
15 ERROR/INITU Error/Initialize Unconditional B1
B0193AX Rev AB 24. DPIDA Controller
752


+ Output high (HIOUT) and low (LOOUT)
The block generates alarm messages on transition into the alarm state, and on return to normal of
the alarm condition.
Bad I/O Alarm occurs when the BAD parameter is set. If redundant measurements are used, the
block generates a separate alarm message when any measurement is bad, but it sets the Bad I/O
Alarm state and BAD parameter only when all of the measurements are bad.
High, low, high-high, or low-low absolute alarming occurs when the measurement exceeds the
related alarm limit (MEASHL, MEASLL, HHALIM, or LLALIM).
High or low deviation alarming occurs when the deviation (SPT - MEAS) exceeds the related
alarm limit (HDALIM or LDALIM).
High or low output alarming occurs when OUT exceeds the related alarm limit (HOALIM or
LOALIM).
Separate deadbands for high and low absolute, deviation, and output alarming establish hysteresis
about the limits to avoid intermittent state changes, when the MEAS, deviation (SPT- MEAS),
or OUT is close to one of the limits.
High-high, high and low absolute, deviation, and output alarms have their own alarm group
parameter that is used for dispatching alarm messages to the alarm devices contained in the group.
The CINHIB (compound parameter), INHIB, or INHALM parameter settings allow each alarm
to be dynamically inhibited.
The INHOPT value defines the type of alarm inhibiting:
0 = Disable alarm messages when alarms are inhibited
1 = Disable alarm detection when alarms are inhibited
2 = Same as 0, and enable automatic acknowledgment
3 = Same as 1, and enable automatic acknowledgment
Clearing the UNACK parameter acknowledges the alarms.
In Auto, the block processes all alarms.
When the block is in Manual, the MANALM value determines which alarms are processed:
0 = Disable all alarms in Manual
1 = Process all alarms in Manual
2 = Disabled only Output alarming in Manual
3 = No output alarming in Track
4 = No output alarming in Manual or Track
When an Auto-to-Manual state transition occurs, the block examines the MANALM option.
If MANALM = 0, the block clears the alarm information that it contains and queues an
ALARM_ACK message if the UNACK parameter was set prior to the transition. This alarm
information includes the alarm status (ALMSTA), CRIT, PRTYPE, and alarm output parameters
for high-high, high, and low absolute, deviation, and output alarms.
If MANALM = 1, the block does not clear the alarm information that it contains.
If MANALM = 2, the block clears the alarm information that it contains only for the output
alarms.
24. DPIDA Controller B0193AX Rev AB
753


If MANALM = 3, no output alarms are detected when the DPIDA block goes into the Track
mode due to a downstream open loop condition.
If MANALM = 4, no output alarms are detected when the block is in Manual mode or the
DPDIA block goes into the Track mode due to a downstream open loop condition.
The block clears the CRIT and PRTYPE parameters only if there are no outstanding output
alarms prior to the transition to Manual. In this case, it queues an ALARM_ACK message if the
UNACK parameter had been set prior to the transition.
When the compound is turned on or off, or when the block is switched from Auto to Manual, an
appropriate ALARM_ENA or ALARM_DSB message is sent to all alarm devices configured in
the block; if the Station Block is configured to do this.
If you turn off an existing alarm option by reconfiguring an alarm option parameter, an
ALARM_DSB message is issued when the block is restarted. If an alarm was active prior to the
reconfiguration, and no other alarms are now active, and INHOPT specifies auto-acknowledge,
the alarm is acknowledged, an ALARM_ACK is sent to all alarm devices configured in the block,
and CRIT and PRTYPE are cleared.
24.6.2.18 Validation Checks
The DPIDA block in the CP validates the configuration parameters when it is installed, reconfig-
ured, or restarted by installing the ECB52 block.
Tuning Block Connections
DPIDA Key Parameters: STATEB, STATEF
If either tuning extender parameter, FBTBLK (for FBTUNE) or FFTBLK (for FFTUNE) is con-
figured, the DPIDA block verifies that the specified tuning block is currently connected to it. If
the tuning block is not connected, the DPIDA block sets the STATEF and/or STATEB parameter
to off, and clears the connection to the tuning block.
Mode Option
DPIDA Key Parameters: MODOPT, ERCODE
The block checks MODOPT for valid range (1 to 6). If it is invalid, the block sets ERCODE to
INV_OPTION, and enters the undefined state.
ECB52 Connection
DPIDA Key Parameters: ERCODE, IOM_ID
The block establishes the connection to the ECB52 block using IOM_ID. If the ECB52 block
does not exist or if it is of the wrong software or hardware type, the block sets ERCODE to
ECB_UNDEFINED and enters the undefined state. The only valid hardware types are FBM04,
FBM17, FBM22, FBM204, and FBM227.
Engineering Ranges
DPIDA Key Parameters: HSCI1, HSCI2, HSCIN, HSCO1, LSCI1, LSCI2, LSCIN, LSCO1
The block checks the engineering ranges (RI1, RI2,RIN, and RO1) for crossover of the high and
low values. If any high value is less than its corresponding low value, the block sets ERCODE to
INV_ENG_RANGE and enters the undefined state.
B0193AX Rev AB 24. DPIDA Controller
754


24.6.2.19 Block Initialization
DPIDA Key Parameters: See Table 24-8.
After parameter validation, the DPIDA block in the CP initializes when the:
+ Block is installed.
+ Block is reconfigured.
+ Block is restarted by installing the ECB52 block.
+ Control Processor is rebooted.
+ Compound containing the block is turned on.
Table 24-8 lists the block parameter settings for block initialization.
* If the block is NOT restarting following an on-line upgrade warm start or a turning on of the com-
pound.
** If the block is NOT restarting following an on-line upgrade warm start or a turning on of the com-
pound, else MA =1.
***If the block is restarting due to a CP reboot, block install, or turning ON of the compound.
24.6.2.20 Exception Processing
DPIDA Key Parameters: BCALCO, ERCODE, MA, MEAS
Each basic processing cycle (BPC), the DPIDA block in the CP performs the following exception
processing:
+ Validation of the FBTUNE and FFTUNE block connections
+ Validation of the ECB52 block connection
+ Status updating of all parameters
+ Failsafe action
+ Auto/Manual override actions
+ Remote/Local override actions
Table 24-8. Parameter Settings for Block Initialization
Parameter Condition Resulting Value
LR LOCSP = 1 LR = 0 and secured
LR * INITLR = 0 LR = 0
INITLR = 1 LR = 1
INITLR = 2 LR is unchanged
MA ** INITMA = 0 MA = 0
INITMA = 1 MA = 1
INITMA = 2 MA is unchanged
OUT --- OUT = 0 on a cold start.
OUT = present value on a transition to or from Failsafe.
BCALCO --- BCALCO = MEAS or SPT depending on the setpoint state.
STATEB --- STATEB = off
STATEF --- STATEF = off
SPTARG *** SPROPT = 1 SPTARG = SPT
24. DPIDA Controller B0193AX Rev AB
755


The block validates the tuning block connections as it does during initialization (see Validation
Checks on page 753).
If the ECB52 connection is lost, the block sets ERCODE to INV_ECB, enters the undefined
state, and executes the shutdown logic.
The block updates the status of the critical parameters MEAS, MA, and BCALCO for the follow-
ing important status:
If REDOPT is configured for redundancy, the block sets the measurement status to bad only
when all measurements are bad. For more information on block Bad, Shutdown and Bad states,
refer to the appropriate Integrated Control Software Concepts document (B0700AG or B0193AW).
If the FBM transitions to the Failsafe state, the DPIDA block opens the upstream cascade by set-
ting the appropriate BCALCO status bits to true.
24.6.3 ECB52 Detailed Operation
The control algorithm executes every 10 ms to 50 ms as specified by the ECB52 cycle time (CYC-
TIM) value, independent of the Control Processor (CP) execution period.
The FBM provides up to three redundant measurement inputs as specified by ECB52 parameter
REDOPT. The FBM selects, scales, linearizes, and characterizes the measurement as specified by
the ECB52 configuration data.
24.6.3.1 Controller Cycle Time and Measurement Sampling
ECB52 Key Parameters: CYCTIM, FILTIM, FLTOPT,
CYCTIM, FLTOPT, and FILTIM, allow the cycle time of the controller and the characteristics of
the input filtering to be adjusted for best controller performance when very fast loop times are
required.
The CYCTIM value specifies the cycle time of the controller algorithm in 5 ms increments: 0 =
50 ms, 2 = 10 ms... 10 = 50 ms (1 is not a valid value). If not set, the default value is 0.
Processor power limits the options usable at fast cycles. If the cycle time is too fast for the config-
ured options, the FBM slows down.
10 ms cycle times are possible only for nonredundant inputs without characterizer or square root
conditioning. 15ms cycles can support input signal conditioning or redundancy but not both.
Table 24-9. Status of Critical Parameters
Status Condition
MEAS.OOS = 1 FBM communications failure
MEAS.BAD = 1 FBM communications failure or bad measurement
BCALCO.OOS = 1 FBM communications failure
BCALCO.BAD = 1 FBM communications failure or bad measurement
MA.OOS = 1 FBM communications failure
B0193AX Rev AB 24. DPIDA Controller
756


NOTE
As the controller cycle time is reduced, the precision of the analog conversion is
reduced. See FLTOPT and FLTTIM below.
The FBM converts each analog input sample to a digital value and averages these values over a
sampling time window specified by CYCTIM (see Figure 24-9).
Figure 24-9. Measurement Sampling
At the end of each window when FLTOPT = 0, this average is added to the average from the pre-
vious window to create a final raw measurement value. Thus, the analog conversion averaging is
performed over two sampling windows to provide anti-alias filtering.
At the end of each window when FLTOPT = 1, the digital samples are averaged over a single win-
dow, which provides less filtering.
FLTTIM = 0 sets the sampling window equal to the controller cycle time. This is the optimal set-
ting for almost all cases. FLTTIM ranges from 1 to the value of CYCTIM, and specifies the sam-
pling window in 5 ms increments. Setting FLTTIM less than CYCTIM provides less filtering.
The final averaged value is converted into a raw measurement. The precision of the raw converted
value ranges from 12 bits to 7 to 8 bits as follows:
+ 12 bit precision when the total averaging time is 100 ms using the default settings,
that is, 50 ms sampling window and control cycle (CYCTIM = 0) with anti-alias fil-
tering (FLTTIM= 0 and FLTOPT = 0)
+ 7 to 8 bit precision when the averaging time is 5 ms, that is, FLTTIM = 1 and
FLTOPT = 1.
24.6.3.2 Measurement Processing
Measurement processing provides validation, configurable range scaling, an optional square root
function, and an optional 8-segment characterizer for all active measurement input channels (see
Figure 24-2). The measurement signal is FBM analog input channel 1 when no redundancy is
configured.
CYCTIM
Sampling Window
CYCTIM
Sampling Window
Sampling Window
Sampling Window
Sampling Window
Sampling Window
Time
Final Raw Value
FLTOPT = 1
FLTIM < CYCTIM
FLTOPT = 0
FLTIM < CYCTIM
FLTOPT = 1
FLTOPT = 0
FLTIM = 0 or CYCTIM
24. DPIDA Controller B0193AX Rev AB
757


If all configured measurements are Bad while in Auto, the controller goes to Hold and sets the
BAD parameter and MEAS.BAD status.
Measurement Redundancy
ECB52 Key Parameters: REDOPT
DPIDA Key Parameters: MEASn, SELRQ
Redundant measurement signals for the analog input channels are provided by configuring
REDOPT as follows:
0 = channel 1 (no redundancy)
1 = channels 1 and 2
2 = channels 1 to 3
The redundant measurement values are scaled as above and reported to the CP. The CP scales
them to range RI1 and then provides them as MEAS01, MEAS02, and MEAS03. Select status
(SELST) indicates which measurement (1, 2, or 3) is selected for algorithm use.
Measurement Selection
If redundant measurements are configured, the FBM selects the measurement as follows:
+ If there are three good measurements, the FBM uses the median signal.
+ If there are two good measurements, the FBM uses the signal closest to the setpoint.
+ If one or more measurements are bad, the FBM uses the good signal nearest to the
setpoint.
+ Measurement specified by the operator via the SELRQ option, if it is healthy.
Measurement Input Scaling
ECB52 Key Parameters: HMSCAL, LMSCAL
The FBM raw input counts are scaled for the range specified by HMSCAL and LMSCAL before
linearization or characterization. You configure the HMSCAL and LMSCAL parameters to the
physical output range of the measurement device. Table 24-10 shows HMSCAL and LMSCAL
values that are consistent with signal conditioning options for I/A Series analog input blocks, but
you can use any values that are consistent with the measurement device.
The scaled value is then normalized to 0 to 4000 counts before linearization or characterization.
The following equation shows the scaling and normalization calculation for a 4 to 20 mA input
signal:
HMSCAL and LMSCAL values range from 0 to 64000 counts. However, you must enter the
value into the data base as a 16-bit signed integer with the most significant bit (MSB) as the sign
Table 24-10. FBM Analog Input Signal Scaling
Signal Range LMSCAL Count HMSCAL Count
Linear 0 64000
Nominal 0 to 10 V dc 1600 64000
4 to 20 mA dc 12800 64000
Normalized Counts Raw Counts LMSCAL ( )
4000
HMSCAL LMSCAL
---------------------------------------------------------
- =
B0193AX Rev AB 24. DPIDA Controller
758


bit. Any value greater than 32767 requires that the sign bit be true (1), indicating a negative num-
ber. For counts of more than 32767, the value to enter is the count minus 65536.
For example, to get a count of 62000, enter -3536.
Sample count values for a 4 to 20 mA input device are listed in Table 24-11.
Measurement Linearization and Characterization
ECB52 Key Parameters: CHAREN, SQRENB, X_nPD, Y_nPD
Two optional conditioning operations can be applied to the selected scaled input:
+ Square root function (SQRENB = 1)
+ Nonlinear characterization function (CHAREN = 1) with up to 8 segments.
If both are applied, the square root is done first. The final result is the controlled variable c used
by the controller and reported to the CP, which scales c to provide the measurement (MEAS)
value.
MEAS = [c (HSCI1 - LSCI1) / 4000] + LSCI1
You define the characterization function by specifying up to 9 pairs of X (input) and Y (output)
values and the number of points. The X (X_nPD) and Y (Y_nPD) values are 4000 scale signed
integers. They are required to be monotonically increasing.
The X-to-Y transformation is done by linear interpolation. If required, the range of the first or last
segment is extended by extrapolation.
FBM17 Measurement Input Bleeder Resistor
If the 0 to 10 V dc input field wiring is disconnected on an FBM17, the measurement input does
not drop immediately to 0 V dc. Instead, there is a slow decay to 0 V dc. It is recommended that
a bleeder resistor be placed across the + and - terminals of each measurement input to quicken the
response. This provides more responsive Bad point detection and redundant measurement selec-
tion when a measurement is Bad. Discharge time can be estimated using the following formula:
t = 9 - 10
-6
R
For more information, refer to Field Connection Diagrams in the System Equipment Installation
document.
Table 24-11. Input Scaling Entry Examples
% Count Value
Entry
(Integer) (Hexadecimal)
0 12800 12800 0x3200
25 25600 25600 0x6400
50 38400 -27136 0x9600
75 51200 -14336 0xC800
100 64000 -1536 0xFA00
62000 65536 3536 =
24. DPIDA Controller B0193AX Rev AB
759


24.6.3.3 FBM Analog Output Scaling
ECB52 Key Parameters: HOSCAL, LOSCAL
The FBM control output computed by the algorithm is scaled to the physical output range speci-
fied by the configured high output scale (HOSCAL) and low output scale (LOSCAL) parameters.
You must configure the HOSCAL and LOSCAL parameters to the physical output range required
to drive the output device. Table 24-12 shows HOSCAL and LOSCAL values that are consistent
with signal conditioning options for I/A Series analog output blocks, but you can use any values
that are consistent with the output device.
HOSCAL and LOSCAL values range from 0 to 64000 counts. However, you must enter the val-
ues into the data base as a 16-bit signed integer with the most significant bit (MSB) as the sign
bit. Any value greater than 32767 requires that the sign bit be true (1), indicating a negative num-
ber. You can also enter the values in hexadecimal format. For more information on entering the
values, see Measurement Processing on page 756.
24.6.3.4 Failsafe Action
ECB52 Key Parameters: FS, FSDLAY, FSENAB, FSMMPD, FSOPT, FS5DPD
The Failsafe option (FSOPT) defines the action taken by the DPIDA controller when a Fieldbus
or CP communications failure occurs while the controller is in the Auto or Hold mode. Failsafe is
an FBM hardware state designed to provide I/O security. The FSOPT options are:
0 = do not change mode and control to last setpoint
1 = go to Hold
2 = go to Hold with output set Failsafe
3 = go to Manual
4 = go to Manual with output set Failsafe (similar to MANFS option in PID blocks)
If a transition to Failsafe occurs, the required output value in 4000 scale normalized counts, is
back-calculated and placed in the output m
b,
and the FS parameter and BLKSTA.FS status bit are
set true. The upstream cascade is also opened by setting both the appropriate BCALCO status bits
to true.
If the controller is in Manual when Failsafe occurs, the controller stays in Manual.
When Failsafe clears in Hold, the controller goes to Auto. When Failsafe clears in Manual, the
controller stays in Manual.
FS5DPD specifies the Failsafe value for the controller output. FSMMPD specifies the fall-
back/Hold action for the FBM analog output. Failsafe configuration of the remaining FBM out-
puts is fixed.
FSENAB enables the Failsafe timer and FSDLAY specifies the Failsafe delay time. For more infor-
mation on Failsafe operation, refer to the appropriate Integrated Control Software Concepts docu-
ment (B0700AG or B0193AW).
Table 24-12. FBM Analog Output Signal Scaling
Signal Range LOSCAL Count HOSCAL Count
Linear 0 64000
-0.2 to 10.2 V dc 1600 64000
4.0 to 20 mA dc 12800 64000
B0193AX Rev AB 24. DPIDA Controller
760


Failsafe Output Scaling
FS5DPD specifies the fallback value for the controller output. The value represents the D/A raw
count value and must be related to the intended signal conditioning. For example, if this output is
going to a 4 to 20 ma device (raw count range: 12800 to 64000), then FS5DPD must be within
that range.
The formula for determining the count value is:
Example:
For a 4 to 20 mA device, determine the count for a fallback value of 25 percent of full scale.
Fallback values range from 0 to 64000 counts. However, you must enter the value into the data
base as a 16-bit signed integer with the most significant bit (MSB) as the sign bit. Any value
greater than 32767 requires that the sign bit be true (1), indicating a negative number. You can
also enter the value in hexadecimal format. For more information on entering the value, see
Measurement Processing on page 756.
24.6.3.5 FBM04/FBM204 I/O Channels
The FBM04/FBM204 I/O channels assignments are listed in Table 24-13:
24.6.3.6 FBM17/FBM227 I/O Channels and Operators Panel
ECB52 Key Parameters: PNLOPT, INVDFI
The FBM17/FBM227 with DPIDA software supports a local operators panel (which can be sup-
plied by Foxboro Deutschland) with status indicator lights (LEDs), 0 to 100% meter display of
the output, Auto/Manual (A/M) toggle key, and keys for ramping the output up or down in Man-
ual (see Figure 24-10).
Table 24-13. FBM04/FBM204 Channel Assignments
Channel Description Range Assignment
1 Analog input 0 to 20 mA dc Measurement 1
2 Analog input 0 to 20 mA dc Measurement 2
3 Analog input 0 to 20 mA dc Measurement 3
4 Analog input 0 to 20 mA dc Unavailable to user
5 Analog output 0 to 20 mA dc Control output
6 Analog output 0 to 20 mA dc Unavailable to user
7 Analog output 0 to 20 mA dc Unavailable to user
8 Analog output 0 to 20 mA dc Unavailable to user
Count Value
Eng Value Low Scale
High Scale Low Scale
--------------------------------------------------------
Span offset counts + - =
Count Value
25 0
100 0
------------------
64000 12800 ( ) 12800 25600 = + - =
24. DPIDA Controller B0193AX Rev AB
761


Figure 24-10. FBM17/FBM227 (DPIDA) Local Operators Panel Configuration
When PNLOPT is configured true, you can use a a local operators panel to switch the controller
algorithm in the FBM to Manual and then ramp the controller analog output. When PNLOPT is
true, the panel digital outputs are written to the required channels. Panel support requires specific
Failsafe behavior of digital outputs. These are set during initialization.
The user enables the panel by setting PNLOPT to true. If PNLOPT is configured false, the FBM
reads and reports only the field device fail input. If INVDFI is set true, the FBM inverts the
device fail input.
FBM17/FBM227
Analog Input 1
Analog Output 1
Analog Output 2
Digital Output 4
Measurement
Output
FBM Fail
Auto
Manual
Local Operators Panel*
Digital Display Meter
Digital Output 1
CP Fail
LED
Key
Digital Input 1
Digital Input 2
Digital Input 3
Digital Input 4
Ramp Up
Ramp Down
Auto/Manual Toggle
*Panel supplied by Foxboro Deutschland
Device Fail
B0193AX Rev AB 24. DPIDA Controller
762


If the panel is present, the FBM reads and processes the keys. The FBM monitors the A/M key for
transitions to detect A/M transfer requests. If the controller is switched to Manual by any means,
the FBM processes the ramp keys. While ramping is active, the FBM rejects write requests from
the CP to change the analog output.
For the up and down ramp keys, the initial ramp rate is one count per cycle (0.025%). If the key
is held down, the rate accelerates until a maximum rate of 8% per second is reached in about two
seconds.
CP Failure
The CP fail output is set to light an LED on the panel when the:
+ CP communications has timed out
+ Controller is not initialized for Auto control.
This LED indicates that the operator should use the panel to control the analog output. Opera-
tionally, it means that updated setpoints are not available for Auto control.
If the controller is not initialized, it is in Manual and the A/M toggle key is disabled.
If CP communication fails, the control algorithm is automatically switched to Manual if the Fail-
safe option is appropriately set.
FBM Failure
The FBM fail analog output (Channel 6) goes below zero volts which disables the panel keys and
lights a panel LED when the:
+ FBM is powered up
+ FBM is off-line
+ FBM watchdog timer times out
+ FBM software traps on a fault or error.
During normal operation of the controller software, this analog output is set to maximum voltage
(10.24 V dc).
The FBM17/FBM227 I/O channels assignments are listed in Table 24-14:
Table 24-14. FBM17/FBM227 Channel Assignments
Channel Description Range Assignment
1 Analog input 0 to 10 V dc Measurement 1
2 Analog input 0 to 10 V dc Measurement 2
3 Analog input 0 to 10 V dc Measurement 3
4 Analog input 0 to 10 V dc Unavailable to user
5 Analog output 0 to 10 V dc Control output
6 Analog output 0 to 10 V dc FBM Fail Indicator
7 Digital input Open to close Ramp up output
8 Digital input Open to close Ramp down output
9 Digital input Open to close Auto/Manual toggle
10 Digital input Open to close Device fail
11 Digital output Open to close Unavailable to user
24. DPIDA Controller B0193AX Rev AB
763


24.6.3.7 FBM22 I/O Channels and Auto/Manual Station
The FBM22 with DPIDA software supports the I/A Series Auto/Manual Station with status indi-
cator lights (LEDs), 0 to 100% meter display of the output, Auto/Manual (A/M) toggle key, and
keys for ramping the control output up or down in Local Manual.
When the A/M key is toggled to Auto, the controller goes to Remote Manual, not Auto; operator
action from a workstation is required to transfer the controller to Auto.
If the A/M station is present, the FBM reads and processes the keys. The FBM monitors the A/M
key for transitions to detect Remote/Manual transfer requests. If the controller is in Local Man-
ual, the FBM processes the ramp keys.
The standard ramp rate is 0 to 20 seconds for full scale. The fast rate is 0 to 5 seconds for full
scale. The FAST key selects the fast rate of the up or down key.
NOTE
Output ramping from the A/M Station is actually smooth, but the meter display
tends to overshoot during ramping and data entry.
The FBM22 I/O channel assignments are listed in Table 24-15:
24.7 Application Example
The DPIDA block can be used in a control scheme for compressor surge control (see
Figure 24-11). In these applications, centrifugal and axial compressors are used to provide com-
pression of process gases or for utility air. Traditionally, surge control schemes have been stand-
alone systems, separate from the distributed control systems. This is due primarily to concern
regarding the application of shared control to surge control, which may require a high speed of
response in some critical applications.
Anti-surge control schemes, when applied to centrifugal or axial compressors, allow safe operation
of the compressor. The primary need is for protection of the compressors from surging of flow
through the machine.
12 Digital output Open to close Unavailable to user
13 Digital output Open to close CP Fail
14 Digital output Open to close Auto/Manual Indicator
Table 24-15. FBM22 Channel Assignments
Channel Description Range Assignment
2 Analog output 0 to 20 mA dc Control output
7 Analog input 0 to 20 mA dc Measurement
Table 24-14. FBM17/FBM227 Channel Assignments (Continued)
Channel Description Range Assignment
B0193AX Rev AB 24. DPIDA Controller
764


Figure 24-11. Application Diagram
Surge is an unstable operating condition that takes place in centrifugal or axial compressors when
the flow through the machine decreases below a critical value. This results in a sudden reversal in
flow, causing the discharge line pressure to drop. When discharge line pressure drops sufficiently,
flow through the compressor is reestablished. The cycle continues and appears as an oscillation of
flow through the compressor.
Surge damages a compressor sometimes seriously. It may result in bent shafts, cracked housings,
or damaged bearings and impellers, sometimes accompanied by injury to personnel and damage
to buildings and associated process equipment.
Adapter
CALC
DPIDA
User Set Ratio
RATIO CHARC MATH
AIN AIN
ECB
Period = 0.5 s for all blocks
CP
ECB52
MEAS
SPT
LOLIM
PBAND
INT
OUT
MEAS
PID
Algorithm
Output
FBM
Cycle Time = 25 ms
PT
Outlet
Recycle
Valve
Compressor
PT
FT
Inlet
24. DPIDA Controller B0193AX Rev AB
765


The goal of an anti-surge control scheme is to calculate the surge point and the minimum safe
flow at the compressor inlet. The slope of the control line (see Figure 24-12) represents the setting
of the ratio between the inlet differential pressure and the pressure rise across the compressor.
Figure 24-12. Surge Line and Control Line Curves
In the anti-surge control scheme shown in Figure 24-11, two gauge pressure transmitters are used
to measure the suction and discharge pressures. The two pressures are subtracted in a MATH
(mathematics) block to determine the pressure rise across the machine. The pressure rise is soft-
ware-connected to a CHARC (characterizer) block. The output of the CHARC block is the surge
point. The surge point is software-connected to a RATIO block. The output of this block is the
control point, that is, the minimum flow through the compressor for a given pressure rise. The
ratio is set by the operator, and is normally provided with limits to prevent the operator from set-
ting a value which could result in a control point too close to the surge point.
The output of the RATIO block is connected to the remote setpoint RSP of a DPIDA block that
is configured for the PI control mode. This setpoint is fed to the control algorithm in the FBM.
The measurement is from the differential pressure across the compressor inlet orifice as measured
by the flow transmitter. The control output of the FBM is connected, through hardware, to the
recycle valve. This valve is closed when the derivative compensated measurement is less than the
setpoint, but it opens when the control line of Figure 24-11 is reached. The adapter CALC block
and DPIDA block perform asymmetric functions that allow the valve to open fast and limit the
closing rate of the valve.
The control blocks in the CP40 are all configured to run every 0.5 s. The control algorithm in the
FBM is configured to run every 25 ms.
Flow
Pressure
Surge Line
Control Line
B0193AX Rev AB 24. DPIDA Controller
766


NOTE
This application example is not a complete control strategy for compressor surge
control. You must contact Invensys to design a complete control strategy for your
application.
24.7.1 DPIDA Block Parameter Configuration
For the example in Figure 24-11, the user configures the following DPIDA block key parameters
as shown below for a 4 to 20 mA measurement input and 4 to 20 mA control output.
PERIOD = 1
IOM_ID = PLANT03:CMPR07_42
DEV_ID = REC007
HSCI1 = 1000.0
LSCI1 = 0.0
EI1 = SCFM
RSP = PLANT03:RATIO.OUT
MODOPT = 4
PBAND = (connected)
INT = (connected)
HSCO1 = 100.0
LSCO1 = 0.0
EO1 = %
HOLIM = 100.0
LOLIM = (connected)
MA = 1
INITMA = 1
NOTE
The above is not a complete list of required parameters and is not specific to a par-
ticular surge control application.
24.7.2 ECB52 Block Parameter Configuration
For the example in Figure 24-11, the user configures the following ECB52 block key parameters
as shown below:
CYCTIM = 5
DEV_ID = REC007
FLTOPT = 0
FLTTIM = 0
FSOPT = 4
24. DPIDA Controller B0193AX Rev AB
767


HMSCAL = 0xFA00
HOSCAL = 0xFA00
HWTYPE = 17
LMSCAL = 0x3200
LOSCAL = 0x3200
PERIOD = 1
SQRENB = 1
NOTE
The above is not a complete list of required parameters and is not specific to a par-
ticular surge control application.
B0193AX Rev AB 24. DPIDA Controller
768


769


25. DSI Display Station Interface
Block
This chapter covers the Display Station Interface Block, or DSI, its parameters and detailed
operations.
25.1 Overview
The Display Station Interface block, DSI, in conjunction with Equipment Control Block 14
(ECB14), provides the interface between each Panel Display Station and the compounds and
blocks that actualize the control strategy.
25.1.1 I/O Diagram
Figure 25-1. DSI Block I/O Diagram
25.2 Parameters
Table 25-1. DSI Block Parameters
Name Description Type Accessibility Default Units/Range
Configurable Parameters
INPUTS
NAME block name string no-con/no-set blank 1 to 12 chars
TYPE block type integer no-con/no-set 40 DSI
DESCRP descriptor string no-con/no-set blank 1 to 32 chars
PERIOD block sample time integer no-con/no-set 1 1 to 13
PHASE block phase number integer no-con/no-set 0 ---
LOOPID loopid string no-con/set blank 1 to 32 characters
IOM_ID FBM reference string no-con/no-set blank ---
COL_1 to COL_3 column 1 to 3 value real con/set 0.0 RI1
HSCI1 to HSCI3 high scale 1 to 3 real no-con/no-set 100.0 specifiable
LSCI1 to LSCI3 low scale 1 to 3 real no-con/no-set 0.0 specifiable
DELTI1 to DELTI3 change delta 1 to 3 real no-con/no-set 1.0 percent
DSI
Block
Column 1 Value
Column 2 Value
Column 3 Value
Station L/R State
Column 1 Value
Column 2 Value
Column 3 Value
Station L/R State
from Control Block to Display Station
B0193AX Rev AB 25. DSI Display Station Interface Block
770


25.2.1 Parameter Definitions
ACHNGE Alternate Change is an integer output which is incremented each time a
block parameter is changed via a Set command.
AM_SET Auto/Manual is a boolean set from the default display that specifies the
desired state of Auto/Manual:
0 = Manual
1 = Auto.
AM_STA Auto/Manual is a boolean input from a control strategy that specifies the
desired state of Auto/Manual:
0 = Manual
1 = Auto.
EI1 to EI3 eng units input string no-con/no-set % specifiable
LR_STA LR value boolean con/set 0 0 to 1
Non-Configurable Parameters
OUTPUTS
BLKSTA block status pack_l con/no-set 0 bit map
DATA STORES
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
AM_SET auto/manual set boolean con/set 0 0 to1
AM_STA auto/manual station boolean con/set 0 0 to1
COL_1S to COL_3S column 1 to 3 sets real no-con/set 0.0 RI1
DEFINE no config errors boolean no-con/no-set 1 0 to 1
DEV_ID FBM letterbug char[6] no-con/no-set blank 1 to 6 chars
ERCODE config error string no-con/no-set 0 1 to 43 chars
LR local/remote boolean con/set 0 0 to 1
LOCKID lock identifier string no-con/no-set blank 8 to 13 chars
LOCKRQ lock request boolean no-con/set 0 0 to 1
MA manual/auto boolean con/set 0 0 to 1
RI1 to RI3 eng range input real[3] no-con/no-set 100,0,1 specifiable
WP_SET workstation set boolean no-con/set 0 0 to 1
WP_STA workstation boolean con/set 0 0 to 1
Table 25-1. DSI Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
25. DSI Display Station Interface Block B0193AX Rev AB
771


BLKSTA Block Status is a 32-bit output, bit-mapped to indicate the blocks opera-
tional states. For the DSI block, only the following bits are used:
* Bit 0 is the least significant, low order bit.
COL_1 to COL_3
Column 1 to 3 is a real input from the control strategy to the to each of
the column indicators on the default display.
COL_1S to COL_3S
Column 1 to 3 is a real output set from the default display column indica-
tors.
DEFINE Define is a data store which indicates the presence or absence of configura-
tion errors. The default is 1 (no configuration errors). When the block ini-
tializes, DEFINE is set to 0 if any configured parameters fail validation
testing. In that case, no further processing of the block occurs. To return
DEFINE to a true value, correct all configuration errors and re-install the
block.
DELTI1 to DELTI3
Change Delta for Input Ranges 1 through 3 are a real values that define
the minimum percent of the input range that triggers change driven con-
nections for parameters in the range of RI1 through RI3. The default
value is 1.
Entering a 1 causes the Object Manager to recognize and respond to a
change of 1 percent of the full error range. If communication is within the
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
W
L
C
K
O
N
U
D
E
F
B
A
D
M
A
L
R
Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
10 LR Local(= false)/Remote(= true) BLKSTA.B22
11 MA Manual(= false)/Auto(= true) BLKSTA.B21
12 BAD Bad I/O (I/O Blocks only -
block in BAD state)
BLKSTA.B20
14 UDEF Undefined BLKSTA.B18
15 ON Compound On BLKSTA.B17
20 WLCK Workstation Lock BLKSTA.B12
B0193AX Rev AB 25. DSI Display Station Interface Block
772


same CP that contains the blocks compound, change deltas have no
effect.
Refer to Peer-to-Peer Connections of Real-Type Block Inputs on
page 23 for details on how the I/A Series software affects the change delta
percentage during operation.
DESCRP Description is a user-defined string of up to 32 characters that describe
the blocks function (for example, PLT 3 FURNACE 2 HEATER
CONTROL) .
DEV_ID Device Identifier is a character array that specifies the 6-character letter-
bug identifier of the connected FBM or FBC. DEV_ID differs from
IOM_ID in that it is of character array rather than string type, and does
not allow the use of the ECB NAME parameter or ECB pathname in
specifying the connected FBM or FBC.
EI1 to EI3 Engineering Units for Input Ranges 1 through 3, defined by the parame-
ters HSCI1 to HSCI3, LSCI1 to LSCI3, and DELTI1 to DELTI3, pro-
vide the engineering units text for the values defined by Input Ranges 1
through 8. Deg F or pH are typical entries.
ERCODE Error Code is a string data store which indicates the type of configuration
error or warning encountered. The error situations cause the blocks
DEFINE parameter to be set false, but not the warning situations. Valida-
tion of configuration errors does not proceed past the first error encoun-
tered by the block logic. The block detailed display shows the ERCODE
on the primary page, if it is not null. For the DSI block, the following list
specifies the possible values of ERCODE, and the significance of each
value in this block:
Message Value
W43 INVALID PERIOD/
PHASE COMBINATION
PHASE does not exist for given block
PERIOD, or block PERIOD not
compatible with compound
PERIOD.
W44 INVALID
ENGINEERING RANGE
High range value is less than or equal
to low range value.
W46 INVALID INPUT
CONNECTION
The source parameter specified in the
input connection cannot be found in
the source block, or the source
parameter is not connectable, or an
invalid boolean extension connection
has been configured.
W48 INVALID BLOCK
OPTION
The configured value of a block
option is illegal.
W53 INVALID
PARAMETER VALUE
A parameter value is not in the accept-
able range.
25. DSI Display Station Interface Block B0193AX Rev AB
773


HSCI1 to HSCI3 High Scale for Input Ranges 1 through 3 are real values that define the
upper limit of the measurement ranges. EI1 to EI3 define the units. Make
the range and units consistent with the measurement source. A typical
value is 100 (percent).
IOM_ID Fieldbus Module Identifier is a configurable string that specifies the FBM
or FBC to which the block is connected.
IOM_ID has the form CompoundName:BlockName, where Compound-
Name is the 1-12 character name of the local compound containing the
ECB, and BlockName is the 1-12 character block name of the ECB.
If the compound containing the ECB is the CPletterbug_ECB compound
where CPletterbug is the station letterbug of the CP, the CompoundName
may be omitted from the IOM_ID configuration. In this case, the 1-12
character ECB block name is sufficient.
LOCKID Lock Identifier is a string identifying the workstation which has locked
access to the block via a successful setting of LOCKRQ. LOCKID has the
format LETTERBUG:DEVNAME, where LETTERBUG is the 6-char-
acter letterbug of the workstation and DEVNAME is the 1 to 6 character
logical device name of the Display Manager task.
LOCKRQ Lock Request is a boolean input which can be set true or false only by a
SETVAL command from the LOCK U/L toggle key on workstation dis-
plays. When LOCKRQ is set true in this fashion a workstation identifier
accompanying the SETVAL command is entered into the LOCKID
parameter of the block. Thereafter, set requests to any of the blocks
parameters are honored (subject to the usual access rules) only from the
workstation whose identifier matches the contents of LOCKID.
LOCKRQ can be set false by any workstation at any time, whereupon a
new LOCKRQ is accepted, and a new ownership workstation identifier
written to LOCKID.
LOOPID Loop Identifier is a configurable string of up to 32 characters which iden-
tifies the loop or process with which the block is associated. It is displayed
on the detail display of the block, immediately below the faceplate.
LR Local/Remote is an input that selects the setpoint source (0 = false = Local;
1 = true = Remote). If LR is set to Remote, the source of the setpoint value
is the real input parameter RSP. When LR is set to Local, there are two
possible sources for the setpoint: (a) MEAS or (b) a user settable input.
The choice is based on the conditions of STRKOP and MA, as described
under STRKOP.
W58 INSTALL ERROR;
DELETE/UNDELETE
BLOCK
A Database Installer error has
occurred.
Message Value
B0193AX Rev AB 25. DSI Display Station Interface Block
774


LR_STA Local/Remote input is displayed as the LR indicator on the DSI display
station.
25. DSI Display Station Interface Block B0193AX Rev AB
775


LSCI1 to LSCI3 Low Scale for Input Ranges 1 through 3 are real values that define the
lower limit of the measurement ranges. A typical value is 0 (percent). EI1
to EI3 define the units. Make the range and units consistent with those of
the measurement source.
MA Manual Auto is an input that controls the Manual/Automatic operating
state (0 = false = Manual; 1 = true = Auto). In Auto, given the measure-
ment value, the block computes the output according to its specific algo-
rithm. The block automatically limits the output to the output range
specified between LSCO1 and HSCO1, for analog blocks. In Manual, the
algorithm is not performed, and the output is unsecured. An external pro-
gram can then set the output to a desired value.
NAME Name is a user-defined string of up to 12 characters used to access the
block and its parameters.
PERIOD Period is an indexed input that dictates the blocks execution time base
and allowable PHASE values. For stations other than Integrators and
Gateways, PERIOD values range from 0 to 13 and map to the following
period time lengths. (Integrator and Gateway blocks have different period
values than shown here.)
* If the BPC is 0.2 sec. this period is treated internally as 0.6 sec., but the
PERIOD parameter remains 1.
** If the BPC is 2.0 sec. this period is treated internally as 6.0 sec., but the
PERIOD parameter remains 10.
*** If the BPC is 0.5 sec. this period is treated internally as 0.5 sec., but
the PERIOD parameter remains 11.
**** If the BPC is not 2.0 sec. this period is treated internally as 5.0 sec.,
but the PERIOD parameter remains 12.
***** Available in CP40 and CP40B.
PHASE Phase is an integer input that causes the block to execute at a specific BPC
within the time determined by the PERIOD. For instance, a block with
PERIOD of 3 (2.0 sec) can execute within the first, second, third, or
fourth BPC of the 2-second time period, assuming the BPC of the Con-
trol Processor is 0.5 sec. Refer to the appropriate Integrated Control Soft-
ware Concepts document (B0700AG or B0193AW).
Period Length Period Length
0 0.1 sec 7 10 min
1 0.5 sec* 8 60 min
2 1.0 sec 9 0.2 sec
3 2.0 sec 10 5.0 sec**
4 10 sec 11 0.6 sec***
5 30 sec 12 6.0 sec****
6 1 min 13 0.05 sec*****
B0193AX Rev AB 25. DSI Display Station Interface Block
776


RI1 to RI3 Range Input is an array of real values that specify the high and low engi-
neering scale and change delta of a particular real input. For a given block,
it also forms an association with a group of real input parameters that have
the same designated range and change delta.
TYPE When you enter DSI or select DSI from the block type list under
Show, an identifying integer is created specifying this block type.
WP_SET Workstation Processor is a boolean set from the default display.
WP_STA Workstation Processor is a boolean input from a control strategy.
25.3 Detailed Operation
The DSI Block, in conjunction with the Equipment Control Block 14 (ECB14), provides the
software interface between the I/A Series Panel Display Station and the Control and
I/O Database.
Physically the Display Station (DS) connects to a Panel Display Processor 10 (DP10), a CP30, a
CP40, or a CP40B, via the Fieldbus. The DP10 accommodates up to 24 Display Stations. The
DP10 uses the standard CP10 hardware and software (except for the PLB control block).
The DSI blocks which reside in the DP10, CP30, CP40, or CP40B pass the control variables
from compounds resident in the control processors to the Display Stations indicators via the
ECB14 assigned to that specific Display Station.
Figure 25-2. System with Display Station Capability
Control
Processor
DISPLAY
PROCESSOR 10
CONTROL
PROCESSOR 30
FIELDBUS
FBM001 FBM002 FBM032
DP1S01 DP1S02 DP1S24
DP1S01 DP1S02 DP1S24
FIELDBUS
FIELDBUS
up to 48 FBMs (CP10)
up to 24 Display Stations
up to 24 Display Stations
N
O
E
D
B
U
S
up to 64 FBMs (CP30,CP40
40, or 40B
See DP10, CP30,
CP40 or CP40B
and CP40B)
Figure 20-3
25. DSI Display Station Interface Block B0193AX Rev AB
777


Figure 25-3. DP10, CP30, CP40, or CP40B
The Display Processor, CP30, CP40 or CP40B is the control processor in this scheme and it over-
sees the Fieldbus.
The Display Station is equivalent to an FBM, and is occasionally referred to as hardware type 28.
The Station Health display, however, always shows the Display Station as DS (not FBM_28). The
DS uses software type 14 (which is ECB14).
The DSI block has four parameters that have a direct relation to the three column indicators and
the R/L indicator. These four parameters which enable the transfer of process data to the display
station are:
+ COL_1
+ COL_2
+ COL_3
+ LR_STA.
When the DSI block is processed, it converts the value it receives from the COL_1 source into
counts (an integer value between -16384 and 16383) based on the range defined by LSCI1 and
HSCI1. The resulting count value is then sent to the Display Station via the ECB14 block
assigned to that DS.
The DS uses the ECB14 parameters LRV1 and URV1 (lower range value and upper range value
for column 1) as well as parameter DECPL1 (decimal place for column 1) to convert the counts-
value to the representation on the column 1 display and the actual number shown in digits on the
Display Station.
In the same processing cycle the Display Station is checked on a change-driven basis for new ramp
values and a new L/R setting.
N
O
D
E
B
U
S
DSI Block
DP1S01 DP1S23
DP1S02 DP1S24
ECB14
for DP1S01
up to 24 DSs
FIELDBUS
to/from
other CPs
PANEL DISPLAY PROCESSOR, CP30, CP40, or CP40B DISPLAY STATIONS
to/from
other CPs
DSI Block
for DP1S02
DSI Block
for DP1S24
ECB14
ECB14
B0193AX Rev AB 25. DSI Display Station Interface Block
778


The ramp value for column 1 undergoes a conversion that is the reverse of the above, before it is
used in Object Manager setval call on the source of the COL_1 parameter.
The Display Station sends the new settings to the control strategy parameters. From there the
control blocks relay the settings back to the DSI block through the linkages. Finally, the DSI
sends the value back to the DS where the value is displayed.
Ramp values and R/L key changes are written to parameters LR, COL_1S, COL_2S, and
COL_3S either by the DS through Fieldbus handling or by another source through the Object
Manager and then communicated through one of the linkages from the parameter to be shown to
the corresponding COL_n or LR_STA parameter. These values are communicated in reverse
direction through the linkage by means of Object Manager setval-commands by the block algo-
rithm.
If the source parameter of the linkage cannot be set for some reason, for example, because it is the
sink of another linkage or it is an output parameter of a block that is in automatic mode, then this
condition is ignored and the parameter is not set.
It is possible to physically attach a Auto/Manual Station (AMS) to the Display Station. However,
the AMS is supported by a separate control block and an FBM22 that must be on a separate field-
bus. The absence or presence of the AMS and its peripheral components have no effect on the
DSI block.
779


26. DTIME Dead Time
Compensator Block
This chapter covers the Dead Time Compensator Block, or DTIME, its features, parameters
and detailed operations.
26.1 Overview
The Dead Time Compensator block, DTIME, simulates the dynamic effects of pure delay, trans-
port lag, or distance-velocity lag, which are characteristic of energy or mass transportation in a
physical system.
26.1.1 I/O Diagram
Figure 26-1. DTIME Block I/O Diagram
26.2 Features
Features are:
+ Manual/Auto control of the outputs, which can be initiated by either a host process or
another block
+ True dynamic variable deadtime adjustment
+ Follow mode, in which the output tracks the measurement
+ Hold mode, in which the output remains unchanged.
+ Configurable bucket utilization
+ Use of the DTIME block for short-term data collection.
Options are:
+ PROPT, Error Propagation option.
+ DTOPT, Dead Time Option, disables the calculation of the running average in the
DTIME blocks input, and the linear interpolation in the blocks output.
+ NUMBKT, Number of Buckets, specifies the number of buckets for storing interme-
diate deadtime values.
Running Average Disable
Manual/Auto
Measurement
Deadtime
Follow
Output
Block Status
DTIME
BLOCK
Hold
Data Collection Flag
B0193AX Rev AB 26. DTIME Dead Time Compensator Block
780


+ INITMA, Initialize Manual/Auto, specifies the desired state of the MA input during
initialization.
+ CEOPT, Control Error Option.
26.3 Parameters
Table 26-1. DTIME Block Parameters
Name Description Type Accessibility Default Units/Range
Configurable Parameters
INPUTS
NAME block name string no-con/no-set blank 1 to 12 chars
TYPE block type integer no-con/no-set 17 DTIME
DESCRP descriptor string no-con/no-set blank 1 to 32 chars
PERIOD block sample time short no-con/no-set 1 0 to 13
PHASE block phase number integer no-con/no-set 0 ---
LOOPID loopid string no-con/set blank 1 to 32 chars
MEAS process input real con/set 0.0 RI1
HSCI1 high scale in 1 real no-con/no-set 100.0 specifiable
LSCI1 low scale in 1 real no-con/no-set 0.0 specifiable
DELTI1 change delta in 1 real no-con/no-set 1.0 percent
EI1 eng units input string no-con/no-set % specifiable
PROPT propagate error boolean no-con/no-set 0 0 to 1
DTOPT dead time option boolean no-con/no-set 0 0 to 1
DT dead time real con/set 0.0 [0..]minutes
NUMBKT number of buckets short no-con/no-set 10 1 to 10
HSCO1 high scale out 1 real no-con/no-set 100.0 specifiable
LSCO1 low scale out 1 real no-con/no-set 0.0 specifiable
DELTO1 change delta out 1 real no-con/no-set 1.0 percent
EO1 eng unit output string no-con/no-set % specifiable
MA manual/auto boolean con/set 0 0 to 1
INITMA initialize MA short no-con/no-set 1 [0|1|2]
FOLLOW follow mode boolean con/set 0 0 to 1
HOLD hold mode boolean con/set 0 0 to 1
CEOPT control error option short no-con/no-set 1 0 to 2
Non-Configurable Parameters
OUTPUTS
BKT_1 to BKT_10 bucket #1 to #10 real con/no-set 0.0 RO1
BLKSTA block status pack_l con/no-set 0 bit map
DTFLAG deadtime flag integer con/no-set 0 0 to 32767
OUT output real con/no-set 0.0 RO1
DATA STORES
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
DEFINE no config errors boolean no-con/no-set 1 0 to 1
DTCYCL dead time in cycles real no-con/no-set 1.0 ---
26. DTIME Dead Time Compensator Block B0193AX Rev AB
781


26.3.1 Parameter Definitions
ACHNGE Alternate Change is an integer output which is incremented each time a
block parameter is changed via a Set command.
BKT_1 to BKT_n Buckets 1 through n contain intermediate values calculated and stored by
the DTIME block algorithm. Bucket 1 is the oldest value, and Bucket n
the most recent value (calculated over the most recent shift time period),
where n is the value of NUMBKT.
BLKSTA Block Status is a 32-bit output, bit-mapped to indicate the blocks opera-
tional states. For the DTIME block, only the following bits are used:
* Bit 0 is the least significant, low order bit.
ERCODE config error string no-con/no-set 0 1 to 43 chars
LOCKID lock identifier string no-con/no-set blank 8 to 13 chars
LOCKRQ lock request boolean no-con/set 0 0 to 1
OWNER owner name string no-con/set blank 1 to 32 chars
PERTIM period time real no-con/no-set 0.1 ---
RI1 eng range input real[3] no-con/no-set 100,0,1 specifiable
RO1 eng range output real[3] no-con/no-set 100,0,1 specifiable
Table 26-1. DTIME Block Parameters (Continued)
Name Description Type Accessibility Default Units/Range
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
B
9
B
1
0
B
1
1
B
1
2
B
1
3
B
1
4
B
1
5
B
1
6
B
1
7
B
1
8
B
1
9
B
2
0
B
2
1
B
2
2
B
2
3
B
2
4
B
2
5
B
2
6
B
2
7
B
2
8
B
2
9
B
3
0
B
3
1
B
3
2
W
L
C
K
O
N
U
D
E
F
M
A
H
L
D
F
O
L
Bit
Number*
(0 to 31) Name Description When True
Boolean
Connection
(B32 to B1)
4 FOL Follow BLKSTA.B28
7 HLD Holding BLKSTA.B25
11 MA Manual(= false)/Auto(= true) BLKSTA.B21
14 UDEF Undefined BLKSTA.B18
15 ON Compound On BLKSTA.B17
20 WLCK Workstation Lock BLKSTA.B12
B0193AX Rev AB 26. DTIME Dead Time Compensator Block
782


CEOPT Control Error Option is a short integer that specifies how the block
responds to the MEAS and BCALCI inputs when either of those inputs is
in error. To provide backward compatibility, CEOPT defaults to 1.
CEOPT has a range of 0 to 2 where:
CEOPT is independent of the propagate error option, PROPT, and does
not affect the external logical input, HOLD. The HOLD input, when
true, still drives the block into the Hold state whenever the block is in
Auto (and MBADOP is false).
DEFINE Define is a data store which indicates the presence or absence of configura-
tion errors. The default is 1 (no configuration errors). When the block ini-
tializes, DEFINE is set to 0 if any configured parameters fail validation
testing. In that case, no further processing of the block occurs. To return
DEFINE to a true value, correct all configuration errors and re-install the
block.
DELTI1 Change Delta for Input Range 1 is a real value that defines the minimum
percent of the input range that triggers change driven connections for
parameters in the range of RI1. The default value is 1.
Entering a 1 causes the Object Manager to recognize and respond to a
change of 1 percent of the full error range. If communication is within the
same CP that contains the blocks compound, change deltas have no
effect.
Refer to Peer-to-Peer Connections of Real-Type Block Inputs on
page 23 for details on how the I/A Series software affects the change delta
percentage during operation.
DELTO1 Change Delta for Output Range 1 is presently unused.
DESCRP Description is a user-defined string of up to 32 characters that describe the
blocks function (for example, PLT 3 FURNACE 2 HEATER CON-
TROL).
DT Dead Time is the length of the delay, in minutes, before the measurement
appears at the output. You can configure this input as a constant or con-
nect it to a block to provide varying delay times, as long as the DT value
remains equal to or greater than the block period.
0 = The block takes no implicit Hold action when it detects a con-
trol error.
1 = The block goes to the Hold state if, while MBADOP is false,
either MEAS or BCALCI: (a) has its BAD status bit set true; (b)
has its Out-of-Service status bit set true; (c) is experiencing
peer-to-peer path failure.
2 = The block goes to the Hold state if, while MBADOP is false,
either MEAS or BCALCI meets any of the conditions described
for CEOPT = 1, or if MEAS has its ERROR status bit set true.
26. DTIME Dead Time Compensator Block B0193AX Rev AB
783


DTCYCL Dead Time Cycles is a real parameter representing the deadtime of the
block calculated in block cycles.
DTFLAG Deadtime Flag is incremented every shift time period in the DTIME
block.
DTOPT Dead Time Option disables the calculation of the running average in the
DTIME blocks input, and the linear interpolation in the blocks output.
EI1 Engineering Units for Input Range 1, as defined by the parameters
HSCI1, LSCI1, and DELTI1, provides the engineering units text for the
values defined by Input Range 1. Deg F or pH are typical entries.
EO1 Engineering Units for Output Range 1, defined by the parameters
HSCO1, LSCO1, and DELTO1, provides the engineering units text for
the values defined by Output Range 1. Deg F or pH are typical
entries. Make the units for the Output Range (EO1) consistent with the
units of Input Range 1 (EI1).
ERCODE Error Code is a string data store which indicates the type of configuration
error or warning encountered. The error situations cause the blocks
DEFINE parameter to be set false, but not the warning situations. Valida-
tion of configuration errors does not proceed past the first error encoun-
tered by the block logic. The block detailed display shows the ERCODE
on the primary page, if it is not null. For the DTIME block, the following
list specifies the possible values of ERCODE, and the significance of each
value in this block:
Message Value
W43 INVALID PERIOD/
PHASE COMBINATION
PHASE does not exist for given block
PERIOD, or block PERIOD not
compatible with compound PERIOD.
W44 INVALID
ENGINEERING RANGE
High range value is less than or equal
to low range value.
W46 INVALID INPUT
CONNECTION
The source parameter specified in the
input connection cannot be found in
the source block, or the source
parameter is not connectable, or an
invalid boolean extension connection
has been configured.
W48 INVALID BLOCK
OPTION
The configured value of a block option
is illegal.
W53 INVALID
PARAMETERVALUE
A parameter value is not in the accept-
able range.
W58 INSTALL ERROR;
DELETE/UNDELETE
BLOCK
A Database Installer error has
occurred.
B0193AX Rev AB 26. DTIME Dead Time Compensator Block
784


FOLLOW Follow is a boolean input. When true, FOLLOW forces the block into the
Follow substate of Auto. In this substate, the output follows the input
MEAS.
HOLD Hold is a boolean input. When true, HOLD forces the block into the
Hold substate of Auto, holding the output at its last computed value.
HSCI1 High Scale for Input Range 1 is a real value that defines the upper limit of
the measurement ranges. EI1 defines the units. Make the range and units
consistent with the measurement source. A typical value is 100 (percent).
HSCO1 High Scale for Output Range 1 is a real value that defines the upper limit
of the ranges for Output 1. A typical value is 100 (percent). EO1 defines
the units. Make the range and units consistent with those of the output
destination.
INITMA Initialize Manual/Auto specifies the desired state of the MA input during
initialization, where:
0 = Manual
1 = Auto
2 = The MA state as specified in the checkpoint file.
The block asserts this initial M/A state whenever:
+ It is installed into the Control Processor database.
+ The Control Processor undergoes a reboot operation.
+ The compound in which it resides is turned on.
+ The INITMA parameter itself is modified via the control configu-
rator. (The block does not assert INITMA on ordinary
reconfiguration.)
INITMA is ignored if MA has an established linkage.
LOCKID Lock Identifier is a string identifying the workstation which has locked
access to the block via a successful setting of LOCKRQ. LOCKID has the
format LETTERBUG:DEVNAME, where LETTERBUG is the 6-char-
acter letterbug of the workstation and DEVNAME is the 1 to 6 character
logical device name of the Display Manager task.
LOCKRQ Lock Request is a boolean input which can be set true or false only by a
SETVAL command from the LOCK U/L toggle key on workstation dis-
plays. When LOCKRQ is set true in this fashion a workstation identifier
accompanying the SETVAL command is entered into the LOCKID
parameter of the block. Thereafter, set requests to any of the blocks
parameters are honored (subject to the usual access rules) only from the
workstation whose identifier matches the contents of LOCKID.
LOCKRQ can be set false by any workstation at any time, whereupon a
new LOCKRQ is be accepted, and a new ownership workstation identifier
written to LOCKID.
26. DTIME Dead Time Compensator Block B0193AX Rev AB
785


LOOPID Loop Identifier is a configurable string of up to 32 characters which iden-
tifies the loop or process with which the block is associated. It is displayed
on the detail display of the block, immediately below the faceplate.
LSCI1 Low Scale for Input Range 1 is a real value that defines the lower limit of
the measurement ranges. A typical value is 0 (percent). EI1 defines the
units. Make the range and units consistent with those of the measurement
source.
LSCO1 Low Scale for Output Range 1 is a real value that defines the lower limit of
the ranges for Output 1. A typical value is 0 (percent). EO1 defines the
units. Make the range and units consistent with those of the output desti-
nation.
MA Manual Auto is a boolean input that controls the Manual/Automatic
operating state (0 = false = Manual; 1 = true = Auto). In Auto, given the
measurement value, the block computes the output according to its spe-
cific algorithm. The block automatically limits the output to the output
range specified between LSCO1 and HSCO1, for analog blocks. In Man-
ual, the algorithm is not performed, and the output is unsecured. An
external program can then set the output to a desired value.
MEAS Measurement is an input identifying the source of the blocks input, or the
controlled variable.
NAME Name is a user-defined string of up to 12 characters used to access the
block and its parameters.
NUMBKT Number of Buckets specifies the number of buckets to be used for storing
intermediate deadtime values in a DTIME block.
OUT Output, in Auto mode, is the result of the block algorithm applied to one
or more input variables. In Manual, OUT is unsecured, and can be set by
you or by an external task.
OWNER Owner is a string of up to 32 ASCII characters which is used to allocate
control blocks to applications. Attempts to set Owner are successful only
if the present value of Owner is the null string, an all-blank string, or iden-
tical to the value in the set request. Otherwise the request is rejected with a
LOCKED_ACCESS error. Owner can be cleared by any application by
setting it to the null string; this value is always accepted, regardless of the
current value of Owner. Once set to the null string, the value can then be
set as desired.
PERIOD Period is an indexed input that dictates the blocks execution time base
and allowable PHASE values. For stations other than gateways, PERIOD
B0193AX Rev AB 26. DTIME Dead Time Compensator Block
786


values range from 0 to 13 and map to the following period time lengths.
(Gateway blocks have different period values than shown here.)
* If the BPC is 0.2 sec. this period is treated internally as 0.6 sec., but the
PERIOD parameter remains 1.
** If the BPC is 2.0 sec. this period is treated internally as 6.0 sec., but the
PERIOD parameter remains 10.
*** If the BPC is 0.5 sec. this period is treated internally as 0.5 sec., but
the PERIOD parameter remains 11.
****If the BPC is not 2.0 sec. this period is treated internally as 5.0 sec.,
but the PERIOD parameter remains 12.
***** Available in CP40, CP40B, CP60 and later control processors.
PERTIM Period Time is the period of the block expressed in seconds.
PHASE Phase is an integer input that causes the block to execute at a specific BPC
within the time determined by the PERIOD. For instance, a block with
PERIOD of 3 (2.0 sec) can execute within the first, second, third, or
fourth BPC of the 2-second time period, assuming the BPC of the Con-
trol Processor is 0.5 sec. Refer to the appropriate Integrated Control Soft-
ware Concepts document (B0700AG or B0193AW).
PROPT Propagate Error Option is a boolean input. When true, PROPT sets the
ERROR Status bit of the output parameter if the input to the MEAS
parameter is in error while the block is in Auto. The input to the MEAS
parameter is in error when:
+ Its BAD status bit is set true.
+ Its OOS (Out-of-Service) status bit is set true.
+ Its ERROR status bit is set true.
+ It is experiencing peer-to-peer path failure.
If a transition to Manual occurs while the ERROR status is true, it
remains true until either a set command is written to that output or until
the block transfers to Auto with the error condition returned to normal.
RI1 Range Input is an array of real values that specify the high and low engi-
neering scale and change delta of a particular real input. For a given block,
Period Length Period Length
0 0.1 sec 7 10 min
1 0.5 sec* 8 60 min
2 1.0 sec 9 0.2 sec
3 2.0 sec 10 5.0 sec**
4 10 sec 11 0.6 sec***
5 30 sec 12 6.0 sec****
6 1 min 13 0.05 sec*****
26. DTIME Dead Time Compensator Block B0193AX Rev AB
787


it also forms an association with a group of real input parameters that have
the same designated range and change delta.
RO1 Range Output is an array of real values that specify the high and low engi-
neering scale of a particular real output. For a given block, it also forms an
association with a group of real output parameters that have the same des-
ignated range.
TYPE When you enter DTIME or select DTIME from the block type list
under Show, an identifying integer is created specifying this block type.
26.4 Detailed Operation
In Manual, the output is unsecured and can be manipulated by performing Object Manager Set
commands. In addition, the block does not perform deadtime compensation and the Follow fea-
ture is inoperable.
A transition from Manual-to-Auto mode forces all deadtime dynamics to vanish so that the mea-
surement immediately appears at the output.
In Auto, the block performs deadtime compensation if the FOLLOW input is false. If the FOL-
LOW input is true, then the block operates in the FOLLOW mode, whereby the output tracks
the measurement value. A transition in the Follow input from true to false forces old deadtime
dynamics to vanish so that the block begins delaying the measurement signal by the DT amount
at the moment the transition occurs.
In Hold mode (when HOLD is set), sampling is suspended, buckets are frozen, and the output
remains unchanged.
Control Error Option (CEOPT) determines how the block output responds to control errors in
the MEAS input. It is a configurable short integer with the following values and effects:
+ 0 = Take no action based on MEAS control errors. (This is the default.)
+ 1 = Go to the HOLD state if the BAD or OOS status bit of MEAS is true, or the OM
field of MEAS status indicates off-scan.
+ 2 = Go to the HOLD state if the BAD, OOS, or ERROR status bit of MEAS is true,
or the OM field of MEAS status indicates off-scan.
While deadtime compensation is being performed, the DT parameter establishes the average
delay time it takes for the measurement signal to appear at the output. Up to ten data storage ele-
ments, or buckets, see Figure 26-2, are used to shift the measurement samples during the
elapsed delay time. The shift time between samples produces the desired delay time. The number
of buckets in each block is configurable, up to a maximum of ten buckets, which is the default.
Each bucket is also available as a connectable block output.
When DTOPT is not set, the incoming measurement samples at each block execution period are
averaged over the shift time period, for example to avoid loss of signal resolution. The average
measurement values are shifted through the bucket brigade. To avoid rapid change of the output
signal at each shift time, the output undergoes linear interpolation between the last two oldest
stored values during each block execution time.
When DTOPT is set, the averaging of incoming measurement samples is disabled and, at each
deadtime block execution, the current measurement value (MEAS) is directly stored into the
B0193AX Rev AB 26. DTIME Dead Time Compensator Block
788


newest bucket, while the block output is updated each deadtime block execution with the value
from the oldest bucket.
When DTFLAG is used, the block can be used for short-term data collection. At each shift
period, DTFLAG is incremented to indicate that a new set of bucket data is available. If
DTFLAG is put into an open variables list, the incrementing of DTFLAG can be used to trigger
GETVAL calls to retrieve the bucket parameters BKT_1 through BKT_10.
Figure 26-2. DTIME Signal Flow Diagram
26.4.1 Algorithm Description
In the Automatic mode, with Follow = Off, measurements are averaged, stored serially in n (up to
ten) data elements called buckets and loaded into the output filter. See Figure 26-2.
The input averaging filter loads into bucket n an average value of the measurement. Samples are
taken each block period over a length of time equal to 1/n
th
the specified deadtime. This prevents
a deterioration of signal resolution.
Each bucket holds the data for 1/n
th
of the specified deadtime (DT) and then shifts the averaged
value into the next bucket. When the value has been shifted through n buckets, the deadtime
compensation has been achieved.
In order to avoid a sharp change of values between two consecutive output periods (1/n
th
the total
deadtime), an Output Interpolation Filter is used to provide an interpolation between the
2 oldest values (values stored in buckets 2 and 1).
The Follow mode routes the measurement completely around the compensation routine and
feeds it directly to the output.
The Manual mode virtually switches out the entire DTIME block.
MEAS (t)
MEAS (t) dt
1
st
st
0
(k * st)
MEAS
bk
(n)
bk
(n-1)
***
bk
(2)
bk
(1)
Bucket Brigade
st st st st
* * * *
DT
Output
Interpolation
Filter
OUT MANUAL SETS
* st = shift time
FOLLOW
MA
26. DTIME Dead Time Compensator Block B0193AX Rev AB
789


A transition from Manual-to-Auto forces all deadtime dynamics to vanish so that the measure-
ment immediately appears at the output and the signal begins the delay at the moment of transi-
tion. This action is also taken for a transition of Follow and Hold from On to Off.
The transition from Auto-to-Manual releases the block output, which retains the last value prior
to the transition. While the block is in Manual mode, an operator can make changes to the out-
put (via Object Manager SET commands) by ramping the output at the faceplate or by making a
Direct Data Entry.
B0193AX Rev AB 26. DTIME Dead Time Compensator Block
790

You might also like