0% found this document useful (0 votes)
221 views712 pages

B0193ax3 N (Function Block)

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 712

B0193AX

REV N

I/A Series®
Integrated Control
Block Descriptions
Volume 3 of 3, MSG – VLV
October 4, 2002
Foxboro, I/A Series, and EXACT are trademarks of Invensys Systems, Inc.
Invensys is a trademark of Invensys plc.
Modicon is a trademark of AEG Schneider Automation, Inc.
PLC is a trademark of Allen-Bradley Company.
All other brand names may be trademarks of their respective companies.

Copyright 1990-2002 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.
Contents
Figures................................................................................................................................. xvii

Tables................................................................................................................................... xxi

Preface................................................................................................................................ xxiii

80. MSG – Message Generator Block.............................................................................. 1373


80.1 Overview ..................................................................................................................... 1373
80.2 Options ....................................................................................................................... 1373
80.2.1 I/O Diagram ....................................................................................................... 1374
80.3 Parameters ................................................................................................................... 1374
80.3.1 Parameter Definitions ......................................................................................... 1375
80.4 Block Validation ......................................................................................................... 1378
80.5 Block Initialization ...................................................................................................... 1378
80.6 Example ...................................................................................................................... 1379

81. MTR – Motor Control Block.................................................................................... 1381


81.1 Overview ..................................................................................................................... 1381
81.2 Features ....................................................................................................................... 1381
81.3 Parameters ................................................................................................................... 1382
81.3.1 Parameter Definitions ......................................................................................... 1384
81.4 Functions .................................................................................................................... 1395
81.4.1 Detailed Diagram ................................................................................................ 1395
81.5 Detailed Operation ..................................................................................................... 1395
81.5.1 2-Wire Configuration Using Sustained Output ................................................... 1396
81.5.2 3-Wire Configuration Using Pulsed Outputs ...................................................... 1396
81.5.3 Output Processing ............................................................................................... 1397
81.5.4 Auto/Manual State Tracking ............................................................................... 1398
81.5.5 Disable Mode ...................................................................................................... 1398
81.5.6 Alarming ............................................................................................................. 1398
81.5.6.1 Mismatch Alarm .......................................................................................... 1398
81.5.6.2 Bad FBM ..................................................................................................... 1399
81.5.6.3 Alarm Acknowledge ..................................................................................... 1399
81.5.7 Block Initialization .............................................................................................. 1399
81.5.8 Failsafe Action ..................................................................................................... 1399
81.5.9 Validation Checks ............................................................................................... 1399
81.5.10 Block Mode Control ......................................................................................... 1400
81.6 Application Example .................................................................................................. 1400

iii
B0193AX – Rev N Contents

82. MVC – Multivariable Controller Block ..................................................................... 1403


82.1 Overview ..................................................................................................................... 1403
82.2 I/O Diagrams .............................................................................................................. 1404
82.3 Features ....................................................................................................................... 1405
82.4 Parameters ................................................................................................................... 1406
82.4.1 Parameter Definitions ......................................................................................... 1408
82.5 Operation ................................................................................................................... 1415
82.5.1 MVC Operator Display ...................................................................................... 1418

83. MVL – Multivariable Loop Block.............................................................................. 1421


83.1 Overview ..................................................................................................................... 1421
83.2 I/O Diagram ............................................................................................................... 1422
83.3 Features ....................................................................................................................... 1422
83.4 Parameters ................................................................................................................... 1423
83.4.1 Parameter Definitions ........................................................................................ 1427
83.5 General Operation ..................................................................................................... 1445
83.5.1 MVL Operator Display ....................................................................................... 1448

84. OUTSEL – Output Select Block ............................................................................... 1451


84.1 Overview ..................................................................................................................... 1451
84.1.1 I/O Diagram ....................................................................................................... 1451
84.2 Parameters ................................................................................................................... 1452
84.2.1 Parameter Definitions ......................................................................................... 1453
84.3 Cascade Handling ....................................................................................................... 1460
84.4 Limit Handling ........................................................................................................... 1460

85. PACK – Packed Long Integer Variable Block............................................................ 1461


85.1 Overview ..................................................................................................................... 1461
85.2 Parameters .................................................................................................................. 1461
85.2.1 Parameter Definitions ......................................................................................... 1461

86. PAKIN – Packed Input Block ................................................................................... 1463


86.1 Overview ..................................................................................................................... 1463
86.2 Basic Operation .......................................................................................................... 1463
86.3 Features ....................................................................................................................... 1464
86.4 Parameters ................................................................................................................... 1464
86.4.1 Parameter Definitions ......................................................................................... 1465
86.5 Functions .................................................................................................................... 1469
86.5.1 Detailed Diagram ................................................................................................ 1469
86.5.2 Associated ECBs .................................................................................................. 1469
86.5.3 DCI Connection ................................................................................................. 1469
86.5.4 Origin of Input Data ........................................................................................... 1470
86.5.5 Auto/Manual Switching ...................................................................................... 1470

iv
Contents B0193AX – Rev N

86.5.6 Status of PAKCIN ............................................................................................... 1470


86.5.7 Change-Driven Input .......................................................................................... 1471
86.5.8 PAKCIN Initialization ........................................................................................ 1471
86.5.9 Time Stamp ........................................................................................................ 1471
86.5.10 Identification and Access Control ...................................................................... 1471

87. PAKOUT – Packed Output Block ............................................................................ 1473


87.1 Overview ..................................................................................................................... 1473
87.2 Basic Operation .......................................................................................................... 1474
87.3 Features ....................................................................................................................... 1474
87.4 Parameters ................................................................................................................... 1475
87.4.1 Parameter Definitions ......................................................................................... 1476
87.5 Functions .................................................................................................................... 1482
87.5.1 Detailed Diagram ................................................................................................ 1482
87.5.2 Associated ECBs .................................................................................................. 1482
87.5.3 DCI Connection ................................................................................................. 1482
87.5.4 Destination of Output Data ................................................................................ 1483
87.5.5 Confirmed Output Parameters ............................................................................ 1483
87.5.6 Status of PAKCO ................................................................................................ 1483
87.5.7 Auto/Manual Arbitration .................................................................................... 1484
87.5.8 Inputs in Auto Mode ........................................................................................... 1484
87.5.9 Inputs in Manual Mode ...................................................................................... 1484
87.5.10 Read-Back Changes ........................................................................................... 1485
87.5.11 Output Processing ............................................................................................. 1485
87.5.12 Initialization and Cascade Processing ................................................................ 1485
87.5.13 Unlinked IN Inputs .......................................................................................... 1486
87.5.14 Change Timer ................................................................................................... 1486
87.5.15 Fail-Safe Functions ............................................................................................ 1486
87.5.16 Time Stamp ...................................................................................................... 1486
87.5.17 Identification and Access Control ...................................................................... 1486

88. PATALM – Pattern Alarm Block .............................................................................. 1487


88.1 Overview ..................................................................................................................... 1487
88.1.1 I/O Diagram ....................................................................................................... 1487
88.2 Features ....................................................................................................................... 1487
88.3 Parameters ................................................................................................................... 1488
88.3.1 Parameter Definitions ......................................................................................... 1488
88.4 Functions .................................................................................................................... 1495
88.4.1 Detailed Diagram ................................................................................................ 1495
88.4.2 Detailed Operation ............................................................................................. 1495
88.4.3 Initial PATALM Configuration ........................................................................... 1496
88.4.4 Block States ......................................................................................................... 1497
88.4.4.1 Initialization ................................................................................................ 1497
88.4.4.2 Manual ........................................................................................................ 1497
88.4.4.3 Auto ............................................................................................................ 1497
88.4.5 Inhibit Alarming ................................................................................................. 1497
88.4.6 Alarm Response and Return to Normal Transition ............................................. 1497

v
B0193AX – Rev N Contents

89. PATT – Pattern Block .............................................................................................. 1499


89.1 Overview ..................................................................................................................... 1499
89.2 Basic Operation .......................................................................................................... 1499
89.3 Features ....................................................................................................................... 1500
89.4 Parameters ................................................................................................................... 1500
89.4.1 Parameter Definitions ......................................................................................... 1501
89.5 Functions .................................................................................................................... 1507
89.5.1 Detailed Functional Diagram .............................................................................. 1507
89.5.2 Detailed Operation ............................................................................................. 1508
89.5.2.1 Manual Operation ....................................................................................... 1509
89.5.2.2 Auto Operation ........................................................................................... 1509
89.5.2.3 Cascading PATT Blocks .............................................................................. 1509
89.5.2.4 Matching Logic Example ............................................................................. 1510
89.6 Application Example ................................................................................................... 1511
89.6.1 Parameter Configuration ..................................................................................... 1513

90. PID – Proportional Integral Derivative Block ........................................................... 1517


90.1 Overview ..................................................................................................................... 1517
90.2 I/O Diagram ............................................................................................................... 1518
90.3 Features ....................................................................................................................... 1518
90.4 Parameters ................................................................................................................... 1521
90.4.1 Parameter Definitions ......................................................................................... 1524
90.5 Detailed Operation ..................................................................................................... 1544
90.5.1 Normal Configuration ........................................................................................ 1547

91. PIDA – Advanced PID Block .................................................................................... 1549


91.1 Overview ..................................................................................................................... 1549
91.2 Features ....................................................................................................................... 1550
91.2.1 Control Modes .................................................................................................... 1550
91.2.2 Standard PIDA Features ...................................................................................... 1550
91.2.3 Standard PIDA Options ...................................................................................... 1551
91.3 Parameters ................................................................................................................... 1552
91.3.1 Parameter Definitions ......................................................................................... 1556
91.4 Detailed Functions ...................................................................................................... 1583
91.4.1 PIDA Operational Introduction .......................................................................... 1583
91.4.2 Control Modes .................................................................................................... 1586
91.4.2.1 Operational Notation for Block Algorithms ................................................ 1587
91.4.2.2 Time Domain Notation for Block Algorithms ............................................. 1588
91.4.3 Block States ......................................................................................................... 1590
91.4.3.1 Manual State ............................................................................................... 1590
91.4.3.2 Auto State .................................................................................................... 1591
91.4.3.3 Manual/Auto Overrides ............................................................................... 1591
91.4.3.4 Holding State .............................................................................................. 1592
91.4.3.5 Output Tracking State ................................................................................ 1592
91.4.4 Bumpless Start-up and Transfers ......................................................................... 1592
91.4.5 Cascade Handling ............................................................................................... 1592

vi
Contents B0193AX – Rev N

91.4.6 Output Limiting ................................................................................................. 1594


91.4.7 Measurement Filtering ........................................................................................ 1595
91.4.8 Setpoint Processing ............................................................................................. 1596
91.4.8.1 Supervisory Setpoint .................................................................................... 1597
91.4.8.2 Local/Remote Overrides .............................................................................. 1597
91.4.8.3 Setpoint State .............................................................................................. 1598
91.4.8.4 Local/Remote Setpoint Selection ................................................................. 1598
91.4.8.5 Setpoint Limiting ........................................................................................ 1598
91.4.8.6 Setpoint Gain Compensation ...................................................................... 1599
91.4.8.7 Setpoint Ramping ........................................................................................ 1600
91.4.8.8 Error Propagation ........................................................................................ 1600
91.4.9 Nonlinear Gain ................................................................................................... 1600
91.4.10 Feedforward ...................................................................................................... 1602
91.4.11 Error Detection ................................................................................................. 1602
91.4.12 Alarms ............................................................................................................... 1602
91.4.13 Validation Checks ............................................................................................. 1604
91.4.13.1 Tuning Block Connections ........................................................................ 1604
91.4.13.2 Mode Option ............................................................................................ 1604
91.4.13.3 Engineering Ranges ................................................................................... 1604
91.4.14 Block Initialization ............................................................................................ 1605
91.4.15 Exception Processing ......................................................................................... 1605
91.4.16 Measurement Sampling ..................................................................................... 1606
91.4.17 Cascade Control Loops ..................................................................................... 1606
91.4.18 Linearizing the Measurement ............................................................................ 1609
91.5 Application Example ................................................................................................... 1609
91.5.1 Sample PIDA Configuration ............................................................................... 1609
91.5.2 A Sample PIDA Operation .................................................................................. 1611
91.5.2.1 A Sample Pretune ........................................................................................ 1612
91.5.2.2 A Sample Feedback Selftune ........................................................................ 1612
91.5.2.3 Sample Feedforward Selftune ....................................................................... 1614
91.5.2.4 Decoupling of Interacting Loops ................................................................. 1614

92. PIDE – PID With EXACT Block ............................................................................. 1617


92.1 Overview ..................................................................................................................... 1617
92.1.1 I/O Diagram ....................................................................................................... 1617
92.2 Features ....................................................................................................................... 1618
92.3 Parameters ................................................................................................................... 1620
92.3.1 Parameter Definitions ......................................................................................... 1624
92.4 Detailed Operation ..................................................................................................... 1648
92.4.1 Normal Configuration ........................................................................................ 1653

93. PIDX – PID Extended Block .................................................................................... 1655


93.1 Overview ..................................................................................................................... 1655
93.1.1 I/O Diagram ....................................................................................................... 1656
93.2 Features ....................................................................................................................... 1657
93.3 Parameters ................................................................................................................... 1659
93.3.1 Parameter Definitions ......................................................................................... 1662
93.4 Detailed Operation ..................................................................................................... 1683

vii
B0193AX – Rev N Contents

93.4.1 Normal Configuration ........................................................................................ 1687

94. PIDXE – PID Extended with EXACT Block ............................................................ 1689


94.1 Overview ..................................................................................................................... 1689
94.1.1 I/O Diagram ....................................................................................................... 1690
94.2 Features ....................................................................................................................... 1691
94.3 Parameters ................................................................................................................... 1693
94.3.1 Parameter Definitions ......................................................................................... 1697
94.4 Detailed Operation .................................................................................................... 1721
94.4.1 Normal Configuration ........................................................................................ 1727

95. PLB – Programmable Logic Block............................................................................. 1729


95.1 Overview ..................................................................................................................... 1729
95.1.1 I/O Diagram ....................................................................................................... 1729
95.2 Features ....................................................................................................................... 1729
95.3 Parameters ................................................................................................................... 1730
95.3.1 Parameter Definitions ......................................................................................... 1731
95.4 Detailed Operation ..................................................................................................... 1738
95.4.1 Block Interface .................................................................................................... 1739
95.4.2 Display Interface ................................................................................................. 1739
95.4.3 Simulation ........................................................................................................... 1739
95.4.4 Input Flag Configuration .................................................................................... 1740
95.4.5 Output Flag Configuration ................................................................................. 1740
95.4.6 I/O Configuration Example ................................................................................ 1740
95.5 Channel Designators ................................................................................................... 1743

96. PLSOUT – Pulse Output Block................................................................................ 1745


96.1 Overview ..................................................................................................................... 1745
96.2 Basic Operation .......................................................................................................... 1746
96.3 Features ....................................................................................................................... 1746
96.4 Parameters ................................................................................................................... 1747
96.4.1 Parameter Definitions ......................................................................................... 1748
96.5 Functions .................................................................................................................... 1755
96.5.1 Detailed Diagram ................................................................................................ 1755
96.5.2 Associated ECBs .................................................................................................. 1755
96.5.3 DCI Connections ................................................................................................ 1756
96.5.4 Output Points and Optional Input Points ........................................................... 1756
96.5.5 Auto/Manual Arbitration .................................................................................... 1757
96.5.6 Pulse Initiation in Auto and Manual ................................................................... 1757
96.5.7 Pulse Duration .................................................................................................... 1757
96.5.8 Status of INI_PT ................................................................................................. 1757
96.5.9 Initialization ........................................................................................................ 1758
96.5.10 Cascade Processing ............................................................................................ 1758
96.5.11 Status of the Output Values .............................................................................. 1758
96.5.12 Holding, Tracking, and Securing ...................................................................... 1759
96.5.13 Simulation Option ............................................................................................ 1759

viii
Contents B0193AX – Rev N

96.5.14 Identification and Access Control ...................................................................... 1759

97. PTC – Proportional Time Controller Block.............................................................. 1761


97.1 Overview ..................................................................................................................... 1761
97.2 Features ....................................................................................................................... 1761
97.3 Parameters ................................................................................................................... 1763
97.3.1 Parameter Definitions ......................................................................................... 1765
97.4 Detailed Operation ..................................................................................................... 1780
97.4.1 Detailed Diagram ................................................................................................ 1780
97.4.2 Proportional Time Control ................................................................................. 1782
97.4.2.1 Output Pulse Width .................................................................................... 1782
97.4.2.2 PTC Application ......................................................................................... 1783
97.4.3 Setpoint Control Mode ....................................................................................... 1783
97.4.3.1 Setpoint Tracking ........................................................................................ 1784
97.4.4 Block States ......................................................................................................... 1784
97.4.4.1 Initialization ................................................................................................ 1784
97.4.4.2 Manual ........................................................................................................ 1784
97.4.4.3 Auto ............................................................................................................ 1785
97.4.5 Alarming ............................................................................................................. 1785
97.4.5.1 Inhibit Alarming .......................................................................................... 1785
97.4.5.2 Absolute Alarming ....................................................................................... 1786
97.4.5.3 Deviation Alarming ..................................................................................... 1787
97.4.6 Cascade Configuration ........................................................................................ 1788
97.4.7 Application .......................................................................................................... 1788

98. RAMP – Ramp Block................................................................................................ 1791


98.1 Overview ..................................................................................................................... 1791
98.1.1 I/O Diagram ....................................................................................................... 1791
98.2 Features ....................................................................................................................... 1791
98.3 Parameters ................................................................................................................... 1792
98.3.1 Parameter Definitions ......................................................................................... 1793
98.4 Detailed Operation ..................................................................................................... 1800

99. RATIO – Ratio Block ............................................................................................... 1803


99.1 Overview ..................................................................................................................... 1803
99.1.1 I/O Diagram ....................................................................................................... 1803
99.2 Features ....................................................................................................................... 1804
99.3 Parameters ................................................................................................................... 1805
99.3.1 Parameter Definitions ......................................................................................... 1807
99.4 Detailed Operation ..................................................................................................... 1824
99.4.1 Configuration ...................................................................................................... 1828

100. REAL – Real Variable Block.................................................................................... 1829


100.1 Overview ................................................................................................................... 1829
100.2 Features ..................................................................................................................... 1829

ix
B0193AX – Rev N Contents

100.3 Parameters ................................................................................................................. 1829


100.3.1 Parameter Definitions ....................................................................................... 1830
100.4 Detailed Operation ................................................................................................... 1830
100.4.1 Detailed Diagram .............................................................................................. 1831
100.4.2 Block Clamping ................................................................................................ 1831
100.5 Block Validation ....................................................................................................... 1831
100.6 Block Detail Display ................................................................................................. 1832

101. REALM – Real Alarm Block.................................................................................... 1833


101.1 Overview ................................................................................................................... 1833
101.1.1 I/O Diagram ..................................................................................................... 1834
101.2 Features ..................................................................................................................... 1834
101.3 Parameters ................................................................................................................. 1835
101.3.1 Parameter Definitions ....................................................................................... 1837
101.4 Detailed Operation ................................................................................................... 1850
101.4.1 Detailed Diagram .............................................................................................. 1850
101.4.2 Block States ....................................................................................................... 1852
101.4.2.1 Initialization .............................................................................................. 1852
101.4.2.2 Manual ...................................................................................................... 1852
101.4.2.3 Auto .......................................................................................................... 1852
101.4.3 Inhibit Alarming ............................................................................................... 1852
101.4.4 Absolute Alarming ............................................................................................. 1852
101.4.4.1 High-High Absolute Alarming .................................................................. 1853
101.4.4.2 Low-Low Absolute Alarming ..................................................................... 1853
101.4.4.3 High Absolute Alarming ............................................................................ 1853
101.4.4.4 Low Absolute Alarming ............................................................................. 1853
101.4.5 Deviation Alarming ........................................................................................... 1854
101.4.5.1 High Deviation Alarming .......................................................................... 1854
101.4.5.2 Low Deviation Alarming ........................................................................... 1854
101.4.6 Rate of Change Alarming .................................................................................. 1854
101.4.7 Re-Alarming ...................................................................................................... 1855

102. RIN – Real Input Block .......................................................................................... 1857


102.1 Overview ................................................................................................................... 1857
102.2 Basic Operation ........................................................................................................ 1857
102.3 Features ..................................................................................................................... 1858
102.4 Parameters ................................................................................................................. 1858
102.4.1 Parameter Definitions ....................................................................................... 1859
102.5 Functions .................................................................................................................. 1866
102.5.1 Detailed Diagram .............................................................................................. 1866
102.5.2 Associated ECBs ................................................................................................ 1867
102.5.3 DCI Connection ............................................................................................... 1867
102.5.4 Origin of Input Data ......................................................................................... 1867
102.5.5 Processing of Input Point Status ........................................................................ 1868
102.5.6 Processing of Input Point Data .......................................................................... 1869
102.5.7 Auto/Manual Switching .................................................................................... 1869
102.5.8 Operation in Auto Mode ................................................................................... 1869

x
Contents B0193AX – Rev N

102.5.9 Operation in Manual Mode .............................................................................. 1869


102.6 Signal Conditioning (SCI) Values ............................................................................ 1870

103. RINR – Redundant Real Input Block...................................................................... 1873


103.1 Overview ................................................................................................................... 1873
103.2 Basic Operation ........................................................................................................ 1873
103.3 Features ..................................................................................................................... 1874
103.4 Parameters ................................................................................................................. 1874
103.4.1 Parameter Definitions ....................................................................................... 1875
103.5 Functions .................................................................................................................. 1885
103.5.1 Detailed Diagram .............................................................................................. 1885
103.5.2 Associated ECBs ................................................................................................ 1886
103.5.3 DCI Connections .............................................................................................. 1886
103.5.4 Origins of Input Data ........................................................................................ 1887
103.5.5 Processing the Status of the Input Points ........................................................... 1887
103.5.6 Processing of Input Point Data .......................................................................... 1888
103.5.7 Arbitration Algorithm ....................................................................................... 1889
103.5.8 Auto/Manual Arbitration .................................................................................. 1890
103.5.9 Operation in Auto Mode ................................................................................... 1890
103.5.10 Operation in Manual Mode ............................................................................ 1890
103.6 Signal Conditioning (SCI Values) ............................................................................ 1891

104. ROUT – Real Output Block ................................................................................... 1893


104.1 Overview ................................................................................................................... 1893
104.2 Basic Operation ........................................................................................................ 1894
104.3 Features ..................................................................................................................... 1894
104.4 Parameters ................................................................................................................. 1895
104.4.1 Parameter Definitions ....................................................................................... 1896
104.5 Functions .................................................................................................................. 1906
104.5.1 Detailed Diagram .............................................................................................. 1906
104.5.2 Associated ECBs ................................................................................................ 1906
104.5.3 DCI Connections .............................................................................................. 1907
104.5.4 Output Point and Initialization Input Point ...................................................... 1907
104.5.5 Confirmed Output Parameters .......................................................................... 1908
104.5.6 Status of the Read-Back Value ........................................................................... 1908
104.5.7 Processing the Read-Back Value Data ............................................................... 1909
104.5.8 Auto/Manual Switching .................................................................................... 1909
104.5.9 Fail-Safe Functions ............................................................................................ 1910
104.5.10 Time Stamp .................................................................................................... 1910
104.5.11 Conditions for Sending a Block Output .......................................................... 1910
104.5.12 Processing the Output Data ............................................................................ 1911
104.5.13 Sending the Output ........................................................................................ 1911
104.5.14 Status of Other Block Outputs ........................................................................ 1912
104.5.15 Change Timer ................................................................................................. 1912
104.5.16 Status of INI_PT ............................................................................................. 1912
104.5.17 Initialization .................................................................................................... 1912
104.5.18 Cascade Processing .......................................................................................... 1913

xi
B0193AX – Rev N Contents

104.5.19 Holding and Tracking ..................................................................................... 1913


104.5.20 Identification and Access Control .................................................................... 1913
104.6 ROUT Signal Conditioning (SCO) Values .............................................................. 1914

105. SIGSEL – Signal Selector Block .............................................................................. 1917


105.1 Overview ................................................................................................................... 1917
105.2 Features ..................................................................................................................... 1917
105.3 Parameters ................................................................................................................. 1918
105.3.1 Parameter Definitions ....................................................................................... 1919
105.4 Detailed Operation ................................................................................................... 1926
105.4.1 Cascade Operation ............................................................................................ 1927
105.4.2 Bypass Option ................................................................................................... 1927
105.4.3 Error Propagation .............................................................................................. 1927
105.4.4 Cascading the SIGSEL Block ............................................................................ 1928

106. STATE – State Block .............................................................................................. 1931


106.1 Overview ................................................................................................................... 1931
106.2 Basic Operation ........................................................................................................ 1932
106.3 Features ..................................................................................................................... 1933
106.4 Parameters ................................................................................................................. 1934
106.4.1 Parameter Definitions ....................................................................................... 1935
106.5 Functions .................................................................................................................. 1944
106.5.1 Detailed Functional Diagram ............................................................................ 1944
106.5.2 Detailed Operation ........................................................................................... 1945
106.5.2.1 Block Initialization .................................................................................... 1946
106.5.2.2 Disable Mode ............................................................................................ 1946
106.5.2.3 Manual Mode ............................................................................................ 1947
106.5.2.4 Auto Mode ................................................................................................ 1947
106.5.2.5 Hold Mode ............................................................................................... 1948
106.5.2.6 Initialize Mode .......................................................................................... 1949
106.5.2.7 Step Mode ................................................................................................. 1951
106.5.2.8 State Mode ................................................................................................ 1951
106.5.2.9 Timing Logic ............................................................................................. 1952
106.5.2.10 Bad Lock Option ..................................................................................... 1953
106.5.2.11 Cascading STATE Blocks ........................................................................ 1953
106.6 Application Example ................................................................................................. 1954
106.6.1 Parameter Configuration ................................................................................... 1956
106.6.2 Operation .......................................................................................................... 1959
106.6.2.1 Step 0 – Initialize ....................................................................................... 1959
106.6.2.2 Step 1 – Start Fill ....................................................................................... 1959
106.6.2.3 Step 2 – Wait for Half Full ........................................................................ 1959
106.6.2.4 Step 3 – Turn Heater On .......................................................................... 1959
106.6.2.5 Step 4 – Wait for Full ................................................................................ 1959
106.6.2.6 Step 5 – Tank Is Full ................................................................................. 1959
106.6.2.7 Step 6 – Time Heat ................................................................................... 1960
106.6.2.8 Interrupt Heat Time .................................................................................. 1960
106.6.2.9 Step 7 – Turn Heat Off and Drain Tank ................................................... 1960

xii
Contents B0193AX – Rev N

106.6.2.10 Step 8 – Drain Tank ................................................................................ 1960


106.6.2.11 Step 9 – End ............................................................................................ 1961
106.6.2.12 Restart or Manual Override ..................................................................... 1961

107. STALM – State Alarm Block................................................................................... 1963


107.1 Overview ................................................................................................................... 1963
107.2 Features ..................................................................................................................... 1963
107.3 Parameters ................................................................................................................. 1964
107.3.1 Parameter Definitions ....................................................................................... 1965
107.4 Detailed Operation ................................................................................................... 1972
107.4.1 Detailed Diagram .............................................................................................. 1972
107.4.2 Block Initialization ............................................................................................ 1972
107.4.2.1 Initialization .............................................................................................. 1973
107.4.2.2 Manual ...................................................................................................... 1973
107.4.2.3 Auto .......................................................................................................... 1973
107.4.3 State Alarm Generation ..................................................................................... 1973
107.4.3.1 Alarm Inhibit ............................................................................................. 1973
107.4.4 Bad I/O Alarm Generation ................................................................................ 1973
107.4.5 Alarm Response and Return to Normal Transition ........................................... 1974
107.4.6 Block Shutdown ................................................................................................ 1974
107.4.7 Example ............................................................................................................ 1974

108. Station Block........................................................................................................... 1975


108.1 Station Block Overview ............................................................................................. 1975
108.2 Station Block I/O Diagram ....................................................................................... 1976
108.3 Station Block Features ............................................................................................... 1976
108.4 Station Block Rules ................................................................................................... 1977
108.5 Station Block Functions ............................................................................................ 1977
108.5.1 Station Load Overview ..................................................................................... 1977
108.5.1.1 Title Box ................................................................................................... 1978
108.5.1.2 Loading Summary (% Of BPC) Box ......................................................... 1979
108.5.1.3 Sink Peer To Peer Status Box .................................................................... 1979
108.5.1.4 Free Memory (Bytes) Box .......................................................................... 1980
108.5.1.5 Checkpoint Fields ...................................................................................... 1980
108.5.1.6 Soft Keys ................................................................................................... 1981
108.5.2 Control Loading Overlay .................................................................................. 1982
108.5.2.1 Overruns Box ............................................................................................ 1983
108.5.2.2 Phase Sync Control Box ............................................................................ 1983
108.5.2.3 Total Control Cycle (% Of BPC) Box ....................................................... 1985
108.5.2.4 Continuous Block Load (% Of BPC) Box ................................................. 1985
108.5.3 OM Scanner Loading Overlay ........................................................................... 1985
108.5.3.1 Total Inter-Station IPC Connections Box ................................................. 1986
108.5.3.2 Overruns Box ............................................................................................ 1986
108.5.3.3 Object Manager Scanner Data (% Of BPC) Last 12 Scans Box ................. 1987
108.5.4 Group Assignments Overlay .............................................................................. 1987
108.5.5 Supervisory Groups Overlay .............................................................................. 1988
108.5.5.1 Station Block Operating Information and Procedures ............................... 1990
108.5.5.2 Station Block Parameters ........................................................................... 1990

xiii
B0193AX – Rev N Contents

109. STRIN – String Input Block ................................................................................... 2001


109.1 Overview ................................................................................................................... 2001
109.2 Basic Operation ........................................................................................................ 2001
109.3 Features ..................................................................................................................... 2001
109.4 Parameters ................................................................................................................. 2002
109.4.1 Parameter Definitions ....................................................................................... 2003
109.5 Functions .................................................................................................................. 2006
109.5.1 Detailed Diagram .............................................................................................. 2006
109.5.2 Associated ECBs ................................................................................................ 2007
109.5.3 DCI Connection ............................................................................................... 2007
109.5.4 Origin of Input Data ......................................................................................... 2007
109.5.5 Input Point Data and Status Processing ............................................................. 2008
109.5.6 Auto/Manual Switching .................................................................................... 2008
109.5.7 Time Stamp ...................................................................................................... 2008
109.5.8 Identification and Access Control ...................................................................... 2009

110. STRING – String Variable Block ............................................................................ 2011


110.1 Overview ................................................................................................................... 2011
110.2 Basic Operation ........................................................................................................ 2011
110.3 Features ..................................................................................................................... 2012
110.4 Parameters ................................................................................................................. 2012
110.4.1 Parameter Definitions ....................................................................................... 2012

111. STROUT – String Output Block............................................................................ 2013


111.1 Overview ................................................................................................................... 2013
111.2 Basic Operation ........................................................................................................ 2013
111.3 Parameters ................................................................................................................. 2014
111.3.1 Parameter Definitions ....................................................................................... 2014
111.4 Functions .................................................................................................................. 2018
111.4.1 Detailed Diagram .............................................................................................. 2018
111.4.2 Associated ECBs ................................................................................................ 2018
111.4.3 DCI Connections .............................................................................................. 2018
111.4.4 Destination of Output Data .............................................................................. 2018
111.4.5 Block Output (STRING) .................................................................................. 2019
111.4.6 Time Stamp ...................................................................................................... 2019
111.4.7 Auto/Manual Switching .................................................................................... 2019
111.4.8 Bad (BAD) and Out-of-Service (OOS) Status ................................................... 2019
111.4.9 Loop Identification (LOOPID) ......................................................................... 2020

112. SWCH – Switch Block ............................................................................................ 2021


112.1 Overview ................................................................................................................... 2021
112.1.1 I/O Diagram ..................................................................................................... 2021
112.2 Features ..................................................................................................................... 2021
112.3 Parameters ................................................................................................................ 2022
112.3.1 Parameter Definitions ....................................................................................... 2023

xiv
Contents B0193AX – Rev N

112.4 Detailed Operation ................................................................................................... 2030


112.4.1 Cascade Configuration ...................................................................................... 2031

113. TIM – Timer Block................................................................................................. 2033


113.1 Overview ................................................................................................................... 2033
113.1.1 I/O Diagram ..................................................................................................... 2033
113.2 Features ..................................................................................................................... 2033
113.3 Parameters ................................................................................................................. 2034
113.3.1 Parameter Definitions ....................................................................................... 2034
113.4 Detailed Operation ................................................................................................... 2038

114. VLV – Valve Block .................................................................................................. 2041


114.1 Overview ................................................................................................................... 2041
114.2 Features ..................................................................................................................... 2041
114.3 Parameters ................................................................................................................. 2042
114.3.1 Parameter Definitions ....................................................................................... 2043
114.4 Functions .................................................................................................................. 2054
114.4.1 Detailed Diagram .............................................................................................. 2054
114.4.2 Detailed Operation ........................................................................................... 2054
114.4.3 2-Wire Configuration Using Sustained Output ................................................. 2055
114.4.4 Output Processing ............................................................................................. 2055
114.4.5 Auto/Manual State Tracking ............................................................................. 2056
114.4.6 Disable Mode .................................................................................................... 2056
114.4.7 Alarming ........................................................................................................... 2057
114.4.7.1 Mismatch .................................................................................................. 2057
114.4.7.2 Bad FBM ................................................................................................... 2057
114.4.7.3 Alarm Acknowledge ................................................................................... 2057
114.4.8 Block Initialization ............................................................................................ 2058
114.4.9 Failsafe Action ................................................................................................... 2058
114.4.10 Validation Checks ........................................................................................... 2058
114.4.11 Block Mode Control ....................................................................................... 2059
114.5 Application Example ................................................................................................ 2059

xv
B0193AX – Rev N Contents

xvi
Figures
80-1. MSG Block I/O Diagram ........................................................................................ 1374
81-1. MTR Block Diagram .............................................................................................. 1381
81-2. MTR Detailed Diagram .......................................................................................... 1395
81-3. 2-wire Typical Timing Diagram .............................................................................. 1396
81-4. 3-wire Typical Timing Diagram .............................................................................. 1397
81-5. MTR Block Application .......................................................................................... 1401
82-1. Overview Diagram .................................................................................................. 1404
82-2. MVC and MVL Block Configuration ..................................................................... 1405
82-3. Embedded MVC (Showing One Loop) ................................................................... 1417
82-4. MVC Default Display ............................................................................................. 1419
83-1. Overview Diagram .................................................................................................. 1422
83-2. Embedded MVC (Showing One Loop) ................................................................... 1447
83-3. MVL Default Display ............................................................................................. 1449
84-1. OUTSEL Block I/O Diagram ................................................................................. 1451
85-1. PACK Block Functional Diagram ........................................................................... 1461
86-1. PAKIN Block Diagram ........................................................................................... 1463
86-2. PAKIN Block Operational Diagram ....................................................................... 1469
87-1. PAKOUT Block Diagram ....................................................................................... 1473
87-2. PAKOUT Block Operational Diagram ................................................................... 1482
88-1. PATALM Block I/O Diagram ................................................................................ 1487
88-2. PATALM, Detailed Block Diagram ........................................................................ 1495
88-3. Input, Mask, and Pattern Bit Comparison .............................................................. 1496
89-1. PATT Block Detailed Functional Diagram ............................................................. 1507
89-2. Cascade Configuration for PATT Block .................................................................. 1510
89-3. Application Diagram ............................................................................................... 1512
90-1. PID Block I/O Diagram ......................................................................................... 1518
90-2. PID Simplified Signal Flow Diagram ...................................................................... 1520
91-1. PIDA Functional Diagram ...................................................................................... 1549
91-2. PIDA Controller Detailed Functional Diagram ...................................................... 1584
91-3. Cascade Configuration (Typical) ............................................................................. 1593
91-4. Output Limiting ..................................................................................................... 1594
91-5. Butterworth Measurement Filter Response .............................................................. 1595
91-6. Supervisory Setpoint Control Cascade Configuration (Typical) .............................. 1597
91-7. Setpoint Lead/Lag Compensation ........................................................................... 1599
91-8. Nonlinear Gain Response ........................................................................................ 1601
91-9. Cascade Connection ................................................................................................ 1607
91-10. Cascade Control Loop Example (Split Range) ......................................................... 1608
91-11. Output Selection Provides a Safety Override ........................................................... 1608
91-12. PIDA Sample Configuration ................................................................................... 1609
91-13. NONLOP Display .................................................................................................. 1613
91-14. Parallel Cascades ..................................................................................................... 1615
92-1. PIDE Block I/O Diagram ....................................................................................... 1617
93-1. PIDX Block I/O Diagram ....................................................................................... 1656
94-1. PIDXE Block I/O Diagram ..................................................................................... 1690

xvii
B0193AX – Rev N Figures

95-1. PLB Block I/O Diagram ......................................................................................... 1729


95-2. PLB Configuration (1 of 5) ..................................................................................... 1741
95-3. PLB Configuration (2 of 5) ..................................................................................... 1741
95-4. PLB Configuration (3 of 5) ..................................................................................... 1742
95-5. PLB Configuration (4 of 5) ..................................................................................... 1742
95-6. PLB Configuration (5 of 5) ..................................................................................... 1743
96-1. PLSOUT Block Diagram ........................................................................................ 1746
96-2. PLSOUT Block Operational Diagram .................................................................... 1755
97-1. PTC Block I/O Diagram ......................................................................................... 1761
97-2. PTC, Detailed Block Diagram ................................................................................ 1781
97-3. Pulse Duration Algorithm Timing Diagram ............................................................ 1782
97-4. Absolute Alarming .................................................................................................. 1786
97-5. Deviation Alarming ................................................................................................. 1787
97-6. PTC Block in Cascade Configuration ..................................................................... 1788
97-7. PTC with Position Feedback Using
Pulse-Duration-Algorithm ...................................................................................... 1789
98-1. RAMP Block I/O Diagram ..................................................................................... 1791
98-2. Ramp Timing Device .............................................................................................. 1801
99-1. RATIO Block I/O Diagram .................................................................................... 1803
99-2. Ratio Signal Flow Diagram ..................................................................................... 1827
100-1. REAL Block Functional Diagram ............................................................................ 1829
100-2. REAL, Detailed Block Diagram .............................................................................. 1831
100-3. VALUE Clamping .................................................................................................. 1831
101-1. REALM Block I/O Diagram ................................................................................... 1834
101-2. REALM, Detailed Block Diagram ........................................................................... 1851
101-3. Absolute Alarming .................................................................................................. 1853
101-4. Deviation Alarming ................................................................................................. 1854
101-5. Rate of Change Alarming ........................................................................................ 1855
102-1. RIN Block Diagram ................................................................................................ 1857
102-2. RIN Block Operational Diagram ............................................................................ 1866
103-1. RINR Block Diagram ............................................................................................. 1873
103-2. RINR Block Operational Diagram .......................................................................... 1885
104-1. ROUT Block Diagram ............................................................................................ 1893
104-2. ROUT Block Operational Diagram ........................................................................ 1906
105-1. SIGSEL Block I/O Diagram ................................................................................... 1917
106-1. STATE Block Functional Diagram ......................................................................... 1932
106-2. STATE Block Detailed Functional Diagram ........................................................... 1944
106-3. Auto/Manual Transition Diagram ........................................................................... 1948
106-4. Hold Transition Diagram ....................................................................................... 1950
106-5. Cascade Configuration for STATE Block ............................................................... 1954
106-6. Application Diagram ............................................................................................... 1955
107-1. STALM Block I/O Diagram ................................................................................... 1963
107-2. STALM, Detailed Block Diagram ........................................................................... 1972
108-1. Station Block Inputs/Outputs ................................................................................. 1976
108-2. Station Load Overview for Station Block Detail Display ......................................... 1978
108-3. Station Load Overview with Control Loading Overlay ............................................ 1982
108-4. Control Loading Data Collection Phasing ............................................................... 1984
108-5. Station Load Overview with OM Scanner Loading Overlay .................................... 1986

xviii
Figures B0193AX – Rev N

108-6. Station Load Overview with Group Device Assignments Overlay ........................... 1988
108-7. Station Load Overview Supervisory Groups Overlay ............................................... 1989
108-8. Station Load Overview Supervisory Groups Overlay ............................................... 1989
109-1. STRIN Block Diagram ........................................................................................... 2001
109-2. STRIN Block Operational Diagram ........................................................................ 2006
110-1. STRING Block Functional Diagram ....................................................................... 2011
111-1. STROUT Block Diagram ....................................................................................... 2013
111-2. STROUT Block Operational Diagram ................................................................... 2018
112-1. SWCH Block I/O Diagram .................................................................................... 2021
113-1. TIM Block I/O Diagram ........................................................................................ 2033
114-1. VLV Block Diagram ............................................................................................... 2041
114-2. VLV Detailed Diagram ........................................................................................... 2054
114-3. 2-wire Typical Timing Diagram .............................................................................. 2055
114-4. VLV Block Application ........................................................................................... 2060

xix
B0193AX – Rev N Figures

xx
Tables
80-1. MSG Block Parameters ........................................................................................... 1374
81-1. MTR Block Parameters ........................................................................................... 1382
81-2. MTR Block Mode Control ..................................................................................... 1400
82-1. MVC Block Parameters ........................................................................................... 1407
83-1. MVL Block Parameters ........................................................................................... 1423
84-1. OUTSEL Block Parameters .................................................................................... 1452
85-1. PACK Block Parameters .......................................................................................... 1461
86-1. PAKIN Block Parameters ........................................................................................ 1464
87-1. PAKOUT Block Parameters ................................................................................... 1475
88-1. PATALM Block Parameters .................................................................................... 1488
89-1. PATT Block Parameters .......................................................................................... 1500
89-2. Bad Lock Truth Table ............................................................................................. 1508
89-3. PATT Block Feedback Patterns ............................................................................... 1514
89-4. PATT Block Pattern and Mask Configuration ........................................................ 1515
90-1. PID Block Parameters ............................................................................................. 1521
91-1. PIDA Block Parameters ........................................................................................... 1552
91-2. Variable Definitions ................................................................................................ 1585
91-3. Control Mode Filtering and Tuning Features ......................................................... 1590
91-4. Ramping Action for SPROPT Options ................................................................... 1600
91-5. Parameter Settings for Block Initialization ............................................................... 1605
91-6. Status of Critical Parameters ................................................................................... 1606
92-1. PIDE Block Parameters ........................................................................................... 1620
93-1. PIDX Block Parameters .......................................................................................... 1659
94-1. PIDXE Block Parameters ........................................................................................ 1693
95-1. PLB Block Parameters ............................................................................................. 1730
96-1. PLSOUT Block Parameters ..................................................................................... 1747
97-1. PTC Block Parameters ............................................................................................ 1763
98-1. RAMP Block Parameters ......................................................................................... 1792
99-1. RATIO Block Parameters ....................................................................................... 1805
100-1. REAL Block Parameters .......................................................................................... 1829
101-1. REALM Block Parameters ...................................................................................... 1835
101-2. REALM Inhibit Alarm Option Booleans ................................................................ 1852
102-1. RIN Block Parameters ............................................................................................. 1858
103-1. RINR Block Parameters .......................................................................................... 1874
104-1. ROUT Block Parameters ........................................................................................ 1895
105-1. SIGSEL Block Parameters ....................................................................................... 1918
106-1. STATE Block Parameters ........................................................................................ 1934
106-2. Operating Mode Priority ......................................................................................... 1946
106-3. STATE Block Parameter Configuration .................................................................. 1956
106-4. PATT Block Feedback Patterns ............................................................................... 1957
106-5. PATT Block Pattern and Mask Configuration ........................................................ 1958
107-1. STALM Block Parameters ....................................................................................... 1964
108-1. Load Sync Fields/ Loading Periods and Valid Phases ............................................... 1985
108-2. Station Load Overview Supervisory Groups Overlay Definitions ............................ 1990

xxi
B0193AX – Rev N Tables

108-3. Station Block Parameters ......................................................................................... 1990


109-1. STRIN Block Parameters ........................................................................................ 2002
110-1. STRING Block Parameters ..................................................................................... 2012
111-1. STROUT Block Parameters .................................................................................... 2014
112-1. SWCH Block Parameters ........................................................................................ 2022
113-1. TIM Block Parameters ............................................................................................ 2034
114-1. VLV Block Parameters ............................................................................................ 2042
114-2. VLV Block Mode Control ...................................................................................... 2059

xxii
Preface
This document, Integrated Control Block Descriptions, provides reference information for using
control blocks, equipment control blocks (ECBs) and window equipment control blocks (window
ECBs).

Audience
This book is intended for experienced process engineers and application programmers.

Contents
The Preface provides details on how to use this book, additional reference information, and revi-
sion information indicating which blocks were changed and how.
The control block sections each describe one control 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 contains the following:
♦ A brief functional summary.
♦ A list of features and options.
♦ Diagrams illustrating inputs, outputs, options and operation.
♦ A detailed description of block operation.

Revision Information
For Release 6.5, the following changes were made to the document:
Chapter 83 “MVL – Multivariable Loop Block”
♦ Revised Table 83-1, “MVL Block Parameters,” on page 1423
♦ Revised the SPCLMP parameter.
Chapter 86 “PAKIN – Packed Input Block”
♦ Revised the PKINGP parameter to reflect Modbus (FBM224) functionality.
Chapter 87 “PAKOUT – Packed Output Block”
♦ Added disclaimer to the PFSOUT and PFSOPT parameters
♦ Revised the PKCOGP parameter to reflect Modbus (FBM224) functionality.
Chapter 91 “PIDA – Advanced PID Block”
♦ Revised Table 91-1 on page 1552
♦ Revised the SPCLMP parameter
♦ Revised “Setpoint Limiting” on page 1598.

xxiii
B0193AX – Rev N Preface

Chapter 96 “PLSOUT – Pulse Output Block”


♦ Revised the CO1_PT, CO2_PT, INI_PT, and RBK_PT parameters to reflect Modbus
(FBM224) functionality.
Chapter 102 “RIN - Real Input Block”
♦ Revised the PNT_NO parameter to address HART and Modbus (FBM224)
functionality.
Chapter 103 “RINR - Redundant Real Input Block”
♦ Revised the RI1_PT, RI2_PT, and RI3_PTparameters to address Modbus (FBM224)
functionality.
Chapter 104 “ROUT - Real Output Block”
♦ Added disclaimer to the FSOPTN and FSOUT parameters
♦ Revised the PNT_NO parameter to address HART and Modbus (FBM224)
functionality.

Related Documentation
Refer to the following documents for additional information:
♦ Integrated Control Configurator (B0193AV)
♦ Integrated Control Software Concepts (B0193AW)
♦ Supervisory Set Point Control (B0193RY)
♦ Fieldbus Cluster I/O User’s Guide (B0193RB)
♦ Enhanced PLC Block Descriptions (B0193YQ)
♦ FOUNDATION fieldbus H1 Interface Module (FBM220/221) User Guide (B0400FD)
♦ I/A Series® PROFIBUS-DPTM Communication Interface Module (FBM223) User’s
Guide (B0400FE)
♦ I/A Series® HARTTM Communication Interface Module (FBM214/215/216/218) User’s
Guide (B0400FF)
♦ I/A Series® Modbus® Communication Interface Module (FBM224) User’s Guide
(B0400FK)

xxiv
80. MSG – Message Generator
Block
This chapter gives a general overview of the MSG (Message Generator Block), its options and
parameters, describes block validation and initialization.

80.1 Overview
The Message Generator block (MSG) is designed to generate “STATE CHANGE” messages
upon transitions of its boolean inputs.
After initialization and subsequent block scan periods, the MSG block reads its eight boolean
message request indicators. If it detects a transition from 0-to-1 or 1-to-0, it sends the “STATE
CHANGE” message for each type of transition. The block does not send a message on the transi-
tion if you did not configure any text or linkage name.
The block has no alarming functionality.

80.2 Options
You can choose where the block should look for the input information:
♦ If the SUBSET parameter is configured to 0 (default), the block uses the generic bool-
ean inputs IN_1 through IN_8.
♦ If SUBSET is configured to 1, 2, 3, or 4, the block uses a byte from the long packed
boolean input LNGPIN to obtain the message requests. 1 corresponds to the high-
order byte of the LNGPIN; 4 corresponds to the low-order byte. The high-order bit
of the byte represents IN_1; the low-order bit represents IN_8.
If SUBSET is configured to 1, 2, 3, or 4, the block unpacks the 8-bit field from LNGPIN into
IN_1 through IN_8 each time there is a change in LNGPIN to bypass the faceplate display limi-
tations on switching to the different source parameters.

1373
B0193AX – Rev N 80. MSG – Message Generator Block

80.2.1 I/O Diagram

16 connectable strings (MSG0_x and MSG1_x)


MSGGRP-
SUBSET

IN_1
IN_2
IN_3
IN_4
IN_5 MSG messages
IN_6
IN_7
IN_8
LNGPIN
Figure 80-1. MSG Block I/O Diagram

80.3 Parameters
Table 80-1. MSG 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 94 MSG
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/no-set blank 1 to 32 chars
SUBSET bit subset short no-con/no-set 0 1 to 255
MSGGRP message group integer no-con/set 1 [1..8]
LNGPIN long packed input pack_l con/set 0 ---
IN_1 to IN_8 input point 1 to 8 boolean con/set 0 0 to 1
MSG1_1 to MSG1_8 message for 0-to-1, 1 to 8 string con/set blank 1 to 12 chars
MSG0_1 to MSG0_8 message for 1-to-0, 1 to 8 string con/set blank 1 to 12 chars
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
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
MSGSND message sent short no-con/no-set 0 8-bit map
OWNER owner name string no-con/set blank 1 to 32 chars

1374
80. MSG – Message Generator Block B0193AX – Rev N

80.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 block’s opera-
tional states. For the MSG 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
B10
B11
B12
B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

ON
Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
14 UDEF Undefined BLKSTA.B18
15 ON Compound On BLKSTA.B17

* Bit 0 is the least significant bit (starting from the right).

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.

DESCRP Description is a user-defined string of up to 32 characters that describe the


block’s 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 block’s
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 MSG block, the following list
specifies the possible values of ERCODE, and the significance of each
value in this block:

1375
B0193AX – Rev N 80. MSG – Message Generator Block

Message Value
“W43 – INVALID PERIOD/ PHASE does not exist for given block
PHASE COMBINATION” PERIOD, or block PERIOD not
compatible with compound
PERIOD.
“W46 – INVALID INPUT The source parameter specified in the
CONNECTION” 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 The configured value of a block
OPTION” option is illegal.
“W53 – INVALID PARAMETER A parameter value is not in the
VALUE” acceptable range.
“W58 – INSTALL ERROR; A Database Installer error has
DELETE/UNDELETE BLOCK” occurred.

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.

LNGPIN Long Packed Boolean Input is a packed input. If SUBSET is configured to


1, 2, 3, or 4, the block uses a byte from the long packed boolean input
LNGPIN to obtain the message requests. 1 corresponds to the high-order
byte of the LNGPIN; 4 corresponds to the low-order byte. The high-order
bit of the byte represents IN_1; the low-order bit represents IN_8.

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
IN_2 B10
IN_3 B11
IN_4 B12
IN_5 B13
IN_6 B14
IN_7 B15
IN_8 B16
IN_1 B17
IN_2 B18
IN_3 B19
IN_4 B20
IN_5 B21
IN_6 B22
IN_7 B23
IN_8 B24
IN_1 B25
IN_2 B26
IN_3 B27
IN_4 B28
IN_5 B29
IN_6 B30
IN_7 B31
IN_8 B32
IN_1 B1
IN_2 B2
IN_3 B3
IN_4 B4
IN_5 B5
IN_6 B6
IN_7 B7
IN_8 B8
IN_1 B9

SUBSET=1 SUBSET=2 SUBSET=3 SUBSET=4

If SUBSET is configured to 1, 2, 3, or 4, the block unpacks the 8-bit field


from LNGPIN into IN_1 through IN_8 each time there is a change in
LNGPIN to bypass the faceplate display limitations on switching to the
different source parameters.

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.

1376
80. MSG – Message Generator Block B0193AX – Rev N

MSG0_1 to MSG0_8
Message 0_1 through 0_8 are string inputs containing the text for one to
zero transition annunciation. If no text is configured for these messages,
no messages are sent.

MSG1_1 to MSG1_8
Message 1_1 through 1_8 are string inputs containing the text for zero to
one transition annunciation. If no text is configured for these messages, no
messages are sent.

MSGGRP Message Group is the message device group number.

MSGSND Messages Sent is an 8-bit mapped character indicating the points which
have undergone transitions.

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 block’s 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*****

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

1377
B0193AX – Rev N 80. MSG – Message Generator Block

*** 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, and CP60.

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. See Integrated Control Software Concepts
(B0193AW) document.

SUBSET Sub-Set is a short integer input that sets the byte group number to be used
to derive IN_1 through IN_8 from LNGPIN.
If SUBSET is 0 (default), MSG uses the generic boolean inputs IN_1
through IN_8 to trigger “STATE CHANGE” messages.
If SUBSET is configured to 1, 2, 3, or 4, the block uses a byte from the
long packed boolean input LNGPIN to obtain the message requests. 1
corresponds to the high-order byte of the LNGPIN; 4 corresponds to the
low-order byte. The high-order bit of the byte represents IN_1; the low-
order bit represents IN_8.
If SUBSET is configured to 1, 2, 3, or 4, the block unpacks the 8-bit field
from LNGPIN into IN_1 through IN_8 each time there is a change in
LNGPIN. See LNGPIN above for a diagram.

TYPE When you enter “MSG” or select “MSG” from the block type list under
Show, an identifying integer is created specifying this block type.

80.4 Block Validation


The validation logic includes the following verifications:
♦ SUBSET is configured to 0, 1, 2, 3, or 4.
♦ No connection is specified for LNGPIN if SUBSET is configured to 0.
♦ No connection is specified for IN_1 through IN_8 if SUBSET is configured to 1, 2,
3, or 4.
♦ MSGGRP is configured to 1 through 8.
If the validation detects a problem, the block becomes undefined.

80.5 Block Initialization


The block executes a restart logic when its compound is switched from OFF to ON or when the
block is installed or modified within a compound that is already ON. The block initializes to
zeros the internal history of the inputs.

1378
80. MSG – Message Generator Block B0193AX – Rev N

The station reboot operation forces initialization logic to run. After “reboot,” LNGPIN and IN_1
through IN_8 are reset if they are not connected.

80.6 Example
Refer to the MEALM block description for an application example involving the use of the
MEALM, STALM, and MSG blocks.

1379
B0193AX – Rev N 80. MSG – Message Generator Block

1380
81. MTR – Motor Control Block
This chapter gives a general overview of the MTR (Motor Control Block), its features,
parameters and detailed operations.

81.1 Overview
The Motor Control block (MTR, Figure 81-1) provides run/stop control of 2-wire or 3-wire
motor circuits and interfaces to a discrete-type Fieldbus Module (FBM). The 2-wire configuration
generates a single sustained output. The 3-wire configuration provides two pulsed outputs. The
MTR block also provides mismatch timeout alarming if the motor’s sensed operation does not
match the requested operation within a user-defined time period.

Pulse Time
2 or 3-wire
Disable

COUT_1
Auto
Auto Run

Manual Run COUT_2


Manual
Invert

Invert Output

Mismatch
Timer Time
Comparison
Motor Status
Start/Stop Time
Figure 81-1. MTR Block Diagram

81.2 Features
The features are:
♦ Manual/Auto mode for “remote” control of the motor device
♦ Auto and Manual latch switch inputs (AUTSW and MANSW) that allow the block
to be switched to Auto or Manual
♦ Open loop indication to upstream blocks
♦ User-specifiable pulse output time width
♦ State mismatch alarming
♦ Bad FBM alarming
♦ Disable input for “local” control of the motor device
♦ Alarm message inhibiting
♦ Failsafe support.

1381
B0193AX – Rev N 81. MTR – Motor Control Block

The options are:


♦ 2-wire or 3-wire configuration (OUTOP).
♦ FBM drive option (IOMOPT) for connecting COUT_1 and COUT_2 directly to a
configured FBM.
♦ Invert the Stop output (INVOPT) polarity on COUT_2.
♦ Initialize Manual/Auto (INITMA) specifies the desired state of the MA input during
initialization.
♦ Manual If Failsafe (MANFS), when configured true, drives the block to the Manual
state if the block detects an incoming failsafe status.
♦ Inhibit Option (INHOPT) allows you to specify alarm inhibit options.

81.3 Parameters
Table 81-1. MTR 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 29 MTR
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/no-set blank 1 to 32 chars
IOMOPT FBM output option short no-con/no-set 0 0 to 2
IOM_ID FBM reference string no-con/no-set blank ---
CO1_PT contact out1 FBM point string no-con/no-set 0 [1..32]
CO2_PT contact out2 FBM point string no-con/no-set 0 [1..32]
AUTRUN auto run request Boolean con/set 0 0 to 1
MANRUN manual run request Boolean con/set 0 0 to 1
DISABL disable input Boolean con/set 0 0 to1
MSTAT motor status Boolean con/set 0 0 to1
OUTOP 2 or 3 wire operation Boolean no-con/no-set 0 (2-wire) 0 to 1
TPULSE out pulse time real no-con/no-set 0.0 [0..]minutes
TSTP start/stop time real no-con/no-set 0.0 [0..]minutes
ANM alarm name point 1 string no-con/no-set blank 1 to 12 chars
NM0 to NM1 alarm state name string no-con/no-set blank 1 to 12 chars
MA manual/auto Boolean con/set 0 0 to 1
INITMA initialize MA short no-con/no-set 1 [0|1|2]
MANSW manual switch Boolean con/set 0 0 to 1
AUTSW auto switch Boolean con/set 0 0 to 1
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
INHALM inhibit alarm pack_b con/set 0 0 to FFFF
INVOP contact out2 invert option Boolean no-con/no-set 0 0 to 1

1382
81. MTR – Motor Control Block B0193AX – Rev N

Table 81-1. MTR Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


SAP state alarm priority integer con/set 5 [1..5]
SAG state alarm group short no-con/set 1 [1..8]
BAP bad alarm priority integer con/set 5 [1..5]
BAG bad alarm group short no-con/set 1 [1..8]
BAT bad alarm text string no-con/no-set blank 1 to 32 chars
RSMMOP reset mismatch option Boolean no-con/no-set 0 0 to 1
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_1 contact out 1 Boolean con/no-set 0 0 to 1
COUT_2 contact out 2 Boolean con/no-set 0 0 to 1
CRIT criticality integer con/no-set 0 [0..5]
FS failsafe state Boolean con/no-set 0 0 to 1
INHSTA inhibit status pack_l con/no-set 0 0 to FFFF
INITO initialize out short con/no-set 0 0 to 1
MMAIND mismatch alarm indicator Boolean con/no-set 0 0 to 1
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 FFFF
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
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
TTOTAL timeout length integer no-con/no-set 1 block executions
WCOUNT pulse counter integer no-con/no-set -1 block executions
WTOTAL pulse width integer no-con/no-set 1 block executions

1383
B0193AX – Rev N 81. MTR – Motor Control Block

81.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 MTR block, only the following unshaded 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
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

Bit
Number* Configured Alarm Option Boolean Connection
(0 to 31) When True (B32 to B1)
0 Alarm Group 8 in Use ALMOPT.B32
1 Alarm Group 7 in Use ALMOPT.B31
7 Alarm Group 1 in Use ALMOPT.B25
22 Bad I/O Alarm Configured ALMOPT.B10
* Bit 0 is the least significant bit (starting from the right)

There are no mnemonic names for the individual bits of ALMOPT.

ALMSTA Alarm Status is a 32-bit output, bit-mapped to indicate the block’s alarm
states. For the MTR 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
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
UNAK B2
B3
B4
B5
B6
B7
B8
B9

CRIT PRTYPE
BAD
INH

1384
81. MTR – Motor Control Block B0193AX – Rev N

Boolean
Bit Number Connection
(0 to 31)* Name Description When True (B32 to B1)
0 to 4 PTYP_MSK Priority Type: See parame- ALMSTA.B32–
ter PRTYPE for values ALMSTA.B28
used in the MTR block
5 to 7 CRIT_MSK Criticality; 5 = lowest pri- ALMSTA.B27–
ority, 1= highest ALMSTA.B25
22 BAD Input/Output Bad (BAD ALMSTA.B10
output of block)
29 INH Alarm inhibit ALMSTA.B3
30 UNAK Unacknowledged ALMSTA.B2
* Bit 0 is the least significant bit (starting from the right).

ANM Alarm Name is a user-defined string of up to 12 characters that identify


the input point as the source of the alarm in the alarm messages. It serves
as a point descriptor label.

AUTRUN Auto Run is a Boolean input. Typical sources for this transition-type event
input are user programs or other blocks. In a two-wire configuration oper-
ating in Auto, a positive transition at AUTRUN sets COUT_1 true. In a
three-wire configuration operating in Auto, a positive transition at
AUTRUN sets the COUT_1 output true. A negative transition at
AUTRUN sets the COUT_2 output false.

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.

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.

BAG Bad Alarm Group is an integer input that directs Bad alarm messages to
one of eight groups of alarm devices.

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 the block’s opera-
tional states. For the MTR block, only the following bits are used:

1385
B0193AX – Rev N 81. MTR – Motor Control 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

B10
B11
WLCK B12
B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

BAD
DIS

MA
ON
FS

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
11 MA Manual(= false)/Auto(= true) BLKSTA.B21
12 BAD Bad I/O BLKSTA.B20
14 UDEF Undefined BLKSTA.B18
15 ON Compound On BLKSTA.B17
20 WLCK Workstation Lock BLKSTA.B12
23 DIS Disable Status of Block BLKSTA.B9
24 FS Failsafe BLKSTA.B8
* Bit 0 is the least significant bit (starting from the right).

CO1_PT Contact Output 1 Point is a string input that specifies the point number
on the FBM terminal board that connects to the Run Drive input of
MTR block. Point number ranges for the applicable FBM types are:
FBM Type Point Number
241 9 to 16
242 1 to 16
9 9 to 16
14 25 to 32
17 11 to 14

CO2_PT Contact Output 2 Point is a string input that specifies, for a three-wire
configuration, the point number on the FBM terminal board that con-
nects to the Stop Drive input of the MTR block. CO2_PT is ignored in a
two-wire configuration. See the CO1_PT definition for the point number
ranges.

COUT_1 Contact Out 1 is one of the block’s two Boolean outputs. The block
always secures COUT_1. During two-wire operation (DISABL = false),
the selected input, is written to COUT_1. During three-wire operation
(DISABL = false, OUTOP = true), a positive transition at
AUTRUN/MANRUN (depending on auto/manual mode) pulses
COUT_1 for the time interval TPULSE. COUT_1, in turn, is written to

1386
81. MTR – Motor Control Block B0193AX – Rev N

the addressed channel of the FBM when IOMOPT is true. Refer to the
MA and DISABL definitions for details on how they affect COUT_1.

COUT_2 Contact Out 2 is the other of the block’s two Boolean outputs. The block
always secures COUT_2. COUT_2 operates only in the three-wire con-
figuration. In three-wire operation (DISABL = false, OUTOP = true), a
negative transition at AUTRUN/MANRUN (depending on auto/manual
mode) pulses COUT-2 for the time interval TPULSE. COUT_2, in turn,
is written to the addressed channel of the FBM when IOMOPT is true.
Refer to the MA and DISABL definitions for details on how they affect
COUT_2.

CRIT Criticality is an integer output that indicates the priority, ranging from 1
to 5, of the block’s 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. 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. DEFINE is the inverse of undefined (UDEF) in the BLKSTA
parameter.

DESCRP Description is a user-defined string of up to 32 characters that describe the


block’s 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 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.

DISABL Disable is a Boolean input. When true, DISABL sets the outputs
COUT_1 and COUT_2 to stop states, and inhibits normal block opera-
tion in either Auto or Manual mode. While DISABL is false (block
enabled), the block accepts requests from either the AUTRUN or MAN-
RUN inputs. DISABL is independent of MA, and has a higher priority.

ERCODE Error Code is a string data store which indicates the type of configuration
error or warning encountered. The error situations cause the block’s
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 MTR block, the following
list specifies the possible values of ERCODE, and the significance of each
value in this block:

1387
B0193AX – Rev N 81. MTR – Motor Control Block

Message Value
“W43 – INVALID PHASE does not exist for given
PERIOD/PHASE block PERIOD, or block PERIOD
COMBINATION” not compatible with compound
PERIOD.
“W44 – INVALID High range value is less than or
ENGINEERING RANGE” equal to low range value.
“W46 – INVALID INPUT The source parameter specified in
CONNECTION” the input connection cannot be
found in the source block, or the
source parameter is not connectable,
or an invalid boolean extension con-
nection has been configured.
“W48 – INVALID BLOCK The configured value of a block
OPTION” option is illegal.
“W51 – INVALID An I/O block is connected to an
HARDWARE/ ECB or the wrong type.
SOFTWARE TYPE”
“W52 – INVALID I/O An I/O block is connected to an
CHANNEL/GROUP ECB when the specified point num-
NUMBER” ber is invalid or when the specified
group or octet number is invalid.
“W53 – INVALID A parameter value is not in the
PARAMETER VALUE” acceptable range.
“W54 – ECB DOES An I/O block has a connection to an
NOT EXIST” ECB that does not exist or has not
yet been installed. When the ECB is
installed, previously installed I/O
blocks waiting for that ECB will ini-
tialize automatically.
“W58 – INSTALL A Database Installer error has
ERROR; occurred.
DELETE/UNDELETE
BLOCK”
“W59 – DUPLICATE This block and another output
OUTPUT CHANNEL” block are connected to the same
output point. Since this may be
intentional, this message is only a
warning.

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.

1388
81. MTR – Motor Control Block B0193AX – Rev N

INHALM Inhibit Alarm contains packed Boolean values that represent alarm inhibit
requests for each alarm type or point configured in the block. For the
MTR block, only the following bits are used:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

B10

B11

B12

B13

B14

B15

B16
B1

B2

B3

B4

B5

B6

B7

B8

B9
Bit Number* Boolean Connection
(0 to 15) Description When True (B16 to B1)
13 Inhibit Alarm INHALM.B3
14 Inhibit Unacknowledged INHALM.B2
* Bit 0 is the least significant bit (starting from the right)

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

INHSTA Inhibit Status contains packed long values that represent the actual inhibit
status of each alarm type configured in the block. For the MTR block,
only the following bits are used:

1389
B0193AX – Rev N 81. MTR – Motor Control 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

B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
UNACK B2
B3
B4
B5
B6
B7
B8
B9
INH

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
29 INH Inhibit Alarm INHSTA.B3
30 UNACK Inhibit Unacknowledged INHSTA.B2
* Bit 0 is the least significant bit (starting from the right)

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

INVOP Invert Option, when true, inverts the Stop output (COUT_2) for three-
wire applications requiring normally-closed Stop contacts in the field.

1390
81. MTR – Motor Control Block B0193AX – Rev N

IOMOPT Fieldbus Module Option is a short integer that specifies whether an FBM
connection to the block exists.
IOMOPT, for the MTR block, has a range of 0 to 1 where:
0= The block outputs are not connected to an FBM. This option
may be used for simulation, or for connecting
COUT_1/COUT_2 as inputs to other blocks.
1= The block outputs are connected to a discrete-type FBM speci-
fied by the IOM_ID, CO1_PT/CO2_PT.

IOM_ID Fieldbus Module Identifier is a string that specifies the FBM or FBC to
which the block is connected. IOM_ID can be either:
♦ The 6-character letterbug of the FBM or FBC. The ECB must
reside in the local compound <cp_letterbug>_ECB where
cp_letterbug is the station letterbug of the CP.) For IFD inputs,
this is the letterbug of the parent FBM (18, 43, 39, 44, or 46).
♦ The full pathname of the ECB. The ECB must be local but can
reside in any compound. The pathname must be of the form
<local_compound_name>:<ecb_name>, where <ecb_name> is the
NAME parameter of the ECB. In the case of IFD inputs, the
NAME parameter of the parent ECB (12, 23, or 38R) must be
used.

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 block’s
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 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, output takes the value from MANRUN. The

1391
B0193AX – Rev N 81. MTR – Motor Control Block

output is always secured. An external program can then set the output to a
desired value.

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.

MANRUN Manual Run is a Boolean input. The typical use for this transition-type
event input is to accept operator requests through the HI interface. In a
two-wire configuration operating in Manual, a positive transition at
MANRUN sets COUT_1 output true. In a three-wire configuration
operating in Manual, a positive transition at AUTRUN sets the COUT_1
output true. A negative transition at MANRUN sets COUT_2 output
false.

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.

MMAIND Mismatch Indicator is a Boolean output that is set true whenever the
sensed state of the valve (determined by MSTAT) does not match the
requested state within the timer interval, TSTP. The block generates an
alarm when it sets MMAIND true, if the INHIB input is false.

MSTAT Motor Status is an input pointing to the program or block that monitors
the state of the motor (logic 0 = Stopped; logic 1 = Running).

NAME Name is a user-defined string of up to 12 characters used to access the


block and its parameters.

NM0 Name 0 is a user-defined string of up to 12 characters. NM0 describes in


alarm reports the action generated by the mismatch indicator MMAIND
returning from alarm.

NM1 Name 1 is a user-defined string of up to 12 characters. NM1 describes, in


alarm reports, the action generated by the mismatch indicator MMAIND
going into alarm.

OUTOP Output Option is a Boolean input that dictates whether the block is to
control a two-wire (OUTOP = false) or a three-wire (OUTOP = true)
motor. You can change OUTOP only by reconfiguring the block.

OWNER Owner is a settable string of up to 32 ASCII characters which are 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 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.

1392
81. MTR – Motor Control Block B0193AX – Rev N

PERIOD Period is an indexed input that dictates the block’s 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*****

* 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, and CP60.

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. See Integrated Control Software Concepts
(B0193AW) document.

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
8 = BAD Alarm

RSMMOP Reset Mismatch Option is used to specify that the AUTRUN and MAN-
RUN inputs be reset when a mismatch alarm occurs in an MOVLV block.
0 = No reset action.
1 = Reset AUTRUN and MANRUN inputs if mismatch alarm occurs.

1393
B0193AX – Rev N 81. MTR – Motor Control Block

SAG State Alarm Group is a short integer input that directs mismatch alarm
messages to the corresponding group of alarm devices.

SAP State Alarm Priority is an integer input that sets the alarm priority for the
mismatch alarm reporting (1 is the highest priority).

TPULSE Time of Pulse sets the pulse duration of the two outputs, COUT_1 and
COUT_2, in minutes. Enter a value consistent with the drive require-
ments of the motor. Minimum value is 1 block scan period.

TSTP Time to Run or Stop is a real value fixing the delay, in minutes, before the
comparison for mismatch is made. Configure a delay at least as great as the
maximum time required for the motor to go from one state to the other.

TTOTAL Timeout Length is an integer used by the MTR block as a local value con-
taining the total number of block executions in the alarm timeout for out-
put mismatch.

TYPE When you enter “MTR” or select “MTR” 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.

WCOUNT Width Counter is an integer used by the MTR block as a temporary value
in counting the pulse width.

WTOTAL Pulse Width is an integer used by the MTR block as a local value contain-
ing the total number of block executions in the pulse width of a pulsed
output.

1394
81. MTR – Motor Control Block B0193AX – Rev N

81.4 Functions
81.4.1 Detailed Diagram

TPULSE
OUTOP
DISABL IOM_ID
AUTSW CO1_PT
Auto COUT_1
AUTRUN MA
IOM_ID
CO2_PT
MANRUN COUT_2
Manual Invert
MANSW
INVOP

MAIND
Time
Timer Comparison

MSTAT
TSTP
INHIB
IOMOPT AND COUT.OOS
ECB OOS
INITO.OOS
CRBK.OOS
COUT.SECURE
ECB Bad
OR BAD
Readback AND
Point Status COUT.BAD
Bad IOMOPT
INITO.BAD
CRBK.BAD
COUT.SECURE
Bad
Failsafe AND Alarming
BAO
Detection AND
Manual
OR FS

Auto AND
Transition Cycle Open INITO
Cascade
Detection

Figure 81-2. MTR Detailed Diagram

81.5 Detailed Operation


The MTR block has an operator (Manual) mode and an external (Auto) mode. In Manual, the
block accepts operator-set Run/Stop commands to the MANRUN input. In Auto any block, task,
or application program can initiate the Run/Stop actions to the AUTRUN input.

1395
B0193AX – Rev N 81. MTR – Motor Control Block

Desired state parameters are the MANRUM and AUTRUN parameters and can be changed as
follows:
♦ MANRUN can be changed only when the block is in Manual.
♦ AUTRUN can be changed while the block is in Auto.

81.5.1 2-Wire Configuration Using Sustained Output


Key Parameters: OUTOP, COUT_1, IOM_ID, CO1_PT, IOMOPT
In the 2-wire configuration, COUT_1 is the sustained Open/Close or Run/Stop drive contact:
COUT_1 = 1 = Open/Run
COUT_1 = 0 = Close/Stop
The block drives COUT_1 directly to either the Open/Run or the Close/Stop position. When an
FBM is connected for outputs (that is, IOMOPT = 1), the value of COUT_1 is copied to the
output point specified by IOM_ID and CO1_PT.
During 2-wire operation (DISABL = false and OUTOP = false), the selected input (AUTRUN or
MANRUN) is written to COUT_1. The block drives COUT_1 directly to either the Open/Run
or the Close/Stop position (Figure 81-3). When an FBM is connected for outputs (IOMOPT =
1), the value of COUT_1 is copied to the output point specified by IOM_ID and CO1_PT.

2 - wire
DISABL
OUTOP
INVOP
AUTRUN + MANRUN
COUT_1

Figure 81-3. 2-wire Typical Timing Diagram

81.5.2 3-Wire Configuration Using Pulsed Outputs


Key Parameters: OUTOP, COUT_1, COUT_2, TPULSE, IOM_ID, CO1_PT, CO2_PT,
IOMOPT, AUTRUN, MANRUN, INVOPT
In the 3-wire configuration, COUT_1 provides the Run drive pulse, while COUT_2 provides the
Stop drive pulse. The width of these pulses is determined by TPULSE (seconds). The minimum
value for TPULSE is one block scan period. The timer operates for both Run and Stop actions.
During 3-wire operation (DISABL = false and OUTOP = true), a positive transition at the
selected input, AUTRUN or MANRUN, pulses the COUT_1 output for the time interval,
TPULSE (Figure 81-4). A negative transition at the selected input, AUTRUN or MANRUN,
generates a negative pulse at COUT_2 for the same time interval. Use the Invert Option,
INVOPT, to reverse the polarity of the Stop output, COUT_2, for those applications requiring
normally-closed Stop contacts in the field.
When an FBM is connected for outputs (IOMOPT =1), the value of COUT_1 is copied to the
output point specified by IOM_ID and CO1_PT, and the value of COUT_2 is copied to the
output point specified by IOM_ID and CO2_PT.

1396
81. MTR – Motor Control Block B0193AX – Rev N

In a 3-wire configuration, at startup, or on a transition from DISABL to normal, or from BAD to


normal, the block produces no pulse, assuming that the appropriate input parameter has no con-
nection with a parameter from another block.

3 - wire
DISABL
OUTOP
INVOP
AUTRUN + MANRUN
COUT_1 TPULSE TPULSE

COUT_2 TPULSE TPULSE

Figure 81-4. 3-wire Typical Timing Diagram

81.5.3 Output Processing


Key Parameters: IOM_ID, PNT_NO, COUT_1, COUT_2
The block outputs, COUT_1 and COUT_2, are mapped to physical I/O points by specifying the
Letterbug ID of the discrete-type FBM and the output point numbers. You specify the destina-
tion FBM in the Fieldbus Module Identifier (IOM_ID) parameter, and the point within the
FBM by the Point Number (PNT_NO) parameter. You can specify any output points provided
both outputs connect to the same FBM.
At the beginning of an I/O Read cycle, the respective FBM output channels are read and stored in
the ECB for that FBM. When the block initializes and the sustained option is configured, this
value is used to update output COUT_1.
The MTR block interfaces with discrete-type FBMs that have either sustained or momentary
configurations.
The following are the FBMs and point numbers providing valid output destinations for the MTR
block:
FBM Electrical Type Valid Output Points
FBM219 Contact or dc In; Output Switch with Internal or External Points 25 to 32
Source
FBM241 Contact or dc In; Output Switch with Internal or External Points 9 to 16
Source
FBM242 Contact Output; Output Switch with External Source Points 1 to 16
FBM09 Contact or dc In; Output Switch with Internal or External Points 9 to 16
Source
FBM10 120 V ac In; 120 V ac Output Switch Points 9 to 16
FBM11 240 V ac In; 240 V ac Output Switch Points 9 to 16
FBM14 Contact or dc In; Output Switch with Internal or External Points 25 to 32
Source Expansion
FBM15 120 V ac In; 120 V ac Output Switch Expansion Points 25 to 32
FBM16 240 V ac In; 240 V ac Output Switch Expansion Points 25 to 32

1397
B0193AX – Rev N 81. MTR – Motor Control Block

FBM Electrical Type Valid Output Points


FBM17 Contact or dc In; Output Switch with Internal or External Points 11 to 14
Source (Plus Analog I/O)
FBM26 Contact or 125 V dc or Contact Externally Powered In; Points 9 to 16
Externally Powered Output Switch
FBM27 Contact or 125 V dc or Contact Externally Powered In; Points 25 to 32
Externally Powered Output Switch Expansion

81.5.4 Auto/Manual State Tracking


Key Parameters: AUTRUN, MANRUN
The block sets all unlinked desired state parameters (MANRUN and AUTRUN) to the actual
output state, on any block Manual-Hold-Auto transition except for the Hold-to-Auto transition.

81.5.5 Disable Mode


Key Parameters: DISABL, COUT_1, COUT_2
The DISABL input, when true, inhibits normal block operation in either Manual or Auto modes
and the block outputs are set to the STOP states. You can drive DISABL with a local field contact
and use it as a permissive input for maintenance or local control. If DISABL is true, the block:
♦ Continues to perform alarm detection, alarm message acknowledgment, and limit
switch updating
♦ Indicates the actual position of the upstream device
♦ Inhibits operation in the Auto or Manual mode
♦ Sets COUT_1 to false, for a 2-wire configuration
♦ Sets COUT_1 to false and COUT_2 to true, for a 3-wire configuration.
When DISABL is false (block enabled), the block operates according to the MA status. In all
modes of operation, the block always secures the COUT_1 and COUT_2 outputs.

81.5.6 Alarming

81.5.6.1 Mismatch Alarm


Key Parameters: MSTAT, TSTP, RSMMOP, AUTRUN, MANRUN, INHIB
Alarming occurs when the requested state of the motor does not match the actual state, as deter-
mined by the motor status (MSTAT), within the specified time interval, TSTP. For the 3-wire
configuration, the timing begins at the start of the pulsed output period.
The option parameter RSMMOP (Reset Mismatch Alarm Option), when true, causes the
AUTRUN or MANRUN parameter to be reset to its original state when a mismatch alarm
occurs. This allows you to retry the original request action, without having to toggle the request
parameter in the wrong direction, by creating a leading edge for the timeout to begin again.
Mismatch alarms are cleared, and return-to-normal messages are generated, when the alarm is
acknowledged by you, or the MSTAT input indicates that the field device has changed state as
requested.
The motor status (MSTAT) input is normally connected from a CIN block. If this input goes
bad, the block can be placed in Manual to disable it. In addition, alarm inhibit (INHIB) can be

1398
81. MTR – Motor Control Block B0193AX – Rev N

set true to inhibit erroneous alarms until the bad MSTAT input is repaired.

81.5.6.2 Bad FBM


Key Parameters: AUTRUN, MANRUN, DISABL
If the FBM becomes non-operational (BAD), the block enters the Bad state and the outputs
remain at the last known driven state of the FBM contacts. Bad is a higher priority state than the
Auto, Manual, and Disable states. No requests of the AUTRUN and MANRUN inputs are pro-
cessed, and the DISABL input is not honored; that is, setting the DISABL input true while the
block state is Bad does not set the outputs to the Stop state.

81.5.6.3 Alarm Acknowledge


Key Parameters: UNACK
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.

81.5.7 Block Initialization


Key Parameter: INITO
An Initialization out parameter, INITO, provides a mechanism for indicating an open-loop con-
dition at the MTR block. The block sets INITO true if:
♦ the block is initializing
♦ the FBM is bad
♦ the block is in Manual
♦ the mismatch indicator is true
♦ DISABL is true.
Programs and upstream blocks can use INITO to sense when this block is open loop.

81.5.8 Failsafe Action


Key Parameters: FS, MANFS
When the block detects that it is recovering from an FBM failure, it checks the appropriate chan-
nel bits in the FSAFE parameter in the ECB to determine if the failure was a Communications
Failure. If the associated channel bits are true in FSAFE, the block parameter FS is set true. If the
block is Auto and MANFS is false, FS is cleared in one block cycle. If MANFS is true, the block is
switched from Auto to Manual. If the block was either already in Manual or if it switches to Man-
ual, FS remains set true until the block switches to Auto or until the output parameter is written
to by you.
On the cycle that the block recovers from a failure or initializes, the block reads back the output
value from the FBM. This value is either the FBM Hold value or the Fallback value dependent
upon the configuration of the FBM failsafe mask and failsafe data.

81.5.9 Validation Checks


The MTR block in the CP validates the configuration parameters when it is installed or reconfig-
ured.

1399
B0193AX – Rev N 81. MTR – Motor Control Block

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 MTR block, or the duplicate connection may be
desired as part of an elaborate control scheme.
When the block undergoes one of the following actions, the entire data base is checked for dupli-
cate output channels:
♦ The block is installed.
♦ The IOMOPT parameter is modified.
♦ The IOM_ID parameter is modified.
♦ A variable output point number (PNT_NO, CO1_PT, or CO2_PT) 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 are not set Undefined.

81.5.10 Block Mode Control


Key Parameters: DISABL, MA
The operating mode control parameters are DISABL and MA with DISABL having the highest
priority. The status of these parameters determines the block operating mode as shown in
Table 81-2.

Table 81-2. MTR Block Mode Control

DISABL MA Resulting Mode


True * Disable
False False Manual
False True Auto
*Don’t care

81.6 Application Example


A typical application example for the MTR block is shown in Figure 81-5. Connecting the output
to the FBM is optional. If you connect the output to an FBM, the output is sent to the FBM
(IOM_ID) and point number (PNT_NO) as specified.
The block operation can be disabled without turning off the compound. If the block DISABL is
TRUE, then block operation is suspended. Since DISABL is a connectable parameter, a field
switch can disable the block preventing inadvertent device operation while maintenance is being
performed.
In this application, the valve opens when a low measurement alarm occurs in a PIDA block. The
AUTRUN input comes from a task (Process display, another block, etc.) external to the block,
and is repeated at the output (COUT_1 or COUT_2) when the block is in automatic. In
Figure 81-5, AUTRUN comes from:PIDA.MEASL1.The true AUTRUN parameter corresponds

1400
81. MTR – Motor Control Block B0193AX – Rev N

to a start request. The MANRUN input is used when the block is in manual; manipulated by the
faceplate.
The motor’s status (On/Off ) indicate the motor’s run/stop state. The status switch is connected
through an MCIN block to the MTR block's MSTAT parameter. If it takes longer than the time
specified by the TSTP parameter to start the motor, a mismatch alarm is generated. Notification
is in the form of messages sent to a printer, Boolean output MMAIND becomes TRUE, and a
STATE alarm is indicated in the block's faceplate.

PIDA
MEASLI
Field
AUTRUN Switch
MSTAT
MTR CIN* FBM**
DISABL

MCIN*

FBM**
*CIN and MCIN can be one MCIN
**These can be one FBM
FBM**
Motor
Control

Figure 81-5. MTR Block Application

1401
B0193AX – Rev N 81. MTR – Motor Control Block

1402
82. MVC – Multivariable Controller
Block
This chapter gives a general overview of the MVC (Multivariable Controller block), its
features, parameters and operation.

82.1 Overview
The Multivariable Controller (MVC) block is one of two blocks (MVC and MVL) that support
embedded MVC in the Control Processor environment. The MVC block hosts the given multi-
variable controller application; one MVC block per multivariable controller. This block is the
host to the configuration parameters and functions that are global to the multivariable controller
application.
The MVC block is also the host to the multivariable controller state machine. The Embedded
Multivariable Controller (MVC) is a multivariable control algorithm executing in a Foxboro
I/A Series Control Processor (CP), such as CP60. This allows you to use the fault-tolerant envi-
ronment of a CP as the platform for advanced multivariable control schemes. Two block types,
the Multivariable Controller (MVC) block and the Multivariable Loop (MVL) block, support an
Embedded MVC application running in the CP. These blocks support the multivariable control
algorithm and form the interface to other CP blocks. The MVL block gets Controlled Variable
(CV) and Feedforward Variable (FV) measurements from blocks such as the AIN and writes the
Manipulated Variable (MV) supervisory set points to other regulatory blocks (PIDA, DPIDA, or
RATIO).
Model Based Predictive Control in a workstation is the source of the Embedded MVC model
which is downloaded as the database for the MVC and MVL blocks. Once created, and then pop-
ulated by the download database file, the MVC and MVL blocks are free running, needing no
additional data from the workstation. Using the MVC and MVL blocks, you can tune and oper-
ate the free-standing multivariable controller independent of the workstation environment from
which the MVC model was downloaded. The blocks can then be checkpointed, rebooted, and so
forth. The detail display provides the buttons for turning the multivariable controller on and off
and provides a configuration overlay that displays the multivariable controller parameters.
The following two sections (this chapter and Chapter 83 “MVL – Multivariable Loop Block”)
deal with the deployment of Connoisseur in a CP.
It should be kept in mind that the MVC and MVL blocks are a real time deployment option for
developed Connoisseur multivariable applications. Referring to Figure 82-1 and Figure 82-2, we
can see that from a procedures perspective, that little has changed with regards to application
development, particularly with respect to the use of native Connoisseur's PAS functions. How-
ever, given a Connoisseur multivariable application has been developed, the Embedded MVC
product provides the user a deployment option.
For the user that has elected to deploy a Connoisseur multivariable application in a Control Pro-
cessor, Connoisseur facilities that enable the user to download the developed application into the
Control Processor are used. Once downloaded into a Control Processor, the user is given access to
the parameters to tune and operate the application independent of the workstation environment

1403
B0193AX – Rev N 82. MVC – Multivariable Controller Block

from which the application was downloaded. At this point in the workflow, the workstation pro-
cessor used to support the development of the Connoisseur process model and application config-
uration can literally be removed from the I/A Series system. An Embedded MVC application is
designed to be free standing within the Control Processor. On-going operation and low-level
maintenance is then performed at the Control Processor level without requiring a workstation
connection.

NOTE
For more information on MVC and MVL block operation, refer to the Connoisseur
User Guide.

82.2 I/O Diagrams


USER INPUT VALUES:
CONTROL PROCESSOR · COST FACTORS
· CONSTRAINTS

LP OPTIMIZER
OPTIONAL MV SS TARGETS

MODEL
CVs, MVs PREDICTIVE CONTROLLER
& FVs SYSTEM
CONSTRAINT MANAGEMENT WORKSTATION

CVs, MVs & FVs

REGULATORY CONTROL SYSTEM

PROCESS PLANT
Figure 82-1. Overview Diagram

1404
82. MVC – Multivariable Controller Block B0193AX – Rev N

Foxboro I/A Series Connoisseur Connoisseur


Control Processor Real Time System Plant Analysis System

Basic Configuration

Response
Process Response Test Importing and
Testing Plant Processing Plant Data
Datafiles

Modeling of Plant
Data

Controller Design and


Batch Simulation

MVC and MVL


Block
Configuration
Real Time Simulation
(ICC)

Controller and LP
Deployment in Download On-line Controller/LP Off-line Configuration
implementation Spec. File
Control Processor and Testing

Controller and LP
Implementation
and Tuning

Figure 82-2. MVC and MVL Block Configuration

82.3 Features
The features are:
♦ Primary multivariable controller operational interface
♦ Links to all the multivariable loop (MVL) blocks
♦ Multivariable controller configuration display.

1405
B0193AX – Rev N 82. MVC – Multivariable Controller Block

The options are:


♦ Block initialization (INIOPT)
♦ Download message timeout (MTIMER)
♦ Supervisory group (SUPGRP)
♦ Message group (MSGGRP).

82.4 Parameters
NOTE
These conventions apply to the table of MVC block parameters:
Data Type (Type)
B Boolean (True or False)
SI Short Integer (8 bits)
I Integer (16 bits)
L Long integer (32 bits)
PB Packed Boolean (16 bits)
PL Packed Long (32 bits)
R Real (32 bit Single Precision Float)
C Character (ASCII format)
S String (ASCII)
Downloaded (Down)
n Not Downloaded (from Connoisseur)
Y Downloaded (from Connoisseur)
Configurability (CFG)
n Not Configurable
D Displayable only
Y Displayable and Configurable
Connectability (Conn)
n Not connectable
I Connectable input (source or sink)
O Connectable output (source)
Settability (Set)
n Never Settable
Y Always Settable
U Settable only if Unconnected Input
S Special rules apply; refer to parameter definition

1406
82. MVC – Multivariable Controller Block B0193AX – Rev N

Table 82-1. MVC Block Parameters

Parameter Description Type Down CFG Conn Set Default Range


Configurable Parameters
INPUTS
NAME MVC name S n D n n blank 1 to 12 chars
TYPE MVC block type SI n D n n 125 12 chars
DESCRP block descriptor S n Y n n 2 blanks 1 to 32 chars
LOOPID unit/loop identity S n Y n Y 2 blanks 1 to 32 chars
INIOPT initialize option B n Y n n 0 0 to 1
SIMOPT simulate option B n Y n n 0 0 to 1
MTIMER download timer SI n Y n Y 10 sec 1 to 255 sec
MSGGRP message group SI n Y n Y 1 1 to 8
MVL01- MVL01 status to MVL10 L n Y I n 0 BLOCK NAME.BLKSTA
MLV10 status
SUPGRP supervisory group SI n Y n n 1 1 to 8
Non-configurable Parameters
INPUTS
BWIDTH blocking width I Y n n n 0 0 to 500
CACTR AUTO request B n n O Y 0 0 to 1
CINITR INIT request B n n O Y 0 0 to 1
CLPR LP request B n n O Y 0 0 to 1
COFFR OFF request B n n O Y 0 0 to 1
CONDNO condition number I Y n O n 0.0 -5 to 0
CONINT control interval R Y n n n 1.0 any real >0
CONTYP control type SI Y n n n 0 -4
CREADR READY request B n n O Y 0 0 to 1
CSTART fast/slow start B Y n n n 1 0 to 1
CSTAT controller state SI n n O n 1 -1 to +9
DESHOR design horizon I Y n n n 1 0 to 500
INTTIM initialize time R n n O n 0.0 any real >= 0
LPCNFG LP configured B Y n n n 0 0 to 1
LPINTR LP update interval I Y n n n 0 0 to 32767
LPITER LP iteration I Y n n n 0 0 to 1000
LPMDLB LP model base SI Y n n n 0 0 to 2
LPTIM LP update time R n n O n 0.0 any real >0
MODODR model order SI Y n n n 0 0 to 3
MODTYP model type SI Y n n n 0 1 to 4
MSG001- download message #1 to R n n n Y all 0 all 0 to 0xffff
MSG050 #50 (500 bytes, 125 reals
each message)
MSGERR download error I n n n n 0 0 to 21
MVCOVR MVC overrun L n n O S 0 0 to 0x7fffffff
NAME01- MVL01 name to MVL10 S n Y n n blanks 25 chars
NAME10 name
NUMMSG number download message I n n n Y 0 0 to 50
NUMMVL number of MVL loops SI n n n n 0 1 to 10
NUM_CV number of CVs SI Y n n n 0 1 to 10

1407
B0193AX – Rev N 82. MVC – Multivariable Controller Block

Table 82-1. MVC Block Parameters (Continued)

Parameter Description Type Down CFG Conn Set Default Range


NUM_FV number of FVs SI Y n n n 0 0 to 10
NUM_MV number of MVs SI Y n n n 0 1 to 10
SCNINT scan interval R Y n n n 1.0 sec any real >0
SMPINT sample interval R Y n n n 1.0 sec any real >0
TIMEXC time to execution R n n O n 0.0
TUNSET tuner set number SI n n O n 0 1 to 10
OUTPUTS
BLKSTA block status PL n n O n 0 0 to 0xffff
UNACK unacknowledge B n n O S 0 0 to 1
DATA STORES
ACHNGE alternate change I n n O n 0 -32768 to 32767
DEFINE block defined B n n n n 1 0 to 1
ERCODE error code S n n n n 2 blanks 1 to 32 chars
LOCKID operator lock ID S n n n n 2 blanks 1 to 32 chars
LOCKRQ operator lock request B n n n Y 0 0 to 1
OWNER block owner S n n n Y 2 blanks 1 to 32 chars

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

BLKSTA Block Status is a 32-bit output, bit-mapped to indicate the block’s opera-
tional states. For the MVC block, only the following unshaded 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
B10
B11
WLCK B12
B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

ON

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
14 UDEF Undefined (inverse of BLKSTA.B18
parameter DEFINE)
15 ON Compound On BLKSTA.B17
20 WLCK Workstation Lock BLKSTA.B12

* Bit 0 is the least significant bit (starting from the right).

1408
82. MVC – Multivariable Controller Block B0193AX – Rev N

BWIDTH Blocking Width is the same parameter as displayed in the native Connois-
seur’s Blocking Width (0-500) field in the configuration display.

CACTR Controller AUTO Request is used with the button bar button AUTO, to
request that the controller go to the AUTO state. This request is honored
depending upon the state of the controller’s Multivariables (MVs), Con-
trolled Variables (CVs), and Feedforward Variables (FVs). This parameter
acts as a momentary closed (1 = true) contact to generate the request.
After closing, the contact automatically opens.

CINITR Controller INITIALIZATION Request is used with the button bar but-
ton INITIALIZE, to request that the controller go to the INITIALIZE
state. This request is honored depending upon the state of the controllers
Multivariables (MVs), Controlled Variables (CVs), and Feedforward Vari-
ables (FVs). This parameter acts as a momentary closed (1 = true) contact
to generate the request. After closing, the contact automatically opens.

CLPR Controller Linear Programming (LP) request is used with the button bar
button LP, to request that the controller go to the LP state. This request is
honored depending upon the state of the controllers Multivariables
(MVs), Controlled Variables (CVs), and Feedforward Variables (FVs).
This parameter acts as a momentary closed (1 = true) contact to generate
the request. After closing, the contact automatically opens.

COFFR Controller OFF Request is used with the button bar button OFF, to
request that the controller go to the OFF state. This request is honored
depending upon the state of the controller’s Measured Variables (MVs),
Controlled Variables (CVs), and Feedforward Variables (FVs). This
parameter acts as a momentary closed (1 = true) contact to generate the
request. After closing, the contact automatically opens.

CONDNO Controller Condition Number is the same parameter as shown on the


native Connoisseur Loop display. This field can also display status infor-
mation:
-1 = No tuner model
-2 = No workspace
-3 = SS computation diverged
-4 = SVD failed
-5 = Smallest SV = 0

CONINT Control Interval is the embedded MVC control interval as displayed on


the native Connoisseur’s Configuration display.

CONTYP Controller Type is the type of controller. For this release of the embedded
MVC, all controllers must be of the LR (-4) type.

CREADR Controller READY Request is used with the button bar button READY,
to request that the controller go to the READY state. This request is hon-
ored depending upon the state of the controller’s Multivariables (MVs),
Controlled Variables (CVs), and Feedforward Variables (FVs). This

1409
B0193AX – Rev N 82. MVC – Multivariable Controller Block

parameter acts as a momentary closed (1 = true) contact to generate the


request.

CSTART Controller fast/slow Start initialization option is shown as Slow Start/Fast


Start on the native Connoisseur Configuration display.
0 = SLOW
1 = FAST

CSTAT Controller Status flag indicates the controller status on the MVC faceplate
as follows:
0 = OFF - Download successful
1 = WAIT
2 = INIT - Initialize indicates that the MVC block is initializing. While in
this state, the block is not attempting to perform any real-time control
action.
3 = READY - In the READY state, the block has completed its initializa-
tion steps and is ready to go into the AUTO state.
4 = AUTO - In the AUTO state, the block is executing the multivariable
control algorithm and sending set points to underlying regulatory control
blocks.
5 = AUTO
6 = AUTO
7 = AUTO
8 = AUTO
9 = LP - Linear Programming (LP) indicates that the block is in the LP
state; the supervisory LP is sending manipulated variable targets to the
underlying multivariable controller.
10 = DISABL

DEFINE Define is a data store which indicates the presence or absence of configura-
tion errors. The default is 1 (no configuration errors). 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. DEFINE is the inverse of
BLKSTA.UDEF.

DESHOR Controller Design Horizon is shown on the native Connoisseur Configu-


ration display (0-500).

DESCRP Description is a user-defined string of up to 32 characters that describe the


block’s function.

ERCODE Error Code is a string data store which indicates the type of configuration
error or warning encountered. The error situations cause the block’s
DEFINE parameter to be set false, but not the warning situations. Valida-
tion of configuration errors does not proceed past the first error encoun-

1410
82. MVC – Multivariable Controller Block B0193AX – Rev N

tered by the block logic. The block detailed display shows the ERCODE
on the primary page, if it is not null. For the MVC block, the following
list specifies the possible values of ERCODE, and the significance of each
value in this block:
Message Value
“W46 – INVALID INPUT The source parameter specified in the
CONNECTION” 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 The configured value of a block
OPTION” option is illegal.
“W53 – INVALID PARAME- A parameter value is not in the accept-
TER able range.
VALUE”
“W58 – INSTALL ERROR; A Database Installer error has
DELETE/UNDELETE occurred.
BLOCK”

INIOPT Initialization Option allows you to cause the MVC block to initialize to
the OFF or the INITIALIZE state for the embedded MVC controller. As
a general recommendation, you should use the default of zero.
0 = Off
1 = Initialize

INTTIM Controller Initialization Timer is a countdown timer shown on the MVC


faceplate that displays the seconds remaining in the initialization period.

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 block’s
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.

1411
B0193AX – Rev N 82. MVC – Multivariable Controller Block

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.

LPCNFG Linear Programming Controller Flag indicates the presence of an LP in


the embedded MVC application:
0 = No LP
1 = LP Present

LPINTR Controller LP update Interval is the execution interval of the LP, enforced
to be a multiple of the controller interval.

LPITER Controller LP Iterations to steady state is the maximum number (0-1000)


of iterations that are performed to compute a steady state using the LP’s
dynamic model.

LPMDLB Controller LP Model Base indicates the origin of the model:


0 = LP uses base factors that are manually entered
1 = Use the SS gains from a model file
2 = Use the embedded MVC application model

LPTIM Controller LP update Time is a countdown timer display indicating the


time remaining until the next LP execution.

MODODR Controller Model Order is the Order of Dynamics parameter shown on


the native Connoisseur Identification display. A practical upper bound of
3 is recommended.

MODTYP Model Type is the controller’s model type: homogeneous or heteroge-


neous.
1 = HETRO
2 = HETRO (same as 1)
3 = HOMO
4 = HOMO (same as 3)

MSGnnn Message Group download number (001 - 050) is the controller download
message defining the MVC block internal parameters used as the data
space for downloading model and configuration data from native Con-
noisseur. MSG001-MSG050 message parameters each contains up to 500
bytes.

MSGERR Message Error is the controller error message number. This parameter
indicates that a download error has occurred.
0 = No errors
1 = Message protocol error
2 = Download error
4 = Number of loops mismatch
5 = Model spread error

1412
82. MVC – Multivariable Controller Block B0193AX – Rev N

5 = MV, CV, FV loop mismatch


6 = MV, FV samples mismatch
7 = LP optimizer not downloaded
8 = LP optimizer not defined
9 = Condition number not downloaded
10 = Condition number not defined
11 = Gainsets not downloaded
12 = Gainsets not defined
13 = QP control not downloaded
14 = QP control not defined
15 = Maximum loop workspace too small
16 = Maximum CV vector too small
17 = Maximum MV vector too small
18 = Maximum MV design steps too small
19 = Number of loops too small
20 = Prediction samples too small
21 = Gainsets mismatch

MSGGRP Message Group 1 - 8 is the I/A Series message group used for information
messages, alarms, and so forth.

MTIMER Message Timer is the controller download message timeout period in sec-
onds (1-255). The MVC block configuration information is passed in 125
word records to the MVC block. The MTIMER parameter sets the time-
out period for the record download. It is recommended that you use the
default 10 second timeout period. In practice, downloads occur in a very
short period of time, and a timeout is unlikely unless the communications
path is open or overloaded.

MVCOVR Multivariable Controller Overrun is a counter that indicates that the


embedded MVC application is overrunning. MVCOVR can be cleared by
setting it to 0.

MVLnn Multivariable Loop 01 to 10 identifies each of the MVL blocks in the


Embedded MVC block structure. You enter the connection using the
MVL’s block name and block status as follows:
BLOCK NAME.BLKSTA.
You must be absolutely certain that the MVL block ordering in the com-
pound is the same as entered via the ICC when entering the MVL block
names into the MVC block MVLnn parameters.

NAME Name is a user-defined string of up to 12 characters used to access the


block and its parameters.

1413
B0193AX – Rev N 82. MVC – Multivariable Controller Block

NAMEnn MVL block Names is a user-defined string of up to 25 characters used to


access the MVL block (1 to 10) by the MVL block. The MVL block name
must be the same as entered via the ICC.

NUMMSG Number Message is the total number (0-50) of messages downloaded


from the native Connoisseur to the MVC block.

NUMMVL Number of MVL is the number (1-10) of MVL blocks connected to the
MVC block.

NUM_CV Number of Controlled Variables is the number (1-10) of controlled vari-


ables in the embedded MVC application.

NUM_FV Number of Feedforward Variables is the number (0-10) of feedforward


variables in the embedded MVC application.

NUM_MV Number of Manipulated Variables is the number (1 - 10) of manipulated


variables in the Embedded MVC application.

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 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
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 This parameter is present but not used. The MVC block runs each BPC.

PHASE This parameter is present but not used. The MVC block runs each BPC.

SCNINT Controller Scan Interval as shown in the native Connoisseur’s System


Time display.

SIMOPT Simulation Option is the simulation facility “switch”:


0 = Real-time control mode
1 = Simulation mode.

SMPINT Controller Sample Interval is the same as shown on the native Connois-
seur’s Configuration display.

SUPGRP Supervisory Group contains the supervisory group of the underlying regu-
latory control blocks (downstream PIDA, RATIO, or DPIDA blocks)
used as the MVC manipulated variables. All the regulatory control blocks
used as the embedded MVC controllers manipulated variables must
belong to the same unique supervisory group. If, for example, a supervi-
sory application is coexisting with an embedded MVC application, these
two applications must have different supervisory groups.

1414
82. MVC – Multivariable Controller Block B0193AX – Rev N

TIMEXC Time to Execute is a cyclic counter that is preset to the negative of the
control interval and increments to 0 each sample interval.

TUNSET Controller active Gainset (1 - 10) as shown on the native Connoisseur’s


Loop display showing Active Gainset.

TYPE When you enter “MVC” or select “MVC” from the block type list under
Show, an identifying integer is created specifying this block type (125).

UNACK Unacknowledge (UNACK) is a boolean output parameter which is set


true, for notification purposes, whenever the block goes into alarm. It sets
the alarm indicator on the default display. 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.

82.5 Operation
Model Based Predictive Control in a workstation such as an I/A Series Application Workstation
51E or a high-end Windows NT laptop is the source of the Embedded MVC model which is
downloaded as the database for the MVC and MVL blocks (Figure 82-3). Once created, and then
populated by the download database file, the MVC and MVL blocks are free running, needing no
additional data from the workstation. Using the MVC and MVL blocks, you can tune and oper-
ate the free-standing multivariable controller independent of the workstation environment from
which the MVC model was downloaded. The blocks can then be checkpointed, rebooted, and so
forth.
MVLnn is a key MVC configuration parameter. You must identify each of the MVL blocks in the
embedded MVC block structure. You enter the connection using the MVL’s block name and
block status as follows: BLOCK NAME.BLKSTA. You must be certain that the MVL block
ordering in the compound is the same as entered via the ICC when entering the MVL block
names into the MVC block MVLnn parameters.
INIOPT is an initialization option for the embedded MVC controller. With this option, you can
initialize the MVC block to the OFF or the INITIALIZE state. As a general recommendation,
you should use the default 0 of zero (OFF).
When the MVC block is initially created and configured, the block’s CSTAT parameter shows the
block in its DISABLED state. This state is turned to OFF when a download is successfully com-
pleted. With the block in its OFF State, the block can be switched to:
♦ INIT - In this state the MVC block is initializing. While in this state the block is not
attempting to perform any real-time control action.
♦ READY - In the READY state, the block has completed its initialization steps and is
ready to go into the AUTO state.
♦ AUTO - In the AUTO state, the block is executing the multivariable control algo-
rithm and sending set points to underlying regulatory control blocks.
♦ LP - In the LP state, the supervisory LP is sending manipulated variable targets to the
underlying multivariable controller.
Simulation Option (SIMOPT) is the simulation facility “switch”. If it is zero, the controller is set
to the real-time control mode. If it is one, the controller is set to the simulation mode.

1415
B0193AX – Rev N 82. MVC – Multivariable Controller Block

The MVC block configuration information is passed in 125-word records to the MVC block.
The MTIMER parameter sets the timeout period for the record download. It is recommended
that the default 10 second timeout period be used. In practice, downloads occur in a very short
period of time, and a timeout is unlikely unless the communications path is open or overloaded.
The Supervisory Group (SUPGRP) parameter contains the supervisory group of the underlying
regulatory control blocks used as the MVC manipulated variables. All the regulatory control
blocks used as the embedded MVC controllers manipulated variables must belong to the same
unique supervisory group. If, for example, a supervisory application is coexisting with an embed-
ded MVC application, these two applications must have different supervisory groups.
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.

1416
82. MVC – Multivariable Controller Block B0193AX – Rev N

MODEL AND NATIVE DEVELOPMENT


CONFIGURATION CONNOISSEUR ENVIRONMENT

CONTROL APPLICATION
CONFIGURATOR CHECKPOINT PROCESSOR/
DATABASE FILE WORKSTATION

MVC BLOCK SETPOINT CONTROL


(HIGH PRIORITY) PROCESSOR
FV
MVL1 MVL BLOCK
LOOP 1
(HIGH PRIORITY) MV

MVLN CV

MVL10
LOOP 10
SETPOINT

MV/CV/FV DPIDA, PIDA, OR


VALUES AND AIN BLOCK RATIO BLOCK AOUT BLOCK
CONSTRAINTS

DOWNLOADED AIN BLOCK


MODEL

AIN BLOCK

APPLICATION
EXECUTING
THE MODEL
(AT LOWER PRIORITY) HIGH PRIORITY REGULATORY BLOCKS

PROCESS

Figure 82-3. Embedded MVC (Showing One Loop)

The Embedded MVC uses the I/A Series SSC functionality to perform group enables, group dis-
ables, and the ability to write the supervisory set points of manipulated variable CP regulatory
control blocks. Specifically, SSC allows:
♦ The CP Station block to set a group enable/disable, placing all the manipulated vari-
able regulatory control blocks into the SSC enable/disable state. This allows you to
place an MVC controller into its AUTO state without having to change the state of
individual regulatory controllers.

1417
B0193AX – Rev N 82. MVC – Multivariable Controller Block

♦ Either the primary or secondary loop of an existing regulatory control scheme to be


the supervisory set point. This allows you to interface directly to an existing regulatory
control scheme without loop restructuring.
♦ Automatic fallback without operator intervention and with a range of fallback options
should the MVC controller fail and shed its manipulated variables.
♦ The controller to automatically switch to the fallback state, if the vital MV, CV, or FV
fails or is removed from control by the operator.
♦ The underlying regulatory control blocks that have been enabled to issue an initializa-
tion request (one per block) to the supervisory application when a group enable
occurs. As a security feature, if an acknowledgement is not received, the blocks do not
change into the supervisory state, and the regulatory controls continue normal
operation.
♦ The underlying manipulated variable regulatory control block status flags to be passed
up through the regulatory control hierarchy to the Embedded MVC application, pro-
viding an indication of the MV saturation state to prevent further MV windup.

82.5.1 MVC Operator Display


The MVC Operator display (Figure 82-4) allows you to:
♦ Review MVC and MVL status information
♦ Navigate to other MVL blocks
♦ Alter the operational state of the controller (AUTOMATIC, WAIT INITIALIZE,
READY, OFF)
♦ Review MVC configuration parameters downloaded from the Native Connoisseur
product.

1418
82. MVC – Multivariable Controller Block B0193AX – Rev N

Figure 82-4. MVC Default Display

For additional information, such as, Block Connections, Supervisory Control and Multivarible
Controller operation, refer to the Connoisseur User’s Manual provided with the Connoisseur
product.

1419
B0193AX – Rev N 82. MVC – Multivariable Controller Block

1420
83. MVL – Multivariable Loop
Block
This chapter gives a general overview of the MVL (Multivariable Loop block), its features,
parameters and operation.

83.1 Overview
The Multivariable Loop (MVL) block is one of two blocks (MVC and MVL) that support
embedded Multivariable Control (MVC) in the Control Processor environment (see “Overview”
on page 1403 in Chapter 82 “MVC – Multivariable Controller Block” and refer to the Connois-
seur User Guide for more information). The MVL block is capable of hosting up to one manipu-
lated variable (MV), one controlled variable (CV), and one feedforward variable (FV) per block.
The MVL block interfaces to the CV and FV measurements and to an underlying PIDA block
used as a MV. The MVL block is the host to the configuration parameters associated with the
loop tuning parameters, and loop operational functions.
Each MV, CV, and FV associated with the MVL block has a configuration overlay that displays
the parameters for this variable. Switches are provided at the button bar to switch these variables
in and out of the multivariable control problem. Trends and bar indicators are also provided for
the respective variables. The MVL faceplate provides status information for the MV, CV, and FV
variables, indicating the status and health of the multivariable controller.

1421
B0193AX – Rev N 83. MVL – Multivariable Loop Block

83.2 I/O Diagram


USER INPUT VALUES:
CONTROL PROCESSOR · COST FACTORS
· CONSTRAINTS

LP OPTIMIZER
OPTIONAL MV SS TARGETS

MODEL
CVs, MVs PREDICTIVE CONTROLLER
& FVs SYSTEM
CONSTRAINT MANAGEMENT WORKSTATION

CVs, MVs & FVs

REGULATORY CONTROL SYSTEM

PROCESS PLANT
Figure 83-1. Overview Diagram

83.3 Features
The features are:
♦ Primary multivariable controller operational interface to individual MVs, CVs, and
FVs
♦ CV and FV measurement links
♦ Secure Supervisory Control link to MV PIDA blocks
♦ Switches for the respective MV, CV, and FV variables
♦ MV, CV, and FV configuration, trend, and status displays.
The options are:
♦ Alarm inhibit option (INHOPT)
♦ Measurement alarm option (MALOPT)
♦ Deviation alarm option (DALOPT)
♦ High-High alarm option (HHAOPT)
♦ Output alarm option (OALOPT)
♦ Setpoint clamp option (SPCLMP)
♦ Setpoint ramp option (SPRAMP)
♦ Setpoint option (SPROPT)
♦ Supervisory option (SUPOPT) - Supports SSC of the MVL set point

1422
83. MVL – Multivariable Loop Block B0193AX – Rev N

♦ Initialization supervisory option (INITSE)

83.4 Parameters
NOTE
These conventions apply to the tables of MVL block parameters:
Data Type (Type)
B Boolean (True or False)
SI Short Integer (8 bits)
I Integer (16 bits)
L Long integer (32 bits)
PB Packed Boolean (16 bits)
PL Packed Long (32 bits)
R Real (32 bit Single Precision Float)
C Character (ASCII format)
S String (ASCII)
Downloaded (Down)
n Not Downloaded (from Connoisseur)
Y Downloaded (from Connoisseur)
Configurability (CFG)
n Not Configurable
D Displayable only
Y Displayable and Configurable
Connectability (Conn)
n Not Connectable
I Connectable input (source or sink)
O Connectable output (source)
Settability (Set)
n Never Settable
Y Always Settable
U Settable only if Unconnected Input
S Special rules apply; refer parameter definition

Table 83-1. MVL Block Parameters

Parameter Description Type Down CFG Conn Set Default Range


Configurable Parameters
INPUTS
NAME MVL name S n D n n 2 blanks 1 to 12 chars
TYPE MVL block type SI n D n n 126
DESCRP block descriptor S n Y n n 2 blanks 1 to 32 chars
LOOPID unit/loop identity S n Y n Y 2 blanks 1 to 32 chars
CVMEAS CV measurement R n Y I U 0.0 RI1
CVHCON CV high constraint R n Y I U 0.0 any real
CVLCON CV low constraint R n Y I U 0.0 RI1

1423
B0193AX – Rev N 83. MVL – Multivariable Loop Block

Table 83-1. MVL Block Parameters (Continued)

Parameter Description Type Down CFG Conn Set Default Range


CVUNIT CV eng units S n n n n % 1 to 32 chars
CVSPT CV set point R n Y O S 0.0 RI1
MVHCON MV high constraint R n Y I U 100.0 RO1
MVLCON MV low constraint R n Y I U 0.0 RO1
MVUNIT MV eng units S n Y n n % 1 to 32 chars
FV FV measurement R n Y I Y 0.0 RI2
FVUNIT FV eng units S n n n n % 1 to 32 chars
CEOPT control error option I n Y n n 1 Not used
BCALCI back calculation input R n Y I n 0.0 RO1
INHOPT inhibit option SI n Y n n 0 0 to 3
INHIB inhibit switch B n Y I U 0 0 to 1
INHALM inhibit alarm PL n Y I U 0 0 to 0xffffffff
MALOPT meas alarm option SI n Y n n 0 0 to 3
MEASNM meas descriptor S n Y n n 2 blanks 1 to 32 chars
MEASHL meas high alarm limit R n Y I U 100.0 RI1
MEASHT meas high alarm text S n Y n n 2 blanks 1 to 32 chars
MEASLL meas low alarm limit R n Y I U 0.0 RI1
MEASLT meas low alarm text S n Y n n 2 blanks 1 to 32 chars
MEASDB meas alarm deadband R n Y n Y 0.0 RI1
MEASGR meas alarm group SI n Y n Y 1 1 to 8
MEASPR meas alarm priority SI n Y I U 5 1 to 5
DALOPT deviation alarm option SI n Y n n 0 0 to 3
HDALIM high deviation alarm limit R n Y I U 100.0 RI1
HDATXT high deviation alarm text S n Y n n 2 blanks 1 to 32 chars
LDALIM low deviation alarm limit R n Y I U 0.0 RI1
LDATXT low deviation alarm text S n Y n n 2 blanks 1 to 32 chars
DEVADB deviation alarm deadband R n Y n Y 0.0 RI1
DEVPRI deviation alarm priority SI n Y I U 5 1 to 5
DEVGRP deviation alarm group SI n Y n Y 1 1 to 8
DEVTIM deviation alarm time SI n Y I U 0 any real >0
HHAOPT high-high alarm option SI n Y n n 0 0 to 3
HHALIM high-high alarm limit R n Y I U 100.0 RI1
HHATXT high-high alarm text S n Y n n 2 blanks 1 to 32 chars
LLALIM low-low alarm limit R n Y I U 0.0 RI1
LLATXT low-low alarm text S n Y n n 2 blanks 1 to 32 chars
HHAPRI high-high alarm priority SI n Y I U 5 1 to 5
HHAGRP high-high alarm group SI n Y n Y 1 1 to 8
OALOPT out alarm option SI n Y n n 0 0 to 3
OUTNM out descriptor S n Y n n 2 blanks 1 to 32 chars
HOALIM high out alarm limit R n Y I U 100.0 RI1
LOALIM low out alarm limit R n Y I U 0.0 RO1
HOATXT high out alarm text S n Y n n 2 blanks 1 to 32 chars
LOATXT low out alarm text S n Y n n 2 blanks 1 to 32 chars
OUTADB out alarm deadband R n Y n Y 0.0 RO1
OUTPRI out alarm priority SI n Y I U 5 1 to 5
OUTGRP out alarm group SI n Y n Y 1 1 to 8

1424
83. MVL – Multivariable Loop Block B0193AX – Rev N

Table 83-1. MVL Block Parameters (Continued)

Parameter Description Type Down CFG Conn Set Default Range


SPCLMP setpoint clamp SI n Y n n 0 0 to 2
SPRAMP setpoint ramp B n Y I U 0 0 to 1
SPTARG setpoint target R n Y I U 0.0 RI1
SPRATE setpoint rate R n Y I U 0.0 any real
SPROPT setpoint ramp option SI n Y n n 0 0 to 3
SUPOPT supervisory option SI n Y n n 0 0 to 1
INITSE initialize SE SI n Y n n 1 0 to 2
SUPGRP MVL supervisory group SI n Y n n 1 1 to 8
MSGGRP message group SI n Y n Y 1 1 to 8
Non-Configuable Parameters
INPUTS
CVCOST CV LP cost R Y n n n 0.0 any real
CVCUSH CV cushion R Y n n n 0.0 any real
CVDZ CV dead zone R Y n n n 0.0 any real
CVEFCT CV error factor R Y n n n 0.0 any real
CVFCTR CV base factor R Y n n n 0.0 any real
CVFZ CV frozen time R Y n n n 0.0 any real
CVHACT CV high active R n n I n 100.0 RI1
CVHOR CV LR horizon I Y n n n 0 0 to 500
CVHVAL CV high validity R Y n n n 100.0 RI1
CVIFLG CV integrate flag B Y n n n 0 0 to 1
CVISCL CV integrate scale R Y n n n 0.0 any real
CVITIM CV inference time R Y n n n 0.0 any real
CVLACT CV low active R n n I n 0.0 RI1
CVLPOP CV LP optimize R n n I n 0.0 any real
CVLPST CV LP status SI n n I n 0
CVLVAL CV low validity R Y n n n 0.0 any real
CVPRED CV prediction R n n I n 0.0 any real
CVPRI CV priority SI Y n n n 0
CVROC CV rate of change R Y n n n 0.0 any real
CVSF CV scale factor R Y n n n 0.0 0.0 to 1.0
CVSTAT CV status I n n I n 0 -5 to +2
CVSWCH CV switch I n n I Y 0 0 to 2
CVTRCK CV track R n n I n 0.0 0.0 to 10.0
CVTYP CV type B Y n n n 0 0 to 1
CVWT CV weight R Y n I Y 0.0 any real
CV_VIT CV vital B Y n n n 0 0 to 1
FVDLY FV minimum delay SI Y n n n 0 0 to 10
FVDLYS FV delay spread SI Y n n n 0 0 to 10
FVFCTR FV base factor R Y n n n 0.0 any real
FVFZ FV frozen time R Y n n n 0.0 any real
FVHVAL FV high validity R Y n n n 100.0 any real
FVLVAL FV low validity R Y n n n 0.0 any real
FVROC FV rate of change R Y n n n 0.0 any real
FVSF FV scale factor R Y n n n 0.0 0.0 to 1.0

1425
B0193AX – Rev N 83. MVL – Multivariable Loop Block

Table 83-1. MVL Block Parameters (Continued)

Parameter Description Type Down CFG Conn Set Default Range


FVSTAT FV status B n n I n 0 0 to 1
FVSWCH FV switch B n n I Y 0 0 to 1
FV_VIT FV vital B Y n n n 0 0 to 1
IMPORT importance R Y n n n 0.0 any real
LRPRED LR prediction R n n I n 0.0 any real
MVCOST MV LP cost R Y n n n 0.0 any real
MVCP MVC connection L n n I n 0.0 see Note 1
MVDLY MV minimum delay SI Y n n n 0 0 to 10
MVDLYS MV delay spread SI Y n n n 0 0 to 10
MVFCTR MV base factor R Y n n n 0.0 any real
MVHACT MV high active R n n I n 100.0 RO1
MVHVAL MV high validity R Y n n n 100.0 RO1
MVILIM MV increment limit R Y n n n 0.0 any real
MVLACT MV low active R Y n n n 0.0 RO1
MVLOPT MVL options I n n n n 0 0 to 0xffff
MVLPOP MV LP optimize R n n I n 0.0 any real
MVLPST MV LP status SI n n O n 0
MVLVAL MV low validity R Y n n n 0.0 RO1
MVOUT MV output R n n O n 0.0 RO1
MVPRI MV priority SI Y n n n 0
MVSF MV scale factor R Y n n n 0.0 0.0 to 1.0
MVSTAT MV status I n n I n 0 -5 to +5
MVSWCH MV switch L n n I Y 0 0 to 2
MVTARG MV target R n n I Y 0.0 RO1
MVTRWT MV target weight R Y n I Y 0.0 any real
MVWT MV weight R Y n I Y 0.0 any real
MV_VIT MV vital B Y n n n 0 0 to 1
PIDP PID connection L n n I n 0
RI1 CV meas range R n n n n - see Note 2
RI2 FV meas range R n n n n - see Note 3
SE supervisor enable B n n n Y 0 0 to 1
SUP_IN supervisory setpoint R n n O Y 0.0 RI1
OUTPUTS
ALMSTA alarm status PL n n O n 0 0 to 0xffffffff
BLKSTA block status PL n n O n 0 0 to 0xffffffff
CVBAD CV bad B n n O n 0 0 to 1
DEFINE block defined B n n n n 1 0 to 1
FVBAD FV bad B n n I n 0 0 to 1
HDAIND high deviation alarm indicator B n n O n 0 0 to 1
HHAIND high-high alarm indicator B n n O n 0 0 to 1
HOAIND high out alarm indicator B n n O n 0 0 to 1
HOLIND high out indicator B n n O n 0 0 to 1
INHSTA inhibit status PL n n O n 0 0 to 0xffffffff
LDAIND low deviation alarm indicator B n n O n 0 0 to 1
LLAIND low-low alarm indicator B n n O n 0 0 to 1

1426
83. MVL – Multivariable Loop Block B0193AX – Rev N

Table 83-1. MVL Block Parameters (Continued)

Parameter Description Type Down CFG Conn Set Default Range


LOAIND low out alarm indicator B n n O n 0 0 to 1
LOLIND low out indicator B n n O n 0 0 to 1
MEASHI meas high alarm indicator B n n O n 0 0 to 1
MEASLI meas low alarm indicator B n n O n 0 0 to 1
MVBAD MV bad B n n O n 0 0 to 1
PRTYPE alarm priority type SI n n O n 0 0 to 5
RO1 MV out range R n n n n - see Note 4
SUPBCO supervisory back calculation out R n n O n 0.0 RI1
UNACK unacknowledge B n n O S 0 to 1 see Note 5
DATA STORES
ACHNGE alternate change I n n O n 0 -32768 to 32767
ALMOPT alarm options PL n n O n 0 0 to 0xffffffff
CRIT alarm criticality I n n O n 0 0 to 28
ERCODE error code S n n n n 2 blanks 1 to 32 chars
LOCKID operator lock ID S n n n n 2 blanks 1 to 32 chars
LOCKRQ operator lock request. B n n n Y 0 0 to 1
OWNER block owner S n n n Y 2 blanks 1 to 32 chars
Notes:
1. MVCP is connected to the MVC BLKSTA parameter.
2. RI1 contains CVHVAL. CVLVAL, and a DELTA value of 0.
3. RI2 contains FVHVAL. FVLVAL, and a DELTA value of 0.
4. RO1 contains MVHVAL. MVLVAL, and a DELTA value of 0.
5. UNACK can be set to 0, but cannot be set to 1.

83.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 boolean values representing the alarm
types that have been configured as options in the block. For the MVL
block, only the following unshaded 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
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

Bit
Number Boolean
* Configured Alarm Option Connection
(0 to 31) When True (B32 to B1)
0 Alarm Group 8 in Use ALMOPT.B32

1427
B0193AX – Rev N 83. MVL – Multivariable Loop Block

Bit
Number Boolean
* Configured Alarm Option Connection
(0 to 31) When True (B32 to B1)
1 Alarm Group 7 in Use ALMOPT.B31
7 Alarm Group 1 in Use ALMOPT.B25
16 Low Absolute Alarm Configured ALMOPT.B16
17 High Absolute Alarm Configured ALMOPT.B15
24 Low-Low Absolute Alarm Configured ALMOPT.B8
25 High-High Absolute Alarm Configured ALMOPT.B7

* Bit 0 is the least significant bit (starting from the right).


There are no mnemonic names for the individual bits of ALMOPT.

ALMSTA Alarm Status is a 32-bit output that is bit-mapped to indicate the block’s
alarm states. For the MVL block, only the following unshaded 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
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
UNAK B2
B3
B4
B5
B6
B7
B8
B9

CRIT PRTYPE
HMA
HOA
HHA

HDA

LMA
LOA
LDA
LLA
INH

Bit Number Boolean Connection


(0 to 31)* Name Description When True (B32 to B1)
0 to 4 PTYP_MSK
Priority Type: See parameter ALMSTA.B32–
PRTYPE for values ALMSTA.B28
5 to 7 CRIT_MSK Criticality; 5 = lowest ALMSTA.B27–
priority, 1= highest ALMSTA.B25
16 LMA Low Absolute Alarm ALMSTA.B16
17 HMA High Absolute 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
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
* Bit 0 is the least significant bit (starting from the right).

1428
83. MVL – Multivariable Loop Block B0193AX – Rev N

BCALCI Back Calculated Input is the connection to the underlying regulatory con-
trol block that is used as a embedded MVC control manipulated variable.
This is a vital connection, as it is used to build the implicit supervisory set-
point connection to the manipulated variable block. While an explicit
connection to the manipulated variable block SUP_IN parameter is not
made, an implicit connection is made by making this BCALCI connec-
tion. BCALCI must be connected to the downstream SUPBCO parame-
ter.
NOTE: The only Control Processor blocks that can be used for manipu-
lated variable are the PIDA, DPIDA and RATIO blocks.

BLKSTA Block Status is a 32-bit output, bit-mapped to indicate the block’s opera-
tional states. For the MVL block, only the following unshaded 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
B10
B11
WLCK B12
B13
B14
B15
SLLO B16
B17
UDEF B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
SFLB B9

SLHI
SMA
HOL

SSC
SSE

TRK
SLR
LOL

CTL
FLB

ON
SC
SE

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
5 CTL Controlling BLKSTA.B27
6 TRK Tracking BLKSTA.B26
14 UDEF Undefined (inverse of parameter BLKSTA.B18
DEFINE)
15 ON Compound On BLKSTA.B17
16 SLLO Secondary Block Low Output BLKSTA.B16
Limit (Clamped)
17 SLHI Secondary Block High Output BLKSTA.B15
Limit (Clamped)
18 SLR Secondary Local (=false)/ BLKSTA.B14
Remote (=true)
19 SMA Secondary Manual (=false)/ BLKSTA.B13
Auto (=true)
20 WLCK Workstation Lock BLKSTA.B12
21 SSE Secondary Supervisory Enabled BLKSTA.B11
22 SSC Secondary Supervisory Control BLKSTA.B10
23 SFLB Secondary Supervisory Control BLKSTA.B9
Fallback State
27 LOL Low Output Limit (Clamped) BLKSTA.B5

1429
B0193AX – Rev N 83. MVL – Multivariable Loop Block

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
28 HOL High Output Limit (Clamped) BLKSTA.B4
29 SE Supervisory Enabled BLKSTA.B3
30 SC Supervisory Control BLKSTA.B2
31 FLB Supervisory Control Fallback BLKSTA.B1
State

CEOPT This parameter is not used.

CRIT Criticality is an integer output that indicates the priority, 1 to 5, of the


block’s highest currently active alarm (1 is the highest priority). An output
of zero indicates the absence of alarms.

CVBAD CV Bad status flag is the same parameter as displayed in the native Con-
noisseur’s Status field in the controlled variable overview display.
0 = Good
1 = Bad

CVCOST CV LP Cost is the same parameter as displayed in the native Connoisseur’s


Cost field in the controlled variable LP configuration display.

CVCUSH CV Cushion is the same parameter as displayed in the native Connois-


seur’s Cushion field in the controlled variable configuration display.

CVDZ CV Dead Zone is the same parameter as displayed in the native Connois-
seur’s Deadzone field in the controlled variable configuration display.

CVEFCT CV Error Factor is the same parameter as displayed in the native Connois-
seur’s Error Factor field in the controlled variable configuration display.

CVFCTR CV base Factor is the same parameter as displayed in the native Connois-
seur’s Origin field in the controlled variable LP configuration display.

CVFZ CV Frozen time is the same parameter as displayed in the native Connois-
seur’s Frozen Time field in the controlled variable configuration display.

CVHACT CV High Active constraint is the same parameter as displayed in the


native Connoisseur’s High Constraint field in the controlled variable over-
view display.

CVHCON Controlled Variable High Constraint limit from Connoisseur are not used
in the Embedded MVC implementation. The CV high/low constraint
limits are replaced by the limits provided in the Integrated Control Con-
figurator (ICC). You can enter a value directly or enter a block address for
the limit source. As with native Connoisseur, the controlled variable con-
straint limits are treated as soft constraints for constraint type CVs.

1430
83. MVL – Multivariable Loop Block B0193AX – Rev N

CVHOR CV control Horizon is the same parameter as displayed in the native Con-
noisseur’s LR horizon field in the controlled variable configuration display
(0-500).

CVHVAL CV High Validity limit is the same parameter as displayed in the native
Connoisseur’s High Validity field in the controlled variable configuration
display.

CVIFLG CV LP Integrating Flag is the same parameter as displayed in the native


Connoisseur’s Integrating in the controlled variable LP configuration dis-
play.

CVISCL CV LP Integrating Scale is the same parameter as displayed in the native


Connoisseur’s Scale field in the controlled variable LP configuration dis-
play.

CVITIM CV Inference Time is the same parameter as displayed in the native Con-
noisseur’s Infer Time field in the controlled variable configuration display.

CVLACT CV Low Active constraint is the same parameter as displayed in the native
Connoisseur’s Low Constraint field in the controlled variable overview
display.

CVLCON The CV Low Constraint is the same parameter as displayed in the native
Connoisseur’s Low Constraint field in the controlled variable configura-
tion display.

CVLPOP CV LP Optimum is the same parameter as displayed in the native Con-


noisseur’s Optimum field in the controlled variable overview display.

CVLPST CV LP Saturation Status.

CVLVAL CV Low Validity Limit is the same parameter as displayed in the native
Connoisseur’s Low Validity field in the controlled variable configuration
display.

CVMEAS CV Measurement is the present value of the controlled variable as a C:B.P


address.

CVPRED CV 5-point Prediction.

CVPRI CV Priority is the same parameter as displayed in the native Connoisseur’s


Priority field in the controlled variable configuration display.

CVROC CV Rate Of Change is the same parameter as displayed in the native Con-
noisseur’s Rate Of Change field in the controlled variable configuration
display.

CVSF CV Scale Factor is the same parameter as displayed in the native Connois-
seur’s Scale field in the controlled variable configuration display.

1431
B0193AX – Rev N 83. MVL – Multivariable Loop Block

CVSPT CV Set Point. As in the native Connoisseur product, controlled variables


can either be of the set point or soft constraint type. If of the set point
type, the controlled variable set point, CVSPT can either be a value or a
block address. CVSPT is settable when SSC is disabled.

CVSTAT CV Status flag indicator is analogous to the status indication shown in the
native Connoisseur’s loop display.

CVSWCH CV Switch is the same parameter as displayed in the native Connoisseur’s


Switch field in the controlled variable configuration display:
0 = On
1 = Off
2 = Off w/ Inference

CVTRCK CV Tracking parameter is the same parameter as displayed in the native


Connoisseur’s Tracking field in the controlled variable overview display.

CVTYP CV Type, set point or soft constraint, is the same parameter as displayed
in the native Connoisseur’s Control Mode field in the controlled variable
configuration display.
0 = Constraint
1 = Set Point

CVUNIT CV engineering Units for the CV used for the MVL detailed display.

CVWT CV tuner Weight is the same parameter as displayed in the native Con-
noisseur’s CV Weight field in the controlled variable overview display.

CV_VIT CV Vital/non-vital is the same parameter as displayed in the native Con-


noisseur’s Vital field in the controlled variable configuration display:
0 = Vital
1 = Non-Vital

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 data store which indicates the presence or absence of configura-
tion errors. The default is 1 (no configuration errors). 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. DEFINE is the inverse of
BLKSTA.UDEF.

1432
83. MVL – Multivariable Loop Block B0193AX – Rev N

DESCRP Description is a user-defined string up to 32 characters that describe the


block’s function.

DEVADB Deviation Alarm Deadband is a real input 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.

DEVPRI Deviation Priority is an 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.

ERCODE Error Code is a string data store, which indicates the type of configuration
error or warning encountered. The error situations cause the block’s
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 MVL block, the following list
specifies the possible values of ERCODE, and the significance of each
value in this block:
Message Value
“W44 – INVALID High range value is less than or
ENGINEERING RANGE” equal to low range value.
“W46 – INVALID INPUT The source parameter specified in
CONNECTION” 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 The configured value of a block
OPTION” option is illegal.
“W49 – INVALID BLOCK An illegal block extension has been
EXTENSION” configured.
“W53 – INVALID PARAMETER A parameter value is not in the
VALUE” acceptable range.
“W58 – INSTALL ERROR; A Database Installer error has
DELETE/UNDELETE BLOCK” occurred.

FV The C:B.P address of the feedforward variable measurement. You can put
in the address of dummy blocks for debugging and/or special purposes.

FVBAD FV Bad status flag is the same parameter as displayed in the native Con-
noisseur’s Status field in the feedforward variable overview display.
0 = Good
1 = Bad

1433
B0193AX – Rev N 83. MVL – Multivariable Loop Block

FVDLY FV minimum Delay is the same parameter as displayed in the native Con-
noisseur’s Identification Minimum Delay display.

FVDLYS FV Delay Spread is the same parameter as displayed in the native Con-
noisseur’s Identification Delay Spread display.

FVFCTR FV LP base Factor is the same parameter as displayed in the native Con-
noisseur’s Origin field in the feedforward variable LP configuration dis-
play.

FVFZ FV Frozen time is the same parameter as is displayed in the native Con-
noisseur’s Frozen Time field in the feedforward variable configuration dis-
play.

FVHVAL FV High Validity limit is the same parameter as displayed in the native
Connoisseur’s High Validity field in the feedforward variable configura-
tion display.

FVLVAL FV Low Validity limit is the same parameter as displayed in the native
Connoisseur’s Low Validity field in the feedforward variable configuration
display.

FVROC FV Rate Of Change limit is the same parameter as displayed in the native
Connoisseur’s Rate of Change field in the feedforward variable configura-
tion display.

FVSF FV Scale Factor is the same parameter as displayed in the native Connois-
seur’s Scale field in the feedforward variable configuration display.

FVSTAT FV Status flag is an indicator that is analogous to the status indication


shown in the native Connoisseur loop display.

FVSWCH FV Switch is the same parameter as displayed in the native Connoisseur’s


Switch field in the feedforward variable configuration display:
0 = On
1 = Off

FVUNIT FV engineering Units for the FV as used in the MVL detailed display.

FV_VIT FV Vital/non-vital is the same parameter as displayed in the native Con-


noisseur’s Vital field in the feedforward variable configuration display.
0 = Vital
1 = Non-Vital

HDAIND High Deviation Alarm Indicator is a boolean output that is set true when
a high deviation alarm occurs.

HDALIM High Deviation Alarm Limit is a real input that specifies the amount by
which the CV must exceed the set point to initiate a high deviation alarm
and set the High Deviation Alarm Indicator (HDAIND) true.

1434
83. MVL – Multivariable Loop Block B0193AX – Rev N

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 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
CV is greater than 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 Alarm Limit is a real input that defines the value of the CV
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 the controlled
variable, or disables such alarming altogether. Each alarm triggers an indi-
cator 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 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 char-


acters, output with the alarm message to identify the alarm.

HOAIND High Output Alarm Indicator is a boolean output that is set true when the
output (OUT) is greater than (HOALIM).

HOALIM High Output Alarm Limit is a real input that defines the value of the
OUT that triggers a high output alarm.

HOATXT High Output Alarm Text is a user configurable text string of up to 32


characters, output with the alarm message to identify the alarm.

HOLIND High Output Limit Indicator is a boolean output that is set true whenever
the output is clamped at the high output limit, HOLIM.

IMPORT CV LP Importance is used by LP to resolve unfeasible cases.

INHALM Inhibit Alarm contains packed boolean values that represent alarm inhibit
requests for each alarm type configured in the block. For the MVL block,
only the following unshaded bits are used:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B10

B11

B12

B13

B14

B15

B16
B1

B2

B3

B4

B5

B6

B7

B8

B9

1435
B0193AX – Rev N 83. MVL – Multivariable Loop Block

Bit Boolean
Number* Connection
(0 to 15) Description When True (B16 to B1)
0 Inhibit Low Absolute Alarm INHALM.B16
1 Inhibit High Absolute Alarm INHALM.B15
2 Inhibit Low Output Alarm INHALM.B14
3 Inhibit High Output Alarm INHALM.B13
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
13 Inhibit Alarm INHALM.B3
14 Unacknowledged INHALM.B2

* Bit 0 is the least significant bit (starting from the right).’


There are no mnemonic names for the individual bits of INHALM.

INHIB Inhibit is a boolean input. When true, it inhibits the sending of all alarm
messages; the alarm handling and detection functions are determined by
the INHOPT setting. INHIB has no effect on the alarm notification at
the displays.

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

1436
83. MVL – Multivariable Loop Block B0193AX – Rev N

INHSTA Inhibit Status contains packed long values that represent the actual inhibit
status of each alarm type configured in the block. For the MVL block,
only the following unshaded 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

B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
UNACK B2
B3
B4
B5
B6
B7
B8
B9

HMA
HOA
HHA

HDA

LMA
LOA
LDA
LLA
INH

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
16 LMA Low Absolute Alarm Inhibited INHSTA.B16
17 HMA High Absolute Alarm Inhibited INHSTA.B15
18 LOA Low Output Alarm Inhibited INHSTA.B14
19 HOA High Output Alarm Inhibited INHSTA.B13
20 LDA Low Deviation Alarm Inhibited INHSTA.B12
21 HDA High Deviation Alarm Inhibited INHSTA.B11
24 LLA Low-Low Absolute Alarm INHSTA.B8
Inhibited
25 HHA High-High Absolute Alarm INHSTA.B7
Inhibited
29 INH Inhibit Alarm INHSTA.B3
30 UNACK Unacknowledged INHSTA.B2

* Bit 0 is the least significant bit (starting from the right).

INITSE Initial Supervisory is a configurable short integer value that specifies the
initial state of the SE parameter when this block initializes with SUPOPT
= 1. Options are:
0 = Disable
1 = Enable
2 = Do not change SE parameter.

LDAIND Low Deviation Alarm Indicator is a boolean output that is set true when
the CV falls below the set point by more that the deviation limit
(LDALIM).

LDALIM Low Deviation Alarm Limit is a real input that specifies the amount by
which the CV must fall below the set point to initiate a low deviation
alarm and set the High Deviation Alarm Indicator (HDAIND) true.

1437
B0193AX – Rev N 83. MVL – Multivariable Loop Block

LDATXT Low Deviation Alarm Text is a user configurable text string of up to 32


characters, output with the alarm message to identify the alarm.

LLAIND Low-low Alarm Indicator is a boolean output that is set true when the CV
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 return to false until the value exceeds the limit plus a dead-
band.

LLALIM Low-low Alarm Limit is a real input that defines the value of the CV that
triggers a low-low alarm.

LLATXT Low-low Alarm Text is a user-configurable text string of up to 32 charac-


ters, output with the alarm message to identify the alarm.

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 that defines the value of the OUT
that triggers a low output alarm.

LOATXT Low Output Alarm Text is a user configurable text string of up to 32 char-
acters, output with the alarm message to identify the alarm.

LOCKID Lock Identifier is a string identifying the workstation, which has locked
access to the block via a successful setting of LOCKRQ.

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.

LOLIND Low Output Limit Indicator is a boolean output that is set true whenever
the output is clamped at the low output limit.

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.

LRPRED CV long range prediction.

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.
The alarms are applied to the controlled variable.

1438
83. MVL – Multivariable Loop Block B0193AX – Rev N

MEASDB Measurement Alarm Deadband is a configurable real input expressed in


CV units that apply to both high and low alarm limits.

MEASGR Measurement Alarm Group is a short integer input that directs measure-
ment 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 CV exceeds the high alarm limit (MEASHL).

MEASHL Measurement High Alarm Limit is a real input that defines the value of
the CV that initiates a high absolute alarm.

MEASHT Measurement High Alarm Text is a user-defined string of up to 32 charac-


ters that are sent with the alarm message to identify the alarm.

MEASLI Measurement Low Alarm Indicator is a boolean output that is set true
when the CV exceeds the low alarm limit (MEASLL).

MEASLL Measurement Low Alarm Limit is a real input that defines the value of the
CV that initiates a low absolute alarm.

MEASLT Measurement Low Alarm Text is a user-defined string of up to 32 charac-


ters that are sent with the alarm message to identify the alarm.

MEASNM Measurement Alarm Name is a user-defined text string of up to 32 charac-


ters that identify the alarm source in the alarm message.

MEASPR Measurement Priority is an integer input (1 to 5) that sets the priority


level of the measurement alarm (1 is the highest priority).

MSGGRP Message Group is a short integer input that directs alarm messages to one
of eight groups of alarm devices.

MVBAD MV Bad flag is the same parameter as displayed in the native Connois-
seur’s Status field in the manipulated variable overview display:
0 = Good
1 = Bad

MVCOST MV LP Cost is the same parameter as displayed in the native Connois-


seur’s Cost field in the manipulated variable LP configuration display.

MVCP MVC Pointer is an internal pointer used for navigation from the MVL
block to the MVC block. MVCP is connected to the MVC BLKSTA
parameter.

MVDLY MV minimum Delay is the same parameter as from the native Connois-
seur’s Identification Minimum Delay display.

MVDLYS MV Delay Spread is the same parameter as from the native Connoisseur’s
Identification Delay Spread display.

1439
B0193AX – Rev N 83. MVL – Multivariable Loop Block

MVFCTR MV LP base Factor is the same parameter as displayed in the native Con-
noisseur’s Origin field in the manipulated variable LP configuration dis-
play.

MVHACT MV High Active constraint is the same parameter as displayed in the


native Connoisseur’s High Constraint field in the manipulated variable
overview display.

MVHCON Manipulated Variable High Constraint limits from the native Connois-
seur are not used in the embedded MVC implementation. The MV
high/low constraint limits are replaced by the limits provided in the ICC.
You can enter a value directly or enter a block address for the limit source.
As with native Connoisseur, the manipulated variables are treated as hard
constraints.

MVHVAL MV High Validity limit is the same parameter as displayed in the native
Connoisseur’s High Validity field in the manipulated variable configura-
tion display.

MVILIM MV Incremental Limit is the same parameter as displayed in the native


Connoisseur’s Increment field in the manipulated variable configuration
display.

MVLACT MV Low Active constraint is the same parameter as displayed in the native
Connoisseur’s Low Constraint field in the manipulated variable overview
display.

MVLCON MV Low Constraint limit is the same parameter as displayed in the native
Connoisseur’s Low Constraint field in the manipulated variable configura-
tion display.

MVLOPT MVL Option indicates the existence of a MV, CV, and FV within a given
MVL block. Used primarily for block detail displays. For the MVL block,
only the following unshaded bits are used:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B10

B11

B12

B13

B14

B15

B16
B1

B2

B3

B4

B5

B6

B7

B8

B9

Bit Number* Boolean Connection


(0 to 15) Description When True (B16 to B1)
0 MV Exists = 1 MVLOPT.B16
1 CV Exists = 1 MVLOPT.B15
2 FV Exists = 1 MVLOPT.B14

* Bit 0 is the least significant bit (starting from the right).


There are no mnemonic names for the individual bits of MVLOPT.

1440
83. MVL – Multivariable Loop Block B0193AX – Rev N

MVLPOP MV LP Optimum is the same parameter as displayed in the native Con-


noisseur’s Optimum field in the measurement variable overview display.

MVLPST MV LP saturation Status.

MVLVAL MV Low Validity limit is the same parameter as displayed in the native
Connoisseur’s Low Validity field in the manipulated variable configura-
tion display.

MVOUT MVL Output is the MVL block output which is implicitly connected to
the SUP_IN parameter of the underlying PIDA block.

MVPRI MV Priority is the same parameter as displayed in the native Connoisseur’s


Priority field in the manipulated variable configuration display.

MVSF MV Scale Factor is the same parameter as displayed in the native Connois-
seur’s Scale field in the manipulated variable configuration display.

MVSTAT MV Status flag is analogous to the status indication shown in the native
Connoisseur loop display.

MVSWCH MV Switch is the same parameter as displayed in the native Connoisseur’s


Switch field in the manipulated variable configuration display.
0 = On
1 = Off
2 = Off w/feedforward

MVTARG MV Target is the same parameter as displayed in the native Connoisseur’s


Target field in the manipulated variable overview display.

MVTRWT MV Target Weight is the same parameter as displayed in the native Con-
noisseur’s Target Weight field in the manipulated variable overview dis-
play.

MVUNIT MV engineering Units is used in the MVL detail display.

MVWT MV tuner Weight is the same parameter as displayed in the native Con-
noisseur’s MV Weight field in the manipulated variable overview display.

MV_VIT MV Vital/non-vital is the same parameter as displayed in Connoisseur’s


Vital field in the manipulated variable configuration display.
0 = Vital
1 = Non-vital

NAME Name is a user-defined string of up to 12 characters used to access the


block and its parameters.

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.

1441
B0193AX – Rev N 83. MVL – Multivariable Loop Block

0 = No alarming
1 = High and Low output alarming
2 = High output alarming only
3 = Low output alarming only
You can change OALOPT only by reconfiguring the block.
These alarm limits are applied to the manipulated variable output, the
value used to establish the supervisory setpoint of the manipulated vari-
able regulatory control block. The alarm limits are compared to this out-
put value.

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 that directs high and low output alarm
messages to one of eight groups of alarm devices.

OUTNM Output Alarm Name is a user-defined text string of up to 32 characters


that identifies the alarm source in the alarm message.

OUTPRI Output Priority is an integer input (1 to 5) that sets the priority level of
the output alarm (1 is the highest priority).

OWNER Owner is a string of up to 32 characters which is used to allocate control


blocks to applications.

PIDP MVL block PID pointer is an internal pointer used for navigation from
the MVL block to an underlying PIDA block. PIDP is connected to the
PIDA, RATIO, or DPIDA BLKSTA parameter.

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 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
5 = High Deviation
6 = Low Deviation
7 = High Output
8 = Low Output

RI1 Range Input 1 contains CVHVAL, CVLVAL, and a DELTA value of 0.

RI2 Range Input 2 contains FVHVAL, FVLVAL, and a DELTA value of 0.

RO1 Range Output 1 contains MVHVAL, MVLVAL, and a DELTA value of 0.

1442
83. MVL – Multivariable Loop Block B0193AX – Rev N

SE Supervisory Enable is a boolean input that enables or disables Secure


Supervisory Control (CV set point) in this block:
0 = Disable
1 = Enable.

SPCLMP Setpoint Clamp is a configurable short integer that specifies the constraint
limits to be used when clamping or limiting the Supervisory set point
(SUP_IN) and the Local set point (CVSPT).
0 = clamp using the validity limits (CVHVAL and CVLVAL)
1 = clamp using the set point limits (CVHCON and CVLCON)
2 = reject values outside the set point limits (CVHCON and CVLCON).
If SPCLMP = 0, and the set point state is Supervisory or Tracking, the
SUP_IN value is clamped as follows:
1) If SUP_IN < CVLVAL, it is set to CVLVAL
2) If SUP_IN > CVHVAL, it is set to CVHVAL.
If SPCLMP = 0 and the set point state is Local, the CVSPT value is
clamped as follows:
1) If CVSPT < CVLCON, it is set to CVLCON.
2) If CVSPT > CVHCON, it is set to CVHCON.
If SPCLMP = 1, the CVSPT value in Local mode (SUP_IN in Supervi-
sory mode) is clamped as follows:
1) If CVSPT/SUP_IN < CVLCON, it is set to CVLCON.
2) If CVSPT/SUP_IN > CVHCON, it is set to CVHCON.
If SPCLMP = 2, an attempt to set CVSPT in Local mode or SUP_IN in
Supervisory mode via an OM Setval operation (or OM Write operation if
SUP_IN) less than CVLCON or greater than CVHCON will be rejected
with an OUT_OF_RANGE error code.

SPRAMP Set Point Ramp state is a boolean input that enables or disables set point
ramping:
0 = Disable
1 = Enable.

SPRATE Set Point Ramp Rate is a positive real input that specifies ramping of the
set point 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.

SPROPT Set Point Option is a configurable short integer input that specifies the set
point ramping option:
0 = No set point ramping
1 = Ramp using SPRATE as ramp rate (units/minutes)

1443
B0193AX – Rev N 83. MVL – Multivariable Loop Block

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.
If SPROPT = 1, the set point 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 deviation is in alarm.
If SPROPT = 3, the set point 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 deviation is in alarm.
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 set point reaches the target
or when an operator makes a manual set point change.

SPTARG Set Point Target is a real input that is the final value for a set point ramp in
engineering units. It must be set within the setpoint CVHCON and
CVLCON limits, otherwise SPRAMP is reset to 0 and no ramping
occurs.

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.

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. If the
supervisory option is used, the controlled variable supervisory set points
need to belong to a supervisory group, this group being unique from the
manipulated variable supervisory group specified in the MVC block
parameter SUPGRP.

SUPOPT Supervisory Option is a configurable boolean input that allows the con-
trolled variable set point to be set by a Supervisory application:
0 = No
1 = Yes

SUP_IN Supervisory Input is a real output that is the parameter set by a Supervi-
sory application when performing supervisory control of this block’s 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).

TYPE When you enter “MVL” or select “MVL” from the block type list under
Show, an identifying integer is created specifying this block type (126).

UNACK Unacknowledge is a boolean output that the block sets to true when it
detects an alarm. It is typically reset by operator action.

1444
83. MVL – Multivariable Loop Block B0193AX – Rev N

83.5 General Operation


Model Based Predictive Control in a workstation such as an I/A Series Application
Workstation 51E or a high-end Windows NT laptop is the source of the Embedded MVC model
which is downloaded as the database for the MVC and MVL blocks (Figure 83-2). Once created,
and then populated by the download database file, the MVC and MVL blocks are free running,
needing no additional data from the workstation. Using the MVC and MVL blocks, you can tune
and operate the free-standing multivariable controller independent of the workstation environ-
ment from which the MVC model was downloaded. The blocks can then be checkpointed,
rebooted, and so forth.
The MVL block is essentially a child to a MVC block and follows the MVC blocks state machine.
The MVL block provides a switch for the MVL block’s manipulated, controlled, and feedforward
variable that enables these variables to be removed or inserted back into the multivariable control
application. Unlike most other I/A Series blocks, the MVL block does not support an Auto/Man-
ual mode.
As in the native Connoisseur product, controlled variables can either be of the set point or soft
constraint type. The set point can either be set locally (at the detail display level) or with a super-
visory task. CVSPT is treated like the supervisory set point of a PIDA block.
CVMEAS is the C:B.P address of the controlled variable measurement and FV is the C:B.P
address of the feedforward variable measurement. You can put in the address of dummy blocks for
debugging and/or special purposes.
In the embedded MVC implementation, the controlled variable high and low constraint limit
(CVHCON and CVLCON) and the manipulated variable high and low constraint limit (MVH-
CON and MVHCON) entered into the native Connoisseur database are not used, being replaced
by the limits provided in the ICC. You can enter a value directly or enter a block address for the
limit source. As with native Connoisseur, the controlled variable constraint limits and the manip-
ulated variable limits are treated as soft constraints for constraint type CV’s. These constraint lim-
its are also applied to the CVSPT for setpoint type controlled variables.
BCALCI is the connection to the underlying regulatory control blocks that are is used as an
embedded MVC application manipulated variable. This is a vital connection, as it is used to build
the implicit supervisory set point connection to the manipulated variable block. While an explicit
connection to the manipulated variable block SUP_IN parameter is not made, an implicit con-
nection is made by the BCALCI connection.
This BALCI input also serves as a portion of the passing mechanism for some valuable inputs to
the embedded MVC product. In native Connoisseur, you must provide explicit connections for:
♦ The MV setpoint readback
♦ The MV measurement readback
♦ The MV DCS status, and
♦ The related I-Signals.
In the embedded MVC, all these connections are made for you without explicit configuration.
You should take note that these connections are always made and you have no control over these
connections.

1445
B0193AX – Rev N 83. MVL – Multivariable Loop Block

NOTE
The only Control Processor blocks that can be used for manipulated variables are
the PIDA, RATIO, and DPIDA. It is important that you observe this convention.

The MVL block offers a number of alarm options that are applied to the MVL block controlled
variables. The alarm parameters work in exactly the same fashion as they do for the measurement
of a PIDA block. Typical alarm parameters are:
♦ MALOPT - for measurement variable
♦ DALOPT - for deviation, with CVSPT as the deviation reference, of controlled
variable
♦ HHAOPT - High-high alarm option for the controlled variable.
♦ OALOPT - Output alarm option for the manipulated variable output, the value
establishes the supervisory setpoint of the manipulated variable regulatory control
block. The alarm limits are compared to this MVL blocks output value.
The controlled variable set point can be set by a supervisory application. The supervisory option is
enabled by the SUPOPT parameter. If the supervisory option is used, the controlled variable
supervisory set points must belong to a supervisory group, this group being unique from the
manipulated variable supervisory group specified in the MVC block parameter SUPGRP.
Like the MVC block, the MVL block has a message group parameter. This provides the ability to
separate and/or integrate the respective block alarms and messages. Block alarms are indicated
through the UNACK parameter whenever the block goes into alarm. The clearing of UNACK is
normally via an operator “acknowledge” pick on a default or user display, or via a user task.

1446
83. MVL – Multivariable Loop Block B0193AX – Rev N

MODEL AND NATIVE DEVELOPMENT


CONFIGURATION CONNOISSEUR ENVIRONMENT

CONTROL APPLICATION
CONFIGURATOR CHECKPOINT PROCESSOR/
DATABASE FILE WORKSTATION

MVC BLOCK SETPOINT CONTROL


(HIGH PRIORITY) PROCESSOR
FV
MVL1 MVL BLOCK
LOOP 1
(HIGH PRIORITY) MV

MVLN CV

MVL10
LOOP 10
SETPOINT

MV/CV/FV DPIDA, PIDA, OR


VALUES AND AIN BLOCK RATIO BLOCK AOUT BLOCK
CONSTRAINTS

DOWNLOADED AIN BLOCK


MODEL

AIN BLOCK

APPLICATION
EXECUTING
THE MODEL
(AT LOWER PRIORITY) HIGH PRIORITY REGULATORY BLOCKS

PROCESS

Figure 83-2. Embedded MVC (Showing One Loop)

The Embedded MVC uses the I/A Series SSC functionality to perform group enables, group dis-
ables, and the ability to write the supervisory set points of manipulated variable CP regulatory
control blocks. Specifically, SSC allows:
♦ The CP Station block to set a group enable/disable, placing all the manipulated vari-
able regulatory control blocks into the SSC enable/disable state. This allows you to
place an MVC controller into its AUTO state without having to change the state of
individual regulatory controllers.

1447
B0193AX – Rev N 83. MVL – Multivariable Loop Block

♦ Either the primary or secondary loop of an existing regulatory control scheme to be


the supervisory set point. This allows you to interface directly to an existing regulatory
control scheme without loop restructuring.
♦ Automatic fallback without operator intervention and with a range of fallback options
should the MVC controller fail and shed its manipulated variables.
♦ The controller to automatically switch to the fallback state, if the vital MV, CV, or
FV fails or is removed from control by the operator.
♦ The underlying regulatory control blocks that have been enabled to issue an initializa-
tion request (one per block) to the supervisory application when a group enable
occurs. As a security feature, if an acknowledgement is not received, the blocks do not
change into the supervisory state, and the regulatory controls continue normal
operation.
♦ The underlying manipulated variable regulatory control block status flags to be passed
up through the regulatory control hierarchy to the Embedded MVC application, pro-
viding an indication of the MV saturation state to prevent further MV windup.

83.5.1 MVL Operator Display


The MVL Operator display (Figure 83-3) allows you to:
♦ Review a number of MVL block status parameters
♦ View MV, CV, and FV trends and configuration overlays
♦ Acknowledge and view block alarm messages
♦ View FV value and limits
♦ View CV set point value and limits
♦ View MV value, limits, and target
♦ Change the in-service and out-of-service state of MV, CV, or FV.
♦ Change values, such as the CV set point, the MV target, and so forth
♦ Change tuning parameter constants.

1448
83. MVL – Multivariable Loop Block B0193AX – Rev N

Figure 83-3. MVL Default Display

For additional information, such as, Block Connections, Supervisory Control and Multivariable
Controller operation, refer to the Connoisseur User’s Manual provided with the Connoisseur prod-
uct.

1449
B0193AX – Rev N 83. MVL – Multivariable Loop Block

1450
84. OUTSEL – Output Select Block
This chapter gives a general overview of the OUTSEL (Output Select Block) and describes its
parameters and cascade and limit handling.

84.1 Overview
The Output Select (OUTSEL) block is used in control strategies that require the higher or lower
of two output signals to be selected as the final output signal to the process, while providing the
appropriate handshake data to prevent integral action from “winding up” in the block supplying
the unselected signal. The OUTSEL block also provides initialization and limit indication signals
to each of the two upstream blocks when the cascade is open, when the cascade closes, and when
the OUTSEL or downstream block is limited.
The OUTSEL block supports a SELOPT parameter with these options:
1 = High Select, that is, select the higher input (default).
2 = Low Select, that is, select the lower input.
The OUTSEL block can be configured in any compound. A typical control block configuration
using the OUTSEL block is illustrated below.

84.1.1 I/O Diagram

FBK FBK
BCALCI Control OUT OUT Control BCALCI
Block 1* Block 2*

INP1 INP2

OUTSEL
Block
BCALC1 BCALC2
(Hi/Lo Select)

OUT BCALCI
*PID/X/E/XE/A, RATIO, or BIAS block
Figure 84-1. OUTSEL Block I/O Diagram

1451
B0193AX – Rev N 84. OUTSEL – Output Select Block

84.2 Parameters
Table 84-1. OUTSEL 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 91 OUTSEL
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/no-set blank 1 to 32 chars
SELOPT block options integer no-con/no-set 1 [1..2]
INP1 to INP2 input 1 to 2 real con/set 0.0 RI1
MA manual/auto boolean con/set 0 0 to 1
INITMA initialize MA short no-con/no-set 1 [0|1|2]
HSCI1 to HSCI2 high scale 1 to 2 real no-con/no-set 100.0 specifiable
LSCI1 to LSCI2 low scale 1 to 2 real no-con/no-set 0.0 specifiable
DELTI1 to DELTI2 change delta 1 to 2 real no-con/no-set 1.0 percent
EI1 to EI2 eng units input string no-con/no-set % specifiable
HSCO1 high scale 1 real no-con/no-set 100.0 specifiable
LSCO1 low scale 1 real no-con/no-set 0.0 specifiable
DELTO1 change delta 1 real no-con/no-set 1.0 percent
EO1 eng unit output 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
MCLOPT manual clamp option boolean no-con/no-set 0 0 to 1
EROPT error option short no-con/no-set 0 [0|1|2]
PRIBLK primary block cascade operation boolean no-con/no-set 0 0 to 1
INITI initialize in short con/set 0 0 to 1
BCALCI back calculate in real con/set 0.0 RO1
OUTPUTS
BCALC1 to 2 back calculate value 1 to 2 real con/no-set 0 RI1
BLKSTA block status pack_l con/no-set 0 bit map
HOLIND high out limit indicator boolean con/no-set 0 0 to 1
INITO1 initialize out 1 short con/no-set 0 0 to 1
INITO2 initialize out 2 short con/no-set 0 0 to 1
LOLIND low out limit indicator boolean con/no-set 0 0 to 1
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
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 4

1452
84. OUTSEL – Output Select Block B0193AX – Rev N

Table 84-1. OUTSEL Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


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

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

BCALC1 to 2 Back-Calculated Output 1 or 2 (BCALC1 or BCALC2) is the value from


a SWCH/OUTSEL block that is used by a primary block (via its BCALCI
connection) to initialize its output to the current input (INPn) to the
SWCH/OUTSEL block.
This parameter also contains the following status bits:
Bit 10: 1= Initialize the primary output value
Bit 13: 1= INP1/INP2 is Limited High
Bit 14: 1= INP1/INP2 is Limited Low
(Both B13 and B14 =1: indicates remote cascade is open)

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
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 Block Status is a 32-bit output, bit-mapped to indicate the block’s opera-
tional states. For the OUTSEL 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
B10
B11
WLCK B12
B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

INER
HOL
LOL

MA
ON

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
11 MA Manual(= false)/Auto(= true) BLKSTA.B21

1453
B0193AX – Rev N 84. OUTSEL – Output Select Block

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
14 UDEF Undefined BLKSTA.B18
15 ON Compound On BLKSTA.B17
18 INER Input Error BLKSTA.B14
20 WLCK Workstation Lock BLKSTA.B12
27 LOL Low Output Limit (Clamped) BLKSTA.B5
28 HOL High Output Limit (Clamped) BLKSTA.B4

* Bit 0 is the least significant bit (starting from the right).

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 DELTI2
Change Delta for Input Ranges 1 and 2 are real values that define the res-
olution as a percent of the measurement range. Entering a 1 causes the
Object Manager to recognize and respond to a change of 1 percent of the
full error range.

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


block’s function (e.g., “PLT 3 FURNACE 2 HEATER CONTROL”).

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, provide
the engineering units text for the values defined by Input Ranges 1 and 2.
“Deg F” or “pH” are typical entries.

EO1 Engineering Units for Output Range 1, as 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) 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 block’s
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 OUTSEL block, the follow-

1454
84. OUTSEL – Output Select Block B0193AX – Rev N

ing list specifies the possible values of ERCODE, and the significance of
each value in this block:
Message Value
“W43 – INVALID PERIOD/ PHASE does not exist for given block
PHASE COMBINATION” PERIOD, or block PERIOD not
compatible with compound
PERIOD.
“W44 – INVALID High range value is less than or equal
ENGINEERING RANGE” to low range value.
“W46 – INVALID INPUT The source parameter specified in the
CONNECTION” 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 The configured value of a block
OPTION” option is illegal.
“W53 – INVALID A parameter value is not in the
PARAMETER VALUE” acceptable range.
“W58 – INSTALL ERROR; A Database Installer error has
DELETE/UNDELETE occurred.
BLOCK”

EROPT Error Option is a short integer. If PROPT is true, EROPT specifies how
the block responds to INP when the INP parameter is in error. EROPT
has a range of 0 to 2, where:
0 = The block ignores the errors.
1 = The block sets the ERROR bit in OUT if the INP parameter:
♦ 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 INP parameter:
♦ 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.
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.

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.

1455
B0193AX – Rev N 84. OUTSEL – Output Select Block

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 real values that define the upper
limit of the measurement ranges. EI1 to EI2 define 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.

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
maintained, but the setting of the handshaking bits, via the INITI to
INITO connection, is eliminated.

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.

INITO1 With V4.2 or later software, BCALC1 contains the initialization request
data bit eliminating the need to configure INITO1 connections. However,
to preserve backward compatibility, the INITO1 parameter has been
maintained for use in existing configurations.

INITO2 With V4.2 or later software, BCALC2 contains the functions of the
INITO2 parameter eliminating the need to configure INITO2 connec-
tions. However, to preserve backward compatibility, the INITO2 parame-
ter has been maintained in existing configurations.

1456
84. OUTSEL – Output Select Block B0193AX – Rev N

INP1 to INP2 Inputs 1 and 2 are inputs that are selected to monitor the output when the
TOGGLE input is false.

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 block’s
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.

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-


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 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 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. In Manual, the algorithm
is not performed, and the output is unsecured. An external program can
then set the output to a desired value.

1457
B0193AX – Rev N 84. OUTSEL – Output Select Block

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.

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.

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 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
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 block’s 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*****

* 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, and CP60.

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

1458
84. OUTSEL – Output Select Block B0193AX – Rev N

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. See Integrated Control Software Concepts
(B0193AW) document.

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.
For correct operation, set EROPT = 1 or 2, and implement the two 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, Foxboro 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.

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

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.

SELOPT Select Option is an indexed, integer input parameter that dictates the
block’s selection criteria when the block is in the Auto mode. The
SELOPT choices are:
1= Select the input with the highest value.
2= Select the input with the lowest value.

You can change SELOPT only by reconfiguring the block.

TYPE When you enter “OUTSEL” or select “OUTSEL” from the block type list
under Show, an identifying integer is created specifying this block type.

1459
B0193AX – Rev N 84. OUTSEL – Output Select Block

84.3 Cascade Handling


The PRIBLK option in the OUTSEL block provides bumpless initialization of both upstream
blocks that provide the input values to the OUTSEL block.
The following block parameters support this function:
Parameter Type Meaning
PRIBLK boolean Primary Block option
BCALC1 real Back-calculated Output 1
BCALC2 real Back-calculated Output 2
PRSCAS short Cascade State

For PRIBLK to function properly, the following connections should be made to the upstream
blocks in the cascade:
Upstream Block OUTSEL Block

BCALCI BCALC1/BCALC2

FBK BCALC1/BCALC2

OUT INP1/INP2

The OUTSEL block also propagates the Failsafe (FS) bit from the downstream block to the
upstream blocks.
When it is in Auto, the OUTSEL block propagates the status of the selected input INP1 or INP2
to the output OUT as follows:
♦ The Bad status bit of OUT is set equal to the Bad status bit of the selected input.
♦ The Out-of-Service status bit of OUT is set equal to the Out-of-Service status bit of
the selected input.
♦ If the selected input has the Bad, Out-of-Service, or Error status bit true, or if the om
field of the selected input status has any other value than 1 (ON_SCAN), the Error
status bit of OUT is set true. 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.

84.4 Limit Handling


When SELOPT is 2 (lower select) the unselected output is upper bounded. The LIM_HI bit of
its BCALCn status is set to signal the upstream block to take action to avoid integral windup. The
LIM_HI bit of both BCALCn status is set when the output is clamped at the HOLIM value.

1460
85. PACK – Packed Long Integer
Variable Block
This chapter covers PACK (Packed Long Integer Variable Block) and its parameters.

85.1 Overview
The Packed Long Integer (PACK) variable block contains a packed long integer data variable
parameter (32 bits) that can be set by an application to store boolean values for later retrieval and
display (see Figure 85-1). You can make boolean extension connections to PACK blocks.
The PACK variable block does not contain PERIOD and PHASE parameters because it is not
executed by the compound processor. Any number of PACK blocks can be configured in any
compound. This block has a Detail Display for viewing and setting parameters.

Packed Long Value Packed Long


from Application Value Packed Long Value (VALUE)

Figure 85-1. PACK Block Functional Diagram

85.2 Parameters
Table 85-1. PACK Block Parameters

Name Description Type Accessibility Default Units/Range


Configured Parameters
INPUTS
NAME variable name string no-con/no-set 2 blanks 1 to 12 chars
TYPE variable type integer no-con/no-set 154 PACK
DESCRP variable descriptor string no-con/no-set 2 blanks 1 to 32 chars
DATA VARIABLE
VALUE variable value pack_l con/set 0x00..0 0 to 0xFFFFFFFF

85.2.1 Parameter Definitions


DESCRP Descriptor is a user-defined string of up to 32 characters that describe the
variable (for example, BLENDER INPUT CONTACTS).

NAME Name is a user-defined string of up to 12 characters used to access the data


variable block and its parameters.

1461
B0193AX – Rev N 85. PACK – Packed Long Integer Variable Block

TYPE Type is a system-level mnemonic label indicating the block type. Enter
“PACK” or select “PACK” from the block type list under “Show” when
configuring the block.

VALUE Value is a packed long (32 bit) data variable that can be set by an applica-
tion to store data for later retrieval and display.

1462
86. PAKIN – Packed Input Block
This chapter describes the function of the Packed Input (PAKIN) block and defines its
parameters.

NOTE
This chapter describes the Distributed Control Interface (DCI) PAKIN block.
For a description of how the PAKIN block is used in PLC applications, refer to
PLC Interface Block Descriptions (B0193YQ).

86.1 Overview
The Packed Input (PAKIN) 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.) The Packed Input (PAKIN) block reads up to 32 contiguous bits from an
external device. It stores that data as a single packed long parameter PAKCIN.

Input from To
Input
External Device I/A Series
Processing
System

Figure 86-1. PAKIN Block Diagram

86.2 Basic Operation


PAKIN is used in applications where the external device is to provide binary data values to the
I/A Series system for use in a Display Manager, FoxView display, or connection to a Foxboro con-
trol strategy. Packed Input Group Address (PKINGP) is user configured to contain a Profibus
data identifier (string data). This information identifies, to the FBM, the address of the data in
the Profibus data stream that is to serve as the input data. The input data is presented as a single
packed long parameter Packed Input (PAKCIN). Individual bits of PAKCIN may be connected
to other blocks or displays.
The PAKIN block does not support a Manual mode.
The PAKIN block does not support any alarm detection or reporting capability. If alarms are
desired, separate CIN blocks can be used with a Boolean extension connection to each of the bits
in the PAKCIN parameter.

1463
B0193AX – Rev N 86. PAKIN – Packed Input Block

86.3 Features
The PAKIN block provides the following features:
♦ Operates in Auto mode at all times
♦ Individual bits of packed long input that are connectable to blocks or displays
♦ All necessary bit and byte reversals between the external device and I/A Series repre-
sentations automatically performed.

86.4 Parameters
Table 86-1. PAKIN 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 PAKIN_TYPE 141
DESCRP description string no-con/no-set 2 blanks 1 to 32 chars
PERIOD block sample time short integer no-con/no-set 1 0 to 12
PHASE block execute phase integer no-con/no-set 0 —
LOOPID loop identifier string no-con/no-set 2 blanks 1 to 32 chars
IOM_ID ECB identifier string no-con/no-set 2 blanks 1 to 12 chars
PKINGP packed in group address string no-con/no-set 1 device specific
PKIOPT This parameter is not operable. It must be configured TRUE (1)
PKMASK This parameter is not supported.
OUTPUTS
PAKCIN packed input packed long con/no-set 0 —
Non-Configurable Parameters
OUTPUTS
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
BLKSTA block status packed long con/no-set 0 0 to 0xFFFFFFFF
TSTAMP time stamp long integer con/no-set 0 ms after midnight
DATA STORES
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 32 chars
OWNER owner name string no-con/set 2 blanks 1 to 32 chars
DEV_ID device identifier character no-con/no-set blank 6 chars

1464
86. PAKIN – Packed Input Block B0193AX – Rev N

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

BLKSTA Block Status is a 32-bit output, bit-mapped to indicate various block oper-
ational states. For the PAKIN 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

B10
B11
B12
B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

FBM
ON
Bit Boolean
Number* Description Connection
(0 to 31) Name When True (B32 to B1)
8 FBM Bad Status of ECB BLKSTA.B24
14 UDEF Block Undefined BLKSTA.B18
15 ON Block On BLKSTA.B17
*Bit 0 is the least significant bit (starting from the right).

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 re-install the block.

DESCRP Description is a user-defined string of up to 32 characters used to describe


the block’s 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.

1465
B0193AX – Rev N 86. PAKIN – Packed Input Block

ERCODE Error Code is a character data store which indicates the type of configura-
tion error which caused the block’s DEFINE parameter to be set false. Val-
idation 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 block’s detail display. For the PAKIN
block, the following list shows the possible messages you may see:

ERCODE Message Meaning


W52 – INVALID I/O CHAN- The first character of PKINGP is
NEL/GROUP NUMBER blank.
W62 – UNRESOLVED CON- Connection is not yet resolved.
NECTION (Block remains defined.)
W65 – INVALID POINT FBM parsing algorithm found
ADDRESS that PKINGP is invalid.
W66 – DUPLICATE CON- There is a duplicate connection
NECTION to a point.
W67 – INSUFFICIENT FBM There is no available memory or
MEMORY/CONNECTIONS point connections in the FBM.
W68 – INVALID DEVICE The device connection is invalid.
CONNECTION
W69 – INVALID POINT The point connection is invalid.
CONNECTION

IOM_ID ECB Identifier is a user-configurable string that specifies either of the


following:
♦ The device ECB (ECB201), for the purpose of connecting to
(accessing) a field parameter that resides in a field device hosted
by an ECB200.
♦ The parent ECB200, for the purpose of accessing a parameter
whose source is the FBM itself (not applicable to FBM220/221
or FBM223).
IOM_ID can be formatted in either of two ways, depending on the
location of the ECB in question:
♦ Simply the name of the external device ECB (ECB201). For
this format, the ECB201 must reside in the station ECB com-
pound <cp_letterbug>_ECB, where cp_letterbug is the station
letterbug of the I/A Series station.
♦ The full pathname of the external device ECB (ECB201). For
this format, the ECB201 must reside in the station ECB com-
pound, or any compound where blocks that tie to it are located.
The pathname must be of the form:
<local_compound_name>:<ecb_name>
where <ecb_name> is the NAME parameter of the ECB.

1466
86. PAKIN – Packed Input Block B0193AX – Rev N

Note: Once configured, IOM_ID may not be modified. A delete/undelete


operation will NOT allow IOM_ID to be changed. The block must be
deleted and then re-entered into the data base. IOM_ID may then be
reconfigured.

LOOPID Loop Identifier is a configurable string of up to 32 characters that


identifies the loop or process with which the block is associated. It is dis-
played 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.

OWNER Owner is a settable 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.
This parameter is set by an Object Manager get/set call. Refer to Object
Manager Calls (B0193BC) for more information.

PAKCIN Packed Input is the final block output. Since it is implemented with the
structure of a block input, you may connect individual bits to the bits of
PAKCIN to create a single packed long format for them.

PERIOD Period is an indexed input that dictates the block’s execution time base
and allowable PHASE values. PERIOD values range from 0 to 9 and map
to the following period time lengths.
Period Length Period Length
0 0.1 second 5 30 seconds
1 0.5 second* 6 1 minute
2 1.0 second 7 10 minutes
3 2.0 seconds 8 60 minutes
4 10 seconds 9 0.2 second
*If the BPC is 0.2 second, this period is treated internally as
0.6 second, but the PERIOD parameter remains 1.

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
I/A Series station is 0.5 sec. See Integrated Control Software Concepts
(B0193AW).

1467
B0193AX – Rev N 86. PAKIN – Packed Input Block

PKINGP Packed Input Group Address 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 make and model of the
external device.
For the Profibus interface (FBM223), PKINGP must be configured to
contain a Profibus data identifier. This information identifies, to the
FBM, the address of the input data in the Profibus data stream. Refer to
PROFIBUS-DP Communication Interface Module (FBM223) User’s Guide
(B0400FE) for further details.
For the HART interface (FBM214/215/216/218), PKINGP must be con-
figured 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
Module (FBM214/215/ 216/218) User’s Guide (B0400FF) for details.
For the Modbus interface (FBM224), PKINGP must be configured to
contain the address of a set of coils in a Modbus device. Refer to Modbus
Communication Interface Module (FBM224) User’s Guide for details.

PKIOPT Not operable. Must be configured TRUE (1).

PKMASK This parameter is not supported.

TSTAMP Time Stamp is a long integer output that represents the time, in millisec-
onds since midnight, of the most recent updated input/output in a DCI
block. This time stamp is supplied either by the FBM or by the I/A Series
control station, depending on the type of FBM. If supplied by the FBM,
TSTAMP indicates the time of the latest updated value in the FBM. If
supplied by the I/A Series control station, TSTAMP indicates the time of
the latest updated value in the I/A Series control station.

TYPE When you enter “PAKIN” 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 141.

1468
86. PAKIN – Packed Input Block B0193AX – Rev N

86.5 Functions
86.5.1 Detailed Diagram

IOM_ID
PKINGP

Data Stream
from External
Device Necessary
AND Bit/Byte PAKCIN
Reversals
ECB Good

ECB Status PAKCIN.BAD


PAKCIN.OOS

Figure 86-2. PAKIN Block Operational Diagram

86.5.2 Associated ECBs


The configured parameter IOM_ID of the PAKIN block specifies an ECB201 (the device ECB)
to connect to a field parameter that resides in a field device hosted by an ECB200 (the FBM
ECB). The PARENT parameter of the ECB201 specifies the associated ECB200 hosting the field
device.

86.5.3 DCI Connection


The PAKIN block establishes one DCI connection to the specified ECB at any one of the follow-
ing times:
♦ The I/A Series control station in which it resides has just been rebooted.
♦ The block has just been installed.
♦ A parameter of the block has been modified by the ICC or FoxCAE configurator.
♦ A device or parent ECB specified by the PAKIN 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 when required (for
example, connections in redundant type DCI blocks or 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 PAKIN block is deleted.

1469
B0193AX – Rev N 86. PAKIN – Packed Input Block

86.5.4 Origin of Input Data


The device address supplying the input value is configured as a string in PKINGP. (If PKINGP is
blank, the block is set undefined.)
The format of PKINGP is bus specific and device specific. When the PIO maintenance task runs
after the DCI connection has been made (see “DCI Connection” above), the PKINGP string used
by the block is passed to the FBM for parsing and validation. In DCI blocks, address identifica-
tion strings are not parsed by the control station.
If the first character of PKINGP is blank, the PKINGP 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 all of the following cases, the block is also set undefined:
♦ If the FBM parsing algorithm finds that PKINGP 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.
Use of the PAKIN block as an internal mechanism to pack individual bits into a packed long for-
mat is not supported. Therefore, PKIOPT must be configured as true, and no connections may
be configured to PAKCIN. Violation of either of these constraints causes the block to set unde-
fined. (Note that PAKCIN is never settable).

86.5.5 Auto/Manual Switching


Auto/manual switching is not supported in the PAKIN block. The block functionality corre-
sponds to the Auto mode at all times.

86.5.6 Status of PAKCIN


The status of the PKINGP input is checked, together with the status of the connected ECB, and
the status of the PAKCIN parameter is then set according to the following rules.
The status of PAKCIN is set to Out-of-Service if:
♦ The status of the connected ECB 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.

1470
86. PAKIN – Packed Input Block B0193AX – Rev N

♦ 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 under
“DCI Connection” above.
♦ 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, or
♦ 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 PAKCIN is set to Bad if:
♦ The ECB status indicates that the field device has failed.
♦ The DCI connection status information indicates a bad value of the field device
parameter.
The status of PAKCIN is set to Error if the status information indicates an uncertain or question-
able value for the field device parameter.

86.5.7 Change-Driven Input


The input function of the PAKIN block is change driven. New input is written to PAKCIN from
the external device only when there is a change in at least one bit position, or if this is an initializa-
tion cycle. (See Section 86.5.8). Any necessary bit and/or byte reversals between the device repre-
sentation of the input data and the I/A Series representation in PAKCIN are implemented during
this transfer.

86.5.8 PAKCIN Initialization


On any cycle in which the block is restarting, or there is a bad-to-good transition, a new PAKCIN
input is accepted from the external device, whether or not there has been a change in the input
value.

86.5.9 Time Stamp


The time stamp (TSTAMP) parameter of the block is updated every time there is a change in the
value of PAKCIN. 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 sta-
tion.

86.5.10 Identification and Access Control


The LOOPID, OWNER, and ACHNGE parameters are used in the standard way in the PAKIN
block.

1471
B0193AX – Rev N 86. PAKIN – Packed Input Block

1472
87. PAKOUT – Packed Output
Block
This chapter describes the function of the Packed Output (PAKOUT) block and defines its
parameters.

NOTE
This chapter describes the Distributed Control Interface (DCI) PAKOUT block.
For a description of how the PAKOUT block is used in PLC applications, refer to
PLC Interface Block Descriptions (B0193YQ).

87.1 Overview
The Packed Output (PAKOUT) 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 gen-
eral purpose interface.) PAKOUT passes from 1 to 32 binary values to a field device. The block
also continuously reports any changes made by the FBM to those values at the field device. In the
outbound direction, the block accepts binary inputs from the control strategy or an operator set
and sends them to the device’s group address. In the inbound direction, the block’s confirmed
output structure allows any change made by the FBM to a value in the field device to be read back
by the I/A Series block.

32 Auto or Input Merged


Processing Output Requested
Manual Inputs
Packed Output
from
I/A Series to External
System Device

32 Binary Readback
Confirmed
Values from Processing
Packed
External Device Output
to I/A Series
System
Figure 87-1. PAKOUT Block Diagram

1473
B0193AX – Rev N 87. PAKOUT – Packed Output Block

87.2 Basic Operation


Manual mode inputs to the PAKOUT block are obtained from operator sets, generally from an
I/A Series Display Manager or FoxView display, at the request component of parameter Packed
Output (PAKCO). Auto mode inputs are obtained from parameters Binary Input 1-32 (IN1-32).
It sends the packed value of PAKCO to the addresses of the data element specified in parameter
Packed Output Group Address (PKCOGP)1. Output from the block is change driven; the block
only writes to the device when a change occurs in at least one of the bits.
The “confirmed” structure of parameter PAKCO allows the packed value sent to the field device
address to be entered into the “request component” (also known as the “shadow component”) of
PAKCO and the value read back from the FBM to be reflected in the “confirmed component”.
The value of PAKCO, shown in displays or 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 which was sent to the field device as the request component of PAKCO is
displayed at parameter Packed Request (PAKREQ) 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 read-back values, but is not sent to the field device at this time.
The PAKOUT block does not provide any alarm detection or reporting capability. If alarms are
desired, separate CIN blocks can be used with a Boolean extension connection to each of the bits
in the PAKCO parameter of the PAKOUT block.

87.3 Features
The PAKOUT block provides the following features:
♦ Auto/manual mode selection that arbitrates between inputs by the operator or appli-
cation programs (Manual) and inputs from the control strategy (Auto)
♦ Packed long output written to device only when at least one bit changes
♦ Displayed output value that is always the read-back value
♦ A change timer that is used to synchronize values at both ends.

1.
PKCOGP contains a user-configured data identifier string, which identifies, to the FBM, specific
data to be sent to the external device. Refer to PROFIBUS-DP Communication Interface Module
(FBM223) User’s Guide (B0400FE) for details.

1474
87. PAKOUT – Packed Output Block B0193AX – Rev N

87.4 Parameters
Table 87-1. PAKOUT 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 PAKOUT_ 142
TYPE
DESCRP description string no-con/no-set blank 1 to 32 chars
PERIOD block sample time short integer no-con/no-set 1 0 to 12
PHASE block execute phase integer no-con/no-set 0 —
LOOPID loop identifier string no-con/no-set blank 1 to 32 chars
IOM_ID ECB identifier string no-con/no-set blank 1 to 12 chars
PKCOGP packed out group address string no-con/no-set 1 device specific
PKCOPT This parameter is not supported.
MA manual/auto boolean con/set 0 0 to 1
PFSOPT packed fail-safe option boolean no-con/no-set 0 0 to 1
INITMA initialize MA short integer 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
PRIBLK primary block short integer no-con/no-set 0 0 to 1
PRITIM cascade closure delay real no-con/no-set 0.0 seconds
RBKTIM read-back timer real no-con/no-set 5.0 seconds
IN1 to 32 binary input 1-32 boolean con/set 0 0 to 1
PKMASK This parameter is not supported.
OUTPUTS
PFSOUT fail-safe output long integer no-con/no-set 0 0-0xFFFFFFFF
Non-Configurable Parameters
OUTPUTS
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
BLKSTA block status packed long con/no-set 0 bit map
INITPO initialization packed output boolean con/no-set 0 0 to 1
PAKCO packed output packed long con/set 0 —
PAKREQ packed request packed long con/set 0 —
TSTAMP time stamp long integer con/no-set 0 ms after midnight
DATA STORES
DEFINE no config errors boolean no-con/no-set 1 0 to 1
DEV_ID device identifier character 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

1475
B0193AX – Rev N 87. PAKOUT – Packed Output Block

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

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.

BLKSTA Block Status is a 32-bit output, bit-mapped to indicate various block oper-
ational states. For the PAKOUT 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
B10
B11
WLCK B12
B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9
MAO

FBM
HLD
MA
ON
FS

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
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
24 FS Fail-Safe Active BLKSTA.B8
26 MAO M/A Override Active BLKSTA.B6
* Bit 0 is the least significant bit (starting from the right).

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 re-install the block.

DESCRP Description is a user-defined string of up to 32 characters used to describe


the block’s function (for example, “PLT 3 FURNACE 2 HEATER CON-
TROL”).

1476
87. PAKOUT – Packed Output Block B0193AX – Rev N

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 block’s DEFINE parameter to be set false. Val-
idation 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 block’s detail display. For the PAKOUT
block, the following list shows the possible messages you may see:

ERCODE Message Meaning


W52 – INVALID I/O CHAN- The first character of
NEL/GROUP NUMBER PKCOGP is blank.
W62 – UNRESOLVED CONNEC- Connection is not yet
TION resolved. (Block remains
defined.)
W65 – INVALID POINT ADDRESS FBM parsing algorithm
found that PKCOGP is
invalid
W66 – DUPLICATE CONNEC- There is a duplicate connec-
TION tion to a point.
W67 – INSUFFICIENT FBM MEM- There is no available memory
ORY/CONNECTIONS or point connections in the
FBM.
W68 – INVALID DEVICE CON- The device connection is
NECTION invalid.
W69 – INVALID POINT CON- The point connection is
NECTION invalid.

IN1-32 Binary Inputs 1 to 32 are the values used as the inputs when the block is in
Auto mode. They normally originate from upstream blocks in the control
strategy.

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.

1477
B0193AX – Rev N 87. PAKOUT – Packed Output Block

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.

INITPO Initialize Packed Output is a cascade initialization signal which is set true
by the block logic whenever the cascade is opened. You should connect
INITPO to the INITI input of each upstream block.

IOM_ID ECB Identifier is a user-configurable string that specifies either of the fol-
lowing:
♦ The device ECB (ECB201), for the purpose of connecting to
(accessing) a field parameter that resides in a field device hosted by
an ECB200.
♦ The parent ECB200, for the purpose of accessing a parameter
whose source is the FBM itself (not applicable to FBM223).
IOM_ID can be formatted in either of two ways, depending on the loca-
tion of the ECB in question:
♦ Simply the name of the external device ECB (ECB201). For
this format, the ECB201 must reside in the station ECB com-
pound <cp_letterbug>_ECB, where cp_letterbug is the station
letterbug of the I/A Series control station.
♦ The full pathname of the external device ECB (ECB201). For
this format, the ECB201 must reside in the station ECB com-
pound, or any compound where blocks that tie to it are located.
The pathname must be of the form:
<local_compound_name>:<ecb_name>
where <ecb_name> is the NAME parameter of the ECB.
Note: Once configured, IOM_ID may not be modified. A delete/undelete
operation will NOT allow IOM_ID to be changed. The block must be
deleted and then re-entered into the data base. IOM_ID may then be
reconfigured.

LOCKID Lock Identifier is a string identifying the workstation that 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.

1478
87. PAKOUT – Packed Output Block B0193AX – Rev N

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
accompanying the set command is entered into the LOCKID parameter
of the block. Thereafter, set requests to any of the block’s 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 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 block’s operating state


(0 = false = Manual; 1= true = Auto). When in Auto, the block input is
taken from IN1-32, usually from upstream connections. In Manual, the
input is taken from the request component of PAKCO.

MANSW Manual Switch unconditionally forces the block mode to Manual. 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.

NAME Name is a user-defined string of up to 12 characters used to access the


block and its parameters.

OWNER Owner is a settable 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.
This parameter is set by an Object Manager get/set call. Refer to Object
Manager Calls (B0193BC) for more information.

PAKCO Packed Output is the output of the PAKOUT block. Its request compo-
nent contains the packed long value sent to the external device per
PKCOGP specification (addressing), and its confirmed component con-
tains the device readback.

PAKREQ Packed Request displays the value of the request component of PAKCO at
all times, for diagnostic purposes. PAKREQ cannot be set or configured.

1479
B0193AX – Rev N 87. PAKOUT – Packed Output Block

PERIOD Period is an indexed input that dictates the block’s execution time base
and allowable PHASE values. PERIOD values range from 0 to 9 and map
to the following period time lengths.
Period Length Period Length
0 0.1 second 5 30 seconds
1 0.5 second* 6 1 minute
2 1.0 second 7 10 minutes
3 2.0 seconds 8 60 minutes
4 10 seconds 9 0.2 second
*If the BPC is 0.2 second, this period is treated internally as
0.6 second, but the PERIOD parameter remains 1.

PFSOUT Packed Fail-Safe Output is the fail-safe value configured in the PAKOUT
block and downloaded into the FBM. It is used by the FBM, if the
PFSOPT option is set in the IOUT block, to assert fail-safe action to the
packed boolean output of the field device. It is also used to set the initial
output value when the PAKOUT block is installed and when the CP sta-
tion is rebooted.
This parameter is currently not supported by Modbus FBM224.

PFSOPT Packed Fail-Safe Option is a configurable option that specifies the fail-safe
conditions and action to be taken in an FBM for the output point in the
PAKOUT block:
0 = no fail-safe option
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.
This parameter is currently not supported by Modbus FBM224.

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
I/A Series Station is 0.5 sec. See Integrated Control Software Concepts
(B0193AW).

PKCOGP Packed Output Group Address 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 make and model of the
external device.
For the Profibus interface (FBM223), PKCOGP must be configured to
contain a Profibus data identifier. This information identifies, to the
FBM, specific data, in the Profibus data stream, to be sent to the external
device. Refer to PROFIBUS-DP Communication Interface Module
(FBM223) User’s Guide (B0400FE) for further details.

1480
87. PAKOUT – Packed Output Block B0193AX – Rev N

For the Modbus interface (FBM224), PKINGP must be configured to


contain the address of a set of coils in a Modbus device. Refer to Modbus
Communication Interface Module (FBM224) User’s Guide for details.

PKCOPT This parameter is not supported.

PKMASK This parameter is not supported.

PRIBLK Primary Block specifies the cascade behavior of the PAKOUT block.
When PRIBLK is 1, PAKOUT remains in Holding for PRITIM seconds
when the cascade has been opened.
Be aware that the combination of PRIBLK = 1 and PRITIM = 0.0 is
invalid.
When PRIBLK = 0, PAKOUT ends the Hold after one cycle.

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
PAKOUT block. It is used only if the PRIBLK option is set. If PRITIM =
0 and PRIBLK is used, the cascade remains open indefinitely, or until
acknowledged by the primary block.

RBKTIM Read-back Timer is a configurable parameter used to time-out changes


made by the I/A Series system to the output of the PAKOUT block. If the
output change is not confirmed within the allowable time-out, the output
is re-initialized to the read-back value.

TSTAMP Time Stamp is a long integer output that represents the time, in millisec-
onds since midnight, of the most recent updated input/output in a DCI
block. This time stamp is supplied either by the FBM or by the I/A Series
control station, depending on the type of FBM. If supplied by the FBM,
TSTAMP indicates the time of the latest updated value in the FBM. If
supplied by the I/A Series control station, TSTAMP indicates the time of
the latest updated value in the I/A Series control station.

TYPE When you enter “PAKOUT” or select it from a configurator list, an iden-
tifying integer is created specifying this block type. For this block, the
value of TYPE is 142.

1481
B0193AX – Rev N 87. PAKOUT – Packed Output Block

87.5 Functions
87.5.1 Detailed Diagram

FBM ∆
OR
Readback
AND PAKCO
ECB Good Request
to Device
MA
FBM
Readback
IN1-32 Input
Selection ∆ AND
Sets to Change
PAKCO AND Timer
Request ECB Good
Timer
Expired

ECB Status PAKCO Confirmed.BAD


PAKCO Confirmed.OOS

Figure 87-2. PAKOUT Block Operational Diagram

87.5.2 Associated ECBs


The configured parameter IOM_ID of the PAKOUT block specifies an ECB201 (the device
ECB) to connect to a field parameter that resides in a field device hosted by an ECB200 (the
FBM ECB). The PARENT parameter of the ECB201 specifies the associated ECB200 hosting
the field device.

87.5.3 DCI Connection


The PAKOUT block establishes one DCI connection to the specified ECB in any one of the fol-
lowing instances:
♦ The I/A Series control station in which it resides has just been rebooted.
♦ The block has just been installed.
♦ A parameter of the block has been modified by the ICC or FoxCAE configurator.
♦ A device or parent ECB specified by the PAKOUT 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. It also allows multiple DCI con-
nections in the same DCI block to be established when required (for example, connections in
redundant type DCI blocks or INI_PT connections in certain output type blocks).
The DCI connection is deleted (that is, the linkage is removed from the linked list for the ECB)
when the PAKOUT block is deleted.

1482
87. PAKOUT – Packed Output Block B0193AX – Rev N

87.5.4 Destination of Output Data


The device group address receiving the output value is configured as a string in PKCOGP. (If the
first character of PKCOGP is blank, the block is set undefined.)
The format of PKCOGP is bus specific and device specific. When the PIO maintenance task runs
after the DCI connection has been made, (see “DCI Connection” above), the PKCOGP string
used by the block is passed to the FBM for parsing and validation. In DCI blocks, address identi-
fication strings are not parsed by the I/A Series control station.
If the first character of PKCOGP is blank, the PKCOGP 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 all the following cases, the block is also set undefined:
♦ If the FBM parsing algorithm finds that PKCOGP 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.

87.5.5 Confirmed Output Parameters


As with most output parameters in DCI blocks, PAKCO is a confirmed output. A confirmed out-
put contains two values: a request value and a read-back value. The request value is changed by an
I/A Series user and sent to the external device. The read-back value is the value read back each
block cycle from the FBM. In the PAKOUT block, the request value is available as parameter
PAKREQ. Also, the read-back value is visible to the user as parameter PAKCO.
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.

87.5.6 Status of PAKCO


The status of the PAKCO output is checked, together with the status of the connected ECB, and
the status of the PAKCO parameter is then set according to the following rules:
The status of the confirmed block output PAKCO is set to Out-of-Service if:
♦ The status of the connected ECB indicates that the field device is Off-line or Out-of-
Service.

1483
B0193AX – Rev N 87. PAKOUT – Packed Output Block

♦ The connected ECB is an ECB201 (device ECB) and its device status parameter indi-
cates that the connection is unresolved.
♦ 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 under
“DCI Connection” above.
♦ The connection status information indicates that there is an unresolved DCI connec-
tion. (In this case, ERCODE is set to 62. The detail display shows “W62 –
UNRESOLVED CONNECTION”.)
♦ 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, or
♦ The connection status information indicates disconnected, meaning (in general) that
the parameter is not connected or not defined.
The status of PAKCO is set to Bad if:
♦ The 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 PAKCO is set to Error if:
♦ The status information indicates an uncertain or questionable value for the field
device parameter.
♦ No processing is performed in any cycle in which PAKCO is either Bad or Out-of-
Service.

87.5.7 Auto/Manual Arbitration


Auto/manual mode selection arbitrates between inputs by the operator or application programs
(Manual) and inputs from the control strategy (Auto). Parameters MA, INITMA, AUTSW, and
MANSW are used to establish the control mode of the block.

87.5.8 Inputs in Auto Mode


In Auto, the input parameters IN1-IN32 are used to drive the output. Upstream blocks may con-
nect to one or more of IN1-IN32 or, if any of the INx parameters is unlinked, it is settable by
operator action. IN1-IN32 are used only on a change-driven basis. If the value of an IN differs
from its value on the last cycle, the new value of that bit position is set into PAKCO_request. An
output change mask is maintained to identify which bit positions are new. In either Auto or Man-
ual mode, PAKREQ contains the value in PAKCO_request, for display in user-created displays or
access via Object Management Access (OMA).

87.5.9 Inputs in Manual Mode


In Manual, the values set into PAKCO_request are used to drive the output. As in the case of
IN1-IN32 in Auto, PAKCO_request only acts on a bit-wise change basis. The output change
mask identifies which of the bit positions have changed on this cycle. PAKCO_readback contin-
ues to monitor value changes from the device when in Manual.

1484
87. PAKOUT – Packed Output Block B0193AX – Rev N

87.5.10 Read-Back Changes


The read-back value from the external device is always copied into PAKCO, regardless of the
auto/manual state. A read-back change mask, similar to the output change mask, is maintained to
identify which bit positions of the readback are new (that is, differ from the corresponding
PAKCO bits) before the updating occurs.

87.5.11 Output Processing


The first step in output processing is to merge and reconcile the two masks: the output change
mask and the read-back change mask. If the same bit is changed by the I/A Series system and by
the field device (via the readback) on any one cycle, the I/A Series change is accepted for that bit,
and the read-back change is ignored. In this way, the field device remains informed of I/A Series
system changes at all times. Thus, when the same bit is true in the two masks, that bit is reversed
to zero in the read-back mask. The net effect is that the bit is considered only an I/A Series (out-
put) change. Note that the two masks are now mutually exclusive.
For all true bits in the output change mask, the I/A Series value for that bit is written into the out-
put data value. For all true bits in the read-back change mask, the read-back value for that bit is
written into the output data value. The output data value is, therefore, a merger of the changes
from both directions. In the general case, there may be certain bits of the output data value which
are changed by neither side, and may be considered “don’t care” positions. The two masks are
merged into a single mask which is sent to the device via the DCI connection (see “DCI Connec-
tion” above), together with the final output data value. Therefore, the identification of the “don’t-
care” bits is possible, and they can be handled in a device dependent way.
If the only true bits in the merged output mask are the result of read-back changes, with none
resulting from output changes (or if there are no changes from either side), no writing of the out-
put occurs. If at least one bit is the result of output changes from the I/A Series side, the final out-
put data value consists of a merger of the two types of change, and is sent to the field device.

87.5.12 Initialization and Cascade Processing


The PAKOUT block initializes whenever the block is restarted, or there is either a bad-to-good
transition of PAKCO or an Out-of-Service to good transition of PAKCO (see “Status of PAKCO”
above). Initialization consists of turning on INITPO and opening the upstream cascade. INITPO
may be connected to the INITI inputs of the blocks immediately upstream from the PAKOUT
block, if those blocks support an INITI input. The upstream blocks (the blocks connected to the
INx inputs) are then commanded to run immediately. This feature causes a “Run” flag in the
header of the upstream blocks to be set, causing the compound processor to execute those blocks
on the next BPC, without regard to their periods and phases.
If there is no support for cascade processing in the upstream blocks, PRIBLK should be config-
ured as 0. In this case, the cascade is held open for one cycle. If cascade closure is to be delayed
until a specific time constant has expired, then PRIBLK should be configured as 1, and the time
constant should be configured into PRITIM. (The ACK option, normally specified by configur-
ing PRITIM as 0.0, is not supported. It results in a configuration error at validation time).
On the initialization cycle, the entire readback is considered newly changed. The final output data
value consists of the entire readback only, and all bits of the output data mask are set true.

1485
B0193AX – Rev N 87. PAKOUT – Packed Output Block

87.5.13 Unlinked IN Inputs


If any of the IN parameters is unlinked, the read-back value for that bit position is set into an
unlinked IN on each cycle, thus serving as the baseline for further change-driven determinations.

87.5.14 Change Timer


A change timer is initialized to the value of RBKTIM (in seconds) each time any bit is changed by
the I/A Series side. It is then decremented on each cycle for which there is no change from the
I/A Series system.
If the timer expires, or a transition to Manual occurs, the entire read-back value is passed to the
DCI connection as the final output. This serves only for initialization purposes, however, since all
“write flags” in the DCI connection are forced to zero. No writing to the external device can occur
without output changes from the I/A Series end.

87.5.15 Fail-Safe Functions


Fail-safe support is based on the following parameters:
♦ PFSOPT: This configured value specifies the condition(s) under which the external
device is to receive a fail-safe value from the I/A Series system.
♦ PFSOUT: This configured value specifies the fail-safe value which is to be sent to the
external device when any condition specified in PFSOPT exists.
The PFSOPT conditions are:
♦ Go into fail-safe using the PFSOUT value when communications between the
I/A Series control station and the FBM is lost. This action 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.
If PFSOPT is set, and PAKCO is not Bad or Out-of-Service, the fail-safe value is sent to the field
device when the PAKOUT block is shut down. This happens when turning off the compound
containing the PAKOUT block and when deleting the PAKOUT block or the compound con-
taining the PAKOUT block from the CP data base.
In addition, the PFSOUT value is sent to the field device via the FBM when the CP is rebooted.
This action is independent of the PFSOPT configuration.

87.5.16 Time Stamp


The time stamp (TSTAMP) parameter of the block is updated every time there is a change in the
value of PAKCO. 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.

87.5.17 Identification and Access Control


The LOOPID, OWNER, LOCKRQ, LOCKID, and ACHNGE parameters are used in the stan-
dard way in the DCI blocks.

1486
88. PATALM – Pattern Alarm Block
This chapter describes PATALM (Pattern Alarm Block), including its features, parameters and
detailed operations.

88.1 Overview
The Pattern Alarm block, PATALM, provides masking, bit compare, and alarming capabilities for
a specific pattern of up to 16 boolean inputs.

88.1.1 I/O Diagram

Compound, Block and Parameter names


16 lines: IN_1 through IN_16
Pattern Alarm
Masking Match Indicator
Manual/Auto Compare
SAP State Alarm Priority
Alarming
Alarm Inhibit Criticality
Mismatch Priority Type
Timeout
Alarming Alarm and Block Status

PATALM
BLOCK

Figure 88-1. PATALM Block I/O Diagram

88.2 Features
The features are:
♦ Manual/Auto control of output
♦ Up to 16 boolean inputs
♦ Alarm message generation on pattern match
♦ Alarm message and alarm notification inhibiting
♦ State change alarming.
The options are:
♦ Mismatch alarming option, MMAOPT, which generates a state alarm on a mismatch
of the configured pattern
♦ Inhibit Option (INHOPT) lets you specify alarm inhibit options.

1487
B0193AX – Rev N 88. PATALM – Pattern Alarm Block

88.3 Parameters
Table 88-1. PATALM 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 25 PATALM
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/no-set blank 1 to 32 chars
MA manual/auto boolean con/set 0 0 to 1
INITMA initialize MA short no-con/no-set 1 0 to 2
IN_1 to IN_16 input point 1 to 16 boolean con/set 0 0 to 1
PAT_1 to PAT_16 alarm pattern bit 1 to 16 boolean no-con/set 0 0 to 1
MSK_1 to MSK16 alarm pattern mask 1 to 16 boolean no-con/set 0 0 to 1
ANM alarm name point 1 string no-con/no-set blank 1 to 12 chars
NM0 alarm state name string no-con/no-set blank 1 to 12 chars
NM1 alarm state name string no-con/no-set blank 1 to 12 chars
MMAOPT mismatch alarm 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
SAP state alarm priority integer con/set 5 [1..5]
SAG state alarm group short no-con/set 1 [1..8]
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 FFFFFFFF
PIND pattern indicator boolean con/no-set 0 0 to 1
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-FFFFFFFF
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

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

1488
88. PATALM – Pattern Alarm Block B0193AX – Rev N

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 PATALM block, only the following unshaded 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

B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

Bit Number* Configured Alarm Option Boolean Connection


(0 to 31) When True (B32 to B1)
0 Alarm Group 8 in Use ALMOPT.B32
1 Alarm Group 7 in Use ALMOPT.B31
7 Alarm Group 1 in Use ALMOPT.B25

* Bit 0 is the least significant bit (starting from the right).


There are no mnemonic names for the individual bits of ALMOPT.

ALMSTA Alarm Status is a 32-bit output, bit-mapped to indicate the block’s alarm
states. For the PATALM 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
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
UNAK B2
B3
B4
B5
B6
B7
B8
B9

CRIT PRTYPE
INH

Bit Boolean
Number Connection
(0 to 31)* Name Description When True (B32 to B1)
0 to 4 PTYP_MSK Priority Type: See parameter ALMSTA.B32–
PRTYPE for values used in ALMSTA.B28
the PATALM block
5 to 7 CRIT_MSK Criticality; 5 = lowest ALMSTA.B27–
priority, 1= highest ALMSTA.B25
29 INH Alarm inhibit ALMSTA.B3
30 UNAK Unacknowledged ALMSTA.B2

* Bit 0 is the least significant bit (starting from the right).

1489
B0193AX – Rev N 88. PATALM – Pattern Alarm Block

ANM Alarm Name is a user-defined string of up to 12 characters that identify


the input point as the source of the alarm in the alarm messages. It serves
as a point descriptor label.

BLKSTA Block Status is a 32-bit output, bit-mapped to indicate the block’s opera-
tional states. For the PATALM 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

B10
B11
WLCK B12
B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

MA
ON
Bit Boolean
Number* Connection
(0 to 31) Name Description When True (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

* Bit 0 is the least significant bit (starting from the right).

CRIT Criticality is an integer output that indicates the priority, ranging from 1
to 5, of the block’s 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. 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


block’s 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 block’s
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 PATALM block, the follow-
ing list specifies the possible values of ERCODE, and the significance of
each value in this block:

1490
88. PATALM – Pattern Alarm Block B0193AX – Rev N

Message Value
“W43 – INVALID PERIOD/ PHASE does not exist for given block
PHASE COMBINATION” PERIOD, or block PERIOD not
compatible with compound
PERIOD.
“W46 – INVALID INPUT The source parameter specified in the
CONNECTION” input connection cannot be found in
the source block, or the source
parameter is not connectable, or an
invalid boolean extension connec-
tion has been configured.
“W48 – INVALID BLOCK The configured value of a block
OPTION” option is illegal.
“W53 – INVALID PARAMETER A parameter value is not in the
VALUE” acceptable range.
“W58 – INSTALL ERROR; A Database Installer error has
DELETE/UNDELETE BLOCK” occurred.

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

INHSTA Inhibit Status contains packed long values that represent the actual inhibit
status of each alarm type configured in the block. For the PATALM block,
only the following bits are used:

1491
B0193AX – Rev N 88. PATALM – Pattern Alarm 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

B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
UNACK B2
B3
B4
B5
B6
B7
B8
B9
INH

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
29 INH Inhibit Alarm INHSTA.B3
30 UNACK Unacknowledged INHSTA.B2

* Bit 0 is the least significant bit (starting from the right).

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.

IN_1 to IN_16 Inputs 1 through 16 are boolean inputs. They identify the upstream out-
puts that are being monitored by the inputs of the block.

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 block’s

1492
88. PATALM – Pattern Alarm Block B0193AX – Rev N

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

MMAOPT Mismatch Alarm Option specifies that a state alarm be generated when
the masked input bit pattern mismatches a user-defined bit pattern in the
PATALM block.

MSK_1 to MSK_16
Masks 1 through 16 are boolean inputs. When set true, MSK_1 enables a
comparison of Bit 1 of the input bit pattern (IN_1–IN_16) against Bit 1
of a user-defined bit pattern (PAT_1–PAT_16). MSK_2 through
MSK_16 apply to Bit 2 through Bit 16 in the same manner as MSK_1 is
applied to Bit 1.

NAME Name is a user-defined string of up to 12 characters used to access the


block and its parameters.

NM0 Name 0 is a user-defined string of up to 12 characters. NM0 describes in


alarm reports the action generated by the mismatch indicator MMAIND
returning from alarm.

NM1 Name 1 is a user-defined string of up to 12 characters. NM1 describes, in


alarm reports, the action generated by the mismatch indicator MMAIND
going into alarm.

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.

1493
B0193AX – Rev N 88. PATALM – Pattern Alarm Block

PAT_1 to PAT_16 Patterns Bits 1 through 16 are boolean inputs used for comparison against
the corresponding bits of Inputs 1 through 16 (IN_1–IN_16). For exam-
ple, Pattern Bit 1 is compared to IN_1.

PERIOD Period is an indexed input that dictates the block’s 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*****

* 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, and CP60.

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. See Integrated Control Software Concepts
(B0193AW) document.

PIND The Pattern Match Alarm Indicator output is set true when all the masked
Inputs (IN_1–IN_16) match the corresponding pattern specified by Pat-
tern Bits (PAT_1–PAT_16). Mask Bits (MSK_1 to MSK_16) determine
which Inputs are compared to their corresponding Pattern Bits (see
Figure 88-3).

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

1494
88. PATALM – Pattern Alarm Block B0193AX – Rev N

SAG State Alarm Group is a short integer input that directs mismatch alarm
messages to the corresponding group of alarm devices. You can change the
group number through the workstation.

SAP State Alarm Priority is an integer input that sets the alarm priority for the
mismatch alarm reporting (1 is the highest priority).

TYPE When you enter “PATALM” or select “PATALM” 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.

88.4 Functions
88.4.1 Detailed Diagram
Figure 88-2 is a simplified block diagram that depicts the functional signal flow of the PATALM
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.

INHSTA
INHOPT Output Message consisting of:
MMAOPT Block Name (NAME)
Point Description (ANM)
State Alarming Alarm Message Name (NM0
MSK_1 MA or NM1)
IN_1 Alarm Message Type (“Alarm”
PAT_1 AND or “Normal”)
Manual
State Alarm Priority (SAP)
State Alarm Group (SAG)
PIND
Auto
MSK_16
IN_16
PAT_16 AND

ANM ALMSTA
NM0 CRIT
NM1 PRTYPE
SAP PIND
SAG UNACK

Figure 88-2. PATALM, Detailed Block Diagram

88.4.2 Detailed Operation


In Auto mode, the PATALM block reads the inputs (up to 16 inputs) and compares them to the
set of mask bits (MSK_1 through MSK_16). All input bits with a corresponding mask bit set to
true (T) are considered “masked”. These bits are flagged for testing against a set of pattern bits
(PAT_1 through PAT_16), to determine if there are any mismatches.
This is illustrated in Figure 88-3.

1495
B0193AX – Rev N 88. PATALM – Pattern Alarm Block

EXAMPLE 1 INPUT BITS: 0 0 1 1 0 1 1 0 1 0 1 0 1 0 0 1


All bits match
MASK BITS: 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0

MASKED INPUT BITS: 0 1 0 1

PATTERN BITS: 0 1 0 0 1 1 0 1 1 0 0 0 1 1 0 0

RESULTS: Match Match Match Match PIND = True

EXAMPLE 2 INPUT BITS: 0 0 1 1 0 1 1 0 1 0 1 0 1 0 0 1


Bit mismatches
MASK BITS: 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0

MASKED INPUT BITS: 0 1 0 1

PATTERN BITS: 1 1 0 0 1 1 0 1 1 0 0 0 0 1 0 0

RESULTS: Mismatch Match Match Mismatch PIND = False

Figure 88-3. Input, Mask, and Pattern Bit Comparison

Each of the masked input bits is compared with a pattern bit having the same bit position as the
input bit (for example, a masked IN_2 is compared to PAT_2).
If all the tested bits match, the pattern match indicator, PIND, is set true and, unless inhibited, an
alarm message is generated. The message includes the following information:
♦ The Block Name (NAME)
♦ The Point Descriptor (ANM)
♦ The Alarm State Name (NM0 if going to the mismatched state, or, NM1 if going to
the matched state)
♦ Alarm Message Type (“Alarm” or “Normal”)
♦ Priority (SAP)
♦ Group (SAG).
If any of the tested bits do not match, the pattern match indicator, PIND, is set false and, unless
inhibited, the state alarm is initiated, indicated via the above message. This state alarm
continues until PIND is set to true.
All input bits with a corresponding mask bit set to false (F) are not tested. “Don’t Test” means the
position always matches – unless all positions are “Don’t Test”, in which case the block does not
generate a match alarm.

88.4.3 Initial PATALM Configuration


Key Parameters: IN_1 to IN_16, MSK1 to MSK16, PAT_1 to PAT_16
Set up the Pattern Alarm (PATALM) block operation by:
1. Configuring as many of the boolean inputs, IN_1 to IN_16, as you want in the pat-
tern.

1496
88. PATALM – Pattern Alarm Block B0193AX – Rev N

2. Establishing which bits are to be tested by inputting the MSK_x parameters at config-
uration or on-line, through the workstation.
3. Establishing the pattern to be matched by inputting the PAT_x parameters at configu-
ration or on-line, through the workstation.

88.4.4 Block States


The PATALM block has three states: Initialization, Manual and Auto.

88.4.4.1 Initialization
Key Parameters: INITMA
At initialization, the block initializes MA. DEFINE is set to 0 if any configured parameters fail
validation testing.

88.4.4.2 Manual
Key Parameters: MA
In Manual, pattern matching is inhibited and the pattern match indicator, PIND, is set to false.
PIND is unsecured and can be set by an external task or program to simulate process conditions.

88.4.4.3 Auto
Key Parameters: MA
In Auto mode, the block operates as described in this chapter.

88.4.5 Inhibit Alarming


Key Parameters: ALMSTA, CINHIB, CRIT, INHALM, INHIB, INHOPT, MMAOPT, PIND,
PRTYPE
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 to be inhibited in the
block. See Table 88-1 for its formatting.
The INHOPT parameter specifies the actions to be taken when alarms are inhibited in the block.
When INHIB, CINHIB and INHALM specify that alarms are to be inhibited, and INHOPT = 1
or 3, indicating that alarm detection itself is disabled, the following actions are taken:
♦ PRTYPE is cleared to zero.
♦ CRIT is cleared to zero.
♦ ALMSTA.STA is cleared to false.
♦ PIND is cleared to false.
MMAOPT is a boolean inhibit option parameter which enables/disables state alarming.

88.4.6 Alarm Response and Return to Normal Transition


Key Parameters: ALMSTA, CRIT, NM0, NM1, PIND, PRTYPE, UNACK
When alarm conditions are detected (PIND=false), PRTYPE and CRIT are set to the highest pri-
ority alarm in the block, and message NM1 is sent to the appropriate device. PRTYPE reflects the
alarm type of the highest priority active alarm, and CRIT is set to this alarm’s priority level. The
corresponding bits in ALMSTA are set to 1. The UNACK parameter is set to 1.

1497
B0193AX – Rev N 88. PATALM – Pattern Alarm Block

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. UNACK remains
unchanged until the acknowledge, after which it reverts to 0.
If the block detects a transition out of alarm, PIND, PRTYPE, CRIT, and the appropriate ALM-
STA bits are reset, and the message NM0 is sent to the appropriate device.

1498
89. PATT – Pattern Block
This chapter gives a general overview of the PATT (Pattern Block), including its basic
operations, features, parameters, and functions and provides an application example.

89.1 Overview
The Pattern (PATT) block is configured with up to 16 standard patterns, a hold pattern, and an
initialization pattern; each pattern contains up to 16 boolean values (see Figure 89-1). The block
compares the requested pattern against a 16-bit packed boolean input and outputs indications of:
♦ Whether the input matches the specified pattern or not
♦ Which bits in the input do not match the specified pattern
♦ Which, if any, of the 16 standard patterns match the input.
The PATT block easily interfaces with the STATE block. PATT blocks can be cascaded to handle
patterns of more than 16 bits.

16 Standard Patterns/Masks
1 Initialization Pattern/Mask
1 Hold Pattern/Mask

Pattern Selector Select one of 18


patterns/masks

Compare all 16
standard patterns Patterns that match
using the masks (1 to 16)

Bits that do not match


Packed Boolean Compare this (1 to 16)
Input pattern to the
input using mask
Match Indicator

Bad Lock Option Detect


bad value Bad Indicator
All Settable Inputs

89.2 Basic Operation


The PATT block compares one of 16 preconfigured boolean patterns (16 bits each) against a
packed boolean input (PAKINP) parameter for the bits specified by the pattern mask. The pat-
tern select (PATSEL) parameter specifies the pattern to be compared and the match boolean
(MATCHB) parameter indicates whether the pattern matched PAKINP or not.

1499
B0193AX – Rev N 89. PATT – Pattern Block

In addition, there is a process initialization pattern (PTRN_I) and process hold pattern
(PTRN_H) that can be selected by PATSEL.
The match output (MCHOUT) parameter is a 16-bit packed boolean that contains the match
status for all 16 patterns, that is, each bit is assigned to a specific pattern. The mismatch
(MMATCH) output parameter is a 16-bit packed boolean that contains the mismatch status for
all bits in the pattern, that is, each bit is assigned to a specific pattern bit.
If more than 16 boolean inputs need to be compared, PATT blocks can be cascaded.

89.3 Features
The PATT block provides the following features:
♦ Compares up to 18 preconfigured patterns (16 bits each) against a packed boolean
input for the bits specified by the associated pattern mask.
♦ Provides a boolean output that indicates the pattern match status for the selected
pattern.
♦ Provides a packed boolean output that contains the pattern match status for patterns
1 to 16, that is, each bit is assigned to a specific pattern.
♦ Provides a packed boolean output that contains the pattern mismatch status for each
bit in the selected pattern, that is, each bit is assigned to a specific pattern bit.
♦ Can be cascaded to provide the pattern match indication when more than 16 process
variables need to be compared.
♦ Provides process initialization and hold patterns.
♦ Provides an option to lock out updating of the match and mismatch outputs if the
input parameter is out-of-service (OOS), bad (BAD), or off-scan (OFF). These out-
puts retain their last good value.
♦ Supports the standard block-level manual/auto capability for all of its outputs.

89.4 Parameters
Table 89-1. PATT Block Parameters

Name Description Type Accessibility Default Units/Range


Configured Parameters
INPUTS
NAME block name string no-con/no-set blank 1 to 12 chars
TYPE block type integer no-con/no-set 78 PATT
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
PHASE block phase number integer no-con/no-set 0 see param def
LOOPID loopid string no-con/no-set blank 1 to 32 chars
MA manual/auto boolean con/set 0 0 to 1
INITMA initialize MA short no-con/no-set 1 0 to 2
MTHOPT match option boolean no-con/no-set 0 0 to 1

1500
89. PATT – Pattern Block B0193AX – Rev N

Table 89-1. PATT Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


MATCHF feedback drive boolean con/set 0 0 to 1
PATSEL pattern number integer con/set 0 0 to 17
PAKINP packed input pack_b con/set 0x0000 0x0000 to 0xFFFF
PTRN_I initialize pattern pack_b no-con/set 0x0000 0x0000 to 0xFFFF
MASK_I mask for Initialize pack_b no-con/no-set 0xFFFF 0x0000 to 0xFFFF
CNAM_I name for initialize string no-con/no-set blank 1 to 32 chars
PTRN_H hold pattern pack_b no-con/set 0x0000 0x0000 to 0xFFFF
MASK_H mask for hold pack_b no-con/no-set 0xFFFF 0x0000 to 0xFFFF
CNAM_H name for hold string no-con/no-set blank 1 to 32 chars
PTRN01 to PTRN16 patterns 1 to 16 pack_b no-con/set 0x0000 0x0000 to 0xFFFF
MASK01 to MASK16 masks 1 to 16 pack_b no-con/no-set 0xFFFF 0x0000 to 0xFFFF
CNAM01 to CNAM16 pattern names 1 to 16 string no-con/no-set blank 1 to 32 chars
BADLCK bad input lock boolean no-con/no-set 0 0 to 1
Non-Configured Parameters
OUTPUTS
BADIND health problem boolean con/no-set 0 0 to 1
BLKSTA block status pack_1 con/no-set 0x00...0 0 to 0xFFFFFFFF
MATCHB match indicator boolean con/no-set 0 0 to 1
MCHOUT matched patterns pack_b con/no-set 0x0000 0x0000 to 0xFFFF
MMATCH mismatched patterns pack_b con/no-set 0x0000 0x0000 to 0xFFFF
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 2 blanks 0 to 14 chars
LOCKID lock identifier string no-con/no-set 2 blanks 1 to 32 chars
LOCKRQ lock request boolean no-con/set 0 0 to 1
OWNER owner name string no-con/set blank 0 to 32 chars

89.4.1 Parameter Definitions


ACHNGE Alternate Change is a integer output that is incremented each time a setta-
ble parameter is changed externally. It wraps around from 32767 to
-32768.

BADIND Bad Indication is a boolean output that is set true when BADLCK is true
and one of the settable inputs is unhealthy, that is, out-of-service (OOS),
bad input/output (BAD), or off-scan (OFF).

BADLCK Bad Lock is a boolean input, that when true, sets MATCHB to false and
BADIND true if a settable input is unhealthy, that is, bad I/O (BAD),
out-of-service (OOS), or off-scan. MCHOUT and MMATCH retain
their last good value excepting:
♦ If PAKINP is healthy, MCHOUT is always updated.
♦ If only MATCHF is unhealthy and MTHOPT is true (cascade
configuration), then MMATCH is always updated.

1501
B0193AX – Rev N 89. PATT – Pattern Block

BLKSTA Block Status is a 32-bit output, bit-mapped to indicate various block oper-
ational states. The PATT block uses only 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

B10
WLCK B11
B12
B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

MA
ON
Bit Boolean
Number* Connection
(0 to 31) Name Description (B32 to B1)**
11 MA (0 = Manual, 1 = Auto) BLKSTA.B21
14 UDEF (1 = Block Undefined) BLKSTA.B18
15 ON (1 = Compound ON) BLKSTA.B17
20 WLCK (1 = Workstation Lock) BLKSTA.B12

* Bit 0 is the least significant bit (starting from the right).

CNAM01 to CNAM16
Character Names 1 through 16 are user-defined strings of up to 32 char-
acters each that describe patterns PTRN01 through PTRN16.

CNAM_H Character Name for Hold pattern is a user-defined string of up to 32 char-


acters that describes pattern PTRN_H.

CNAM_I Character Name for Initialization pattern is a user-defined string of up to


32 characters that describes pattern PTRN_I.

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 re-install the block.

DESCRP Descriptor is a user-defined string of up to 32 characters that describe the


block’s function (for example, PLT 3 FURNACE 2 HEATER CON-
TROL).

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 only the following error
strings:
W46 - INVALID INPUT CONNECTION
W58 - INSTALL ERROR; DELETE/UNDELETE BLOCK

1502
89. PATT – Pattern Block B0193AX – Rev N

INITMA Initialize Manual/Auto is a short integer input that specifies the desired
state of the MA input during initialization:
0 = Manual
1 = Auto
2 = No change, except if a reboot, use the MA state as specified in the
checkpoint file.
The block asserts this initial Manual/Auto state whenever:
♦ It is installed into the Control Processor database.
♦ The Control Processor undergoes a reboot operation.
♦ The compound in which the block 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 the MA input has an established linkage.

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. It is set
when LOCKRQ is set true, and nulled when LOCKRQ is cleared.
LOCKID has the format LETTERBUG:DEVNAME, where LETTER-
BUG is the 6-character 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 data store. When set true, it locks workstation
write access to the block and sets LOCKID to the identifier of the request-
ing workstation. When LOCKRQ is reset to false, it unlocks write access
to the block and nulls LOCKID. An operator at any other workstation
can lock and unlock the block by toggling the LOCK U/L key on the
Block Detail Display.

LOOPID Loop Identifier is a user-defined string of up to 32 characters that identify


the control loop or process unit that contains this block.

MA Manual/Auto is a boolean input that controls the block’s operating state:


0 = Manual
1 = Auto
In Manual, each PATT block output is unsecured, which makes it settable
by an external process (program or display). In Auto, the block secures
each output so that they cannot be set externally.

MASK01 to MASK16
Masks 1 through 16 are packed boolean inputs that specify which bits in
PTRN01 through PTRN16 are compared against the packed boolean
input PAKINP when computing the pattern match outputs. If a MASK
bit is set true, the block compares the corresponding bit in PAKINP to the
pattern; if a MASK bit is false, the block ignores the corresponding bit.

1503
B0193AX – Rev N 89. PATT – Pattern Block

MASK_H Mask for Hold pattern is a packed boolean input that specifies which bits
in PTRN_H are compared against the packed boolean input
PAKINP when computing the pattern match status outputs. If a MASK
bit is set true, the block compares the corresponding bit in PAKINP to the
pattern; if a MASK bit is false, the block ignores the corresponding bit.

MASK_I Mask for Initialization pattern is a packed boolean input that specifies
which bits in PTRN_I are compared against the packed boolean input
PAKINP when computing the pattern match status outputs. If a MASK
bit is set true, the block compares the corresponding bit in PAKINP to the
pattern; if a MASK bit is false, the block ignores the corresponding bit.

MATCHB Match Boolean is a boolean output that, when true, indicates that PAK-
INP matches the selected pattern.

MATCHF Match Feedback is a boolean input, that when true, indicates a pattern
match status to the second PATT block when using two PATT blocks in a
cascade configuration. MATCHB of the first block connects to MATCHF
of the second block, which has its MTHOPT set to 1.

MCHOUT Match Output is a packed boolean output that shows the pattern match
status (1 = match, 0 = mismatch) for patterns 1 through 16.
Bit Number* Boolean Connection
(15 to 0)* Pattern Number (B1 to B16)**
15 1 MCHOUT.B1
14 2 MCHOUT.B2
13 3 MCHOUT.B3
12 4 MCHOUT.B4
11 5 MCHOUT.B5
10 6 MCHOUT.B6
9 7 MCHOUT.B7
8 8 MCHOUT.B8
7 9 MCHOUT.B9
6 10 MCHOUT.B10
5 11 MCHOUT.B11
4 12 MCHOUT.B12
3 13 MCHOUT.B13
2 14 MCHOUT.B14
1 15 MCHOUT.B15
0 16 MCHOUT.B16

* Bit 0 is the least significant bit (starting from the right).

1504
89. PATT – Pattern Block B0193AX – Rev N

MMATCH Mismatch is a packed boolean output that shows the mismatch status (1 =
mismatch, 0 = match) for each bit that did not match the pattern selected
by PATSEL after the mask has been applied.

MTHOPT Match Option is a boolean input, that when true, allows the MATCHB
output to be set only when the MATCHF input is true. Set MTHOPT
only when two PATT blocks are cascaded, that is, set MTHOPT to 1 only
in the second block. MATCHB of the first block connects to MATCHF
of the second block.

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 that are used to allocate


control blocks to applications. Attempts to set OWNER are y successful
only if its present value 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. Any application can clear OWNER by setting
it to the null string, which is always accepted. Once set to the null string,
an application can then set the value as desired.

PAKINP Packed Input is a packed boolean input that is compared to the selected
pattern to set the MATCHB and MMATCH outputs. PAKINP is also
compared to all patterns to set the MCHOUT output.

PATSEL Pattern Selector is an integer input that selects the pattern to which PAK-
INP is compared to set the MATCHB and MMATCH outputs.
PATSEL Pattern PATSEL Pattern
0 PTRN_I 9 PTRN09
1 PTRN01 10 PTRN10
2 PTRN02 11 PTRN11
3 PTRN03 12 PTRN12
4 PTRN04 13 PTRN13
5 PTRN05 14 PTRN14
6 PTRN06 15 PTRN15
7 PTRN07 16 PTRN16
8 PTRN08 17 PTRN_H

PERIOD Period is an indexed input that dictates the block’s 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.)

1505
B0193AX – Rev N 89. PATT – Pattern 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*****

* 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, and CP60.

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 periods are 0, 1, 2, and 3. See the
Integrated Control Software Concepts (B0193AW) document.

PTRN01 to PTRN16
Patterns 1 through 16 are selectable packed boolean inputs to which PAK-
INP is compared when computing the pattern match status outputs.

PTRN_H Pattern for Hold is a selectable packed boolean input to which PAKINP is
compared when computing the pattern match status outputs for the pro-
cess Hold state.

PTRN_I Pattern for Initialization is a selectable packed boolean input to which


PAKINP is compared when computing the pattern match status outputs
for the process Initialization state.

TYPE Type is a system-level mnemonic label indicating the block type. Enter
“PATT” or select “PATT” from the block type list under Show when con-
figuring the block.

1506
89. PATT – Pattern Block B0193AX – Rev N

89.5 Functions
89.5.1 Detailed Functional Diagram

PTRN01 MASK01
. .
. .
PTRN16 MASK16
PTRN_I MASK_I
PTRN_H MASK_H

(16 Bits) (16 Bits)

MA
Loop
through M
each
pattern
1 to 16 MCHOUT
AND Lock (16 Bits)
XOR A

Select M
one
pattern
MMATCH
AND Lock (16 Bits)
PAKINP XOR A
(16 Bits)

PATSEL
Set
output
if match MTHOPT

N M

Lock
MATCHF AND to 0 MATCHB
Y A

See Bad Lock Truth Table


BADLCK that follows. If BADLCK = 0,
no outputs are locked.
OOS
PAKINP BAD OR PAKINP Health M
OFF

OOS BADIND
PATSEL BAD OR PATSEL Health A
OFF

OOS
MATCHF BAD OR
OFF AND MATCHF Health
MTHOPT
Figure 89-1. PATT Block Detailed Functional Diagram

1507
B0193AX – Rev N 89. PATT – Pattern Block

Table 89-2. Bad Lock Truth Table

PATSEL Healthy PATSEL Unhealthy


BADLCK = 1 and (MTHOPT = 0, or MTHOPT = 1 and MATCHF is Healthy)
PAKINP Healthy MATCHB – updated MATCHB – lock to 0
MCHOUT – updated MCHOUT – updated
MMATCH – updated MMATCH – not changed
BADIND – set to 0 BADIND – set to 1
PAKINP Unhealthy MATCHB – lock to 0 MATCHB – lock to 0
MCHOUT – not changed MCHOUT – not changed
MMATCH – not changed MMATCH – not changed
BADIND – set to 1 BADIND – set to 1
BADLCK = 1 and (MTHOPT = 1 and MATCHF is Unhealthy)
PAKINP Healthy MATCHB – lock to 0 MATCHB – lock to 0
MCHOUT – updated MCHOUT – updated
MMATCH – updated MMATCH – not changed
BADIND – set to 1 BADIND – set to 1
PAKINP Unhealthy MATCHB – lock to 0 MATCHB – lock to 0
MCHOUT – not changed MCHOUT – not changed
MMATCH – not changed MMATCH – not changed
BADIND – set to 1 BADIND – set to 1

89.5.2 Detailed Operation


The PATT block performs a bitwise XOR operation with the packed boolean input PAKINP and
the pattern (PTRNn, PTRN_I, or PTRN_H) selected by the PATSEL input (see Figure 89-1).
The block then performs a bitwise AND operation with the resultant pattern and the associated
mask (MASKn, MASK_I, or MASK_H) to produce the results which are stored in the 16 bit
MMATCH output (1 = mismatch, 0 = match). If MMATCH is 0x0000, there is a match and the
block sets the MATCHB output to 1. If MTHOPT is set to 1, MATCHB is set to 1 only when
MATCHF is also 1.
The PATT block also performs a bitwise XOR operation with PAKINP and one PTRNn. The
block then performs a bitwise AND operation with the resultant pattern and the associated mask
to produce the results which is stored in the MCHOUT output (1 = match, 0 = mismatch). The
block loops through these operations for each pattern (PTRN01 to PTRN16) and sets the results
in the 16-bit MCHOUT output (see the MCHOUT parameter definition). If all the mask bits
are configured to 0 for a pattern, its corresponding MCHOUT bit remains at 0.
Whenever PATSEL or PAKINP change value, the block compares them and sets MATCHB,
MMATCH, and MCHOUT to show the results.
When the bad lock (BADLCK) parameter is set true, the block is sensitive to the status of its
inputs, that is, out-of-service (OOS), bad (BAD), and off-scan (OFF). If one of these statuses is
true for one of the input parameters, MATCHB is set unconditionally to 0, and BADIND is set
to 1 (see Table 89-2). The other outputs retain their last good values, but there are exceptions:
♦ If PAKINP is healthy, MCHOUT is always updated.

1508
89. PATT – Pattern Block B0193AX – Rev N

♦ If only MATCHF is unhealthy and the match option (MTHOPT) parameter is set
to 1 (cascade configuration), then MMATCH is always updated.

89.5.2.1 Manual Operation


Key Parameters: MA, MATCHB, MCHOUT, MMATCH
In Manual, the block does not compare PAKINP to any pattern and does not set the outputs, but
the operator can set the outputs from workstation displays. A transfer from Auto to Manual does
not change the output values.

89.5.2.2 Auto Operation


Key Parameters: MA, MATCHB, MCHOUT, MMATCH, PAKINP, PATSEL
In Auto, the block compares PAKINP values to the selected pattern and sets the outputs
MATCHB, MCHOUT, and MMATCH accordingly (see Figure 89-1). When transferred from
Manual to Auto, the block starts the comparison process and set the outputs whenever PATSEL
or PAKINP change value; otherwise, the outputs retain their Manual values.

89.5.2.3 Cascading PATT Blocks


Key Parameters: MATCHB, MATCHF, MTHOPT
If the status of more than 16 devices must be verified, you can configure two PATT blocks with
MATCHB of the first block connected to MATCHF of the second block, which has its match
option parameter MTHOPT set to 1. MATCHB of the second block indicates a match between
PAKINP and PTRNn. See Figure 89-2.

1509
B0193AX – Rev N 89. PATT – Pattern Block

STATE
Block
MATCHF
ATSTEP

PATT
Block 1
MTHOPT=0
Contact Inputs 1 to 16 PATSEL
PAKINP
Contact Inputs 17 to 32 MATCHF
MATCHB

PATT
Block 2

MTHOPT=1
PATSEL
PAKINP
MATCHF
MATCHB

Figure 89-2. Cascade Configuration for PATT Block

89.5.2.4 Matching Logic Example


Key Parameters: MASKn, MATCHB, MCHOUT, MMATCH, PAKINP, PATSEL, PTRNn
The following example illustrates how the block uses MASKn, PTRNn, and PAKINP to perform
the comparisons. The MASKn bits specify which pattern bits are to be compared (MASK bit = 1)
or which bits are to be ignored (MASK bit = 0). In a process step, you may not care if a particular
device is open, closed, on, or off. For such devices, setting the associated bit in MASKn causes the
block to ignore the selected bit position.
In this example, bits 5 through 9 in MASK03 are don’t care bit positions. PATSEL is 3.

Boolean B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 B11 B12 B13 B14 B15 B16


Connection
Bit Number 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PAKINP 1 0 1 0 1 0 1 1 1 1 1 0 1 0 1 0
PTRN03 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
MASK03 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1
MMATCH 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Since MMATCH is 0x0000, indicating that there is a match, the MATCHB parameter is set to
true. The hexadecimal values that are entered in the Integrated Control Configurator for the
above pattern and mask are:
PTRN03 = 0xAAAA
MASK03 = 0xFC1F

1510
89. PATT – Pattern Block B0193AX – Rev N

If bits 0 and 2 of the PAKINP parameter change to 1s instead of 0s, the results are:

Boolean B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 B11 B12 B13 B14 B15 B16


Connection
Bit Number 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PAKINP 1 0 1 0 1 0 1 1 1 1 1 0 1 1 1 1
PTRN03 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
MASK03 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1
MMATCH 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1

MMATCH is not 0x0000, therefore, MATCHB is set to false.


If PTRN01 and PTRN03 are the only patterns that match PAKINP, MCHOUT is set as follows:

Boolean B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 B11 B12 B13 B14 B15 B16


Connection
Bit Number 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MCHOUT 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0

89.6 Application Example


Figure 89-3 shows and example of a STATE block used in conjunction with a PATT block to
control a simple process with sequence logic. An MCOUT block in conjunction with CIN blocks
provides contact status inputs to the STATE and PATT blocks. The state patterns in the STATE
block in conjunction with COUT blocks drive the output contacts for controlling the process
on/off devices, that is, inlet valve, drain valve, and heater.
In this example, the STATE block drives one of nine preconfigured state patterns into its packed
boolean output (PAKOUT) parameter one step at a time. The PATT block receives a 16-bit
packed boolean input (PAKCRB) from the MCOUT block and compares this input to one of
several preconfigured patterns, as selected by the STATE block. The PATT block then feeds back
a pattern match status to the STATE block for the purpose of stepping through the STATE block
steps. The PATT block thus confirms the desired process status before the STATE block proceeds
to the next step.

1511
B0193AX – Rev N 89. PATT – Pattern Block

STATE
START DRIV01
MCOUT:PAKCRB.B1 DRIV02 COUT
MCOUT:PAKCRB.B3 DRIV03 STATE:PAKOUT.B1 COUT_A
MCOUT:PAKCRB.B4 DRIV04
MCOUT:PAKCRB.B2 DRIV05
TRUE DRIV06 COUT
DRIV07 STATE:PAKOUT.B2 COUT_B
MCOUT:PAKCRB.B5 DRIV08
TRUE DRIV09 COUT
DRVINI COUT_C
DRVHLD STATE:PAKOUT.B3
PAKOUT
ATSTEP
MATCHF
TIMOUT

PATT
PTRN01
to
PTRN09
PTRN_I
PTRN_H
PATSEL Flow
MATCHB Switch
PAKINP
Feedstock

CIN Solenoid
CIN_A Valve

MCOUT CIN
CIN_B Tank Full
PAKCRB Switch
CIN_1 CIN
CIN_2 Tank Half Heater
CIN_C Full Switch Switch
CIN_3
CIN_4 CIN Heater
AC Power
CIN_5 CIN_D

CIN Heater
Current
CIN_E Switch Output
Product

Solenoid
Flow Valve
Switch
Figure 89-3. Application Diagram

1512
89. PATT – Pattern Block B0193AX – Rev N

89.6.1 Parameter Configuration


For the example in Figure 89-3, you configure the following PATT block key parameters as shown
below:
MA = 1
INITMA = 1
PATSEL = TANK:STATE.ASTEP
PAKINP = TANK:MCOUT.PAKCRB
CNAM01 = Filling tank
CNAM02 = Tank half full
CNAM03 = Heater on
CNAM04 = Tank full
CNAM05 = Tank full, heater on
CNAM06 = Time heat
CNAM07 = Heater off, drain on
CNAM08 = Drain off
CNAM09 = End
CNAM_I = Initialization
CNAM_H = Hold
BADLCK = 1
Table 89-3 shows only the first five bits of the feedback pattern (FP) because there are five feed-
back switches to be monitored. FPxx in Table 89-3 are not actual PATT block parameters, but
they represent the result of applying the MASKxx to PTRNxx thus producing the true (1), false
(0) and don’t care (shaded X) for the feedback pattern. Table 89-4 shows the pattern, mask, and
hexadecimal value that you enter in the Integrated Control Configurator to define each feedback
pattern (FP).
For more information on this example, refer to the STATE block description section of this docu-
ment.

1513
B0193AX – Rev N 89. PATT – Pattern Block

Table 89-3. PATT Block Feedback Patterns

CIN_1 — — — — — — — — — Inlet flow


| CIN_2 — — — — — — — Tank full
| | CIN_3 — — — — — Tank half full
| | | CIN_4 — — — Heater on/off
| | | | CIN_5 — Outlet flow
| | | | |
PAKCRB* B1 B2 B3 B4 B5
FP_I 0 0 0 0 0
FP01 1 0 0 0 0
FP02 1 0 1 0 0
FP03 1 0 1 1 0
FP04 X 1 X X X
FP05 0 1 X 1 X
FP06 X X X X X
FP07 0 X X 0 1
FP08 0 0 0 0 0
FP09 0 0 0 0 0
FP_H 0 X X 0 0
* B1 to B5 are boolean connection bits.
** Shaded areas are don’t care bits.

1514
89. PATT – Pattern Block B0193AX – Rev N

Table 89-4. PATT Block Pattern and Mask Configuration

PAKCRB* B1 B2 B3 B4 B5 Hexadecimal
PTRN_I 0 0 0 0 0 0x0000
MASK_I 1 1 1 1 1 0xF800
FP_I 0 0 0 0 0
PTRN01 1 0 0 0 0 0x8000
MASK01 1 1 1 1 1 0xF800
FP01 1 0 0 0 0
PTRN02 1 0 1 0 0 0xA000
MASK02 1 1 1 1 1 0xF800
FP02 1 0 1 0 0
PTRN03 1 0 1 1 0 0xB000
MASK03 1 1 1 1 1 0xF800
FP03 1 0 1 1 0
PTRN04 1 1 1 1 1 0xF800
MASK04 0 1 0 0 0 0x4000
FP04 X 1 X X X
PTRN05 0 1 1 1 1 0x7800
MASK05 1 1 0 1 0 0xD000
FP05 0 1 X 1 X
PTRN06 0 1 1 1 1 0x7800
MASK06 0 0 0 0 0 0x0000
FP06 0 1 X 1 X
PTRN07 0 1 1 0 1 0x6800
MASK07 1 0 0 1 1 0x9800
FP07 0 X X 0 1
PTRN08 0 0 0 0 0 0x0000
MASK08 1 1 1 1 1 0xF800
FP08 0 0 0 0 0
PTRN09 0 0 0 0 0 0x0000
MASK09 1 1 1 1 1 0xF800
FP09 0 0 0 0 0
PTRN_H 0 0 0 0 0 0x0000
MASK_H 1 0 0 1 1 0x9800
FP_H 0 X X 0 0
* B1 to B5 are boolean connection bits.
** Shaded areas are don’t care bits.

1515
B0193AX – Rev N 89. PATT – Pattern Block

1516
90. PID – Proportional Integral
Derivative Block
This chapter gives a general overview of the PID (Proportional Integral Derivative Block),
provides an I/O diagram and describes its features, parameters and detailed operations.

90.1 Overview
The PID (Proportional-Integral-Derivative) block performs the functions of a traditional three-
term interacting PID controller. It can be configured to operate in one of five modes:
♦ Proportional Only (PO),
♦ Integral Only (IO),
♦ Proportional Plus Derivative (PD),
♦ Proportional Plus Integral (PI), and
♦ Proportional Plus Integral Plus Derivative (PID).

1517
B0193AX – Rev N 90. PID – Proportional Integral Derivative Block

90.2 I/O Diagram


Manual/Auto
Measurement PID
Proportional Band BLOCK
Integral Time
Derivative Time Output
Controller
Derivative Filter Gain Setpoint
Mode
Local/Remote Algorithm Error
Remote Setpoint
Integral Feedback Back Calculation Output
Output Bias High Output Limit Indicator
Back Calculation Input Low Output Limit Indicator
High Output Limit Block and Alarm Status
Low Output Limit Criticality
Measurement HiHi Alarm Limit Priority Type
Measurement Hi Alarm Limit Measurement HiHi Alarm Indicator
Measurement Lo Alarm Limit Measurement Hi Alarm Indicator
Measurement LoLo Alarm Limit Measurement Lo Alarm Indicator
Measurement Alarm Priority Alarm Measurement LoLo Alarm Indicator
High Deviation Limit Portion
Low Deviation Limit High Deviation Indicator
Deviation Alarm Priority Low Deviation Indicator
High Output Alarm Limit High Output Alarm Indicator
Low Output Alarm Limit Low Output Alarm Indicator
Output Alarm Priority

Supervisory Enable
Fallback Supervisory Back-Calculated Value
Supervisory Input SSC
Supervisory Group

Figure 90-1. PID Block I/O Diagram

90.3 Features
The 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 allow the block
to be switched to Auto or Manual.
♦ Local/Remote setpoint source selection.
♦ Local and Remote latch switch inputs (LOCSW and REMSW) that force the block to
be switched to Local or Remote setpoint mode.
♦ Derivative filtering using a second-order Butterworth filter for high frequency noise
rejection.
♦ External integral feedback to prevent windup during closed loop operation.

1518
90. PID – Proportional Integral Derivative Block B0193AX – Rev N

♦ Separate assignable engineering range and units for the block’s inputs and output.
♦ Bumpless transfer when the block switches between Manual and Auto.
♦ Adjustable derivative filter parameter (KD).
♦ Automatic scaling, based on assigned engineering ranges, so that the controller pro-
portional band (percent) is dimensionless.
♦ Output biasing with the bias term subject to scaling.
♦ Output clamping between user-selectable output limits.
♦ Bad inputs detection and handling.
♦ Automatic cascade handling using an input and output parameter (back-calculate)
that includes:
♦ Initialization of cascade schemes
♦ Back calculation of the BCALCO output for the upstream block, to provide
bumpless transfer to cascade operation. For the PID block, BCALCO is always
equal to either SPT (conditional initialization) or MEAS (all other times).
♦ Supervisory Control (SSC) allows user application software to perform supervisory
control over the PID block’s setpoints.
The options are:
♦ Setpoint Tracking Option (STRKOP) forces the setpoint to track the Measurement
input. See Figure 90-2. STRKOP takes this action only when the LR parameter has
transitioned in either direction and either the output is in Manual or a cascade is bro-
ken (INITI true). 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 is
true, the block sets an unlinked MA input to Manual when it detects bad status of a
control input (MEAS, FBK, and/or INITI). 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. MALOPT, Mea-
surement Alarming Option, provides independent activation of high and low absolute
alarming of the measurement during auto operation. This option also provides stan-
dard alarm notification and reporting features.
♦ Deviation Alarm Option (DALOPT) enables independent activation of high and low
deviation alarming of the measurement-setpoint deviation signal. This option also
provides standard alarm notification and reporting features.
♦ High-High Alarm Option (HHAOPT) provides independent activation of High-
High and Low-Low absolute alarming of the measurement. This option also provides
standard alarm notification and reporting features.
♦ Output Alarm Option (OALOPT) provides independent activation of high and low
absolute alarming of the block output signal (OUT). This option also provides stan-
dard alarm notification and reporting features.

1519
B0193AX – Rev N 90. PID – Proportional Integral Derivative Block

Figure 90-2. PID Simplified Signal Flow Diagram

1520
90. PID – Proportional Integral Derivative Block B0193AX – Rev N

♦ Manual Alarming Option (MANALM) allows you to invoke, while the block is in
manual, either all configured alarm options or all configured alarm options except out-
put alarming. Otherwise, alarming is normally performed only in Auto.
♦ Manual Clamping Option (MCLOPT) allows you to invoke output clamping while
the block is in manual. You can alter this boolean input at the workstation.
♦ Bias Track Option (BTRKOP), when true, forces the algorithm’s output Bias to track
the block output (OUT) provided the block is in Manual and the mode is P or PD.
See Figure 90-2. BTRKOP is a boolean input that you can change only by reconfigur-
ing the block.
♦ Control Error Option (CEOPT) allows you to enable, or disable, the block’s implicit
Hold action when it detects an error in the MEAS, FBK, or BCALCI input.
♦ Propagate Error Option (PROPT) gives you the option of propagating certain input
errors to the status of the block’s OUT parameter. If PROPT is true and the block is
in Auto, a BAD, Out-of-Service (OOS), ERROR, or peer-to-peer path failure condi-
tion of the MEAS input causes the status of OUT to have an ERROR condition.
Several conditions of the Setpoint (SPT) input also cause OUT to have an ERROR
status. These are BAD or OOS status of SPT, or, when CEOPT is set to 2, the
ERROR status of SPT as well.
♦ Local Setpoint Secure (LOCSP) enables you to secure against any write access to the
LR parameter. This secure condition can be temporarily overridden by setting
LOCSW or REMSW.
♦ Manual Failsafe (MANFS) allows you to have the block go to the Manual state when
the block receives a Failsafe notification, provided the MA parameter is unlinked. Fail-
safe is originally detected by the AOUT block at the bottom of the cascade, and
ripples upward via the cascade status bits of the BCALCI inputs and BCALCO
outputs.
♦ Supervisory Option (SUPOPT) specifies whether or not the block is under control of
a Supervisory Application Program.
♦ Fallback Option (FLBOPT) specifies the action taken in a block when Supervisory
fallback occurs. The fallback options can be: normal fallback, Auto, Manual, Remote,
or Local.

90.4 Parameters
Table 90-1. PID 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 7 PID
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/no-set blank 1 to 32 chars
MEAS process input real con/set 0.0 RI1

1521
B0193AX – Rev N 90. PID – Proportional Integral Derivative Block

Table 90-1. PID Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


HSCI1-HSCI2 high scale in 1 to 2 real no-con/no-set 100.0 specifiable
LSCI1-LSCI2 low scale in 1 to 2 real no-con/no-set 0.0 specifiable
DELTI1-DELTI2 change delta 1 to 2 real no-con/no-set 1.0 percent
EI1-EI2 eng units input string no-con/no-set % specifiable
PROPT propagate error boolean no-con/no-set 0 0 to 1
SPT setpoint real con/no-set 0.0 RI1
FBK reset feedback real con/set 0.0 RO1
MODOPT controller mode option short no-con/no-set 1 [1..5]
PBAND proportional band real con/set 1000.0 [0.1..]percent
INT integral time real con/set 100.0 [0..]minutes
DERIV derivative time real con/set 0.0 [0..]minutes
KD derivative gain real con/set 10.0 [10.0..50.0]
INCOPT increase/increase option boolean no-con/no-set 0 0 to 1
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 1 real no-con/no-set 1.0 percent
EO1 eng unit output 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 span variance real no-con/no-set 2.0 [0..25]percent
BIAS bias real con/set 0.0 RI2
BBIAS scale factor real no-con/no-set 0.0 RO1
KBIAS scale factor real no-con/no-set 1.0 scalar
BTRKOP bias track 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|1|2]
MANFS manual If failsafe boolean no-con/no-set 0 0 to 1
MBADOP manual bad option boolean no-con/no-set 0 0 to 1
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 3
HOLD hold mode boolean con/set 0 0 to 1
PRIBLK primary block cascade operation boolean no-con/no-set 0 0 to 1
INITI initialize in short con/set 0 0 to 1
BCALCI back calculation in 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
RSP remote setpoint real con/set 0.0 RI1
STRKOP setpoint track option boolean no-con/no-set 0 0 to 1
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
INHIB alarm inhibit boolean con/set 0 0 to 1

1522
90. PID – Proportional Integral Derivative Block B0193AX – Rev N

Table 90-1. PID Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


INHALM inhibit alarm pack_b con/set 0 0 to FFFFFFFF
MEASNM meas alarm name string no-con/no-set blank 1 to 12 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]
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 deadband real no-con/set 0.0 RI1
DEVPRI deviation alarm priority integer con/set 5 [1..5]
DEVGRP deviation 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]
OALOPT output alarm option short no-con/no-set 0 0 to 3
OUTNM output alarm name string no-con/no-set blank 1 to 12 chars
HOALIM high output alarm limit real con/set 100.0 RO1
HOATXT high output alarm text string no-con/no-set blank 1 to 32 chars
LOALIM low out alarm limit real con/set 0.0 RO1
LOATXT low out alarm text string no-con/no-set blank 1 to 32 chars
OUTADB out alarm deadband real no-con/set [0.0 RO1
OUTPRI out alarm priority integer con/set 5 [1..5]
OUTGRP out alarm group short no-con/set 1 [1..8]
FLBOPT fallback option short_i no-con/no-set 0 0 to 4
FLBREQ fallback request short_i con/set 0 0 to 2
INITSE intial SE short_i no-con/no-set 0 0 to 1
SUP_IN supervisory setpoint real con/set 0.0 RI1
SUPGRP supervisory group short_i no-con/no-set 1 1 to 8
SUPOPT supervisory option short_i no-con/no-set 0 0 to 1
OUTPUTS
ALMSTA alarm status pack_l con/no-set 0 bit map
BCALCO back calculate out 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]

1523
B0193AX – Rev N 90. PID – Proportional Integral Derivative Block

Table 90-1. PID Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


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
HOAIND high out alarm 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 FFFFFFFF
INITO initialize out short con/no-set 0 0 to 1
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
LOAIND low out 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]
SE supervisory enable boolean no-con/set 0 0 to 1
SUPBCO back-calculated value real con/no-set 0 RI1
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-FFFFFFFF
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
KSCALE gain scaler real no-con/no-set 1.0 scalar
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
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 eng range input real[3] no-con/no-set 100,0,1 specifiable
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

90.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 PID block, only the following unshaded bits are
used:

1524
90. PID – Proportional Integral Derivative Block B0193AX – Rev N

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

B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9
Bit Boolean
Number* Configured Alarm Option Connection
(0 to 31) When True (B32 to B1)
0 Alarm Group 8 in Use ALMOPT.B32
1 Alarm Group 7 in Use ALMOPT.B31
7 Alarm Group 1 in Use ALMOPT.B25
16 Low Absolute Alarm Configured ALMOPT.B16
17 High Absolute Alarm Configured ALMOPT.B15
24 Low-Low Absolute Alarm Configured ALMOPT.B8
25 High-High Absolute Alarm Configured ALMOPT.B7

* Bit 0 is the least significant bit (starting from the right).


There are no mnemonic names for the individual bits of ALMOPT.

ALMSTA Alarm Status is a 32-bit output, bit-mapped to indicate the block’s alarm
states. For the PID 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
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
UNAK B2
B3
B4
B5
B6
B7
B8
RATE B9

CRIT PRTYPE
OOR

HMA
HOA
HHA

HDA

LMA
BAD

LOA
LDA
LLA
INH

Bit Boolean
Number Connection
(0 to 31)* Name Description When True (B32 to B1)
0 to 4 PTYP_MSK Priority Type: See parameter ALMSTA.B32–
PRTYPE for values used in ALMSTA.B28
the PID block
5 to 7 CRIT_MSK Criticality; 5 = lowest ALMSTA.B27–
priority, 1= highest ALMSTA.B25
16 LMA Low Measurement Alarm ALMSTA.B16
17 HMA High Absolute Alarm ALMSTA.B15
18 LOA Low Output Alarm ALMSTA.B14

1525
B0193AX – Rev N 90. PID – Proportional Integral Derivative Block

Bit Boolean
Number Connection
(0 to 31)* Name Description When True (B32 to B1)
19 HOA High Output Alarm ALMSTA.B13
20 LDA Low Deviation Alarm ALMSTA.B12
21 HDA High Deviation Alarm ALMSTA.B11
22 BAD Input/Output Bad (BAD ALMSTA.B10
output of block)
23 RATE Rate of Change Alarm ALMSTA.B9
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 Alarm inhibit ALMSTA.B3
30 UNAK Unacknowledged ALMSTA.B2

* Bit 0 is the least significant bit (starting from the right).

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.

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, 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
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 equal to MEAS except in
the following situations, where it is equal to SPT:
♦ 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 status.
♦ MEAS is experiencing source connection problems.
With V4.2 and later software, the status bits of BCALCO contain the cas-
cade initialization requests formerly contained in the INITO parameter.

1526
90. PID – Proportional Integral Derivative Block B0193AX – Rev N

You connect the BCALCO parameter to the BCALCI input of an


upstream block so that this upstream block can sense when the PID block
is open. Therefore, with V4.2 and later software, INITO is not required
for cascade initialization.

BIAS Bias is a real input added to the controller or algorithm output, to achieve
OUT.

BLKSTA Block Status is a 32-bit output, bit-mapped to indicate the block’s opera-
tional states. For the PID 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
B10
B11
WLCK B12
B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
STRK B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9
MAO
HOL

LRO

TRK
HLD

FOL
LOL

CTL
FLB

MA
ON
SC
SE

LR
Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
4 FOL Follow BLKSTA.B28
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 BLKSTA.B18
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
27 LOL Low Output Limit (Clamped) BLKSTA.B5
28 HOL High Output Limit (Clamped) BLKSTA.B4
29 SE Supervisory Enabled BLKSTA.B3
30 SC Supervisory Control BLKSTA.B2
31 FLB Supervisory Control Fallback State BLKSTA.B1

* Bit 0 is the least significant bit (starting from the right).

BTRKOP Bias Track Option, when true, forces the PID algorithm’s BIAS input to
track the block output (OUT) when the block is in Manual, and operat-
ing in the PO or PD controller mode.

1527
B0193AX – Rev N 90. PID – Proportional Integral Derivative 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:
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.

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

CRIT Criticality is an integer output that indicates the priority, ranging from 1
to 5, of the block’s 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 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 DELTI2
Change Delta for Input Ranges 1 and 2 are real values that define the res-
olution as a percent of the measurement range. Entering a 1 causes the
Object Manager to recognize and respond to a change of 1 percent of the
full error range.

DELTO1 Change Deltas for Output Range 1 is presently unused.

DERIV Derivative Time is a real input that adjusts the derivative time constant in
minutes.

1528
90. PID – Proportional Integral Derivative Block B0193AX – Rev N

NOTE
The working DERIV value is indirectly limited by the DFCT parameter and the
working INT value.

DESCRP Description is a user-defined string of up to 32 characters that describe the


block’s function (for example, “PLT 3 FURNACE 2 HEATER CON-
TROL”).

DEVADB Deviation Alarm Deadband is a real input, in MEAS units, that applies to
both High and Low Deviation Limits. You can adjust this parameter at
the workstation.

DEVGRP Deviation Group is a short integer input that directs deviation alarm mes-
sages to one of eight groups of alarm devices. You can change the group
number through the workstation.

DEVPRI Deviation Priority is an integer 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, provide
the engineering units text for the values defined by Input Ranges 1 and 2.
“Deg F” or “pH” are typical entries.

EO1 Engineering Units for Output Range 1, as 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) 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 block’s
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 PID 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 does not exist for given block
PHASE COMBINATION” PERIOD, or block PERIOD not
compatible with compound PERIOD.
“W44 – INVALID High range value is less than or equal to
ENGINEERING RANGE” low range value.

1529
B0193AX – Rev N 90. PID – Proportional Integral Derivative Block

Message Value
“W46 – INVALID INPUT The source parameter specified in the
CONNECTION” 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 The configured value of a block option
OPTION” is illegal.
“W49 – INVALID BLOCK An illegal block extension has been
EXTENSION” configured.
“W53 – INVALID A parameter value is not in the accept-
PARAMETER VALUE” able range.
“W58 – INSTALL ERROR; A Database Installer error has occurred.
DELETE/UNDELETE
BLOCK”

ERROR Control Error is a real output that equals Setpoint minus Measurement.
ERROR can be sourced to other blocks.

FBK Feedback is a real input used to generate integration action. Its function is
to prevent integral windup. FBK is normally connected to BCALCI or
BCALCO of downstream blocks.

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

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.

1530
90. PID – Proportional Integral Derivative Block B0193AX – Rev N

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.

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

HOAIND High Output Alarm Indicator is a boolean output that is set true when-
ever the output is greater than HOALIM.

HOALIM High Output Alarm Limit is a real input, int OUT units, that defines the
value of the output that initiates a high output alarm.

HOATXT High Output 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 change HOATXT only by reconfiguring the block.

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.

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

1531
B0193AX – Rev N 90. PID – Proportional Integral Derivative Block

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 real values that define the upper
limit of the measurement ranges. EI1 to EI2 define 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 values that define 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.

INCOPT Increase/Increase Option is a boolean input. When set true, INCOPT


reverses the normal sense of the control action so that the controller out-
put increases with increasing measurement.

INHALM Inhibit Alarm contains packed boolean values that represent alarm inhibit
requests for each alarm type or point configured in the block. For the PID
block, only the following bits are used:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

B10

B11

B12

B13

B14

B15

B16
B1

B2

B3

B4

B5

B6

B7

B8

B9

Bit Boolean
Number* Connection
(0 to 15) Description When True (B16 to B1)
0 Inhibit Low Absolute Alarm INHALM.B16
1 Inhibit High Absolute 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
8 Inhibit Low-Low Absolute Alarm INHALM.B8
9 Inhibit High-High Absolute Alarm INHALM.B7
13 Inhibit Alarm INHALM.B3
14 Unacknowledged INHALM.B2

* Bit 0 is the least significant bit (starting from the right).


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

1532
90. PID – Proportional Integral Derivative Block B0193AX – Rev N

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

INHSTA Inhibit Status contains packed long values that represent the actual inhibit
status of each alarm type configured in the block. For the PID 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
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
UNACK B2
B3
B4
B5
B6
B7
B8
B9

HMA
HOA
HHA

HDA

LMA
LOA
LDA
LLA
INH

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
16 LMA Low Absolute Alarm Inhibited INHSTA.B16
17 HMA High Absolute Alarm Inhibited INHSTA.B15
18 LOA Low Output Alarm INHSTA.B14
19 HOA High Output Alarm INHSTA.B13
20 LDA Low Deviation Alarm INHSTA.B12
21 HDA High Deviation Alarm INHSTA.B11
24 LLA Low-Low Absolute Alarm INHSTA.B8
Inhibited
25 HHA High-High Absolute Alarm INHSTA.B7
Inhibited
29 INH Inhibit Alarm INHSTA.B3

1533
B0193AX – Rev N 90. PID – Proportional Integral Derivative Block

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
30 UNACK Unacknowledged INHSTA.B2

* Bit 0 is the least significant bit (starting from the right).

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
maintained, but the setting of the handshaking bits, via the INITI to
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 as 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 configu-
rator. (The block does not assert INITMA on ordinary
reconfiguration.)
INITMA is ignored if MA has an established linkage.

1534
90. PID – Proportional Integral Derivative Block B0193AX – Rev N

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. 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 short value
has been maintained, but the setting of the handshaking bits, via the
INITI to INITO connection, is eliminated.

INITSE Initial Supervisory Enable specifies the initial state of the SE parameter in
a block configured for Supervisory Control (SUPOPT =1) when the block
initializes due to reboot, installing the block, or turning on the com-
pound. 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 when
the controller operates in the PI, IO, or PIDX modes. In the PO and PD
modes, Integral Time becomes the balance time (the time constant that
governs the rate at which the output approaches the proportional signal).

KBIAS Gain Factor is a real input that multiplies the BIAS input. It is expressed
in OUT units divided by BIAS units.

KD Derivative Filter Gain is a real input that adjusts the derivative filter gain.

KSCALE KSCALE is a conversion factor used to make the time units of the rate
parameters, which are in EI1 units per minute, dimensionally compatible
with the time units of the output, as defined by EO1.

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.

1535
B0193AX – Rev N 90. PID – Proportional Integral Derivative Block

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
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
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, that are sent with the low-low absolute alarm message to iden-
tify it.

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 OUT units, that defines the
value of the output that initiates a low output alarm.

LOATXT Low Output Alarm Message Text is a user-defined text string of up to 32


characters that are output with the alarm message to identify the alarm.
You can change LOATXT only by reconfiguring the block.

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 block’s
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.

1536
90. PID – Proportional Integral Derivative Block B0193AX – Rev N

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-


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.

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 units. Make the range and units consistent with those of the
measurement source.

LSCIN Low Scale for Input MULTIN is a real value that defines the lower limit of
MULTIN. A typical value is 0 (percent). EIN defines the units.

LSCO1 Low Scale for Output Range 1, a value that defines the lower limit of the
range for Output 1. A typical value is 0 (percent). EO1 defines the units.
Make the range and units consistent with those of the output destination.

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.

1537
B0193AX – Rev N 90. PID – Proportional Integral Derivative Block

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.
2 = No Output alarming in Manual.
You can change MANALM only by reconfiguring the block.

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.

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


true, the block sets the unlinked MA input to manual if it detects a BAD
status bit in the MEAS input, or a BAD status bit in the BIAS input. 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. 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.

MCLOPT Manual Clamping Option allows you 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 block’s input, or the
controlled variable.

MEASDB Measurement Alarm Deadband is a configured input, expressed in MEAS


units, that applies to both High and Low Alarm Limits. You can adjust
this parameter at the workstation.

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 exceeds the high alarm limit (MEASHL). When
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.

1538
90. PID – Proportional Integral Derivative Block B0193AX – Rev N

MEASHT Measurement High Alarm Message Text is a user-defined text string of up


to 32 characters that are 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 are 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 identify 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. The integer value ranges from 1
to 5 for PID blocks:
1 = PO - Proportional Only.
2 = IO - Integral Only.
3 = PD - Proportional and Derivative.
4 = PI - Proportional and Integral.
5 = PID - Proportional, Integral and Derivative.

NAME Name is a user-defined string of up to 12 characters used to access the


block and its parameters.

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.
You can change OALOPT only by reconfiguring the block.

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.

1539
B0193AX – Rev N 90. PID – Proportional Integral Derivative 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.

OUTADB Output Alarm Deadband is a real input that specifies the size of the dead-
band for both High and Low Output Alarm Limits. You can adjust this
parameter at the workstation.

OUTGRP Output Group is a short integer input that directs high and low output
alarm messages to one of eight groups of alarm devices. You can change
the group number through the workstation.

OUTNM The Output Alarm Name is a user-defined string of up to 12 characters


that identify 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 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 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.

PBAND Proportional Band is an input that determines, for any given deviation,
the length of the OUTINC or OUTDEC “on” time during each control-
ling period. PBAND defaults to 1000. A smaller value results in greater
sensitivity and a longer “on” time for a given deviation. A larger PBAND
value reduces sensitivity and the “on” time for a given deviation.

PERIOD Period is an indexed input that dictates the block’s 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*****

1540
90. PID – Proportional Integral Derivative Block B0193AX – Rev N

* 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, and CP60.

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. See Integrated Control Software Concepts
(B0193AW) document.

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

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.

PRSCAS Present Cascade State is a data store that indicates the cascade state. It has
the following possible values:

1541
B0193AX – Rev N 90. PID – Proportional Integral Derivative Block

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.

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
5 = High Deviation
6 = Low Deviation
7 = Rate alarm
8 = BAD Alarm

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.

1542
90. PID – Proportional Integral Derivative Block B0193AX – Rev N

RSP Remote Setpoint is the selected setpoint source when LR is set to Remote.
RSP is a real input. Typically RSP connects to an upstream block in a cas-
cade scheme. RSP and its source must be expressed in MEAS units.

SE Supervisory Enable is a boolean input that enables or disables Supervisory


Control in this block:
0 = Disable
1 = Enable.

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 assumes the Remote Setpoint (RSP) value. When LR
is false (Local), SPT is an unsecured, and thus settable, 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.

STRKOP Setpoint Track Option is a boolean input. When true, STRKOP enables
the setpoint to track the measurement input if the setpoint source selector
LR is in Local AND either (a) the block is in Manual or (b) the Initializa-
tion input INITI is true. 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:
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

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 boolean input that specifies whether


or not this block is under control of a Supervisory application:
0 = no
1 = yes.

SUP_IN Supervisory Input is a real output that is the parameter set by a Supervi-
sory application when performing supervisory control of this block’s 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).

1543
B0193AX – Rev N 90. PID – Proportional Integral Derivative Block

TYPE When you enter “PID” or select “PID” 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.

90.5 Detailed Operation


This block performs the functions of an analog PID controller. The output is the product of fac-
tors, provided they are enabled by the MODOPT selection:
1. A Proportional factor based on a user-specified proportional band applied to an error
term that equals the setpoint (SPT) minus the measurement (MEAS), minus the
Derivative factor, if any.
2. An Integral factor derived from a first-order lag of the block’s integral feedback (FBK)
input.
3. A Derivative factor with a second-order Butterworth filter applied to the measure-
ment (MEAS).
The MEAS parameter is an input identifying the source of the signal that is coming to this block
as the controlled variable in the control loop.
The SPT parameter is the active controller setpoint. SPT can be set in Local, or is made equal to
RSP in Remote, or is made equal to SUP_IN in Supervisory Control. SPT can be used as a source
for other blocks.
The setpoint sources are prioritized as follows:
1. Supervisory Control
2. Local (LOCSW) and Remote Switch (REMSW)
3. Local or Remote.
When the Supervisory Option (SUPOPT) is set, it specifies that the block can be under control
of a Supervisory Application Program. The Supervisory Back Calculated Output (SUPBCO) pro-
vides the current setpoint and initialization bits to the Supervisory Application Program. When
Supervisory Enable (SE) is set by the application program or operator, the PID 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 supervisory setpoint in the calculation of the block’s output.
The setpoint source selector input, LR (Local/Remote), together with the two overrides, LOCSW
and REMSW, determines the setpoint source at any time. LOCSW drives the setpoint state to
Local; REMSW, which is of lower priority than LOCSW, drives the setpoint state to Remote.
When LR is switched to local, the block sets INITO initialization status value to true in
BCALCO and releases the SPT parameter, allowing you to input the desired controller setpoint
value.
When LR is switched to Remote, SPT is no longer settable and takes on the value of the remote
setpoint input, RSP. RSP provides a link to the remote setpoint source.
LOCSP allows the block to secure the LR parameter when the block initializes and to maintain
that secured state thereafter.

1544
90. PID – Proportional Integral Derivative Block B0193AX – Rev N

When the block is in the Remote mode, the value of the local setpoint (SPT) tracks the value of
the remote setpoint (RSP), and the BAD, OOS, and ERR status bits of RSP are copied to the sta-
tus of SPT. In addition, if RSP status shows Object Manager Disconnect, then the ERR bit is set
in the SPT status.
When the block is switched to Local mode, the setpoint status depends on the setpoint tracking
option (STRKOP).
The local setpoint is clamped each cycle when the setpoint mode is Remote, Local, or Supervi-
sory. The clamp limits used are the measurement scale limits HSCI1 and LSCI1. If the setpoint
value before clamping is equal to or less than LCSI1, status bit LLO of SPT is set true. If the value
before clamping is equal to or higher than HSCI1, status bit LHI of SPT is true.
The PID block has two output states, Auto and Manual. In Manual, the block releases the output,
allowing it to be set by you. In Auto, the block secures the output.
Auto has three substates: Controlling, Tracking, and Holding.
Closed loop automatic PID control is actually done in a substate of Auto called Controlling. See
Figure 90-2. In this state, the block computes the output signal based on the configured control
mode option and the values of SPT and MEAS. Proportional control is fixed by the steady state
gain term (100/PBAND).
Integral control action is generated by feeding back the external integral feedback signal (FBK)
through a first order lag. INT, the integral setting of the controller, fixes the time constant of the
lag. By connecting FBK to the BCALCI input, integral windup caused by limiting in a down-
stream block is avoided. See “Normal Configuration” on page 1547 for more details.
Derivative control action utilizes a second-order Butterworth filtering of the measurement signal
to reduce high-frequency output noise. The derivative time is specified with the DERIV parame-
ter and the filter time with DERIV/KD.
In Auto, the computed output value undergoes limiting. Limiting clamps the output between the
output limits HOLIM and LOLIM, which are configurable. You can place these limits anywhere
within the range defined by LSCO1 and HSCO1. Moreover, the output span variance parameter
(OSV) enables you to extend this range at both the high and low ends by an equal amount, up to
25 percent. If you set LOLIM higher than HOLIM, then HOLIM is automatically set equal to
the higher of the two values, which is LOLIM. The block provides, for control purposes, output
limit indicators that are active when the output is clamped at either limit.
In Auto, when you switch the setpoint source selector from Local to Remote, the transfer is made
bumpless by removing derivative dynamics (if applicable) and forcing the integral to absorb any
proportional action.
Switching from Remote to Local is always bumpless, because SPT retains the last value transferred
from the remote setpoint. For cascade purposes, the block sets the BCALCO initialization status
value true when the setpoint is under local control, or when the block’s BCALCI initialization sta-
tus value is set, indicating an open cascade downstream. This tells an upstream block to perform
an explicit initialization, so that the return to remote setpoint operation is bumpless.
The block goes to Tracking when the BCALCI initialization status value 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 substate. When the BCALCI initialization status value returns to false, the block
returns to the Controlling substate to resume closed-loop control.
In the Tracking substate, 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 parameter,

1545
B0193AX – Rev N 90. PID – Proportional Integral Derivative Block

sets the BCALCO initialization status value to true (requesting upstream blocks to perform their
own explicit initialization), and sets bit 6 (TRCK) in the BLKSTA parameter.
When the PID block is the upstream block in a cascade control scheme, output tracking
(BTRKOP = true) assures a bumpless transfer for the downstream block.
During Auto operation, the block checks the critical inputs MEAS, FBK, and INITI for data
errors (off-scan, or BAD, OOS or ERROR status bits set). If an error is detected, the PID block,
depending on the value of the CEOPT parameter (see CEOPT definition), may set the block into
the Hold state.
The block goes to Hold if, while MBADOP is false and CEOPT = 1 or 2, either the HOLD
parameter goes true, or a condition required by the CEOPT parameter is met.
In the Hold substate, 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 clears all alarm indicators if MANALM = 0, or only the output alarm
indicators if MANALM = 2. If MANALM = 1 (Manual Alarming), no alarm indicators are
cleared.
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.
If MBADOP is configured true (and the MA parameter is unlinked), the block goes to the Man-
ual state when it detects bad status in the MEAS, INIITI, or FBK inputs. MBADOP has prece-
dence over AUTSW. Therefore, if MBADOP is configured true and a bad input is detected, while
MA is unlinked, the block goes to Manual regardless of the AUTSW setting.
When the block is switched to Auto, the BAD and OOS bits of the OUT status are cleared.
During Manual operation, PID control is not performed. Alarm outputs are settable. The con-
troller output (OUT) is unsecured and may have its value set by an external task or program and
if the manual clamp option (MCLOPT) is configured, these set values undergo output clamping.
The setpoint track option forces the local setpoint (SPT) to track the measurement. While set-
point tracking is active, SPT becomes nonsettable to prevent you from manipulating the local set-
point value. Setpoint tracking is only performed if the setpoint source selector is switched to Local
and the block is either operating in Manual or the BCALCI Iinitialization Input value status is
true. BCALCI value status being true indicates that a block downstream in the cascade is open
loop.
The following summarizes the secured/released condition of the SPT parameter:
SPT is secured (non-settable) if any of the following are true:
♦ The block is in Remote mode, that is, LR is true. In this case, BLKSTA.LR is also
true.
♦ Supervisory control is enabled, that is, SUPOPT and BLKSTA.SE are both true, and
SUP_IN is not in error.

1546
90. PID – Proportional Integral Derivative Block B0193AX – Rev N

♦ Setpoint tracking is active, that is, BLKSTA.STRK is true. In order for this status bit
to be true, all of the following conditions must exist:
♦ The STRKOP parameter must be configured true.
♦ There must be no control error condition.
♦ One of the following conditions must be true:
♦ The block is in Manual mode.
♦ The cascade is open downstream (either the data value of INITI is true, or the
LHI and LLO status bits of BCALCI are simultaneously true).
♦ A request for conditional initialization has been received from downstream.
Otherwise SPT is released (settable).
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.
In SCC, when the Fallback Option (FLBOPT) is set, the block falls back to the configured nor-
mal, Auto, Manual, Remote, or Local mode of operation when Fallback occurs.

90.5.1 Normal Configuration


Normal configuration of the PID block is as follows.
If there are no downstream control blocks, then link FBK to the OUT parameter.

MEAS
PID OUT

FBK

BCALCI initial OUT value

If the downstream block is an AOUT block, link BCALCI and FBK to the downstream block’s
BCALCO parameter.

MEAS
PID OUT MEAS AOUT

FBK

BCALCI BCALCO
If the secondary block is a DGAP or PTC block, link BCALCI and FBK to the secondary block’s
BCALCO parameter.

1547
B0193AX – Rev N 90. PID – Proportional Integral Derivative Block

MEAS DGAP
PID OUT RSP or PTC
MEAS

FBK

BCALCI BCALCO
In a cascade configuration, connect the FBK of the primary to the BCALCO of the secondary
controller to prevent windup.

MEAS OUT RSP OUT MEAS


PID PID AOUT
PRIBLK=0 MEAS PRIBLK=1 PRIBLK=1

FBK FBK

BCALCI BCALCO BCALCO BCALCI

Use the PRIBLK option in all cascade configurations.

1548
91. PIDA – Advanced PID Block
This chapter gives a general overview of the PIDA (Advanced PID Block), including its
features, parameters and detailed operations.

91.1 Overview
The PIDA controller implements continuous PID feedback and additive and multiplicative feed-
forward control of an analog loop (see Figure 91-1). Its principal inputs, setpoint and measure-
ment, 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, delay
time, and setpoint relative gain. The feedforward capability can be used to decouple interacting
loops, such as a slow level control cascading to a fast flow control, in addition to compensating for
measured load upsets.

Loads Multiplicative Input

FBTUNE FFTUNE
Extender Block Extender Block

PIDA
Supervisory Bias
Setpoint Block
Limit
SE
Local LR Scale Scale
Local Ramp, Enable
Setpoint Limit
Remote Disable
Remote Limit
Setpoint + +

Output
Manual Alarms

Com- Output
pensator Feedback x + Limit
Control B - Auto
Filter Algorithm
Measurement A/B + Track
A Feedback

Deviation
Alarms
Measurement
Alarms

Figure 91-1. PIDA Functional Diagram

The combination of the PIDA block, plus FBTUNE and FFTUNE extender blocks provide
adaptive control capabilities of the I/A Series patented EXACT MultiVariable control (see the
FBTUNE and FFTUNE Block Descriptions in this document). Connections can be made to the

1549
B0193AX – Rev N 91. PIDA – Advanced PID Block

FBTUNE and FFTUNE blocks, while the PIDA controller is operating, by configuring the
PIDA block’s 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. Also an extension connection can be made to a CHARC (characterizer)
block, that applies matched functions to setpoint and measurement.

91.2 Features
91.2.1 Control Modes
The PIDA block 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)
♦ Proportional, integral, deadtime (interacting if derivative not 0) (PITAU)
♦ Non-interacting proportional, integral, derivative, deadtime (PIDTAU)

91.2.2 Standard PIDA Features


The features are:
♦ 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, MULTIN and BIAS
♦ Dead-time control
♦ Variable control update interval, SPLCOP
♦ Non-interacting tuning
♦ Improved recovery from output limiting, LIMOPT.
♦ Manual/Auto selection of the controller output that can be switched by an operator,
another block, or a supervisory program.
♦ Local/Remote setpoint selection with setpoint limiting that can be switched by an
operator, another block, or a supervisory program.
♦ Measurement low-pass (second-order Butterworth) filtering has its time constant
equal to the derivative time (0.25 times the dead-time for PITAU and PIDTAU)
divided by the gain KD. Its purpose is to reduce high-frequency valve activity. KD is

1550
91. PIDA – Advanced PID Block B0193AX – Rev N

commonly set to 10, but is adjusted by FBTUNE’s pretune. Measurement filtering


can be useful even when derivative action is not, such as when the process has a high
frequency resonance. In this case, choose DERIV to have a small non-zero value and
KD to have a value less than 1, 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.
♦ External integral feedback (FBK) can be used to prevent integral windup caused by a
downstream block action. In a cascade, FBK can be used to compensate the integral
action of a primary loop for the dynamic behavior of a secondary loop. In the PIDA, a
default connection inside the PIDA block to FBK is made from BCALCI if it is
linked, otherwise from OUT.
♦ Range and engineering units can be assigned to the measurement MEAS (and set-
point SPT), the output OUT (and integral feedback FBK), the bias (or additive
feedforward input BIAS), and to the multiplicative feedforward input MULTIN. The
ranges are used for analog displays and for relating proportional band (PBAND in
percent) to inputs and output.
♦ Bad input detection with user options for fallback actions.
♦ Bumpless cascade and single loop start-up and auto-manual transfer. Fast initialization
and fast reaction to operator changes occurs for loops with greater than 0.5 sec block
period.
♦ Supervisory Control (SSC) allows user application software to perform supervisory
control over the PIDA block’s setpoint.
♦ Direct Digital Control (DDC) allows user application software to directly specify the
PIDA block’s output.

91.2.3 Standard PIDA Options


The options are:
♦ Setpoint tracking (STRKOP) of the measurement signal allows bumpless return to
automatic control when the controller returns to closed-loop operation.
♦ Manual if Bad Option (MBADOP) overrides the MA input to force the controller to
Manual if the measurement is bad. Return to automatic control requires operator
action.
♦ 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 to be
operational in Manual.

1551
B0193AX – Rev N 91. PIDA – Advanced PID Block

♦ 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 ERR 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.
♦ Setpoint Ramp Option (SPROPT) allows you to ramp the setpoint to a new target
value (SPTARG) at a 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).
♦ Limit Option (LIMOPT) lets you specify the anti-windup strategy used for recover-
ing from a limiting condition. For the default value of LIMOPT (1), integral action is
frozen, when the output or a downstream block is limited and the integral term is
between output limits. Downstream block limiting is propagated back through status
bits in the BCALCI input.

91.3 Parameters
Table 91-1. PIDA 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 PIDA
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 see param defini-
tion
LOOPID loopid string no-con/no-set blank 1 to 32 chars
MEAS process input real con/set 0.0 RI1
HSCI1 to HSCI2 high scale 1 to 2 real no-con/no-set 100.0 specifiable
LSCI1 to LSCI2 low scale 1 to 2 real no-con/no-set 0.0 specifiable

1552
91. PIDA – Advanced PID Block B0193AX – Rev N

Table 91-1. PIDA Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


DELTI1 to DELTI2 change delta 1 to 2 real no-con/no-set 1.0 0 to 100
EI1 to EI2 eng units input string no-con/no-set % specifiable
NLNBLK CHARC block connection long con/set 0 ---
SPT setpoint real con/no-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
SPLLIM local setpoint low limit real con/set 0.0 RI1
STRKOP setpoint track option Boolean no-con/no-set 0 0 to 1
SPROPT local setpoint ramp option short no-con/no-set 0 0 to 4
SPRATE local setpoint ramp rate real con/set 0.0 eng units per min
SPTARG local setpoint target real con/set 0.0 RI1
SPRAMP local setpoint ramp Boolean con/set 0 0 to 1
RSP remote setpoint real con/set 0.0 RI1
LR local/remote Boolean con/set 0 0 to 1
INITLR initialize LR short no-con/no-set 2 [0|1|2]
LOCSW local switch Boolean con/set 0 0 to 1
LOCSP local setpoint secure Boolean no-con/no-set 0 0 to 1
REMSW remote switch Boolean con/set 0 0 to 1
MODOPT control mode option short no-con/no-set 1 1 to 8
INCOPT increase/increase option Boolean no-con/no-set 0 0 to 1
PBAND proportional band real con/set 1000.0 [0.1..]percent
INT integral time real con/set 100.0 [0..]minutes
DERIV derivative time real con/set 0.0 [0..]minutes
KD meas filter factor real con/set 10.0 At least 0.1
SPLLAG setpoint lead/lag real con/set 1.0 0, 1
DTIME dead time real con/set 0.0 minutes
FILTER filter time real con/set 0.0 minutes
NONLOP non linear option Boolean no-con/no-set 0 0 to 1
HZONE high zone limit real con/set 100.0 [0..]RI3
LZONE low zone limit real con/set 100.0 [0..]RI3
KZONE nonlinear gain real con/set 1.0 [0..]
SPLCOP sample controller option Boolean no-con/no-set 0 0 to 1
SPLRDY sample ready Boolean con/set 0 0 to 1
TSAMPL sampling time real con/set 0.0 [0..]minutes
BIAS bias real con/set 0.0 RI2
BBIAS scale factor real no-con/no-set 0.0 RO1
KBIAS scale factor real no-con/no-set 1.0 real number
BTRKOP bias track option Boolean no-con/no-set 0 0 to 1
MULTIN multiplication feedforward real con/set 100.0 eng. units
input
HSCIN input high scale real no-con/no-set 100.0 specifiable
LSCIN input low scale real no-con/no-set 0.0 specifiable
EIN input eng units string no-con/no-set % specifiable
HSCO1 high scale out 1 real no-con/no-set 100.0 specifiable
LSCO1 low scale out1 real no-con/no-set 0.0 specifiable
DELTO1 change delta, output real no-con/no-set 1.0 percent

1553
B0193AX – Rev N 91. PIDA – Advanced PID Block

Table 91-1. PIDA Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


EO1 eng unit output string no-con/no-set % specifiable
OSV span variance real no-con/no-set 2.0 [0..25]percent
HOLIM high output limit real con/set 100.0 RO1
LOLIM low output limit real con/set 0.0 RO1
LIMOPT limiting option short no-con/no-set 1 [1..3]
MCLOPT manual clamp option Boolean no-con/no-set 0 0 to 1
BATCHO batch control option Boolean no-con/no-set 0 0 to 1
PRLOAD batch preload real con/set 0.0 RO1
TRACK track input real con/set 0.0 RO1
TRKENL track enable Boolean con/set 0 0 to1
HOLD hold mode Boolean con/set 0 0 to1
PRIBLK non-primary block Boolean no-con/no-set 0 0 to 1
INITI initialize input short con/set 0 0 to 1
BCALCI back calculate input real con/set 0.0 RO1
FBK integral feedbck real con/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]
MANFS manual If failsafe Boolean no-con/no-set 0 0 to 1
MBADOP manual bad option Boolean no-con/no-set 0 0 to 1
CEOPT control error option short no-con/no-set 1 0 to 2
PROPT propagate error Boolean no-con/no-set 0 0 to 1
MANSW manual switch Boolean con/set 0 0 to 1
AUTSW auto switch Boolean con/set 0 0 to 1
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
INHIB alarm inhibit Boolean con/set 0 0 to 1
INHALM inhibit alarm pack_b con/set 0 0 to FFFFFFFF
MEASNM meas alarm name string no-con/no-set blank 1 to 12 chars
MALOPT meas alarm option short no-con/no-set 0 0 to 1
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 to 5]
MEASGR meas alarm group short no-con/set 1 [1to 8]
DALOPT deviation alarm option short no-con/no-set 0 0 to 3
DEVTIM deviation time integer no-con/no-set --- ---
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 deadband real no-con/set [0.0 RI1
DEVPRI deviation alarm priority integer con/set 5 [1to 5]
DEVGRP deviation alarm group short no-con/set 1 [1 to 8]
HHAOPT high-high alarm option short no-con/no-set 0 0 to 3

1554
91. PIDA – Advanced PID Block B0193AX – Rev N

Table 91-1. PIDA Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


HHALIM high-high alarm 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 alarm text string no-con/no-set blank 1 to 32 chars
HHAPRI high-high alarm priority integer con/set 5 [1to 5]
HHAGRP high-high alarm group short no-con/set 1 [1to8]
OALOPT output alarm option short no-con/no-set 0 0 to 3
OUTNM output alarm name string no-con/no-set blank 1 to 12 chars
HOALIM high output alarm limit real con/set 100.0 RO1
HOATXT high output alarm text string no-con/no-set blank 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 blank 1 to 32 chars
OUTADB output alarm deadband real no-con/set [0.0 RO1
OUTPRI output alarm priority integer con/set 5 [1 to 5]
OUTGRP output alarm group short no-con/set 1 [1 to 8]
FLBOPT fallback option short no-con/no-set 0 0 to 4
FLBREQ fallback request short con/no-set 0 0 to 2
SE supervisory enable Boolean no-con/set 0 0 to 1
SUP_IN supervisory setpoint real con/no-set 0.0 RI1
INITSE initial SE short no-con/no-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 to 1
OUTPUTS
ALMSTA alarm status pack_l con/no-set 0 bit map
BCALCO back calculation out 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]
ERROR control error real con/no-set 0.0 RI1
FBTBLK feedback tune block status long con/set 0 ---
FFTBLK feedforward tune block long con/set 0 ---
status
HDAIND high deviation indicator Boolean con/no-set 0 0 to 1
HHAIND high-high alarm indicator Boolean con/no-set 0 0 to 1
HOAIND high out alarm indicator Boolean con/no-set 0 0 to 1
HOLIND high out limit indicator Boolean con/no-set 0 0 to 1
INITO initialize out short con/no-set 0 0 to 1
INHSTA inhibit status pack_l con/no-set 0 0 to FFFFFFFF
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
LOAIND low out 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
OUT2 back calculated internal real con/no-set 0 %
controller output

1555
B0193AX – Rev N 91. PIDA – Advanced PID Block

Table 91-1. PIDA Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


PRTYPE priority type integer con/no-set 0 [0 to 10]
STATEB feedback adaptor state integer con/no-set -1 -3 to 6
STATEF feedforward adaptor state integer con/no-set -1 -2 to 6
SUPBCO supervisory back calculation real con/no-set 0 RI1
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-FFFFFFFF
DEFINE no config errors Boolean no-con/no-set 1 0 to 1
ERCODE config error string no-con/no-set 0 0 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 0 to 32 chars
PERTIM period time real no-con/no-set 0.1 seconds
PRSCAS cascade state short no-con/no-set 0 0 to 7
PRSCON present control state short no-con/no-set 0 0 to 3
RI1 eng range input real[3] no-con/no-set 100,0,1 specifiable
RI2 eng range input real[3] no-con/no-set 100,0,1 specifiable
RIN eng range input real[3] no-con/no-set 100,0,1 ein
RO1 eng range output real[3] no-con/no-set 100,0,1 specifiable

91.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. It wraps around from
32767 to -32768.

ALMOPT Alarm Options contains packed long values representing the alarm types
that have been configured as options in the block, and the alarm groups.
For the PIDA block, only the following unshaded 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
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

Bit
Number* Configured Alarm Option Boolean Connection
(0 to 31) When True (B32 to B1)
0 Alarm Group 8 in use ALMOPT.B32
1 Alarm Group 7 in use ALMOPT.B31
7 Alarm Group 1 in use ALMOPT.B25

1556
91. PIDA – Advanced PID Block B0193AX – Rev N

Bit
Number* Configured Alarm Option Boolean Connection
(0 to 31) When True (B32 to B1)
16 Low measurement alarm config- ALMOPT.B16
ured
17 High measurement alarm config- ALMOPT.B15
ured
18 Low output alarm configured ALMOPT.B14
19 High output alarm configured ALMOPT.B13
20 Low deviation alarm configured ALMOPT.B12
21 High deviation alarm configured ALMOPT.B11
22 Bad I/O alarm configured ALMOPT.B10
24 Low-Low alarm configured ALMOPT.B8
25 High-High alarm configured ALMOPT.B7

* Bit 0 is the least significant bit (starting from the right).


There are no mnemonic names for the individual bits of ALMOPT.

ALMSTA Alarm Status is a 32-bit output, bit-mapped to indicate the block’s alarm
states. For the PIDA 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
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
UNAK B2
B3
B4
B5
B6
B7
B8
RATE B9

CRIT PRTYPE
HMA
HOA
HHA

HDA

LMA
BAD

LOA
LDA
LLA
INH

Boolean
Bit Number Connection
(0 to 31)* Name Description When True (B32 to B1)
0 to 4 PTYP_MSK Priority Type: See parameter ALMSTA.B32–
PRTYPE for values used in the ALMSTA.B28
PIDA block
5 to 7 CRIT_MSK Criticality; 5 = lowest priority, ALMSTA.B27–
1= highest ALMSTA.B25
16 LMA Low Measurement Absolute Alarm ALMSTA.B16
17 HMA High Measurement Absolute 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

1557
B0193AX – Rev N 91. PIDA – Advanced PID Block

Boolean
Bit Number Connection
(0 to 31)* Name Description When True (B32 to B1)
22 BAD Input/Output Bad (BAD output of ALMSTA.B10
block)
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
* Bit 0 is the least significant bit (starting from the right)

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.

BATCHO Batch Control Option is a Boolean input that enables the PIDA block to
operate as a preloadable controller. You can change BATCHO only by
reconfiguring the block. When BATCHO is true, and a limit condition
exists, the integral term is set to the value nearer the limit, PRLOAD or
the value selected when LIMOPT is 2. This tends to avoid saw-tooth
ratcheting and excessively slow recovery.

BBIAS Bias Scale Factor is a real input used to offset the BIAS.
(BIAS + BBIAS)*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. The source for this input is the back calculation
output (BCALCO) of the downstream block. With V4.2 and later soft-
ware, BCALCI contains the status bits which were formerly contained in
the INITI parameter. Therefore, INITI and INITO are not required for
cascade initialization.

BCALCO Back Calculation Output is a real output that is usually equal to the Mea-
surement input. BCALCO is the value that, when connected to BCALCI
of the upstream block, provides the initial value of the upstream block
output required for bumpless initialization. With version 4.2, the
BCALCO data record also contains status bits previously contained in
INITO. You connect BCALCO to the BCALCI input of the upstream
block. The setting of the handshaking bits is transmitted with status bits
in the BCALCO to BCALCI connection.

BIAS Bias is a real input added, after applying KBIAS and BBIAS, to the con-
troller output to achieve OUT. BIAS can be dynamically compensated by
employing the FFTUNE block.

1558
91. PIDA – Advanced PID Block B0193AX – Rev N

BLKSTA Block Status is a 32-bit output, bit-mapped to indicate the block’s opera-
tional states. For the PIDA 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

B10
B11
WLCK B12
SPRU B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
STRK B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9
MAO

FTNI

BAD
HOL

LRO

HLD
TRK
FTN

FOL
LOL

CTL
FLB

MA
ON
SC
SE

LR
FS

Boolean
Bit Number* Connection
(0 to 31) Name Description When True (B32 to B1)
4 FOL Follow BLKSTA.B28
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)/ BLKSTA.B22
Remote(= true)
11 MA Manual(= false)/ BLKSTA.B21
Auto(= true)
12 BAD block in BAD state BLKSTA.B20
14 UDEF Undefined BLKSTA.B18
15 ON Compound On BLKSTA.B17
16 FTNI Feedforward Tune Inac- BLKSTA.B16
tive
17 FTN Feedforward Tune Active BLKSTA.B15
19 SPRU Setpoint Ramp Up BLKSTA.B13
20 WLCK Workstation Lock BLKSTA.B12
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
(Clamped)
28 HOL High Output Limit BLKSTA.B4
(Clamped)
29 SE Supervisory Enabled BLKSTA.B3
30 SC Supervisory Control BLKSTA.B2
31 FLB Supervisory Control Fall- BLKSTA.B1
back State

1559
B0193AX – Rev N 91. PIDA – Advanced PID Block

* Bit 0 is the least significant bit (starting from the right).

BTRKOP Bias Track Option, when true, forces the PID algorithm’s BIAS input to
track the block output (OUT) when the block is in Manual, and operat-
ing in the Proportional Integral (PI) or Proportional Derivative (PD) con-
troller mode.

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:
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 is false,
either MEAS or BCALCI:
♦ has its BAD status bit set true
♦ has its Out-of-Service status bit set true
♦ 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.
♦ MEAS has its ERROR status bit set true.

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).
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 is
set true, a control error forces the controller to Manual. If MDADOP is
set false, a control error forces the controller to Hold if MA is set to Auto,
and it disables 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, ranging from 1
to 5, of the block’s 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

1560
91. PIDA – Advanced PID Block B0193AX – Rev N

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
block. DEFINE is the opposite of the Block Status parameter Undefine
(UDEF).

DELTI1 to Change delta for Input Ranges 1 and 2 are configurable real values that
DELTI2 define the minimum percent of the input range that triggers change-
driven connections for parameters in the range RI1 or RI2. The default
value is 1.0 percent. If communication is within the same CP that con-
tains the block’s compound, DELTI1 and DELTI2 have no effect.
DELTI1 is used for the measurement and DELTI2 is used for bias.

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 block’s
compound, DELTO1 has no effect.

DERIV Derivative Time is a real input in minutes. DERIV in the PID, NIPID
and PIDTAU modes can be set by employing the FBTUNE block.

NOTE
The working DERIV value is indirectly limited by the working INT value.

DESCRP Description is a user-defined string of up to 32 characters that describe the


block’s function (for example, “PLT 3 FURNACE 2 HEATER CON-
TROL”).

DEVADB Deviation Alarm Deadband is a real input, in MEAS units, that apply 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 integer input, from 1 to 5, that sets the priority
level of the deviation alarm (1 is the highest priority).

DEVTIM Deviation Time specifies the time to delay the detection of a deviation
alarm in the PIDA block. It is adaptively set by FBTUNE.

1561
B0193AX – Rev N 91. PIDA – Advanced PID Block

DTIME Deadtime is an input parameter that specifies the dead time in minutes
placed in the integral-feedback path for the PIDTAU or PITAU
controller mode. It is adaptively set by FBTUNE.

EI1 to EI2 Engineering Units for Input Ranges 1 and 2, as defined by the parameters
HSCI1 to HSCI2 and LSCO1 to LSCO2, provides the engineering units
text for the values defined by Input Ranges 1 and 2. “DEG F” or “PH” are
typical entries. EI1 is used for the measurement and EI2 is used for bias.

EIN Engineering Input units, as defined by the parameters HSCIN and


LSCIN, provides the engineering units text for the multiplicative input
MULTIN. “DEG F” or “PH” are typical entries. Make the units consis-
tent with the signal source.

EO1 Engineering Units for Output Range 1, as defined by the parameters


HSCO1 and LSCO1, provides the engineering units text for the values
defined by Output Range 1. “DEG F” or “%” are typical entries. Make
the units for the Output Range (EO1) consistent with the units of its sink
in the downstream block.

ERCODE Error Code is a string data store which indicates the type of configuration
error or warning encountered. The error situations cause the block’s
DEFINE parameter to be set false. Validation of configuration errors does
not proceed past the first error encountered by the block logic. The block
detailed display shows the ERCODE on the primary page, if it is not null.
For the PIDA block, the following list specifies the possible values of
ERCODE, and the significance of each value in this block:
Message Value
“W43 – INVALID PHASE does not exist for given
PERIOD/PHASE block PERIOD, or block PERIOD
COMBINATION” not compatible with compound
PERIOD.
“W44 – INVALID High range value is less than or
ENGINEERING RANGE” equal to low range value.
“W46 – INVALID INPUT The source parameter specified in
CONNECTION” 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.
“W47 – INVALID PARAMETER A tuning block is connected to a
CONNECTION” PIDA block containing a connected
tuning constant.
“W48 – INVALID BLOCK The configured value of a block
OPTION” option is illegal.

1562
91. PIDA – Advanced PID Block B0193AX – Rev N

Message Value
“W49 – INVALID BLOCK An illegal block extension has been
EXTENSION” configured for NLNBLK (PIDA
block).
“W53 – INVALID PARAMETER A parameter value is not in the
VALUE” acceptable range.
“W55 – CONTROLLER DOES An FBTUNE or FFTUNE block
NOT EXIST” has an unspecified or unresolved
extension connection to a PIDA
controller block. When the PIDA is
installed, previously installed tun-
ing blocks waiting for that PIDA
will initialize automatically.
“W56 – INVALID An FBTUNE or FFTUNE block
CONTROLLER MODE” has an extension connection to a
PIDA block whose mode
(MODOPT) is not tunable.
“W57 – TUNING_CONSTANT An FBTUNE or FFTUNE block
LINKED” has an extension connection to a
PIDA block that has a linked tuning
constant.
“W58 – INSTALL ERROR; A Database Installer error has
DELETE/UNDELETE BLOCK” occurred.

ERROR Control Error is a real output that equals setpoint SPT minus measure-
ment MEAS.

FBK Integral Feedback is a real input that provides external integral feedback
behavior. Its function is to prevent integral windup when LIMOPT = 3. If
FBK is not linked to a source, it is connected to BCALCI, provided
BCALCI is linked. Otherwise FBK is internally connected to OUT.

FBTBLK Feed Back Tuning Block is automatically set to the BLKSTA of the
FBTUNE extender.

FFTBLK Feed Forward Tuning Block is automatically set to the BLKSTA of the
FFTUNE extender.

FILTER Filter is a real input parameter defining the time constant of a first order
lag filter in minutes. FILTER diminishes the destabilizing effect of mis-
match between process delay and controller delay in a PIDTAU or PITAU
control mode. This term is adaptively set by FBTUNE.

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

1563
B0193AX – Rev N 91. PIDA – Advanced PID Block

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 input that is an explicit request for the
block to go to the Fallback state. The Fallback state of the block is defined
by the FLBOPT parameter. Recovery from the Fallback state occurs at the
block level (when SE is set), and/or at the group level (when the appropri-
ate 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

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.

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 mea-
surement input MEAS exceeds the high-high absolute alarm limit
(HHALIM). HHAIND is set to false when the MEAS value is less than
HHALIM. Once the Indicator is set true, it does not return to false until
the MEAS value falls below the HHALIM less a deadband MEASDB.

HHALIM High-High Absolute Alarm Limit is a real input that defines the value of
the measurement input MEAS 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 the measure-
ment input MEAS, or disables High-High and Low-Low alarming alto-
gether. Each alarm triggers an indicator and text message.
0 = No alarming
1 = High-High and Low-Low alarming
2 = High-High alarming only

1564
91. PIDA – Advanced PID Block B0193AX – Rev N

3 = Low-Low alarming only.

HHAPRI High-High Alarm 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.

HOAIND High Output Alarm Indicator is a Boolean output that is set true when-
ever the output is greater than HOALIM.

HOALIM High Output Alarm Limit is a real input, (range RO1), that defines the
value of the output OUT that initiates a high output alarm.

HOATXT High Output 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.

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.

HOLIM High Output Limit is a real input that establishes the maximum output
value, (range RO1). 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 real values that define the upper
limit of the measurement ranges. EI1 to EI2 define the units. Make the
range and units consistent with the measurement source. A typical value is
100 (percent). HSCI1 is used for the measurement and HSCI2 is used for
bias.

HSCIN High Scale for Input MULTIN is a real value that defines the upper limit
of MULTIN. The default value is 100 (percent). EIN defines the units.

HSCO1 High Scale for Output Range 1 is a real value that defines the upper limit
of the ranges 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 destination.

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 set true, INCOPT


reverses the normal sense of the control action so that the controller out-
put increases with increasing measurement.

1565
B0193AX – Rev N 91. PIDA – Advanced PID 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 PIDA
block, uses the following bits:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

B10

B11

B12

B13

B14

B15

B16
B1

B2

B3

B4

B5

B6

B7

B8

B9
Bit Number* Boolean Connection
(0 to 15) Description When True (B16 to B1)
0 Inhibit Low Measurement INHALM.B16
Alarm
1 Inhibit High Measurement INHALM.B15
Alarm
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 Inhibit Bad I/O Alarm INHALM.B10
8 Inhibit Low-Low Absolute INHALM.B8
Alarm
9 Inhibit High-High Abso- INHALM.B7
lute Alarm
12 Inhibit Out-of-Range Alarm INHALM.B4
13 Inhibit Alarm INHALM.B3
14 Unacknowledged INHALM.B2
* Bit 0 is the least significant bit (starting from the right).

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

1566
91. PIDA – Advanced PID Block B0193AX – Rev N

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.

INHSTA Inhibit Status is a packed long output that contains the actual inhibit sta-
tus of each alarm type configured in the block. The PIDA 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
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
UNACK B2
B3
B4
B5
B6
B7
B8
B9
RATE
OOR

HMA
HOA
HHA

HDA
BAD

LMA
LOA
LDA
LLA
INH

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
16 LMA
Low Measurement Alarm INHSTA.B16
Inhibited
17 HMA High Measurement Alarm INHSTA.B15
Inhibited
18 LOA Low Output Alarm INHSTA.B14
19 HOA High Output Alarm INHSTA.B13
20 LDA Low Deviation Alarm INHSTA.B12
21 HDA High Deviation Alarm INHSTA.B11
22 BAD Bad I/O Alarm Inhibited INHSTA.B10
23 RATE Rate of Change Alarm INHSTA.B9
24 LLA Low-Low Absolute Alarm INHSTA.B8
Inhibited
25 HHA High-High Absolute Alarm INHSTA.B7
Inhibited
28 OOR Out-of-Range Alarm Inhib- INHSTA.B4
ited
29 INH Inhibit Alarm INHSTA.B3
30 UNACK Unacknowledged INHSTA.B2
* Bit 0 is the least significant bit (starting from the right).

1567
B0193AX – Rev N 91. PIDA – Advanced PID Block

INITI Initialization In defines the source block and parameter that drives this
block into initialization. The source for this input is the initialization out-
put of a downstream block. With V4.2 or later software, BCALCI con-
tains the cascade initialization request data bit eliminating the need to
configure INITI connections in cascades. However, to preserve backward
compatibility, the INITI parameter has been maintained for use in exist-
ing configurations. Existing configurations do not need to reconfigure
their cascades. The logic to set or reset the INITI Boolean value is main-
tained, but the setting of the handshaking bits, via the INITI to INITO
connection, is eliminated.

INITLR Initial Local/Remote is an integer input that specifies the desired state of
the LR input during startup, where:
0 = Local
1 = Remote
2 = The LR state as specified in the checkpoint file.
The block asserts this initial LR state when other parameters of the block
are modified:
♦ The block is installed into the Control Processor database.
♦ The Control Processor undergoes a reboot operation.
♦ The compound in which the block resides is turned on.
The INITLR state is ignored if the LR input has an established linkage.

INITMA Initial Manual/Auto specifies the desired state of the MA input during
startup, 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 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. Optionally,
you connect this parameter to the INITI input of upstream blocks so that

1568
91. PIDA – Advanced PID Block B0193AX – Rev N

these upstream blocks can sense when this block is open loop. With V4.2
or later software, BCALCO contains the initialization logic bits eliminat-
ing the need to configure INITO connections in cascades. The logic to set
or reset the INITO Boolean value has been maintained, but the setting of
the handshaking bits previously transmitted with the INITI to INITO
connection, is transmitted with status bits in the BCALCO to BCALCI
connection.
INITI and INITO are not required for cascade initialization.

INITSE Initial Supervisory Enable (INITSE) specifies the initial state of the SE
parameter in a block configured for Supervisory Control (that is:
SUPOPT =1) when the block starts up.
0= Disable
1= Enable
2= Do not change SE parameter.

INT Integral Time is a real input in minutes. INT in the PI, PID, NIPID,
PITAU, and PIDTAU modes can be set by employing the FBTUNE
block.

KBIAS Gain Factor is a real input that multiplies the BIAS input. It is expressed
in OUT (RO1) units divided by BIAS (RI2) units.

KD Measurement Filter Factor is a real input that adjusts the time constant of
the measurement filter.
For PD and NIPID, the filter time constant is:
[DERIV / KD].
For PID, the filter time is:
1/[(1/INT) + (1/DERIV)]KD.
For PITAU and PIDTAU, the filter time is:
[DTIME / 4KD].
The value of KD is adjusted during FBTUNE’s pretune.

KZONE Middle Zone Gain 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.

! CAUTION
1. If KZONE is set to zero, the block behaves as a dead zone controller, causing
most loops to limit cycle.
2. If KZONE is set to greater than 1, the block may cause oscillations in the process
model.

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-

1569
B0193AX – Rev N 91. PIDA – Advanced PID Block

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.

LIMOPT Limit Option is a configurable integer that specifies the anti-windup strat-
egy for recovering from a limiting condition. LIMOPT values range from
1 to 3 and map to the following strategies:
1= Freezes the integral term between the effective limit values when
limiting is detected. This is the default choice. The net propor-
tional and derivative term must subside to the difference
between the effective limit value and the integral term before the
output comes out of limit and integration resumes.
2= Adjusts the integral term so that the prelimited output is equal
to the effective limit value when limiting is detected. As soon as
the net proportional and derivative terms change direction, the
output comes out of limits and integration resumes. This pro-
duces a more sluggish non-overshooting recovery.
3= Allows the integral term to exponentially coast up to the effec-
tive limit value with the integral time constant. If the limit con-
dition persists long enough (several integral time constants), the
net proportional and derivative term must change sign before
the output comes out of limit and integration resumes. The
result may be an overly-aggressive overshooting recovery.

LLAIND Low-Low Alarm Indicator is a Boolean output set true when the MEAS
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 MEAS value exceeds the limit
plus a deadband MEASDB.

LLALIM Low-Low Absolute Alarm Limit is a real input that defines the value of the
MEAS 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.

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 OUT units, that defines the
value of the output that initiates a low output alarm.

1570
91. PIDA – Advanced PID Block B0193AX – Rev N

LOATXT Low Output Alarm Message Text is a user-defined text string of up to 32


characters that are output 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 block’s parameters are honored only if the requesting
workstation’s 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 block’s 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: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 block’s parameters are only
honored if the requesting workstation’s 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 block’s 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. Contention for the use of the
block may make the block inaccessible.

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 in local 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.

1571
B0193AX – Rev N 91. PIDA – Advanced PID Block

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 that identify


the loop or process associated with the block. 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 =


Local; 1 = 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, the source is the
user set input SPT.

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 units. Make the range and units consistent with those of the
measurement source. LSCI1 is used for the measurement and LSCI2 is
used for bias.

LSCIN Low Scale for Input MULTIN is a real value that defines the lower limit of
MULTIN. The default value is 0 (percent). EIN defines the units.

LSCO1 Low Scale for Output Range 1 is a real value that defines the lower limit of
the ranges for Output 1. The default value is 0 (percent). EO1 defines the
units. Make the range and units consistent with those of the output desti-
nation.

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

MA Manual /Auto is a Boolean input that controls the block’s operating state:
0 = Manual
1 = Auto.
In Manual, each PIDA block output is unsecured, which makes it settable
by an external process (program or display). In Auto, the block secures
each output so that they cannot be set externally.

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

1572
91. PIDA – Advanced PID Block B0193AX – Rev N

3 = Low measurement alarming only.


You can change MALOPT only by reconfiguring the block.

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.
No output alarms are detected when the PIDA block, config-
ured as a primary block (PRIBLK = 1) in a cascade scheme,
goes into the Track mode due to a downstream open loop con-
dition.
There is no indication that the output alarm detection has been
disabled. If an output alarm already exists when the PIDA goes
into track mode, the output alarm indication in the faceplate is
removed but the indication in the Block Alarm Summary is not
cleared. If the PIDA primary is then put into Manual, the Man-
ual alarming status overrides the tracking status.
4= No output alarming in Manual or Track.
No output alarms are detected when the block is in Manual
mode or the PDIA block, configured as a primary block (PRI-
BLK = 1) in a cascade scheme, goes into the Track mode due to
a downstream open loop condition.
In Manual mode, the disabled output alarm detection is indi-
cated on the alarm overlay by displaying inhibited/disabled
(depending on the setting of INHOPT) for the output alarms.
Inhibited is not displayed, regardless of the setting of INHOPT.
The output alarming is disabled, not inhibited. Also, the output
alarm inhibited/disabled status remains if the block is switched
back to Auto and the Track condition still exists.

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 on its incoming BCALCI input.

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


true, the block sets the unlinked MA input to manual if it detects a BAD
status bit in the MEAS input, or a BAD status bit in the BIAS input. 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. MBADOP has the same priority as the MANSW
override, and it has precedence over the AUTSW override.

1573
B0193AX – Rev N 91. PIDA – Advanced PID Block

MCLOPT Manual Clamping Option allows you to invoke output clamping while
the block is in manual.

MEAS Measurement is an input identifying the source of the block’s measure-


ment input, the controlled variable.

MEASDB Measurement Alarm Deadband is a configured input, expressed in MEAS


units, that applies to High, Low, High-High, and Low-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 MEAS exceeds the high alarm limit MEASHL.
When 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 MEAS that initiates a high absolute alarm.

MEASHT Measurement High Alarm Message Text is a user-defined text string of up


to 32 characters that are 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 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 are 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 identify 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. The integer value ranges from 1
to 8:
1= P – proportional only
2= I – integral only
3= PD – proportional plus derivative
4= PI – proportional plus integral

1574
91. PIDA – Advanced PID Block B0193AX – Rev N

5= PID – proportional, integral, derivative (product of factors)


6= NIPID – non-interacting PID (sum of terms)
7= PITAU – proportional, integral, deadtime (interacting if deriva-
tive not 0)
8= PIDTAU – non-interacting proportional, integral, derivative,
deadtime

MULTIN Multiplicative Feedforward Input is an input, in engineering units, as


defined by the parameters HSCIN and LSCIN. Dynamic compensation is
adaptively set by FFTUNE.

NAME Name is a user-defined string of up to 12 characters used to access the


block and its parameters.

NLNBLK Nonlinear block is the Block Status (BLKSTA) of the characterizer


(CHARC) extension block, where matched nonlinear functions are speci-
fied. These functions are inserted into the measurement (MEAS) and set-
point (SPT) paths, ahead of any dynamic compensations. The
measurement and set point are in engineering units. The function outputs
are in percent of full scale.
To embed a CHARC function in a PIDA or AIN, you must connect the
BLKSTA of the CHARC block into the PIDA’s NLNBLK or the AIN’s
EXTBLK parameter. You must set the CHARC’s EXTOPT parameter to
1. When the CHARC is used as an extender, its inputs and outputs are
not explicitly configured. In the PIDA, CHARC applies matched piece
wise functions to :PIDA.SPT and to :PIDA. MEAS. The PIDA’s CHARC
output is expressed in percent of span. For a pH application, this allows
the operator to view SPT and MEAS in nonlinear pH units and for the
internal controller to view the process in more linear ion-concentration
units.

NONLOP Nonlinear Option is a configured Boolean input that allows you to cus-
tomize the gain in a zone about zero error. If true, the relative gain of the
controller is set to KZONE in the error band between LZONE and
HZONE. You can use NONLOP to reduce the sensitivity to measure-
ment noise.

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.

1575
B0193AX – Rev N 91. PIDA – Advanced PID Block

OSV Output Span Variance is a configurable, 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 real result of the block algorithm. In Man-
ual, OUT is unsecured, and can be set by you or by an external task.

OUT2 Output 2 is a real output used as a feedforward input for other blocks.
OUT2 is the back-calculated indication of the internal controller output,
expressed in percent or engineering units.

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

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 block’s 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***

1576
91. PIDA – Advanced PID Block B0193AX – Rev N

Period Length Period Length


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, and CP60.

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 with phases 0, 1, 2, or 3, assuming the
BPC of the Control Processor is 0.5 sec. See Integrated Control Software
Concepts (B0193AW) document.

PRIBLK Primary Block is a cascade configuration option. PRIBLK must be config-


ured 0 in a primary block, and 1 in a non-primary (secondary) block. A
PRIBLK value of 1 causes a secondary block to wait for its primary block
to initialize before it uses the remote setpoint.

PRLOAD Batch Preload is a real input that is loaded into the controller’s integral
term whenever the output is being limited at either the LOLIM or
HOLIM values. PRLOAD is operational only when the block is in Auto
and the Batch Control Option BATCHO is configured.

PROPT Propagate Error Option is a nonconnectable, nonsettable Boolean input.


When true, PROPT sets the ERR 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.

1577
B0193AX – Rev N 91. PIDA – Advanced PID Block

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

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 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
8 = BAD Alarm
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-
Range, High-High Absolute, Low-Low Absolute, High Absolute, Low
Absolute and Bad Deviation.
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.

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.

1578
91. PIDA – Advanced PID Block B0193AX – Rev N

RI1 Range Input 1 is an array of real values that specify the high and low engi-
neering scale (HSCI - LSCI) of the MEAS input. RI1 also applies to SPT
and related parameters.

RI2 Range Input 2 is an array of real values that specify the high and low engi-
neering scale (HSCI - LSCI) of the BIAS input.

RIN Range Input 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 is an array of real values that specify the high and low engi-
neering scale (HSCO - LSCO) of the controller output OUT and other
related parameters.

RSP Remote Setpoint is the selected setpoint source when LR is set to Remote.
RSP is a real input. Typically RSP connects to an upstream block in a cas-
cade 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.

SPCLMP Setpoint Clamp is a configurable short integer that specifies the limits to
be used when clamping or limiting the Supervisory setpoint (SUP_IN),
Remote setpoint (RSP), and local setpoint (SPT).
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 Setpoint High Limit is the upper limit for the local setpoint value in engi-
neering units RI1. It is an input. With SPCLMP = 0, if the setpoint is
greater than SPHLIM at the instant before switching to local, the effective
limit is stretched to allow the initial setpoint value. As the local setpoint is
decreased, the effective upper limit is decreased until the SPHLIM value is
reached.

SPLCOP Sample Controller Option is a configurable Boolean that allows the PIDA
to operate with a period between output updates larger than the block’s
PERIOD parameter. When SPLCOP is 1, the update period is defined by
TSAMPL or the update triggered by SPLRDY.

SPLLAG The Relative Gain applied to setpoint is an input parameter. Its optimum
value depends on the process type: 0.2 for a dominant lag process, 1.0 for
a dominant delay. It is adaptively set by FBTUNE.

SPLLIM Setpoint Low Limit is the lower limit for the local setpoint value in engi-
neering units. It is an input. With SPCLMP = 0, if the setpoint is less than
SPLLIM at the instant before switching to local, the effective limit is
stretched to allow the initial setpoint value. As the local setpoint is

1579
B0193AX – Rev N 91. PIDA – Advanced PID Block

increased, the effective lower limit is increased until the SPLLIM value is
reached.

SPLRDY Sample Ready is a Boolean pulse input. On a 0-to-1 transition, SPLRDY


triggers an output update. SPLCOP option must be selected.

SPRAMP Setpoint Ramp state is a Boolean input. It is set to 1 to trigger the start of
a setpoint ramp.

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.

SPROPT Setpoint Option is a configurable short integer input that specifies the set-
point ramping option:
0= No setpoint ramping.
1= Ramp using SPRATE as ramp rate (units/minutes). The set-
point 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.
2= Ramp using SPRATE as ramp rate. 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.
3= Ramp using SPRATE as ramp time (minutes). 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.
4= Ramp using SPRATE as ramp time. 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.

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 always represents the active controller setpoint. Setpoint is the
reference variable that is compared with the MEAS input to produce the
ERROR signal. LR and SE determine the source of SPT.
When LR is set to Remote, RSP is the source of SPT, which is secured.
When LR is Local and SE is Disable, the user set value is the source of
SPT. When using the controller in only the Local mode, set LOCSP to 1
(True). SPT can source the setpoint value to other blocks.

1580
91. PIDA – Advanced PID Block B0193AX – Rev N

When SE is enabled, Supervisory setpoint overrides all other setpoint


sources.

SPTARG Setpoint Target, an input, is the final value for a setpoint ramp in engi-
neering units. It must be set within the setpoint SPHLIM and SPLLIM
limits, otherwise SPRAMP is reset to 0 and no ramping occurs.

STATEB The state of the feedback adaptor is an output. Its values are:
-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 for output peak search to finish
6= Settle (A non-isolated response can trigger a new search from
this state).

If a peak is not confirmed, later states may be bypassed.

STATEF The state of the feedforward adaptor is an output. Its values are:
-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.

States 4, 5, and 6 are bypassed if an FBTUNE extension block is not


active on the PIDA block.

STRKOP Setpoint Track Option is a Boolean input. When true, STRKOP enables
the setpoint to track the measurement input if the setpoint source selector
LR is in Local AND either (a) the block is in Manual or (b) the Initializa-
tion input INITI is true. SPT is nonsettable while setpoint tracking is
active.

1581
B0193AX – Rev N 91. PIDA – Advanced PID Block

SUPBCO Supervisory Back-Calculated Output is a real output that specifies the


value used by the Supervisory application program to initialize its output
to the current setpoint. SUPBCO also contains the following status bits:
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

These status bits of SUPBCO are non 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 to be under control of a Supervisory Control
application:
0 = No Supervisory
1 = Supervisory Setpoint (SSC)
2 = Supervisory output (DDC).

SUP_IN Supervisory Input is a real input that is the parameter set by a Supervisory
application program when performing supervisory control of this block’s
setpoint. SUP_IN also contains a status bit (Bit 10) that must be set by
the supervisory program to acknowledge a request to initialize (Bit 10 in
SUPBCO).

TRACK Track is a real input that provides the input signal that block output OUT
tracks when the block is in Auto and TRKENL is 1. If TRKENL is true
(set to 1) when the block is in Manual, tracking is not performed.

TRKENL Track Enable is a Boolean input that enables the block output to follow
the TRACK input.
0 - Disable Tracking
1 - Enable Tracking.

TSAMPL Sampling Time is a real input parameter that specifies the period, in min-
utes, of an internal timer that triggers an output update. If external trig-
gering of the control action is desired, set TSAMPL to 0 and use SPLRDY
to trigger the output update.

TYPE Type is a system-level mnemonic label indicating the block type. Enter
“PIDA” or select “PIDA” from the block type list under Show when con-
figuring 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.

1582
91. PIDA – Advanced PID Block B0193AX – Rev N

91.4 Detailed Functions


91.4.1 PIDA Operational Introduction
The controller provides P, I, PI, PD, PID, NIPID, PITAU, and PIDTAU 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)
♦ Relative gain on setpoint (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 PIDA block’s control algorithm supports tuning, scaling and alarming functions (see
Figure 91-2). The block provides:
♦ Absolute and deviation alarming of the measurement (see Figure 91-4)
♦ Absolute alarming of the controller output
♦ Bad I/O alarming.

1583
HSCIN, MULTIN BIAS KBIAS, MA, MBADOP,
HSCI1, LSCI1, SPHLIM, SPROPT, SPTARG, LR, LOCSP, LOCSW, SUPOPT, HZONE, LZONE,

1584
LSCIN BBIAS MANSW, AUTSW
SPLLIM, SPCLMP SPRAMP, SPRATE REMSW, STRKOP SE KZONE, NONLOP

Local FFTUNE
SPT Limit Ramp Scale Scale BAO
block linked
Disable
B0193AX – Rev N

Remote SPT HSCI2


RSP Limit Mult LSCI2
Track Enable + + Bad I/O BAD
Detection
SUP_IN Limit
Add
SPLLAG* Charc
OUT
A r
r
1.0
rf
dy
Gain Compensator Lag: I ² ------ + y = x = input
A dt
1 MA
y = --- ( x ( t ) – y ( t ) ) dt + y 0 = output
i t I ∫ fr b
Manual
rf ml
e eg 100 ep m mf mb Auto
MODOPT +
---------- ² e g
P + Scale x + Limit
Hold
Track
_ _
+
Lag
DERIV*
KD*

Butterworth dc f
FILTER* D ² -------- fbb
Filter cf cd fbr fb
dt fbb ³ f r f –b BCALCI
c b
FBK
Charc Scale fbr fbb fb
f bb ³ f r f –b
b
OUT2

Figure 91-2. PIDA Controller Detailed Functional Diagram


MEAS
HSCI1 No
LSCI1 OSV
STRKOP BCALCI,
Clamp FBK
Yes
MA=1
HOLIM, HSCO1, MCLOPT=L HOLD,
*From FBTUNE block, if connected BCALCO
LOLIM LSCO1 TRKENL
DTIME* INT* TRACK
91. PIDA – Advanced PID Block
91. PIDA – Advanced PID Block B0193AX – Rev N

Variables used in Figure 91-2 and the following sections to describe controller operations are
listed and defined in Table 91-2.

Table 91-2. Variable Definitions

Variable Description
A Setpoint lead/lag ratio (SPLLAG)
b b = KBIAS (BIAS + BBIAS)
c Controlled variable – selected measurement
cf Butterworth filtered measurement
cd Derivative filtered cf
ci Integral filtered cd
D Derivative time (DERIV)
e Control error
DTIME Time delay or deadtime
eg Nonlinear gain adjusted e
ep Proportional filtered eg
fr Scaled MULTIN
fb Integral feedback
fbb fbb = fb - bias
fbr fbr = fbb/fr
I Integral time (INT)
KD Derivative gain (KD)
Kz Zone gain for nonlinear gain
m Internal feedback controller output
mf mf = m • fr
mb mb = mf + b
ml Limited mb
ms m - + LOSCAL
m s = ( HOSCAL – LOSCAL ) --------
100
meas Measurement
P Proportional band (PBAND)
r Selected setpoint
rf Compensated setpoint
t Time constant
x Lag input
y Lag output

1585
B0193AX – Rev N 91. PIDA – Advanced PID Block

91.4.2 Control Modes


The PIDA controller performs the functions of a PID controller as well as additional functions.
The PIDA 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-Interacting Proportional-plus-Integral-plus-Derivative (NIPID).
7 = Proportional-plus-Integral-plus-Deadtime (interacting if derivative not 0) (PITAU)
8 = Non-Interacting Proportional-plus-Integral-plus-Derivative-plus-Deadtime (PID-
TAU)
The first five modes (MODOPT = 1 to 5) are the same as those of a PID controller, 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 91-2). This enables the block to be tuned
for both good load rejection and non-overshooting setpoint response simultaneously. When the
setpoint lead/lag ratio (SPLLAG) = 1, the block applies 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.
MODOPT = 6, non-interacting PID (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.
MODOPT = 7, proportional, integral, deadtime (PITAU), is an interacting deadtime algorithm
that can provide derivative action as well, but less effectively than the PIDTAU. This mode is the
preferred mode of deadtime controller when the process has a dominant deadtime (delay) or has
so much measurement noise as to make derivative action undesirable. This mode of control is
capable of out performing PID (MODOPT = 5) action for a lag-delay process, but its tuning is
less tolerant of changes in process dynamics. The time constant tau of the measurement filter is
0.25/KD times the DTIME, instead of DERIV/KD as it is for non dead-time controllers.
MODOPT = 8, non-interacting proportional, integral, derivative, deadtime (PIDTAU), is a non-
interacting deadtime algorithm, where the derivative time is tuned to be larger than the integral
time. This mode of control is capable of out performing non-interacting PID (MODOPT = 6)
action for any process, but its tuning is less robust. The time constant tau of the measurement fil-
ter is 0.25/KD times the deadtime DTIME, instead of DERIV/KD as it is for non-deadtime con-
trollers.

1586
91. PIDA – Advanced PID Block B0193AX – Rev N

91.4.2.1 Operational Notation for Block Algorithms


The block algorithms can be expressed using the differential operator (s = d()/dt) as follows (see
Table 91-2 for variable definitions):
♦ Proportional only (P):

100
m b = --------- ( r – c f )f r + b
P
τ=0
♦ Integral only (I):

1
m b = ---- ( r – cf )fr + b
Is
τ=0
♦ Proportional and derivative (PD):

100
m b = --------- ( r – ( 1 + Ds )c f )f r + b
P
D
τ = -------
KD

♦ Proportional and integral (PI):

m b = ---------   ---- + A r –  ----


1 + 1 c  f + b
100 1
P   Is   Is  f r

τ=0
♦ Proportional, integral and derivative (PID):

m b = ---------   ---- + A r –  ---- + 1 ( 1 + Ds )c f f r + b


100 1 1
P Is Is
1---  1--- + ---
1- K
=
τ I D D

♦ Non-interacting PID (NIPID):

m b = ---------   ---- + A r –  ---- + 1 + Ds c f f r + b


100 1 1
P Is Is
D
τ = -------
KD

1587
B0193AX – Rev N 91. PIDA – Advanced PID Block

♦ Proportional, integral and deadtime (PITAU):

100 ( 1 + Is ) ( r – ( 1 + Ds )c f )-
m b = ---------  ------------------------------------------------------------ fr + b
P 1 – e – DTIMEs + Is 
τ = DTIME
--------------------
4 • KD

♦ Proportional, integral, derivative and deadtime (PIDTAU):

100 r – 1 ( 1 + Ds + IDs 2 )c-f


m b = ---------  ----------------------------------------------------------- f +b
P  1 – e – DTIMEs + Is  r
DTIME
τ = --------------------
4 • KD

♦ In the above expressions of measurement filter:

c
c f = ------------------------------------------
-
2
1 + τs + 0.5 ( τs )

91.4.2.2 Time Domain Notation for Block Algorithms


The controller algorithms can also be expressed in the time domain as follows:
♦ Proportional only (P):

100
m b = --------- ( r – cf )fr + b
P
t=0
♦ Integral only (I):

t
m b =  --- ∫ ( r – cf ) dt f r + b
1
I 0 
t=0
♦ Proportional and derivative (PD):

dc
m b = ---------  r –  cf + D -------f  f r + b
100
P dt
D
τ = -------
KD

1588
91. PIDA – Advanced PID Block B0193AX – Rev N

♦ Proportional and integral (PI):

100 1 t
m b = ---------  --- ∫ ( r – cf ) dt + Ar – c f f r + b
P I 0 
t=0
♦ Proportional, integral, and derivative (PID):

100 1 t dc
m b = ---------  --- ∫ ( r – c f ) dt + Ar –  1 + D
---- c f – D -------f f r + b
P I 0 I dt 
1--- =  1--- + ---
1- K
τ  I D D

♦ Non-interacting PID (NIPID):

100 1 t dc
m b = ---------  --- ∫ ( r – c f ) dt + Ar – c f – D -------f f r + b
P I 0 dt 
D-
τ = ------
KD

♦ Proportional, integral and deadtime (PITAU):

dm b ( t ) dcf ( t ) d 2 cf ( t )
---------  r ( t ) – cf ( t ) – ( D + I ) --------------- – ID ------------------- fr + b
I ------------------ = – m b ( t ) + m ( t – DTIME ) + 100
dt b P  dt dc2

♦ Proportional, integral, derivative and deadtime (PIDTAU):

dm b ( t )  r ( t ) –c ( t ) – D dc f (t) d 2 cf ( t )
- = – m ( t ) + m ( t – DTIME ) + 100
I ----------------- --------
- --------------
- – ID ------------------- fr + b
dt b b P  f dt dc2

♦ In the above expressions:

2
2
τ- d cf dc f
---- • 2 + τ ------- + c f = c
2 dt dt

NOTE
The above expression for cf can also be expressed as two simultaneous integral equa-
tions, but the above expression more clearly shows the effect of τ on cf.

The sign of the deviation (cf - 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.

1589
B0193AX – Rev N 91. PIDA – Advanced PID Block

The measurement filter response is shown in Figure 91-5. The setpoint gain compensation
response is shown in Figure 91-7.
Table 91-3 summarizes the filtering and tuning features for these control modes.

Table 91-3. Control Mode Filtering and Tuning Features

Control Mode
Feature P I PD PI PID NIPID PITAU PIDTAU
Measurement filtering X X X X X
Setpoint compensation X X X
Nonlinear gain X X X X X X X X
Multiplicative input X X X X X X X X
MULTIN
Bias input BIAS X X X X X X X X
FFTUNE feedforward tun- X X X X X
ing
FBTUNE feedback tuning X X X X X

The PIDA supports multiplicative and additive feedforward compensation, and local setpoint
ramping and limiting. Using extender blocks, the PIDA block can accommodate matched nonlin-
ear setpoint and measurement compensations (CHARC) and also adaptive tuning of feedback
(FBTUNE) and feedforward (FFTUNE) parameters.
The outputs of the matched nonlinear functions, CHARC, are expressed in percent of full scale.
The functions are realized with a CHARC extender block invoked by specifying its BLKSTA in
the NLNBLK entry. The extender block must be configured ahead of the PIDA block and must
have its EXTOPT parameter set to 1. The CHARC block’s MEAS input should not be config-
ured, and its OUT not used.

91.4.3 Block States

91.4.3.1 Manual State


PIDA Key Parameters: MA, OUT
In Manual (MA = 0), the controller does not perform PID control and the controller output
(OUT) is settable. In Manual, the controller does not adjust OUT2, the back-calculated indica-
tion of the internal controller output expressed in percent.
During a transition to Manual while MANALM is false, the controller clears all alarms 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 1592). When MA is toggled, its status is immediately displayed on the faceplate of the
Block Detail Display.

1590
91. PIDA – Advanced PID Block B0193AX – Rev N

91.4.3.2 Auto State


PIDA Key Parameters: MA, MEAS, OUT, SPT
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
(cf ), according to the configured controller mode. The controller generates integral control action
using the integral-feedback signal (fb) that is back calculated (fbr) and fed through a first-order lag
in a positive feedback arrangement. The feedback connection (FBK) avoids integral windup and
allows control that tolerant of changes in process dynamics and provides tighter primary tuning of
cascade structures. The integral (INT) setting establishes the time constant of the lag if FBK and
BCALCI are not linked.

91.4.3.3 Manual/Auto Overrides


PIDA Key Parameters: AUTSW, FLBOPT, INITMA, MA, MANSW, MANFS, MBADOP
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. FLBOPT
6. MANFS
If AUTSW is true, it drives the controller to Auto by setting MA to true and securing it.
If MBADOP is true and the MA parameter is unlinked, the controller sets the MA input to Man-
ual 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 is true 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.
FLBOPT (Fallback) defines the control action to be taken by the block when a Supervisory fall-
back occurs. You can select fallback options to set the MA parameter to Auto or Manual, or set
the LR parameter to Remote or Local. FLBOPT overrides linked MA and LR parameters, but
does not override the AUTSW, MANSW, REMSW, and LOCSW parameters.
When configured true, MANFS drives the block to the Manual state if the block detects an
incoming failsafe status on its incoming BCALCI input.

1591
B0193AX – Rev N 91. PIDA – Advanced PID Block

91.4.3.4 Holding State


PIDA Key Parameters: HOLD, MBADOP
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. Transfer back to Auto is bumpless (see “Bumpless Start-up and Transfers” on
page 1592).
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 is set true, a control error forces the controller to Manual. If MDADOP
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.

91.4.3.5 Output Tracking State


PIDA 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 1592). If TRKENL is true (set to 1) while in Manual, tracking is not per-
formed.

91.4.4 Bumpless Start-up and Transfers


PIDA Key Parameters: BCALCO, HOLD, MEAS, PRIBLK, SPT, STRKOP, TRKENL
Any transition from Manual, Holding, or Tracking to the Controlling state is performed bump-
lessly by back-calculating the PID dynamics (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.

91.4.5 Cascade Handling


PIDA Key Parameters: BCALCO, BLKSTA, CEOPT, INCOPT, LIMOPT, MEAS, PRIBLK,
RSP, SPT
A typical cascade configuration using the PIDA controller is shown in Figure 91-3.

1592
91. PIDA – Advanced PID Block B0193AX – Rev N

PRIBLK = 0 PRIBLK = 1
PIDA
MEAS OUT RSP PIDA
Block
MEAS

FBK
BCALCI BCALCO
Figure 91-3. Cascade Configuration (Typical)

To provide bumpless initialization of the upstream block in the cascade:


♦ Set PRIBLK to true for the secondary controller (PIDA).
♦ 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, the FBK (external integral feedback) of the primary controller can be
connected to it’s BCALCI or it’s OUT variable. Set LIMOPT as described in “Output Limiting”
on page 1594. 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.
The settings of SPT and BCALCO on transition from initialization depend on the type of initial-
ization, conditional or 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 PIDA 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 PIDA second-
ary 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
PIDA controller, this action causes its remote setpoint to track its BCALCO output when it is
connected to the upstream block’s BCALCI input. As a result, a return to closed loop control is
bumpless.
The appropriate BCALCO status bits of the PIDA controller are set in the Tracking (TRKENL =
1) or Holding (HOLD = 1) state. This requests its upstream block to perform its own initializa-
tion. When TRKENL or HOLD are reset to 0, the controller returns to the Controlling substate
of Auto to resume closed loop control.
The PRIBLK option allows a downstream block to initialize before the upstream block has
matched its output to its BCALCI input. The PRIBLK feature is needed if the upstream block’s

1593
B0193AX – Rev N 91. PIDA – Advanced PID Block

computing interval is the greater than the downstream block, or peer-to-peer connections have
been made to a remote setpoint.
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.

91.4.6 Output Limiting


PIDA Key Parameters: HOLIM, HOLIND, HSCO1, LOLIM, LOLIND, LSCO1, MCLOPT,
OSV
In Auto, the computed controller output (ml) value undergoes limiting, whereby it is limited
between the output limits, HOLIM and LOLIM (see Figure 91-4). 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.
When MCLOPT is true, the computed controller output (ml) value undergoes limiting as above.
If MCLOPT is false and the controller is in Manual, the output is limited between HSCO1 +
OSV and LSCO1 - OSV as shown in Figure 91-4.

OSV HSCO1

Output
OSV LSCO1

Time

Figure 91-4. Output Limiting

When an output limiting condition is detected in 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).
Depending on the configured value of LIMOPT one of three anti-windup strategies can be fol-
lowed. When an output limiting condition is detected in this block or in a downstream block:
1. If LIMOPT is 1, the integral term is frozen until the output limit condition clears
provided the integral term remains between the effective output limits.
2. If LIMOPT is 2, the integral term is set to the value that allows the output to come
out of effective limit when the net proportional and derivative term reverses direction.
This action may cause an output offset due to noise rectification and a more sluggish
recovery from the limit condition.
3. If LIMOPT is 3, the integral term lags the integral-feedback signal with the integral
time constant. If the limit condition persists for several time constants, the net pro-

1594
91. PIDA – Advanced PID Block B0193AX – Rev N

portional and derivative term must change sign before the output comes out of limit.
This produces an overshooting recovery.
For any of these options, an exception is required for a variable external limit application. When
the integral-feedback term which is the effective high (low) limit value becomes less (greater) than
the integral term, the integral term is reset to the integral-feedback value unless this action would
cause the output to come out of limit. LIMOPT equal to 1 is preferred in most applications
because it causes a rapid recovery with almost no overshoot. Therefore the default value of
LIMOPT is 1.
When the BATCHO batch option is selected and a limit condition exists, the integral term is set
to the value nearer the limit, PRLOAD or the value selected when LIMOPT is 2.
These strategies prevent output limiting from causing integrator windup. Output limiting in the
PIDA 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 PIDA controller.

91.4.7 Measurement Filtering


PIDA Key Parameters: DERIV, KD
For the PD, PID, NIPID, PITAU and PIDTAU control modes, the measurement low-pass filter
is a second order Butterworth filter with time constant DERIV / KD (see Figure 91-5). Its pur-
pose is to reduce high-frequency valve activity. The default setting of KD is 10.

1.1 Input Step

1.0

.9

.8 Output

.7

.6
τ τ = DERIV / KD = 1.0 s
.5

.4

.3

.2

.1

0
0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0
Time (s)
Figure 91-5. Butterworth Measurement Filter Response

1595
B0193AX – Rev N 91. PIDA – Advanced PID Block

The Butterworth measurement filter response can be expressed as follows:

2
2
τ----- d cf dc f
• 2 + τ ------- + c f = c = input measurement
2 dt dt
or

c
c f = -------------------------------------
- = output filtered measurement
2
1 + τs + 0.5τs
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 measurement requires proper filtering to remove unwanted noise:
♦ For noisy measurements, set KD appropriately (decreasing KD provides more
filtering).
♦ With FBTUNE feedback tuning, increase the threshold FBTUNE block parameter
“THRESH” for peak detection.
In addition, the measurement filter time constant factor KD is adjusted by pretune and the devia-
tion alarm delay DEVTIM is adapted. In a dead-time controller mode (PIDTAU or PITAU) the
filter time FILTER is added or can be adjusted if needed to prevent high frequency instability.

91.4.8 Setpoint Processing


The setpoint sources are prioritized as follows:
1. Supervisory enable (SE) when SUPOPT is true
2. Local switch (LOCSW)
3. Remote switch (REMSW)
4. Local setpoint (LOCSP)
5. Local or Remote (LR).
The selected setpoint is scaled, limited, and gain-compensated before calculating the control error
(e) (see Figure 91-2). The supervisory option (SUPOPT) allows an application program to con-
trol the setpoint. The LR parameter allows an operator or another block to switch between the
local and remote setpoint. 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.
When STRKOP is true while SUPOPT and LR are false, the local setpoint (SPT) tracks the mea-
surement 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.

1596
91. PIDA – Advanced PID Block B0193AX – Rev N

91.4.8.1 Supervisory Setpoint


PIDA Key Parameters: SE, SUP_IN, SUPBCO, SUPOPT
If supervisory option (SUPOPT) and supervisory enable (SE) are true, the controller uses the
supervisory setpoint (SUP_IN) for calculating the controller output (see Figure 91-2). When the
supervisory option (SUPOPT) is set, it specifies that the controller can be under control of a
supervisory application program. The supervisory back calculated output (SUPCO) 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 PIDA controller
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.
A typical Supervisory Setpoint Control cascade configuration using the PIDA controller is shown
in Figure 91-6.

Operator Supervisory
Displays Application SUPBCO

SUP_IN
SE
LR PIDA
SUPOPT Block

MEAS PIDA RSP


OUT
Block
MEAS

FBK
BCALCI BCALCO
Figure 91-6. Supervisory Setpoint Control Cascade Configuration (Typical)

For more information, refer to the Supervisory Setpoint Control (SSC) (B0193RY) document.

91.4.8.2 Local/Remote Overrides


PIDA Key Parameters: INITLR, LOCSP, LOCSW, LR, REMSW
The Local/Remote overrides are prioritized as follows:
1. Supervisory enable (SE) when SUPOPT is true
2. Local switch (LOCSW)
3. Remote switch (REMSW)
4. Local setpoint (LOCSP)
5. Local or Remote (LR).
If SUPOPT is false, 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.

1597
B0193AX – Rev N 91. PIDA – Advanced PID Block

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.

91.4.8.3 Setpoint State


PIDA 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 1605.
If LR is true, the setpoint state is Remote. If STRKOP is true, the setpoint state is Local, and the
status of MEAS is not Bad, the setpoint SPT tracks MEAS when the block is in Manual, or
TRKENL is true, or the cascade state is Open.
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.
When TRKENL is true, the output tracks an independent signal source (TRACK).

91.4.8.4 Local/Remote Setpoint Selection


PIDA Key Parameters: LR, MEAS, PRIBLK, RSP, SPT, STRKOP
The setpoint (SPT) is a source whose value can be determined by LR. If LR is true (Remote), SPT
is secured (can not be written to from outside of the block) 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 immediately displayed on the faceplate of the Block Detail Display.

91.4.8.5 Setpoint Limiting


PIDA Key Parameters: HSCI1, LSCI1, SPCLMP, SPHLIM, SPLLIM
The setpoint 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 = 0 and the setpoint state is Local, the SPT value is clamped as follows:
♦ If SPT <= SPLLIM, it is set to SPLLIM.

1598
91. PIDA – Advanced PID Block B0193AX – Rev N

♦ If SPT >= SPHLIM, it is set to SPHLIM.


If SPCLMP = 1, the SPT value in Local mode (RSP in Remote mode, SUP_IN in Supervisory
mode) is clamped as follows:
♦ If SPT/RSP/SUP_IN <= SPLLIM, it is set to SPLLIM.
♦ If SPT/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.

91.4.8.6 Setpoint Gain Compensation


PIDA Key Parameters: INT, SPLLAG, SPT
Lead/lag compensation is applied to the setpoint with a user specified lead/lag ratio (SPLLAG see
Figure 91-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 91-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 applies 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 91-7, the lead/lag compensator output immediately rises to
the value SPLLAG (A). Then the output (rf ) rises exponentially from SPLLAG to 1.0r with a first
order lag response of time constant INT.

Input r
1.0

Output rf

A = SPLLAG
A

Time
τ = INT
Figure 91-7. Setpoint Lead/Lag Compensation

For example if SPLLAG is set to 0.5, the output at the end of one time constant is:

1599
B0193AX – Rev N 91. PIDA – Advanced PID Block

r f = A + 0.63 ( r – A ) = 0.5 + 0.63 ( 1.0 – 0.5 ) = 0.815 or 0.815r

91.4.8.7 Setpoint Ramping


PIDA 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 the 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).
If SPROPT is 4, ramping stops whenever the deviation (MEAS - SPT) is in alarm and continued
setpoint ramping would increase the deviation. If ramping decreases the deviation, ramping is not
inhibited.
Table 91-4 summarizes the setpoint ramping action for the SPROPT options.

Table 91-4. Ramping Action for SPROPT Options

Rate Stop on
SPROPT (Units/Minutes) Time (Minutes) Deviation Alarm
1 X
2 X X
3 X
4 X X

To be accepted, an SPTARG value must be within the local setpoint limits, SPLLIM and SPH-
LIM. 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.

91.4.8.8 Error Propagation


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

91.4.9 Nonlinear Gain


PIDA Key Parameters: KZONE, LZONE, NONLOP, HZONE

1600
91. PIDA – Advanced PID Block B0193AX – Rev N

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 91-8). This nonlinear zone
is defined by the HZONE and LZONE positive real values, and is situated, but not necessarily
centered, about zero error.

40

Slope = 1.0
30
LZONE HZONE

20
Nonlinear
Response
10
Characterized Slope = 1.0
Control Deg
Error (eg) 0
Slope = KZONE = Deg / De
Slope = 1.0 De eg = KZONE ² e
10

20

30 Linear
Response

40
-40 -30 -20 -10 0 10 20 30 40
Control Error (e)
Figure 91-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 91-8.
The proportional gain (G) in the linear part of the response curve where the slope = 1.0 is:

100
G = ---------------------
PBAND

The effective gain (Ge) within the zone is:

100
G e = KZONE • ---------------------
PBAND
The effective proportional band (Pe) within the zone is:

1601
B0193AX – Rev N 91. PIDA – Advanced PID Block

PBAND
P e = ---------------------
KZONE

91.4.10 Feedforward
PIDA Key Parameters: BIAS, MULTIN
Multiplicative MULTIN and additive BIAS parameters can be used for feedforward inputs (see
Figure 91-2). The multiplicative input divided by its span (fr) 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 mf
before output limiting is applied. A back calculation is applied to feedback input fb, using the pre-
vious values of these feedforward terms to achieve the integral-feedback input fbr to the linear part
of the algorithm.
If either the BIAS or MULTIN value becomes invalid, its last valid value is used.

91.4.11 Error Detection


PIDA Key Parameters: BCALCO, CEOPT, MA, MEAS, RSP, SPT
During Auto operation, the critical inputs MEAS, SPT, and MA are checked for any errors. Such
errors include: off scan, out-of-service, and bad, which are reflected by the status of the connected
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. In the Hold-
ing 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.

91.4.12 Alarms
PIDA Key Parameters: BAD, CRIT, HDALIM, HHALIM, HOALIM, INHALM, INHIB,
INHOPT, LDALIM, LLALIM, LOALIM, MANALM, MEAS, MEASHL, MEASLL, OUT,
PRTYPE, SPT, UNACK
The PIDA block optionally supports the following alarms:
♦ Bad I/O
♦ Measurement absolute high-high (HHA) and low-low (LLA)
♦ Measurement absolute high (HMA) and low (LMA)
♦ Deviation high (HDA) and low (LDA)
♦ Output high (HOA) and low (LOA)

1602
91. PIDA – Advanced PID Block B0193AX – Rev N

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 (MEAS - SPT) 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 absolute, deviation, and output alarming establish hysteresis about the
limits to avoid intermittent state changes, when the MEAS, deviation (MEAS - SPT), or OUT is
close to one of the limits.
High-high and low-low absolute, 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 con-
tained 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 = 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 acknowl-
edged 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 acknowl-
edged by explicitly setting UNACK false.
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
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.

1603
B0193AX – Rev N 91. PIDA – Advanced PID Block

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

91.4.13 Validation Checks


The PIDA block in the CP validates the configuration parameters when it is installed, reconfig-
ured, or restarted.

91.4.13.1 Tuning Block Connections


PIDA Key Parameters: STATEB, STATEF
If either tuning extender parameter, FBTBLK (for FBTUNE) or FFTBLK (for FFTUNE) is con-
figured, the PIDA block verifies that the specified tuning block is currently connected to it. If the
tuning block is not connected, the PIDA block sets the STATEF and/or STATEB parameter to
off, and clears the connection to the tuning block.

91.4.13.2 Mode Option


PIDA Key Parameters: MODOPT, ERCODE
The block checks MODOPT for valid range (1 to 8). If it is invalid, the block sets ERCODE to
INV_OPTION, and enters the “undefined” state.

91.4.13.3 Engineering Ranges


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

1604
91. PIDA – Advanced PID Block B0193AX – Rev N

91.4.14 Block Initialization


PIDA Key Parameters: See Table 91-5.
After parameter validation, the PIDA block in the CP initializes when the:
♦ Block is installed.
♦ Block is reconfigured.
♦ Block is restarted.
♦ Control Processor is rebooted.
♦ Compound containing the block is turned on.
Table 91-5 lists the block parameter settings for block initialization.

Table 91-5. Parameter Settings for Block Initialization

Parameter Condition Resulting Value


LR LOCSP = 1 LR = 0 and secured
LR * INITLR = 0 LR = 0 (local)
INITLR = 1 LR = 1 (remote)
INITLR = 2 LR is unchanged
MA ** INITMA = 0 MA = 0 (manual)
INITMA = 1 MA = 1 (auto)
INITMA = 2 MA is unchanged
OUT --- OUT = BCALCI
BCALCO --- BCALCO = MEAS or SPT depending on the setpoint state.
STATEB --- STATEB = off
STATEF --- STATEF = off
SPTARG *** SPROPT = 1 SPTARG = SPT
INITSE SUPOPT =1 SE = 0 (disable), SE = 1 (enable)

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

91.4.15 Exception Processing


PIDA Key Parameters: BCALCO, ERCODE, MA, MEAS
Each basic processing cycle (BPC), the PIDA block in the CP performs the following exception
processing:
♦ Validation of the FBTUNE and FFTUNE block connections
♦ Status updating of all parameters
♦ Failsafe action
♦ Auto/Manual override actions

1605
B0193AX – Rev N 91. PIDA – Advanced PID Block

♦ Remote/Local override actions


The block validates the tuning block connections as it does during initialization (see “Validation
Checks” on page 1604).
The block updates the status of the critical parameters MEAS, MA, and BCALCO for the follow-
ing important status:

Table 91-6. 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

For more information on block Bad, Shutdown and Bad states, refer to the Integrated Control Soft-
ware Concepts (B0193AW) document.
If the connected AOUT transitions to the Failsafe state, the PIDA block opens the upstream cas-
cade by setting the appropriate BCALCO status bits to true.

91.4.16 Measurement Sampling


The sampling interval is the time between OUT updates in minutes. This can be the block
period, or if SPLCOP is selected, the variable TSAMPL, or the time between set transitions of
SPLRDY. TSAMPL or SPLRDY can be used for chromatograph or other applications where an
update is required at a length of time greater than the block period.
When the measurement is updated nonperiodically or periodically at nonstandard I/A Series
intervals, the :PIDA.SPLCOP should be set to 1. Nonperiodic output updates can then be trig-
gered by toggling :PIDA.SPLRDY to 1. SPLRDY is automatically reset to 0 when the update
takes place to await the next toggle. Periodic update intervals can be configured in minutes with
:PIDA.TSAMPL. An internal counter determines the number of block :PIDA.PERIODs since
the last update and adds this time to the :PIDA.INT value to determine the effective integral
time, compensating for the possibly variable update interval. If the interval between updates were
the dominant loop dynamic, perfect (Smith Predictor) compensation would be achieved with
:PIDA.MODOPT = 4 (PI) and :PIDA.INT = 0.0 and :PIDA.PBAND set to 100 over the nor-
malized (span compensated) process gain.

91.4.17 Cascade Control Loops


A cascade of control loops, where the output of a primary (outer-loop) controller is the setpoint of
the secondary (inner-loop) controller, can improve performance of the outer loop, particularly
when the primary measurement responds relatively slowly. A fast secondary loop can react to a
load disturbance contained within it to prevent the disturbance from affecting the primary mea-
surement. Also nonlinearity, such as results from a sticking valve can usually be made to have little
effect on the slow outer loop. Limits on the primary output constrain the setpoint of the second-
ary loop and thereby the secondary measurement. Typical secondary controlled variables are valve
position and flow. Jacket temperature may be the secondary variable for a batch reactor.

1606
91. PIDA – Advanced PID Block B0193AX – Rev N

Primary integrator windup must be prevented when the secondary controller limits or is in local
or manual. If integral action is not prevented, the prelimited output could windup, greatly
exceeding the effective limit value. Then secondary output recovery from limiting might occur
long after the primary control error changed sign because of its slow integral action, causing the
controlled primary variable to significantly overshoot its setpoint. If LIMOPT is 1 or 2, windup is
prevented by the response to logic bits transmitted with the secondary-BCALCO-to-primary-
BCALCI connection. If LIMOPT is 3, windup is suppressed passively through the FBK input
provided it is connected to the secondary BCALCO or its equivalent.
In a cascade, the connection of the primary FBK to its BCALCI, or to the secondary BCALCO,
compensates the integral action of a primary loop for the dynamic behavior of a secondary loop,
allowing tighter primary tuning.
Initialization of upstream blocks is triggered by a downstream manual-to-auto transition or local-
to-remote transition. When PRIBLK of all but the most primary block is set to 1, a secondary’s
remote setpoint RSP is not accepted until its upstream block’s OUT has been set to the down-
stream block’s BCALCO value. This is signaled with logic bits carried in the BCALCO to
BCALCI and OUT to RSP connections.

OUT RSP
Primary BCALCI BCALCO Secondary
Block Block
FBK

PRIBLK=0 PRIBLK=1

Figure 91-9. Cascade Connection

For a controller, the BCALCO value is usually set to its MEAS value. However, it is set to its local
setpoint SPT if a local-remote transition has occurred. BCALCO may be back-calculated from its
BCALCI value in other types of blocks.
The logic handshake caused by setting PRIBLK to 1 is not necessary if the period and phase of
the cascaded blocks is the same and they are ordered primary to secondary in the same com-
pound. This is exploited in Figure 91-10 to achieve a split range. In Figure 91-10 two valves are
driven from two AOUTs. The AOUTs are driven from the same PIDA. When the PIDA’s OUT
goes from 0 to 30% the first AOUT is scaled so that its output goes full scale in the desired direc-
tion. The other AOUT’s output is scaled to go full scale when the PIDA’s output goes from 30 to
100%. If either of the AOUT’s BCALCO were connected to PIDA BCALCI, the limit at 30%,
sensed through logic bits, would cause the PIDA to misbehave. Instead a CALC block is used to
back calculate the real value connected to the PIDA’s BCALCI input without supplying logic bits.
The AOUT INITO Booleans are “anded” in the CALC block and the result linked to the PIDA
INITI input. Both AOUTs must request initialization for the AOUT to initialize. The CALC
block should be executed after the AOUTs (or ahead of the PIDA) to prevent an extra time step in
the upstream propagation.

1607
B0193AX – Rev N 91. PIDA – Advanced PID Block

Steam Temp.
Primary PRIBLK = 0
Temperature PIDA

Heat Rate +

Secondary
Temperature PIDA
B001 = INITO L and INITO H
PRIBLK = 1
R001 = BCALCO L and BCALCO H -30

CALC

30 to 100% 30 to 100%

PRIBLK = 0 AOUT L AOUT H PRIBLK = 0

0 to 100% 0 to 100%
Figure 91-10. Cascade Control Loop Example (Split Range)

Controllers can also be structured in parallel to provide a safety override of a normal control func-
tion. For example, the normal controlled variable can be a composition indicative of product
quality. In an emergency, a pressure controller can take over the final manipulated variable by
selecting the controller with the smaller (or larger) output to drive the final manipulated variable.
Integrator windup of the unselected controller is prevented by the same method used to recover
from downstream limiting, actively using BCALCI limit bits or passively using FBK. If the con-
trollers are tuned to have good unmeasured load rejection (high low-frequency gain) and
LIMOPT = 1, constraint enforcement (like output-limit recovery) will have a small controlled-
variable overshoot.

Normal u Selector u
1
Control <

u
2

Override
Control

Figure 91-11. Output Selection Provides a Safety Override

1608
91. PIDA – Advanced PID Block B0193AX – Rev N

91.4.18 Linearizing the Measurement


To embed a CHARC function in a PIDA or AIN, you must connect the BLKSTA of the CHARC
block into the PIDA’s NLNBLK or the AIN’s EXTBLK parameter. When you use the CHARC as
an extender, its inputs and outputs are not explicitly configured. In the PIDA, CHARC applies
matched piecewise functions to :PIDA.SPT and to :PIDA.MEAS. The PIDA’s CHARC output is
expressed in percent of span. For a pH application, this allows the operator to view SPT and
MEAS in nonlinear pH units and for the internal controller to view the process in more linear
ion-concentration units.

91.5 Application Example


This application example demonstrates an adaptively tuned PIDA block controlling a simulated
lag-delay process having both measured and unmeasured loads (see Figure 91-12). FBTUNE and
FFTUNE extender blocks are attached to the PIDA to provide adaptive
feedforward compensation and feedback tuning. The application described in this section
requires that you configure the blocks shown in Figure 91-12. The example then describes the
control actions caused by the manipulation of specified parameters.

DTIME
UNMEAS MEAS
Block

CALC
Block MEAS_DT

LLAG
Block
FBTUNE FFTUNE
Block Block

PIDA
Block

Figure 91-12. PIDA Sample Configuration

91.5.1 Sample PIDA Configuration


Enter the Integrated Control Configurator (ICC), to configure the application example shown in
Figure 91-12. Start a new compound with the first process block (DTIME) which provides a
deadtime set to 0.1 minute applied to the controller output. Arbitrarily assign this deadtime
block’s name as DTIME.
NAME: DTIME
TYPE: DTIME
MEAS: :PIDA.OUT
DT: 0.1
You can use the default values for other parameters in the DTIME configure list.

1609
B0193AX – Rev N 91. PIDA – Advanced PID Block

A LLAG block named UNMEAS supplies the manual output.


NAME: UNMEAS
TYPE: LLAG
INITMA: 0
Setting INITMA to 0 causes the block to startup in manual. You can use the default values for
other parameters in the UNMEAS configure list.
A LLAG block named MEAS supplies the manual output.
NAME: MEAS
TYPE: LLAG
INITMA: 0
You can use the default values for other parameters in the MEAS configure list.
The measured load is delayed by 0.2 minutes in the MEAS_DT block.
NAME: MEAS_DT
TYPE: DTIME
MEAS: :MEAS.OUT
DT: 0.2
You can use the default values for other parameters in the UNMEAS configure list.
A calculation block named CALC sums the three signals.
NAME: CALC
TYPE: CALC
RI01: :DTIME.OUT
RI02: :UNMEAS.OUT
RI03: :MEAS_DT.OUT
RI04: 1.0
M01: 50.0
STEP01: IN RI01
STEP02: IN M01
STEP03: SUB
STEP04: IN RI04
STEP05: MUL
STEP06: IN RI02
STEP07: ADD
STEP08: IN RI03
STEP09: ADD
STEP10: IN M01
STEP11: ADD
STEP12: OUT RO01
STEP13: END

1610
91. PIDA – Advanced PID Block B0193AX – Rev N

Default values for other parameters in the CALC configure list are accepted. CALC.RI04 is the
process gain.
The CALC output is linked to the input of a lead-lag block. The lag time is set to 0.2 minutes
providing a unity gain first order lag.
NAME: LLAG
TYPE: LLAG
MEAS: :CALC RO01
LAGTIM: 0.2
You can use the default values for other parameters in the LLAG configure list. If a quadratic lag
were desired configure a positive :LLAG.LAG2 value. The result is:

1 + LGAIN LAGTIM s
OUT=
1 + LAGTIM s + LAGTIM LAG2 s2

When LAG2/LAGTIM is greater than 0.25, the quadratic has complex (underdamped) roots.
The lag output is applied to the measurement input of the PIDA controller.
NAME: PIDA
TYPE: PIDA
MEAS: :LLAG.OUT
MODOPT: 6
INITMA: 0
Default values can be accepted for the other parameters in the PIDA configure list. For this exam-
ple, MODOPT = 6 selects noninteracting PID, NIPID. Later you could try other MODOPT
choices such as PIDTAU = 8.
An FBTUNE extender block attached to the PIDA block provides adaptive feedback tuning.
NAME: FBTUNE
TYPE: FBTUNE
PIDBLK: :PIDA.BLKSTA
You can use the default values for other parameters in the UNMEAS configure list.
An FFTUNE extender block attached to the PIDA block adaptive feedforward tuning.
NAME: FFTUNE
TYPE: FFTUNE
PIDBLK: :PIDA.BLKSTA
LOAD1: :MEAS.OUT
Default values can be accepted for other parameters in the FFTUNE configure list.

91.5.2 A Sample PIDA Operation


When you have completed configuring the blocks, start the compound. Choose the Select screen
for the PIDA block to view its operation. Pick the Trend square in the option matrix and then the
Tune square. The PIDA starts in Manual. Set the PIDA’s output to 30. Set the PIDA’s setpoint to
70. With another Select screen set the output of UNMEAS to 40.

1611
B0193AX – Rev N 91. PIDA – Advanced PID Block

91.5.2.1 A Sample Pretune


The simulated process should respond, producing a MEAS value of 70 after one minute. When
settling occurs, use the second Select screen to view the FBTUNE block. Toggle its STNREQ
parameter to 1, toggle the FBTUNE’s PTNREQ to 1 to start Pretune. When FBTUNE’s Pretune
is completed, it causes the PIDA to switch to Auto and FBTUNE’s Selftune to start.
Pretune applies a doublet pulse to :PIDA.OUT. The pulse height is the :FBTUNE.BMP value in
percent of PIDA output span. The pulse width is determined by the absolute change in
:PIDA.MEAS exceeding :FBTUNE.THRESH in percent of the PIDA input span.
Pretune uses response pattern features to identify a gain-lag-delay model of the process. If the pro-
cess actually had additional smaller lags, the identifier would lump them with the model’s delay.
(If :FBTUNE.DFCT had been greater than 1, Pretune would have tried to identify a gain-lag-lag-
delay model. If :FBTUNE.DFCT had been less than 1, Pretune would have calculated less aggres-
sive tuning, producing PI control if :FBTUNE.DFCT were 0.)
Pretune then uses the algebraic tuning method to determine the feedback tuning parameters.
FBTUNE can be used for :PIDA.MODOPT of 4 = PI, 5 = PID, 6 = NIPID, 7 = PITAU, or 8 =
PIDTAU. Pretune sets values for the tuning constants :PIDA.PBAND, :PIDA.INT,
:PIDA.DERIV, :PIDA.SPLLAG, :PIDA.KD, :PIDA.DTIME. Pretune also sets values for
:FBTUNE.PBMAX, :FBTUNE.PBMIN, :FBTUNE.ITMAX, :FBTUNE.ITMIN,
:FBTUNE.PR_TYP, :PIDA.DEVTIM, and may override :FBTUNE.PRFL and
:FBTUNE.DFCT.
For Pretune to complete successfully, the first :PIDA.MEAS response-peak absolute height must
be at least 2.5 times the :FBTUNE.THRESH value measured in percent of input span. This
assures that the pulse width is only slightly greater than the process deadtime. For a very low-gain
process (typically a temperature loop), it is necessary to increase :FBTUNE.BMP and/or decrease
:FBTUNE.THRESH. Also for a successful Pretune, :PIDA.INCOPT must be correctly config-
ured and :PIDA.OUT must not be at a limit.

91.5.2.2 A Sample Feedback Selftune


You can apply a number of :UNMEAS.OUT and :PIDA.SPT steps to demonstrate selftuning
responses to an unmeasured load and setpoint. Use the second Select screen for UNMEAS to pre-
vent erasing the PIDA trend. The fourth tuning parameter :PIDA.SPLLAG applies a gain to set-
point relative to that applied to :PIDA.MEAS, allowing a low overshooting setpoint response
when the other parameters are tuned for good unmeasured load rejection. To create “isolated”
responses, wait for :PIDA.STATEB to return to Quiet before applying a new step. When
:PIDA.BIAS is not linked, it can also be used to introduce an unmeasured load step.
For :FBTUNE.PRFL = 1, Selftune sets values for the tuning constants :PIDA.PBAND,
:PIDA.INT, :PIDA.DERIV, :PIDA.DTIME, :PIDA.FILTER.
For a non-deadtime :PIDA.MODOPT, specify the overshoot target (the negative of the ratio of
the second to first error-peak amplitude) with :FBTUNE.OVR. The range should be between 0.0
and 0.1 with the default 0.1 (10%).
In a low-gain process such as temperature, you can selftune based on the :PIDA.OUT peak pat-
tern in addition to the control-error (after optional linearization with a CHARC extender, and
measurement filtering) pattern. An output :PIDA.OUT2 peak search is triggered from the
:PIDA.STATEB Quiet state by an absolute output change greater than :FBTUNE.LIM in percent
of span. To activate the output peak search, set :FBTUNE.LIM to a value slightly greater than the
background output peak-to-peak noise, perhaps 2%.

1612
91. PIDA – Advanced PID Block B0193AX – Rev N

You can also test Selftune’s ability to cope with process changes in :DTIME.DT,
:LLAG.LAGTIM, and :CALC.RI04 (gain). It may be necessary to follow process changes with a
load or setpoint upset. Since Selftune may use a different gainset for up-transients than for down-
transients, it is often necessary to wait until the next transient of the same sign to view the result
of adaptation.
To cope with process nonlinearity, the use of :FBTUNE.PROG, whose span is divided into three
subranges by :FBTUNE.PROGLT and :FBTUNE.PROGUT, can cause up to six adapted gain-
sets to be employed, one for each subrange-direction pair.
Note that, :FBTUNE.PR_FL can change the style of Selftuning. A value of 0 uses a fuzzy-inter-
polation method for isolated error responses when :PIDA.MODOPT is 4 (PI) or 5 (PID). A
value of 2 suspends retuning but inserts the appropriate stored gainset to cope with each new dis-
turbance. For :FBTUNE.PRFL = 0, Selftune sets values for :PIDA.PBAND, :PIDA.INT,
:PIDA.DERIV, :PIDA.SPLLAG, and :PIDA.PR_TYP.
If :PIDA.MODOPT is changed or if the process changes dramatically, for example from/to lag
dominant to/from deadtime dominant, you should run a new Pretune. Running a new Pretune,
or toggling :FBTUNE.PIDRCL from the FBTUNE Hold state, erases all stored gainsets. This
inserts into the PIDA the fallback tuning parameters :FBTUNE.PM, :FBTUNE.IM,
:FBTUNE.DM. Enter the FBTUNE Hold state by toggling to :FBTUNE.STHREQ to 1. This
state suspends both retuning and gainset insertion. When :FBTUNE.STNREQ is toggled to 0,
FBTUNE is turned off and all stored gainsets are erased. However, gainsets can be remembered by
checkpointing before FBTUNE is turned off.

Figure 91-13. NONLOP Display

1613
B0193AX – Rev N 91. PIDA – Advanced PID Block

91.5.2.3 Sample Feedforward Selftune


FFTUNE does not have a Pretune. FFTUNE’s selftune is started by toggling
:FFTUNE.FTNREQ to 1. When :PIDA.STATEF is Quiet and an absolute change in
:FFTUNE.LOAD1 larger than :FFTUNE.THRESH in percent is detected, a new process-model
identification is triggered. (A change in any :FFTUNE.LOADx input or linked :PIDA.MUL-
TIN or :PIDA.BIAS input can trigger identification.) If at some point in the response transient,
the control error exceeds :FFTUNE.THRESH, indicated by :PIDA.STATEF changing to Signif,
and the :PIDA.STATEF finally returns to Quiet without first becoming Unmeas, the FFTUNE
compensators are updated provided there is a steady-state change in a measured load. Adaptation
will not occur on a :PIDA.STATEF transition from Unmeas to Quiet.
Run a sequence of :MEAS.OUT steps to adapt and observe the results. Like FBTUNE, FFTUNE
may have six gainsets. After the first set of adaptations, it is necessary to wait for a repeat of the
load-change direction and :FTUNE.PROG subrange to see the effect of adaptation. FBTUNE
and FFTUNE may be active simultaneously, but either can operate independently.
When :FFTUNE.FTHREQ is 1, adaptation and gainset insertion are suspended, but compensa-
tion is not. When :FFTUNE.FTNREQ is toggled to 0, FFTUNE is turned off and stored gain-
sets are erased. However, gainsets can be remembered by checkpointing before FFTUNE is
turned off.
FFTUNE provides dynamic compensation for a multiplicative feedforward linked to
:PIDA.MULTIN. Then no compensation is applied to :FFTUNE.LOAD4, since only four feed-
forwards can be compensated. To avoid overcompensation, :PIDA.MULTIN should not be
linked also to an :FFTUNE.LOADx input.
FFTUNE will not significantly improve the measured-load rejection if there is more effective
delay in the manipulated-variable path than in the load path. Cancellation would require an unre-
alizable negative-delay compensator. In this case FFTUNE applies reduced gain to a
:FFTUNE.LOADx input, depending on the size of the calculated negative delay relative to the
closed-loop characteristic time, and no dynamic compensation.

91.5.2.4 Decoupling of Interacting Loops


Decoupling is typically performed between primary and secondary controllers in parallel cascades
(Figure 91-14). The secondary measurements in other paths are used as feedforward-load inputs
to each primary controller. Then output limiting and the auto-manual or local-remote state of
other controllers in other paths do not affect their decoupling from this path.
A common situation involves secondary flows that affect both inventory and quality variables. An
inventory variable such as liquid level or gas pressure is affected by the sum or difference of flows.
A quality variable such as composition or temperature is affected by the ratio of flows. When
there is one primary variable of each type, such as in the distillation example below, pair the larger
secondary flow setpoint with the inventory primary and the smaller flow setpoint with the quality
primary. Decouple from the inventory controller’s internal output sum with a subtractive feedfor-
ward compensation. Decouple the smaller flow from the inventory controller’s internal output
sum with a subtractive feedforward compensation. Decouple the larger flow from the quality con-
troller’s internal output ratio with a multiplicative feedforward compensation.

1614
91. PIDA – Advanced PID Block B0193AX – Rev N

Vapor AT
Composition
Level LT LC AC

+ - X

CONDENSOR FC FC
Flows
FT FT

COLUMN LF DF
PUMP Reflux Distillate

Figure 91-14. Parallel Cascades

Using secondary flows as feedforward variables in a full decoupling application introduces an


additional feedback loop. Setting a :FFTUNE.DETUNx value of less than 1 eliminates the oscil-
latory behavior of this loop. This factor multiplies the gain compensation applied to the
:FFTUNE.LOADx input.
:PIDA.OUT2 is a back-calculated internal output of the feedback controller, before feedforward
compensation, expressed in percent of span. You can use this variable as a feedforward input in
another controller.

1615
B0193AX – Rev N 91. PIDA – Advanced PID Block

1616
92. PIDE – PID With EXACT Block
This chapter describes the PID with EXACT Block, its features, parameters and detailed
operations.

92.1 Overview
The PIDE (Proportional-Integral-Derivative with EXACT) block adds a self-tuning function to
the traditional functions of a three-term interacting PID controller. The PID portion of this block
behaves exactly as the PID block except that the PIDE block does not support the MODOPT
parameter.

92.1.1 I/O Diagram

Manual/Auto PIDE
Measurement BLOCK
Proportional Band
Integral Time Output
Derivative Time Controller Setpoint
Derivative Filter Gain Mode Error
Local/Remote Algorithm
Remote Setpoint Back Calculation Output
Integral Feedback
Output Bias High Output Limit Indicator
Back Calculation Input Low Output Limit Indicator
High Output Limit Block and Alarm Status
Low Output Limit
Alarm Notification Criticality
Priority Type
Measurement HiHi Alarm Limit Measurement HiHi Alarm Indicator
Measurement Hi Alarm Limit Measurement Hi Alarm Indicator
Measurement Lo Alarm Limit Alarm
Portion Measurement Lo Alarm Indicator
Measurement LoLo Alarm Limit Measurement LoLo Alarm Indicator
Measurement Alarm Priority High Deviation Indicator
High Deviation Limit Low Deviation Indicator
Low Deviation Limit
Deviation Alarm Priority
High Output Alarm Limit High Output Alarm Indicator
Low Output Alarm Limit Low Output Alarm Indicator
Output Alarm Priority
Supervisory Enable
Fallback Supervisory Back-Calculated Value
Supervisory Input SSC
Supervisory Group

Figure 92-1. PIDE Block I/O Diagram

1617
B0193AX – Rev N 92. PIDE – PID With EXACT Block

92.2 Features
The 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 allow the block
to be switched to Auto or Manual
♦ Local/Remote setpoint source selection
♦ Local and Remote latch switch inputs (LOCSW and REMSW) that allow the block
to be switched to Auto or Manual
♦ Derivative filtering using a second-order Butterworth filter for high frequency noise
rejection
♦ External integral feedback to prevent windup during closed loop operation
♦ Separate assignable engineering range and units to the parameters Measurement, Bias,
and Input
♦ Bumpless transfer of the output signal when the block returns to controlling operation
in Auto
♦ Adjustable derivative gain parameter (KD)
♦ Automatic scaling, based on assigned engineering ranges, so that the controller gain is
normalized
♦ Output biasing with scaling
♦ Output clamping between variable output limits
♦ Bad inputs detection and handling
♦ Automatic cascade handling using an input and output parameter (back-calculated)
that includes:
♦ 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
♦ Supervisory Control (SSC) allows user application software to perform supervisory
control over the PIDE block’s setpoint.
The options are:
♦ Setpoint Tracking Option (STRKOP) forces the setpoint to track the Measurement
signal. STRKOP is enabled only when the LR parameter is in Local and either the
output is in Manual or the block detects a downstream block that is open loop. This
feature enables a bumpless return to automatic control when the PIDE or any down-
stream block returns to closed-loop operation. 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 is
true, the block sets the MA input to manual when it detects a control error, or when
the HOLD parameter goes true. This forces the output state to manual.
♦ Returning to Auto requires external intervention, unless AUTSW is true.

1618
92. PIDE – PID With EXACT Block B0193AX – Rev N

♦ 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) 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 error signal.
♦ 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 (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.
♦ Manual Alarming Option (MANALM) allows you to invoke, while the block is in
manual, either all configured alarm options or all configured alarm options except out-
put alarming. Otherwise, alarming is normally performed only in Auto.
♦ Manual Clamping Option (MCLOPT) allows you to invoke output clamping while
the block is in manual. You can alter this boolean input at the workstation.
♦ Output Alarm Option (OALOPT) enables (when true) absolute alarming of the
block output signal (OUT).
♦ 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 “acknowledge” pick on a default or user display, or via a
user task.
♦ Bias Track Option (BTRKOP), when true, forces the algorithm’s output Bias to track
the block output (OUT). BTRKOP is a boolean input that you can change only by
reconfiguring the block.
♦ Control Error Option (CEOPT) allows you to enable, or disable, the block’s implicit
Hold action when it detects an error in the MEAS, FBK, or BCALCI input.
♦ Propagate Error Option (PROPT) gives you the option of propagating the ERROR
status bit from the MEAS input to the block’s OUT parameter.
♦ Local Setpoint Secure (LOCSP) enables you to secure against any write access to the
LR parameter.
♦ Manual If Failsafe (MANFS) allows you have the block go to the Manual state when
the block receives a Failsafe notification.
♦ Supervisory Option (SUPOPT) specifies whether or not the block is to be under con-
trol of a Supervisory Application Program.

1619
B0193AX – Rev N 92. PIDE – PID With EXACT Block

♦ Fallback Option (FLBOPT) specifies the action taken in a block when Supervisory
fallback occurs. The fallback options can be: normal fallback, Auto, Manual, Remote,
or Local.

92.3 Parameters
Table 92-1. PIDE 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 122 PIDE
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/no-set blank 1 to 32 chars
MEAS process input real con/set 0.0 RI1
HSCI1 to HSCI2 high scale in 1 to 2 real no-con/no-set 100.0 specifiable
LSCI1 to LSCI2 low scale in 1 to 2 real no-con/no-set 0.0 specifiable
DELTI1 to DELTI2 change delta 1 to 2 real no-con/no-set 1.0 percent
EI1 to EI2 eng units input string no-con/no-set % specifiable
PROPT propagate error boolean no-con/no-set 0 0 to 1
SPT setpoint real con/no-set 0.0 RI1
FBK reset feedback real con/set 0.0 RO1
PBAND proportional band real con/set 1000.0 [0.1..]percent
INT integral time real con/set 100.0 [0..]minutes
DERIV derivative time real con/set 0.0 [0..]minutes
KD derivative gain real con/set 10.0 [10.0..50.0]
INCOPT increase/increase option boolean no-con/no-set 0 0 to 1
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 1 real no-con/no-set 1.0 percent
EO1 eng unit output 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 span variance real no-con/no-set 2.0 [0..25]percent
BIAS bias real con/set 0.0 RI2
BBIAS scale factor real no-con/no-set 0.0 RO1
KBIAS scale factor real no-con/no-set 1.0 scalar
BTRKOP bias track 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|1|2]
MANFS manual If failsafe boolean no-con/no-set 0 0 to 1
MBADOP manual bad option boolean no-con/no-set 0 0 to 1
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

1620
92. PIDE – PID With EXACT Block B0193AX – Rev N

Table 92-1. PIDE Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


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
INITI initialize in short con/set 0 0 to 1
BCALCI back calculate in 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
RSP remote setpoint real con/set 0.0 RI1
STRKOP setpoint track option boolean no-con/no-set 0 0 to 1
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
INHIB alarm inhibit boolean con/set 0 0 to 1
INHALM inhibit alarm pack_b con/set 0 0 to FFFFFFFF
MEASNM meas alarm name string no-con/no-set blank 1 to 12 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]
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 deadband real no-con/set 0.0 RI1
DEVPRI deviation alarm priority integer con/set 5 [1..5]
DEVGRP deviation 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]
OALOPT output alarm option short no-con/no-set 0 0 to 3
OUTNM output alarm name string no-con/no-set blank 1 to 12 chars
HOALIM high out alarm limit real con/set 100.0 RO1
HOATXT high out alarm text string no-con/no-set blank 1 to 32 chars
LOALIM low out alarm limit real con/set 0.0 RO1
LOATXT low out alarm text string no-con/no-set blank 1 to 32 chars

1621
B0193AX – Rev N 92. PIDE – PID With EXACT Block

Table 92-1. PIDE Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


OUTADB output alarm deadband real no-con/set 0.0 RO1
OUTPRI output alarm priority integer con/set 5 [1..5]
OUTGRP output alarm group short no-con/set 1 [1..8]
PR reference proportional band real con/set 1000.0 [0.1..]%
IR reference integral real con/set 100.0 [0..]minutes
DR reference derivative real con/set 0.0 [0..]minutes
NB noise band real con/set 1.0 [1.0..30.0]%
DFCT derivative factor real con/set 1.0 [0.0..4.0]
WMAX wait maximum time real con/set 0.5 [0..]minutes
CLM change limit real con/set 4.0 [1.25..16.0]
LMT output cycle limit real con/set 80.0 [2.0..80.0]%
OVR overshoot real con/set [0.5 [0.0..1.0]
DMP damping factor real con/set 0.3 [0.1..1.0]
BMP output bump real con/set 10.0 [-50.0..50.0]%
SETTLE selftune override boolean con/set 0 0 to 1
STNREQ request selftune boolean con/set 0 0 to 1
PM memory proportional band real no-con/set 1000.0 [0.1..]%
IM memory integral real no-con/set 100.0 [0..]minutes
DM memory derivative real no-con/set 0.0 [0..]minutes
FLBOPT fallback option short no-con/no-set 0 0 to 4
FLBREQ fallback request short no-con/set 0 0 to 2
INITSE intial SE short no-con/no-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 to 1
NONLOP non linear option boolean no-con/no-set 0 0 to 1
SE supervisory enable boolean no-con/set 0 0 to 1
SPLCOP sample controller option boolean no-con/no-set 0 0 to 1
SUP_IN supervisory setpoint real con/set 0.0 RI1
BATCHO batch control option boolean no-con/no-set 0 0 to 1
OUTPUTS
ALMSTA alarm status pack_l con/no-set 0 bit map
BCALCO back calculate out 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]
ERROR control error real con/no-set 0.0 meas minus setpoint
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
HOAIND high out alarm 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 FFFFFFFF
INITO initialize out short con/no-set 0 0 to 1
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
LOAIND low out alarm indicator boolean con/no-set 0 0 to 1
LOLIND low out limit indicator boolean con/no-set 0 0 to 1

1622
92. PIDE – PID With EXACT Block B0193AX – Rev N

Table 92-1. PIDE Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


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
MESSAG message index integer con/set -100 ---
OUT output real con/no-set 0.0 RO1
PRTYPE priority type integer con/no-set 0 [0..10]
SUPBCO back calculated value real con/no-set 0 RI1
TSTATE tuner state integer con/set -1 ---
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 FFFFFFFF
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
HZONE high zone limit real con/set 100.0 [0..]RI3
KSCALE gain scaler real no-con/no-set 1.0 scalar
KZONE nonlinear gain real con/set 1.0 [0..]
LOCKID lock identifier string no-con/no-set blank 8 to 13 chars
LOCKRQ lock request boolean no-con/set 0 0 to 1
LZONE low zone limit real con/set 100.0 [0..]RI3
OWNER owner name string no-con/set blank 1 to 32 chars
PCTMES percent meas span real no-con/no-set 1.0 ---
PCTOUT percent output span real no-con/no-set 1.0 ---
PERTIM period time real no-con/no-set 0.1 ---
PIDRCL recall memory pid boolean no-con/set 0 0 to 1
PRLOAD batch preload real con/set 0.0 RO1
PRSCAS cascade state short no-con/no-set 0 0 to 7
PRSCON present control short no-con/no-set 0 0 to 3
PRSTUN state of exact integer no-con/no-set -1 -1, 0, or 1
PTNREQ pretune request boolean con/set 0 0 to 1
RATD ratio derivative real no-con/no-set 0.125 scalar
RATI ratio integral real no-con/no-set 0.5 scalar
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
SIGN sign of error real no-con/no-set 1.0 scalar
SPLRDY sample ready boolean con/set 0 0 to 1
TCTRL control time real con/set 0.0 [0..]minutes
TRACK track input real con/set 0.0 RO1
TRKENL track enable boolean con/set 0 0 to 1
TSAMPL sampling time real con/set 0.0 [0..]minutes

1623
B0193AX – Rev N 92. PIDE – PID With EXACT Block

92.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 PIDE block, only the following unshaded 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
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

Bit Boolean
Number* Configured Alarm Option Connection
(0 to 31) When True (B32 to B1)
0 Alarm Group 8 in Use ALMOPT.B32
1 Alarm Group 7 in Use ALMOPT.B31
7 Alarm Group 1 in Use ALMOPT.B25
16 Low Absolute Alarm Configured ALMOPT.B16
17 High Absolute Alarm Configured ALMOPT.B15
24 Low-Low Absolute Alarm Configured ALMOPT.B8
25 High-High Absolute Alarm Configured ALMOPT.B7

* Bit 0 is the least significant bit (starting from the right).


There are no mnemonic names for the individual bits of ALMOPT.

ALMSTA Alarm Status is a 32-bit output, bit-mapped to indicate the block’s alarm
states. For the PIDE 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
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
UNAK B2
B3
OOR B4
B5
B6
B7
B8
B9

CRIT PRTYPE
HMA
HOA
HHA

HDA

LMA
BAD

LOA
LDA
INH

1624
92. PIDE – PID With EXACT Block B0193AX – Rev N

Bit Boolean
Number Connection
(0 to 31)* Name Description When True (B32 to B1)
0 to 4 PTYP_MSK Priority Type: See parameter ALMSTA.B32–
PRTYPE for values used in ALMSTA.B28
the PIDE block
5 to 7 CRIT_MSK Criticality; 5 = lowest ALMSTA.B27–
priority, 1= highest 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
20 LDA Low Deviation Alarm ALMSTA.B12
21 HDA High Deviation Alarm ALMSTA.B11
22 BAD BAD output of block 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 Alarm inhibit ALMSTA.B3
30 UNAK Unacknowledged ALMSTA.B2

* Bit 0 is the least significant bit (starting from the right).

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.

BATCHO Batch Control Option allows the PID to function as a preloadable con-
troller. It works in conjunction with the integral modes of the controller
and the integral preload input PRLOAD. Operationally, the batch option
preloads the integral term of the controller to the value of the preload
whenever the output is being limited to either its high or low output
limits.

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, 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
INITI parameter. Therefore, BCALCI defines the source block and

1625
B0193AX – Rev N 92. PIDE – PID With EXACT Block

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 equal to MEAS except in
the following situations, where it is equal to SPT:
♦ 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 status.
♦ MEAS is experiencing source connection problems.
With V4.2 and later software, the status bits of BCALCO contain the cas-
cade initialization requests formerly contained in the INITO parameter.
You connect the BCALCO parameter to the BCALCI input of an
upstream block so that this upstream block can sense when the PIDE
block is open. Therefore with V4.2 and later software INITO is not
required for cascade initialization.

BIAS Bias is a real input added to the controller or algorithm output, to achieve
OUT.

BLKSTA Block Status is a 32-bit output, bit-mapped to indicate the block’s opera-
tional states. For the PIDE 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
B10
B11
WLCK B12
B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
STRK B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9
MAO

MTN
BAD
HOL

LRO

TRK
HLD

PTN
STN
FOL
LOL

CTL
FLB

MA
ON
SC
SE

FS

LR

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (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 FOL Follow BLKSTA.B28
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

1626
92. PIDE – PID With EXACT Block B0193AX – Rev N

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
11 MA Manual(= false)/Auto(= true) BLKSTA.B21
12 BAD block in BAD state BLKSTA.B20
14 UDEF Undefined BLKSTA.B18
15 ON Compound On BLKSTA.B17
20 WLCK Workstation Lock BLKSTA.B12
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
29 SE Supervisory Enabled BLKSTA.B3
30 SC Supervisory Control BLKSTA.B2
31 FLB FLB Supervisory Control BLKSTA.B1
Fallback State

* Bit 0 is the least significant bit (starting from the right).

BMP Bump is required for pretuning, and can be considered an option only if
you do not use the pretune feature. Bump is the amplitude of the doublet
pulse imposed at the controller output that causes the measurement to
respond. BMP is expressed in percent of the output span and should be
large enough to create a change in the measurement, larger than
THRESH.

BTRKOP Bias Track Option, when true, forces the PID algorithm’s BIAS input to
track the block output (OUT) when the block is in Manual.

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:

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.

1627
B0193AX – Rev N 92. PIDE – PID With EXACT Block

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

CLM Change Limit clamps the working PBAND and INT values within a
range that is expressed as a fraction/multiple of the reference PR and IR
values as follows:
PR/CLM < PBAND < PR*CLM
IR/CLM < INT < IR*CLM

CRIT Criticality is an integer output that indicates the priority, ranging from 1
to 5, of the block’s 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 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 DELTI2
Change Delta for Input Ranges 1 and 2 are real values that define the res-
olution as a percent of the measurement range. Entering a 1 causes the
Object Manager to recognize and respond to a change of 1 percent of the
full error range.

DELTO1 Change Deltas for Output Range 1 is presently unused.

DERIV Derivative Time is a real input that adjusts the derivative time constant in
minutes.

NOTE
The working DERIV value is indirectly limited by the DFCT parameter and the
working INT value.

DESCRP Description is a user-defined string of up to 32 characters that describe the


block’s function (for example, “PLT 3 FURNACE 2 HEATER CON-
TROL”).

1628
92. PIDE – PID With EXACT Block B0193AX – Rev N

DEVADB Deviation Alarm Deadband is a real input, in MEAS units, that applies to
both High and Low Deviation Limits. You can adjust this parameter at
the workstation.

DEVGRP Deviation Group is a short integer input that directs deviation alarm mes-
sages to one of eight groups of alarm devices. You can change the group
number through the workstation.

DEVPRI Deviation Priority is an integer input, from 1 to 5, that sets the priority
level of the deviation alarm (1 is the highest priority).

DFCT Derivative Factor is an input that controls the weight of the derivative
term; it multiplies the calculated derivative term by the derivative factor.
Setting DFCT to 0.0 eliminates the derivative term. Setting DFCT to 1.0
produces optimal controller tunings for a lag-delay process. A factor
greater than 1 signals Pretune to override the factor based on its identifica-
tion of the process delay and of primary and secondary lag times. For pro-
cesses requiring a large amount of derivative action (for example, a double
integral process), DFCT can be as large as 4.0.

DM Memory Derivative is one of the three parameters that support the PID
recall tuning feature, and is used to store a fallback DERIV setting.

DMP Damping limit is the maximum allowed damping of the closed loop
response. In the self-tuning mode, it is used with the OVR limit to set the
tuning criteria, to obtain the desired closed loop response. Generally,
damping and overshoot cannot be set independently. Best control is usu-
ally obtained using the damping limit.

DR Reference Derivative is a real input that can be entered at configuration, or


derived from the Pre-tune operation. Use DR in combination with the
change limit (CLM) parameter, to limit the actual working derivative
value about the reference value.

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, provide
the engineering units text for the value defined by Input Ranges 1 and 2.
“Deg F” or “pH” are typical entries.

EO1 Engineering Units for Output Range 1, as defined by the parameters


HSCO1, LSCO1, and DELTO1, provide the engineering units text for
the value 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 block’s
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

1629
B0193AX – Rev N 92. PIDE – PID With EXACT Block

on the primary page, if it is not null. For the PIDE 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 does not exist for given block
PHASE COMBINATION” PERIOD, or block PERIOD not
compatible with compound
PERIOD.
“W44 – INVALID High range value is less than or equal
ENGINEERING RANGE” to low range value.
“W46 – INVALID INPUT The source parameter specified in the
CONNECTION” 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 The configured value of a block
OPTION” option is illegal.
“W53 – INVALID PARAME- A parameter value is not in the
TER acceptable range.
VALUE”
“W58 – INSTALL ERROR; A Database Installer error has
DELETE/UNDELETE occurred.
BLOCK”

ERROR Control Error is a real output that equals Setpoint minus Measurement.
ERROR can be sourced to other blocks.

FBK Feedback is a real input used to generate integration action. Its function is
to prevent integral windup. FBK is normally connected to BCALCI or
BCALCO of downstream blocks.

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

1630
92. PIDE – PID With EXACT Block B0193AX – Rev N

0 = No fallback requested
1 = Fallback requested; recovery at block or group level
2 = Fallback requested; recovery only at block level.

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.

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

HOAIND High Output Alarm Indicator is a boolean output that is set true when-
ever the output is greater than HOALIM.

HOALIM High Output Alarm Limit is a real input, int OUT units, that defines the
value of the output that initiates a high output alarm.

1631
B0193AX – Rev N 92. PIDE – PID With EXACT Block

HOATXT High Output Alarm Message Text is a user-defined text string of up to 32


characters that are output with the alarm message to identify the alarm.
You can change HOATXT only by reconfiguring the block.

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.

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 real values that define the upper
limit of the measurement ranges. EI1 to EI2 define 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.

HZONE High Zone Limit establishes the upper end and positive region of the
closed interval about zero deviation for the nonlinear gain element for
which the control error is > 0. Its engineering range is 0 to the absolute
value of the measurement span; (that is, HSCI1 to LSCI1).

IM Memory Integral is one of the three parameters that support the PID
recall tuning feature and is used to store a fallback INT setting.

INCOPT Increase/Increase Option is a boolean input. When set true, INCOPT


reverses the normal sense of the control action so that the controller out-
put increases with increasing measurement.

INHALM Inhibit Alarm contains packed boolean values that represent alarm inhibit
requests for each alarm type or point configured in the block. For the
PIDE block, only the following bits are used:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B10

B11

B12

B13

B14

B15

B16
B1

B2

B3

B4

B5

B6

B7

B8

B9

Bit Boolean
Number* Connection
(0 to 15) Description When True (B16 to B1)
0 Inhibit Low Absolute Alarm INHALM.B16

1632
92. PIDE – PID With EXACT Block B0193AX – Rev N

Bit Boolean
Number* Connection
(0 to 15) Description When True (B16 to B1)
1 Inhibit High Absolute 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
8 Inhibit Low-Low Absolute Alarm INHALM.B8
9 Inhibit High-High Absolute Alarm INHALM.B7
13 Inhibit Alarm INHALM.B3
14 Unacknowledged INHALM.B2

* Bit 0 is the least significant bit (starting from the right).


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

1633
B0193AX – Rev N 92. PIDE – PID With EXACT Block

INHSTA Inhibit Status contains packed long values that represent the actual inhibit
status of each alarm type configured in the block. For the PIDE 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

B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
UNACK B2
B3
B4
B5
B6
B7
B8
B9

HMA
HOA
HHA

HDA

LMA
LOA
LDA
LLA
INH

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
16 LMA Low Absolute Alarm Inhibited INHSTA.B16
17 HMA High Absolute Alarm Inhibited INHSTA.B15
18 LOA Low Output Alarm INHSTA.B14
19 HOA High Output Alarm INHSTA.B13
20 LDA Low Deviation Alarm INHSTA.B12
21 HDA High Deviation Alarm INHSTA.B11
24 LLA Low-Low Absolute Alarm INHSTA.B8
Inhibited
25 HHA High-High Absolute Alarm INHSTA.B7
Inhibited
29 INH Inhibit Alarm INHSTA.B3
30 UNACK Unacknowledged INHSTA.B2

* Bit 0 is the least significant bit (starting from the right).

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
maintained, but the setting of the handshaking bits, via the INITI to
INITO connection, is eliminated.

INITLR Initialize Local/Remote is an integer input that specifies the desired state
of the LR input during initialization, where:

1634
92. PIDE – PID With EXACT Block B0193AX – Rev N

0 = Local
1 = Remote
2 = The LR state as 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 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 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. 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 short value
has been maintained, but the setting of the handshaking bits, via the
INITI to INITO connection, is eliminated.

INITSE Initial Supervisory Enable specifies the initial state of the SE parameter in
a block configured for Supervisory Control (SUPOPT =1) when the block

1635
B0193AX – Rev N 92. PIDE – PID With EXACT Block

initializes due to reboot, installing the block, or turning on the com-


pound. 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 when
the controller operates in the PI, IO, or PIDX modes. In the PO and PD
modes, Integral Time becomes the balance time (the time constant that
governs the rate at which the output approaches the proportional signal).

IR Reference Integral is a real input that can be entered at configuration or


derived from the Pre-tune operation. Use IR in combination with the
change limit (CLM) parameter to limit the actual working integral value
about the IR value. See CLM.

KBIAS Gain Factor is a real input that multiplies the BIAS input. It is expressed
in OUT units divided by BIAS units.

KD Derivative Filter Gain is a real input that adjusts the derivative filter gain.

KSCALE KSCALE is a conversion factor used to make the time units of the rate
parameters, which are in EI1 units per minute, dimensionally compatible
with the time units of the output, as defined by EO1.

KZONE Middle Zone Gain 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 controller, causing most
loops to limit cycle.

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

1636
92. PIDE – PID With EXACT Block B0193AX – Rev N

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.

LMT Output Cycling Limit is a real input that indicates to the self-tuning algo-
rithm that the controller output is changing at a frequency that is too high
for the loop response as it is currently tuned. LMT has a range of 2 to 80
percent of output span and defaults to 80 percent. If the average peak-to-
peak amplitude exceeds LMT for over three minutes, the controller is
detuned by increasing PBAND and reducing DERIV. This feature is use-
ful for processes that have very little dead time and require a higher con-
troller gain.

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 OUT units, that defines the
value of the output that initiates a low output alarm.

LOATXT Low Output Alarm Message Text is a user-defined text string of up to 32


characters that are output with the alarm message to identify the alarm.
You can change LOATXT only by reconfiguring the block.

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-character 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 block’s
parameters are honored (subject to the usual access rules) only 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.

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.

1637
B0193AX – Rev N 92. PIDE – PID With EXACT Block

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

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

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. In Manual, 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

1638
92. PIDE – PID With EXACT Block B0193AX – Rev N

2 = High measurement alarming only


3 = Low measurement alarming only.
You can change MALOPT only by reconfiguring the block.

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
2 = No Output alarming in Manual.
You can change MANALM only by reconfiguring the block.

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.

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


true, the block sets the unlinked MA input to manual if it detects a BAD
status bit in the MEAS input, or a BAD status bit in the BIAS input. 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. 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.

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 block’s input, or the
controlled variable.

MEASDB Measurement Alarm Deadband is a configured input, expressed in MEAS


units, that applies to both High and Low Alarm Limits. You can adjust
this parameter at the workstation.

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 exceeds the high alarm limit (MEASHL). When
the measurement passes back through the deadband, the block sets
MEASHI to false.

1639
B0193AX – Rev N 92. PIDE – PID With EXACT Block

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 are 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 identify 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).

MESSAG Message Indicator is an integer output that represents an encoded status or


error message pertaining to the self-tune algorithm. The assigned integers
and the message that each represents are:
MI Code Message MI Code Message
MI_001 Block in Auto MI_107 Three Peaks Found
MI_002 Increase Bump MI_109 WMAX2 Small Overdamp
MI_003 Wait Steady State MI_110 Suspicious 1 Shape
MI_004 PID Computed MI_111 Suspicious 2 Shape
MI_005 Measuring Noise Band MI_112 Suspicious 3 Shape
MI_006 PRETUNE Done MI_113 WMAX3 Small Overdamp
MI_007 Bad INC/DEC Action MI_114 Three Peaks Found
MI_008 Meas Noise Corruption MI_150 Undefined
MI_009 Cascade Open Loop MI_151 WMAX or Process Fast
MI_010 Output Limit Exceeded MI_153 Excess Setpoint Change
MI_011 Excessive Output Manually MI_154 Process Out of Control
MI_012 Tune Block Request Error MI_155 PI Clamped CLM Limit
MI_013 Error on Inputs to PID MI_156 Self-Tune Initialize
MI_015 Linkage on Tuning Constant MI_157 Linkage on Tuning Constant
MI_101 One Peak Found MI_160 PID Open Loop
MI_102 WMAX1 Small Overdamp

1640
92. PIDE – PID With EXACT Block B0193AX – Rev N

MI Code Message MI Code Message


MI_103 Two Peaks Found
MI_105 Three Peaks Found
MI_106 Two Peaks Found

NAME Name is a user-defined string of up to 12 characters used to access the


block and its parameters.

NB Noise Band is a measure of the intrinsic noise content of the measurement


signal. Its peak-to-peak magnitude is expressed as a percentage of the mea-
surement span. Self-tuning begins to extract tuning information whenever
the error signal exceeds twice the magnitude of NB. It is also used to
decide whether an observed peak may be noise. You can enter a value for
NB at configuration or derive a value from a pretune operation.

NONLOP NonLinear Option inserts a segmental nonlinear gain element within the
forward path of the controller. It can be used to taylor the gain of the con-
troller in a zone about zero deviation. The zone is specified by HZONE
and LZONE parameters, and the gain within the zone is set 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.
You can change OALOPT only by reconfiguring the block.

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.

OUTADB Output Alarm Deadband is a real input that specifies the size of the dead-
band for both High and Low Output Alarm Limits. You can adjust this
parameter at the workstation.

OUTGRP Output Group is a short integer input that directs high and low output
alarm messages to one of eight groups of alarm devices. You can change
the group number through the workstation.

OUTNM The Output Alarm Name is a user-defined string of up to 12 characters


that identify the alarm source in the alarm message. It serves as a point
descriptor label (for example, F2 Fuel Ctrl).

1641
B0193AX – Rev N 92. PIDE – PID With EXACT Block

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

OVR Overshoot Limit is the target overshoot of the closed loop response, if the
fuzzy interpolation method is used (PR_FL=0), in the self tuning mode.
OVR has a range from 0.0 to 0.2 of the magnitude of the first peak.

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.

PBAND Proportional Band is an input that determines, for any given deviation,
the length of the OUTINC or OUTDEC “on” time during each control-
ling period. PBAND defaults to 1000. A smaller value results in greater
sensitivity and a longer “on” time for a given deviation. A larger PBAND
value reduces sensitivity and the “on” time for a given deviation.

PCTMES Percent of Measurement is a real value representing the percent of mea-


surement span per unit.

PCTOUT Percent of Output is a real value representing the percent of output span
per unit.

PERIOD Period is an indexed input that dictates the block’s 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*****

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

1642
92. PIDE – PID With EXACT Block B0193AX – Rev N

*** 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, and CP60.

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. See Integrated Control Software Concepts
(B0193AW) document.

PIDRCL PID Recall is a boolean input request that causes the memory tuning val-
ues PM, IM, and DM to be copied into the working values PBAND,
INT, and DERIV. PIDRCL is honored only in the FB_HOLD mode.
This feature provides a convenient means for the operator to save a fall-
back set of PID settings, which can be recalled if needed.

PM Memory PBAND is one of the three parameters that support the PID
recall tuning feature and is used to store a fallback PBAND setting.

PR Reference Pband is a real input that can be entered at configuration or


derived from the Pretune operation. Use PR in combination with the
change limit (CLM) parameter to limit the actual working proportional
band value about the PR value. See CLM.

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.
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, Foxboro 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.

PRLOAD PreLoad is the value that the integral term is set when the output is being
limited at either the LOLIM or HOLIM limit. It is operational only
under the batch option (BATCHOP) when the PID is in Auto. It precon-
ditions the integral term of the PID while the controller operates in Auto
during an open-loop situation, which usually arises during batch applica-
tions. The preload is usually set to the specific load conditions that existed
during closed-loop operation.

1643
B0193AX – Rev N 92. PIDE – PID With EXACT Block

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.

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

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

PRSTUN Present tuner operational state:


-1= Manual Tune
0 = Pretune
1= Selftune.

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

1644
92. PIDE – PID With EXACT Block B0193AX – Rev N

5 = High Deviation
6 = Low Deviation
7 = Rate alarm
8 = BAD Alarm

PTNREQ Pretune Request is a user-set boolean input that initiates the Pretune func-
tion. The controller must be in Manual, and the process should be reason-
ably stationary before setting PTNREQ to 1. You can abort Pretune by
resetting PTNREQ to 0.

RATD Ratio Deriv/period of oscillation is a real input.

RATI Ratio Int/period of oscillation is a real input.

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.

RSP Remote Setpoint is the selected setpoint source when LR is set to Remote.
RSP is a real input. Typically RSP connects to an upstream block in a cas-
cade scheme. RSP and its source must be expressed in MEAS units.

SE Supervisory Enable is a boolean input that enables or disables Supervisory


Control in this block:
0 = Disable
1 = Enable.

SETTLE Settle is an override input that holds the self tuning algorithm in the Settle
substate of the self-tune state. An operator or a linked source can use this
parameter to inhibit self-tune adaptation during undesirable process con-
ditions. This feature can alleviate the need for you to manually return the
self-tune algorithm to the STN mode after an abnormal process condi-
tion.

SIGN Sign is a real value representing the sign of the first error peak.

SPLCOP Sample Controller option enables the PID to operate as a sampled con-
troller over a time period that is much greater than the block’s

1645
B0193AX – Rev N 92. PIDE – PID With EXACT Block

SPLRDY Sample Ready is an input that indicates a new measurement MEAS is


ready. It is operational only if the sample control option SPLCOP is con-
figured. This signal is usually connected to an external device, such as a
chromatograph, to begin a new sample period in which control begins. If
used in conjunction with the TSAMPL timer, it restarts the timer to be
synchronous with an external event. *

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.

STNREQ Self-Tune Request is a boolean input that drives the self-tuning algorithm
into the self-tune operational mode. It can be initiated by either your
request or by a connection-based signal. If STNREQ is set to 1, self-tun-
ing begins when both PTNREQ and STHREQ are 0. Resetting
STNREQ turns self tuning off. The active tuning constants remain active
but the adapted stored tuning sets are erased.

STRKOP Setpoint Track Option is a boolean input. When true, STRKOP enables
the setpoint to track the measurement input if the setpoint source selector
LR is in Local AND either (a) the block is in Manual or (b) the Initializa-
tion input INITI is true. 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:
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

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 boolean input that specifies whether


or not this block is to be under control of a Supervisory application:
0 = no
1 = yes.

1646
92. PIDE – PID With EXACT Block B0193AX – Rev N

SUP_IN Supervisory Input is a real output that is the parameter set by a Supervi-
sory application when performing supervisory control of this block’s 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).

TCTRL Control Time establishes the time interval that the controller stays in the
Controlling substate of Auto. It is only active when SPLCOP is config-
ured. When this time interval expires, the controller is forced to the
S/HOLD substate of Auto. The controller returns back to Controlling if
either the TSAMPL timer expires, or the SPLRDY input is set. When
used in conjunction with the TSAMPL timer, it establishes a duty cycle
between Controlling and being in S/HOLD.

TRACK Track is an input parameter that the output follows whenever output
tracking is activated by the TRKENL input.

TRKENL Track Enable is an input that forces the output into the Track substate of
Auto. It is only enabled when the MA input is set to Auto. When active,
the output tracks the value of the TRACK input parameter and is
clamped between the output limits, HOLIM and LOLIM. If both INITI
and TRKENL are set in Auto, TRKENL takes precedence, and the output
tracks TRACK instead of BCALCI.

TSAMPL Sampling Time establishes the time period of an internal repeating timer
that cycles the controller updating. It is only active if the option SPLCOP
is configured. This timer can be used to effectively control a dead-time-
dominant process. If external triggering of the control action is desired,
TSAMPL should be set to 0, which effectively disables the timer. SPL-
RDY triggers the controlling state from S/HOLD.

TSTATE Tuner State is an encoded integer output that corresponds to the current
substate of the EXACT-tuning algorithm. The assigned integers and the
message that each represents are:
SI CODE Substate Name SI CODE Substate Name
SI_-01 MTUNE SI_007 Adjust PID
SI_000 Quiet SI_008 Adapt PID
SI_001 Locate First Peak SI_009 Settle
SI_002 Verify First Peak SI_100 Bump
SI_003 Locate Second Peak SI_101 Return Output
SI_004 Verify Second Peak SI_102 Wait Steady State
SI_005 Locate Third Peak SI_103 Monitor Noise
SI_006 Verify Third Peak

TYPE When you enter “PIDE” or select “PIDE” from the block type list under
Show, an identifying integer is created specifying this block type.

1647
B0193AX – Rev N 92. PIDE – PID With EXACT 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.

WMAX Wait Max is a crude estimate of the time scale of the process and repre-
sents the maximum time that the self-tune algorithm waits for the second
peak. It should be set larger than half the maximum period of oscillation
and smaller than eight times the minimum period of oscillation. You can
enter an NB value at configuration or derive a value from a pretune opera-
tion.

92.4 Detailed Operation


Each execution cycle, this block provides PID control and then runs its self-tuning algorithm,
unless you make the self-tune algorithm inoperable by running the block in the manual-tune
mode. Since this algorithm tunes a three-term interactive PID controller, the PIDE block does
not use a MODOPT parameter. The block operates as a PI-only controller, in the self-tune mode
if the Derivative Factor (DFCT) is 0.0, or in the manual-tune mode when DERIV equals 0.0.
When in the control portion of the execution cycle, the block generates an output that incorpo-
rates the following:
1. A Proportional factor based on a user-specified proportional band applied to an error
term. The error term equals the setpoint (SPT) minus the derivative factor applied to
the measurement (MEAS).
2. An Integral factor derived from a first-order lag of the block’s integral feedback (FBK)
input.
3. A Derivative factor with a second-order Butterworth filter applied to the measure-
ment (MEAS).
The MEAS parameter is an input identifying the source of the signal that is coming to this block
as the controlled variable in the control loop.
The SPT parameter is the local setpoint and always represents the active controller setpoint or is
made equal to SUP_IN in Supervisory Control. SPT can be used as a source other blocks.
The setpoint sources are prioritized as follows:
1. Supervisory Control
2. Local (LOCSW) nad Remote Switch (REMSW)
3. Local or Remote.
When the Supervisory Option (SUPOPT) is set, it specifies that the block can be under control
of a Supervisory Application Program. The Supervisory Back Calculated Output (SUPBCO) pro-
vides the current setpoint and initialization bits to the Supervisory Application Program. When
Supervisory Enable (SE) is set by the application program or operator, the PIDE 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 Supervisory setpoint in the calculation of the block’s output.
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, the block sets the BCALCO initialization status value to true, and
releases the SPT parameter, allowing any user to input the desired controller setpoint value. The

1648
92. PIDE – PID With EXACT Block B0193AX – Rev N

setpoint track option, STRKOP, can be used to assure bumpless transfer.


When LR is switched to Remote (true), SPT is no longer settable and takes on the value of the
remote setpoint input, RSP. RSP provides a link to the remote setpoint source. If RSP is unlinked
when LR is true, the block forces the LR parameter to local and secures it.
The PIDE block also provides the LOCSW and REMSW parameters to drive the setpoint 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 setpoint (SPT) tracks the status of
the remote setpoint (RSP).
When the block is switched to Local mode, the setpoint status depends on the setpoint tracking
option (STRKOP):
♦ If STRKOP is set true, the SPT status is cleared.
♦ If STRKOP is false, the SPT status reflects the RSP status at the time the switch to
Local occurred. The block maintains this status as long as block is in Local, unless you
change the SPT 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 measurement scale limits HSCI1 and LSCI1. If the set point
value before clamping is equal to or less than LCSI1, status bit LLO of SPT is set true. If the value
before clamping is equal to or higher than HSCI1, status bit LHI of SPT is true.
The PIDE block has two output states, Auto and Manual. In Manual, the block releases the out-
put, allowing it to be set by you. In Auto, the block secures the output.
Auto has three substates: Controlling, Tracking, and Holding.
Closed loop automatic PID control is actually performed in the substate of Auto called Control-
ling. In this state, the block computes the output signal based on the deviation between SPT and
MEAS. Proportional control is fixed by the steady state gain term (100/PBAND).
Integral control action is generated by feeding back the external integral feedback signal (FBK)
through a first order lag. INT, the integral setting of the controller, fixes the time constant of the
lag. Such a scheme avoids the pitfalls of integral windup. See “Normal Configuration” on
page 1653 for more details.
Derivative control action consists of a second-order Butterworth filtering of the Measurement sig-
nal. Both the time constant and the derivative gain of this filtering action are fixed by the user-
specified DERIV parameter.
In Auto, the computed output value undergoes limiting. Limiting clamps the output between the
variable output limits, HOLIM and LOLIM. You can place these limits anywhere within the
range defined by LSCO1 and HSCO1. Moreover, the output span variance parameter (OSV)
enables you to extend this range at both the high and low ends by an equal amount, up to 25 per-
cent. If you set LOLIM higher than HOLIM, then HOLIM is automatically set equal to the
higher of the two values, which is LOLIM. The block provides, for control purposes, output limit
indicators that are active when the output is clamped at either limit.
In Auto, when you switch the setpoint source selector from Local to Remote, the transfer is made
bumpless by removing derivative dynamics (if applicable) and forcing the integral to absorb any
proportional action.

1649
B0193AX – Rev N 92. PIDE – PID With EXACT Block

Switching from Remote to Local is always bumpless, because SPT retains the last value transferred
from the remote setpoint. For cascade purposes, the block sets the BCALCO initialization status
value true when the setpoint is under local control, or when the block is open-looped. This tells
an upstream block to perform an explicit initialization, so that the return to remote setpoint oper-
ation is bumpless.
The block goes to Tracking when the BCALCI initialization status value 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 substate. When the BCALCI initialization status value returns to false, the block
returns to the Controlling substate to resume closed-loop control.
In the Tracking substate, 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 parameter,
sets the BCALCI initialization status value to true (requesting upstream blocks to perform their
own explicit initialization), and sets bit 6 (TRCK) in the BLKSTA parameter.
During Auto operation, the block checks the critical inputs MEAS, FBK, and BCALCI for data
errors (off-scan, or BAD, OOS, or ERROR status bits set). If an error is detected, the PIDE
block, 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 is false and CEOPT = 1 or 2, either the HOLD
parameter goes true, or a condition required by the CEOPT parameter is met.
In the Hold substate, 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 is configured true (and the MA parameter is unlinked), the block goes to the Man-
ual state when it detects a control error or when the HOLD input goes true, regardless of the
CEOPT value. MBADOP has the same priority as MANSW and has precedence over AUTSW.
Therefore, if MBADOP is configured true and a bad input is detected, the block goes to Manual
regardless of the AUTSW setting.
When the block is switched to Manual, the OUT status reflects the MEAS/SPT status at the time
the switch occurred. While the block is in Manual, it maintains this status until you changes the
OUT output via data access. At that time, the block clears the status.
During Manual operation, PID control is not performed. Alarm outputs are settable. The con-
troller output (OUT) is unsecured and may have its value set by an external task or program and,
if the manual clamp option (MCLOPT) is configured, these set values will undergo output
clamping.
The setpoint track option forces the local setpoint (SPT) to track the measurement. While set-
point tracking is active, SPT becomes nonsettable to prevent any user from manipulating the local
setpoint value. Setpoint tracking is only performed if the setpoint source selector is switched to
Local and the block is either operating in Manual or the BCALCI initialization value status is
true. BCALCI value status being true indicates that a block downstream in the cascade is open
loop.

1650
92. PIDE – PID With EXACT Block B0193AX – Rev N

The following summarizes the secured/released condition of the SPT parameter:


SPT is secured (non-settable) if any of the following are true:
♦ The block is in Remote mode, that is, LR is true. In this case, BLKSTA.LR is also true
♦ Supervisory control is enabled, that is, SUPOPT and BLKSTA.SE are both true, and
SUP_IN is not in error
♦ Setpoint tracking is active, that is, BLKSTA.STRK is true. In order for this status bit
to be true, all of the following conditions must exist:
♦ The STRKOP parameter must be configured true.
♦ There must be no control error condition.
♦ One of the following conditions must be true:
♦ The block is in Manual mode.
♦ The cascade is open downstream (either the data value of INITI is true, or the
LHI and LLO status bits of BCALCI are simultaneously true).
♦ A request for conditional initialization has been received from downstream.
Otherwise SPT is released (settable).
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.
The EXACT-tuning algorithm is separate from the PID algorithm, and operates without affecting
the operation of the PID control algorithm except to provide new working values of PBAND,
INT, and DERIV following a process upset. The operator can override even this action by placing
the self-tune algorithm in either the Manual Tune state, or the Settle substate of the Self-Tune
state.
The PIDE block has three sets of P, I, and D values:
1. The working values – these are the values used by the PID control algorithm:
PBAND, INT, and DERIV. Working values are obtained from 1) the real values
entered at block configuration, or 2) the self-tune algorithm after a process upset
occurs, or 3) the Memory values when copied to the working values by the operator.
Although the parameters PBAND, INT, and DERIV are listed as connectable, they
must not be linked to other blocks if EXACT self-tuning is desired. Linking these
parameters to other blocks secures these working values from other sources such as the
Memory values and the self-tune algorithm.
2. The memory values – these are values of P, I, and D that are stored into the PM, IM,
and DM parameters by the operator to be recalled later for a special situation or
because the loop performed particularly well with these values. The operator-initiated
PID Recall function loads these memory values into the PID working value records.
3. The reference values – these parameters, PR, IR, and DR, are used to form a range of
values which restrain, and clamp, the working values. Reference values are obtained
from the real values entered at block configuration or from a Pretune operation.
The self-tune algorithm has three primary states: Manual-Tune (MTN), Self-Tune (STN), and
Pretune (PTN).
When the PIDE block is initialized, the self-tuning algorithm goes to the MTN state. EXACT-
tuning is inoperable in the MTN state. MTN is the only state that responds to the PIDRCL sig-

1651
B0193AX – Rev N 92. PIDE – PID With EXACT Block

nal that is sent when the operator requests a PID Recall. If any of the working values are linked,
PID Recall is ignored.
The algorithm enters the other two states, PTN and STN, only through the MTN state. Further-
more, both these states exit only to the MTN state. This description moves first from the manual-
tune state to the Pretune state and then to the self-tune state.
Before the EXACT-tune algorithm can operate, the operator has to provide several tuning range
parameters. Pretune can help the operator who is tuning an unfamiliar loop obtain values for
some of these parameters. Specifically, it does this by running through an open-loop upset and
getting some rough estimates for the IR, PR, DR, NB, and WMAX parameters. When more reli-
able values are not already available, the operator can have these estimates stored into the reference
values by requesting pretune from the detail display.
To enter the PTN state, the block must be in Manual and the EXACT-tune algorithm must be in
the MTN state when the operator makes a pretune request at the detail display. BMP is the only
parameter the operator has to define for a pretune. BMP is the output step change that causes the
measurement to undergo the “process reaction curve” (a minimum of 2.5 percent of the measure-
ment span).
The “process reaction curve” identifies the process deadtime and the process sensitivity. The algo-
rithm uses the deadtime to estimate the reference values for the integral time (IR), the derivative
time (DR), and the maximum wait time (WMAX). Both the process sensitivity and the deadtime
enter into the estimate for the proportional band reference (PR). Pretune produces overly conser-
vative tunings for a dominant deadtime process.
Pretune estimates the noiseband (NB) by determining the amplitude of the measurement compo-
nent whose frequency is too high for the closed loop to remove. Reduce the Derivative Factor
(DFCT) if NB is high, since derivative is ineffective in a high-noise environment.
When the pretune operation is complete, the algorithm sets the pretune request to false, causing
an automatic return to the MTN state.
Before entering the STN mode, the operator, or the configuration, must define the following
parameters.
To establish ranges for P, I, and D, the algorithm needs the reference values (PR, IR, and DR), the
change limit (CLM) value, and the derivative factor (DFCT).
To accurately detect peaks, and to correct for the oscillating or the overdamped response, the algo-
rithm needs values for the noiseband (NB), the maximum wait time (WMAX), and the output
cycling limit (LMT).
To confirm that its computed values will provide the desired closed-loop response, the algorithm
needs values for the maximum allowed damping (DMP) and the overshoot limit (OVR).
To enter the self-tune state (STN), the block’s working values must be free of linkages, the self-
tune algorithm must be in the MTN state, when the self-tune request (STNREQ) is true.
STNREQ may, based on its configuration, come from the operator or from another control
block. Once in STN, the EXACT-tuning algorithm remains in this state until STNREQ is set
false or the block is initialized.
In STN, the algorithm looks at the error each block execution cycle, immediately after the PID
algorithm is completed. As long as the error magnitude does not exceed twice the NB, the STN
mode remains in its quiescent state.
If the error magnitude does exceed twice NB, the algorithm records the next three peaks in the
error curve. Based on the magnitude of these three peaks and the period of time between peaks,

1652
92. PIDE – PID With EXACT Block B0193AX – Rev N

the algorithm computes new values for P, I, and D, and checks that they are consistent with other
user-defined parameters. If they are consistent, the self-tune algorithm copies them into the PID
algorithm’s working values.
If the computed values violate any of these constraining parameters (for example, Overshoot or
Damping), the algorithm adjusts one or more of the computed values and rechecks for consis-
tency until it meets all constraints.

92.4.1 Normal Configuration


Normal configuration of the PIDE block is as follows:
If there are no downstream control blocks, then link the BCALCI and FBK parameters to the
OUT parameter.

MEAS
PIDE OUT

FBK

BCALCI

If the downstream block is an AOUT block, link BCALCI and FBK to the downstream block’s
BCALCO parameter.

MEAS
PIDE OUT MEAS AOUT

FBK

BCALCI BCALCO

If the secondary block is a DGAP or PTC block, link BCALCI and FBK to the secondary block’s
BCALCO parameter.

MEAS DGAP
PIDE OUT RSP or PTC
MEAS

FBK

BCALCI BCALCO

1653
B0193AX – Rev N 92. PIDE – PID With EXACT Block

In a cascade configuration, link the blocks as shown below.

MEAS OUT RSP OUT MEAS


PIDE PIDE AOUT
PRIBLK=0 MEAS PRIBLK=1 PRIBLK=1

FBK FBK

BCALCI BCALCO BCALCI BCALCO

In a cascade configuration, connect the FBK of the primary to the BCALCO of the secondary
controller to prevent windup.
Use the PRIBLK option in all cascade configurations.

1654
93. PIDX – PID Extended Block
This chapter gives a general overview of the PIDX (PID Extended Block), including its
features, parameters and detailed operations.

93.1 Overview
The PIDX (Proportional-Integral-Derivative Extended) block is a traditional PID controller with
added features. Like the PID block, PIDX can be configured to operate in one of five modes:
1. Proportional Only (PO)
2. Integral Only (IO)
3. Proportional Plus Derivative (PD)
4. Proportional Plus Integral (PI), and
5. Proportional Plus Integral Plus Derivative (PID).
In addition, the PIDX includes Output Tracking as a feature and options for:
1. Nonlinear Gain Compensation
2. Sampling mode
3. Batch control preload.

1655
B0193AX – Rev N 93. PIDX – PID Extended Block

93.1.1 I/O Diagram

Manual/Auto
PIDX
Measurement BLOCK
Proportional Band
Integral Time
Derivative Time Output
Controller
Derivative Filter Gain Mode Setpoint
Local/Remote Algorithm Error
Remote Setpoint
Back Calculation Output
Integral Feedback
Output Bias
High Output Limit Indicator
Back Calculation Input
Low Output Limit Indicator
Block and Alarm Status
High Output Limit
Low Output Limit Criticality
Inhibit Priority Type
Measurement HiHi Alarm Limit Measurement HiHi Alarm Indicator
Measurement Hi Alarm Limit Alarm
Measurement Hi Alarm Indicator
Portion
Measurement Lo Alarm Limit Measurement Lo Alarm Indicator
Measurement LoLo Alarm Limit Measurement LoLo Alarm Indicator
Measurement Alarm Priority
High Deviation Limit
Low Deviation Limit
Deviation Alarm Priority
High Output Alarm Limit High Deviation Indicator
Low Output Alarm Limit Low Deviation Indicator
Output Alarm Priority
PIDX
High Output Alarm Indicator
Extended
Low Output Alarm Indicator
Options
Track Enable
Tracking Input
Nonlinear Gain
High Limit-Nonlinear Zone
Low Limit-Nonlinear Zone
Sample Time
Control Time
Sample Ready
Batch Preload

Supervisory Enable
Fallback Supervisory Back-Calculated Value
SSC
Supervisory Input
Supervisory Group

Figure 93-1. PIDX Block I/O Diagram

1656
93. PIDX – PID Extended Block B0193AX – Rev N

93.2 Features
The 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 allow the block
to be switched to Auto or Manual
♦ Local/Remote setpoint source selection
♦ Local and Remote latch switch inputs (LOCSW and REMSW) that allow the block
to be switched to Auto or Manual
♦ Derivative filtering using a second-order Butterworth filter for high frequency noise
rejection
♦ External integral feedback to prevent windup during closed loop operation
♦ Separate assignable engineering range and units to the parameters Measurement, Bias,
and Input
♦ Bumpless transfer of the output signal when the block returns to controlling operation
in Auto
♦ Adjustable derivative gain parameter (KD)
♦ Automatic scaling, based on assigned engineering ranges, so that the controller gain is
normalized
♦ Output biasing with scaling
♦ Output clamping between variable output limits
♦ Bad inputs detection and handling
♦ Automatic cascade handling using an input and output parameter (back-calculate)
that includes:
♦ 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.
♦ Output Tracking allows the output to track an independent signal source
♦ Supervisory Control (SSC) allows user application software to perform supervisory
control over the PIDX block’s set point.
The options are:
♦ Setpoint Tracking Option (STRKOP) forces the setpoint to track the Measurement
signal. STRKOP is enabled only when the LR parameter is in Local and either the
output is in manual or the block detects a downstream block that is open loop. This
feature allows bumpless return to automatic control when the PIDX or any down-
stream block returns to closed-loop operation. 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 is
true, the block sets the MA input to manual when it detects a control error (CE =
true), or when the HOLD parameter goes true. This forces the output state to man-
ual. Returning to Auto requires external intervention, unless AUTSW is true.

1657
B0193AX – Rev N 93. PIDX – PID Extended Block

♦ 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) 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 error signal.
♦ 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 (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.
♦ Manual Alarming Option (MANALM) allows you to invoke, while the block is in
manual, either all configured alarm options or all configured alarm options except out-
put alarming. Otherwise, alarming is normally performed only in Auto.
♦ Output Alarm Option (OALOPT) enables (when true) absolute alarming of the
block output signal (OUT).
♦ 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.
♦ Manual Clamping Option (MCLOPT) allows you to invoke output clamping while
the block is in manual. The operator can alter this boolean input at the workstation.
♦ Bias Track Option (BTRKOP), when true, forces the algorithm’s output Bias to track
the block output (OUT). BTRKOP is a boolean input that you can change only by
reconfiguring the block.
♦ 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.
♦ Sample Controller Option (SPLCOP) enables the PID to operate as a sampling con-
troller over a time period that is much greater than the block’s execution period.
♦ Batch Control Option (BATCHO) works with the integral modes of the controller
and the integral preload input to allow the PID to operate as a preloadable controller.
♦ Control Error Option (CEOPT) allows you to enable, or disable, the block’s implicit
Hold action when it detects an error in the MEAS, FBK, or BCALCI input.
♦ Propagate Error Option (PROPT) gives you the option of propagating the ERROR
status bit from the MEAS input to the block’s OUT parameter.

1658
93. PIDX – PID Extended Block B0193AX – Rev N

♦ Local Setpoint Secure (LOCSP) enables you to secure against any write access to the
LR parameter.
♦ Manual If Failsafe (MANFS) allows you to have the block go to the Manual state
when the block receives a Failsafe notification.
♦ Supervisory Option (SUPOPT) specifies whether or not the block is under control of
a Supervisory Application Program.
♦ Fallback Option (FLBOPT) specifies the action taken in a block when Supervisory
fallback occurs. The fallback options can be: normal fallback, Auto, Manual, Remote,
or Local.

93.3 Parameters
Table 93-1. PIDX 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 9 PIDX
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/no-set blank 1 to 32 chars
MEAS process input real con/set 0.0 RI1
HSCI1 to HSCI2 high scale in 1 to 2 real no-con/no-set 100.0 specifiable
LSCI1 to LSCI2 low scale in 1 to 2 real no-con/no-set 0.0 specifiable
DELTI1 to DELTI2 change delta 1 to 2 real no-con/no-set 1.0 percent
EI1 to EI2 eng units input string no-con/no-set % specifiable
PROPT propagate error boolean no-con/no-set 0 0 to 1
SPT setpoint real con/no-set 0.0 RI1
FBK reset feedback real con/set 0.0 RO1
MODOPT control mode option short no-con/no-set 1 [1..5]
PBAND proportional band real con/set 1000.0 [0.1..]percent
INT integral time real con/set 100.0 [0..]minutes
DERIV derivative tim real con/set 0.0 [0..]minutes
KD derivative gain real con/set 10.0 [10.0..50.0]
INCOPT increase/increase option boolean no-con/no-set 0 0 to 1
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
HOLIM high output limit real con/set 100.0 RO1
LOLIM low ouput limit real con/set 0.0 RO1
OSV span variance real no-con/no-set 2.0 [0..25]percent
TRACK track input real con/set 0.0 RO1
TRKENL track enable boolean con/set 0 0 to 1
BIAS bias real con/set 0.0 RI2

1659
B0193AX – Rev N 93. PIDX – PID Extended Block

Table 93-1. PIDX Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


BBIAS scale factor real no-con/no-set 0.0 RO1
KBIAS scale factor real no-con/no-set 1.0 scalar
BTRKOP bias track 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|1|2]
MANFS manual If failsafe boolean no-con/no-set 0 0 to 1
MBADOP manual bad option boolean no-con/no-set 0 0 to 1
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
INITI initialize in short con/set 0 0 to 1
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
RSP remote setpoint real con/set 0.0 RI1
STRKOP setpoint tracking option boolean no-con/no-set 0 0 to 1
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
INHIB alarm inhibit boolean con/set 0 0 to 1
INHALM inhibit alarm pack_b con/set 0 0 to FFFFFFFF
MEASNM meas alarm name string no-con/no-set blank 1 to 12 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]
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 deadband real no-con/set [0.0 RI1
DEVPRI deviation alarm priority integer con/set 5 [1..5]
DEVGRP deviation 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

1660
93. PIDX – PID Extended Block B0193AX – Rev N

Table 93-1. PIDX Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


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]
OALOPT out alarm option short no-con/no-set 0 0 to 3
OUTNM out alarm name string no-con/no-set blank 1 to 12 chars
HOALIM high out alarm limit real con/set 100.0 RO1
HOATXT high out alarm text string no-con/no-set blank 1 to 32 chars
LOALIM low out alarm limit real con/set 0.0 RO1
LOATXT low out alarm text string no-con/no-set blank 1 to 32 chars
OUTADB out alarm deadband real no-con/set 0.0 RO1
OUTPRI out alarm priority integer con/set 5 [1..5]
OUTGRP out alarm group short no-con/set 1 [1..8]
NONLOP non linear option boolean no-con/no-set 0 0 to 1
HZONE high zone limit real con/set 100.0 [0..]RI3
LZONE low zone limit real con/set 100.0 [0..]RI3
KZONE nonlinear gain real con/set 1.0 [0..]
SPLCOP sample controller option boolean no-con/no-set 0 0 to 1
SPLRDY sample ready boolean con/set 0 0 to 1
TCTRL control time real con/set 0.0 [0..]minutes
TSAMPL sampling time real con/set 0.0 [0..]minutes
BATCHO batch control option boolean no-con/no-set 0 0 to 1
FLBOPT fallback option short no-con/no-set 0 0 to 4
FLBREQ fallback request short con/no-set 0 0 to 2
INITSE intial SE short no-con/no-set 0 0 to 1
PRLOAD batch preload real con/set 0.0 RO1
SE supervisory enable boolean no-con/set 0 0 to 1
SUPBCO back calculate value real con/no-set 0 RI1
SUPGRP supervisory group short no-con/no-set 1 1-8
SUPOPT supervisory option short no-con/no-set 0 0 to 1
SUP_IN supervisory setpoint real con/no-set 0.0 RI1
OUTPUTS
ALMSTA alarm status pack_l con/no-set 0 bit map
BCALCO back calculation out 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]
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
HOAIND high out alarm 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 FFFFFFFF
INITO initialize out short con/no-set 0 0 to 1
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

1661
B0193AX – Rev N 93. PIDX – PID Extended Block

Table 93-1. PIDX Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


LOAIND low out 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]
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-FFFFFFFF
DEFINE no config errors boolean no-con/no-set 1 0 to 1
ERCODE config error string no-con/no-set 0 0 to 43 chars
KSCALE gain scaler real no-con/no-set 1.0 scalar
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

93.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 PIDX block, only the following unshaded 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
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

Bit Boolean
Number* Configured Alarm Option Connection
(0 to 31) When True (B32 to B1)
0 Alarm Group 8 in Use ALMOPT.B32
1 Alarm Group 7 in Use ALMOPT.B31
7 Alarm Group 1 in Use ALMOPT.B25

1662
93. PIDX – PID Extended Block B0193AX – Rev N

Bit Boolean
Number* Configured Alarm Option Connection
(0 to 31) When True (B32 to B1)
16 Low Absolute Alarm Configured ALMOPT.B16
17 High Absolute Alarm Configured ALMOPT.B15
24 Low-Low Absolute Alarm Configured ALMOPT.B8
25 High-High Absolute Alarm Configured ALMOPT.B7

* Bit 0 is the least significant bit (starting from the right).


There are no mnemonic names for the individual bits of ALMOPT.

ALMSTA Alarm Status is a 32-bit output, bit-mapped to indicate the block’s alarm
states. For the PIDX 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
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
UNAK B2
B3
B4
B5
B6
B7
B8
B9

CRIT PRTYPE
OOR

HMA
HOA
HHA

HDA

LMA
BAD

LOA
LDA
LLA
INH

Bit Boolean
Number Connection
(0 to 31)* Name Description When True (B32 to B1)
0 to 4 PTYP_MSK
Priority Type: See parameter ALMSTA.B32–
PRTYPE for values used in ALMSTA.B28
the PIDX block
5 to 7 CRIT_MSK Criticality; 5 = lowest ALMSTA.B27–
priority, 1= highest 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
20 LDA Low Deviation Alarm ALMSTA.B12
21 HDA High Deviation Alarm ALMSTA.B11
22 BAD BAD output of block 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 Alarm inhibit ALMSTA.B3
30 UNAK Unacknowledged ALMSTA.B2
* Bit 0 is the least significant bit (starting from the right).

1663
B0193AX – Rev N 93. PIDX – PID Extended Block

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.

BATCHO Batch Control Option is a boolean input that enables the PIDX block to
operate as a preloadable controller. You can change BATCHO only by
reconfiguring the block. When BATCHO is true, and a limit condition
exists, the integral term is set to the value nearer the limit PRLOAD, or
the value selected when LIMOPT is 2. In the PIDX block, the only choice
is PRLOAD. The PIDA version tends to avoid saw-tooth ratcheting and
excessively slow recovery.

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, 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
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 equal to MEAS except in
the following situations, where it is equal to SPT:
♦ 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 status.
♦ MEAS is experiencing source connection problems.
With V4.2 and later software, the status bits of BCALCO contain the cas-
cade initialization requests formerly contained in the INITO parameter.
You connect the BCALCO parameter to the BCALCI input of an
upstream block so that this upstream block can sense when the PIDX
block is open. Therefore, with V4.2 and later software, INITO is not
required for cascade initialization.

BIAS Bias is a real input added to the controller or algorithm output, to achieve
OUT.

1664
93. PIDX – PID Extended Block B0193AX – Rev N

BLKSTA Block Status is a 32-bit output, bit-mapped to indicate the block’s opera-
tional states. For the PIDX 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

B10
B11
WLCK B12
B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
STRK B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9
MAO
HOL

BAD
LRO

HLD
TRK

FOL
LOL

CTL
FLB

MA
ON
SC
SE

FS

LR
Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
4 FOL Follow BLKSTA.B28
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
12 BAD block in BAD state BLKSTA.B20
14 UDEF Undefined BLKSTA.B18
15 ON Compound On BLKSTA.B17
20 WLCK Workstation Lock BLKSTA.B12
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
29 SE Supervisory Enabled BLKSTA.B3
30 SC Supervisory Control BLKSTA.B2
31 FLB Supervisory Control Fallback BLKSTA.B1
State

* Bit 0 is the least significant bit (starting from the right).

BTRKOP Bias Track Option, when true, forces the PID algorithm’s BIAS input to
track the block output (OUT) when the block is in Manual, and operat-
ing in the PO or PD controller mode.

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

1665
B0193AX – Rev N 93. PIDX – PID Extended Block

in error. To provide backward compatibility, CEOPT defaults to 1.


CEOPT has a range of 0 to 2 where:
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.

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

CRIT Criticality is an integer output that indicates the priority, ranging from 1
to 5, of the block’s 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 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 DELTI2
Change Delta for Input Ranges 1 and 2 are real values that define the res-
olution as a percent of the measurement range. Entering a 1 causes the
Object Manager to recognize and respond to a change of 1 percent of the
full error range.

DELTO1 Change Delta for Output Range 1 is presently unused.

DERIV Derivative Time is a real input that adjusts the derivative time constant in
minutes.

1666
93. PIDX – PID Extended Block B0193AX – Rev N

NOTE
The working DERIV value is indirectly limited by the DFCT parameter and the
working INT value.

DESCRP Description is a user-defined string of up to 32 characters that describe the


block’s function (for example, “PLT 3 FURNACE 2 HEATER CON-
TROL”).

DEVADB Deviation Alarm Deadband is a real input, in MEAS units, that applies to
both High and Low Deviation Limits. You can adjust this parameter at
the workstation.

DEVGRP Deviation Group is a short integer input that directs deviation alarm mes-
sages to one of eight groups of alarm devices. You can change the group
number through the workstation.

DEVPRI Deviation Priority is an integer 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, provide
the engineering units text for the values defined by Input Ranges 1 and 2.
“Deg F” or “pH” are typical entries.

EO1 Engineering Units for Output Range 1, as 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) 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 block’s
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 PIDX 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 does not exist for given block
PHASE COMBINATION” PERIOD, or block PERIOD not
compatible with compound
PERIOD.
“W44 – INVALID High range value is less than or equal
ENGINEERING RANGE” to low range value.

1667
B0193AX – Rev N 93. PIDX – PID Extended Block

Message Value
“W46 – INVALID INPUT The source parameter specified in the
CONNECTION” 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 The configured value of a block
OPTION” option is illegal.
“W53 – INVALID PARAMETER A parameter value is not in the
VALUE” acceptable range.
“W58 – INSTALL ERROR; A Database Installer error has
DELETE/UNDELETE BLOCK” occurred.

ERROR Control Error is a real output that equals Setpoint minus Measurement.
ERROR can be sourced to other blocks.

FBK Feedback is a real input used to generate integration action. Its function is
to prevent integral windup. FBK is normally connected to BCALCI or
BCALCO of downstream blocks.

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.

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.

1668
93. PIDX – PID Extended Block B0193AX – Rev N

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

HOAIND High Output Alarm Indicator is a boolean output that is set true when-
ever the output is greater than HOALIM.

HOALIM High Output Alarm Limit is a real input, in OUT units, that defines the
value of the output that initiates a high output alarm.

HOATXT High Output Alarm Message Text is a user-defined text string of up to 32


characters that are output with the alarm message to identify the alarm.
You can change HOATXT only by reconfiguring the block.

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.

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.

1669
B0193AX – Rev N 93. PIDX – PID Extended Block

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 real values that define the upper
limit of the measurement ranges. EI1 to EI2 define 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.

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 set true, INCOPT


reverses the normal sense of the control action so that the controller out-
put increases with increasing measurement.

INHALM Inhibit Alarm contains packed boolean values that represent alarm inhibit
requests for each alarm type or point configured in the block. For the
PIDX block, only the following bits are used:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B10

B11

B12

B13

B14

B15

B16
B1

B2

B3

B4

B5

B6

B7

B8

B9

Bit Boolean
Number* Connection
(0 to 15) Description When True (B16 to B1)
0 Inhibit Low Absolute Alarm INHALM.B16
1 Inhibit High Absolute 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
8 Inhibit Low-Low Absolute Alarm INHALM.B8
9 Inhibit High-High Absolute Alarm INHALM.B7
13 Inhibit Alarm INHALM.B3
14 Unacknowledged INHALM.B2

* Bit 0 is the least significant bit (starting from the right).


There are no mnemonic names for the individual bits of INHALM.

1670
93. PIDX – PID Extended Block B0193AX – Rev N

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

INHSTA Inhibit Status contains packed long values that represent the actual inhibit
status of each alarm type configured in the block. The PIDX 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
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
UNACK B2
B3
B4
B5
B6
B7
B8
B9

HMA
HOA
HHA

HDA

LMA
LOA
LDA
LLA
INH

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
16 LMA Low Absolute Alarm Inhibited INHSTA.B16
17 HMA High Absolute Alarm Inhibited INHSTA.B15
18 LOA Low Output Alarm INHSTA.B14
19 HOA High Output Alarm INHSTA.B13
20 LDA Low Deviation Alarm INHSTA.B12
21 HDA High Deviation Alarm INHSTA.B11
24 LLA Low-Low Absolute Alarm INHSTA.B8
Inhibited

1671
B0193AX – Rev N 93. PIDX – PID Extended Block

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
25 HHA High-High Absolute Alarm INHSTA.B7
Inhibited
29 INH Inhibit Alarm INHSTA.B3
30 UNACK Unacknowledged INHSTA.B2

* Bit 0 is the least significant bit (starting from the right).

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
maintained, but the setting of the handshaking bits, via the INITI to
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 as 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 configu-
rator. (The block does not assert INITMA on ordinary
reconfiguration.)

1672
93. PIDX – PID Extended Block B0193AX – Rev N

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. 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 short value
has been maintained, but the setting of the handshaking bits, via the
INITI to INITO connection, is eliminated.

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 (with SUPOPT = 1) when the block initializes due to
reboot, installing the block, or turning on the compound. 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 when
the controller operates in the PI, IO, or PIDX modes. In the PO and PD
modes, Integral Time becomes the balance time (the time constant that
governs the rate at which the output approaches the proportional signal).

KBIAS Gain Factor is a real input that multiplies the BIAS input. It is expressed
in OUT units divided by BIAS units.

KD Derivative Filter Gain is a real input that adjusts the derivative filter gain.

KSCALE KSCALE is a conversion factor used to make the time units of the rate
parameters, which are in EI1 units per minute, dimensionally compatible
with the time units of the output, as defined by EO1.

KZONE Zone Gain establishes the gain within the nonlinear zone defined by
HZONE and LZONE. KZONE is usually set at less than unity for pH
control applications. If KZONE is set to zero, the block behaves as a dead
zone controller.

1673
B0193AX – Rev N 93. PIDX – PID Extended Block

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

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 OUT units, that defines the
value of the output that initiates a low output alarm.

LOATXT Low Output Alarm Message Text is a user-defined text string of up to 32


characters that are output with the alarm message to identify the alarm.
You can change LOATXT only by reconfiguring the block.

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 block’s
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.

1674
93. PIDX – PID Extended Block B0193AX – Rev N

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.

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-


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.

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

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.

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.

1675
B0193AX – Rev N 93. PIDX – PID Extended Block

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.

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
2 = No Output alarming in Manual.
You can change MANALM only by reconfiguring the block.

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.

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


true, the block sets the unlinked MA input to manual if it detects a BAD
status bit in the MEAS input, or a BAD status bit in the BIAS input. 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. 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.

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 block’s input, or the
controlled variable.

MEASDB Measurement Alarm Deadband is a configured input, expressed in MEAS


units, that applies to both High and Low Alarm Limits. You can adjust
this parameter at the workstation.

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.

1676
93. PIDX – PID Extended Block B0193AX – Rev N

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.

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 are 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 an 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 are 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. The integer value ranges from 1
to 5 for PID blocks.
1= PO – Proportional Only
2= IO – Integral Only
3= PD – Proportional plus Derivative
4= PI – Proportional plus Integral
5= PID – Proportional, Integral, Derivative (product of factors)

NAME Name is a user-defined string of up to 12 characters used to access the


block and its parameters.

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. You can change
NONLOP only by reconfiguring the block.

1677
B0193AX – Rev N 93. PIDX – PID Extended Block

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.
You can change OALOPT only by reconfiguring the block.

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.

OUTADB Output Alarm Deadband is a real input that specifies the size of the dead-
band for both High and Low Output Alarm Limits. You can adjust this
parameter at the workstation.

OUTGRP Output Group is a short integer input that directs high and low output
alarm messages to one of eight groups of alarm devices. You can change
the group number through the workstation.

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 Cutler).

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

PBAND Proportional Band is an input that determines, for any given deviation,
the length of the OUTINC or OUTDEC “on” time during each control-
ling period. PBAND defaults to 1000. A smaller value results in greater
sensitivity and a longer “on” time for a given deviation. A larger PBAND
value reduces sensitivity and the “on” time for a given deviation.

PERIOD Period is an indexed input that dictates the block’s execution time base
and allowable PHASE values. For stations other than Integrators and

1678
93. PIDX – PID Extended Block B0193AX – Rev N

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*****

* 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, and CP60.

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. See Integrated Control Software Concepts
(B0193AW) document.

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.
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, Foxboro 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.

PRLOAD Batch Preload is a real input that is loaded into the controller’s integral
term whenever the output is being limited at either the LOLIM or

1679
B0193AX – Rev N 93. PIDX – PID Extended Block

HOLIM values. PRLOAD is operational only when the block is in Auto


and the Batch Control Option is configured.

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.

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

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
5 = High Deviation

1680
93. PIDX – PID Extended Block B0193AX – Rev N

6 = Low Deviation
7 = Rate alarm
8 = BAD I/O Alarm

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.

RSP Remote Setpoint is the selected setpoint source when LR is set to Remote.
RSP is a real input. Typically RSP connects to an upstream block in a cas-
cade scheme. RSP and its source must be expressed in MEAS units.

SE Supervisory Enable is a boolean input that enables or disables Supervisory


Control in this block:
0 = Disable
1 = Enable.

SPLCOP Sample Controller Option enables the PIDX to operate as a sampling con-
troller with an effective control period much larger than the block’s
PERIOD parameter. The effective period can be controlled asynchro-
nously by TSAMPL or synchronously by SPLRDY. In the PIDX and
PIDXE blocks, SPLCOP invokes a run-hold duty cycle mode of opera-
tion. If True, the control algorithm can be executed when triggered by
SPLRDY or with the variable update interval TSAMPL. In the PID and
PIDX, SPLCOP invokes a run-hold duty cycle.

SPLRDY Sample Ready is a boolean pulse input. On a 0-to-1 transition, SPLRDY


clocks the block from the Sample and Hold state to the Control state. If
used with the TSAMPL timer, SPLRDY synchronizes the timer with an
external event.

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

1681
B0193AX – Rev N 93. PIDX – PID Extended Block

want the SPT to assume when it first goes to Local. As an output, SPT can
also source the setpoint value to other blocks.

STRKOP Setpoint Track Option is a boolean input. When true, STRKOP enables
the setpoint to track the measurement input if the setpoint source selector
LR is in Local AND either (a) the block is in Manual or (b) the Initializa-
tion input INITI is true. 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:
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

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 boolean input that specifies whether


or not this block is to be under control of a Supervisory application:
0 = no
1 = yes.

SUP_IN Supervisory Input is a real output that is the parameter set by a Supervi-
sory application when performing supervisory control of this block’s 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).

TCTRL Control Time is a real input that specifies the number of minutes the
block stays in the Controlling substate when the sample controller option
is active. If used with the TSAMPL timer, TCTRL establishes the duty
cycle between the Controlling and the Sample and Hold states.

TRACK Track is a real input that provides the input signal block output tracks
when the block is in Auto and TRKENL is true.

TRKENL Track Enable is a boolean input that enables the block output to follow
the TRACK input.

TSAMPL Sampling Time is a real input parameter that specifies the period, in min-
utes, of an internal timer that triggers an output update. If external trig-
gering of the control action is desired, set TSAMPL to 0 and use SPLRDY
to trigger the output update.

TYPE When you enter “PIDX” or select “PIDX” from the block type list under
Show, an identifying integer is created specifying this block type.

1682
93. PIDX – PID Extended Block B0193AX – Rev N

UNACK Unacknowledge is a boolean output that the block sets to True when it
detects an alarm. It is typically reset by operator action.

93.4 Detailed Operation


This block performs the functions of an analog PID controller. The output is the product of fac-
tors, provided they are enabled by the MODOPT selection:
♦ A Proportional factor based on a user-specified proportional band applied to an error
term that equals the setpoint (SPT) minus the derivative factor applied to the mea-
surement (MEAS)
♦ An Integral factor derived from a first-order lag of the block’s integral feedback (FBK)
input
♦ A Derivative factor with a second-order Butterworth filter applied to the measure-
ment (MEAS).
The MEAS parameter is an input identifying the source of the signal that is coming to this block
as the controlled variable in the control loop.
The SPT parameter is the local setpoint and always represents the active controller setpoint or is
made equal to SUP_IN in Supervisory Control. SPT can be used as a source for other blocks.
The setpoint sources are prioritized as follows:
1. Supervisory Control
2. Local (LOCSW) and Remote Switch (REMSW)
3. Local or Remote.
When the Supervisory Option (SUPOPT) is set, it specifies that the block can be under control
of a Supervisory Application Program. The Supervisory Back Calculated Output (SUPBCO) pro-
vides the current setpoint and initialization bits to the Supervisory Application Program. When
Supervisory Enable (SE) is set by the application program or operator, the PIDX 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 supervisory setpoint in the calculation of the block’s output.
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, the block sets the BCALCO initialization status value to true, and
releases the SPT parameter, allowing you to input the desired controller setpoint value. The set-
point track option, STRKOP, can be used to assure bumpless transfer.
When LR is switched to Remote (true), SPT is no longer settable and takes on the value of the
remote setpoint input, RSP. RSP provides a link to the remote setpoint source. If RSP is unlinked
when LR is true, the block forces the LR parameter to local and secures it.
The PIDX block also provides the LOCSW and REMSW parameters to drive the setpoint state
to Local or Remote.
The following summarizes the secured/released condition of the SPT parameter:
SPT is secured (non-settable) if any of the following are true:
♦ The block is in Remote mode, that is, LR is true. In this case, BLKSTA.LR is also
true.

1683
B0193AX – Rev N 93. PIDX – PID Extended Block

♦ Supervisory control is enabled, that is, SUPOPT and BLKSTA.SE are both true, and
SUP_IN is not in error.
♦ Setpoint tracking is active, that is, BLKSTA.STRK is true. In order for this status bit
to be true, all of the following conditions must exist:
♦ The STRKOP parameter must be configured true.
♦ There must be no control error condition.
♦ One of the following conditions must be true:
♦ The block is in Manual mode.
♦ The cascade is open downstream (either the data value of INITI is true, or the
LHI and LLO status bits of BCALCI are simultaneously true).
♦ A request for conditional initialization has been received from downstream.
♦ Parameter TRKENL is true.
Otherwise SPT is released (settable).
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 setpoint (SPT) tracks the status of
the remote setpoint (RSP).
When the block is switched to Local mode, the setpoint status depends on the setpoint tracking
option (STRKOP):
♦ If STRKOP is set true, the SPT status is cleared.
♦ If STRKOP is false, the SPT status reflects the RSP status at the time the switch to
Local occurred. The block maintains this status as long as block is in Local, unless you
change the SPT 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 measurement scale limits HSCI1 and LSCI1. If the setpoint
value before clamping is equal to or less than LCSI1, status bit LLO of SPT is set true. If the value
before clamping is equal to or higher than HSCI1, status bit LHI of SPT is true.
The PIDX block has two output states, Auto and Manual. In Manual, the block releases the out-
put, allowing it to be set by you. In Auto, the block secures the output.
Auto has three substates: Controlling, Tracking, and Holding.
Closed loop automatic PID control is actually done in a substate of Auto called Controlling. In
this state, the block computes the output signal based on the configured control mode option and
the deviation between SPT and MEAS. Proportional control is fixed by the steady state gain term
(100/PBAND).
Integral control action is generated by feeding back the external integral feedback signal (FBK)
through a first order lag. INT, the integral setting of the controller, fixes the time constant of the
lag. Such a scheme avoids the pitfalls of integral windup. See “Normal Configuration” on
page 1687 for more details.
Derivative control action consists of a second-order Butterworth filtering of the Measurement sig-
nal. Both the time constant and the derivative gain of this filtering action are selected by you
using the DERIV parameter.

1684
93. PIDX – PID Extended Block B0193AX – Rev N

In Auto, the computed output value undergoes limiting. Limiting clamps the output between the
variable output limits, HOLIM and LOLIM. You can place these limits anywhere within the
range defined by LSCO1 and HSCO1.
Moreover, the output span variance parameter (OSV) enables you to extend this range at both the
high and low ends by an equal amount, up to 25 percent. If you set LOLIM higher than
HOLIM, then HOLIM is automatically set equal to the higher of the two values, which is
LOLIM. The block provides, for control purposes, output limit indicators that are active when
the output is clamped at either limit.
In Auto, when you switch the setpoint source selector from Local to Remote, the transfer is made
bumpless by removing derivative dynamics (if applicable) and forcing the integral to absorb any
proportional action.
Switching from Remote to Local is always bumpless, because SPT retains the last value transferred
from the remote setpoint. For cascade purposes, the block sets the BCALCO initialization status
value true when the setpoint is under local control, or when the block is open-looped. This tells
an upstream block to perform an explicit initialization, so that the return to remote setpoint oper-
ation is bumpless.
The block goes to Tracking when the BCALCI initialization status value 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 substate. When the BCALCI initialization status value returns to false, the block
returns to the Controlling substate to resume closed-loop control.
In the Tracking substate, 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 parameter,
sets the BCALCO initialization status value to true (requesting upstream blocks to perform their
own explicit initialization), and sets bit 6 (TRCK) in the BLKSTA parameter.
When the PIDX block is the upstream block in a cascade control scheme, output tracking
(BTRKOP = true) assures a bumpless transfer for the downstream block.
Output tracking, a feature of the PIDX block, functions only when the controller is in Auto.
While the TRKENL input is true, the output is forced into the Tracking substate of Auto; but the
output tracks the Track input instead of the BCALCI input as in the explicit initialization that
occurs when the BCALCI initialization status value is true. If both the BCALCI initialization sta-
tus value and TRKENL are true, BCALCI takes precedence and the output tracks BCALCI. Out-
put clamping is still active. If the block detects control errors, it bypasses output tracking and goes
to the Holding substate, which holds the last good output.
During Auto operation, the block checks the critical inputs MEAS, FBK, and BCALCI for data
errors (off-scan, or BAD, OOS, or ERROR status bits set). If an error is detected, the PID block,
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 is false and CEOPT = 1 or 2, either the HOLD
parameter goes true, or a condition required by the CEOPT parameter is met.
In the Hold substate, 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.

1685
B0193AX – Rev N 93. PIDX – PID Extended Block

A transition to Manual sets all alarm and limit indicators to false.


If MBADOP is configured true (and the MA parameter is unlinked), the block goes to the Man-
ual state when it detects a control error or when the HOLD input goes true, regardless of the
CEOPT value. MBADOP has the same priority as MANSW and has precedence over AUTSW.
Therefore, if MBADOP is configured true and a bad input is detected, the block goes to Manual
regardless of the AUTSW setting.
When the block is switched to Manual, the OUT 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
OUT output via data access. At that time, the block clears the status.
During Manual operation, PID control is not performed. Alarm outputs are settable. The con-
troller output (OUT) is unsecured and can have its value set by an external task or program and,
if the manual clamp option (MCLOPT) is configured, these set values undergo output clamping.
In SCC, when the Fallback Option (FLBOPT) is set, the block falls back to the configured nor-
mal, Auto, Manual, Remote, or Local mode of operation.
The setpoint track option forces the local setpoint (SPT) to track the measurement. While set-
point tracking is active, SPT becomes nonsettable to prevent you from manipulating the local set-
point value. Setpoint tracking is only performed if the setpoint source selector is switched to Local
and the block is either operating in Manual or the BCALCI initialization Input value status is
true. BCALCI status value being true indicates that a block downstream in the cascade is open
loop.
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.
The PIDX block offers a Nonlinear Gain Option to specify a gain factor and a zone of error values
in which this alternate gain multiplies 100/PBAND. This nonlinear zone is defined by the
HZONE and LZONE parameters, and is situated, but not necessarily centered, about zero error.
The PIDX block offers two other options, the Batch Control option and the Sampling Controller
option. Both function only while the block is in the Automatic state.
The Batch Option presets the integral term of the PID to the value of PRLOAD while the con-
troller output is limited, a situation often arising at the start of a batch process.
Operationally, the Batch Option preloads the integral term of the controller to the value of the
preload (PRLOAD) input whenever the output is being clamped at either its high or low output
limit. The PRLOAD input is usually set according to the anticipated load conditions to prevent
overshoot following a startup.
The Sampling Controller option operates in two modes, synchronous and asynchronous. Both
modes cycle the block between the S/Hold (Sample and Hold) and the Controlling substates of
Auto and both use the Control Time parameter (TCTRL) to fix the length of time that the con-
troller stays in the Controlling substate.
The synchronous mode presumes a strobe input from the measurement source that tells the con-
troller that collection of the data from a chromatograph or other slow-sampling measuring instru-
ment is completed. This “Sample Ready” strobe input is connected to the block’s SPLRDY
(Sample Ready) parameter.
In operation, the block waits in the S/Hold state taking data until a positive transition of the SPL-
RDY input drives the block to the Controlling substate. In this substate, the block performs nor-
mal closed-loop automatic PID control. After a time period defined by TCTRL (Control Time),

1686
93. PIDX – PID Extended Block B0193AX – Rev N

the controller is forced back to the S/Hold state to await the next SPLRDY input. Controller tun-
ing must take the duty cycle into account.
The asynchronous mode presumes no timing inputs from the source. In this mode, the block
waits in the S/Hold state collecting data until a strobe from an internal Sample Timer drives the
block to the Controlling substate. After controlling for a time period defined by TCTRL, the con-
troller is forced back to the S/Hold state to await the next Sample Timer strobe. The Sample Time
parameter (TSAMPL) fixes the period of the internal repeating Sample Timer. TCTRL = 0 results
in one control cycle execution of the block in each TSAMPL period.
In a synchronous operation, you can disable the Sample Timer by setting TSAMPL (Sample
Time) to zero. This ensures that the controller initializes to the S/Hold state and produces no con-
trol action before a valid measurement is available.

93.4.1 Normal Configuration


Normal configuration of the PIDX block is as follows:
If there are no downstream control blocks, then link FBK to the OUT parameter.

MEAS
PIDX OUT

FBK

BCALCI initial OUT value

If the downstream block is an AOUT block, link BCALCI and FBK to the downstream block’s
BCALCO parameter.

MEAS
PIDX OUT MEAS AOUT

FBK
BCALCI BCALCO

If the secondary block is a DGAP or PTC block, link BCALCI and FBK to the secondary block’s
BCALCO parameter.

MEAS PIDX DGAP


OUT RSP or PTC
MEAS
FBK

BCALCI BCALCO

1687
B0193AX – Rev N 93. PIDX – PID Extended Block

In a cascade configuration, connect the FBK of the primary to the BCALCO of the secondary
controller to prevent windup.

MEAS OUT RSP OUT MEAS


PIDX PIDX AOUT

PRIBLK=0 MEAS PRIBLK=1 PRIBLK=1

FBK FBK

BCALCI BCALCO BCALCO BCALCI


Use the PRIBLK option in all cascade configurations.

1688
94. PIDXE – PID Extended with
EXACT Block
This chapter covers the PIDXE (PID Extended with EXACT Block), including its features,
parameters and detailed operations.

94.1 Overview
The PIDE (Proportional-Integral-Derivative Extended with EXACT) block adds extended fea-
tures and a self-tuning function to the traditional functions of a three-term interacting PID con-
troller. The PID portion of this block and its extended features behave exactly as the PID block
except that the PIDXE block does not support the MODOPT parameter.
The extended features that the PIDXE block adds to the PIDE block include Output Tracking as
a feature and options for:
1. Nonlinear gain compensation
2. Sampling mode
3. Batch control preload.

1689
B0193AX – Rev N 94. PIDXE – PID Extended with EXACT Block

94.1.1 I/O Diagram

Manual/Auto
PIDXE
Measurement BLOCK
Proportional Band
Integral Time
Derivative Time Output
Controller
Derivative Filter Gain Mode Setpoint
Local/Remote Algorithm Error
Remote Setpoint
Integral Feedback
Back Calculation Output
Output Bias
Back Calculation Input
High Output Limit Indicator

High Output Limit Low Output Limit Indicator


Low Output Limit Block and Alarm Status
Inhibit Criticality
Measurement HiHi Alarm Limit
Priority Type
Measurement Hi Alarm Limit Alarm
Measurement HiHi Alarm Indicator
Measurement Lo Alarm Limit Portion
Measurement LoLo Alarm Limit Measurement Hi Alarm Indicator
Measurement Alarm Priority Measurement Lo Alarm Indicator
High Deviation Limit Measurement LoLo Alarm Indicator
Low Deviation Limit
High Deviation Indicator
Deviation Alarm Priority
High Output Alarm Limit Low Deviation Indicator
Low Output Alarm Limit Alarm and Block Status
Output Alarm Priority High Output Alarm Indicator
Low Output Alarm Indicator

Track Enable
Tracking Input PIDXE
Nonlinear Gain Extended
Options
High Limit-Nonlinear Zone
Low Limit-Nonlinear Zone
Sample Time
Control Time
Sample Ready
Output Alarm Priority

Supervisory Enable
Fallback SSC Supervisory Back-Calculated Value
Supervisory Input
Supervisory Group

Figure 94-1. PIDXE Block I/O Diagram

1690
94. PIDXE – PID Extended with EXACT Block B0193AX – Rev N

94.2 Features
The 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 allow the block
to be switched to Auto or Manual
♦ Local/Remote setpoint source selection
♦ Local and Remote latch switch inputs (LOCSW and REMSW) that allow the block
to be switched to Auto or Manual
♦ Derivative filtering using a second-order Butterworth filter for high frequency noise
rejection
♦ External integral feedback to prevent windup during closed loop operation
♦ Separate assignable engineering range and units to the parameters Measurement, Bias,
and Input
♦ Bumpless transfer of the output signal when the block returns to controlling operation
in Auto
♦ Adjustable derivative gain parameter (KD)
♦ Automatic scaling, based on assigned engineering ranges, so that the controller gain is
normalized
♦ Output biasing with scaling
♦ Output clamping between variable output limits
♦ Bad inputs detection and handling
♦ Automatic cascade handling using an input and output parameter (back-calculate)
that includes:
♦ 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
♦ Output Tracking allows the output to track an independent signal source
♦ Supervisory Control (SSC) allows user application software to perform supervisory
control over the PIDXE block’s setpoint
The options are:
♦ Setpoint Tracking Option (STRKOP) forces the setpoint to track the Measurement
signal. STRKOP is enabled only when the LR parameter is in Local and either the
output is in manual or the block detects a downstream block that is open loop. This
feature enables a bumpless return to automatic control when the PIDXE or any
downstream block returns to closed-loop operation. 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 is
true, the block sets the MA input to manual when it detects a control error, or when
the HOLD parameter goes true. This forces the output state to manual.
Returning to Auto requires external intervention, unless AUTSW is true.

1691
B0193AX – Rev N 94. PIDXE – PID Extended with EXACT Block

♦ 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) 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 error signal.
♦ 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 (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.
♦ Manual Alarming Option (MANALM) allows you to invoke, while the block is in
manual, either all configured alarm options or all configured alarm options except out-
put alarming. Otherwise, alarming is normally performed only in Auto.
♦ Output Alarm Option (OALOPT) enables (when true) absolute alarming of the
block output signal (OUT).
♦ 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.
♦ Manual Clamping Option (MCLOPT) allows you to invoke output clamping while
the block is in manual. You can alter this boolean input at the workstation.
♦ Bias Track Option (BTRKOP), when true, forces the algorithm’s output Bias to track
the block output (OUT). BTRKOP is a boolean input that you can change only by
reconfiguring the block.
♦ 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.
♦ Sample Controller Option (SPLCOP) enables the PID to operate as a sampling con-
troller over a time period that is much greater than the block’s execution period.
♦ Batch Control Option (BATCHO) works with the integral modes of the controller
and the integral preload input to allow the PID to operate as a preloadable controller.
♦ Control Error Option (CEOPT) allows you to enable, or disable, the block’s implicit
Hold action when it detects an error in the MEAS, FBK, or BCALCI input.
♦ Propagate Error Option (PROPT) gives you the option of propagating the ERROR
status bit from the MEAS input to the block’s OUT parameter.

1692
94. PIDXE – PID Extended with EXACT Block B0193AX – Rev N

♦ Local Setpoint Secure (LOCSP) enables you to secure against any write access to the
LR parameter.
♦ Manual If Failsafe (MANFS) allows you to have the block go to the Manual state
when the block receives a Failsafe notification.
♦ Supervisory Option (SUPOPT) specifies whether or not the block is under control of
a Supervisory Application Program.
♦ Fallback Option (FLBOPT) specifies the action taken in a block when Supervisory
fallback occurs. The fallback options can be: normal fallback, Auto, Manual, Remote,
or Local.

94.3 Parameters
Table 94-1. PIDXE 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 122 PIDXE
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/no-set blank 1 to 32 chars
MEAS process input real con/set 0.0 RI1
HSCI1 to HSCI2 high scale in 1 to 2 real no-con/no-set 100.0 specifiable
LSCI1 to LSCI2 low scale in 1 to 2 real no-con/no-set 0.0 specifiable
DELTI1 to DELTI2 change delta 1 to 2 real no-con/no-set 1.0 percent
EI1 to EI2 eng units input string no-con/no-set % specifiable
PROPT propagate error boolean no-con/no-set 0 0 to 1
SPT setpoint real con/no-set 0.0 RI1
FBK reset feedback real con/set 0.0 RO1
PBAND proportional band real con/set 1000.0 [0.1..]percent
INT integral time real con/set 100.0 [0..]minutes
DERIV derivative time real con/set 0.0 [0..]minutes
INCOPT increase/increase option boolean no-con/no-set 0 0 to 1
KD derivative gain real con/set 10.0 [10.0..50.0]
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 1 real no-con/no-set 1.0 percent
EO1 eng unit output 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 span variance real no-con/no-set 2.0 [0..25]percent
TRACK track input real con/set 0.0 RO1
TRKENL track enable boolean con/set 0 0 to 1
BIAS bias real con/set 0.0 RI2
BBIAS scale factor real no-con/no-set 0.0 RO1

1693
B0193AX – Rev N 94. PIDXE – PID Extended with EXACT Block

Table 94-1. PIDXE Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


KBIAS scale factor real no-con/no-set 1.0 scalar
BTRKOP bias track 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|1|2]
MANFS manual If failsafe boolean no-con/no-set 0 0 to 1
MBADOP manual bad option boolean no-con/no-set 0 0 to 1
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
INITI initialize in short con/set 0 0 to 1
BCALCI back calculate in 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
RSP remote setpoint real con/set 0.0 RI1
STRKOP setpoint track option boolean no-con/no-set 0 0 to 1
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
INHIB alarm inhibit boolean con/set 0 0 to 1
INHALM inhibit alarm pack_b con/set 0 0 to FFFFFFFF
MEASNM meas alarm name string no-con/no-set blank 1 to 12 chars
MALOPT meas alarm option short no-con/no-set 0 0 to 1
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]
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 deadband real no-con/set 0.0 RI1
DEVPRI deviation alarm priority integer con/set 5 [1..5]
DEVGRP deviation 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

1694
94. PIDXE – PID Extended with EXACT Block B0193AX – Rev N

Table 94-1. PIDXE Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


LLATXT low-low absolute alarm 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]
OALOPT output alarm option short no-con/no-set 0 0 to 3
OUTNM output alarm name string no-con/no-set blank 1 to 12 chars
HOALIM high out alarm limit real con/set 100.0 RO1
HOATXT high out alarm text string no-con/no-set blank 1 to 32 chars
LOALIM low out alarm limit real con/set 0.0 RO1
LOATXT low out alarm text string no-con/no-set blank 1 to 32 chars
OUTADB out alarm deadband real no-con/set 0.0 RO1
OUTPRI out alarm priority integer con/set 5 [1..5]
OUTGRP out alarm group short no-con/set 1 [1..8]
NONLOP non linear option boolean no-con/no-set 0 0 to 1
HZONE high zone limit real con/set 100.0 [0..]RI3
LZONE low zone limit real con/set 100.0 [0..]RI3
KZONE nonlinear gain real con/set 1.0 [0..]
SPLCOP sample controller option boolean no-con/no-set 0 0 to 1
SPLRDY sample ready boolean con/set 0 0 to 1
TCTRL control time real con/set 0.0 [0..]minutes
TSAMPL sampling time real con/set 0.0 [0..]minutes
BATCHO batch control option boolean no-con/no-set 0 0 to 1‘
PRLOAD batch preload real con/set 0.0 RO1
PR reference proportional band real con/set 1000.0 [0.1..]%
IR reference integral real con/set 100.0 [0..]minutes
DR reference derivative real con/set 0.0 [0..]minutes
NB noise band real con/set 1.0 [1.0..30.0]%
DFCT derivative factor real con/set [1.0 [0.0..4.0]
WMAX wait maximum time real con/set 0.5 [0..]minutes
CLM change limit real con/set 4.0 [1.25..16.0]
LMT output cycle limit real con/set 80.0 [2.0..80.0]%
OVR overshoot real con/set 0.5 [0.0..1.0]
DMP damping factor real con/set 0.3 [0.1..1.0]
BMP output bump real con/set 10.0 [-50.0..50.0]%
SETTLE selftune override boolean con/set 0 0 to 1
STNREQ request selftune boolean con/set 0 0 to 1
PM memory proportional band real no-con/set 1000.0 [0.1..]%
IM memory integer real no-con/set 100.0 [0..]minutes
DM memory derivative real no-con/set 0.0 [0..]minutes
FLBOPT fallback option short no-con/no-set 0 0 to 4
FLBREQ fallback request short con/no-set 0 0 to 2
INITSE intial SE short no-con/no-set 0 0 to 1
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 to 1
SUP_IN supervisory setpoint real con/set 0.0 RI1

1695
B0193AX – Rev N 94. PIDXE – PID Extended with EXACT Block

Table 94-1. PIDXE Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


OUTPUTS
ALMSTA alarm status pack_l con/no-set 0 bit map
BCALCO back calculate out 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]
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
HOAIND high out alarm 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 FFFFFFFF
INITO initialize out short con/no-set 0 0 to 1
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
LOAIND low out 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
MESSAG message index integer con/set -100 ---
OUT output real con/no-set 0.0 RO1
PRTYPE priority type integer con/no-set 0 [0..10]
SUPBCO supervisory back-calculate real con/no-set 0 RI1
TSTATE tuner state integer con/set -1 ---
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-FFFFFFFF
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
KSCALE gain scaler real no-con/no-set 1.0 scalar
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
PCTMES percent meas span real no-con/no-set 1.0 ---
PCTOUT percent output span real no-con/no-set 1.0 ---
PERTIM period time real no-con/no-set 0.1 ---
PIDRCL recall memory pid boolean no-con/set 0 0 to 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
PRSTUN state of exact integer no-con/no-set -1 -1, 0 or 1
RATD ratio derivative real no-con/no-set 0.125 scalar
PTNREQ pretune request boolean con/set 0 0 to 1
RATI ratio integral real no-con/no-set 0.5 scalar
RI1 eng range input 1 real[3] no-con/no-set 100,0,1 specifiable
RI2 eng range input 2 real[3] no-con/no-set 100,0,1 specifiable

1696
94. PIDXE – PID Extended with EXACT Block B0193AX – Rev N

Table 94-1. PIDXE Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


RO1 eng range output real[3] no-con/no-set 100,0,1 specifiable
SIGN sign of error real no-con/no-set 1.0 scalar

94.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 PIDXE block, only the following unshaded 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
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

Bit Boolean
Number* Configured Alarm Option Connection
(0 to 31) When True (B32 to B1)
0 Alarm Group 8 in Use ALMOPT.B32
1 Alarm Group 7 in Use ALMOPT.B31
7 Alarm Group 1 in Use ALMOPT.B25
16 Low Absolute Alarm Configured ALMOPT.B16
17 High Absolute Alarm Configured ALMOPT.B15
24 Low-Low Absolute Alarm Configured ALMOPT.B8
25 High-High Absolute Alarm Configured ALMOPT.B7

* Bit 0 is the least significant bit (starting from the right).


There are no mnemonic names for the individual bits of ALMOPT.

ALMSTA Alarm Status is a 32-bit output, bit-mapped to indicate the block’s alarm
states. For the PIDXE 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
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
UNAK B2
B3
B4
B5
B6
B7
B8
B9

CRIT PRTYPE
HMA

HMA
HOA
HHA

HDA

LMA
BAD

LOA
LDA
LLA
INH

1697
B0193AX – Rev N 94. PIDXE – PID Extended with EXACT Block

Bit Boolean
Number Connection
(0 to 31)* Name Description When True (B32 to B1)
0 to 4 PTYP_MSK Priority Type: See parameter ALMSTA.B32–
PRTYPE for values used in ALMSTA.B28
the PIDXE block
5 to 7 CRIT_MSK Criticality; 5 = lowest priority, ALMSTA.B27–
1= highest 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
20 LDA Low Deviation Alarm ALMSTA.B12
21 HDA High Deviation Alarm ALMSTA.B11
22 BAD BAD output of block ALMSTA.B10
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

* Bit 0 is the least significant bit (starting from the right).

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.

BATCHO Batch Control Option is a boolean input that enables the PIDX block to
operate as a preloadable controller. You can change BATCHO only by
reconfiguring the block. When BATCHO is true, and a limit condition
exists, the integral term is set to the value nearer the limit PRLOAD, or
the value selected when LIMOPT is 2. In the PIDX block, the only choice
is PRLOAD. The PIDA version tends to avoid saw-tooth ratcheting and
excessively slow recovery.

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, 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
INITI parameter. Therefore, BCALCI defines the source block and

1698
94. PIDXE – PID Extended with EXACT Block B0193AX – Rev N

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 equal to MEAS except in
the following situations, where it is equal to SPT:
♦ 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 status.
♦ MEAS is experiencing source connection problems.
With V4.2 and later software, the status bits of BCALCO contain the cas-
cade initialization requests formerly contained in the INITO parameter.
You connect the BCALCO parameter to the BCALCI input of an
upstream block so that this upstream block can sense when the PIDX
block is open. Therefore with V4.2 and later software INITO is not
required for cascade initialization.

BIAS Bias is a real input added to the controller or algorithm output, to achieve
OUT.

BLKSTA Block Status is a 32-bit output, bit-mapped to indicate the block’s opera-
tional states. For the PIDXE 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
B10
B11
WLCK B12
B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
STRK B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9
MAO

MTN
ACC
BAD
HOL

LRO

TRK
HLD

PTN
STN
FOL
LOL
FLB

MA
ON
SC
SE

FS

LR

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (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 FOL Follow BLKSTA.B28
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

1699
B0193AX – Rev N 94. PIDXE – PID Extended with EXACT Block

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
11 MA Manual(= false)/Auto(= true) BLKSTA.B21
12 BAD block in BAD state BLKSTA.B20
14 UDEF Undefined BLKSTA.B18
15 ON Compound On BLKSTA.B17
20 WLCK Workstation Lock BLKSTA.B12
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
29 SE Supervisory Enabled BLKSTA.B3
30 SC Supervisory Control BLKSTA.B2
31 FLB FLB Supervisory Control BLKSTA.B1
Fallback State

BMP Bump is required for pretuning, and can be considered an option only if
you do not use the pretune feature. Bump is the amplitude of the doublet
pulse imposed at the controller output that causes the measurement to
respond. BMP is expressed in percent of the output span and should be
large enough to create a change in the measurement, larger than
THRESH.

BTRKOP Bias Track Option, when true, forces the PID algorithm’s BIAS input to
track the block output (OUT) when the block is in Manual.

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

CEOPT is independent of the propagate error option, PROPT, and does


not affect the external logical input, HOLD. The HOLD input, when

1700
94. PIDXE – PID Extended with EXACT Block B0193AX – Rev N

true, still drives the block into the Hold state whenever the block is in
Auto (and MBADOP is false).

CLM Change Limit clamps the working PBAND and INT values within a
range that is expressed as a fraction/multiple of the reference PR and IR
values as follows:
PR/CLM < PBAND < PR*CLM
IR/CLM < INT < IR*CLM.

CRIT Criticality is an integer output that indicates the priority, ranging from 1
to 5, of the block’s 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 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 DELTI2
Change Delta for Input Ranges 1 and 2 are real values that define the res-
olution as a percent of the measurement range. Entering a 1 causes the
Object Manager to recognize and respond to a change of 1 percent of the
full error range.

DELTO1 Change Delta for Output Range 1 is presently unused.

DERIV Derivative Time is a real input that adjusts the derivative time constant in
minutes.

NOTE
The working DERIV value is indirectly limited by the DFCT parameter and the
working INT value.

DESCRP Description is a user-defined string of up to 32 characters that describe the


block’s function (for example. “PLT 3 FURNACE 2 HEATER CON-
TROL”).

1701
B0193AX – Rev N 94. PIDXE – PID Extended with EXACT Block

DEVADB Deviation Alarm Deadband is a real input, in MEAS units, that applies to
both High and Low Deviation Limits. You can adjust this parameter at
the workstation.

DEVGRP Deviation Group is a short integer input that directs deviation alarm mes-
sages to one of eight groups of alarm devices. You can change the group
number through the workstation.

DEVPRI Deviation Priority is an integer input, from 1 to 5, that sets the priority
level of the deviation alarm (1 is the highest priority).

DFCT Derivative Factor is an input that controls the weight of the derivative
term; it multiplies the calculated derivative term by the derivative factor.
Setting DFCT to 0.0 eliminates the derivative term. Setting DFCT to 1.0
produces optimal controller tunings for a lag-delay process. A factor
greater than 1 signals Pretune to override the factor based on its identifica-
tion of the process delay and of primary and secondary lag times. For pro-
cesses requiring a large amount of derivative action (for example, a double
integral process), DFCT can be as large as 4.0.

DM Memory Derivative is one of the three parameters that support the PID
recall tuning feature, and is used to store a fallback DERIV setting.

DMP Damping limit is the maximum allowed damping of the closed loop
response. In the self-tuning mode, it is used with the OVR limit to set the
tuning criteria, to obtain the desired closed loop response. Generally,
damping and overshoot cannot be set independently. Best control is usu-
ally obtained using the damping limit.

DR Reference Derivative is a real input that can be entered at configuration, or


derived from the Pre-tune operation. Use DR in combination with the
change limit (CLM) parameter, to limit the actual working derivative
value about the reference value.

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, provide
the engineering units text for the values defined by Input Ranges 1 and 2.
“Deg F” or “pH” are typical entries.

EO1 Engineering Units for Output Range 1, as 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) 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 block’s
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

1702
94. PIDXE – PID Extended with EXACT Block B0193AX – Rev N

on the primary page, if it is not null. For the PIDXE 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 does not exist for given block
PHASE COMBINATION” PERIOD, or block PERIOD not
compatible with compound
PERIOD.
“W44 – INVALID High range value is less than or equal
ENGINEERING RANGE” to low range value.
“W46 – INVALID INPUT The source parameter specified in the
CONNECTION” 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 The configured value of a block
OPTION” option is illegal.
“W53 – INVALID PARAMETER A parameter value is not in the
VALUE” acceptable range.
“W58 – INSTALL ERROR; A Database Installer error has
DELETE/UNDELETE BLOCK” occurred.

ERROR Control Error is a real output that equals Setpoint minus Measurement.
ERROR can be sourced to other blocks.

FBK Feedback is a real input used to generate integration action. Its function is
to prevent integral windup. FBK is normal.

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.

1703
B0193AX – Rev N 94. PIDXE – PID Extended with EXACT Block

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.

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

HOAIND High Output Alarm Indicator is a boolean output that is set true when-
ever the output is greater than HOALIM.

HOALIM High Output Alarm Limit is a real input, in OUT units, that defines the
value of the output that initiates a high output alarm.

HOATXT High Output Alarm Message Text is a user-defined text string of up to 32


characters that are output with the alarm message to identify the alarm.
You can change HOATXT only by reconfiguring the block.

1704
94. PIDXE – PID Extended with EXACT Block B0193AX – Rev N

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.

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 real values that define the upper
limit of the measurement ranges. EI1 to EI2 define 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.

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.

IM Memory Integral is one of the three parameters that support the PID
recall tuning feature and is used to store a fallback INT setting.

INCOPT Increase/Increase Option is a boolean input. When set true, INCOPT


reverses the normal sense of the control action so that the controller out-
put increases with increasing measurement.

INHALM Inhibit Alarm contains packed boolean values that represent alarm inhibit
requests for each alarm type or point configured in the block. For the
PIDXE block, only the following bits are used:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B10

B11

B12

B13

B14

B15

B16
B1

B2

B3

B4

B5

B6

B7

B8

B9

Bit Boolean
Number* Connection
(0 to 15) Description When True (B16 to B1)
0 Inhibit Low Absolute Alarm INHALM.B16
1 Inhibit High Absolute Alarm INHALM.B15
2 Low Output Alarm INHALM.B14
3 High Output Alarm INHALM.B13
4 Low Deviation Alarm INHALM.B12

1705
B0193AX – Rev N 94. PIDXE – PID Extended with EXACT Block

Bit Boolean
Number* Connection
(0 to 15) Description When True (B16 to B1)
5 High Deviation Alarm INHALM.B11
6 Inhibit Bad I/O Alarm INHALM.B10
8 Inhibit Low-Low Absolute Alarm INHALM.B8
9 Inhibit High-High Absolute Alarm INHALM.B7
13 Inhibit Alarm INHALM.B3
14 Unacknowledged INHALM.B2

* Bit 0 is the least significant bit (starting from the right).


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

INHSTA Inhibit Status contains packed long values that represent the actual inhibit
status of each alarm type configured in the block. For the PIDXE 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
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
UNACK B2
B3
B4
B5
B6
B7
B8
B9

HMA
HOA
HHA

HDA

LMA
LOA
LDA
LLA
INH

1706
94. PIDXE – PID Extended with EXACT Block B0193AX – Rev N

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
16 LMA Low Absolute Alarm Inhibited INHSTA.B16
17 HMA High Absolute Alarm Inhibited INHSTA.B15
18 LOA Low Output Alarm INHSTA.B14
19 HOA High Output Alarm INHSTA.B13
20 LDA Low Deviation Alarm INHSTA.B12
21 HDA High Deviation Alarm INHSTA.B11
24 LLA Low-Low Absolute Alarm INHSTA.B8
Inhibited
25 HHA High-High Absolute Alarm INHSTA.B7
Inhibited
29 INH Inhibit Alarm INHSTA.B3
30 UNACK Unacknowledged INHSTA.B2

* Bit 0 is the least significant bit (starting from the right).

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
maintained, but the setting of the handshaking bits, via the INITI to
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 as 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:

1707
B0193AX – Rev N 94. PIDXE – PID Extended with EXACT Block

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 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. 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 short value
has been maintained, but the setting of the handshaking bits, via the
INITI to INITO connection, is eliminated.

INITSE Initial Supervisory Enable (INITSE) specifies the initial state of the SE
parameter in a block configured for Supervisory Control (that is:
SUPOPT =1) when the block initializes due to reboot, installing the
block, or turning on the compound.
0 = Disable
1 = Enable
2 = Do not change SE parameter.

INT Integral Time is a real input that adjusts the integral time constant when
the controller operates in the PI, IO, or PIDX modes. In the PO and PD
modes, Integral Time becomes the balance time (the time constant that
governs the rate at which the output approaches the proportional signal).

IR Reference Integral is a real input that can be entered at configuration or


derived from the Pre-tune operation. Use IR in combination with the

1708
94. PIDXE – PID Extended with EXACT Block B0193AX – Rev N

change limit (CLM) parameter to limit the actual working integral value
about the IR value. See CLM.

KBIAS Gain Factor is a real input that multiplies the BIAS input. It is expressed
in OUT units divided by BIAS units.

KD Derivative Filter Gain is a real input that adjusts the derivative filter gain.

KSCALE KSCALE is a conversion factor used to make the time units of the rate
parameters, which are in EI1 units per minute, dimensionally compatible
with the time units of the output, as defined by EO1.

KZONE Zone Gain establishes the gain within the nonlinear zone defined by
HZONE and LZONE. KZONE is usually set at less than unity for pH
control applications. If KZONE is set to zero, the block behaves as a dead
zone controller.

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-


ters that are 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
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.

LMT Output Cycling Limit is a real input that indicates to the self-tuning algo-
rithm that the controller output is changing at a frequency that is too high
for the loop response as it is currently tuned. LMT has a range of 2 to 80
percent of output span and defaults to 80 percent. If the average peak-to-
peak amplitude exceeds LMT for over three minutes, the controller is
detuned by increasing PBAND and reducing DERIV. This feature is use-
ful for processes that have very little dead time and require a higher con-
troller gain.

1709
B0193AX – Rev N 94. PIDXE – PID Extended with EXACT Block

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 OUT units, that defines the
value of the output that initiates a low output alarm.

LOATXT Low Output Alarm Message Text is a user-defined text string of up to 32


characters that are output with the alarm message to identify the alarm.
You can change LOATXT only by reconfiguring the block.

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 block’s
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.

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-


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.

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

1710
94. PIDXE – PID Extended with EXACT Block B0193AX – Rev N

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

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.

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.

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
2 = No Output alarming in Manual.
You can change MANALM only by reconfiguring the block.

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.

1711
B0193AX – Rev N 94. PIDXE – PID Extended with EXACT 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


true, the block sets the unlinked MA input to manual if it detects a BAD
status bit in the MEAS input, or a BAD status bit in the BIAS input. 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. 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.

MCLOPT Manual Clamping Option allows you to invoke output clamping while
the block is in manual.

MEAS Measurement is an input identifying the source of the block’s input, or the
controlled variable.

MEASDB Measurement Alarm Deadband is a configured input, expressed in MEAS


units, that applies to both High and Low Alarm Limits. You can adjust
this parameter at the workstation.

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 exceeds the high alarm limit (MEASHL). When
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 are 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 are output with the alarm message to identify the
alarm. You can only change the message text by reconfiguring the block.

1712
94. PIDXE – PID Extended with EXACT Block B0193AX – Rev N

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

MESSAG Message Indicator is an integer output that represents an encoded status or


error message pertaining to the self-tune algorithm. The assigned integers
and the message that each represents are:
MI Code Message
MI_001 Block in Auto
MI_002 Increase Bump
MI_003 Wait Steady State
MI_004 PID Computed
MI_005 Measuring Noise Band
MI_006 PRETUNE Done
MI_007 Bad INC/DEC Action
MI_008 Meas Noise Corrupt
MI_009 Cascade Open Loop
MI_010 Output Limit Exceeded
MI_011 Excessive Output Manually
MI_012 Tune Block Request Error
MI_013 Error on Inputs to PID
MI_015 Linkage on Tuning Constant
MI_101 One Peak Found
MI_102 WMAX1 Small Overdamp
MI_103 Two Peaks Found
MI_105 Three Peaks Found
MI_106 Two Peaks Found
MI_107 Three Peaks Found
MI_109 WMAX2 Small Overdamp
MI_110 Suspicious 1 Shape
MI_111 Suspicious 2 Shape
MI_112 Suspicious 3 Shape
MI_113 WMAX3 Small Overdamp
MI_114 Three Peaks Found
MI_150 Undefined
MI_151 WMAX or Process Fast
MI_153 Excess SP Change
MI_154 Process Out of Control

1713
B0193AX – Rev N 94. PIDXE – PID Extended with EXACT Block

MI Code Message
MI_155 PI Clamped CLM Limit
MI_156 Self-Tune Initialize
MI_157 Linkage on Tuning Constant
MI_160 PID Open Loop

NAME Name is a user-defined string of up to 12 characters used to access the


block and its parameters.

NB Noise Band is a measure of the intrinsic noise content of the measurement


signal. Its peak-to-peak magnitude is expressed as a percentage of the mea-
surement span. Self-tuning begins to extract tuning information whenever
the error signal exceeds twice the magnitude of NB. It is also used to
decide whether an observed peak may be noise. You can enter a value for
NB at configuration or derive a value from a pretune operation.

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. You can change NONLOP
only by reconfiguring the block.

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.
You can change OALOPT only by reconfiguring the block.

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.

OUTADB Output Alarm Deadband is a real input that specifies the size of the dead-
band for both High and Low Output Alarm Limits. You can adjust this
parameter at the workstation.

OUTGRP Output Group is a short integer input that directs high and low output
alarm messages to one of eight groups of alarm devices. You can change
the group number through the workstation.

1714
94. PIDXE – PID Extended with EXACT Block B0193AX – Rev N

OUTNM The Output Alarm Name is a user-defined string of up to 12 characters


that identify 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).

OVR Overshoot Limit is the target overshoot of the closed loop response, if the
fuzzy interpolation method is used (PR_FL=0), in the self tuning mode.
OVR has a range from 0.0 to 0.2 of the magnitude of the first peak.

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.

PBAND Proportional Band is an input that determines, for any given deviation,
the length of the OUTINC or OUTDEC “on” time during each control-
ling period. PBAND defaults to 1000. A smaller value results in greater
sensitivity and a longer “on” time for a given deviation. A larger PBAND
value reduces sensitivity and the “on” time for a given deviation.

PCTMES Percent of Measurement is a real value representing the percent of mea-


surement span per unit.

PCTOUT Percent of Output is a real value representing the percent of output span
per unit.

PERIOD Period is an indexed input that dictates the block’s 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*****

* If the BPC is 0.2 sec., this period is treated internally as 0.6 sec., but the
PERIOD parameter remains 1.

1715
B0193AX – Rev N 94. PIDXE – PID Extended with EXACT Block

** 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, and CP60.

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. See Integrated Control Software Concepts
(B0193AW) document.

PIDRCL PID Recall is a boolean input request that causes the memory tuning val-
ues PM, IM, and DM to be copied into the working values PBAND,
INT, and DERIV. PIDRCL is honored only in the FB_HOLD mode.
This feature provides a convenient means for you to save a fallback set of
PID settings, which can be recalled if needed.

PM Memory PBAND is one of the three parameters that support the PID
recall tuning feature and is used to store a fallback PBAND setting.

PR Reference Pband is a real input that can be entered at configuration or


derived from the Pretune operation. Use PR in combination with the
change limit (CLM) parameter to limit the actual working proportional
band value about the PR value. See CLM.

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.
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, Foxboro 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.

PRLOAD Batch Preload is a real input that is loaded into the controller’s integral
term whenever the output is being limited at either the LOLIM or
HOLIM values. PRLOAD is operational only when the block is in Auto
and the Batch Control Option is configured.

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

1716
94. PIDXE – PID Extended with EXACT Block B0193AX – Rev N

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.

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

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

PRSTUN Present tuner operational state:


-1 = Manual Tune
0 = Pretune
1 = Selftune.

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
5 = High Deviation

1717
B0193AX – Rev N 94. PIDXE – PID Extended with EXACT Block

6 = Low Deviation
7 = Rate alarm
8 = BAD Alarm

PTNREQ Pretune Request is a user-set boolean input that initiates the Pretune func-
tion. The controller must be in Manual, and the process should be reason-
ably stationary before setting PTNREQ to 1. You can abort Pretune by
resetting PTNREQ to 0.

RATD Ratio Deriv/period of oscillation is a real input.

RATI Ratio Int/period of oscillation is a real input.

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.

RSP Remote Setpoint is the selected setpoint source when LR is set to Remote.
RSP is a real input. Typically RSP connects to an upstream block in a cas-
cade scheme. RSP and its source must be expressed in MEAS units.

SE Supervisory Enable is a boolean input that enables/disables Supervisory


Control in a block.
0 = Disable
1 = Enable.

SETTLE Settle is an override input that holds the self tuning algorithm in the Settle
substate of the self-tune state. An operator or a linked source can use this
parameter to inhibit self-tune adaptation during undesirable process con-
ditions. This feature can alleviate the need for the operator to manually
return the self-tune algorithm to the STN mode after an abnormal process
condition.

SIGN Sign is a real value representing the sign of the first error peak.

SPLCOP Sample Controller Option enables the PIDXE to operate as a sampling


controller with an effective control period much larger than the block’s
PERIOD parameter. The effective period can be controlled asynchro-
nously by TSAMPL or synchronously by SPLRDY. In the PIDX and
PIDXE blocks, SPLCOP invokes a run-hold duty cycle mode of opera-

1718
94. PIDXE – PID Extended with EXACT Block B0193AX – Rev N

tion. If True, the control algorithm can be executed when triggered by


SPLRDY or with the variable update interval TSAMPL. In the PID and
PIDX, SPLCOP invokes a run-hold duty cycle.

SPLRDY Sample Ready is a boolean pulse input. On a 0-to-1 transition, SPLRDY


clocks the block from the Sample and Hold state to the Control state. If
used with the TSAMPL timer, SPLRDY synchronizes the timer with an
external event.

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.

STNREQ Self-Tune Request is a boolean input that drives the self-tuning algorithm
into the self-tune operational mode. It can be initiated by either an opera-
tor request or by a connection-based signal. If STNREQ is set to 1, self-
tuning begins when both PTNREQ and STHREQ are 0. Resetting
STNREQ turns self tuning off. The active tuning constants remain active
but the adapted stored tuning sets are erased.

STRKOP Setpoint Track Option is a boolean input. When true, STRKOP enables
the setpoint to track the measurement input if the setpoint source selector
LR is in Local AND either (a) the block is in Manual or (b) the Initializa-
tion input INITI is true. SPT is nonsettable while setpoint tracking is
active. You can change STRKOP only by reconfiguring the block.

SUPBCO Supervisory Back-Calculated Output (SUPBCO) is a real output that


specifies the value to be used by the Supervisory Application to initialize
its output to the current setpoint of the block
This parameter also contains the following status bits:
Bit 10: 1= Initialize SUP_IN
Bit 13: 1= SUP_IN is Limited High
Bit 14: 1= SUP_IN is Limited Low
(Both B13 and B14 =1: indicates Supervisory cascade is open).

SUPGRP Supervisory Group (SUPGRP) specifies the group to which the block is
assigned for Supervisory Control. Range: 1 through 8 (default = 1)

SUPOPT Supervisory Option is a configurable boolean input that specifies whether


or not this block is to be under control of the Supervisory Application.
0 = No
1 = Yes.

1719
B0193AX – Rev N 94. PIDXE – PID Extended with EXACT Block

SUP_IN Supervisory Input is a real output that is the parameter set by a Supervi-
sory application when performing supervisory control of this block’s 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).

TCTRL Control Time is a real input that specifies the number of minutes the
block stays in the Controlling substate when the sample controller option
is active. If used with the TSAMPL timer, TCTRL establishes the duty
cycle between the Controlling and the Sample and Hold states.

TRACK Track is a real input that provides the input signal block output tracks
when the block is in Auto and TRKENL is true.

TRKENL Track Enable is a boolean input that enables the block output to follow
the TRACK input.

TSAMPL Sampling Time is a real input parameter that specifies the period, in min-
utes, of an internal timer that triggers an output update. If external trig-
gering of the control action is desired, set TSAMPL to 0 and use SPLRDY
to trigger the output update.

TSTATE Tuner State is an encoded integer output that corresponds to the current
substate of the EXACT-tuning algorithm. The assigned integers and the
message that each represents are:
SI CODE Substate Name
SI_-01 MTUNE
SI_000 Quiet
SI_001 Locate First Peak
SI_002 Verify First Peak
SI_003 Locate Second Peak
SI_004 Verify Second Peak
SI_005 Locate Third Peak
SI_006 Verify Third Peak
SI_007 Adjust PID
SI_008 Adapt PID
SI_009 Settle
SI_100 Bump
SI_101 Return Output
SI_102 Wait Steady State
SI_103 Monitor Noise

TYPE When you enter “PIDXE” or select “PIDXE” 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.

1720
94. PIDXE – PID Extended with EXACT Block B0193AX – Rev N

WMAX Wait Max is a crude estimate of the time scale of the process and repre-
sents the maximum time that the self-tune algorithm waits for the
second peak. It should be set larger than half the maximum period of
oscillation and smaller than eight times the minimum period of oscilla-
tion. You can enter an NB value at configuration or derive a value from a
pretune operation.

94.4 Detailed Operation


Each execution cycle, this block provides PID control and then runs its self-tuning algorithm,
unless you make the self-tune algorithm inoperable by running the block in the manual-tune
mode. Since this algorithm tunes a three-term interactive PID controller, the PIDXE block does
not use a MODOPT parameter. The block operates as a PI-only controller, in the self-tune mode
if the Derivative Factor (DFCT) is 0.0, or in the manual-tune mode when DERIV equals 0.0.
When in the control portion of the execution cycle, the block generates an output that incorpo-
rates the following:
1. A Proportional factor based on a user specified proportional band applied to an error
term. The error term equals the setpoint (SPT) minus the derivative factor applied to
the measurement (MEAS).
2. An Integral factor derived from a first-order lag of the block’s integral feedback (FBK)
input.
3. A Derivative factor with a second order Butterworth filter applied to the measurement
(MEAS).
The MEAS parameter is an input identifying the source of the signal that is coming to this block
as the controlled variable in the control loop.
The SPT parameter is the active controller setpoint. SPT can be set in Local, or is made equal to
RSP in Remote, or is made equal to SUP_IN in Supervisory Control. SPT can be used as a source
for other blocks.
The setpoint sources are prioritized as follows:
1. Supervisory Control
2. Local (LOCSW) and Remote Switch (REMSW)
3. Local or Remote.
When the Supervisory Option (SUPOPT) is set, it specifies that the block can be under control
of a Supervisory Application Program. The Supervisory Back Calculated Output (SUPBCO) pro-
vides the current setpoint and initialization bits to the Supervisory Application Program. When
Supervisory Enable (SE) is set by the application program or operator, the PIDXE block is pre-
pared 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 supervisory setpoint in the calculation of the block’s output.
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, the block sets the BCALCO initialization status value to true, and
releases the SPT parameter, allowing any user to input the desired controller setpoint value. The
setpoint track option, STRKOP, can be used to assure bumpless transfer.

1721
B0193AX – Rev N 94. PIDXE – PID Extended with EXACT Block

When LR is switched to Remote (true), SPT is no longer settable and takes on the value of the
remote setpoint input, RSP. RSP provides a link to the remote setpoint source. If RSP is unlinked
when LR is true, the block forces the LR parameter to local and secures it.
The PIDXE block also provides the LOCSW and REMSW parameters to drive the setpoint 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 setpoint (SPT) tracks the status of
the remote setpoint (RSP).
When the block is switched to Local mode, the setpoint status depends on the setpoint tracking
option (STRKOP):
♦ If STRKOP is set true, the SPT status is cleared.
♦ If STRKOP is false, the SPT status reflects the RSP status at the time the switch to
Local occurred. The block maintains this status as long as block is in Local, unless you
change the SPT value via data access. At that time the status is cleared.
The local setpoint is clamped each cycle when the setpoint mode is Remote, Local, or Supervi-
sory. The clamp limits used are the measurement scale limits HSCI1 and LSCI1. If the setpoint
value before clamping is equal to or less than LCSI1, status bit LLO of SPT is set true. If the value
before clamping is equal to or higher than HSCI1, status bit LHI of SPT is true.
The PIDXE block has two output states, Auto and Manual. In Manual, the block releases the out-
put, allowing it to be set by you. In Auto, the block secures the output.
Auto has three substates: Controlling, Tracking, and Holding.
Closed loop automatic PID control is actually performed in the substate of Auto called Control-
ling. In this state, the block computes the output signal based on the deviation between SPT and
MEAS. Proportional control is fixed by the steady state gain term (100/PBAND).
Integral control action is generated by feeding back the external integral feedback signal (FBK)
through a first order lag. INT, the integral setting of the controller, fixes the time constant of the
lag. Such a scheme avoids the pitfalls of integral windup. See “Normal Configuration” on
page 1727 for more details.
Derivative control action consists of a second-order Butterworth filtering of the Measurement sig-
nal. Both the time constant and the derivative gain of this filtering action are fixed by the user-
specified DERIV parameter.
In Auto, the computed output value undergoes limiting. Limiting clamps the output between the
variable output limits, HOLIM and LOLIM. You can place these limits anywhere within the
range defined by LSCO1 and HSCO1. Moreover, the output span variance parameter (OSV)
enables you to extend this range at both the high and low ends by an equal amount, up to 25 per-
cent. If you set LOLIM higher than HOLIM, then HOLIM is automatically set equal to the
higher of the two values, which is LOLIM. The block provides, for control purposes, output limit
indicators that are active when the output is clamped at either limit.
In Auto, when you switch the setpoint source selector from Local to Remote, the transfer is made
bumpless by removing derivative dynamics (if applicable) and forcing the integral to absorb any
proportional action.
Switching from Remote to Local is always bumpless, because SPT retains the last value transferred
from the remote setpoint. For cascade purposes, the block sets the BCALCO initialization status

1722
94. PIDXE – PID Extended with EXACT Block B0193AX – Rev N

value true when the setpoint is under local control, or when the block is open-looped. This tells
an upstream block to perform an explicit initialization, so that the return to remote setpoint oper-
ation is bumpless.
The block goes to Tracking when the BCALCI initialization status value 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 substate. When the BCALCI initialization status value returns to false, the block
returns to the Controlling substate to resume closed-loop control.
In the Tracking substate, 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 parameter,
sets the BCALCO initialization status value to true (requesting upstream blocks to perform their
own explicit initialization), and sets bit 6 (TRCK) in the BLKSTA parameter.
When the PIDXE block is the upstream block in a cascade control scheme, output tracking
(BTRKOP = true) assures a bumpless transfer for the downstream block.
Output tracking, a feature of the PIDXE block, functions only when the controller is in Auto.
While the TRKENL input is true, the output is forced into the Tracking substate of Auto; but the
output tracks the Track input instead of the BCALCI input as in the explicit initialization that
occurs when the BCALCI initialization status value is true. If both the BCALCI initialization sta-
tus value and TRKENL are true, BCALCI takes precedence and the output tracks BCALCI. Out-
put clamping is still active. If the block detects control errors, it bypasses output tracking and goes
to the Holding substate, which holds the last good output.
During Auto operation, the block checks the critical inputs MEAS, FBK, and BCALCI for data
errors (off-scan, or BAD, OOS or ERROR status bits set). If an error is detected, the PID block,
depending on the value of the CEOPT parameter (see CEOPT definition), can propagate the
error to its outputs by setting the ERROR status bit of the output, OUT.
The block goes to Hold if, while MBADOP is false and CEOPT = 1 or 2, either the HOLD
parameter goes true, or a condition required by the CEOPT parameter is met.
In the Hold substate, 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 is configured true (and the MA parameter is unlinked), the block goes to the Man-
ual state when it detects a control error or when the HOLD input goes true, regardless of the
CEOPT value. MBADOP has the same priority as MANSW and has precedence over AUTSW.
Therefore, if MBADOP is configured true and a bad input is detected, the block goes to Manual
regardless of the AUTSW setting.
When the block is switched to Manual, the OUT 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
OUT output via data access. At that time, the block clears the status.
During Manual operation, PID control is not performed. Alarm outputs are settable. The con-
troller output (OUT) is unsecured and can have its value set by an external task or program and,
if the manual clamp option (MCLOPT) is configured, these set values undergo output clamping.

1723
B0193AX – Rev N 94. PIDXE – PID Extended with EXACT Block

The setpoint track option forces the local setpoint (SPT) to track the measurement. While set-
point tracking is active, SPT becomes nonsettable to prevent any user from manipulating the local
setpoint value. Setpoint tracking is only performed if the setpoint source selector is switched to
Local and the block is either operating in Manual or the BCALCI initialization status value is
true. BCALCI status value being true indicates that a block downstream in the cascade is open
loop.
The following summarizes the secured/released condition of the SPT parameter:
SPT is secured (non-settable) if any of the following are true:
♦ The block is in Remote mode, that is, LR is true. In this case, BLKSTA.LR is also
true.
♦ Supervisory control is enabled, that is, SUPOPT and BLKSTA.SE are both true, and
SUP_IN is not in error.
♦ Setpoint tracking is active, that is, BLKSTA.STRK is true. In order for this status bit
to be true, all of the following conditions must exist:
♦ The STRKOP parameter must be configured true.
♦ There must be no control error condition.
♦ One of the following conditions must be true:
♦ The block is in Manual mode.
♦ The cascade is open downstream (either the data value of BCALCI is true, or
the LHI and LLO status bits of BCALCI are simultaneously true).
♦ A request for conditional initialization has been received from downstream.
♦ Parameter TRKENL is true.
Otherwise SPT is released (settable).
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.
The PIDXE block offers a Nonlinear Gain Option to specify a gain factor and a zone of error val-
ues in which this alternate gain multiplies 100/PBAND. This nonlinear zone is defined by the
HZONE and LZONE parameters, and is situated, but not necessarily centered, about zero error.
The PIDXE block offers two other options, the Batch Control option and the Sampling Control-
ler option. Both function only while the block is in the Automatic state.
The Batch Option presets the integral term of the PID to the value of PRLOAD while the con-
troller output is limited, a situation often arising at the start of a batch process.
Operationally, the Batch Option preloads the integral term of the controller to the value of the
preload (PRLOAD) input whenever the output is being clamped at either its high or low output
limit. The PRLOAD input is usually set according to the anticipated load conditions to prevent
overshoot following startup.
The Sampling Controller option operates in two modes, synchronous and asynchronous. Both
modes cycle the block between the S/Hold (Sample and Hold) and the Controlling substates of
Auto and both use the Control Time parameter (TCTRL) to fix the length of time that the con-
troller stays in the Controlling substate.
The synchronous mode presumes a strobe input from the measurement source that tells the con-
troller that collection of the data from a chromatograph or other slow-sampling measuring instru-

1724
94. PIDXE – PID Extended with EXACT Block B0193AX – Rev N

ment is completed. This “Sample Ready” strobe input is connected to the block’s
SPLRDY (Sample Ready) parameter.
In operation, the block waits in the S/Hold state taking data until a positive transition of the SPL-
RDY input drives the block to the Controlling substate. In this substate, the block performs nor-
mal closed-loop automatic PID control. After a time period defined by TCTRL (Control Time),
the controller is forced back to the S/Hold state to await the next SPLRDY input. Controller tun-
ing must take the duty cycle into account.
The asynchronous mode presumes no timing inputs from the source. In this mode, the block
waits in the S/Hold state collecting data until a strobe from an internal Sample Timer drives the
block to the Controlling substate. After controlling for a time period defined by TCTRL, the con-
troller is forced back to the S/Hold state to await the next Sample Timer strobe. The Sample Time
parameter (TSAMPL) fixes the period of the internal repeating Sample Timer.
In a synchronous operation, you can disable the Sample Timer by setting TSAMPL (Sample
Time) to zero. This ensures that the controller initializes to the S/Hold state and produces no con-
trol action before a valid measurement is available.
The EXACT-tuning algorithm is separate from the PID algorithm, and operates without affecting
the operation of the PID control algorithm except to provide new working values of PBAND,
INT, and DERIV following a process upset. The operator can override even this action by placing
the self-tune algorithm in either the Manual Tune state, or the Settle substate of the Self-Tune
state.
The PIDXE block has three sets of P, I, and D values:
1. The working values – these are the values used by the PID control algorithm;
PBAND, INT, and DERIV. Working values are obtained from 1) the real values
entered at block configuration, or 2) the self-tune algorithm after a process upset, or
3) the Memory values when copied to the working values by the operator.
Although the parameters PBAND, INT, and DERIV are listed as connectable, they
must not be linked to other blocks if exact self-tuning is desired. Linking these param-
eters to other blocks secures these working values from other sources such as the
Memory values and the self-tune algorithm.
2. The memory values – these are values of P, I, and D that are stored into the PM, IM,
and DM parameters by the operator to be recalled later for a special situation or
because the loop performed particularly well with these values. The operator-initiated
PID Recall function loads these memory values into the PID working value records.
3. The reference values – these parameters, PR, IR, and DR, are used to form a range of
values which restrain, and clamp, the working values. Reference values are obtained
from the real values entered at block configuration or from a Pretune operation.
The self-tune algorithm has three primary states: Manual-Tune (MTN), Self-Tune (STN), and
Pretune (PTN).
When the PIDXE block is initialized, the self-tuning algorithm goes to the MTN state. EXACT-
tuning is inoperable in the MTN state. MTN is the only state that responds to the PIDRCL sig-
nal that is sent when the operator requests a PID Recall. If any of the working values are linked,
PID Recall is ignored.
The algorithm enters the other two states, PTN and STN, only through the MTN state. Further-
more, both these states exit only to the MTN state. This description moves first from the manual-
tune state to the Pretune state and then to the self-tune state.

1725
B0193AX – Rev N 94. PIDXE – PID Extended with EXACT Block

Before the EXACT-tune algorithm can operate, the operator has to provide several tuning range
parameters. Pretune can help the operator who is tuning an unfamiliar loop obtain values for
some of these parameters. Specifically it does this by running through an open-loop upset and get-
ting some rough estimates for the IR, PR, DR, NB, and WMAX parameters. When more reliable
values are not already available, the operator can have these estimates stored into the reference val-
ues by requesting pretune from the detail display.
To enter the PTN state, the block must be in Manual and the EXACT-tune algorithm must be in
the MTN state when you make a pretune request at the detail display. BMP is the only parameter
you must define for a pretune. BMP is the output step change that causes the measurement to
undergo the “process reaction curve” (a minimum of 2.5 percent of the measurement span).
The “process reaction curve” identifies the process deadtime and the process sensitivity. The algo-
rithm uses the deadtime to estimate the reference values for the integral time (IR), the derivative
time (DR), and the maximum wait time (WMAX). Both the process sensitivity and the deadtime
enter into the estimate for the proportional band reference (PR). Pretune produces overly conser-
vative tunings for a dominant deadtime process.
Pretune estimates the noiseband (NB) by determining the amplitude of the measurement compo-
nent whose frequency is too high for the closed loop to remove. Reduce the Derivative Factor
(DFCT) if NB is high, since derivative is ineffective in a high-noise environment.
When the pretune operation is complete, the algorithm sets the pretune request to false, causing
an automatic return to the MTN state.
Before entering the STN mode, the operator or the configuration must define the following
parameters.
To establish ranges for P, I, and D, the algorithm needs the reference values (PR, IR, and DR), the
change limit (CLM) value, and the derivative factor (DFCT).
To accurately detect peaks, and to correct for the oscillating or the overdamped response, the algo-
rithm needs values for the noiseband (NB), the maximum wait time (WMAX), and the output
cycling limit (LMT).
To confirm that its computed values provides the desired closed-loop response, the algorithm
needs values for the maximum allowed damping (DMP) and the overshoot limit (OVR).
To enter the self-tune state (STN), the block’s working values must be free of linkages, the self-
tune algorithm must be in the MTN state, when the self-tune request (STNREQ) is true.
STNREQ can, based on its configuration, come from the operator or from another control block.
Once in STN, the EXACT-tuning algorithm remains in this state until STNREQ is set false or,
the block is initialized.
In STN, the algorithm looks at the error each block execution cycle, immediately after the PID
algorithm is completed. As long as the error magnitude does not exceed twice the NB, the STN
mode remains in its quiescent state.
If the error magnitude does exceed twice NB, the algorithm records the next three peaks in the
error curve. Based on the magnitude of these three peaks and the period of time between peaks,
the algorithm computes new values for P, I, and D, and checks that they are consistent with other
user-defined parameters. If they are consistent, the self-tune algorithm copies them into the PID
algorithm’s working values.
If the computed values violate any of these constraining parameters (for example, Overshoot, or
Damping), the algorithm adjusts one or more of the computed values and rechecks for consis-
tency until it meets all constraints.

1726
94. PIDXE – PID Extended with EXACT Block B0193AX – Rev N

94.4.1 Normal Configuration


Normal configuration of the PIDXE block is as follows:
If there are no downstream control blocks, then link the FBK parameter to the OUT parameter.

MEAS
PIDXE OUT

FBK

BCALCI

If the downstream block is an AOUT block, link BCALCI and FBK to the downstream block’s
BCALCO parameter.

MEAS PIDXE
OUT MEAS AOUT

FBK

BCALCI BCALCO

If the secondary block is a DGAP or PTC block, link BCALCI and FBK to the secondary block’s
BCALCO parameter.

MEAS PIDXE DGAP


OUT RSP or PTC
MEAS
FBK

BCALCI BCALCO

In a cascade configuration, link the blocks as shown below.

MEAS OUT RSP OUT MEAS


PIDXE PIDXE AOUT
PRIBLK=0 MEAS PRIBLK=1 PRIBLK=1

FBK FBK

BCALCI BCALCO BCALCI BCALCO

In a cascade configuration, connect the FBK of the primary to the BCALCO of the secondary
controller to prevent windup.
Use the PRIBLK option in all cascade configurations.

1727
B0193AX – Rev N 94. PIDXE – PID Extended with EXACT Block

1728
95. PLB – Programmable Logic
Block
This chapter covers the PLB (Programmable Logic Block), including its features, parameters,
detailed operations, and channel designators.

95.1 Overview
The Programmable Logic block (PLB) supports ladder logic executing in a digital Fieldbus Mod-
ule (FBM). A PLB connects user tasks, other blocks, and other ladder diagrams with a digital
FBM’s physical inputs and outputs and a ladder diagram’s I/O flags.

95.1.1 I/O Diagram

16 Manual Enable Inputs


Input Flag Initialization
Control
Simulation CINs
Device ID (FBM address) 32 Logical Inputs
32 Output Flags 32 Logical Outputs
32 Input Flags PROGRAMMABLE 32 Physical Inputs
To/From 32 Contact Inputs LOGIC 16 Physical Outputs
To/From
Fieldbus 16 Contact Outputs BLOCK LSTATE – Ladder State Other
Module FBM Status (PLB) BLKSTA – Block Status Control
Blocks
Ladder Logic Status (BAD Parameter)

Figure 95-1. PLB Block I/O Diagram

95.2 Features
The features are:

NOTE
The actual number of physical I/O channels available depends upon the hardware
implemented. The block’s 32 input flag and 32 output flag parameters accommo-
date the maximum number of flag references you can create when constructing a
ladder diagram.

1729
B0193AX – Rev N 95. PLB – Programmable Logic Block

♦ At the configured processing interval, control processor software reads each physical
I/O channel and each ladder logic output flag reference from the FBM and updates
the appropriate PLB parameter values.
♦ At the configured processing interval, control processor software writes each input
parameter value from the PLB to the appropriate ladder logic input flag reference in
the FBM.
♦ The PLB name identifies the source file for a ladder diagram. Before you build the
ladder, you must create the PLB. You can configure the block’s parameters before
building the ladder or accept the default parameters, build the ladder, and then con-
figure the block parameters.
The options are:
♦ Input Flag Mask (IFLMSK) specifies which IFLs are initialized when the compound is
turned on.
♦ Input Flag Pattern (IFLPAT) contains packed boolean values representing the initial
values of IFLs specified in the IFLMSK parameter.
♦ Initialize Manual/Auto (INITMA) specifies the desired state of the MA input during
initialization.
♦ Manual Enable 1 through 16 (MAE_1 to MAE_16) determine whether or not the
corresponding physical output remains functionally connected to its ladder rung
when the PLB goes to Manual.

95.3 Parameters
Table 95-1. PLB 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 181 PLB
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/no-set blank 1 to 32 chars
IOM_ID FBM reference string no-con/no-set blank ---
IFLMSK input flag mask pack_l no-con/no-set 0 0 to FFFFFFFF
IFLPAT input flag pattern pack_l no-con/no-set 0 0 to FFFFFFFF
IFL_1 to IFL_32 input flag 1 to 32 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]
MAE_1 to MAE_16 M/A enable, 1 to 16 boolean no-con/no-set 0 0 to 1
OUTPUTS
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_1 to CIN_32 output point 1 to 32 boolean con/no-set 0 0 to 1
CO_1 to CO_16 contact output 1 to 16 boolean con/no-set 0 0 to 1

1730
95. PLB – Programmable Logic Block B0193AX – Rev N

Table 95-1. PLB Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


FS failsafe state boolean con/no-set 0 0 to 1
INITO initialize out short con/no-set 0 0 to 1
IOGRPS input/output groups short no-con/no-set 0 bit map
LSTATE ladder state integer con/no-set 0 0 to 4
OFL_1 to OFL_32 output flag 1 to 32 boolean con/no-set 0 0 to 1
PAKCIN packed inputs pack_l con/no-set 0 0 to FFFFFFFF
PAKCO packed contact outputs pack_b con/no-set 0 0 to FFFFFFFF
PAKIFL packed input flags pack_l con/no-set 0 0 to FFFFFFFF
PAKOFL packed output flags pack_l con/no-set 0 0 to FFFFFFFF
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
DEV_ID FBM letterbug char[6] no-con/no-set blank 1 to 6 chars
ERCODE config error string no-con/no-set 0 0 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

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

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
(BLKSTA.BAD) is also set true whenever BAD is true.

BLKSTA Block Status is a 32-bit output, bit-mapped to indicate the block’s opera-
tional states. For the PLB 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
B10
B11
WLCK B12
TEST B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

FBM
BAD
SIM

MA
ON
FS

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
8 FBM FBM Failure BLKSTA.B24
11 MA Manual(= false)/Auto(= true) BLKSTA.B21

1731
B0193AX – Rev N 95. PLB – Programmable Logic Block

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
12 BAD Bad I/O (I/O Blocks only - BLKSTA.B20
block in BAD state)
14 UDEF Undefined BLKSTA.B18
15 ON Compound On BLKSTA.B17
18 SIM Simulation Mode BLKSTA.B14
19 TEST Test Mode BLKSTA.B13
20 WLCK Workstation Lock BLKSTA.B12
24 FS Failsafe BLKSTA.B8

* Bit 0 is the least significant bit (starting from the right).

CIN_1 to CIN_32
Contact Inputs 1 through 32 are block output parameters originating as
the 32 input values from physical input channels in the FBM. The actual
number of channels available depends on the hardware implemented.

CO_1 to CO_16 Contact Outputs 1 through 16 are boolean outputs that report the condi-
tions of the digital output points of the configured FBM. In Manual, the
output is unsecured and open to manipulation by Object Manager SET
commands.

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.

DESCRP Description is a user-defined string of up to 32 characters that describe the


block’s 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 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.

ERCODE Error Code is a string data store which indicates the type of configuration
error or warning encountered. The error situations cause the block’s
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 PLB block, the following list

1732
95. PLB – Programmable Logic Block B0193AX – Rev N

specifies the possible values of ERCODE, and the significance of each


value in this block:
Message Value
“W43 – INVALID PERIOD/ PHASE does not exist for given
PHASE COMBINATION” block
PERIOD, or block PERIOD not
compatible with compound
PERIOD.
“W46 – INVALID INPUT The source parameter specified in the
CONNECTION” 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 The configured value of a block
OPTION” option is illegal.
“W51 – INVALID HARDWARE/ An I/O block is connected to an
SOFTWARE TYPE” ECB or the wrong type.
“W52 – INVALID I/O An I/O block is connected to an
CHANNEL/GROUP NUMBER” ECB when the specified point
number is invalid or when the
specified group or octet number is
invalid.
“W53 – INVALID PARAMETER A parameter value is not in the
VALUE” acceptable range.
“W54 – ECB DOES NOT An I/O block has a connection to an
EXIST” ECB that does not exist or has not
yet been installed. When the ECB
is installed, previously installed I/O
blocks waiting for that ECB will
initialize automatically.
“W58 – INSTALL ERROR; A Database Installer error has
DELETE/UNDELETE BLOCK” occurred.
“W59 – DUPLICATE This block and another output block
OUTPUT CHANNEL” are connected to the same output
point. Since this may be intentional,
this message is only a warning.

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.

1733
B0193AX – Rev N 95. PLB – Programmable Logic Block

IFLMSK Input Flag Mask contains packed boolean values that specify which IFLs
are initialized from the IFLPAT values when the PLB block is installed,
and when the compound is turned on.

IFLPAT Input Flag Pattern contains packed boolean values that represent the ini-
tial values of the IFLs specified in the IFLMSK parameter.

IFL_1 to IFL_32 Input Flags 1 through 32 are the input parameters transferring up to 32
values from other blocks or tasks to the input flag references in the ladder
diagram executing in the FBM.

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 block is in Manual or initializing.
♦ Permanent or temporary loss of FBM communications occurs.
♦ The ladder logic in the FBM is not running.
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. 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 short value
has been maintained, but the setting of the handshaking bits, via the
INITI to INITO connection, is eliminated.

IOGRPS I/O Groups is used to indicate the type of contact I/O groups in an FBM
connected to a PLB block.
Bits 1 to 0 for Points 25 to 32: 0 = none, 1 = DI, 2 = DO.
Bits 3 to 2 for Points 17 to 24: 0 = none, 1 = DI, 2 = DO.
Bits 5 to 4 for Points 9 to 16: 0 = none, 1 = DI, 2 = DO.

1734
95. PLB – Programmable Logic Block B0193AX – Rev N

Bits 7 to 6 for Points 1 to 8: 0 = none, 1 = DI, 2 = DO


(Bit 7 = MSB, Bit 0 = LSB).

IOM_ID Fieldbus Module Identifier is a string that specifies the FBM or FBC to
which the block is connected. IOM_ID can be either:
♦ The 6-character letterbug of the FBM or FBC. The ECB must
reside in the local compound <cp_letterbug>_ECB where
cp_letterbug is the station letterbug of the CP.)
♦ The full pathname of the ECB. The ECB must be local but can
reside in any compound. The pathname must be of the form
<local_compound_name>:<ecb_name>, where <ecb_name> is the
NAME parameter of the ECB.

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 block’s
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.

LSTATE Ladder State is an integer output. LSTATE values range from 1 to 4, and
indicate the following Ladder Logic operational states:
LSTATE
Value Status Description
1 Running The FBM is OK; Ladder Logic is running
without logic error.
2 Stopped The FBM is OK; Ladder Logic is not running.
There is no logic error.
3 Error The FBM is OK but the Ladder Logic is
experiencing a logic error.
4 Failed The FBM is not OK.

1735
B0193AX – Rev N 95. PLB – Programmable Logic Block

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.

MAE_1 to MAE_16
Manual Enable 1 through 16 are configuration parameters that determine
whether or not the corresponding physical output remains functionally
connected to its ladder rung when the PLB goes to Manual. For example,
if MAE_1 is set to 1 and the block is in the Manual state, the first physical
output in the FBM is driven by whatever connection exists to the block’s
CO_1 output parameter. Set commands from tasks can also change the
state of the physical output. If MAE_1 is set to 0, or if the block is in the
Auto state, the ladder logic of the rung ending with coil symbol CO_1
determines the value of the first physical output point. This value is also
reflected as a readback to the PLB block and appears as the value of the
block’s output parameter, CO_1. CO_1 is thus a functional input to the
FBM when in Manual (MAE set) and a functional output from the FBM
at other times.

NAME Name is a user-defined string of up to 12 characters used to access the


block and its parameters.

OFL_1 to OFL_32
Output Flags 1 through 32 are output parameters providing other blocks
or tasks with output values from output flag references in the ladder dia-
gram executing in an FBM. These outputs are accompanied by an OOS
status bit that is set when:
♦ The FBM is failed.
♦ The Ladder Logic is experiencing a logic error in the FBM.
♦ The Ladder Logic is not running.

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.

PAKCIN Packed Contact Input is a 32-bit packed boolean where the LSB is the
value (1 or 0) of the channel 32 block output, CIN_32, and the MSB is
the value of the channel 1 block output, CIN_1. For example a PAKCIN
value of decimal 18 means that the physical input values for channels 28
and 31 were 1s, and all other channels had a physical input value of zero.

1736
95. PLB – Programmable Logic Block B0193AX – Rev N

PAKCO Packed Contact Output contains boolean values that represent the states
of the CO parameters in a PLB block.

PAKIFL Packed Input Flag contains packed boolean values that represent the input
flag states in a PLB block.

PAKOFL Packed Output Flag contains packed boolean values that represent the
output flag states in a PLB block.

PERIOD Period is an indexed input that dictates the block’s 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*****

* 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, CP04B, and CP60.

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. See Integrated Control Software Concepts
(B0193AW) document.

TYPE When you enter “PLB” or select “PLB” from the block type list under
Show, an identifying integer is created specifying this block type.

1737
B0193AX – Rev N 95. PLB – Programmable Logic Block

95.4 Detailed Operation


The PLB and the ladder program execute at independent scan periods. The PLB executes at the
period you specify during block configuration, while the ladder program executes as often as the
length and complexity of the ladder allows.
Initialization of the IFL parameters is controlled by the IFLMSK packed long parameter, which
indicates which IFLs to write to the FBM with predetermined values and which IFLs to read back
from the FBM.
At initialization:
♦ Linked IFL parameters are written to the FBM
♦ Unlinked parameters specified in IFLMSK by having their bit set are initialized differ-
ently depending on the circumstance, as listed in the following table:
When ... This Happens...
Turning on the compound The IFL value is initialized to the pattern specified
Installing the PLB block in IFLPAT, and then written to the FBM
Reconfiguring the PLB block The IFL value in the block is written to the FBM
Rebooting The IFL is read back from the FBM

♦ Unlinked IFL parameters not specified in IFLMSK are read back from the FBM.
As part of normal I/O processing, the PLB updates the control strategy with FBM physical I/O
contact states, FBM status, ladder logic input/output flag states, ladder logic status on a per-seg-
ment basis, the values of the MAE parameters (readback), and the values of the manually forced
CO’s (readback). When the block is scheduled to run, the PLB output parameters are updated
with physical I/O values and ladder logic output flag values.
In addition, each time the PLB is processed, in either Auto or Manual mode, the boolean
input/output parameters associated with the IFL, OFL, CIN, and CO parameters are packed and
stored into their packed boolean output parameters, as follows:
Parameter Data Type Data Format
PAKIFL Packed Long Boolean 1 = IFL_1, Boolean 32 = IFL_32
PAKCIN Packed Long Boolean 1 = CIN_1, Boolean 32 = CIN_32
PAKOFL Packed Long Boolean 1 = OFL_1, Boolean 32 = OFL_32
PAKCO Packed Boolean Boolean 1 = CO_1, Boolean 16 = CO_16

The OOS status bits of the individual CO and OFL parameters are continually updated while the
block is in Manual.
If the FBM is not operational or the ladder program is off-line, the inputs are not written and the
outputs are not updated. The BAD parameter is set true and the Bad status of all output parame-
ters is set to true. The BAD parameter can be used to effect alternate control strategies. The CO
and OFL parameters are secured while the FBM is BAD and the block is in Manual. On a bad-to-
good transition, CO parameters are read back to determine their actual values in the FBM.
When the CP detects that the connected FBM has entered the Failsafe state, the FS boolean out-
put is set in this and all connected I/O contact output blocks. The block’s FS block status boolean
is also set. Both FS booleans remain set for a single execution cycle of the block.

1738
95. PLB – Programmable Logic Block B0193AX – Rev N

To enable the reinitialization of control schemes, the block sets INITO to true when it loses FBM
communications, or when the FBM’s ladder logic is not running, or when the block is in Manual.
The block supports Manual/Auto mode for manually updating block outputs. Manual does not
affect the operation of the input parameters or input flags.
Setting a PLB’s MA input false places the block in the Manual mode. Control of each physical
output depends upon the state of its MAE parameter. If MAE is set true, the ladder program does
not update the output. Workstations, other blocks, displays, and processes (user tasks or pro-
grams) can write to the unsecured output parameter, and these values are sent to the FBM’s phys-
ical output.
When multiple ladder (up to eight) exist in a single FBM, the MAE parameters let each PLB in
manual release only the output parameters that it is responsible for.
You can use the MA parameter to control linkage between ladders. By setting the MA parameter
input to the other PLBs false, you can isolate ladders when you want each to operate indepen-
dently.

95.4.1 Block Interface


Each PLB represents an independent ladder program; the name of the ladder is the block name.
Multiple PLBs can be connected to a single FBM to support multiple independent ladders. The
order of concatenation of multiple ladder segments is the same as the order of listing of the PLBs
in the Ladder Assignment pick of the FBM menu in the Integrated Control Configurator.
Ladders in different FBMs can communicate with each other through their PLBs. An output flag
from a ladder program in one FBM can be connected to an input flag of a ladder program in
another FBM through the flag parameters of the respective PLBs.
Blocks, tasks, or other ladders can read an FBMs physical inputs and outputs by connecting to the
corresponding PLB parameters. Alarming can be handled by connecting output flags to a boolean
alarm (BLNALM) block.

95.4.2 Display Interface


Various software subsystems access internal information to edit a ladder diagram, display rung
power flow, read and write timer/counter values, and control the modes of ladder logic operation.
Displays that you configure can access ladder logic through input flag and output flag parameters
in PLBs. Displays can also show the contents of the physical CIN_x and CO_x parameters.

95.4.3 Simulation
A special pair of parameters, SIMOPT and SIMCIN, enables CIN simulation for the ladder logic
Equipment Control Block, ECB8.
SIMOPT is automatically downloaded to the FBM on installation and modification of the ECB
from the Integrated Control Configurator. SIMCIN is automatically downloaded to the FBM
when the PLB block runs. When communications from the CP to a failed FBM is restored, SIM-
CIN is unchanged.
When simulation is active, the FBM sets a simulation status bit in all READ command response
messages, which in turn is reflected in a block status bit in all PLB blocks connected to the FBM.
This simulation status is also displayed in the PLB monitor and the PLB Ladder Logic default dis-
plays. Based on the value of the SIMOPT parameter, the FBM logic selects between the simulated
CINs downloaded from the CP or the physical CINs.

1739
B0193AX – Rev N 95. PLB – Programmable Logic Block

95.4.4 Input Flag Configuration


When configuring PLBs for different ladder diagrams in a single FBM, avoid assigning an input
flag to more than one block. If any IFL is referenced in multiple segments of a composite ladder,
the value sent down to the FBM for use in solving the ladder is the value of that IFL parameter in
the PLB which is processed last. This depends on the zones, and positions within the zones, of the
various PLBs involved, as shown on the Block/ECB Functions screen of the Integrated Control
Configurator.

95.4.5 Output Flag Configuration


When entering contact and coil symbols in a ladder, you should note that the ladder elements
constitute a fixed pool of resources associated with the FBM. A given element (for example,
OFL_1) can be entered in more than one segment of a composite ladder, but doing so does not
create additional OFLs. There is only one OFL_1, with a single data value, in the FBM. It can be
entered as an output coil in multiple segments of the ladder, in which case the final concatenated
ladder has more than one rung ending with symbol OFL_1. When the OFL_1 value is transmit-
ted to the control processor, its value depends on the evaluation of the highest-numbered rung
ending in OFL_1, that is, the last calculation of OFL_1 during the ladder scan. All PLBs con-
nected to that FBM receive this value of OFL_1 as an input parameter. This implies that if the
usage of technical identifiers is overlapped, a PLB block could receive values of parameters from
the FBM different from the ones expected on the basis of their own ladder segments.
The same considerations apply to overlapped usage of COs and TCs.

95.4.6 I/O Configuration Example


The PLB configuration example, in the following five-part diagram, shows part of a control strat-
egy to pump a fluid from either of two tanks. The first shows the process, the next two show the
control blocks, the fourth shows the I/O table and flag table connections to the PLBs, and the
fifth shows a portion of the ladder diagram.
The example is not a practical application. It is intended only to show concepts associated with
segments, while limiting each segment to one rung for simplicity. Arbitrarily, some of the control
is implemented through I/O flags and some through physical I/O channels to demonstrate the
two methods of communicating with ladder logic.
In the example, an operator presses one of two switches to select a tank to supply fluid. If the
tank’s low level switch is not closed, the ladder logic output to an On/Off Valve controller (VLV)
block opens the tank’s drain valve. Ladder logic causes the pump to run if either tank valve is
open.
Physical contact inputs are available to the ladder from input channels of the FBM. Contact
inputs from the operator panel and from valve limit switches activate one of the module’s physical
output channels to operate a motor control relay in the process. To demonstrate another input
path, one input is routed through a MCIN block to the PLB as an input flag to the ladder. To
demonstrate other output paths, the PLBs transfer output flags from the ladder to VLV blocks
and a COUT block.

1740
95. PLB – Programmable Logic Block B0193AX – Rev N

Low Level Low Level Oper


Switch Tank Switch Tank Panel Drain T1
T1 T2
Drain T2
EmerStop
T1 empty

T2 empty
>.<
V2 position Valve
V2 Pump
>.< P1
V1 position Valve
V1 control V1 P1 control
V2 control

Figure 95-2. PLB Configuration (1 of 5)

T1 Empty CIN_1
Fieldbus OFL_1
Module T1 PLB VLV To V1
Drain T1 CIN_2 BLOCK
Physical
T2 Empty CIN_3
Input OFL_2
Drain T2 Channels T2 PLB VLV To V2
CIN_4
1 to 4 BLOCK

CIN_1 OFL_1 OFL_2


..
..
CIN_4 LADDER
DIAGRAM

Figure 95-3. PLB Configuration (2 of 5)

1741
B0193AX – Rev N 95. PLB – Programmable Logic Block

To pump
Fieldbus P1
V1 Posit Module
Fieldbus
V2 Posit Module CO_1 Physical
IFL_1 Output
Physical Channels MOTOR
TX PLB CONTRL
Maint Input OFL_3
Channels CIN_7 RELAY
Disable Sw
5 to 7 MCIN COUT
BLK BLK

CIN_5
.. IFL_1 PUMP ON
..
LAMP
CIN_6
LADDER
DIAGRAM

Figure 95-4. PLB Configuration (3 of 5)

PMPCTRL:T1 PMPCTRL:T2 PMPCTRL:TX


CIN_1 OFL_1 CIN_3 OFL_2 OFL_32

CIN_2 CIN_4 CO_1 IFL_1


.. ..
.. PLB .. PLB PLB
CIN_5 CIN_6

(Tank 2 Logic) (Common Logic)


(Tank 1 Logic)

Contact Input Output Contact


1 2... 32 Input 1... 32 Flag Flag 1 2... 32 Output 1... 16
Table Table Table Table

Figure 95-5. PLB Configuration (4 of 5)

1742
95. PLB – Programmable Logic Block B0193AX – Rev N

CIN 1 CIN 2 OFL 1


( )
[Tank 1] Drain Tank _1 Open
Tank_1 Empty Valve1

CIN 3 CIN 4 OFL 2


( )
[Tank 2] Drain Tank _2 Open
Tank_2 Empty Valve2

OFL 1 CIN 5 IFL 1 CO 1


( )
[Any tank] Open Valve1 Emerg Run
Valve1 Open Stop Pump

OFL 2 CIN 6 OFL 32


( )
Open Valve2 Pump On
Valve2 Open
Figure 95-6. PLB Configuration (5 of 5)

95.5 Channel Designators

FBM Type DI DI DI/DO DI/DO


FBM # (7,8,20) (12,13,21) (9,10,11) (14,15,16)
CH 1 cin_1 --- cin_1 ---

CH 2 cin_2 --- cin_2 ---

CH 3 cin_3 --- cin_3 ---

CH 4 cin_4 --- cin_4 ---

CH 5 cin_5 --- cin_5 ---

CH 6 cin_6 --- cin_6 ---

CH 7 cin_7 --- cin_7 ---

CH 8 cin_8 --- cin_8 ---

CH 9 cin_9 --- co_1 ---

CH 10 cin_10 --- co_2 ---

CH 11 cin_11 --- co_3 ---

CH 12 cin_12 --- co_4 ---

CH 13 cin_13 --- co_5 ---

CH 14 cin_14 --- co_6 ---

CH 15 cin_15 --- co_7 ---

CH 16 cin_16 --- co_8 ---

CH 17 --- cin_17 --- cin_17

1743
B0193AX – Rev N 95. PLB – Programmable Logic Block

FBM Type DI DI DI/DO DI/DO


FBM # (7,8,20) (12,13,21) (9,10,11) (14,15,16)
CH 18 --- cin_18 --- cin_18
CH 19 --- cin_19 --- cin_19
CH 20 --- cin_20 --- cin_20
CH 21 --- cin_21 --- cin_21
CH 22 --- cin_22 --- cin_22
CH 23 --- cin_23 --- cin_23
CH 24 --- cin_24 --- cin_24
CH 25 --- cin_25 --- co_9
CH 26 --- cin_26 --- co_10
CH 27 --- cin_27 --- co_11
CH 28 --- cin_28 --- co_12
CH 29 --- cin_29 --- co_13
CH 30 --- cin_30 --- co_14
CH 31 --- cin_31 --- co_15
CH 32 --- cin_32 --- co_16

NOTE
The PLB automatically sets the cin_ and co_ designations for the block when it
detects the FBM type to which it is connected.

1744
96. PLSOUT – Pulse Output Block
This chapter describes the function of the Pulse Output (PLSOUT) block and defines its
parameters.

NOTE
This chapter describes the Distributed Control Interface (DCI) PLSOUT block.
For a description of how the PLSOUT block is used in PLC applications, refer
to PLC Interface Block Descriptions (B0193YQ).

96.1 Overview
The Pulse Output (PLSOUT) 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.)
PLSOUT allows the control strategy or operator to output on/off or start/stop type commands
through momentary pulsed outputs on two separate lines to addresses in an external device. Typi-
cally, these commands are sent to a latching function in a device, with one command used for the
set input of the latch and the other used for the reset input.
The first pulsed output is presented at Pulse Output 1 (COUT_1) and is transmitted to address
Output 1 Point Number (CO1_PT) associated with the field device. The other is presented at
Pulse Output 2 (COUT_2) and transmitted to address Output 2 Point Number (CO2_PT) asso-
ciated with the field device. Each of these addresses contains either the value transmitted by the
PLSOUT block, or a value written locally (such as from a local panel display), depending on
which write action is most recent.
When in Auto, in the outbound direction, the block accepts transitions on IN to drive the output
pulses. In Manual, the output pulses are driven by operator settings to inputs SET and RESET.

1745
B0193AX – Rev N 96. PLSOUT – Pulse Output Block

Status Changes Cascade To


Initialization Processing
from External Upstream
Device or Block
I/A Series System
Manual
Inputs Input Pulse
Outputs to
Selection Processing
Auto Input External
from I/A Series Device
System

Read-back State Input To


(Boolean) from Processing Upstream
External Device Block

Figure 96-1. PLSOUT Block Diagram

96.2 Basic Operation


When in Auto, the block accepts transitions at parameter Input Request (IN) to drive the output
pulses. A transition of IN from 0 to 1 causes a positive-going pulse at COUT_1, and the opposite
transition causes a positive-going pulse at COUT_2. In each case the pulse has a duration of Pulse
Time (PLSTIM). In Manual, operator sets at parameters Set Request (SET) and Reset Request
(RESET) drive the output pulses.
A limit-switch function is provided by parameter Readback State (RBK), made available from the
external device. Any reversal of the value of RBK causes immediate termination of an active pulse.
The block provides the parameters Initialize Output (INITCO) and Back-Calculated Output
(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 is made available to the PLSOUT block at a configured Initialization
Point Number (INI_PT) within the external device.
The PLSOUT block does not provide any alarm detection or reporting capabilities.

96.3 Features
The PLSOUT block provides the following features:
♦ Separate block inputs for use in triggering pulses when in Auto and Manual
♦ Two pulsed outputs to two configured device addresses may be used to set and reset
inputs of a latching function
♦ Limit switch state made available at specific configured device point
♦ Specific point reserved for Tracking notification from device.

1746
96. PLSOUT – Pulse Output Block B0193AX – Rev N

96.4 Parameters
Table 96-1. PLSOUT 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 PLSOUT_TYPE 144
DESCRP description string no-con/no-set blank 1 to 32 chars
PERIOD block sample time short integer no-con/no-set 1 0 to 12
PHASE block execute phase integer no-con/no-set 0 —
LOOPID loop identifier string no-con/no-set blank 1 to 32 chars
IOM_ID ECB identifier string no-con/no-set blank 1 to 12 chars
CO1_PT output 1 point number string no-con/no-set 0 device specific
CO2_PT output 2 point number string no-con/no-set 0 device specific
RBK_PT read-back address string no-con/no-set 0 device specific
INI_PT initialization point string no-con/no-set 0 device specific
EROPT error option short integer no-con/no-set 0 0 to 2
IN input request boolean con/set 0 0 to 1
PLSTIM pulse time real no-con/no-set 0.0 seconds
MA manual/auto boolean con/set 0 0 to 1
INITMA initialize MA short integer 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
PRIBLK primary block short integer no-con/no-set 0 0 to 1
PRITIM cascade closure delay real no-con/no-set 0.0 seconds
SIMOPT This parameter is not supported.
Non-Configurable Parameters
INPUTS
SET set request boolean no-con/set 0 0 to 1
RESET reset request boolean no-con/set 0 0 to 1
RBK read-back state boolean con/no-set 0 0 to 1
OUTPUTS
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
BLKSTA block status packed long con/no-set 0 bit map
COUT_1 pulse output 1 boolean con/no-set 0 0 to 1
COUT_2 pulse output 2 boolean con/no-set 0 0 to 1
INITCO initialization output boolean con/no-set 0 0 to 1
BKCO back calc. contact out boolean con/no-set 0 0 to 1
TSTAMP time stamp long integer con/no-set 0 ms after midnight
DATA STORES
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

1747
B0193AX – Rev N 96. PLSOUT – Pulse Output Block

Table 96-1. PLSOUT Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


OWNER owner name string no-con/set blank 1 to 32 chars
DEV_ID device identifier character no-con/no-set blank 6 chars

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

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.

BKCO Back Calculated Contact Out is set equal to the value of RBK while the
cascade is initializing. Since its purpose is to provide the upstream block
with a back-calculated value, you may connect BKCO to the BCALCI
parameter of any upstream block capable of providing that functionality.

BLKSTA Block Status is a 32-bit output, bit-mapped to indicate various block oper-
ational states. For the PLSOUT 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
B10
B11
WLCK B12
B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9
MAO

FBM
HLD
MA
ON

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
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
26 MAO M/A Override Active BLKSTA.B6
*Bit 0 is the least significant bit (starting from the right).

1748
96. PLSOUT – Pulse Output Block B0193AX – Rev N

CO1_PT For the PROFIBUS interface to the I/A Series system (FBM223)
Output 1 Point Number (C01_PT) must be configured to contain a
PROFIBUS data identifier. This information identifies, to the FBM, spe-
cific data (in this case the Output 1 Point Number address) associated
with the external device in the PROFIBUS data stream. Refer to PROFI-
BUS-DP Communication Interface Module (FBM223) User’s Guide
(B0400FE) for details.
For the Modbus interface (FBM224), CO1_PT must be configured to
contain the address of a coil in a Modbus device. Refer to Modbus Com-
munication Interface Module (FBM224) User’s Guide for details.

CO2_PT For the PROFIBUS interface to the I/A Series system (FBM223) Out-
put 2 Point Number (C02_PT) must be configured to contain a
PROFIBUS data identifier. This information identifies, to the FBM,
specific data (in this case the Output 2 Point Number address) in the
PROFIBUS data stream. Refer to PROFIBUS-DP Communication
Interface Module (FBM223) User’s Guide (B0400FE) for details.
For the Modbus interface (FBM224), CO2_PT must be configured to
contain the address of a coil in a Modbus device. Refer to Modbus Com-
munication Interface Module (FBM224) User’s Guide for details.

COUT_1 Pulse Output 1 is the pulsed block output generated by either a positive-
going transition of IN (Auto) or a change of SET from 0 to 1 (Manual).
All PLSOUT pulses are positive going.

COUT_2 Pulse Output 2 is the pulsed block output generated by either a negative-
going transition of IN (Auto) or a change of RESET from 0 to 1 (Man-
ual). All PLSOUT pulses are positive going.

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 re-install the block.

DESCRP Description is a user-defined string of up to 32 characters that describes


the block’s 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 block’s DEFINE parameter to be set false. Val-
idation of configured parameters does not proceed past the first error
encountered by the block logic. Each nonzero value of ERCODE results

1749
B0193AX – Rev N 96. PLSOUT – Pulse Output Block

in an explanatory message at the block’s detail display. For the PLSOUT


block, the following list shows the possible messages you may see:

ERCODE Message Meaning


W52 – INVALID I/O CHAN- The first character of
NEL/GROUP NUMBER CO1_PT or CO2_PT is
blank.
W62 – UNRESOLVED CONNEC- Connection is not yet
TION resolved. (Block remains
defined.)
W65 – INVALID POINT ADDRESS The FBM parsing algorithm
found that CO1_PT or
CO2_PT is invalid
W66 – DUPLICATE CONNEC- There is a duplicate connec-
TION tion to a point.
W67 – INSUFFICIENT FBM MEM- There is no available memory
ORY in the FBM.
W68 – INVALID DEVICE CON- The device connection is
NECTION invalid.
W69 – INVALID POINT CON- The point connection is
NECTION invalid.

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, it is in a nonexist-
ent compound, or there has been a peer-to-peer failure.
♦ If EROPT = 2, IN is considered bad in any of the above situations,
or, if the Error bit in the status of IN is true.
♦ If EROPT = 0, IN is never considered bad, and there is never a
Bad-to-Good transition.

IN Input Request is the block input in Auto mode. A transition of the value
of IN causes a pulse to be initiated at either COUT_1 or COUT_2.

INITCO Initialization Output is a cascade initialization signal which is set true by


the block logic whenever the cascade is opened. You may connect
INITCO to the INITI input of any upstream block providing this func-
tionality. The PLSOUT block keeps INITCO true either for one cycle
(PRIBLK = 0), or until the PRITIM delay has expired (PRIBLK = 1).

INI_PT INI_PT contains a user-configured string which specifies the device


address of the initialization input.

1750
96. PLSOUT – Pulse Output Block B0193AX – Rev N

For the PROFIBUS interface to the I/A Series system (FBM223), INI_PT
must be configured to contain a PROFIBUS data identifier, which con-
tains the device address of the initialization input. Refer to PROFIBUS-
DP Communication Interface Module (FBM223) User’s Guide (B0400FE)
for details.
For the Modbus interface (FBM224), INI_PT must be configured to con-
tain the address of a coil in a Modbus device. Refer to Modbus Communi-
cation Interface Module (FBM224) User’s Guide for details.

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.

IOM_ID ECB Identifier is a user-configurable string that specifies either of the fol-
lowing:
♦ The device ECB (ECB201), for the purpose of connecting to
(accessing) a field parameter that resides in a field device hosted
by an ECB200.
♦ The parent ECB200, for the purpose of accessing a parameter
whose source is the FBM itself (not applicable to FBM223).
IOM_ID can be formatted in either of two ways, depending on the
location of the ECB in question:
♦ Simply the name of the external device ECB (ECB201). For
this format, the ECB201 must reside in the station ECB com-
pound <cp_letterbug>_ECB, where cp_letterbug is the station
letterbug of the I/A Series control station.
♦ The full pathname of the external device ECB (ECB201). For this
format, the ECB201 must reside in the station ECB compound,
or any compound where blocks that tie to it are located. The path-
name must be of the form:
<local_compound_name>:<ecb_name>
where <ecb_name> is the NAME parameter of the ECB.

LOCKID Lock Identifier is a string identifying the workstation that has locked
access to the block via a successful setting of LOCKRQ. LOCKID has the

1751
B0193AX – Rev N 96. PLSOUT – Pulse Output Block

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
set command from the LOCK U/L toggle key on workstation displays.
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 block’s 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 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 block’s operating state


(0 = false = Manual; 1= true = Auto). When in Auto, the block input is
taken from IN, usually from an upstream connection. In Manual, the
input is taken from SET and RESET, usually via operator sets.

MANSW Manual Switch unconditionally forces the block mode to Manual. 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.

NAME Name is a user-defined string of up to 12 characters used to access the


block and its parameters.

OWNER Owner is a settable 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.
This parameter is set by an Object Manager get/set call. Refer to Object
Manager Calls (B0193BC) for more information.

PERIOD Period is an indexed input that dictates the block’s execution time base
and allowable PHASE values. PERIOD values range from 0 to 12 and
map to the following period time lengths.

Period Length Period Length


0 0.5 sec 7 10 min

1752
96. PLSOUT – Pulse Output Block B0193AX – Rev N

Period Length Period Length


1 0.5 sec 8 60 min
2 1.0 sec 9 0.5 sec
3 2.0 sec 10 5.0 sec
4 10.0 sec 11 0.6 sec
5 30.0 sec 12 6.0 sec
6 1.0 min

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
I/A Series station is 0.5 sec. See Integrated Control Software Concepts
(B0193AW) document.

PLSTIM Pulse Time specifies the width of all generated pulses, in seconds. If you
specify a value less than 1.0, all pulses have a width of 1.0 sec.

PRIBLK Primary Block specifies the cascade behavior of the PLSOUT block.
When PRIBLK is 1, PLSOUT remains in Holding for PRITIM seconds
when the cascade has been opened.
Be aware that the combination of PRIBLK = 1 and PRITIM = 0.0 is
invalid.
When PRIBLK = 0, PLSOUT ends the Hold after one cycle.
Primary Block indicates whether the PLSOUT block has a connection
from an upstream block (PRIBLK = 1) or not (PRIBLK = 0). Its value
determines whether the PLSOUT block remains in Holding until the
PRITIM delay has expired, or ends the Hold after one cycle.

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
PLSOUT block. It is used only if the PRIBLK option is set. If PRITIM =
0 and PRIBLK is used, the cascade remains open indefinitely, or until
acknowledged by the primary block.

RBK Read-back State is a Boolean block input read from point RBK_PT. It is
typically used to indicate whether a valve is fully open or closed, or the
off/on state of a motor. Thus, it is intended to be used for a limit switch
output or other pulse override signal to the I/A Series station.

RBK_PT Read-back Address is a PROFIBUS data identifier (configurable string)


that specifies the point address of an optional read-back Boolean input
(RBK) to the PLSOUT block. For information on configuring the
PROFIBUS data identifier, refer to PROFIBUS-DP Communication
Interface Module (FBM223) User’s Guide (B0400FE).

1753
B0193AX – Rev N 96. PLSOUT – Pulse Output Block

For the Modbus interface (FBM224), RBK_PT must be configured to


contain the address of a coil in a Modbus device. Refer to Modbus Com-
munication Interface Module (FBM224) User’s Guide for details.

RESET Reset Request is one of the two Manual mode pulse-driving inputs. Any
transition of RESET from false to true causes a pulse output at COUT_2.

SET Set Request is one of the two Manual mode pulse-driving inputs. Any
transition of SET from false to true causes a pulse output at COUT_1.

SIMOPT Simulation Option is a configurable parameter that specifies if the DCI


block input/output value is to be simulated. In the PLSOUT block, the
block output is stored into its read-back value to simulate confirmation by
the field device.

TSTAMP Time Stamp is a long integer output that represents the time, in millisec-
onds since midnight, of the most recently updated input/output in a DCI
block. This time stamp is supplied either by the FBM or by the I/A Series
control station, depending on the type of FBM. If supplied by the FBM,
TSTAMP indicates the time of the latest updated value in the FBM. If
supplied by the I/A Series control station, TSTAMP indicates the time of
the latest updated value in the I/A Series control station.

TYPE When you enter “PLSOUT” or select it from a configurator list, an iden-
tifying integer is created specifying this block type. For this ECB, the
value of TYPE is 144.

1754
96. PLSOUT – Pulse Output Block B0193AX – Rev N

96.5 Functions
96.5.1 Detailed Diagram

IN (Auto) COUT_1 COUT_1 Request


0-to-1 Pulse
SET (Manual) Generation

(Clear)

IN (Auto) COUT_2 COUT_2 Request


0-to-1 Pulse
RESET (Manual) Generation

(Clear)

RBK
AND RBK
RBK_PT Configured Reversal
OR
PLSTIM
Expired

PRIBLK
INI_PT Tracking INITCO Up to INITI*
Cascade
PRITIM Processing
Open Cascade BKCO
Up to
BKCO Status BCALCI**

ECB Status COUT_1.Status


COUT_2.Status
BKCO
*To INITI input of upstream block
**To BCALCI input of upstream block
Figure 96-2. PLSOUT Block Operational Diagram

96.5.2 Associated ECBs


The configured parameter IOM_ID of the PLSOUT block specifies an ECB201 (the Device
ECB) to connect to field parameters that reside in a field device hosted by an ECB200 (the FBM
ECB). The PARENT parameter of the ECB201 specifies the associated ECB200 hosting the field
device.

1755
B0193AX – Rev N 96. PLSOUT – Pulse Output Block

96.5.3 DCI Connections


The PLSOUT block establishes from two to four DCI connections to the specified ECB upon
occurrence of any of the following:
♦ The I/A Series control station in which it resides has just been rebooted.
♦ The block has just been installed.
♦ A parameter of the block has been modified by the ICC or FoxCAE configurator.
♦ A device or parent ECB specified by the PLSOUT 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. It also allows multiple DCI con-
nections in the same DCI block to be established (for example, connections in redundant type
DCI blocks or for INI_PT connections in most output type blocks, such as this one).
The PLSOUT block always establishes DCI connections for parameters CO1_PT and CO2_PT.
If parameter INI_PT is configured with a non-null value, an additional DCI connection is estab-
lished for it. Similarly, if parameter RBK_PT is configured with a non-null value, an additional
DCI connection is established for it.
The DCI connections are deleted (that is, the linkages are removed from the linked list for the
ECB) when the PLSOUT block is deleted.

96.5.4 Output Points and Optional Input Points


The device addresses of the outputs are configured as strings in CO1_PT and CO2_PT. The
device address of the initialization input is configured as a string in INI_PT, and the device
address of the RBK (read-back) input is configured as a string in RBK_PT.
Either or both of INI_PT and RBK_PT may be blank if they are not used.
The formats of the CO1_PT, CO2_PT, INI_PT and RBK_PT parameters are bus specific and
device specific. When the PIO maintenance task runs after the DCI connections have been made
(see “DCI Connections” above), the strings 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 string is not sent to the FBM.
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 or CO2_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, the detail display shows “W67 – INSUF-
FICIENT FBM MEMORY” 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.

1756
96. PLSOUT – Pulse Output Block B0193AX – Rev N

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 six bullets above are repeated, but for INI_PT rather
than CO1_PT. The failure of any of these tests also causes the block to be set undefined.

96.5.5 Auto/Manual Arbitration


The auto/manual mode selection arbitrates between inputs by the operator (manual) and inputs
from the control strategy (auto). The block, regardless of its auto/manual state, always detects
changes in the point values made by the external device while a pulse is active.
Parameters MA, INITMA, AUTSW, and MANSW are used to establish the control mode of the
block.

96.5.6 Pulse Initiation in Auto and Manual


When the block is in Auto, any transition in the value of IN initiates a new pulse. A transition of
IN from 0 to 1 sets COUT_1 to 1, and this value is written to CO1_PT. At the same time,
COUT_2 is set to 0, and this is written to CO2_PT. On a 1-to-0 transition of IN, the opposite
values are written to CO1_PT and CO2_PT.
In Manual, the SET and RESET parameters are used to initiate the pulses, on a change-driven
basis. If an operator set causes RESET to change from 0 to 1, a pulse is initiated with 0 written to
CO1_PT and 1 written to CO2_PT. (The value of SET is cleared to 0 at that time). An operator
setting of SET from 0 to 1 causes a pulse to start with opposite values on CO1_PT and CO2_PT.
(The value of RESET is cleared to 0 at this time.) If both parameters are changed on the same
cycle, RESET takes precedence.
Note that COUT_1 and COUT_2 are never directly settable, whether in Auto or Manual.

96.5.7 Pulse Duration


The configured parameter PLSTIM determines the pulse width. If PLSTIM is set less than
1.0 second, it is changed internally to 1.0 second. However, no pulse can be less than one execu-
tion cycle in length, even if PLSTIM is set to 0.0.
If the conditions for a new pulse initiation are fulfilled (“Pulse Initiation in Auto and Manual”
following) while a previous pulse is active, a new pulse is begun, and any active pulse on the other
output is terminated.
A pulse terminates whenever the PLSTIM value is reached or the value of RBK is reversed (pro-
vided a non-null address has been configured for RBK_PT), whichever is first. RBK is reserved
for pulse override signals from the external device, and has the functionality of a limit switch.

96.5.8 Status of INI_PT


Transitions in the status of initialization input INI_PT are used in determining whether block ini-
tialization is required. This status is considered true if:
♦ The device value at INI_PT is true (that is, the external device has requested that the
block go into tracking).
♦ The DCI connection status information indicates Initialization Request, Local Over-
ride, Fail-safe, or Open Cascade.

1757
B0193AX – Rev N 96. PLSOUT – Pulse Output Block

96.5.9 Initialization
The PLSOUT block initializes whenever the block is restarted, whenever there is a bad-to-good
transition of the ECB status, a bad-to-good transition of the field device parameter, or whenever
the status of INI_PT transitions from true to false (see “Status of INI_PT” above). If RBK_PT
has been configured, the value from the external device at this point is set into IN, and also into
parameter RBK. If RBK_PT is unconfigured, the current value of IN is copied into RBK. Any
active pulses are terminated at this time by turning off COUT_1 and COUT_2 and resetting the
pulse timer.
If there is a bad-to-good transition of IN while in Auto, IN is initialized to the value at RBK_PT.
Whenever RBK is configured, and it changes on any cycle, whether or not that change has caused
a premature termination of a pulse, IN is initialized to the value of RBK.
In any initialization, the cascade is opened to force an upstream initialization (See “Cascade Pro-
cessing” following.)

96.5.10 Cascade Processing


INITCO should be connected to the INITI input of the block immediately upstream from the
PLSOUT block, if that block has an INITI parameter. When the cascade is opened, INITCO is
turned on. The status of BKCO, which should be connected to the BCALCI input of the block
immediately upstream if that block has a BCALCI parameter, and is set to indicate “open cas-
cade”. Although there may be no support for actual back-calculated values in BKCO, the current
read-back value from the external device is set into the value of BKCO. The block then goes into
a Hold, thereby disallowing any change-driven outputs. The upstream block (the block connected
to IN) is then commanded to run immediately. This feature causes a Run flag in the header of the
upstream block to be set, 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, PRIBLK should be configured
as 0. In this case the cascade is held open for one cycle, after which the Hold is released. If a spe-
cific time delay for closure of the cascade is desired, the value PRIBLK = 1 should be configured,
with PRITIM specifying the (nonzero) delay period. The cascade is closed after the PRITIM
delay has expired.
In the PLSOUT block, the ACK option “PRITIM = 0.0” is invalid, and results in a validation
error.

96.5.11 Status of the Output Values


The status of COUT_1, together with the status of the ECB, is determined each time the block is
executed. The status bits of COUT_1, COUT_2, and BKCO are then set according to the fol-
lowing rules.
The status bits are set to Out-of-Service if any of the following conditions exists:
♦ The 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 under
“DCI Connections” above.

1758
96. PLSOUT – Pulse Output Block B0193AX – Rev N

♦ The DCI connection status information, which specifies the condition of the con-
nected device parameter, indicates out-of-service, meaning (in general) that the
parameter value is unavailable, or
♦ The status information indicates disconnected, meaning (in general) that the parame-
ter 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 bits are set to Bad if the ECB status indicates that the field device has failed.

96.5.12 Holding, Tracking, and Securing


The block goes into Holding whenever the ECB is bad or out-of-service, the field device parame-
ter has bad status, IN is “bad”, or the block is in Auto with the cascade not closed. The block does
not perform any output processing when it is in Hold.
The block goes into Tracking when the status of INI_PT is true (see “Status of INI_PT” above).
When in Tracking, the block does not initiate any new pulses, although currently active pulses are
allowed to run to completion.
Manual mode inputs SET and RESET are secured whenever the outputs are bad or out-of-ser-
vice, or the initialization input (at INI_PT) has true status.

96.5.13 Simulation Option


When Simulation Option (SIMOPT) is configured true, there is no connection to the ECB, and
no DCI connections are established for the block. The status information and data values of
COUT_1, COUT_2 and INI_PT are not recovered from the field, and no writing to the field
outputs occurs.
However, the basic actions of Auto and Manual modes are still observed when SIMOPT is true. If
the block is in Auto, IN may be used for simulated inputs; if the block is in Manual, SET and
RESET may be used. All normal processing of the inputs, including pulse generation and timing,
are performed.

96.5.14 Identification and Access Control


The LOOPID, OWNER, LOCKRQ, LOCKID, and ACHNGE parameters are used in the stan-
dard way in the PLSOUT block.

1759
B0193AX – Rev N 96. PLSOUT – Pulse Output Block

1760
97. PTC – Proportional Time
Controller Block
This chapter describes the PTC (Proportional Time Controller Block), its features, parameters
and detailed operations.

97.1 Overview
The Proportional Time Controller block, PTC, activates one of two pulsed outputs, OUTINC or
OUTDEC, for a time duration that varies directly with the deviation between the setpoint and
the measurement (see Figure 97-1). The outputs normally control on/off valves or bidirectional
type motor driven final operator devices, via COUT, MCOUT, VLV, MOVLV, or MTR
Input/Output blocks, or a suitable combination thereof.

Repeat Time
Proportional Band

Dead Zone
e
+ ERROR Pulse ++ OUTINC
Setpoint +
0 e Duration
Algorithm OUTDEC
Measurement
GAP

Alarming Alarm Messages


and Indicators
Figure 97-1. PTC Block I/O Diagram

97.2 Features
The 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 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 input detection and handling

1761
B0193AX – Rev N 97. PTC – Proportional Time Controller Block

♦ 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:
♦ STRKOP, Setpoint Tracking Option, forces the setpoint to track the measurement
signal. STRKOP is enabled only when the LR parameter is in Local and either the
output is in manual. STRKOP is not performed if any measurement data errors are
detected. This feature allows bumpless return to automatic control when the PTC
returns to closed-loop operation.
♦ MBADOP, Manual if Bad Option, is a manual override feature. It sets the unlinked
MA input to manual (thereby forcing the output state to manual), if the Measurement
is disconnected, bad, or off-scan. A return to Auto requires external intervention.
♦ MALOPT, Measurement Alarming Option, provides absolute alarming of the mea-
surement during auto operation. This option also provides standard alarm
notification and reporting features.
♦ HHAOPT, High-High and Low-Low Absolute Alarming option, provides absolute
alarming for target (HHALIM and LLALIM) alarming of the measurement input at a
given priority level (HHAPRI), or disables High-High and Low-Low absolute alarm-
ing altogether. Each alarm triggers an indicator and text message.
♦ INHOPT, Inhibit Option, allows you to specify alarm inhibit options.
♦ DALOPT, Deviation Alarm Option, enables (when true) deviation alarming of the
measurement-setpoint (MEAS - SPT) signal.
♦ 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.
♦ CEOPT, Control Error Option, allows you to enable, or disable, the block’s implicit
Hold action when it detects an error (ERR) in the MEAS input.
♦ PROPT, Propagate Error Option, gives you the option of propagating the error
(ERR) status bit from the MEAS input to the block’s OUTDEC and OUTINC out-
put parameters.
♦ LOCSP, Local Setpoint Secure, enables you to secure against any write access to the
LR parameter.
♦ INITLR, Initialize Local/Remote, specifies the desired state of the LR input during
initialization.
♦ INITMA, Initialize Manual/Auto, specifies the desired state of the MA input during
initialization.

1762
97. PTC – Proportional Time Controller Block B0193AX – Rev N

97.3 Parameters
Table 97-1. PTC 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 12 PTC
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/no-set blank 1 to 32 chars
MEAS process input real con/set 0.0 RI1
HSCI1, HSCI2 high scale in 1 and 2 real no-con/no-set 100.0 specifiable
LSCI1, LSCI2 low scale in 1 and 2 real no-con/no-set 0.0 specifiable
DELTI1, DELTI2 change delta 1 and 2 real no-con/no-set 1.0 percent
EI1 to 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/no-set 0.0 RI1
PBAND proportional band real con/set 1000.0 [0.1..]percent
GAP control dead zone real con/set 0.0 [0..]RI2
REPTIM repeat time real con/set 0.0 [0..]minutes
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 Boolean no-con/no-set 0 0 to 1
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
RSP remote setpoint real con/set 0.0 RI1
STRKOP setpoint track option Boolean no-con/no-set 0 0 to 1
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 FFFF
MEASNM meas alarm name string no-con/no-set blank 1 to 12 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

1763
B0193AX – Rev N 97. PTC – Proportional Time Controller Block

Table 97-1. PTC Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


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]
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 dead- real no-con/set 0.0 RI1
band
DEVPRI deviation alarm priority integer con/set 5 [1..5]
DEVGRP deviation 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]
OUTPUTS
ALMSTA alarm status pack_l con/no-set 0 0 to FFFFFFFF
BCALCO back calculated out real con/no-set 0.0 RI1
BLKSTA block status pack_l con/no-set 0 0 to FFFFFFFF
CRIT criticality integer con/no-set 0 [0..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 indi- Boolean con/no-set 0 0 to 1
cator
INHSTA inhibit status pack_l con/no-set 0 0 to FFFFFFFF
INITO initialize out short con/no-set 0 0 to 1
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 Boolean con/no-set 0 0 to 1
indicator
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 8]
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 FFFFFFFF
DEFINE no config errors Boolean no-con/no-set 1 0 to 1
ERCODE config error string no-con/no-set 0 0 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

1764
97. PTC – Proportional Time Controller Block B0193AX – Rev N

Table 97-1. PTC Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


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 0 to 3
RI1 to RI2 eng range input real[3] no-con/no-set 100,0,1 specifiable

97.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 PTC block, only the following unshaded 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
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

Bit
Number* Configured Alarm Option Boolean Connection
(0 to 31) When True (B32 to B1)
0 Alarm Group 8 in Use ALMOPT.B32
1 Alarm Group 7 in Use ALMOPT.B31
7 Alarm Group 1 in Use ALMOPT.B25
16 Low Absolute Alarm Con- ALMOPT.B16
figured
17 High Absolute Alarm Con- ALMOPT.B15
figured
20 Low Deviation Alarm Con- ALMOPT.B12
figured
21 High Deviation Alarm Con- ALMOPT.B11
figured
24 Low-Low Absolute Alarm ALMOPT.B8
Configured
25 High-High Absolute Alarm ALMOPT.B7
Configured
* Bit 0 is the least significant bit (starting from the right)

There are no mnemonic names for the individual bits of ALMOPT.

1765
B0193AX – Rev N 97. PTC – Proportional Time Controller Block

ALMSTA Alarm Status is a 32-bit output, bit-mapped to indicate the block’s alarm
states. For the PTC 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

B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
UNAK B2
B3
B4
B5
B6
B7
B8
B9
CRIT PRTYPE

HMA
HHA

HDA

LMA
LDA
LLA
INH

Boolean
Bit Number Connection
(0 to 31)* Name Description When True (B32 to B1)
0 to 4 PTYP_MSKPriority Type: See parame- ALMSTA.B32–
ter PRTYPE for values ALMSTA.B28
used in the PTC block
5 to 7 CRIT_MSK Criticality; 5 = lowest pri- ALMSTA.B27–
ority, 1= highest 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 ALMSTA.B7
Alarm
29 INH Alarm inhibit ALMSTA.B3
30 UNAK Unacknowledged ALMSTA.B2
* Bit 0 is the least significant bit (starting from the right).

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 nonsettable, real output that is equal to


MEAS except in the following situations, where it is equal to SPT:
♦ The block is transitioning from Local to Remote mode on this
cycle.
♦ MEAS has Bad status.
♦ MEAS has Out-of-Service status.
♦ MEAS has (ERR) Error status.
♦ MEAS is experiencing source connection problems.
With V4.2 and later software, the status bits of BCALCO contain the cas-
cade initialization requests formerly contained in the INITO parameter.

1766
97. PTC – Proportional Time Controller Block B0193AX – Rev N

You connect the BCALCO parameter to the BCALCI input of an


upstream block so that this upstream block can sense when the PTC block
is open.

BLKSTA Block Status is a 32-bit output, bit-mapped to indicate the block’s opera-
tional states. For the PTC 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

B10
B11
WLCK B12
B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
STRK B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9
MAO

BAD
LRO

TRK
HLD

CTL
MA
ON

LR
Boolean
Bit Number* Connection
(0 to 31) Name Description When True (B32 to B1)
5 CTL
Controlling BLKSTA.B27
6 Tracking TRK BLKSTA.B26
7 Holding HLD BLKSTA.B25
9 STRK
Setpoint Tracking BLKSTA.B23
10 LR
Local(= false)/Remote(= BLKSTA.B22
true)
11 MA Manual(= false)/Auto(= BLKSTA.B21
true)
12 BAD block in BAD state BLKSTA.B20
14 UDEF Undefined (Inverse of BLKSTA.B18
DEFINE)
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 bit (starting from the right).

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:
0= The block takes no implicit Hold action when it detects a con-
trol error.

1767
B0193AX – Rev N 97. PTC – Proportional Time Controller Block

1= The block goes to the Hold state if, while MBADOP is false,
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 is false,
MEAS meets any of the conditions described for CEOPT = 1,
or if MEAS has its ERR status bit set true.

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

CRIT Criticality is an integer output that indicates the priority, ranging from 1
to 5, of the block’s highest currently active alarm (1 is the highest priority).
A value 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 signal (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
block. DEFINE is the inverse of undefined (UDEF) in the BLKSTA
parameter.

DELTI1 to DELTI2
Change Delta for Input Ranges 1 and 2 are real values that define the res-
olution as a percent of the measurement range. Entering a 1 causes the
Object Manager to recognize and respond to a change of 1 percent of the
full range.

DESCRP Description is a user-defined string of up to 32 characters that describe the


block’s function (for example, “PLT 3 FURNACE 2 HEATER CON-
TROL”).

DEVADB Deviation Alarm Deadband is a real input, in MEAS units, that applies to
both High and Low Deviation Limits.

1768
97. PTC – Proportional Time Controller Block B0193AX – Rev N

DEVGRP Deviation Group is an integer input that directs deviation alarm messages
to one of eight groups of alarm devices.

DEVPRI Deviation Priority is an integer 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,
provide the engineering units text for the values defined by Input Ranges
1 through 8. “DEG F” or “PH” are typical entries. EI1 is used with MEAS
and EI2 is used with the setpoint.

ERCODE Error Code is a string data store which indicates the type of configuration
error or warning encountered. The error situations cause the block’s
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 PTC block, the following list
specifies the possible values of ERCODE, and the significance of each
value in this block:
Message Value
“W43 – INVALID PHASE does not exist for given
PERIOD/PHASE block PERIOD, or block PERIOD
COMBINATION” not compatible with compound
PERIOD.
“W44 – INVALID High range value is less than or
ENGINEERING RANGE” equal to low range value.
“W46 – INVALID INPUT The source parameter specified in
CONNECTION” the input connection cannot be
found in the source block, or the
source parameter is not connectable,
or an invalid boolean extension con-
nection has been configured.
“W48 – INVALID BLOCK The configured value of a block
OPTION” option is illegal.
“W53 – INVALID A parameter value is not in the
PARAMETER VALUE” acceptable range.
“W58 – INSTALL ERROR; A Database Installer error has
DELETE/UNDELETE occurred.
BLOCK”

ERROR Control Error is a real output that equals the Setpoint minus Measure-
ment (SPT - MEAS). ERROR can be sourced to other blocks.

GAP Control Dead Zone is a real input defining the size of the region which
the measurement (MEAS) may traverse without activating OUTINC or
OUTDEC. This parameter sizes a symmetric envelope (around the

1769
B0193AX – Rev N 97. PTC – Proportional Time Controller Block

selected setpoint), that determines the measurement level that activates


one of the outputs. GAP has the same relative units as relative MEAS and
SPT, but is clamped by RI2.

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-configured text string of up to 32-


characters, output with the alarm message to identify the alarm.

HHAGRP High-High Absolute Alarm Group is an 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 mea-
surement input exceeds the high-high absolute alarm limit (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 input that triggers a High-High absolute alarm.

HHAOPT High-High Alarm Option is an integer input that enables High-High and
Low-Low absolute alarming for alarming of a block-dependent value, gen-
erally the measurement input, or disables High-High and Low-Low abso-
lute 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 mode, holding the output at its last computed
value.
HOLD is not affected by CEOPT.

1770
97. PTC – Proportional Time Controller Block B0193AX – Rev N

HSCI1 to HSCI2 High Scale for Input Ranges 1 and 2 are real values that define the upper
limit of the measurement ranges. EI1 and EI2 define the text for the units.
Make the range and units consistent with the measurement source. A typ-
ical value is 100 (percent).
HSCI1 is used for scaling MEAS and SPT. HSCI2 is used for scaling 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 PTC
block, only the following bits are used:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

B10

B11

B12

B13

B14

B15

B16
B1

B2

B3

B4

B5

B6

B7

B8

B9
Bit Number* Boolean Connection
(0 to 15) Description When True (B16 to B1)
0 Inhibit Low Absolute Alarm INHALM.B16
1 Inhibit High Absolute INHALM.B15
Alarm
4 Inhibit Low Deviation INHALM.B12
Alarm
5 Inhibit High Deviation INHALM.B11
Alarm
6 Inhibit Bad I/O Alarm INHALM.B10
8 Inhibit Low-Low Absolute INHALM.B8
Alarm
9 Inhibit High-High Abso- INHALM.B7
lute Alarm
12 Inhibit Out-of-Range Alarm INHALM.B4
13 Inhibit Alarm INHALM.B3
14 Unacknowledged INHALM.B2
* Bit 0 is the least significant bit (starting from the right).

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.

1771
B0193AX – Rev N 97. PTC – Proportional Time Controller Block

INHOPT Inhibit Option specifies the following actions applying to all block alarms:
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.

INHSTA Inhibit Status contains values that represent the actual inhibit status of
each alarm type configured in the block. For the PTC block, only the fol-
lowing 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
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
UNACK B2
B3
B4
B5
B6
B7
B8
B9
OOR

HMA
HHA

HDA

LMA
BAD

LDA
LLA
INH

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
16 LMA Low Absolute Alarm Inhib- INHSTA.B16
ited
17 HMA High Absolute Alarm Inhib- INHSTA.B15
ited
20 LDA Low Deviation Alarm INHSTA.B12
Inhibited
21 HDA High Deviation Alarm INHSTA.B11
Inhibited
22 BAD Bad I/O Alarm Inhibited INHSTA.B10
24 LLA Low-Low Absolute Alarm INHSTA.B8
Inhibited

1772
97. PTC – Proportional Time Controller Block B0193AX – Rev N

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
25 HHA High-High Absolute Alarm INHSTA.B7
Inhibited
28 OOR Out-of-Range Alarm Inhib- INHSTA.B4
ited
29 INH Inhibit Alarm Inhibited INHSTA.B3
30 UNACK Unacknowledged Inhibited INHSTA.B2
* Bit 0 is the least significant bit (starting from the right).

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 as specified in the checkpoint file (reboot only).
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
linkage.

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 (reboot only).
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, 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.

1773
B0193AX – Rev N 97. PTC – Proportional Time Controller Block

♦ 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. 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
INITO connection, is eliminated.

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 an input that defines how far the measure-
ment 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). 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 input 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-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 block’s
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

1774
97. PTC – Proportional Time Controller Block B0193AX – Rev N

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 and
EI2 define the units. Make the range and units consistent with those of
the measurement source.
LSCI1 is used for scaling MEAS and SPT. LSCI2 is used for scaling 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.

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.

1775
B0193AX – Rev N 97. PTC – Proportional Time Controller Block

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


true, the block sets the unlinked MA input to manual if it detects a BAD
status bit in the MEAS input. This forces the output state to manual as
long as the BAD status remains. After the BAD status clears, returning to
Auto mode requires external intervention unless AUTSW is true. 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.

MEAS Measurement is an input identifying the source of the block’s input, or the
controlled variable.

MEASDB Measurement Alarm Deadband is a configured, settable input, expressed


in MEAS units, that applies to both High, High-High, Low and Low-Low
absolute 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.

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

1776
97. PTC – Proportional Time Controller Block B0193AX – Rev N

MEASLT Measurement Low Alarm Message Text is a user-defined text string of up


to 32 characters that are 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 identify 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.

OUTDEC Output Decrease is a pulsed output. In the Auto mode, OUTDEC is


pulsed when the measurement input goes above the setpoint by more than
½ the GAP. The pulse train continues until the measurement passes back
through the gap deadband into the gap dead zone.
Moving from Auto to Manual clears the OUTDEC output.
In Manual, no proportional time control is performed and the OUTDEC
output is settable.

OUTINC Output Increase is a pulsed output. In the Auto mode, OUTINC is


pulsed when the measurement input falls below the setpoint by more than
½ the GAP. The pulse train continues until the measurement passes back
through the gap deadband into the gap dead zone.
Moving from Auto to Manual clears the OUTINC output.
In Manual, no proportional time control is performed and the OUTINC
output is settable.

OWNER Owner is a settable string of up to 32 ASCII characters which are used to


allocate control blocks to applications. Attempts to set Owner are success-
ful 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.

PBAND Proportional Band is an input that determines, for any given error, the
length of the OUTINC or OUTDEC “on” time during each controlling
period. PBAND defaults to 1000. A smaller value results in greater sensi-
tivity and a longer “on” time for a given error. A larger PBAND value
reduces sensitivity and the “on” time for a given error.

PERIOD Period is an indexed input that dictates the block’s execution time base
and allowable PHASE values. PERIOD should be chosen to obtain the
minimum pulse width required for the process being controlled. For sta-
tions other than Integrators and Gateways, PERIOD values range from 0

1777
B0193AX – Rev N 97. PTC – Proportional Time Controller Block

to 13 and map to the following period time lengths. (Integrator and Gate-
way 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*****

* 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, and CP60.

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. See Integrated Control Software Concepts
(B0193AW) document.

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.

1778
97. PTC – Proportional Time Controller Block B0193AX – Rev N

PRSCON Present Control state is a short integer data store that contains the sub-
states of Auto:
1 = Holding
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 Absolute
4 = Low-Low Absolute
5 = High Deviation
6 = Low Deviation
8 = BAD Alarm
If there is more than one active alarm with the highest priority, PRTYPE
reports the alarm type according to which occurs first as follows: Bad,
High-High Absolute, Low-Low Absolute, High Absolute and Low Abso-
lute.
For example: if the Bad and High-High Absolute alarms both have prior-
ity 3 and the Low-Low alarm has priority 4, and all three alarms are active,
then CRIT = 3 and PRTYPE = 8.

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.

REPTIM Repeat Time is a real input that establishes the periodic time interval in
which proportional time control occurs. REPTIM determines the sam-
pling period of the on/off controller and should be much smaller than the
dominant time constant of the process while still much greater than the
scan interval (PERIOD) of the block. Within each time interval, the per-
centage of “on” time of the appropriate on/off command signal is directly
proportional to the amount of error that exists at the instant the time
period begins, and inversely proportional to the PBAND value.

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.
RI1 is used for MEAS and SPT. RI2 is used for GAP.

1779
B0193AX – Rev N 97. PTC – Proportional Time Controller Block

RSP Remote Setpoint is the selected setpoint source when LR is set to Remote.
RSP is a real input. Typically RSP connects to an upstream block in a cas-
cade 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.

STRKOP Setpoint Track Option is a Boolean input. When true, STRKOP enables
the setpoint to track the measurement input if the setpoint source selector
LR is in Local AND the block is in Manual. SPT is nonsettable while set-
point tracking is active. You can change STRKOP only by reconfiguring
the block.

TYPE When you enter “PTC” or select “PTC” 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.

97.4 Detailed Operation


The Proportional Time Controller block activates one of two Boolean outputs, OUTINC or
OUTDEC, for a time duration that varies directly with the error between the setpoint and the
measurement (MEAS - SPT). The outputs normally control on/off valves or bidirectional type
motor driven final operator devices, via specialized Input/Output blocks.
The PTC block optionally supports absolute and deviation alarming of the measurement.

97.4.1 Detailed Diagram


Figure 97-2 is a simplified block diagram that depicts the functional signal flow of the PTC block.
It shows the forward path of the block as it relates to the various states, logic control signals, and
options represented by toggle switches.

1780
97. PTC – Proportional Time Controller Block B0193AX – Rev N

LR
LOCSP Manual
LOCSW
REMSW Local
Remote SPTRK
RSP
Local GAP
SPT SPT AUTSW
REPTIM MBADOP
Track
MANSW
Dead Zone PBAND HOLD MA
e
ERROR Pulse
MEAS + Duration Manual
Control
0 e Algorithm OUTINC
Auto
Hold
BCALCO
~
MEAS Deviation Manual
unreliable Control
OUTDEC
(see BCALCO) Auto
INHIB Hold
INHALM Limit
HDALIM HDAIND
INHOPT (High
HDATXT
Deviation
Alarming)
DALOPT
DEVADB
DEVPRI Limit
LDALIM LDAIND
DEVGRP (Low
LDATXT MANALM
Deviation
MA
Alarming)
Manual

HHALIM Limit HHAIND Auto Output Message


MEASDB (High-High Including:
HHATXT Absolute HHAIND, HHATXT
Alarming) LLAIND, LLATXT
HHAOPT MEASHI, MEASHT
HHAPRI MEASLI, MEASLT
HHAGRP LLALIM Limit LLAIND HDAIND, HDATXT
MEASNM MEASDB (Low-Low LDAIND, LDATXT
LLATXT Absolute PRTYPE
Alarming) CRIT
UNACK

MEASHL Limit MEASHI


MEASDB (High
MEASHT Absolute
Alarming)
MALOPT
MEASPR
MEASGR MEASLL Limit MEASLI
MEASNM MEASDB (Low
MEASLT Absolute
Alarming)

Figure 97-2. PTC, Detailed Block Diagram

1781
B0193AX – Rev N 97. PTC – Proportional Time Controller Block

97.4.2 Proportional Time Control


Key Parameters: GAP, MEAS, OUTDEC, OUTINC, PBAND, REPTIM, RSP, SPT
The Proportional Time Controller consists of two output signals, OUTDEC and OUTINC,
with a fixed control period and the logic to turn either output signal “on” for a portion of that
control period. The block controls by varying the percentage of “on” time (or “duty cycle”) within
each control period. See Figure 97-3.

ERROR (= SPT -MEAS)


-100
GAP

SPT

MEAS
+100

one REPTIM
determines when new
output is calculated

one block PERIOD


= minimum pulse width
OUTINC
OUTDEC
one duty cycle

Figure 97-3. Pulse Duration Algorithm Timing Diagram

The entire control period is called the “Repeat Time” and is set by you when you enter the
REPTIM. The percentage of “on” time is:
♦ inversely proportional to the proportional band value (PBAND), and
♦ directly proportional to the error (MEAS − SPT) existing at the instant the control
period begins.
Therefore, the controller operates as a linear proportional-only controller whose gain is adjusted
by the PBAND setting.

97.4.2.1 Output Pulse Width


Key Parameters: ERROR, MEAS, PBAND, PERIOD, REPTIM, RI1
The duty cycle (the percentage of “on” time for OUTINC or OUTDEC, see Figure 97-3) is
related to the sampled error signal as described in the following equation:
duty_cycle = 100 * ERROR(k * REPTIM) / (meas_span * PBAND)
Where:
k = the kth repeat time period
meas_span = (RI1.HSCALE - RI1.LSCALE)
RI1 = the MEAS range array

1782
97. PTC – Proportional Time Controller Block B0193AX – Rev N

In this expression, the measurement span is used to normalize the error in proportion to the
repeat time period. Thus, the actual output pulse width in any repeat time period is:
pulse_width = duty_cycle * REPTIM
In an actual application, REPTIM should be shorter than the dominant time constraint of the
process, but should also be much greater than the PERIOD parameter time. PERIOD should be
selected to obtain the minimum pulse width required for the process being controlled. Its size, rel-
ative to REPTIM, determines the controller’s resolution within the proportional band setting.
In short:
PERIOD < REPTIM < dominant time constraint

97.4.2.2 PTC Application


Key Parameters: GAP, MEAS, OUTDEC, OUTINC, PBAND, REPTIM, RSP, SPT
The two Boolean outputs, OUTINC and OUTDEC can be used to control tristate final operator
devices such as bi-directional motor-driven actuators and dual-switch contactors.
For on-off control applications that require only one output, you can employ either OUTDEC or
OUTINC to control bi-state devices like a solenoid valve or an electrical heater element.
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).
An adjustable GAP band centered about zero deviation creates a dead-zone region (see
Figure 97-3). While the deviation is in this region, OUTINC and OUTDEC are inoperative.
The measurement has one source; the upstream block output that is linked to the MEAS parame-
ter at configuration.
For applications requiring combinations of proportional, integral, and derivative control action, a
PID block may be used to drive the PTC block in a cascade arrangement with the PTC block
configured as either a controller (positioner) or a signal converter.

97.4.3 Setpoint Control Mode


Key Parameters: LOCSP, LOCSW, LR, REMSW, RSP, SPT, STRKOP
The SPT parameter is the local setpoint and always represents the active controller setpoint.
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
you to input the desired controller setpoint value.
♦ When LR is switched to Remote (true), SPT is nonsettable and takes on the value of
the remote setpoint input, RSP. RSP is a 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 uncon-
nected RSP parameter.
The LOCSW and REMSW override parameters can drive the setpoint state to Local or Remote,
respectively.
LOCSP allows the block to secure the LR parameter when the block initializes and to maintain
that secured state except when LOCSW or REMSW is asserted.

1783
B0193AX – Rev N 97. PTC – Proportional Time Controller Block

When the block is in the Remote mode, the value of the setpoint (SPT) tracks the value of the
remote setpoint (RSP).
When the block is switched to Local mode, the setpoint value depends on the setpoint tracking
option (STRKOP):
♦ If STRKOP is set true, the SPT value is cleared.
♦ If STRKOP is false, the SPT value reflects the RSP value at the time the switch to
Local occurred. The block maintains this value as long as block is in Local, unless the
user changes the SPT value via data access.

97.4.3.1 Setpoint Tracking


Key Parameters: LR, MEAS, SPT, STRKOP
The setpoint track option, STRKOP, forces the PTC setpoint, SPT, to track the measurement
input, MEAS.
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 is set true, the SPT value is cleared.
♦ If STRKOP is false, the SPT value reflects the RSP value at the time the switch to
Local occurred. The block maintains this value as long as block is in Local, unless the
user changes the SPT value via data access.
To prevent external manipulation, the tracked setpoint value, SPT, is nonsettable while setpoint
tracking is active.

97.4.4 Block States


The PTC block has three states: Initialization, Manual and Auto.

97.4.4.1 Initialization
Key Parameters: INITMA
At initialization, the block initializes MA. DEFINE is set to 0 if any configured parameters fail
validation testing.
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.

97.4.4.2 Manual
Key Parameters: MA
In manual, the block releases the outputs, allowing them to be set by the user.
A state change from Auto to Manual forces the block to set OUTINC, OUTDEC, and all alarm
indicators false. In the Manual state, PTC does not perform proportional time control and the
outputs become settable.
When the block is switched to Manual, the OUTINC or 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.
Alarming is only performed in Manual if the MANALM option is configured true.

1784
97. PTC – Proportional Time Controller Block B0193AX – Rev N

97.4.4.3 Auto
Key Parameters: MA
In auto mode, the block secures the outputs. Auto has two substates: Controlling and Hold.
Configured alarming is always performed in Auto.

97.4.4.3.1 Controlling
Key Parameters: PROPT, MA, MEAS, OUTDEC, OUTINC, PBAND, REPTIM, SPT
In the Controlling substate, the block performs proportional time control (described above).
Control action for the two outputs is derived by a pulse-duration algorithm that is a function of
error (MEAS − SPT), the control period (REPTIM), and the proportional band setting
(PBAND).
During Auto operation, the block checks the input MEAS for data errors (off-scan, or BAD,
OOS, or ERR status bits set). If an error is detected, the PTC block may propagate the error to its
outputs by setting the ERR status bit of OUTDEC and OUTINC, depending on the value of the
PROPT parameter (see PROPT definition).

97.4.4.3.2 Hold
Key Parameters: CEOPT, HOLD, MA, MBADOP, OUTDEC, OUTINC
In the Hold substate, the block holds the process at the last controlled state by setting
OUTINC and OUTDEC to false. The block goes to the Hold substate if, while MBADOP is
false and CEOPT = 1 or 2, either the HOLD parameter goes true, or a condition required by the
CEOPT parameter is met. When all error conditions are removed, the block returns to the Con-
trolling substate to resume on-off control.

97.4.5 Alarming
The PTC block optionally supports absolute, high-high, low-low of the measurement and devia-
tion alarming for (MEAS − SPT). Configured alarming is always performed in Auto. Alarming is
only performed in Manual if the MANALM option is configured true. The block logs, and gener-
ates, alarm messages if the INHIB input is false.
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.
The different types of alarming are discussed below.

97.4.5.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
Table 97-1 for its formatting.
The INHOPT parameter specifies the actions taken when alarms are inhibited in the block. See
Table 97-1 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.

1785
B0193AX – Rev N 97. PTC – Proportional Time Controller Block

DALOPT enables/disables High and/or Low deviation alarming.


Refer to the parameter descriptions for setting HHAOPT, MALOPT, and DALOPT.

97.4.5.2 Absolute Alarming


Absolute alarming checks if MEAS has exceeded a predefined limit. See Figure 97-4.

Alarm Generated

High EU Alarm Clears

High Absolute Alarm Limit


Deadband {

MEAS

Deadband {
Low Absolute Alarm Limit

Low EU
Time Alarm Clears
Alarm Generated
Figure 97-4. Absolute Alarming

Four forms of absolute alarming are available in PTC, as described below.

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

97.4.5.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, LLALIM plus
the deadband (MEASDB), the block sets LLAIND to false and outputs a return-to-normal mes-
sage.

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

1786
97. PTC – Proportional Time Controller Block B0193AX – Rev N

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

97.4.5.3 Deviation Alarming


Deviation alarming checks if the error (MEAS - SPT) has exceeded the predefined deviation lim-
its. See Figure 97-5.

High EU
Deviation

SPT

MEAS

Low EU
Time

HDA Alarm Generated

+ Deviation HDA Alarm Clears

High Deviation Alarm Limit


Deadband {

MEAS
Deviation = 0

Deadband {
Low Deviation Alarm Limit
- Deviation
Time LDA Alarm Clears
LDA Alarm Generated
Figure 97-5. Deviation Alarming

Two forms of deviation alarming are available, as described below.

97.4.5.3.1 High Deviation Alarming


Key Parameters: DEVADB, MEAS, HDAIND, HDALIM, HDATXT, SPT
In High Deviation Alarming, the deviation (MEAS − SPT) 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

1787
B0193AX – Rev N 97. PTC – Proportional Time Controller Block

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

97.4.5.3.2 Low Deviation Alarming


Key Parameters: DEVADB, LDAIND, LDALIM, LDATXT, MEAS, SPT
In Low Deviation Alarming, the deviation (MEAS − SPT) 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).

97.4.6 Cascade Configuration


A typical configuration using the PTC block (as a secondary block) is shown below.

MEAS
PID OUT RSP PTC

MEAS

FBK

BCALCI BCALCO
Figure 97-6. PTC Block in Cascade Configuration

To provide bumpless initialization of the upstream block in a cascade:


♦ Link BCALCI of the primary controller (PID in Figure 97-6) to BCALCO of the
PTC block.
♦ Link FBK (external reset) of the primary controller to BCALCO of the PTC block.

97.4.7 Application
Figure 97-7 shows the PTC 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 PTC
pulse duration algorithm with the feedback signal connecting to the measurement input. The
PID controller sets the demand for valve position via the remote setpoint (RSP) input.

1788
97. PTC – Proportional Time Controller Block B0193AX – Rev N

MEAS

SPT
PID

OUT
RSP

MEAS PTC

OUTINC OUTDEC
(Increase) (Decrease)

AIN COUT, MCOUT AIN

FBM FBM FBM

Motor
Driven
Actuator
PT
Position
Sensor

Furnace
Air
Damper

Figure 97-7. PTC with Position Feedback Using


Pulse-Duration-Algorithm

1789
B0193AX – Rev N 97. PTC – Proportional Time Controller Block

1790
98. RAMP – Ramp Block
This chapter describes the RAMP block, its features, parameters and detailed operations.

98.1 Overview
The Ramp function generator, RAMP, ramps the output (OUT) in a velocity mode. The toggle
input, UPDOWN, controls the direction of the ramp and two independent ramp rates,
DNRATE and UPRATE, determine the speed, or slope, of the ramp. Two variable output limits,
HOLIM and LOLIM, constrain the peak-to-peak amplitude of the output ramp waveform. It is
also possible to specify the direction of ramping using the RMPUP and RMPDWN parameters.
To use these parameters, set the RMPOPT option to true.

98.1.1 I/O Diagram

Repeat Option
Manual/Auto Output

Ramp Initialize
Ramp Control
Hold Control Block Status
Follow Control RAMP

UpDown Control BLOCK High Output Limit Indicator


Up Rate/Down Rate (2) Low Output Limit Indicator
Balance Time
Hi & Lo Output Limits
Output Scaling
Dynamic Ramp Inhibit

Figure 98-1. RAMP Block I/O Diagram

98.2 Features
The features are:
♦ Manual/Auto mode for disconnecting control schemes from the process, for simula-
tion and checkout purposes
♦ Output Limiting – High and Low Absolute.
♦ Dynamic ramp inhibiting.
The options are:
♦ Repeat Option (REPTOP) allows the output to continuously ramp up and down
between the output limits, as long as the block is in the Ramp substate.
♦ Manual output clamping (MCLOPT).

1791
B0193AX – Rev N 98. RAMP – Ramp Block

♦ Ramp Option (RMPOPT) allows you to specify RMPDWN and RMPUP parame-
ters. The RAMP block uses these parameters to determine the direction of the ramp.
If not set, the UPDOWN parameter is used.
♦ Initialize Manual/Auto (INITMA) specifies the desired state of the MA input during
initialization.

98.3 Parameters
Table 98-1. RAMP 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 15 RAMP
DESCRP descriptor string no-con/no-set blank 1 to 32 chars
PERIOD block sample time short no-con/no-set 1 1 to 13
PHASE block phase number integer no-con/no-set 0 ---
LOOPID loopid string no-con/no-set blank 1 to 32 chars
RAMP ramping mode boolean con/set 0 0 to 1
RMPOPT ramp block option boolean no-con/no-set 0 0 to 1
UPDOWN ramp direction boolean con/set 0 0 to 1
RMPDWN ramp down boolean con/set 0 0 to 1
RMPUP ramp up boolean con/set 0 0 to 1
INHDWN inhibit down ramp boolean con/set 0 0 to 1
INHUP inhibit up ramp boolean con/set 0 0 to 1
UPRATE up ramp rate real con/set 0.0 EI1/minute, RI1
DNRATE down ramp rate real con/set 0.0 EI1/minute, RI1
HSCI1 high scale 1 real no-con/no-set 100.0 specifiable
LSCI1 low scale 1 real no-con/no-set 0.0 specifiable
DELTI1 change delta 1 real no-con/no-set 1.0 percent
EI1 eng units input string no-con/no-set % specifiable
KSCALE gain scaler real no-con/no-set 1.0 scalar
RAMPIN ramp initialize real con/set 0.0 RO1
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 1 real no-con/no-set 1.0 percent
EO1 eng unit output 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
MA manual/auto boolean con/set 0 0 to 1
INITMA initialize MA short no-con/no-set 1 [0|1|2]
MCLOPT manual clamp optIon boolean no-con/no-set 0 0 to 1
HOLD hold mode boolean con/set 0 0 to 1
FOLLOW follow mode boolean con/set 0 0 to 1
BTIME balance time real con/set 0.0 [0..]minutes
REPTOP repeat option boolean no-con/no-set 0 0 to 1

1792
98. RAMP – Ramp Block B0193AX – Rev N

Table 98-1. RAMP Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


OUTPUTS
HOLIND high out limit indicator boolean con/no-set 0 0 to 1
LOLIND low out limit indicator boolean con/no-set 0 0 to 1
OUT output real con/no-set 0.0 RO1
DATA STORES
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
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 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
NR_INP number of inputs short no-con/no-set 0 0 to 255
NR_OUT number of outputs short no-con/no-set 0 0 to 255
OF_INP offset of input integer no-con/no-set 0 0 to 255
OF_OUT offset of outputs integer no-con/no-set 0 0 to 255
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

98.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 block’s opera-
tional states. For the RAMP 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
B10
B11
WLCK B12
B13
B14
RAMP B15
REPT B16
B17
UDEF B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

RMP
HOL

HLD

FOL
LOL

MA
ON

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
4 FOL Follow BLKSTA.B28
5 RMP Ramp BLKSTA.B27
7 HLD Holding BLKSTA.B25
11 MA Manual(= false)/Auto(= true) BLKSTA.B21

1793
B0193AX – Rev N 98. RAMP – Ramp Block

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
14 UDEF Undefined BLKSTA.B18
15 ON Compound On BLKSTA.B17
16 REPT Repeat Option BLKSTA.B16
17 RAMP Ramp Option BLKSTA.B15
20 WLCK Workstation Lock BLKSTA.B12
27 LOL Low Output Limit (Clamped) BLKSTA.B5
28 HOL High Output Limit (Clamped) BLKSTA.B4

* Bit 0 is the least significant bit (starting from the right).

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.

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 resolution
as a percent of the measurement range. Entering a 1 causes the Object
Manager to recognize and respond to a change of 1 percent of the full
error range.

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


block’s function (for example, “PLT 3 FURNACE 2 HEATER CON-
TROL”).

DNRATE Down Rate is a real input whose absolute value determines the output’s
ramp rate when the block is in the Ramp mode and the UPDOWN input
is true, or RMPDWN is true when RMPOPT enters the Follow state.
The physical units are defined by EI1. The time units are minutes.

EI1 Engineering Units for Input Range 1, as defined by the parameters


HSCI1, LSCI1, and DELTI1, provide 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, as defined by the parameters


HSCO1, LSCO1, and DELTO, provide the engineering units text for the
values defined by Output Range 1. “Deg F” or “pH” are typical entries.

1794
98. RAMP – Ramp Block B0193AX – Rev N

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 block’s
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 RAMP 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 does not exist for given block
PHASE COMBINATION” PERIOD, or block PERIOD not
compatible with compound
PERIOD.
“W44 – INVALID High range value is less than or equal
ENGINEERING RANGE” to low range value.
“W46 – INVALID INPUT The source parameter specified in the
CONNECTION” 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 The configured value of a block
OPTION” option is illegal.
“W53 – INVALID PARAMETER A parameter value is not in the
VALUE” acceptable range.
“W58 – INSTALL ERROR; A Database Installer error has
DELETE/UNDELETE BLOCK” occurred.

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

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.

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.

1795
B0193AX – Rev N 98. RAMP – Ramp Block

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

INHDWN Inhibit Down inhibits the ramp down function in a RAMP block.

INHUP Inhibit Up inhibits the ramp up function in a RAMP 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.)
INITMA is ignored if MA has an established linkage.

KSCALE KSCALE is a conversion factor used to make the time units of the rate
parameters, which are in EI1 units per minute, dimensionally compatible
with the time units of the output, as defined by EO1.

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 block’s
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.

1796
98. RAMP – Ramp Block B0193AX – Rev N

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-


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 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. In Manual, the algorithm
is not performed, and the output is unsecured. An external program can
then set the output to a desired value.

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.

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 representing the number of inputs in


the block. It is used internally.

NR_OUT Number of Outputs is a short value representing the number of outputs in


the block. It is 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 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 used internally.

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.

1797
B0193AX – Rev N 98. RAMP – Ramp 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.

PERIOD Period is an indexed input that dictates the block’s 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*****

* 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, and CP60.

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. See Integrated Control Software Concepts
(B0193AW) document.

RAMP Ramping is an input that forces the block into the RAMP mode, which is
a substate of Auto. While in RAMP, the output ramps in a velocity mode
in which the direction is selected by the UPDOWN input and the speed is
governed by the absolute value of the appropriate UPRATE or DNRATE

1798
98. RAMP – Ramp Block B0193AX – Rev N

input. The output continues ramping until it is clamped at either of the


output limits, HOLIM or LOLIM. The RAMP input is overridden by
either the MA, the HOLD, or the FOLLOW input.

RAMPIN Ramp Initialize is a real input that determines the initial value of the out-
put at the time the block is switched into the Ramp mode. Also, in the
Follow mode, RAMPIN is the output forcing function.

REPTOP Repeat Option is a boolean input. When REPTOP is set true, the RAMP
block output, OUT, continuously ramps up and down between the out-
put limits, as long as the block is in the Ramp substate. In this mode, the
UPDOWN or RMPUP/RMPDWN inputs dictate the initial direction of
the ramp at the instant the block enters the Ramp substate.

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.

RMPDWN Ramp Down requests the output to be ramped in a downward direction in


a RAMP block, provided RMPOPT is set true.

RMPOPT Ramp Option specifies that the RMPDWN and RMPUP parameters be
used to determine the direction of the ramp action in a RAMP block. If
not set, the UPDOWN parameter is used for this purpose.

RMPUP Ramp Up requests the output to be ramped in an upward direction in a


RAMP block, provided RMPOPT is set true.

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 “RAMP” or select “RAMP” from the block type list
under Show, an identifying integer is created specifying this block type.

UPDOWN Up/Down is a boolean input (0 = false = UP; 1 = true = DOWN) that


controls the direction of the ramped output and selects the velocity
parameter (UPRATE or DNRATE) when the block is in the Ramp mode,
and RMPOPT is set false.

UPRATE Up Rate is a real input whose absolute value determines the output's ramp
rate when the block is in the Ramp mode and the UPDOWN input is
false, or RMPUP is true when RMPOPT is true. The physical units are
defined by EI1. The time units are minutes.

1799
B0193AX – Rev N 98. RAMP – Ramp Block

98.4 Detailed Operation


The MA, HOLD, FOLLOW, and RAMP inputs control the mode of operation. When multiple
combinations of these inputs are active simultaneously, the output mode defaults to the following
priorities; Manual (highest), Hold, Follow, and Ramp (lowest). Hold, Follow, and Ramp are sub-
states of the Auto mode.
In Manual, the ramp function is not performed, and the output may be set by an external source.
The Manual clamping option (MCLOPT) offers output clamping in Manual mode. If MCLOPT
is set:
1. OUT is clamped whenever its value exceeds the clamp limits.
2. HOLIND and LOLIND are secured to prevent them from being changed by you.
If MCLOPT is not set, both HOLIND and LOLIND are released and set to false when the block
is switched to Manual mode.
You can use the Manual mode to pre-position the output prior to operating the block in the
Ramp mode.
Setting the MA input true switches the block to Auto. If none of the mode control inputs
(HOLD, FOLLOW, and RAMP) are true when the block is in Auto, then the output simply rests
at the last Manual value.
When the RAMP input goes to true while the other two inputs, HOLD and FOLLOW, remain
false, the block enters the Ramp substate of Auto and automatically initializes the ramp output. In
the Auto mode, initialization only occurs when the RAMP input makes a zero-to-one transition
while the HOLD and FOLLOW inputs remain at logical zero. Initialization causes the output to
take on the RAMPIN value, enables output clamping, and starts the ramping procedure.
The method of configuring the RAMPIN input can dictate how the initial ramp value is
obtained. If you configure RAMPIN as a constant value, which is always settable, then you can set
the initial ramp value indirectly. If you connect RAMPIN to the block output, you can set the ini-
tial ramp value when the block is in Manual. If you connect RAMPIN to an external source, the
initial ramp value is externally controlled.
As long as the RAMP input is true, and the HOLD and FOLLOW inputs remain false, the block
ramps the output. The UPDOWN input (or RMPUP and RMPDWN) fixes the direction of the
ramp while the appropriate rate input determines the slope. When the UPDOWN input is false
(default state, or RMPUP is true), the block ramps the output upward with a slope equal to the
absolute value of the UPRATE parameter. Conversely, when the UPDOWN input is true (or
RMPDWN is true) the block ramps the output down with a slope equal to the absolute value of
the DNRATE parameter.
If RMPOPT=0, you can toggle the UPDOWN input at any time to change the direction and
slope of the ramp.
Ramping continues until the output reaches one of the output limits, setting the appropriate limit
indicator (HOLIND or LOLIND) true.
If the Repeat Option, REPTOP, is set false, the output remains clamped at the limit until either
the limit is changed in the direction of the ramp, or the ramp direction is reversed.
If REPTOP is set true, the RAMP block output, OUT, continuously ramps up and down
between the output limits, as long as the block is in the Ramp substate. In this mode, the
UPDOWN input (or RMPUP and RMPDWN) dictates the initial direction of the ramp at the
instant the block enters the ramp mode.

1800
98. RAMP – Ramp Block B0193AX – Rev N

Both UPRATE and DNRATE parameters have the physical engineering units of EI1 at a per
minute rate unit, fixed by the block. The KSCALE parameter allows you to reconcile the specified
rate units to the actual units of the output (EO1).
For example, the default KSCALE value of one implies that the units of the rate parameters (EI1),
per minute, are the same as the positional units of the output, EO1. With the chosen time con-
vention of minutes, you need not rescale the ramp rates if the block period is changed.
Ramp rates can have positive, negative, or zero values, but the block actually uses the absolute
value of the rate parameter. It is the UPDOWN (or RMPUP and RMPDWN) parameter that
determines the direction. This allows you to enter negative DNRATE values for display purposes.
Set the HOLD input true to delay the start of, or suspend the operation of, the ramp waveform.
See Figure . In Hold, the output retains its present value until HOLD is set false.

HSC01 OUT Slope = :UPRATE: Slope = :DNRATE:


(E01)
HOLIM
Ramp in Btime Response
HOLD Mode in FOLLOW Mode

Ramp Initializes
OUT Clamped
RAMP IN Between Limits

OUT (t)

LOLIM
LSC01 Time

MA

HOLD

FOLLOW

RAMP

UP DOWN
Figure 98-2. Ramp Timing Device

HOLD overrides both RAMP and FOLLOW modes. Output clamping is active in the Hold
mode.
Set the FOLLOW input true when you want the output to track some other variable that has
been connected to the RAMPIN input. Setting the FOLLOW input true, while the block is in
Auto and not in the Hold mode, forces the block to the Follow mode, in which the output, OUT,
tracks the RAMPIN input.
Output clamping is active in the Follow mode. If the RAMP input is true when the
FOLLOW input is set to false, the output resumes ramping, without a bump.
To avoid bumping the output when the block enters the Follow mode, the block provides a bal-
ance time (BTIME) parameter. This parameter is the time constant of the first order lag that
smooths the output’s transition, from the value it had when the block entered the Follow mode,
to the RAMPIN value.

1801
B0193AX – Rev N 98. RAMP – Ramp Block

Ramping can be inhibited up or down or both using the RMPOPT option parameter in conjunc-
tion with the INHUP and INHDWN parameters.
When RMPOPT = 0 (which is the default), ramping occurs in the direction specified by
UPDOWN (false indicating up and true indicating down) providing INHUP or INHDWN is
not set for the specified direction.
When RMPOPT = 1, ramping occurs only if either RMPUP or RMPDWN is set. If RMPUP is
set, ramping up occurs if INHUP is not set. If RMPDWN is set, ramping down occurs if
INHDWN is not set. If RMPOPT is set and both RMPUP and RMPDWN are true, ramping up
occurs and RMPDWN is ignored. If RMOPT is set, and neither RMPUP nor RMPDWN is set,
no ramping occurs.

1802
99. RATIO – Ratio Block
This chapter describes the RATIO Block, its features, parameters and detailed operations.

99.1 Overview
The Ratio block, RATIO, performs a scaled multiplication of the measurement input with the
ratio setpoint to maintain an output which is scaled to the measurement.

99.1.1 I/O Diagram

Manual/Auto RATIO
BLOCK
Output
Back Calculation In Back Calculation Out
Measurement
Ratio Calculation
Local/Remote Ratio Portion

Remote Ratio
Remote Setpoint
Hold

Measurement Hi Alarm Limit Measurement Hi Alarm Indicator

Measurement Lo Alarm Limit Measurement Lo Alarm Indicator


Measurement Alarm Priority High Output Limit Indicator

High Output Limit Low Output Limit Indicator


Alarm
Low Output Limit Alarm and Block Status
Portion
Alarm Inhibit Criticality

Hi-Hi/Lo-Lo Alarm Limit Priority Type

Hi-Hi/Lo-Lo Alarm Priority


Scaling Inputs
Supervisory Enable

Fallback
Supervisory Back-Calculated Value
Supervisory Input SSC

Supervisory Group

Figure 99-1. RATIO Block I/O Diagram

1803
B0193AX – Rev N 99. RATIO – Ratio Block

99.2 Features
The features are:
♦ Manual/Auto control of the output, 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 ratio source selection
♦ Local and Remote latch switch inputs (LOCSW and REMSW) that force the block to
Local or Remote Ratio
♦ Assignable engineering range and units to the local ratio setpoint, input measurement
and the output
♦ Output clamping between variable output limits
♦ User configurable scaling of the ratio calculation to make the computed output
dimensionally compatible with the specified output units
♦ Bad inputs detection and handling
♦ Automatic cascade handling using an input and output parameter (back-calculate)
that includes:
♦ Initialization of cascade schemes.
♦ Back calculation on the ratio setpoint input for the upstream block to provide
bumpless cascade operation.
♦ Supervisory Control (SSC) that allows user application software to perform supervi-
sory control over the RATIO block’s ratio input.
The options are:
♦ Manual if Bad Option (MBADOP) is a manual override feature. When MBADOP is
true, the block sets the MA input to manual when it detects a control error (CE =
true), or when the HOLD parameter goes true. This forces the output state to man-
ual. Returning to Auto requires external intervention, unless AUTSW is true.
♦ Manual Clamping Option (MCLOPT) allows you to invoke output clamping while
the block is in manual.
♦ Ratio Tracking Option (RTRKOP) forces the local ratio setpoint, RATIO, to track
the back-calculated ratio value, BCALCO. RTRKOP is enabled only when the LR
parameter is in Local and either the output is in manual or any downstream block is
open loop. RTRKOP is not performed if any measurement data errors are detected.
This feature allows bumpless return to ratio control when the block returns to auto or
the cascade returns to closed-loop operation.
♦ Measurement Alarming Option (MALOPT) provides absolute alarming of the mea-
surement during auto operation. This option also provides standard alarm
notification and reporting features.
♦ Control Error Option (CEOPT) allows you to enable, or disable, the block's implicit
Hold action when it detects an error in the MEAS or BCALCI input.
♦ Propagate Error Option (PROPT) gives you the option of propagating the ERROR
status bit from the MEAS input to the block's OUT parameter.

1804
99. RATIO – Ratio Block B0193AX – Rev N

♦ Local Setpoint Secure (LOCSP) enables you to secure against any write access to the
LR parameter.
♦ Manual If Failsafe (MANFS) allows you to have the block go to the Manual state
when the block receives a Failsafe notification.
♦ Hi-Hi and Lo-Lo Absolute Alarming option (HHAOPT) provides absolute alarming
for target (HHALIM and LLALIM) alarming of the input at a given priority level
(HHAPRI), or disables the alarming altogether. Each alarm triggers an indicator
(HHAIND and LLAIND) and text message (HHATXT and LLATXT) to be sent to
the configured alarm group (HHAGRP). 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.
♦ Supervisory Option (SUPOPT) specifies whether or not the block is under control of
a Supervisory Application Program.
♦ Fallback Option (FLBOPT) specifies the action taken in a block when Supervisory
fallback occurs. The fallback options can be: normal fallback, Auto, Manual, Remote,
or Local.

99.3 Parameters
Table 99-1. RATIO 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 21 RATIO
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/no-set blank 1 to 32 chars
MEAS process input real con/set 0.0 RI1
HSCI1 to HSCI2 high scale in 1 to 2 real no-con/no-set 100.0 specifiable
LSCI1 to LSCI2 low scale in 1 to 2 real no-con/no-set 0.0 specifiable
DELTI1 to DELTI2 change delta 1 to 2 real no-con/no-set 1.0 percent
EI1 to EI2 eng units input string no-con/no-set % specifiable
PROPT propagate error boolean no-con/no-set 0 0 to 1
RATIO ratio setpoint real con/no-set 0.0 RI2

1805
B0193AX – Rev N 99. RATIO – Ratio Block

Table 99-1. RATIO Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


KSCALE gain scaler real con/set 1.0 scalar
BSCALE bias scale factor real con/set 0.0 output units
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 1 real no-con/no-set 1.0 percent
EO1 eng unit output 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 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 boolean no-con/no-set 0 0 to 1
MANSW manual switch boolean con/set 0 0 to 1
AUTSW auto switch boolean con/set 0 0 to 1
MCLOPT man 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
INITI initialize in short con/set 0 0 to 1
BCALCI back calculate in 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
REMRAT remote ratio real con/set 0.0 RI2
RTRKOP ratio track option boolean no-con/no-set 0 0 to 1
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
INHIB alarm inhibit boolean con/set 0 0 to 1
MEASNM meas alarm name string no-con/no-set blank 1 to 12 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]

1806
99. RATIO – Ratio Block B0193AX – Rev N

Table 99-1. RATIO Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


HHAGRP high-high group short no-con/set 1 [1..8]
FLBOPT fallback option short no-con/no-set 0 0 to 4
FLBREQ fallback request short con/set 0 0 to 2
INITSE initial SE short no-con/no-set 0 0 to 1
SUPGRP supervisory group short no-con/no-set 1 1 to 8
SUPOPT super option short no-con/no-set 0 0 to 1
SUP_IN supervisory ratio input real con/no-set 0.0 RI2
OUTPUTS
ALMSTA alarm status pack_l con/no-set 0 bit map
BCALCO back calculated out 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 FFFFFFFF
INITO initialize out short con/no-set 0 0 to 1
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]
SUPBCO supervisory back calculated value real con/no-set 0 RI1
UNACK alarm notification boolean con/no-set 0 0 to 1
SE supervisory enable boolean no-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-FFFFFFFF
DEFINE no config errors boolean no-con/no-set 1 0 to 1
ERCODE config error string no-con/no-set 0 0 to 43 chars
INHALM inhibit alarm pack_b con/set 0 0 to FFFFFFFF
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

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

1807
B0193AX – Rev N 99. RATIO – Ratio Block

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 RATIO block, only the following unshaded 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

B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

Bit Boolean
Number* Configured Alarm Option Connection
(0 to 31) When True (B32 to B1)
0 Alarm Group 8 in Use ALMOPT.B32
1 Alarm Group 7 in Use ALMOPT.B31
7 Alarm Group 1 in Use ALMOPT.B25
16 Low Absolute Alarm Configured ALMOPT.B16
17 High Absolute Alarm Configured ALMOPT.B15
22 Bad I/O Alarm Configured ALMOPT.B10
24 Low-Low Absolute Alarm Configured ALMOPT.B8
25 High-High Absolute Alarm Configured ALMOPT.B7

* Bit 0 is the least significant bit (starting from the right).


There are no mnemonic names for the individual bits of ALMOPT.

ALMSTA Alarm Status is a 32-bit output, bit-mapped to indicate the block’s alarm
states. For the RATIO 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
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
UNAK B2
B3
B4
B5
B6
B7
B8
B9

CRIT PRTYPE
HMA
HOA
HHA

LMA
BAD

LOA
LLA
INH

Bit Boolean
Number Connection
(0 to 31)* Name Description When True (B32 to B1)
0 to 4 PTYP_MSK Priority Type: See parameter ALMSTA.B32–
PRTYPE for values used in ALMSTA.B28
the RATIO block

1808
99. RATIO – Ratio Block B0193AX – Rev N

Bit Boolean
Number Connection
(0 to 31)* Name Description When True (B32 to B1)
5 to 7 CRIT_MSK Criticality; 5 = lowest priority, ALMSTA.B27–
1= highest 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
22 BAD Input/Output Bad ALMSTA.B10
(BAD output of block)
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

* Bit 0 is the least significant bit (starting from the right).

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.

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
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 determined by back calcu-
lation of the block algorithm based on the BCALCI input from the down-
stream block. With V4.2 and later software, the status bits of BCALCO
contain the cascade initialization requests formerly contained in the
INITO parameter. You connect the BCALCO parameter to the BCALCI
input of an upstream block so that this upstream block can sense when the
RATIO block is open. Therefore, with V4.2 and later software, INITO is
not required for cascade initialization.

1809
B0193AX – Rev N 99. RATIO – Ratio Block

BLKSTA Block Status is a 32-bit output, bit-mapped to indicate the block’s opera-
tional states. For the RATIO 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

B10
B11
WLCK B12
B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9
MAO
HOL

BAD
LRO
LOL
FLB

ON

MA
SC
SE

FS

LR
Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
10 LR Local(= false)/Remote(= true) BLKSTA.B22
11 MA Manual(= false)/Auto(= true) BLKSTA.B21
12 BAD Block in BAD state BLKSTA.B20
14 UDEF Undefined BLKSTA.B18
15 ON Compound On BLKSTA.B17
20 WLCK Workstation Lock BLKSTA.B12
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
29 SE Supervisory Enabled BLKSTA.B3
30 SC Supervisory Control BLKSTA.B2
31 FLB Supervisory Control Fallback BLKSTA.B1
State

* Bit 0 is the least significant bit (starting from the right).

BSCALE Bias Scale is an additive term used with thermocouple and RTD SCIs.
BSCALE provides positive or negative offset to the span of temperatures
that result when KSCALE is multiplied by the span of Celsius tempera-
tures.
You can configure BSCALE as a sink connection or a constant (in which
case BSCALE is runtime settable). This allows you to dynamically bias the
output with a CALC block or an application program.

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:

1810
99. RATIO – Ratio Block B0193AX – Rev N

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.

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

CRIT Criticality is an integer output that indicates the priority, ranging from 1
to 5, of the block’s 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. 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 DELTI2
Change Delta for Input Ranges 1 and 2 are real values that define the res-
olution as a percent of the measurement range. Entering a 1 causes the
Object Manager to recognize and respond to a change of 1 percent of the
full error range.

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


block’s function (for example., “PLT 3 FURNACE 2 HEATER CON-
TROL”).

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, provide
the engineering units text for the values defined by Input Ranges 1 and 2.
“Deg F” or “pH” are typical entries.

EO1 Engineering Units for Output Range 1, as 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) and Input Range 2 (EI2).

1811
B0193AX – Rev N 99. RATIO – Ratio Block

ERCODE Error Code is a string data store which indicates the type of configuration
error or warning encountered. The error situations cause the block’s
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 RATIO 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 does not exist for given block
PHASE COMBINATION” PERIOD, or block PERIOD not
compatible with compound
PERIOD.
“W44 – INVALID High range value is less than or equal
ENGINEERING RANGE” to low range value.
“W46 – INVALID INPUT The source parameter specified in the
CONNECTION” 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 The configured value of a block
OPTION” option is illegal.
“W53 – INVALID PARAMETER A parameter value is not in the
VALUE” acceptable range.
“W58 – INSTALL ERROR; A Database Installer error has
DELETE/UNDELETE BLOCK” occurred.

FLBOPT Fallback Option is a short integer input that defines the control action
taken by the block when a Supervisory Set Point Control 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.

1812
99. RATIO – Ratio Block B0193AX – Rev N

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

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 real values that define the upper
limit of the measurement ranges. EI1 to EI2 define 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.

1813
B0193AX – Rev N 99. RATIO – Ratio Block

INHALM Inhibit Alarm contains packed boolean values that represent alarm inhibit
requests for each alarm type or point configured in the block. For the
RATIO block, only the following bits are used:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

B10

B11

B12

B13

B14

B15

B16
B1

B2

B3

B4

B5

B6

B7

B8

B9
Bit Boolean
Number* Connection
(0 to 15) Description When True (B16 to B1)
0 Inhibit Low Absolute Alarm INHALM.B16
1 Inhibit High Absolute Alarm INHALM.B15
2 Low Output Alarm INHALM.B14
3 High Output Alarm INHALM.B13
6 Inhibit Bad I/O Alarm INHALM.B10
8 Inhibit Low-Low Absolute Alarm INHALM.B8
9 Inhibit High-High Absolute Alarm INHALM.B7
13 Inhibit Alarm INHALM.B3
14 Unacknowledged INHALM.B2

* Bit 0 is the least significant bit (starting from the right).

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

1814
99. RATIO – Ratio Block B0193AX – Rev N

INHSTA Inhibit Status contains packed long values that represent the actual inhibit
status of each alarm type configured in the block. For the RATIO 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

B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
UNACK B2
B3
B4
B5
B6
B7
B8
B9

HMA
HOA
HHA

BAD

LMA
LOA
LLA
INH

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
16 LMA Low Absolute Alarm Inhibited INHSTA.B16
17 HMA High Absolute Alarm Inhibited INHSTA.B15
18 LOA Low Output Alarm INHSTA.B14
19 HOA High Output Alarm INHSTA.B13
22 BAD Bad I/O Alarm Inhibited INHSTA.B10
24 LLA Low-Low Absolute Alarm INHSTA.B8
Inhibited
25 HHA High-High Absolute Alarm INHSTA.B7
Inhibited
29 INH Inhibit Alarm INHSTA.B3
30 UNACK Unacknowledged INHSTA.B2

* Bit 0 is the least significant bit (starting from the right).

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
maintained, but the setting of the handshaking bits, via the INITI to
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 as specified in the checkpoint file.

1815
B0193AX – Rev N 99. RATIO – Ratio Block

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

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 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. 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 short value
has been maintained, but the setting of the handshaking bits, via the
INITI to INITO connection, is eliminated.

INITSE Initial Supervisory Enable (INITSE) specifies the initial state of the SE
parameter in a block configured for Supervisory Control (that is:
SUPOPT =1) when the block initializes due to reboot, installing the
block, or turning on the compound.

1816
99. RATIO – Ratio Block B0193AX – Rev N

0 = Disable
1 = Enable
2 = Do not change SE parameter.

KSCALE KSCALE is a conversion factor used to make the time units of the rate
parameters, which are in EI1 units per minute, dimensionally compatible
with the time units of the output, as defined by EO1.

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
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-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 block’s
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.

1817
B0193AX – Rev N 99. RATIO – Ratio Block

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-


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.

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 Range 1 and 2 are real value that define the lower
limit of the measurement ranges. A typical value is 0 (percent). EI1 and
EI2 define 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. In Manual, 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.

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.

1818
99. RATIO – Ratio Block B0193AX – Rev N

0 = No alarming in Manual
1 = Full alarming in Manual
You can change MANALM only by reconfiguring the block.

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.

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


true, the block sets the unlinked MA input to manual if it detects a BAD
status bit in the MEAS input, or a BAD status bit in the BIAS input. 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. 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.

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 block’s input, or the
controlled variable.

MEASDB Measurement Alarm Deadband is a configured input, expressed in MEAS


units, that applies to both High and Low Alarm Limits. You can adjust
this parameter at the workstation.

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 exceeds the high alarm limit (MEASHL). When
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 are 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

1819
B0193AX – Rev N 99. RATIO – Ratio Block

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 are 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 identify 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.

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.

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 block’s 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***

1820
99. RATIO – Ratio Block B0193AX – Rev N

Period Length Period Length


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, and CP60.

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. See Integrated Control Software Concepts
(B0193AW) document.

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

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.

1821
B0193AX – Rev N 99. RATIO – Ratio Block

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

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 (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
1 = High Absolute
2 = Low Absolute
3 = High High
4 = Low Low
5 = High Deviation
6 = Low Deviation
8 = BAD Alarm

RATIO RATIO Setpoint is the multiplier that the block applies to the measure-
ment to produce the output. This parameter is implemented as an output
whose source is determined by the Local/Remote setpoint selector input,
LR. When the block is in Auto and LR is switched to local, RATIO
becomes settable allowing you to input the desired ratio setpoint value.

REMRAT Remote Ratio input is the selected ratio setpoint source when LR is set to
Remote. This real value is usually connected 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 1 and 2 are arrays of real values that specify the high and low
engineering scale and change delta of a particular real input. For a given

1822
99. RATIO – Ratio Block B0193AX – Rev N

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.

RTRKOP Remote Track Option is a configurable boolean input. When true,


RTRKOP enables the RATIO setpoint to track the back calculation out-
put in certain situations. The situations are: the ratio source selector LR is
in Local AND either (a) the block is in Manual, or (b) the Initialization
input BCALCI is true. The RATIO setpoint is nonsettable while ratio
tracking is active.

SE Supervisory Enable (SE) enables/disables Supervisory Control in a block.


0 = Disable
1 = Enable.

SUPBCO Supervisory Back-Calculated Output (SUPBCO) is the value to be used


by the Supervisory Application to initialize its output to the current ratio
of the block.
This parameter also contains the following status bits:
Bit 10: 1 = Initialize SUP_IN
Bit 13: 1 = SUP_IN is Limited High
Bit 14: 1 = SUP_IN is Limited Low
(Both B13 and B14 =1: indicates Supervisory cascade is open).

SUPGRP Supervisory Group (SUPGRP) specifies the group to which the block is
assigned for Supervisory Control. Range: 1 through 8 (default = 1)

SUPOPT Supervisory Option (SUPOPT) specifies whether or not the block is


under control of the Supervisory Application.
0 = No
1 = Yes.

SUP_IN Supervisory Input (SUP_IN) is a real output that is the parameter set by a
Supervisory application when performing supervisory control of this
block’s 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).

TYPE When you enter “RATIO” or select “RATIO” 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.

1823
B0193AX – Rev N 99. RATIO – Ratio Block

99.4 Detailed Operation


When the block is in Auto, it produces an output that is a scaled multiplication of the measure-
ment input with the local ratio setpoint. The equation for this computation is:
OUT = (MEAS * RATIO * KSCALE) + BSCALE
You calculate the constants BSCALE and KSCALE so as to make the computed result dimension-
ally compatible with the specified output engineering units. KSCALE and BSCALE are inputs
that can be connected to other blocks’ outputs.
The MEAS parameter is an input identifying the source of the input that is coming to this block
to be multiplied by the ratio setpoint value.
The RATIO parameter always represents the active ratio setpoint. Since RATIO is an output, you
can use it as a source for the ratio value to other blocks.
The ratio sources are prioritized as follows:
1. Supervisory Control
2. Local (LOCSW) and Remote Switch (REMSW)
3. Local or Remote.
When the Supervisory Option (SUPOPT) is set, it specifies that the block can be under control
of a Supervisory Application Program. The Supervisory Back Calculated Output (SUPBCO) pro-
vides the current ratio and initialization bits to the Supervisory Application Program. When
Supervisory Enable (SE) is set by the application program or operator, the RATIO block is pre-
pared to do Supervisory Setpoint Control (SSC) functions. When the proper handshaking occurs
with the application software, the block accepts sets to the Supervisory Ratio (SUP_IN). If the
block is in Auto, it then uses the supervisory ratio in the calculation of the block’s output.
The ratio source selector input, LR (Local/Remote), together with the two overrides, LOCSW
and REMSW, determines the ratio source at any time.
When LR is switched to Local (false), the block releases the RATIO parameter, allowing any user
to input the desired controller ratio value.
When LR is switched to Remote, RATIO is no longer settable and takes on the value of the
remote ratio input, REMRAT. REMRAT is a parameter that provides a link to the remote ratio
source. If REMRAT is unlinked when LR is true, the block forces the LR parameter to Local and
secures it.
The RATIO block also provides the LOCSW and REMSW parameters to drive the ratio 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 ratio (RATIO) tracks the status of
the remote ratio (REMRAT).
When the block is switched to Local mode, the ratio status depends on the ratio tracking option
(RTRKOP):
♦ If RTRKOP is set true, the RATIO status is cleared.
♦ If RTRKOP is false, the RATIO status reflects the REMRAT status at the time the
switch to Local occurred. The block maintains this status as long as block is in Local,

1824
99. RATIO – Ratio Block B0193AX – Rev N

unless the user changes the RATIO 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
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 RATIO block has two output states, Auto and Manual. In Manual, the block releases the
output, allowing it to be set by you. In Auto, the block secures the output.
Auto has three sub-states: Controlling, Tracking, and Holding.
The block performs the algorithm that automatically generates the output in the Controlling sub-
state of Auto. In this state the block computes the output signal based on the MEAS and RATIO
values and the user-supplied values of KSCALE and BSCALE.
In Auto, the block clamps the output between the variable output limits, HOLIM and LOLIM.
You can place these limits anywhere within the range defined by LSCO1 and HSCO1, or, using
the output span variance parameter (OSV) you can extend this range at both the high and low
ends by an equal amount, up to 25 percent. If the algorithm calculates 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 auto-
matically set equal to the higher of the two values, which is LOLIM. Output clamping occurs in
the Manual state when MCLOPT is true.
If the BCALCI initialization status value input goes to true while the block is in Auto, the block
performs explicit initialization, by entering the Tracking substate of Auto. In this state, the output
tracks the value of the BCALCI input. This causes the downstream block’s remote setpoint to
track its own measurement so that a return to closed loop control is bumpless. The BCALCO ini-
tialization status value is also set true in this state to request any upstream block to perform its
own explicit initialization. When BCALCI initialization status value sets to false, the block
returns to the Controlling substate of Auto to resume closed loop control.
The ratio track option, RTRKOP, forces the RATIO setpoint to track BCALCO. BCALCO is the
actual ratio of the dependent controlled variable, BCALCI, to the measurement.
When ratio tracking is active, RATIO becomes nonsettable to prevent any user from manipulat-
ing the local ratio value. Ratio tracking is only performed if the ratio source selector is switched to
Local and the block is either operating in Manual or the BCALCI Initialization Input status value
is true. BCALCI initialization status value being true indicates that a block downstream in the
cascade is open loop.
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 RATIO block,
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 is false and CEOPT = 1 or 2, either the HOLD
parameter goes true, or a condition required by the CEOPT parameter is met. In the Hold sub-
state the block holds the output at its last value. When all error conditions are removed, the block
returns to the Controlling substate and resumes closed loop control.
No implicit Hold action takes place if CEOPT = 0.
If MBADOP is configured true (and the MA parameter is unlinked), the block goes to the Man-
ual state when it detects a control error, or when the HOLD input goes true, regardless of the

1825
B0193AX – Rev N 99. RATIO – Ratio Block

CEOPT value. MBADOP has the same priority as MANSW and has precedence over AUTSW.
Therefore, if MBADOP is configured true and a bad input is detected, the block goes to Manual
regardless of the AUTSW setting.
When the block is switched to Manual, the OUT status reflects the MEAS/RATIO 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 status is cleared.
The block also goes to Manual if, while MANFS is configured true, it detects the Failsafe status
bit (BCALCO.FS) at its BCALCI input.
A transition to Manual sets all alarm and limit indicators to false.
In Manual mode, the block does not perform ratio calculation. Alarm outputs are settable. The
block output (OUT) is unsecured and may have its value set by an external task or program and if
the manual clamp option (MCLOPT) is configured, these set values will undergo output clamp-
ing.
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 and/or REMSW are set
true.
In SCC, when the Fallback Option (FLBOPT) is set, the block falls back to the configured nor-
mal, Auto, Manual, Remote, or Local mode of operation.
Figure 99-2 is a simplified block diagram that depicts the functional signal flow of the RATIO
block. It shows the forward path of the controller as it relates to the various states, logic control
signals, and options represented by toggle switches.

1826
99. RATIO – Ratio Block B0193AX – Rev N

Figure 99-2. Ratio Signal Flow Diagram

1827
B0193AX – Rev N 99. RATIO – Ratio Block

99.4.1 Configuration
If the downstream block is an AOUT block, link BCALCI to the downstream block’s BCALCO
parameter and link the downstream block's MEAS parameter to OUT.

MEAS
RATIO OUT MEAS AOUT

BCALCI BCALCO

If the secondary block is a DGAP or PTC block, link BCALCI to the secondary block's
BCALCO parameter and link OUT to the secondary block’s RSP.

MEAS DGAP
RATIO OUT RSP or PTC

BCALCI BCALCO
In a cascade configuration, link the blocks as shown below.

MEAS OUT REMRAT OUT MEAS


RATIO RATIO AOUT
PRIBLK=0 PRIBLK=1 PRIBLK=1

BCALCI BCALCO BCALCI BCALCO

Use the PRIBLK option in all cascade configurations.


For more information, refer to the Supervisory Setpoint Control (SSC) (B0193RY) document.

1828
100. REAL – Real Variable Block
This chapter describes the REAL (Real Variable Block), its features, parameters and basic
operations.

100.1 Overview
The REAL variable block provides data storage for a real value, and its configured high and low
scale clamping limits and engineering units (see Figure 100-1). When the real value reaches either
the high or low limit, it is clamped at this limit. The real value parameter is typically connected to
other blocks for use in a control strategy.

Real Value from Application


High Scale Limit Clamping Real Value
Low Scale Limit
Engineering Units
Figure 100-1. REAL Block Functional Diagram

100.2 Features
The REAL variable block provides the following features:
♦ Real data variable (VALUE) for storing a real value
♦ Clamping of VALUE between user-defined high (HSCO1) and low (LSCO1) limits
♦ User-defined engineering units (EO1) for VALUE.

100.3 Parameters
Table 100-1. REAL Block Parameters

Name Description Type Accessibility Default Units/Range


Configured Parameters
INPUTS
NAME variable name string no-con/no-set 2 blanks 1 to 12 chars
TYPE variable type integer no-con/no-set 153 REAL
DESCRP variable descriptor string no-con/no-set 2 blanks 1 to 32 chars
HSCO1 high scale clamp limit real no-con/no-set 100.0 any real value
LSCO1 low scale clamp limit real no-con/no-set 0.0 any real value
EO1 engineering units string no-con/no-set % 1 to 32 chars
DATA VARIABLE
VALUE variable value real con/set 0.0 RO1

1829
B0193AX – Rev N 100. REAL – Real Variable Block

Table 100-1. REAL Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


Non-Configured Parameters
DATA STORE
RO1 engineering range real[3] no-con/no-set 100,0,1 specifiable

100.3.1 Parameter Definitions


DESCRP Descriptor is a user-defined string of up to 32 characters that describe the
variable (for example, TEMPERATURE – DEG C).

EO1 Engineering Units for Output Range 1, a user-defined string of up to 32


characters, provides the engineering units text for the VALUE parameter.
The value configured for this text string should be consistent with the val-
ues used for HSCO1 and LSCO1.

HSCO1 High Scale Clamp for Output Range 1 is a real value that defines the
upper range value for the VALUE parameter. HSCO1 must be greater
than LSCO1.

LSCO1 Low Scale Clamp for Output Range 1 is a real value that defines the lower
range value for the VALUE parameter.

NAME Name is a user-defined string of up to 12 characters used to access the data


variable block and its parameters.

RO1 Range Output 1 is a real array consisting of the three values, HSCO1,
LSCO1, and 1.0 (1.0 is normally the change delta, but it is not used by
this block). RO1 and its members can be accessed as an array by user tasks
and displays.

TYPE Type is a system-level mnemonic label indicating the block type. Enter
“REAL” or select “REAL” from the block type list under SHOW when
configuring the block.

VALUE Value is a real data variable that can be set by an application to store data
for use by other blocks.

100.4 Detailed Operation


The REAL block provides storage, clamping, and engineering units for a value set by an applica-
tion for use by other blocks.
The REAL 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 REAL
blocks can be inserted in the END DATA zone of any compound.

1830
100. REAL – Real Variable Block B0193AX – Rev N

100.4.1 Detailed Diagram


Figure 100-2 is a simplified block diagram that depicts the functional signal flow of the REAL
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.

Real Value from Application


HSCO1 Clamping VALUE
LSCO1
EO1

Figure 100-2. REAL, Detailed Block Diagram

100.4.2 Block Clamping


Key Parameters: VALUE, HSCO1, LSCO1, EO1
The REAL block contains a real data variable parameter (VALUE) that can be set by an applica-
tion to store a value for use by other blocks. You can configure the high scale (HSCO1) and low
scale (LSCO1) clamping limits, and engineering units (EO1) for VALUE. The VALUE record
contains a status field in which an application can set the Bad and out-of-service (OOS) bits.
When VALUE is changed by an application or block reconfiguration, the set command clamps
the output between HSCO1 and LSCO1. See Figure 100-3. If VALUE reaches either limit, it is
set to this limit, and the corresponding high limit (LHI) or low limit (LLO) bit in the status field
of the VALUE parameter is set.

VALUE is clamped at HSCO1.

HSCO1

VALUE

LSCO1

VALUE is clamped at LSCO1.

Time
Note: EO1 provides units for VALUE.
Figure 100-3. VALUE Clamping

100.5 Block Validation


The REAL 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.

1831
B0193AX – Rev N 100. REAL – Real Variable Block

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.

100.6 Block Detail Display


The REAL block has a Detail Display for viewing and setting parameters. REAL and other data
variable blocks appear on the Select display in the order they are configured, following all other
blocks in the compound.

1832
101. REALM – Real Alarm Block
This chapter describes the REALM (Real Alarm Block), its features, parameters and detailed
operations.

101.1 Overview
The Real Alarm block, REALM, provides any combination of deviation, High/Low and High-
High/Low-Low absolutes, and/or rate of change alarming for a single real input. The block also
provides boolean indicators for each alarm type, and generates alarm and return-to-normal mes-
sages for each alarm event.

1833
B0193AX – Rev N 101. REALM – Real Alarm Block

101.1.1 I/O Diagram

Manual/Auto
Measurement Alarm Indicators (5)
Deviation
Setpoint Alarm and Block Status
Absolute Criticality
Alarm Limits
and Priorities (8) Priority Type
Rate of
Alarm Inhibit Change Alarm Messages

High Deviation Alarm Indicator


High Deviation Limit
Low Deviation Alarm Indicator
Low Deviation Limit Deviation Criticality
Deviation Alarm Priority Portion
Priority Type
Alarm Messages

REALM
High-High Absolute Alarm Indicator
Setpoint BLOCK
Low-Low Absolute Alrm Indicator
Measurement
Priority Type
High Absolute Limit
Alarm Message
Low Absolute Limit Absolute High Absolute Alarm Indicator
Absolute Alarm Priority Portion
Low Absolute Alarm Indicator
Hi-Hi/Lo-Lo Alarm Limit
Criticality
Hi-Hi/Lo-Lo Alarm Priority
Priority Type
Alarm Messages
Measurement
Rate of Change Limit Rate Alarm Indicator
Rate of Change Time Rate of Criticality
Rate Alarm Priority Change
Priority Type
Portion
Alarm Messages
Measurement Rate of Change Value

Figure 101-1. REALM Block I/O Diagram

101.2 Features
The features are:
♦ Manual/Auto mode for disconnecting control schemes from the process, for simula-
tion and checkout purposes
♦ Alarming: High-High/Low-Low Absolute, High-Low Absolute, Rate-of-Change, and
High-Low Deviation
♦ Alarm messages
♦ Return to Normal messages.

1834
101. REALM – Real Alarm Block B0193AX – Rev N

The options are:


♦ 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 (ABSDB).
0 = No alarming
1 = High-High and Low-Low alarming
2 = High-High alarming only
3 = Low-Low alarming only.
♦ Absolute Re-alarming (ABSRAL) enables or disables significant re-alarming for the
Absolute Alarm.
♦ Deviation Alarm Option (DALOPT) is a short integer input that enables High and
Low deviation alarming, or disables alarming altogether.
♦ Deviation Re-alarming (DVRAL) enables or disables significant re-alarming for the
Deviation Alarm.
♦ Rate of Change Alarm Option (ROCOPT) enables or disables rate of change
alarming.
♦ Initialize Manual/Auto (INITMA) specifies the desired state of the MA input during
initialization.
♦ Inhibit Option lets you specify alarm inhibit options.
♦ High/Low Alarm Option (HLAOPT) enables absolute High and Low measurement
alarming, or disables absolute alarming altogether.
♦ 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.

101.3 Parameters
Table 101-1. REALM 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 23 REALM
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/no-set blank 1 to 32 chars

1835
B0193AX – Rev N 101. REALM – Real Alarm Block

Table 101-1. REALM Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


MEAS process input real con/set 0.0 RI1
MEASNM meas alarm name string no-con/no-set blank 1 to 12 chars
HSCI1 to HSCI2 high scale in 1 to 2 real no-con/no-set 100.0 specifiable
LSCI1 to LSCI2 low scale in 1 to 2 real no-con/no-set 0.0 specifiable
DELTI1 to DELTI2 change delta 1 to 2 real no-con/no-set 1.0 percent
EI1 to EI2 eng units input string no-con/no-set % specifiable
HLAOPT absolute alarm option short no-con/no-set 0 0 to 1
HABLIM high absolute limit real con/set 100.0 RI1
HABTXT high alarm text string no-con/no-set blank 1 to 32 chars
LABLIM low absolute limit real con/set 0.0 RI1
LABTXT low alarm text string no-con/no-set blank 1 to 32 chars
ABSDB absolute alarm deadband real no-con/set 0.0 RI1
ABSPRI absolute alarm priority integer con/set 5 [1..5]
ABSGRP absolute alarm group short no-con/set 1 [1..8]
ABSRAL absolute realarming boolean no-con/no-set 0 0 to 1
ABSINC absolute realarm increment real no-con/no-set 5.0 RI1
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]
DALOPT deviation alarm option short no-con/no-set 0 0 to 3
SETPT setpoint real con/set 0.0 RI1
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 deadband real no-con/set 0.0 RI1
DEVPRI deviation alarm priority integer con/set 5 [1..5]
DEVGRP deviation alarm group short no-con/set 1 [1..8]
DEVRAL deviation realarming boolean no-con/no-set 0 0 to 1
DEVINC deviation realarm increment real no-con/no-set 5.0 RI1
ROCOPT rate alarm option boolean no-con/no-set 0 0 to 1
ROCLIM rate limit real con/set 100.0 RI2
KSCALE gain scaler real no-con/no-set 1.0 scalar
ROCTIM rate interval real con/set 0.0 [0..]minutes
ROCTXT rate alarm text string no-con/no-set blank 1 to 32 chars
ROCPRI rate alarm priority integer con/set 5 [1..5]
ROCGRP rate alarm group short no-con/set 1 [1..8]
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

1836
101. REALM – Real Alarm Block B0193AX – Rev N

Table 101-1. REALM Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


OUTPUTS
ABSLEV realarm level integer con/no-set 0 [0...10]
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]
DEVLEV realarm level integer con/no-set 0 [0..10]
HAIND high absolute indicator boolean con/no-set 0 0 to 1
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 FFFFFFFF
LAIND low absolute indicator boolean con/no-set 0 0 to 1
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
PRTYPE priority type integer con/no-set 0 [0..10]
ROCIND rate alarm indicator boolean con/no-set 0 0 to 1
ROCVAL rate of change value real con/no-set 100.0 RI2
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 FFFFFFFF
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
INHALM inhibit alarm pack_b con/set 0 0 to FFFFFFFF
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-RI2 eng range input real[3] no-con/no-set 100,0,1 specifiable

101.3.1 Parameter Definitions


ABSDB Absolute Alarm Deadband is an input that defines the size of the dead-
band that applies to both the high and low absolute limits. You can adjust
this parameter at the workstation.

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.

ABSINC Absolute Increment is a real value that specifies the amount by which the
alarmed variable can exceed the alarm limits (or the current re-alarm lim-
its), before incrementing the re-alarm level. Default = 5.0.

1837
B0193AX – Rev N 101. REALM – Real Alarm Block

ABSLEV Absolute Level is an integer output that indicates the measurement’s cur-
rent level of re-alarming of the absolute alarm limits. The actual alarm
level of re-alarming violation is equal to:
(ABSLEV - 1) * ABSINC ± (high/low deviation limit)
The block clamps the maximum ABSLEV value at 10.

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.

ABSRAL Absolute Re-alarming is a boolean parameter that enables (ABSRAL = 1)


or disables (ABSRAL = 0) significant re-alarming for the Absolute Alarm.
Default = 0.

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 REALM block, only the following unshaded 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
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

Bit Boolean
Number* Configured Alarm Option Connection
(0 to 31) When True (B32 to B1)
0 Alarm Group 8 in Use ALMOPT.B32
1 Alarm Group 7 in Use ALMOPT.B31
7 Alarm Group 1 in Use ALMOPT.B25
16 Low Absolute Alarm Configured ALMOPT.B16
17 High Absolute Alarm Configured ALMOPT.B15
24 Low-Low Absolute Alarm Configured ALMOPT.B8
25 High-High Absolute Alarm Configured ALMOPT.B7

* Bit 0 is the least significant bit (starting from the right).


There are no mnemonic names for the individual bits of ALMOPT.

1838
101. REALM – Real Alarm Block B0193AX – Rev N

ALMSTA Alarm Status is a 32-bit output, bit-mapped to indicate the block’s alarm
states. For the REALM 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

B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
UNAK B2
B3
B4
B5
B6
B7
B8
RATE B9
CRIT PRTYPE

HMA
HHA

HDA

LMA
LDA
LLA
INH

Bit Boolean
Number Connection
(0 to 31)* Name Description When True (B32 to B1)
0 to 4 PTYP_MSK Priority Type: See parameter ALMSTA.B32–
PRTYPE for values used in ALMSTA.B28
the REALM block
5 to 7 CRIT_MSK Criticality; 5 = lowest priority, ALMSTA.B27–
1= highest ALMSTA.B25
16 LMA Low Measurement Alarm ALMSTA.B16
17 HMA High Absolute Alarm ALMSTA.B15
20 LDA Low Deviation Alarm ALMSTA.B12
21 HDA High Deviation Alarm ALMSTA.B11
23 RATE Rate of Change Alarm ALMSTA.B9
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

* Bit 0 is the least significant bit (starting from the right).

BLKSTA Block Status is a 32-bit output, bit-mapped to indicate the block’s opera-
tional states. For the REALM 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
B10
B11
WLCK B12
B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

MA
ON

1839
B0193AX – Rev N 101. REALM – Real Alarm Block

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (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

* Bit 0 is the least significant bit (starting from the right).

CRIT Criticality is an integer output that indicates the priority, ranging from 1
to 5, of the block’s 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 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 DELTI2
Change Delta for Input Ranges 1 and 2 are real values that define the res-
olution as a percent of the measurement range. Entering a 1 causes the
Object Manager to recognize and respond to a change of 1 percent of the
full error range.
DELTI1 is used for scaling MEAS. DELTI2 is used for scaling KSCALE.

DESCRP Description is a user-defined string of up to 32 characters that describe the


block’s function (for example, “PLT 3 FURNACE 2 HEATER CON-
TROL”).

DEVADB Deviation Alarm Deadband is a real input, in MEAS units, that defines
the size of the deadband that applies to both High and Low Deviation
Limits. You can adjust this parameter at the workstation.

1840
101. REALM – Real Alarm Block B0193AX – Rev N

DEVGRP Deviation Group is a short integer input that directs deviation alarm mes-
sages to one of eight groups of alarm devices. You can change the group
number through the workstation.

DEVINC Deviation Increment is a real value that specifies the amount by which the
alarmed variable can exceed the alarm limits (or the current re-alarm lim-
its) before incrementing the re-alarm level. Default = 5.0.

DEVLEV Deviation Level is an integer output that indicates the measurement’s cur-
rent level of re-alarming of the deviation alarm limits. The actual alarm
level of re-alarming violation is equal to:
(DEVLEV - 1) * DEVINC ± (high/low deviation limit)
The block clamps the maximum DEVLEV value at 10.

DEVPRI Deviation Priority is an integer input, from 1 to 5, that sets the priority
level of the deviation alarm (1 is the highest priority).

DEVRAL Deviation Re-alarming is a boolean parameter that enables (DEVRAL = 1


= true) or disables (DEVRAL = 0 = false) significant re-alarming for the
Deviation Alarm. Default = 0.

EI1 to EI2 Engineering Units for Input Ranges 1 through 8, as defined by the param-
eters HSCI1 to HSCI2, LSCI1 to LSCI2, and DELTI1 to DELTI2, pro-
vide the engineering units text for the values defined by Input Ranges 1
and 2. “Deg F” or “pH” are typical entries.
EI1 is used for scaling MEAS. EI2 is used for scaling KSCALE.

ERCODE Error Code is a string data store which indicates the type of configuration
error or warning encountered. The error situations cause the block’s
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 REALM 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 does not exist for given block
PHASE COMBINATION” PERIOD, or block PERIOD not
compatible with compound
PERIOD.
“W44 – INVALID High range value is less than or equal
ENGINEERING RANGE” to low range value.

1841
B0193AX – Rev N 101. REALM – Real Alarm Block

Message Value
“W46 – INVALID INPUT The source parameter specified in the
CONNECTION” 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 The configured value of a block
OPTION” option is illegal.
“W52 – INVALID I/O An I/O block is connected to an ECB
CHANNEL/GROUP when the specified point number is
NUMBER” invalid or when the specified group
or octet number is invalid.
“W53 – INVALID PARAMETER A parameter value is not in the
VALUE” acceptable range.
“W58 – INSTALL ERROR; A Database Installer error has
DELETE/UNDELETE BLOCK” occurred.

HABLIM High Absolute Alarm Limit is a real input that defines the value of the
measurement 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.

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.

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

1842
101. REALM – Real Alarm Block B0193AX – Rev N

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

HLAOPT High/Low Alarm Option is a configured short integer 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.

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 units. Make the
range and units consistent with the measurement source. A typical value is
100 (percent).
HSCI1 is used for scaling MEAS. HSCI2 is used for scaling KSCALE.

INHALM Inhibit Alarm contains packed boolean values that represent alarm inhibit
requests for each alarm type or point configured in the block. For the
REALM block, only the following bits are used:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B10

B11

B12

B13

B14

B15

B16
B1

B2

B3

B4

B5

B6

B7

B8

B9

1843
B0193AX – Rev N 101. REALM – Real Alarm Block

Bit Boolean
Number* Connection
(0 to 15) Description When True (B16 to B1)
0 Inhibit Low Absolute Alarm INHALM.B16
1 Inhibit High Absolute Alarm INHALM.B15
4 Low Deviation Alarm INHALM.B12
5 High Deviation Alarm INHALM.B11
7 Rate of Change Alarm INHALM.B9
8 Inhibit Low-Low Absolute Alarm INHALM.B8
9 Inhibit High-High Absolute Alarm INHALM.B7
13 Inhibit Alarm INHALM.B3
14 Unacknowledged INHALM.B2

* Bit 0 is the least significant bit (starting from the right).


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

1844
101. REALM – Real Alarm Block B0193AX – Rev N

INHSTA Inhibit Status contains packed long values that represent the actual inhibit
status of each alarm type configured in the block. For the REALM 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

B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
UNACK B2
B3
B4
B5
B6
B7
B8
B9
RATE

HMA
HHA

HDA

LMA
LDA
LLA
INH

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
16 LMA Low Absolute Alarm Inhibited INHSTA.B16
17 HMA High Absolute Alarm Inhibited INHSTA.B15
20 LDA Low Deviation Alarm INHSTA.B12
21 HDA High Deviation Alarm INHSTA.B11
23 RATE Rate of Change Alarm INHSTA.B9
24 LLA Low-Low Absolute Alarm INHSTA.B8
Inhibited
25 HHA High-High Absolute Alarm INHSTA.B7
Inhibited
29 INH Inhibit Alarm INHSTA.B3
30 UNACK Unacknowledged INHSTA.B2

* Bit 0 is the least significant bit (starting from the right).

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.

1845
B0193AX – Rev N 101. REALM – Real Alarm Block

KSCALE KSCALE is a conversion factor used to make the specified units of


ROCLIM dimensionally compatible with the fixed units of the measure-
ment signal in the process of differentiation performed over the time
interval of the block PERIOD.

LABLIM Low Absolute Alarm Limit is a real input that defines the value of the
measurement that initiates a low absolute alarm.

LABTXT Low Absolute Alarm Message Text is a user-defined text string of up to 32


characters that are output with the alarm message to identify the alarm.

LAIND The Low Alarm Indicator is a boolean output that is set true when the
measurement falls below the low absolute alarm limit (LABLIM). The
block sets LAIND to false when the measurement passes back through the
deadband and returns to normal operation.

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-


ters that are 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
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-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

1846
101. REALM – Real Alarm Block B0193AX – Rev N

parameter of the block. Thereafter, set requests to any of the block’s


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 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 units. Make the range and units consistent with those of the
measurement source.
LSCI1 is used for scaling MEAS. LSCI2 is used for scaling KSCALE.

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 block’s input, or the
controlled variable.

MEASNM Measurement Alarm Name is a user-defined text string of up to 12 charac-


ters that identify the alarm source in the alarm message. It serves as a point
descriptor label (for example, Furn 37 Temp).

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 block’s 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.)

1847
B0193AX – Rev N 101. REALM – Real Alarm 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*****

* 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, and CP60.

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. See Integrated Control Software Concepts
(B0193AW) document.

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
5 = High Deviation
6 = Low Deviation
7 = Rate alarm

RI1 to RI2 Range Input 1 and 2 are arrays of real values that specify the high and low
engineering scale and change delta of a particular real input. For a given

1848
101. REALM – Real Alarm Block B0193AX – Rev N

block, it also forms an association with a group of real input parameters


that have the same designated range and change delta.
RI1 is used for scaling MEAS. RI2 is used for scaling KSCALE.

ROCGRP Rate of Change Group is a short integer input that directs Rate of Change
alarm messages to one of eight groups of alarm devices. You can change
the group number at the workstation.

ROCIND The Rate of Change Alarm Indicator is a boolean output. It is set true
when the measurement experiences a rate of change greater than the rate
of change alarm limit (ROCLIM). The block sets ROCIND to false when
the rate of change falls below that limit.

ROCLIM Rate of Change Limit is the absolute value of the allowable change in
MEAS, when ROCOPT is true. When ROCLIM is exceeded, it generates
a Rate of Change Alarm. You can configure ROCLIM as a constant, or
connect it to a block to vary the rate limit.

ROCOPT Rate of Change Alarm Option is a configured input. ROCOPT enables


(when true) or disables (when false) rate of change alarming. You can
change ROCOPT only by reconfiguring the block.

ROCPRI Rate of Change Priority is an integer input (1 to 5) that sets the priority
level of the rate of change alarm (1 is the highest priority).

ROCTIM Rate of Change Time is the number of minutes that the measurement’s
rate of change must remain greater than the rate of change limit,
ROCLIM, before the block generates an alarm. It is also the length of
time that the rate of change must remain below the limit to come out of
alarm.

ROCTXT The Rate of Change Alarm Message Text is a user-defined text string of up
to 32 characters that are output with the alarm message to identify the
alarm.

ROCVAL Rate-of-Change Value is the rate-of-change of the measurement deter-


mined by the KSCALE factor and the block period in a REALM block.

SETPT Setpoint is a real input that identifies the source of the reference input to
be used in conjunction with the MEAS parameter to produce a deviation
value:
(Deviation = Setpoint - Measurement).

TYPE When you enter “REALM” or select “REALM” 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.

1849
B0193AX – Rev N 101. REALM – Real Alarm Block

101.4 Detailed Operation


The Real Alarm block, when in auto, provides the alarm functions described in the following sec-
tions for the real value that you connect to the measurement (MEAS) input parameter.

101.4.1 Detailed Diagram


Figure 101-2 is a simplified block diagram that depicts the functional signal flow of the REALM
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.

1850
101. REALM – Real Alarm Block B0193AX – Rev N

UNACK
INHIB
INHALM HHAIND
INHOPT
HHALIM Limit
MEAS Scale ABSDB (High-High
HHATXT Absolute
HSCI1, Alarming)
LSCI1,
DELTI1
HHAOPT LLAIND
HHAPRI
HHAGRP
LLALIM Limit
ABSDB (Low-Low
LLATXT Absolute
Alarming)
ABSRAL Absolute
ABSINC ABSLEV
Re-Alarming
HAIND

HABLIM Limit
ABSDB
(High
HABTXT
Absolute
Alarming) Output Message
Including:
HHAIND, HHATXT
HLAOPT MA LLAIND, LLATXT
ABSPRI LAIND
HAIND, HABTXT
ABSGRP Manual LAIND, LABTXT
LABLIM Limit HDAIND, HDATXT
ABSDB LDAIND, LDATXT
(Low
LABTXT
Absolute Auto ROCIND, ROCTXT
Alarming) ROCVAL
PRTYPE
CRIT
HDAIND

HDALIM Limit
HDATXT (High
Deviation
Alarming)
DEVRAL Deviation
DEVINC DEVLEV
DALOPT Re-Alarming
SETPT
LDAIND
DEVADB
DEVPRI
DEVGRP LDALIM Limit
LDATXT (Low
Deviation
Alarming)

ROCIND
ROCVAL

KSCALE Scale
ROCOPT Limit
ROCLIM (Rate of
HSCI2, ROCTIM Change
LSCI2, ROCTXT Alarming)
DELTI2 ROCPRI

Figure 101-2. REALM, Detailed Block Diagram

1851
B0193AX – Rev N 101. REALM – Real Alarm Block

101.4.2 Block States


The REALM block has three states: Initialization, Manual and Auto.

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

101.4.2.2 Manual
Key Parameters: MA
In manual, the integer outputs CRIT and PRTYPE are reset to zero and all the Boolean indicator
outputs are set to false. In manual, the block represses all alarm functions, and all outputs are
unsecured and settable.

101.4.2.3 Auto
Key Parameters: MA
In auto mode, the block operates as described below.

101.4.3 Inhibit Alarming


Key Parameters: ABSRAL, DALOPT, DEVRAL, HHAOPT, HLAOPT, INHALM, INHIB,
INHOPT, ROCOPT
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
Table 101-1 for its formatting.
The INHOPT parameter specifies the actions taken when alarms are inhibited in the block. See
Table 101-1 to determine the possible actions.
Table 101-2 lists the Boolean inhibit option parameters which enable/disable each of the types of
alarming supported by REALM.

Table 101-2. REALM Inhibit Alarm Option Booleans

Parameter Enables/Disables Alarming Type


HHAOPT High-High/Low-Low Absolute Alarming
HLAOPT High/Low Absolute Alarming
DALOPT High/Low Deviation Alarming
ROCOPT Rate of Change Alarming
ABSRAL Re-Alarming for the Absolute Alarm
DEVRAL Re-Alarming for the Deviation Alarm

101.4.4 Absolute Alarming


Absolute alarming checks if MEAS has exceeded a predefined limit. See Figure 101-3.

1852
101. REALM – Real Alarm Block B0193AX – Rev N

Alarm Indicator is set.


HHALIM
HABLIM

MEAS

LABLIM
LLALIM
Alarm Indicator is set.

Time
Figure 101-3. Absolute Alarming

Four forms of absolute alarming are available, as described below.

101.4.4.1 High-High Absolute Alarming


Key Parameters: ABSDB, HHAIND, HHALIM, HHATXT, MEAS
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 (ABSDB), the block sets HHAIND to false and outputs a return-
to-normal message.

101.4.4.2 Low-Low Absolute Alarming


Key Parameters: ABSDB, LLAIND, LLALIM, LLATXT, MEAS
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, LLALIM plus the deadband
(ABSDB), the block sets LLAIND to false and outputs a return-to-normal message.

101.4.4.3 High Absolute Alarming


Key Parameters: ABSDB, HABLIM, HABTXT, HAIND, MEAS
In High Absolute Alarming, MEAS is compared to the high absolute alarm limit (HABLIM). If
MEAS is greater than HABLIM, the block sets HAIND true and outputs an alarm message that
includes the user-defined HABTXT. When MEAS falls to, or below, HABLIM minus the dead-
band (ABSDB), the block sets HAIND to false and outputs a return-to-normal message.

101.4.4.4 Low Absolute Alarming


Key Parameters: ABSDB, LABLIM, LABTXT, LAIND, MEAS
In Low Absolute Alarming, MEAS is compared to the low absolute alarm limits (LABLIM). If
MEAS is less than LABLIM, the block sets LAIND true and outputs an alarm message that
includes the user-defined LABTXT. When MEAS rises to, or above, LABLIM plus the deadband
(ABSDB), the block sets LAIND to false and outputs a return-to-normal message.

1853
B0193AX – Rev N 101. REALM – Real Alarm Block

101.4.5 Deviation Alarming


Deviation alarming checks if MEAS has exceeded the predefined deviation limits. See
Figure 101-4.

Alarm Indicator is set


HIGH
DEVIATION
SETPOINT DEADBAND

MEAS
DEADBAND
LOW
DEVIATION

Time
Figure 101-4. Deviation Alarming

Two forms of deviation alarming are available, as described below.

101.4.5.1 High Deviation Alarming


Key Parameters: DEVADB, MEAS, HDAIND, HDALIM, HDATXT, SETPT
In High Deviation Alarming, the deviation (SETPT - 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).

101.4.5.2 Low Deviation Alarming


Key Parameters: DEVADB, LDAIND, LDALIM, LDATXT, MEAS, SETPT
In Low Deviation Alarming, the deviation (SETPT - 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).

101.4.6 Rate of Change Alarming


Key Parameters: KSCALE, MEAS, ROCIND, ROCLIM, ROCTIM, ROCTXT, ROCVAL
In Rate of Change Alarming, the MEAS rate of change is compared to the rate-of-change limit
(ROCLIM) value. The value of ROCLIM is shown in Figure 101-5.

1854
101. REALM – Real Alarm Block B0193AX – Rev N

HHALIM/
HABLIM
Input

MEAS Output ROCLIM

LLALIM/
LABLIM

Time
Figure 101-5. Rate of Change Alarming

If the rate of change exceeds ROCLIM over a consecutive time limit greater than the interval
time, ROCTIM, the block sets ROCIND true and outputs an alarm message that includes the
user-defined ROCTXT. When the rate of change no longer exceeds ROCLIM over a consecutive
period greater than ROCTIM, the block resets ROCIND to false and generates a return-to-nor-
mal message. ROCLIM and ROCTIM are clamped at a minimum of 0.0 every cycle.
At configuration, define KSCALE so as to make the specified units of ROCLIM dimensionally
compatible with the fixed units of the measurement signal in the process of differentiation per-
formed over the time interval of the block PERIOD.
The output ROCVAL contains the rate of change of MEAS at all times. It is computed as follows:
ROCVAL = |MEAS - previous cycle MEAS| / (KSCALE * ROCTIM),
where ROCTIM is the period of the block in seconds.

101.4.7 Re-Alarming
Key Parameters: ABSINC, ABSLEV, ABSRAL, DEVINC, DEVLEV, DEVRAL, MEAS
Re-alarming allows you to check if a MEAS input which has initiated an alarm is extending fur-
ther beyond the alarm limit, or is returning to a safe level. When re-alarming is enabled, the alarm
limit for the initiated alarm is increased/decreased by a specified increment after a MEAS input
has triggered the alarm. If the MEAS input goes past the adjusted alarm limit again, the alarm
reoccurs, and the alarm limits are increased/decreased again. The alarm limits can be adjusted by
re-alarming up to 10 times.
Re-alarming is available for absolute and deviation alarming. The integer outputs ABSLEV and
DEVLEV provide the level of re-alarming (0 to 10) of the absolute and deviation alarm limits
(that is, the number of times the MEAS input has caused the alarm level to increment). ABSLEV
and DEVLEV are reset to zero (0) after the MEAS input has returned to safe levels and the initi-
ated alarm has been turned off.
ABSINC and DEVINC, respectively, provide the specified increments by which the absolute and
deviation alarm limits are adjusted each time a new level of re-alarming is established.
Re-alarming for absolute alarms is enabled or disabled via ABSRAL. Re-alarming for deviation
alarms is enabled or disabled via DEVRAL.

1855
B0193AX – Rev N 101. REALM – Real Alarm Block

1856
102. RIN – Real Input Block
This chapter covers the Real Input (RIN) block, its features, parameters and functions, and
application diagrams.

NOTE
This chapter describes the Distributed Control Interface (DCI) RIN block. For a
description of how the RIN block is used in PLC applications, refer to PLC Interface
Block Descriptions (B0193YQ).

102.1 Overview
The Real Input (RIN) 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.) RIN receives one analog value from a field device. It presents that value, after
input processing, at parameter RINP, whether the block mode is Auto or Manual. An additional
parameter, MEAS, is provided for use as the block output to the control strategy. The value of
MEAS is the same as that of RINP when the block is in Auto mode. When the block is in Manual
mode, MEAS is independent of RINP, and can be used for manual sets.

To
Input From Range Final I/A Series
External Device Limiting Scaling
Conversion Limiting

Input From
Manual
Set

Figure 102-1. RIN Block Diagram

102.2 Basic Operation


The RIN block is used in applications where the field device provides the analog data value to the
I/A Series system for use in a Display Manager, FoxView display, or connection to a Foxboro con-
trol strategy. The raw value from the external device is first scaled into the I/A Series normalized
raw count range specified by the configured Signal Conditioning Index (SCI). It is then limited to
prevent excursions beyond the upper or lower span limits of that range. The limited I/A Series
normalized raw count value is converted into engineering units by a proportionality calculation.
After a final limiting calculation, the result, in engineering units, is made available in parameter
Real Input (RINP).
RINP contains the value, after input processing, read from the external device address specified by
parameter Point Number (PNT_NO) at all times, whether the mode is Auto or Manual. In Auto,

1857
B0193AX – Rev N 102. RIN – Real Input Block

this value is copied to parameter Block Output (MEAS). In Manual, it is not copied to MEAS,
and the you may set the value of MEAS.
The RIN block does not provide any alarm detection or reporting capability. If alarms are desired,
a separate AIN block can be used with a connection to the MEAS parameter of the RIN block.

102.3 Features
The RIN block provides the following features:
♦ Support for operator sets in Manual
♦ Specification of external device source point as device-specific string
♦ Input value scaled into I/A Series normalized raw count range before further
processing
♦ Input in I/A Series normalized raw count converted to engineering units.

102.4 Parameters
Table 102-1. RIN 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 RIN_TYPE 149
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 to 9
PHASE block execution phase short integer no-con/no-set 0 ---
LOOPID loop/unit/batch identifier string no-con/no-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
EI1 engineering units string no-con/no-set % 1 to 6 chars
HSCI1 high scale input real no-con/no-set 100.0 >LSCI1
LSCI1 low scale input real no-con/no-set 0.0 <HSCI1
MBIAS measurement bias real no-con/set 0.0 any real
MGAIN measurement gain real no-con/set 1.0 any real
RI1 input range 1 real no-con/no-set HSCI1, ---
LSCI1
RINP real input real con/set 0.0 LSCI1-HSCI1
SCI signal conditioning index short integer no-con/no-set 0 0 to 12
SIMOPT simulation option boolean no-con/no-set 0 0 = no simulation
1 - simulation

1858
102. RIN – Real Input Block B0193AX – Rev N

Table 102-1. RIN Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


OUTPUTS
ROCV* maximum rate of change real con/no-set 0 RI1
Non-Configurable Parameters
OUTPUTS
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
BLKSTA block status packed long con/no-set 0 0-0xFFFFFFFF
MEAS real input real con/set 0.0 RI1
SEVSTS* (reserved) integer con/no-set 0 0 to 300
TSTAMP time stamp long integer con/no-set 0 ms after midnight
VALSTS FF value status integer con/no-set 0 0-0xFFFF
VUMEAS* (reserved) real con/no-set 0.0 any real>0
DATA STORES
DEFINE no config errors boolean no-con/no-set 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
* Not currently supported by FBM220/221or FBM223.

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

BLKSTA Block Status is a 32-bit output, bit-mapped to indicate various block oper-
ational states. For the RIN 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
B10
B11
B12
B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

FBM
MA
ON

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (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
*Bit 0 is the least significant bit (starting from the right).

1859
B0193AX – Rev N 102. RIN – Real Input 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. (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 block’s 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.

EI1 Engineering Units for Input Range 1 provides the engineering units text
for the RINP and MEAS parameters. The value configured for this text
string should be consistent with the values used for HSCI1 and LSCI1.

ERCODE Error Code is a character data store which indicates the type of configura-
tion error which caused the block’s 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 block’s detail display. For the RIN block, the following list shows
the possible messages you may see:
ERCODE Message Meaning
W44 – INVALID ENGINEER- HSCI1 ≤ LSCI1
ING RANGE
W50 – INVALID SIGNAL CON- SCI is out of range for this block.
DITIONING INDEX
W52 – INVALID I/O CHAN- PNT_NO string is blank.
NEL/GROUP NO.
W62 – UNRESOLVED CON- Connection is not yet resolved.
NECTION (Block remains defined.)
W65 – INVALID POINT FBM parsing algorithm finds
ADDRESS that a used BIx_PT is invalid.
W66 – DUPLICATE CONNEC- There is a duplicate connection
TION to a particular point.
W67 – INSUFFICIENT FBM There is no available memory or
MEMORY/CONNECTIONS point connections in the FBM.
W68 – INVALID DEVICE The device connection is invalid.
CONNECTION
W69 – INVALID POINT CON- The point connection is invalid.
NECTION

1860
102. RIN – Real Input Block B0193AX – Rev N

HSCI1 High Scale for Input Range 1 specifies the upper range limit of the block
input when converted from limited raw count to engineering units.

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.

IOM_ID ECB Identifier is a user-configurable string that specifies either of the fol-
lowing:
♦ The device ECB (ECB201), for the purpose of connecting to
(accessing) a field parameter that resides in a field device hosted by
an ECB200.
♦ The parent ECB200, for the purpose of accessing a parameter
whose source is the FBM itself (not applicable to FBM220/221 or
FBM223).
IOM_ID can be formatted in either of two ways, depending on the loca-
tion of the ECB in question:
♦ Simply the name of the external device ECB (ECB201). For this
format, the ECB201 must reside in the station ECB compound
<cp_letterbug>_ECB, where cp_letterbug is the station letterbug
of the I/A Series station.
♦ The full pathname of the external device ECB (ECB201). For this
format, the ECB201 must reside in the station ECB compound,
or any compound where blocks that tie to it are located. The path-
name must be of the form:
<local_compound_name>:<ecb_name>
where <ecb_name> is the NAME parameter of the ECB.
Note: Once configured, IOM_ID may not be modified. A delete/undelete
operation will NOT allow IOM_ID to be changed. The block must be
deleted and then re-entered into the data base. IOM_ID may then be
reconfigured.

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.

1861
B0193AX – Rev N 102. RIN – Real Input Block

LSCI1 Low Scale for Input Range 1 specifies the lower range limit of the block
input when converted from limited normalized raw count to engineering
units.

MA Manual/Auto is a Boolean input that controls the block’s operating state


(0 = False = Manual; 1 = True = Auto). When in Auto mode, the block
output is copied from RINP to MEAS. In Manual mode, it is not copied,
and MEAS becomes settable.

MBIAS Measurement Bias is the offset factor applied to the raw count input from
the external device when rescaling it into the equivalent I/A Series station
normalized raw count.
The scaling is applied before the signal conditioning algorithm specified
by SCI is applied.
In the RIN block, the linear scaling is applied before the signal condition-
ing algorithm is applied. The GAIN and BIAS parameters are used in the
linear equation:
x = GAIN (x + BIAS)

MEAS Block Output contains the same value as RINP when the block mode is
Auto. It is independent of RINP in Manual mode (set by operator).

MGAIN Measurement Gain is the gain factor applied to the raw count input from
the external device when rescaling it into the equivalent I/A Series control
station normalized raw count.
The scaling is applied before the signal conditioning algorithm specified
by SCI is applied.

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 block’s execution time base
and allowable PHASE values. PERIOD values range from 0 to 9 and map
to the following period time lengths:

1862
102. RIN – Real Input Block B0193AX – Rev N

Period Length Period Length


0 0.1 second 5 30 seconds
1 0.5 second* 6 1 minute
2 1.0 second 7 10 minutes
3 2.0 seconds 8 60 minutes
4 10 seconds 9 0.2 second
*If the BPC is 0.2 second, this period is treated internally as
0.6 second, but the PERIOD parameter remains 1.

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. See Integrated Control Software Concepts
(B0193AW).

PNT_NO Point Number identifies the source address in the external device memory
(or external device data stream) from which the block input is obtained. It
is a string whose syntax depends on the make and model of the external
device.
For the FOUNDATION™ fieldbus interface (FBM220/221), PNT_NO
contains the Function Block Tag used to identify the function block, in
the external device, that is to be associated with the RIN block input.
Also, for FOUNDATION fieldbus devices, PNT_NO may be connected to
only one function block in the device. (Multiple connections are not sup-
ported.)
For the PROFIBUS interface (FBM223), PNT_NO must be configured
to contain a PROFIBUS data identifier string. This information identi-
fies, to the FBM, specific data in the PROFIBUS data stream that is to
serve as the device data input to this block. Refer to PROFIBUS-DP Com-
munication Interface Module (FBM223) User’s Guide (B0400FE) for
details.
For the HART interface (FBM214/216), PNT_NO must be configured
to contain a point address. This information identifies, to the FBM, spe-
cific data in the HART data stream that is to serve as the device data input
to this block. Refer to HART™ Communication Interface Module
(FBM214/215/ 216/218) User’s Guide (B0400FF) for details.
For the Modbus interface (FBM224), PNT_NO must be configured to
contain the address of a register or a pair of consecutive registers in a Mod-
bus device. Refer to Modbus Communication Interface Module (FBM224)
User’s Guide for details.

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,

1863
B0193AX – Rev N 102. RIN – Real Input Block

Range Input also forms an association with a group of real input parame-
ters that have the same designated range and change delta.

RINP Real Input is an input in the RIN block that can be used when SIMOPT
is used to simulate the real input value from the field device. When
SIMOPT is not used, RINP contains the selected field device input value.

ROCV Maximum Rate of Change applies to the input RINP. It is configured as a


real value in the block’s engineering units, and converted to normalized
raw counts before being sent to the FBM when the DCI connection is
established. The actual rate-of-change detection is performed by the FBM
or the field device supported by the FBM.
ROCV is currently supported only by the HART FBM216/218. It is not
supported by FBM220/221 or FBM223.

SCI Signal Conditioning Input is used in converting between normalized raw


count and engineering units. See Section 102.6 for the signal conditioning
values.

SEVSTS This parameter is currently not supported by any FBM or field device.

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 is no DCI connection established for the block. The status
and data values of RINP are not recovered from the field. RINP, which is
normally secured, is released (provided it is unlinked) and becomes avail-
able for entry of simulated values.
Such simulated values are limited by HSCI1 and LSCI1. If this limiting
action forces a clamping of the entered value, the status of RINP is set to
Limited High or Limited Low, as appropriate.
The basic actions of Auto and Manual modes are still observed when
SIMOPT is 1 (True). If the block is in Auto mode, the status and value of
RINP (including any Limited High or Limited Low bits) is copied to the
status and value of MEAS. If in Manual mode, RINP is not copied to
MEAS. As noted in Section 102.5.9, manual sets to MEAS are first lim-
ited by the range limits of HSCI1 and LSCI1 before being accepted.

TSTAMP The Time Stamp parameter of the block is updated every time there is a
change in the value of MEAS. In Auto mode, this means that the field
input value in RINP is changed. In Manual mode, it means that a new
manual value is set into MEAS. 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.

TYPE When you enter RIN or select it from a configurator list, an identifying
integer is created specifying this block type. For this block, the value of
TYPE is 149.

1864
102. RIN – Real Input Block B0193AX – Rev N

VALSTS This parameter is not supported by Profibus, HART or Modbus field-


bus devices. FOUNDATION fieldbus Value Status is an output parameter of
any DCI block that contains the value status of a FOUNDATION fieldbus
function block parameter value provided by a DCI connection to a field
device. 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 RIN block is executed, VALSTS reports the status of the FF
value from the information in the DCI connection.

VUMEAS This parameter is currently not supported by any FBM or field device.

1865
B0193AX – Rev N 102. RIN – Real Input Block

102.5 Functions
102.5.1 Detailed Diagram

SCI
IOM_ID HSCI1
PNT_NO LSCI1
HSCI1
MGAIN EI1
LSCI1
MBIAS SCI Span

Engineering
Final
AND Scaling Limiting Units RINP
ECB Good Conversion Limiting

Real Input from


External Device, or
Simulated Value* RINP
AND MEAS
Auto

ECB Status
RINP.BAD

RINP.OOS

AND MEAS.BAD
Auto
*As selected per SIMOPT MEAS.OOS

Figure 102-2. RIN Block Operational Diagram

1866
102. RIN – Real Input Block B0193AX – Rev N

102.5.2 Associated ECBs


The configured parameter IOM_ID in the RIN block specifies an ECB201 (the “Device ECB”)
to connect to a field parameter that resides in a field device hosted by an ECB200 (the “FBM
ECB”).
The PARENT parameter of the ECB201 specifies the associated ECB200 hosting the field
device.
IOM_ID may also directly specify the parent ECB200 to retrieve a parameter resident in the
FBM itself.

102.5.3 DCI Connection


The RIN block establishes one DCI connection to the specified ECB at any one of the following
times:
♦ The block is first installed.
♦ The I/A Series 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 RIN 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 when required (for
example, connections 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 RIN block is deleted.

102.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 102.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 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 HSCI1 ≤ LSCI1, the detail display shows “W44 – INVALID ENGINEERING
RANGE” with ERCODE = 44.
♦ If the SCI is out of range for this block, the detail display shows “W50 – INVALID
SIGNAL CONDITIONING INDEX” with ERCODE = 50.
♦ If the FBM parsing algorithm finds that PNT_NO is invalid, the detail display shows
“W65 – INVALID POINT ADDRESS” with ERCODE = 65.

1867
B0193AX – Rev N 102. RIN – Real Input Block

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

102.5.5 Processing of Input Point Status


The status of PNT_NO input is checked, together with the status of the ECB. Then the status of
the RINP parameter is set according to the following rules.
The status of RINP 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 described in
Section 102.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 RINP 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 RINP is set to Error if the status information indicates an uncertain or questionable
value of the field device parameter.

1868
102. RIN – Real Input Block B0193AX – Rev N

The status of RINP is set to Limited High or Limited Low (as appropriate) if:
♦ Either one of the limiting actions (normalized raw count and/or engineering units),
described in Section 102.5.6, forces a clamping of the value.
♦ The DCI connection status information indicates that the field device parameter is
limited high or limited low.

102.5.6 Processing of Input Point Data


The raw value from the external device is first scaled into the I/A Series system normalized raw
count range by application of MGAIN and MBIAS:
I/A Series System Normalized Raw Count = (Input Raw Value)(MGAIN) + MBIAS
The resulting value is limited to be within the normalized range for the configured value of SCI.
(See Section 102.6 for SCI values.)
This limited I/A Series system normalized raw count value is then converted into engineering
units by application of the signal conditioning index SCI and the engineering range limits HSCI1
and LSCI1:
Engineering Units =
((I/A Series Normalized Raw Count - Span Low Limit)(HSCI1 - LSCI1)/span) + LSCI1
For example, if the SCI is linear 1600-64000, the span low limit is 1600, and the span is 64000-
1600 or 62400.
The final step in input conditioning consists of limiting the engineering units value to within the
engineering range limits, HSCI1 and LSCI1.

102.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 and INITMA are used to establish the control mode of the
RIN block.

102.5.8 Operation in Auto Mode


In Auto mode, MEAS is secured. The Bad, Out-of-Service, Error, Limited High, Limited Low
status bits of RINP replace the corresponding status bits of MEAS. If RINP is neither Bad nor
Out-of-Service, the value of RINP is copied to the value of MEAS. If RINP is either Bad or Out-
of-Service, MEAS remains at its last good value.

102.5.9 Operation in Manual Mode


In Manual mode, neither the status nor the value of RINP is copied to MEAS. MEAS is released
and becomes available for manual sets. Such sets are limited to the range limits, HSCI1 and
LSCI1 before being accepted.
RINP continues to monitor the value from the field at the specified external device point.

1869
B0193AX – Rev N 102. RIN – Real Input Block

102.6 Signal Conditioning (SCI) Values


NOTE
Valid SCI values for the RIN block are 0-7, 9-15, and 50-59, all inclusive.

SCI = 0: No Linearization
Result is (value)
SCI = 1: Linear (0 to 64000)
Result is (value * span + offset)
SCI = 2: Linear (1600 to 64000)
Result is ((value - 1600.0) * span + offset)
SCI = 3: Linear (12800 to 64000)
Result is ((value - 12800.0) * span + offset)
SCI = 4: Square Root (0 to 64000)
Result is (sqrt (64000.0 * value) * span + offset)
SCI = 5: Square Root (12800 to 64000), Clamped
If (value <= 12800.0) result is (offset)
Otherwise, result is (sqrt (51200.0 * (value - 12800.0)) * span + offset)
SCI = 6: Square Root, Low Cutoff (0 to 64000), Clamped < 3/4%
If (value <= 480.0) result is (offset)
Otherwise, result is (sqrt (64000.0 * value) * span + offset)
SCI = 7: Square Root, Low Cutoff (12800 to 64000), Clamped < 3/4%
If (value <= 13184.0) result is (offset)
Otherwise, result is (sqrt (51200.0 * (value - 12800.0)) * span + offset)
SCI = 9: Linear, Low Cutoff (1600 to 64000)
If (value <= 1600.0) result is (offset)
Otherwise, result is ((value - 1600.0) * span + offset)
SCI = 10: Linear, Low Cutoff (12800 to 64000)
If (value <= 12800.0) result is (offset)
Otherwise, result is ((value - 12800.0) * span + offset)
SCI = 11: Square Root (IT2 signal)
Result is (sqrt (value))
SCI = 12: Linear (2 - 10 V)
Result is ((value - 14080.0) * span + offset)
SCI = 13: Square Root (2 - 10 V), clamped
If (value <= 14080.0) result is (offset)
Otherwise, result is (sqrt (49920.0 * (value - 14080.0)) * span + offset)
SCI = 14: Linear (0 - 16383)
Result is (value * span + offset)
SCI = 15: Square root (0 - 10 V), clamped
Result is (sqrt (62400.0 * (value - 1600.0)) * span + offset);
SCI = 50: Linear (0 to 65535) y = (HSCI1-LSCI1)/65535 * x + LSCI1

1870
102. RIN – Real Input Block B0193AX – Rev N

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

The following notes apply to SCI = 50 through SCI = 59:


♦ y = engineering units value; x = normalized counts value
♦ Linear scaling of the analog inputs is also provided.
♦ In the RIN block, linear scaling is applied before the signal conditioning algorithm is
applied. The GAIN and BIAS parameters are used in the linear equation:
x = GAIN (x + BIAS)

1871
B0193AX – Rev N 102. RIN – Real Input Block

1872
103. RINR – Redundant Real Input
Block
This chapter covers the Redundant Real Input (RINR) block its features, parameters and
functions, and application diagrams.

103.1 Overview
The Redundant Real Input (RINR) 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 gen-
eral purpose interface.) RINR receives one real value from a field 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. Each of the redundant inputs is independently scaled, lim-
ited, and converted into engineering units before the block’s selection algorithm is invoked to
determine which of the two or three inputs is set into parameter RINP.

2 or 3
Redundant Input Processing To Upstream
External Inputs Block

Input from
Manual Set

Figure 103-1. RINR Block Diagram

103.2 Basic Operation


The Redundant Real Input (RINR) block receives inputs from 1, 2, or 3 device ECBs. The inputs
contain real values read from RI1_PT, RI2_PT, and RI3_PT in the device ECBs specified by
IOMID1, IOMID2, and IOMID3 respectively. The ECBOPT parameter determines whether
the redundant inputs are from the same device or in different devices. The ARBOPT parameter
enables the block to consider either two or three redundant inputs. The block’s selection algo-
rithm then determines which of the two or three input values is presented to the control strategy
as the block output RINP. In Auto mode, this value is copied to parameter Real Measurement
(MEAS). In Manual mode, it is not copied to MEAS, and you can set the value of MEAS.
The RINR block does not provide any alarm detection or reporting capability. If alarms are
desired, separate AIN blocks can be used with connections to the MEAS, RIN_1, RIN_2, and
RIN_3 parameters of the RINR block.

1873
B0193AX – Rev N 103. RINR – Redundant Real Input Block

103.3 Features
The RINR block provides the following features:
♦ Reads one real input value from two or three redundant inputs
♦ In Auto mode, copies its output to the Real Measurement (MEAS) parameter
♦ In Manual mode, enables manual setting of the MEAS parameter.

103.4 Parameters
Table 103-1. RINR 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 RINR_TYPE 112
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 to 9
PHASE block execution phase short integer no-con/no-set 0 period specific
LOOPID loop/unit/batch identifier string no-con/no-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
RI1_PT real input 1 address string no-con/no-set blanks 1 to 32 chars, or device
specific
RI2_PT real input 2 address string no-con/no-set blanks 1 to 32 chars, or device
specific
RI3_PT real input 3 address 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
ARBLIM arbitration limit real no-con/no-set 0.0 any real>=0.0
ARBOPT arbitration option boolean no-con/no-set 0 0 to 1
ECBOPT redundant ECB optn boolean no-con/no-set 0 0 to 1
EI1 engineering units string no-con/no-set % 1 to 6 chars
HSCI1 high scale input real no-con/no-set 100.0 >LSCI1
LSCI1 low scale input real no-con/no-set 0.0 <HSCI1
MBIAS measurement bias real no-con/set 0.0 any real
MGAIN measurement gain real no-con/set 1.0 any real
RI1 input range 1 real (3) no-con/no-set HSCI1, ---
LSCI1
RIN_1 primary real input real con/no-set 0 RI1
RIN_2 secondary real input real con/no-set 0 RI1
RIN_3 tertiary real input real con/no-set 0 RI1
RINP real input real con/set 0 RI1
SCI signal conditioning index short integer no-con/no-set 0 0 to 12
SELOPT select option short integer no-con/no-set 0 0 to 3

1874
103. RINR – Redundant Real Input Block B0193AX – Rev N

Table 103-1. RINR Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


SIMOPT simulation option boolean no-con/no-set 0 0 = no simulation
1 = simulation
OUTPUTS
ROCV maximum rate of change real con/no-set 0 RI1
Non-Configurable Parameters
OUTPUTS
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
BLKSTA block status packed long con/no-set 0 0-0xFFFFFFFF
MEAS real input real con/set 0.0 RI1
SELECT selection indicator short integer con/no-set 0 0 to 3
SEVSTS* (reserved) integer con/no-set 0 0 to 300
TSTAMP time stamp long integer con/no-set 0 ms after midnight
VALSTS FF value status integer con/no-set 0 0-0xFFFF
VUMEAS* (reserved) real con/no-set 0.0 any real>0
DATA STORES
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
OWNER owner name string no-con/set 2 blanks 1 to 32 chars
*Not currently supported by FBM220/221 or FBM223.

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

ARBLIM Arbitration Limit is a configurable real value that represents the tolerance
of the difference between pairs of redundant input values in an RINR
block. This value, specified in engineering units, is used to determine
whether the redundant input values agree or disagree.

ARBOPT Arbitration Option is a Boolean input that specifies dual redundancy


(DMR) or triple redundancy (TMR); 0 = False = DMR, 1 = True = TMR.

1875
B0193AX – Rev N 103. RINR – Redundant Real Input Block

BLKSTA Block Status is a 32-bit output, bit-mapped to indicate various block oper-
ational states. For the RINR 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

B10
B11
B12
B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
FBM3 B22
FBM2 B23
FBM1 B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

MA
ON
Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
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 BKKSTA.B21
14 UDEF Block Undefined BLKSTA.B18
15 ON Block ON BLKSTA.B17
* Bit 0 is the least significant bit (starting from the right).

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 block’s 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.

1876
103. RINR – Redundant Real Input Block B0193AX – Rev N

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.

EI1 Engineering Units for Input Range 1 provides the engineering units text
for the RINP and MEAS parameters. The value configured for this text
string should be consistent with the values used for HSCI1 and LSCI1.

ERCODE Error Code is a character data store which indicates the type of configura-
tion error which caused the block’s 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 block’s detail display. For the RINR block, the following list shows
the messages you may see:

ERCODE Message Meaning


W48 – INVALID BLOCK “PRITIM = zero” is not allowed.
OPTION
W52 – INVALID I/O CHAN- RI1_PT, RI2_PT, or RI3_PT string
NEL/GROUP NO. is blank.
W62 – UNRESOLVED Connection is not yet resolved.
CONNECTION (Block remains defined.)
W65 – INVALID POINT FBM parsing algorithm finds that a
ADDRESS used BIx_PT is invalid.
W66 – DUPLICATE CON- There is a duplicate connection to a
NECTION particular point.
W67 – INSUFFICIENT FBM There is no available memory or
MEMORY/CONNECTIONS point connections in the FBM.
W68 – INVALID DEVICE The device connection is invalid.
CONNECTION
W69 – INVALID POINT The point connection is invalid.
CONNECTION

HSCI1 High Scale for Input Range 1 specifies the upper range limit of the block
input when converted from limited normalized raw count to engineering
units.

1877
B0193AX – Rev N 103. RINR – Redundant Real Input 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.

IOMID1 Primary ECB Identifier is a user-configurable string that specifies either of


the following:
♦ The primary device ECB (ECB201), for the purpose of connect-
ing to (accessing) the primary field parameter, which resides in a
field device hosted by a (parent) ECB200
♦ The parent ECB200, for the purpose of accessing a parameter
whose source is the FBM itself (not applicable to FBM220/221 or
FBM223).
IOMID1 can be formatted in either of two ways, depending on the loca-
tion of the ECB in question:
♦ Simply the name of the (primary) device ECB (ECB201). For this
format, the ECB201 must reside in the station ECB compound
<cp_letterbug>_ECB, where cp_letterbug is the station letterbug
of the I/A Series station.
♦ The full pathname of the (primary) device ECB (ECB201). For
this format, the ECB201 must reside in the station ECB com-
pound, or any compound where blocks that tie to it are located.
The pathname must be of the form:
<local_compound_name>:<ecb_name>
where <ecb_name> is the NAME parameter of the ECB.
Note: Once configured, IOMID1 may not be modified. A delete/undelete
operation will NOT allow IOMID1 to be changed. The block must be
deleted and then re-entered into the data base. IOMID1 may then be
reconfigured.

IOMID2 This Secondary ECB Identifier is a user-configurable string that specifies


either of the following:
♦ The secondary device ECB (ECB201), for the purpose of connect-
ing to (accessing) the secondary field parameter, which resides in a
field device hosted by a (parent) ECB200

1878
103. RINR – Redundant Real Input Block B0193AX – Rev N

♦ The parent ECB200, for the purpose of retrieving a parameter


whose source is the FBM itself (not applicable to FBM220/221 or
FBM223).
It must be configured when dual or triple redundancy is specified. For
other details, see IOMID1 above.

IOMID3 This Tertiary ECB Identifier is a user-configurable string that specifies


either of the following:
♦ The tertiary device ECB (ECB201), for the purpose of connecting
to (accessing) the tertiary field parameter, which resides in a field
device hosted by a (parent) ECB200
♦ The parent ECB200, for the purpose of retrieving a parameter
whose source is the FBM itself (not applicable to FBM220/221 or
FBM223).
It must be configured when triple redundancy is specified. For other
details, see IOMID1 above.

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.

LSCI1 Low Scale for Input Range 1 specifies the lower range limit of the block
input when converted from limited normalized raw count to engineering
units.

MA Manual/Auto is a Boolean input that controls the block’s operating state


(0 = False = Manual; 1 = True = Auto). When in Auto, the block output is
copied from RINP to MEAS. In Manual it is not copied, and RINP is set-
table.

MBIAS Measurement Bias is the offset factor applied to the raw count input from
the external device when rescaling it into the equivalent I/A Series station
normalized raw count.
The scaling is applied before the signal conditioning algorithm specified
by SCI is applied.
In the RINR block, the linear scaling is applied before the signal condi-
tioning algorithm is applied. The GAIN and BIAS parameters are used in
the linear equation:
x = GAIN* x + BIAS

MEAS Block Output contains the same value as RINP when the block mode is
Auto. It is independent of RINP in Manual mode (set by operator).

MGAIN Measurement Gain is the gain factor applied to the raw count input from
the external device when rescaling it into the equivalent I/A Series control
station normalized raw count.
The scaling is applied before the signal conditioning algorithm specified
by SCI is applied.

1879
B0193AX – Rev N 103. RINR – Redundant Real Input Block

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 block’s execution time base
and allowable PHASE values. PERIOD values range from 0 to 9 and map
to the following period time lengths:

Period Length Period Length


0 0.1 second 5 30 seconds
1 0.5 second* 6 1 minute
2 1.0 second 7 10 minutes
3 2.0 seconds 8 60 minutes
4 10 seconds 9 0.2 second
*If the BPC is 0.2 second, this period is treated internally as
0.6 second, but the PERIOD parameter remains 1.

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. See Integrated Control Software Concepts
(B0193AW).

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,
this parameter also forms an association with a group of real input param-
eters that have the same designated range and change delta.

RI1_PT Primary Real 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 make and model of the external device.
For the FOUNDATION™ fieldbus interface (FBM220/221), RI1_PT con-
tains the Function Block Tag used to identify the function block, in the
external device, that is to be associated with the RINR block primary real
input. Also, for FOUNDATION™ fieldbus, RI1_PT may be connected to
only one function block in the device. (Multiple connections are not
supported.)

1880
103. RINR – Redundant Real Input Block B0193AX – Rev N

For the PROFIBUS interface (FBM223), RI1_PT must be configured to


contain a PROFIBUS data identifier string. This information identifies,
to the FBM, specific data in the PROFIBUS data stream that is to serve as
the primary real input to this block. Refer to PROFIBUS-DP Communica-
tion Interface Module (FBM223) User’s Guide (B0400FE) for details.
For the HART interface (FBM214/216), RI1_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 Module
(FBM214/215/ 216/218) User’s Guide (B0400FF) for details.
For the Modbus interface (FBM224), RI1_PT must be configured to con-
tain the address of a register or a pair of consecutive registers in a Modbus
device. Refer to Modbus Communication Interface Module (FBM224)
User’s Guide for details.

RI2_PT Secondary Real 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 make and model of the external device.
For the FOUNDATION™ fieldbus interface (FBM220/221), RI2_PT con-
tains the Function Block Tag used to identify the function block, in the
external device, that is to be associated with the RINR block secondary
real input. Also, for FOUNDATION™ fieldbus, RI2_PT may be con-
nected to only one function block in the device. (Multiple connections are
not supported.)
For the PROFIBUS interface (FBM223), RI2_PT must be configured to
contain a PROFIBUS data identifier string. This information identifies,
to the FBM, specific data in the PROFIBUS data stream that is to serve as
the secondary real input to this block. Refer to PROFIBUS-DP Communi-
cation Interface Module (FBM223) User’s Guide (B0400FE) for details.
For the HART interface (FBM214/216), RI2_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 Module
(FBM214/215/ 216/218) User’s Guide (B0400FF) for details.
For the Modbus interface (FBM224), RI2_PT must be configured to con-
tain the address of a register or a pair of consecutive registers in a Modbus
device. Refer to Modbus Communication Interface Module (FBM224)
User’s Guide for details.

RI3_PT Tertiary Real 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 make and model of the external device.
For the FOUNDATION™ fieldbus interface (FBM220/221), RI3_PT con-
tains the Function Block Tag used to identify the function block, in the
external device, that is to be associated with the RINR block tertiary real
input. Also, for FOUNDATION™ fieldbus, RI3_PT may be connected to

1881
B0193AX – Rev N 103. RINR – Redundant Real Input Block

only one function block in the device. (Multiple connections are not sup-
ported.)
For the PROFIBUS interface to the I/A Series system (FBM223), RI3_PT
must be configured to contain a PROFIBUS data identifier string. This
information identifies, to the FBM, specific data in the PROFIBUS data
stream that is to serve as the tertiary real input to this block. Refer to
PROFIBUS-DP Communication Interface Module (FBM223) User’s Guide
(B0400FE) for details.
For the HART interface to the I/A Series system (FBM214/216), RI3_PT
must be configured to contain a point address. This information identi-
fies, 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 Module (FBM214/215/ 216/218) User’s Guide (B0400FF) for
details.
For the Modbus interface to the I/A Series system (FBM224), RI3_PT
must be configured to contain the address of a register or a pair of consec-
utive registers in a Modbus device. Refer to Modbus Communication Inter-
face Module (FBM224) User’s Guide for details.

RINP Real Input contains the value selected from RIN_1, RIN_2, and RIN_3
after input processing. RINP displays this value at all times, regardless of
the block mode.

RIN_1 Primary Real Input contains the real value read from BI1_PT, in the ECB
specified by IOMID1.

RIN_2 Secondary Real Input contains the real value read from BI2_PT, in the
ECB specified by IOMID2.

RIN_3 Tertiary Real Input contains the real value read from BI3_PT, in the ECB
specified by IOMID3.

ROCV Maximum Rate of Change applies to all used redundant RIN_x. It is con-
figured as a real value in the block’s engineering units, and converted to
normalized raw counts before being sent to the FBM when the DCI con-
nection is established. The actual rate-of-change detection is performed by
the FBM or field device supported by the FBM.
ROCV is currently supported only by the HART FBM216/218. It is not
supported by FBM220/221 or FBM223.

SCI Signal Conditioning Input is used in converting between normalized raw


count and engineering units. Refer to Section 103.6 for the signal condi-
tioning tables.

SELECT Selection Indicator shows which redundant RIN_x has been chosen by
the arbitration algorithm:
0 = none of the input values is selected
1 = primary input value is selected

1882
103. RINR – Redundant Real Input Block B0193AX – Rev N

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 RINR block when the arbitration algo-
rithm cannot resolve the choice. For the RINR block:
0 = The value of RINP is unchanged
1 = Select the lowest of the three inputs
2 = Select the highest of the three inputs
3 = Use the mean of the three inputs.

SEVSTS This parameter is currently not supported by any FBM or field device.

SIMOPT Simulation Option is a configurable parameter that specifies if the DCI


block input/output value is to be simulated. When SIMOPT is config-
ured 1 (True), there are no DCI connections established for the block.
The status and data values of RIN_1, RIN_2, and RIN_3 are not recov-
ered from the field. RINP, which is normally secured, is released (pro-
vided it is unlinked) and becomes available for entry of simulated values.
Such simulated values are limited by HSCI1 and LSCI1. If this limiting
action forces a clamping of the entered value, the status of RINP is set to
Limited High or Limited Low, as appropriate.
The basic actions of Auto and Manual modes are still observed when
SIMOPT is 1 (True). If the block is in Auto mode, the status and value of
RINP (including any Limited High or Limited Low bits) is copied to the
status and value of MEAS. If the block is in Manual mode, RINP is not
copied to MEAS. As noted in Section 103.5.10, manual sets to MEAS are
first limited by the range limits of HSCI1 and LSCI1 before being
accepted.

TSTAMP The Time Stamp parameter of the block is updated every time there is a
change in value of MEAS. In Auto mode, this means that the arbitrated
field input value in RINP has changed. In Manual mode, it means that a
new manual value has been set into MEAS. TSTAMP, which is expressed
in units of milliseconds past midnight, is read from the FBM, when it is
available there, or if not, is computed by the I/A Series control station.

TYPE When you enter RINR or select it from a configurator list, an identifying
integer is created specifying this block type. For this block, the value of
TYPE is 112.

VALSTS This parameter is not supported by Profibus, HART or Modbus field-


bus devices. FOUNDATION fieldbus Value Status is an output parameter of
any DCI block that contains the value status of a FOUNDATION fieldbus
function block parameter value provided by a DCI connection to a field
device. Bits 0-1: Limits:

1883
B0193AX – Rev N 103. RINR – Redundant Real Input Block

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 RINR block is executed, VALSTS is updated with the sta-
tus of the FF/PA value provided by the DCI connection chosen by the
arbitration algorithm. However, if SELECT is zero for any reason, the
value of VALSTS is not updated and remains at its last good value.

VUMEAS This parameter is currently not supported by any FBM or field device.

1884
103. RINR – Redundant Real Input Block B0193AX – Rev N

103.5 Functions
103.5.1 Detailed Diagram

IOMID1
BI1_PT Simulated
Value RINP

IOMID2 AND
BI2_PT 1 MEAS
ECBOPT: AUTO
False = 1 ECB SIMOPT
True = 2 or 3 ECBs
0
IOMID3
BI3_PT MGAIN
1 Scaling
MBIAS
ARBOPT
0
Limiting SCI Span
INVALID

Engineering Units SCI, HSCI1,


Conversion LSCI1, EI1

HSCI1
Final Limiting
LSCI1

RINP

SELECT
RIN_1
AND MEAS
RIN_2
AUTO
RIN_3
SELOPT

SELOPT=3 RINP = Average of available values


SELOPT=2 RINP = Higher available value
SELOPT=1 RINP = Lower available value
SELOPT=0 RINP = Last Value
SIMOPT
SELOPT=3 MEAS = Average of available values
AND SELOPT=2 MEAS = Higher available value
AND
AUTO SELOPT=1 MEAS = Lower available value
SELOPT=0 MEAS = Last Value
ECB Bad or
Out of Service
Figure 103-2. RINR Block Operational Diagram

1885
B0193AX – Rev N 103. RINR – Redundant Real Input Block

103.5.2 Associated ECBs


The configured parameters IOMID1, IOMID2, and IOMID3 of the RINR 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 (the “FBM ECBs”).
The PARENT parameter of each ECB201 specifies the associated ECB200 hosting the field
device.
IOMIDx may also directly specify parent ECB200(s) 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 (see Section 103.5.3).
When dual redundancy (“DMR”) is specified, IOMID2 must be configured, and IOMID3 is
ignored. With triple redundancy (“TMR”), all three IOMIDx values must be configured.

103.5.3 DCI Connections


The RINR 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 RINR 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:
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

The DCI connections are deleted (the linkages are removed from the linked lists for the ECB or
ECBs when the RINR block is deleted).

1886
103. RINR – Redundant Real Input Block B0193AX – Rev N

103.5.4 Origins of Input Data


The device addresses supplying the input values are configured in strings in RI1_PT, RI2_PT, and
RI3_PT.
When ARBOPT is 0 (DMR), neither RI1_PT nor RI2_PT can be null, and RI3_PT is ignored.
When ARBOPT is 1 (TMR), RI1_PT, RI2_PT, and RI3_PT must not be null. These checks are
made at block validation time and violations of these rules result in the RINR block being set
undefined. Processing does not proceed further.
The format of the RIx_PT parameters is device specific. When the PIO maintenance task runs
after the DCI connections have been made, the RIx_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 I/A Series control station.
If the first character of 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 CHAN-
NEL/GROUP NUMBER”.
In each of the following cases, the block is also set undefined:
♦ 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.

103.5.5 Processing the Status of the Input Points


The status of the RI1_PT and RI2_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 RI3_PT input
and its ECB. For each of the two or three inputs, the status of its RIN_x parameter is set accord-
ing to the following rules:
The status of RIN_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.

1887
B0193AX – Rev N 103. RINR – Redundant Real Input Block

♦ 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 103.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 RIN_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 of the field device
parameter.
The status of RIN_x is set to Error if the status information indicates an uncertain or questionable
value of the field device parameter.
The status of RIN_x is set to Limited High or Limited Low (as appropriate) if:
♦ Either one of the limiting actions described in Section 103.5.6 (normalized count
and/or engineering units) forces a clamping of the value.
♦ The DCI connection status information indicates that the field device parameter is
limited high or limited low.
Finally, if RIN_x is not Out-of-Service, the value of that field input is conditioned as described in
Section 103.5.6, and the result is set into the value of RIN_x. Otherwise, the previous value (last
good value) of RIN_x is retained.
The statuses and conditioned values of the individual RIN_x are available in the three output
parameters, and, in addition, they are used as the inputs to the arbitration algorithm. See
Section 103.5.7.

103.5.6 Processing of Input Point Data


The single configured values of SCI, MGAIN, MBIAS, LSCI1, and HSCI1 are used in the condi-
tioning of each of the two or three redundant input points.
For each input point used (see ARBOPT), the raw value from the external device is scaled into the
I/A Series system normalized raw count range by application of MGAIN and MBIAS:
I/A Series System Normalized Raw Count = (Input Raw Value)(MGAIN) + MBIAS
The resulting value is limited to be within the normalized range for the configured value of SCI.
This limited I/A Series system normalized raw count value is then converted into engineering
units by application of the signal conditioning index SCI and the engineering range limits HSCI1
and LSCI1:

1888
103. RINR – Redundant Real Input Block B0193AX – Rev N

Engineering Units =
(I/A Series Limited Normalized Raw Count - span low limit)(HSCI1 - LSCI1)/span +
LSCI1
For example, if the SCI is linear 1600 - 64000, the span low limit is 1600, and the span is
64000 - 1600 or 62400.
The final step in input conditioning consists of limiting the engineering units value to within the
engineering range limits, HSCI1 and LSCI1.

103.5.7 Arbitration Algorithm


RIN_1, RIN_2, and RIN_3 each have a value and status, as described in Section 103.5.5 and
Section 103.5.6. In the table below, a RIN_x is Valid if its status is neither Bad nor Out-of-Ser-
vice. Also, if ARBOPT indicates DMR, RIN_3 is never Valid.
The configured real, nonnegative parameter ARBLIM is used to specify how close any two RIN_x
values must be to each other, on an absolute basis, to be considered in agreement. Specifically, if
(RIN_x - RIN_y) <= ARBLIM, then RIN_x and RIN_y agree. See table below.

RIN_1 RIN_2 RIN_3


Valid Valid Valid Test Select
Yes Yes Yes RIN_1, RIN_2 agree RIN_1
Yes Yes Yes RIN_1, RIN_2 disagree and RIN_1
RIN_1, RIN_3 agree
Yes Yes Yes RIN_1, RIN_2 disagree and RIN_2
RIN_1, RIN_3 disagree and
RIN_2, RIN_3 agree
Yes Yes Yes RIN_1, RIN_2 disagree and See Case 1
RIN_1, RIN_3 disagree and below
RIN_2, RIN_3 disagree
Yes Yes No RIN_1, RIN_2 agree RIN_1
Yes Yes No RIN_1, RIN_2 disagree See Case 2
below
Yes No Yes RIN_1, RIN_3 agree RIN_1
Yes No Yes RIN_1, RIN_3 disagree See Case 2
below
No Yes Yes RIN_2, RIN_3 agree RIN_2
No Yes Yes RIN_2, RIN_3 disagree See Case 2
below
Yes No No (No Test) RIN_1
No Yes No (No Test) RIN_2
No No Yes (No Test) RIN_3
No No No (No Test) See Case 3
below

1889
B0193AX – Rev N 103. RINR – Redundant Real Input Block

When the Select column (above) reads “See Case x below”, the preconfigured parameter SELOPT
determines the value of RINP as follows:
Case 1: (all three values are available but all disagree)
♦ If SELOPT = 0, the value of RINP is unchanged.
♦ If SELOPT = 1, the algebraically lowest of RIN_1, RIN_2, and RIN_3 is selected.
♦ If SELOPT = 2, the algebraically highest of RIN_1, RIN_2, and RIN_3 is selected.
♦ If SELOPT = 3, the algebraic mean of RIN_1, RIN_2, and RIN_3 is used.
Case 2: (two of the three values are available but both disagree)
♦ If SELOPT = 0, the value of RINP is unchanged (last good value functionality).
♦ If SELOPT = 1, the algebraically lower of the two valid RIN_x is selected.
♦ If SELOPT = 2, the algebraically higher of the two valid RIN_x is selected.
♦ If SELOPT = 3, the algebraic mean of the two valid RIN_x is used.
Case 3: (none of the three values is available)
♦ The value of RINP is unchanged (last good value functionality).
Output parameter SELECT shows which RIN_x has been selected:
♦ If RIN_1 is selected, SELECT = 1
♦ If RIN_2 is selected, SELECT = 2
♦ If RIN_3 is selected, SELECT = 3
♦ Otherwise, SELECT = 0.
The status of RINP is set as follows:
♦ Case 1 or 2: status of RINP is Error if SELOPT = 0 or 3 (the Error status bit is set)
♦ Case 3: status of RINP is Bad and Out-of-Service (the Bad and Out-of-Service status
bits are set).

103.5.8 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
RINR block.

103.5.9 Operation in Auto Mode


In Auto mode, the input data and status from the two or three redundant inputs is processed and
arbitrated as described in the previous sections. The result is always set into the status and value of
parameter RINP. If neither the Bad nor Out-of-Service bit is set, the value and status of RINP are
also copied to the value and status of MEAS. If either of these bits is set, only the status of RINP
is copied to the status of MEAS, but MEAS retains its last good value.

103.5.10 Operation in Manual Mode


In Manual mode, the data and status from the two or three redundant inputs is processed and
arbitrated as in the case of the Auto mode. Therefore, the value and status of parameter RINP
continue to reflect the actual field inputs. However, neither the status nor the value of RINP is
copied to MEAS, and MEAS can be used for manual sets. Such sets are subjected to limitation by
the range limits HSCI1 and LSCI1 before being accepted.

1890
103. RINR – Redundant Real Input Block B0193AX – Rev N

The output of the RINR block, as normally used by the control strategy, is, therefore, the MEAS
parameter, whether the block mode is Auto or Manual.

103.6 Signal Conditioning (SCI Values)


NOTE
Valid SCI values for the RINR block are 0-7, 9-15, and 50-59, inclusive.

SCI = 0: No Linearization
Result is (value)
SCI = 1: Linear (0 to 64000)
Result is (value * span + offset)
SCI = 2: Linear (1600 to 64000)
Result is ((value - 1600.0) * span + offset)
SCI = 3: Linear (12800 to 64000)
Result is ((value - 12800.0) * span + offset)
SCI = 4: Square Root (0 to 64000)
Result is (sqrt (64000.0 * value) * span + offset)
SCI = 5: Square Root (12800 to 64000), Clamped
If (value <= 12800.0) result is (offset)
Otherwise, result is (sqrt (51200.0 * (value - 12800.0)) * span + offset)
SCI = 6: Square Root, Low Cutoff (0 to 64000), Clamped < 3/4%
If (value <= 480.0) result is (offset)
Otherwise, result is (sqrt (64000.0 * value) * span + offset)
SCI = 7: Square Root, Low Cutoff (12800 to 64000), Clamped < 3/4%
If (value <= 13184.0) result is (offset)
Otherwise, result is (sqrt (51200.0 * (value - 12800.0)) * span + offset)
SCI = 9: Linear, Low Cutoff (1600 to 64000)
If (value <= 1600.0) result is (offset)
Otherwise, result is ((value - 1600.0) * span + offset)
SCI = 10: Linear, Low Cutoff (12800 to 64000)
If (value <= 12800.0) result is (offset)
Otherwise, result is ((value - 12800.0) * span + offset)
SCI = 11: Square Root (IT2 signal)
Result is (sqrt (value))
SCI = 12: Linear (2 - 10 V)
Result is ((value - 14080.0) * span + offset)
SCI = 13: Square Root (2 - 10 V), clamped
If (value <= 14080.0) result is (offset)
Otherwise, result is (sqrt (49920.0 * (value - 14080.0)) * span + offset)
SCI = 14: Linear (0 - 16383)
Result is (value * span + offset)

1891
B0193AX – Rev N 103. RINR – Redundant Real Input Block

SCI = 15: Square root (0 - 10 V), clamped


Result is (sqrt (62400.0 * (value - 1600.0)) * span + offset);
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

The following notes apply to SCI = 50 through SCI = 59:


♦ y = engineering units value; x = normalized counts value
♦ Linear scaling of the analog inputs is also provided.
♦ In the RINR block, linear scaling is applied before the signal conditioning algorithm
is applied. The GAIN and BIAS parameters are used in the linear equation:
x = GAIN (x + BIAS)

1892
104. ROUT – Real Output Block
This chapter covers the Real Output (ROUT) block, its features, parameters and functions, and
application diagrams.

NOTE
This chapter describes the Distributed Control Interface (DCI) ROUT block. For a
description of how the ROUT block is used in PLC applications, refer to PLC Inter-
face Block Descriptions (B0193YQ).

104.1 Overview
The Real Output (ROUT) 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.) ROUT sends one analog value to an address in a field device. In the outbound
direction, the block accepts a real value from the control strategy or an operator set and sends it to
the addressed point. In the inbound direction, the block’s confirmed output structure allows any
change made by the FBM to the value in the field device to be read back by the I/A Series block.
Therefore, 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.

Cascade To Upstream
Processing Block

Requested
Inputs
from Input Selection Output Processing Output to
I/A Series External
System Device

Readback Confirmed
from Read-Back Output
External Processing to I/A Series
Device System

Figure 104-1. ROUT Block Diagram

1893
B0193AX – Rev N 104. ROUT – Real Output Block

104.2 Basic Operation


When in Auto, the ROUT block accepts a real input from an upstream control strategy at param-
eter Measurement (MEAS). In Manual, it accepts a real value from an operator set, generally from
an I/A Series Display Manager or FoxView display, at the request component of parameter Out-
put (OUT). It sends this value to the device’s address specified at parameter Point Number
(PNT_NO). Output from ROUT 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
MEAS (Auto) or the request component of OUT (Manual). If SECTIM is nonzero, an output is
also forced when no change-driven output has occurred for SECTIM seconds.
The “confirmed” structure of parameter OUT allows the value sent to the field device address to
be entered into the “request component”, also known as the “shadow component”, of OUT and
the value read back from the FBM to be reflected in the “confirmed component”. The value of
OUT shown in displays, or 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 which was sent to the field device as the request component of OUT is displayed at
parameter Output Request (OUTQ) 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 read-back values, but is not sent to the field device at this time.
Any new output value is first limited by the configured engineering range limits or clamped by
the output limits, and then converted to device raw count by inverse signal conditioning based on
the parameter Signal Conditioning Output (SCO), GAIN, and BIAS.
A reverse option (REVOPT) causes the output to reverse its sense. A Fail-Safe Out (FSOUT) is
used to specify what value an output type of FBM should go to, if and when the conditions for
fail-safe occur.
Read-back values from the external device are first scaled into the I/A Series normalized raw count
range. The resulting I/A Series normalized raw count is then converted into engineering units by
a proportionality calculation. Finally, it is limited to fall within the range specified by the high and
low scale parameters or clamped by the output limits.
The block uses parameters Initialization Output (INITO) and Back-Calculated Output
(BCALCO) to alert upstream blocks to various abnormal situations and for cascade handling.
To force the I/A Series station to Track during initialization procedures within the external device,
a specific signal for this purpose is made available to the ROUT block at a configured Initializa-
tion Point Number (INI_PT) within the external device.
ROUT does not provide any alarm detection or reporting capability. If alarms are desired, a sepa-
rate AIN block can be used with a connection to the OUT parameter of the ROUT block.

104.3 Features
The ROUT block provides the following features:
♦ Separate sources for inputs in Auto and Manual
♦ Specification of external device destination point as device-specific string
♦ Output optionally written to device only when output value changes

1894
104. ROUT – Real Output Block B0193AX – Rev N

♦ Optional periodic outputs added to change-driven outputs


♦ Displayed output values for both request and read-back values
♦ Inverse signal conditioning applied to limited or clamped output value
♦ Read-back values scaled into I/A Series normalized raw count range before further
processing
♦ Change timer that assures closed loop operation in both directions
♦ Specific point reserved for Tracking notification from the external device
♦ Open cascade notification to upstream blocks.
♦ Reverse Option (REVOPT) reverses the sense of the output.
♦ Failsafe Output specifies what value an output type of FBM should go to, if and when
the conditions for fail-safe occur.

104.4 Parameters
Table 104-1. ROUT 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 ROUT_TYPE 145
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 to 9
PHASE block execution phase short integer no-con/no-set 0 ---
LOOPID loop/unit/batch identifier string no-con/no-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
AUTSW auto override switch boolean con/set 0 0 to 1
BIAS output bias real no-con/set 0.0 ---
CLPOPT clamp option short integer no-con/no-set 0 0 to 2
EO1 engineering units string no-con/no-set % 1 to 6 chars
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
GAIN output gain real no-con/set 1.0 any nonzero real
HOLIM high output limit real con/set 100.0 ---
HSCO1 high scale output real no-con/no-set 100.0 >LSCO1
INI_PT initialize point number string no-con/no-set blanks device specific
LOLIM low output limit real con/set 0.0 ---
LSCO1 low scale output real no-con/no-set 0.0 <HSCO1
MANSW manual override switch boolean con/set 0 0 to 1
MEAS real input real con/set 0.0 LSCO1-HSCO1

1895
B0193AX – Rev N 104. ROUT – Real Output Block

Table 104-1. ROUT Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


OUTOPT output option boolean no-con/no-set 0 0 to 1
PRIBLK primary block opt short integer no-con/no-set 0 0 to 1
PRITIM cascade closure delay real no-con/no-set 0.0 seconds
RBKTIM read-back timer real no-con/no-set 5.0 seconds
REVOPT reverse action opt boolean no-con/no-set 0 0 to 1
RO1 output range 1 real no-con/no-set 0 0 to 1
SCO signal conditioning index short integer no-con/no-set 0 ---
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
OUTPUTS
FSOUT fail-safe real output real con/no-set 0.0 ---
Non-Configurable Parameters
OUTPUTS
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
BCALCO back-calculated output real con/no-set 0.0 ---
BLKSTA block status packed long con/no-set 0 0-0xFFFFFFFF
INITO initialize output boolean con/no-set 0 0 to 1
OUT real output real con/set 0.0 ---
OUTFBK output feedback real no-con/no-set 0.0 any real
OUTQ output request real no-con/no-set (shadow) any real
SETFS set fail-safe request boolean con/set 0 0 to 1
SEVSTS* (reserved) integer con/no-set 0 0 to 300
TSTAMP time stamp long integer con/no-set 0 ms after midnight
VALSTS FF value status integer con/no-set 0 0-0xFFFF
VUMEAS* (reserved) real con/no-set 0.0 any real>0
DATA STORES
DEFINE no configuration errors boolean no-con/no-set 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
*Not currently supported by FBM220/221 or FBM223.

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

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.

1896
104. ROUT – Real Output Block B0193AX – Rev N

BCALCO Back Calculated Output is set equal to the confirmed component of OUT
while the cascade is initializing. Since its purpose is to provide the
upstream block with a back-calculated value, you should connect
BCALCO to the BCALCI parameter of that block.

BIAS Bias is the offset factor used when the read-back value is converted from
the device normalized count range into I/A Series system normalized raw
count range.

BLKSTA Block Status is a 32-bit output, bit-mapped to indicate various block oper-
ational states. For the ROUT 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
B10
B11
WLCK B12
B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9
MAO

FBM

TRK
HLD
ON

MA
FS

Bit Number* Boolean Connection


(0 to 31) Name Description When True (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 BKKSTA.B21
14 UDEF Block Undefined BLKSTA.B18
15 ON Block On BLKSTA.B17
20 WLCK Access Locked BLKSTA.B12
24 FS Fail-Safe Active BLKSTA.B8
26 MAO M/A Override Active BLKSTA.B6
*Bit 0 is the least significant bit (starting from the right).

CLPOPT Clamp Option determines whether the operational limits HOLIM and
LOLIM are applied to the engineering units value in the output or read-
back direction, instead of the range limits HSCO1 and LSCO1. The val-
ues are:
CLPOPT = 0: The values are never clamped.
CLPOPT = 1: The values are clamped only if the block is in Auto.
CLPOPT = 2: The values are clamped in both Auto and Manual.

1897
B0193AX – Rev N 104. ROUT – Real Output 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. (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 block’s function (for example, “PLT 3 FURNACE 2 HEATER
CONTROL”).

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.

EO1 Engineering Units for Output Range 1 provides the engineering units text
for the OUT output. The value configured for this text string should be
consistent with the values used for HSCO1 and LSCO1.

ERCODE Error Code is a character data store which indicates the type of configura-
tion error which caused the block’s 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 block’s detail display. For the ROUT block, the following list shows
the possible messages you may see:

ERCODE Message Meaning


W44 – INVALID ENGINEERING HSCI1 ≤ LSCI1
RANGE
W48 – INVALID BLOCK OPTION CLOPT > 2
W50 – INVALID SIGNAL CON- SCI is out of range for this block.
DITIONING INDEX
W52 – INVALID I/O CHAN- PNT_NO string is blank.
NEL/GROUP NO.
W62 – UNRESOLVED CONNEC- Connection is not yet resolved.
TION (Block remains defined.)
W65 – INVALID POINT FBM parsing algorithm finds
ADDRESS that a used BIx_PT is invalid.
W66 – DUPLICATE CONNEC- There is a duplicate connection
TION to a particular point.
W67 – INSUFFICIENT FBM There is no available memory or
MEMORY/CONNECTIONS point connections in the FBM.
W68 – INVALID DEVICE CON- The device connection is invalid.
NECTION

1898
104. ROUT – Real Output Block B0193AX – Rev N

ERCODE Message Meaning


W69 – INVALID POINT CON- The point connection is invalid.
NECTION

EROPT Error Option specifies the conditions under which MEAS is considered to
have bad status. It is used in determining whether there has been a bad-to-
good transition of MEAS.
If EROPT = 1, MEAS 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, MEAS is considered Bad in any of the above situations. It
is also considered Bad if the Error bit in the status of MEAS is True.

FSOPTN Fail-Safe Option is a configurable option that specifies the fail-safe condi-
tions and action to be taken in an FBM for an output point in a ROUT
block:
♦ Bit 0: 1 = assert fail-safe if input/measurement error. 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.
Notes:
♦ Bit 0 is the least significant, low order bit.
♦ For FOUNDATION fieldbus equipment, FSOPTN is dependent
upon how the fault state parameters are configured in the device
with which the ROUT block is being used. The fault state can
also be turned off in the device, which would render FSOPTN
ineffective.
♦ This parameter is currently not supported by Modbus FBM224.

FSOUT Fail-Safe Real Output specifies the real fail-safe value that is to be used by
the external device when any condition specified in FSOPTN exists. The
entered value is limited by HSCO1 and LSCO1 before it is set into
parameter FSOUT. If this limiting causes FSOUT to be changed, the sta-
tus of FSOUT is set to Limited High or Limited Low, as appropriate.
FSOUT is first converted to I/A Series system normalized raw count
(using reverse action if specified by REVOPT) and then into device raw
count (using inverse linear transformation based on GAIN and BIAS)
before being sent to the device.

1899
B0193AX – Rev N 104. ROUT – Real Output Block

Note: For FOUNDATION fieldbus equipment, FSOUT’s function is


dependent upon how the fault state parameters are configured in the
device with which the ROUT block is being used. The fault state can also
be turned off in the device, which would render FSOUT ineffective.
This parameter is currently not supported by Modbus FBM224.

GAIN In the output direction, Gain is used as a scaling factor in converting


I/A Series normalized raw count to device raw count. In the input direc-
tion (read-back), Gain is used to convert the external device raw count to
the I/A Series normalized raw count.
In the ROUT block, the same linear scaling is applied to the read-back
value before the signal conditioning is applied, using the GAIN and BIAS
parameters. Inverse linear scaling of the output value is applied after the
inverse signal conditioning is applied. The following inverse linear equa-
tion is used:
x = (x – BIAS)/GAIN

HOLIM High Output Limit is the upper operational limit of the engineering units
value, optionally applied based on the value you have configured for
CLPOPT. HOLIM is forced to be within the HSCO1/LSCO1 range lim-
its, and forced to be greater than or equal to LOLIM.

HSCO1 High Scale for Output Range 1 specifies the upper range limit of the block
input and output when expressed in engineering units.

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.

INITO Initialization Output is a cascade initialization signal which is set True by


the block logic whenever the cascade is opened. You should connect
INITO to the INITI input of the upstream block. The ROUT block
keeps INITO True, either for one cycle (PRIBLK = 0) or until the
acknowledgement is received from upstream (PRIBLK = 1).

1900
104. ROUT – Real Output Block B0193AX – Rev N

INI_PT Initialize Address is a configurable string that specifies the point address of
an optional Boolean input connection in the ROUT block. If INI_PT is
used, the block output tracks the read-back 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.
For FOUNDATION fieldbus, INI_PT is configured with a device specific
address. For PROFIBUS, INI_PT is be configured to contain a PROFI-
BUS data identifier string1 which identifies, to the FBM, the address of an
optional Boolean input.

IOM_ID ECB Identifier is a user-configurable string that specifies either of the fol-
lowing:
♦ The device ECB (ECB201), for the purpose of connecting to
(accessing) a field parameter that resides in a field device hosted by
an ECB200
♦ The parent ECB200, for the purpose of accessing a parameter
whose source is the FBM itself (not applicable to FBM220/221 or
FBM223).
IOM_ID can be formatted in either of two ways, depending on the loca-
tion of the ECB in question:
♦ Simply the name of the external device ECB (ECB201). For this
format, the ECB201 must reside in the station ECB compound
<cp_letterbug>_ECB, where cp_letterbug is the station letterbug
of the I/A Series station.
♦ The full pathname of the external device ECB (ECB201). For this
format, the ECB201 must reside in the station ECB compound,
or any compound where blocks that tie to it are located. The path-
name must be of the form:
<local_compound_name>:<ecb_name>
where <ecb_name> is the NAME parameter of the ECB.
Note: Once configured, IOM_ID may not be modified. A delete/undelete
operation will NOT allow IOM_ID to be changed. The block must be
deleted and then re-entered into the data base. IOM_ID may then be
reconfigured.

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.

1.
For detailed information on configuring the PROFIBUS data identifier (and thus INI_PT configu-
ration), refer to PROFIBUS-DP Communication Interface Module (FBM223) User’s Guide
(B0400FE).

1901
B0193AX – Rev N 104. ROUT – Real Output Block

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 block’s 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.

LOLIM Low Output Limit is the lower operational limit of the engineering units
value, optionally applied based on the value you have configured for
CLPOPT. LOLIM is forced to lie within the HSCO1/LSCO1 range lim-
its, and forced to be less than or equal to HOLIM.

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.

LSCO1 Low Scale for Output Range 1 specifies the lower range limit of the block
input and output when expressed in engineering units.

MA Manual/Auto is a Boolean input that controls the block’s operating state


(0 = False = Manual; 1 = True = Auto). When in Auto mode, the block
input is taken from MEAS, usually from an upstream connection. In
Manual mode, the input is taken from the request component of OUT,
usually via operator sets.

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.

MEAS Measurement is the value used as the input when the block is in Auto
mode. After limiting and inverse signal conditioning, this is the value nor-
mally set into OUT and sent to the external device.

NAME Name is a user-defined string of up to 12 characters used to access the


block and its parameters.

OUT Output is the value sent from the block to the connected external device at
point PNT_NO. The displayed value of OUT is always the confirmed
component.

OUTFBK Output Feedback Option is a connectable real output that contains the
feedback signal of an analog output devices when the OUTOPT option is
used. For FBM220/221, this value is provided by the PV parameter of a
FOUNDATION fieldbus AO block in the field device. If OUTOPT is not
used, OUTFBK tracks the OUT parameter.

1902
104. ROUT – Real Output Block B0193AX – Rev N

OUTOPT Output Feedback Option is a configurable boolean that specifies whether


a feedback signal of an analog output device exists. If OUTOPT=1, this
feedback signal is provided in the OUTFBK parameter.

OUTQ Output Request displays the value of the request component of the block
output for diagnostic purposes. It is not configurable.

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 block’s execution time base
and allowable PHASE values. PERIOD values range from 0 to 9 and map
to the following period time lengths.
Period Length Period Length
0 0.1 second 5 30 seconds
1 0.5 second* 6 1 minute
2 1.0 second 7 10 minutes
3 2.0 seconds 8 60 minutes
4 10 seconds 9 0.2 second
*If the BPC is 0.2 second, this period is treated internally as
0.6 second, but the PERIOD parameter remains 1.

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. See Integrated Control Software Concepts
(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 make and model of the external
device.
For the FOUNDATION™ fieldbus interface (FBM220/221), PNT_NO
contains the Function Block Tag used to identify the function block, in
the external device, that is to be associated with the ROUT block output.
Also, for FOUNDATION™ fieldbus, PNT_NO may be connected to only
one function block in the device. (Multiple connections are not sup-
ported.)

1903
B0193AX – Rev N 104. ROUT – Real Output Block

For the PROFIBUS interface (FBM223), PNT_NO must be configured


to contain a PROFIBUS data identifier string. This information identi-
fies, to the FBM, the specific data in the PROFIBUS data stream that is to
be associated with the ROUT block output. Refer to PROFIBUS-DP
Communication Interface Module (FBM223) User’s Guide (B0400FE) for
details.
For the HART interface (FBM215/218), PNT_NO must be configured
to contain a point address. This information identifies, to the FBM, spe-
cific data in the HART data stream that is to serve as the device data
input, to this block. Refer to HART™ Communication Interface Module
(FBM214/215/ 216/218) User’s Guide for details.
For the Modbus interface (FBM224), PNT_NO must be configured to
contain the address of a register or a pair of consecutive registers in a Mod-
bus device. Refer to Modbus Communication Interface Module (FBM224)
User’s Guide for details.

PRIBLK Primary Block indicates whether the ROUT block has a connection from
an upstream block (PRIBLK = 1) or not (PRIBLK = 0). Its value, together
with that of PRITIM, determines whether the ROUT block remains in
Holding until the upstream block returns an acknowledgement, remains
in Holding for a fixed time delay, or ends the Hold after one cycle.

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
ROUT block. It is used only if the PRIBLK option is set. If PRITIM = 0
and PRIBLK is used, the cascade remains open indefinitely until acknowl-
edged by the primary block.

RBKTIM Read-Back Timer is a configurable parameter used to time out changes


made by the I/A Series system to the output of the ROUT block. If the
output change is not confirmed within the allowable timeout, the output
is re-initialized to the read-back value. Its default value is 5.0 seconds, but
you can configure different values to accommodate different response
times from the external device.

REVOPT Reverse Action Option is a configurable option that specifies whether a


real output in a ROUT block is inverted algebraically prior to being sent
to the FBM. If reverse action is specified, the read-back value from the
FBM also is inverted prior to being stored in the block. The settings are:
0 = normal action, 1= reverse action.

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.

SCO Signal Conditioning Output is used in either direction in converting


between device raw count and engineering units. (This is valid for output

1904
104. ROUT – Real Output Block B0193AX – Rev N

of data, or input of read-back data.) See Section 104.6 for the signal con-
ditioning tables.

SECTIM Secondary Timer is a configurable parameter used to force the output of


the ROUT 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.

SETFS Set Fail-Safe Request is a Boolean parameter that requests fail-safe action
to be set/reset by the FBM and/or field device for the specific output value
of the ROUT block. The settings are:
1 = set fail-safe request
0 = reset fail-safe request.

SEVSTS This parameter is currently not supported by any FBM or field device.

SIMOPT Simulation Option is a configurable parameter that specifies whether the


block input/output value is to be simulated. In the ROUT block, the
block output is stored into its read-back value to simulate confirmation by
the field device.

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 read-back value obtained in
the last execution cycle). TSTAMP, which is expressed in units of milli-
seconds past midnight, is read from the FBM, when it is available there, or
if not, is computed by the control station.

TYPE When you enter ROUT or select it from a configurator list, an identifying
integer is created specifying this block type. For this block, the value of
TYPE is 145.

VALSTS This parameter is not supported by PROFIBUS or HART fieldbus


devices. FOUNDATION fieldbus Value Status is an output parameter of
any DCI block that contains the value status of a FOUNDATION fieldbus
function block parameter value provided by a DCI connection to a field
device.
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.

1905
B0193AX – Rev N 104. ROUT – Real Output Block

Each time the ROUT block is executed, VALSTS reports the status of the
FF value from the information in the DCI connection.

VUMEAS This parameter is currently not supported by any FBM or field device.

104.5 Functions
104.5.1 Detailed Diagram

SECTIM Output Limits SCO


AND HSCO1
Range Limits REVOPT
MA LSCO1 FSOUT

MEAS Limiting Output to


Input Inverse
∆ or Field Device
Sets to Selection Clamping Signal
OUT Request Conditioning

Expired
SCO
HSCO1 Output Limits Change
GAIN Range Limits
LSCO1 Timer
BIAS AND
FBM Read-Back Limiting
Signal
or Scaling or
Conditioning Clamping
Simulated Value*
FBM
Readback
Engineering
Units
MEAS.ACK
PRIBLK
Cascade INITO Up to INITI**
Open Cascade Processing
FBM Read-Back BCALCO
Up to
PRITIM
BCALCO.Status BCALCI***

ECB Status OUT Request.Status


OUT Read-Back.Status
*As selected per SIMOPT
**To INITI input of upstream block BCALCO.Status
***To BCALCI input of upstream block
Figure 104-2. ROUT Block Operational Diagram

104.5.2 Associated ECBs


The configured parameter IOM_ID in the ROUT block specifies an ECB201 (the “Device
ECB”) to connect to a field parameter that resides in a field device hosted by an ECB200 (the
“FBM ECB”).
The PARENT parameter of the ECB201 specifies the associated ECB200 hosting the field
device.

1906
104. ROUT – Real Output Block B0193AX – Rev N

IOM_ID may also directly specify the parent ECB200 to output to a parameter resident in the
FBM itself.

104.5.3 DCI Connections


The ROUT block establishes one or two DCI connections to the specified ECB at any one of the
following times:
♦ The block is first installed.
♦ The CP 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 ROUT 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 and for INI_PT connections in output type blocks, such as
this one).
The ROUT block always establishes a DCI connection for parameter PNT_NO. If parameter
INI_PT is configured with a non-null value, a second DCI connection is established for it.
The DCI connection is deleted (that is, the linkage is removed from the linked list for the ECB
when the ROUT block is deleted).

104.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 ROUT 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. When the PIO mainte-
nance task runs after the DCI connections have been made, the PNT_NO (and INI_PT string if
used by the block) are passed to the FBM for parsing and validation. In DCI blocks, point identi-
fication strings are not parsed by the CP.
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 HSCI1 ≤ LSCI1, the detail display shows “W44 – INVALID ENGINEERING
RANGE” with ERCODE = 44.
♦ If CLOPT > 2, the detail display shows “W48 – INVALID BLOCK OPTION” with
ERCODE = 48.
♦ If the SCI is out of range for this block, the detail display shows “W50 – INVALID
SIGNAL CONDITIONING INDEX” with ERCODE = 50.
♦ If the FBM parsing algorithm finds that PNT_NO is invalid, the detail display shows
“W65 – INVALID POINT ADDRESS” with ERCODE = 65.

1907
B0193AX – Rev N 104. ROUT – Real Output Block

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

104.5.5 Confirmed Output Parameters


As with most output parameters in DCI blocks, OUT is a confirmed output. A confirmed output
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 field device, and the read-back value is the value read
back each cycle from the FBM.
In the ROUT block, the request value is made available for diagnostic purposes as parameter
OUTQ (OUTQ is not shown on the detail display). The read-back value is shown as parameter
OUT.

104.5.6 Status of the Read-Back Value


The condition of the output readback in OUT, together with the status of the ECB, is determined
each time the block is executed. The status bits of the OUT parameter are set according to the fol-
lowing rules.
The status of OUT is set to Out-of-Service if one or more of the following 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).
♦ 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.
♦ 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.

1908
104. ROUT – Real Output Block B0193AX – Rev N

The status of OUT 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 OUT is set to Error if the status information indicates an uncertain or questionable
value of the field device parameter.
The status of OUT is set to Fail-safe if the status information indicates that the addressed device
parameter is in fail-safe.
If OUT is not Bad or Out-of Service, the value of the readback becomes the new value of OUT.
Otherwise, the previous last good value of OUT is retained.

104.5.7 Processing the Read-Back Value Data


The raw count value from the external device is scaled into the I/A Series system normalized raw
count range by application of GAIN and BIAS:
I/A Series System Normalized Raw Count = (Input Raw Value)(GAIN) + BIAS
This I/A Series system normalized raw count value is then converted into engineering units by
application of the signal conditioning index (SCO) and the engineering range limits (HSCO1
and LSCO1):
Engineering Units =
((I/A Series System Normalized Raw Count - span low limit)(HSCO1 - LSCO1)/span) +
LSCO1
For example, if the SCO is linear 1600-64000, the span low limit is 1600, and the span is 64000-
1600 or 62400.
If REVOPT is configured True, this calculation is modified for reverse action.
The final step in read-back conditioning consists of clamping or limiting the engineering units
value. Clamping or limiting of the read-back value is carried out optionally, based on the parame-
ter CLPOPT:
If CLOPT = 1, the value is clamped only if the block is in Auto.
If CLOPT = 2, the value is clamped in both Auto and Manual.
If CLOPT = 0, the value is never clamped.
Clamping uses the configured or set LOLIM/HOLIM values, after these have been forced to
comply with the range limits and the anticrossover requirement.
When clamping is not applied, the value is simply limited by the range limits LSCO1 and
HSCO1.

104.5.8 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 ROUT block.

1909
B0193AX – Rev N 104. ROUT – Real Output Block

104.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 is to assert fail-safe.
♦ FSOUT ² This configured value contains, in engineering units, the fail-safe value that
is to be used by the external device when any condition specified in FSOPTN exists.
The entered value is limited by HSCO1 and LSCO1 before it is set into parameter
FSOUT. If this limiting causes FSOUT to be changed, the status of FSOUT is set to
Limited High or Limited Low, as appropriate. FSOUT is first converted to I/A Series
normalized raw count (using reverse action if specified by REVOPT) and then into
device raw count (using inverse linear transformation based on GAIN and BIAS)
before being sent to the device.
♦ SETFS ² This settable boolean constitutes a command to assert fail-safe. It is only
observed when the appropriate FSOPTN so specifies.
The FSOPTN conditions are:
♦ Assert fail-safe when there is an input error at MEAS, as defined by EROPT (Bit 0).
♦ Assert fail-safe when the block parameter SETFS has been set true (Bit 1).
♦ Assert fail-safe 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, allowing combinations of conditions for fail-safe to be specified. If any of
the FSOPTN conditions exists, and OUT is not Bad or Out-of-Service, the fail-safe value is sent
to the external device point when the ROUT block is shut down. This happens when turning off
the compound containing the ROUT block and when deleting the ROUT block or the com-
pound containing the ROUT block from the CP database.
In addition, the FSOUT value is sent to the field device via the FBM when the CP is rebooted.
This action is independent of the FSOPTN configuration.

104.5.10 Time Stamp


The time stamp (TSTAMP) parameter of the block is updated every time there is a change in the
OUT value. TSTAMP, which is expressed in units of milliseconds past midnight, is read from the
FBM when it is available there or, if not, it is computed by the I/A Series control station.

104.5.11 Conditions for Sending a Block Output


The following conditions cause a new output from the ROUT block:
♦ A new value has been set into either or both of the operational limits HOLIM and
LOLIM since the last execution cycle, provided the CLPOPT specifies that clamping
is in use.
♦ A periodic output is required. Whenever SECTIM has been configured with a posi-
tive value and there has been no output for SECTIM seconds, a block output is forced
and the secondary timer is reinitialized.
♦ The read-back value has actually been changed by application of the clamping or
limiting.

1910
104. ROUT – Real Output Block B0193AX – Rev N

♦ A condition for fail-safe has been met this cycle but was not met the previous cycle
(“start of a fail-safe period”).
♦ A condition for fail-safe was present the previous cycle, but not this cycle (“end of a
fail-safe period”).
♦ The connection status information indicates Initialization Request this cycle, but not
on the previous cycle (“start of an IR period”).
♦ The connection status information indicated Initialization Request last cycle, but not
this cycle (“end of an IR period”).
♦ The block is in Auto and the value of MEAS has changed this cycle.
♦ The block is in Manual and the value of OUT_request has been changed this cycle.
♦ This is an initialization cycle, as defined in Section 104.5.17.
♦ The read-back value has actually been changed by application of the clamping or lim-
iting described in Section 104.5.7.

104.5.12 Processing the Output Data


When any of the conditions for sending a new block output exists, the current value of MEAS
[Auto or OUT_request (Manual)] is either clamped or limited before conversion to I/A Series sys-
tem normalized raw count.
Clamping or limiting of the output value is carried out optionally, based on the parameter
CLPOPT.
When clamping is not applied, the value is simple limited by the range limits LSCO1 and
HSCO1.
This clamped or limited value is now compared against the current value of OUT. If they are
equal, no new output is sent. (Even if these two values are the same, an output is sent if any of the
conditions in the first three bullets of Section 104.5.11 is true.)
Assuming the output is to be sent, conversion to I/A Series system normalized raw count is com-
puted as follows:
Output Raw Count = (New Value - LSCO1)(span)(HSCO1 - LSCO1) + span low limit
If REVOPT is configured True, this calculation is modified for reverse action.
Finally, if conversion from I/A Series system normalized raw count to device normalized count is
to be carried out at the I/A Series system end, GAIN and BIAS are carried out by the block as fol-
lows:
Device Raw Count = (I/A Series System Normalized Raw Count - BIAS)/GAIN
If conversion to the device normalized count is to be carried out at the device end, GAIN and
BIAS should be left at their default values.

104.5.13 Sending the Output


After the output has been processed as described in the previous section, it is sent to the output
buffer of the DCI connection for PNT_NO.
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 output is being sent
because of a fail-safe condition, the Fail-safe Request flag is also set in the output buffer.

1911
B0193AX – Rev N 104. ROUT – Real Output Block

104.5.14 Status of Other Block Outputs


The Out-of Service, Bad, and Fail-safe status bits of OUT are copied to the status of
OUT_request. In addition, the status of OUT_request is set to Limited High or Limited Low (as
appropriate) if:
♦ The clamping or limiting action described in Section 104.5.12 forces a modification
of the value
♦ The DCI connection status information indicates that the field device parameter is
limited high or low.

104.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.
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, or if there has been a change in the read-back value this cycle, the
block inputs are initialized to the value of the current readback. This readback is copied into
OUT_request and, if it is unlinked, into MEAS, to establish the new baseline for input change-
detection.

104.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.
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 ECB status indicates that the field device 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 104.5.3).
♦ The DCI connection status information for PNT_NO indicates Initialization
Request, Local Override, Fail-safe, or Open Cascade.

104.5.17 Initialization
The ROUT block initializes whenever the block is restarted, there is a bad-to-good transition of
the status of OUT, or there is a true-to-false transition in the status of INI_PT. See
Section 104.5.16.
Initialization action consists of setting the read-back value into MEAS and OUT_request. The
cascade is then opened to force an upstream initialization. See Section 104.5.18. The block out-
put is sent to the external device on an initialization cycle.

1912
104. ROUT – Real Output Block B0193AX – Rev N

If the block is in Auto mode, and there has been a bad-to-good transition in the status of MEAS,
the same actions are taken, except for the initialization of OUT_request. The definition of Bad
for the status of MEAS depends on EROPT.

104.5.18 Cascade Processing


The cascade is opened when the block has initialized for any of the reasons listed in the previous
section. When the cascade is opened, INITO, which should be connected to INITI input of the
block immediately upstream from the ROUT block (if there is an INITI parameter in that block),
is turned on. The status of BCALCO, which should be connected to the BCALCI input of the
block immediately upstream, is set to indicate open cascade.
The read-back value is set into the value of BCALCO and the ROUT block then goes into a
Hold, thereby disallowing any outputs.
The upstream block (the block connected to MEAS) 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 more specific con-
ditions for closure of the cascade are desired, the value PRIBLK = 1 should be configured as fol-
lows:
♦ PRIBLK is 1 (True) and PRITIM = 0:
This is the standard ACK option as used in ordinary control blocks. If there are no
cascade levels above the block immediately upstream, this block passes its output to
the MEAS of the ROUT block and signals the closure of the cascade by turning on
the acknowledge status of MEAS. If there is a cascade level above the one connected to
the MEAS of ROUT, the block immediately upstream delays turning on the acknowl-
edge to ROUT until it, in turn, has detected cascade closure above.
♦ PRIBLK = 1 (True) and PRITIM = positive:
This is the Tim-out option. The cascade is closed after the time-out constant config-
ured into PRITIM has expired. The acknowledge status of MEAS is ignored.

104.5.19 Holding and Tracking


The block goes into Holding whenever MEAS is Bad, OUT has bad status, or 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 stays True.
Ordinarily, no output changes are allowed while the block is in Holding or Tracking. The only
exceptions are:
♦ This is the start or end of either a fail-safe period or an IR period. (See
Section 104.5.11.)
This is an initialization cycle, as defined in Section 104.5.17. Exception is when there has been a
fail-safe request, as described earlier in Section 104.5.11.

104.5.20 Identification and Access Control


The LOOPID, OWNER, LOCKRQ, LOCKID, and ACHNGE parameters are used in the stan-
dard way in the ROUT block.

1913
B0193AX – Rev N 104. ROUT – Real Output Block

104.6 ROUT Signal Conditioning (SCO) Values


NOTE
Valid SCO values for the ROUT block are 0-5, 12-15, and 50-59, all inclusive.

SCO = 0: No Conditioning
RAWC = OUT
SCO = 1: Inverse Linear (0 to 64000)
Represents analog output of 0 to 20 mA
RAWC = (OUT - LSCO1) * 64000/(HSCO1 - LSCO1)
SCO = 2: Inverse Linear (1600 to 64000)
Represents analog output of 0 to 10 V dc
RAWC = ((OUT - LSCO1) * 62400/(HSCO1 - LSCO1)) + 1600
SCO = 3: Inverse Linear (12800 to 64000)
Represents analog output of 4 to 20 mA
RAWC = ((OUT - LSCO1) * 51200/(HSCO1 - LSCO1)) + 12800
SCO = 4: Inverse Square Root (0 to 64000)
Represents analog output of 0 to 20 mA
RAWC = ((OUT - LSCO1) * 64000/(HSCO1 - LSCO1))2 / 64000
SCO = 5: Inverse Square Root (12800 to 64000)
Represents analog output of 4 to 20 mA
RAWC = ((OUT - LSCO1) * 51200/(HSCO1 - LSCO1))2 / 51200 + 12800
SCO = 12: Inverse linear (2 - 10v)
temp_val = (out - offset) / span + 14080.0
SCO = 13: Inverse square root (2 - 10v)
temp_val = (out - offset) /span
temp_val = (temp_val * temp_val) / 49920.0 + 14080.0
SCO = 14: Inverse linear (0 - 16383)
temp_val = (out - offset) /span
SCO = 15: Inverse square root (0 - 10v)
temp_val = (out - offset) /span
temp_val = (temp_val * temp_val) / 62400.0 + 1600.0
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)

1914
104. ROUT – Real Output Block B0193AX – Rev N

The following notes apply to SCO = 50 through SCO = 59:


♦ y = engineering units value; x = normalized counts value.
♦ Linear scaling of the analog outputs is also provided.
♦ In the ROUT block, the same linear scaling is applied to the read-back value before
the signal conditioning is applied, using the GAIN and BIAS parameters. Inverse lin-
ear scaling of the output value is applied after the inverse signal conditioning is
applied. The following inverse linear equation is used:
x = (x – BIAS)/GAIN

1915
B0193AX – Rev N 104. ROUT – Real Output Block

1916
105. SIGSEL – Signal Selector Block
This chapter describes the SIGSEL (Signal Selector Block), its features, parameters and detailed
operations.

105.1 Overview
The Signal Selector block (SIGSEL) examines up to eight inputs and, based on your option, gen-
erates an output that is either: 1) the highest signal; 2) the lowest signal; 3) the average value of all
the configured inputs; 4) the low-median signal; or 5) the high-median signal.

Manual/Auto

Select Flags 1 through 8


Inputs 1 through 8
SIGSEL 8 lines
8 lines
BLOCK
Select Cascade Flag

Cascade Input Block Status


Output

Figure 105-1. SIGSEL Block I/O Diagram

105.2 Features
The features are:
♦ Manual/Auto control of the outputs, which can be initiated by a host process or
another block
♦ Indication of the selected input (Select Flag) when selecting the high, low, low-median
or high-median value.
The options are:
♦ Select Option (SELOPT) establishes whether the block is selecting the high, the low,
the low median, the high median, or the average value of all the active inputs.
♦ Number of Inputs (NUMINP) allows you to fix the number of active inputs to be
included in the selection process.
♦ Error and error propagation (EROPT and PROPT).
♦ Bypass options for each INP_n input.

1917
B0193AX – Rev N 105. SIGSEL – Signal Selector Block

105.3 Parameters
Table 105-1. SIGSEL 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 13 SIGSEL
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/no-set blank 1 to 32 chars
NUMINP number of inputs integer no-con/no-set 8 [2..8]
BNDX biased index integer no-con/no-set 0
PROPT propagate error boolean no-con/no-set 0 0 to 1
EROPT error option short no-con/no-set 0 [0|1|2]
INP1 to INP8 input 1 to 8 real con/set 0.0 RI1
HSCI1 to HSCI8 high scale in 1 to 8 real no-con/no-set 100.0 specifiable
LSCI1 to LSCI8 low scale in 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 string no-con/no-set % specifiable
BYPAS1 to BYPAS8 bypass INP1 to INP8 boolean con/set 0 0 to 1
CASNDX cascade index integer con/set 0 ---
CASINP cascade input real con/set 0.0 RIC
HSCIC high scale input cascade real no-con/no-set 100.0 specifiable
LSCIC low scale input cascade real no-con/no-set 0.0 specifiable
DELTIC change delta cascade real no-con/no-set 1.0 percent
EIC eng units input cascade string no-con/no-set % specifiable
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 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]
SELOPT block options integer no-con/no-set 1 [1..5]
OUTPUTS
BLKSTA block status pack_l con/no-set 0 bit map
OUT output real con/no-set 0.0 RO1
SEL1 to SEL8 input 1 to 8 select flag boolean con/no-set 0 0 to 1
SELC cascade select flag boolean con/no-set 0 0 to 1
SELNDX select index integer con/no-set 0 ---
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 FFFFFFFF
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

1918
105. SIGSEL – Signal Selector Block B0193AX – Rev N

Table 105-1. SIGSEL Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


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
RIC eng range cascade 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

105.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.
For the SIGSEL block, only the following unshaded 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
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

Bit Number* Configured Alarm Option Boolean Connection


(0 to 31) When True (B32 to B1)
0 Alarm Group 8 in Use ALMOPT.B32
1 Alarm Group 7 in Use ALMOPT.B31
7 Alarm Group 1 in Use ALMOPT.B25
22 Bad I/O Alarm Configured ALMOPT.B10

* Bit 0 is the least significant bit (starting from the right).


There are no mnemonic names for the individual bits of ALMOPT.

BLKSTA Block Status is a 32-bit output, bit-mapped to indicate the block’s opera-
tional states. For the SIGSEL 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
B10
B11
WLCK B12
B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

BAD
MA
ON

1919
B0193AX – Rev N 105. SIGSEL – Signal Selector Block

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
11 MA Manual(= false)/Auto(= true) BLKSTA.B21
12 BAD Bad I/O BLKSTA.B20
14 UDEF Undefined BLKSTA.B18
15 ON Compound On BLKSTA.B17
20 WLCK Workstation Lock BLKSTA.B12

* Bit 0 is the least significant bit (starting from the right).

BNDX Biased Index is an integer input that provides a bias to the indexing of the
eight standard inputs. It allows the block to be cascaded for HIGH and
LOW selection of more than eight inputs. If BNDX = 0, the block ignores
the cascade selected input (CASINP), and considers only the eight stan-
dard inputs. If BNDX has a nonzero value, and any of the eight inputs are
selected, the SELNDX output is set to the index of the selected input plus
the bias value of BNDX.

BYPAS1 to BYPAS8
Bypass Inputs 1 through 8 are boolean inputs, which when set true
exclude INP1 to INP8 from the selection process. The block disregards
the BYPASS option if PROPT is configured false.

CASINP Cascade Input is a real input used in a cascaded SIGSEL configuration. Of


all the inputs in the cascaded stages prior to this block, it indicates the
value of the selected input in the test for the HIGH (or LOW) value.
While PROPT is configured true, the block bypasses the CASINP input if
CASINP or CASNDX are in error. Typically, CASINP is linked to the
OUT output of the previous stage.

CASNDX Cascade Index is an integer input used in a cascaded SIGSEL configura-


tion. It indicates which, of all the inputs in the cascaded stages prior to
this block, is the selected input in the test for the HIGH (or LOW) value.
Typically, CASNDX is linked to the SELNDX output of the previous
stage.

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.

1920
105. SIGSEL – Signal Selector Block B0193AX – Rev N

DELTI1 to DELTI8
Change Delta for Input Ranges 1 through 8 are real values that define the
resolution as a percent of the measurement range. Entering a 1 causes the
Object Manager to recognize and respond to a change of 1 percent of the
full error range.

DELTIC Change Delta for Input Cascade is a real value that defines the resolution
as a percent of the range for the cascade input CASINP.

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


block’s function (for example, “PLT 3 FURNACE 2 HEATER
CONTROL”).

EI1-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, pro-
vide the engineering units text for the values defined by Input Ranges 1
through 8. “Deg F” or “pH” are typical entries.

EIC Engineering Units for Input Cascade, defined by the parameters HSCIC,
LSCIC, and DELTIC, provide the engineering units text for the values
defined by Input Range 1. “Deg F”, “PSI”, and “GPM” are typical entries.

EO1 Engineering Units for Output Range 1, defined by the parameters


HSCO1, LSCO1, and DELTO1, provide 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 sets the block’s
DEFINE parameter to false, but not the warning situations. Validation of
configuration errors does not proceed past the first error encountered by
the block logic. The block detailed display shows the ERCODE on the
primary page, if it is not null. For the SIGSEL 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 does not exist for given block
PHASE COMBINATION” PERIOD, or block PERIOD not
compatible with compound PERIOD.
“W44 – INVALID High range value is less than or equal
ENGINEERING RANGE” to
low range value.

1921
B0193AX – Rev N 105. SIGSEL – Signal Selector Block

Message Value
“W46 – INVALID INPUT The source parameter specified in the
CONNECTION” 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 The configured value of a block option
OPTION” is illegal.
“W53 – INVALID A parameter value is not in the accept-
PARAMETER VALUE” able range.
“W58 – INSTALL ERROR; A Database Installer error has
DELETE/UNDELETE occurred.
BLOCK”

EROPT Error Option is a short integer. If PROPT is true, EROPT specifies how
the block responds to INP when the INP parameter is in error. EROPT
has a range of 0 to 2, where:
0= The block ignores the errors.
1= The block sets the ERROR bit in OUT if the INP parameter:
(a) has its BAD status bit set true;
(b) has its OOS status bit set true;
(c) is experiencing peer-to-peer path failure.
2= The block sets the ERROR bit in OUT if the INP
parameter:
(a) has its BAD status bit set true;
(b) has its OOS status bit set true;
(c) has its ERROR status bit set true;
(d) is experiencing peer-to-peer path failure.

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.

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 INP source. A typical value is 100
(percent).

HSCIC High Scale for Input Cascade is a real value that defines the upper limit of
the range for the cascade input, CASINP. EIC defines the units. Make the
range and units consistent with those of the input source.

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.

1922
105. SIGSEL – Signal Selector Block B0193AX – Rev N

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.

INP1 to INP8 Inputs 1 through 8 are inputs that are selected to monitor the output
when the TOGGLE input is false.

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 block’s
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 INP source.

LSCIC Low Scale for Input Cascade is a real value that defines the lower limit of
the range for the cascade input, CASINP. A typical value is 0 (percent).
Make the range consistent with that of the input source.

1923
B0193AX – Rev N 105. SIGSEL – Signal Selector Block

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. In Manual, 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.

NUMINP Number of Inputs specifies the number of active inputs (2 to 8) available


for selection, starting with INP1. You can change NUMINP only by
reconfiguring the 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 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 block’s 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*****

1924
105. SIGSEL – Signal Selector Block B0193AX – Rev N

* 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, and CP60.

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. See Integrated Control Software Concepts
(B0193AW) document.

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 INP param-
eter is in error while the block is in Auto. The input to the INP 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 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.

RIC Range Array for Input Cascade is a real value that defines the range of the
cascade input, CASINP.

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.

SEL1 to SEL8 Select Flags 1 through 8 are boolean outputs that are set when INP1
through INP8 are the inputs whose values are selected.

SELC Select Cascade is a boolean output that is set true while the cascade input
CASINP is the selected output value.

1925
B0193AX – Rev N 105. SIGSEL – Signal Selector Block

SELNDX Select Index is an integer output that indicates the absolute index of the
selected input when the SIGSEL block is selecting the HIGH or LOW
value, particularly in a cascaded configuration testing more than eight
inputs. If any of the standard eight inputs is selected, SELNDX is set to
the index of the selected input plus the bias value of BNDX. If the cascade
select input CASINP is selected, SELNDX = CASNDX. This allows indi-
cation of an absolute index for the selected input when more than eight
inputs are selected by cascaded SIGSEL blocks. SELNDX has meaning
when you specify High Select (SELOPT = 1), Low Select (SELOPT = 2),
Low Median (SELOPT = 4) or High Median (SELOPT = 5).

SELOPT Select Option is an indexed, integer input parameter that dictates the
block’s selection criteria when the block is in the Auto mode. The five
SELOPT choices are:
1= Select the input with the highest value.
2= Select the input with the lowest value.
3= Compute the average of all active inputs. No specific input is
selected. All Select Flags are set to false.
4= Select the input with the low-median value. In operation, the
inputs are logically rearranged in ascending order. If the number
of inputs is odd, the input in the middle position is selected. If
the number of inputs is even, the input having the lesser value of
the two middle inputs is selected.
5= Select the input with the high-median value. In operation, the
inputs are logically arranged in ascending order. If the number of
inputs is odd, the input in the middle position is selected. If the
number of inputs is even, the input with the higher value of the
two middle inputs is selected.

You can change SELOPT only by reconfiguring the block.

TYPE When you enter “SIGSEL” or select “SIGSEL” from the block type list
under Show, an identifying integer is created specifying this block type.

105.4 Detailed Operation


The Signal Selector block examines up to eight inputs and produces an output that is dependent
upon the number of inputs configured and the specific select option. You can exclude any of the
inputs from the selection process by setting its BYPASn parameter true.
In Auto the SELOPT input dictates which attribute of the active inputs (high, low, average, low
median, or high median value) is directed to the output. In the cases of high, low, and either
median value selection, the block also raises the Select Flag (SELn) of the selected input. When
computing the average value, the block sets all Select Flags to false.
SELOPT choices range from 1 to 5 and map to the following modes of selection:
1. Select the input with the highest value.
2. Select the input with the lowest value.

1926
105. SIGSEL – Signal Selector Block B0193AX – Rev N

3. Compute the average of all active inputs. No individual input is selected and all Select
Flags are set to false.
4. Select the input having the median value. In operation, the inputs are rearranged in
ascending order. If the number of inputs is odd, the input in the middle position is
selected. If the number of inputs is even, the input having the lesser value of the two
middle inputs is selected. If there are only two inputs, the median option always
selects the input having the lower value.
5. The same as 4, except that, if the number of inputs is even, the input having the
greater value of the two middle inputs is selected. If there are only two inputs, the
median option always selects the input having the greater value.
In addition, the SELNDX output is updated with the selected signal index, when either the
median high or median low option is configured.
Upon transfer to Manual, all Select Flags are set to false.
In Manual, the output is not updated by the block. An external program can then set the output
to a desired value.
Upon transfer to Auto, the block instantaneously drives the output to the value dictated by
SELOPT.

105.4.1 Cascade Operation


You can cascade two or more SIGSEL blocks in order to select either a HIGH (SELOPT = 1) or
LOW (SELOPT = 2) value from more than eight inputs. Select options 3 (average value), 4 (low-
median value), and 5 (high-median value) are not supported in a cascade configuration.

105.4.2 Bypass Option


The bypass option parameters BYPAS1 to BYPAS8, in conjunction with parameter EROPT, are
used to determine whether any input is bypassed. A bypassed input is not considered in calculat-
ing the block’s output OUT. The following combinations determine bypassing:
♦ EROPT = 0: The input is bypassed if and only if BYPASn is true. The status of
INP_n is ignored in determining bypassing.
♦ EROPT = 1: The input is bypassed if:
♦ BYPASn is true, or
♦ INP_n has BAD status, or
♦ INP_n has OOS status, or
♦ There is any value in the OM field of INP_n status except 1 (ON_SCAN).
♦ EROPT = 2: The input is bypassed if any of the four preceding conditions are true,
or:
♦ INP_n has ERROR status.

105.4.3 Error Propagation


When PROPT is true and the SIGSEL block is in Auto:
♦ If SELOPT is not 3 (Average), the BAD and OOS status bits of the selected INP_n
input are copied to the corresponding bits of OUT.

1927
B0193AX – Rev N 105. SIGSEL – Signal Selector Block

♦ If SELOPT = 1 (High) or SELOPT = 2 (Low), the ERROR status bit of OUT is set
true when the selected input has any of the following:
♦ A BAD status bit
♦ An OOS status bit
♦ An Error status bit
♦ Any value in the om field of its status except ON_SCAN.
♦ If SELOPT = 3 (Average), SELOPT = 4 (Low Median), or SELOPT = 5 (High
Median) the ERROR status bit of OUT is set true when any non-bypassed input has
one of the above conditions.
♦ For any value of SELOPT, the ERROR status bit of OUT is set true if all configured
inputs are bypassed.

105.4.4 Cascading the SIGSEL Block


You can cascade Signal Select blocks for the purpose of selecting the High or the Low value of
more than eight inputs.
Example:
Use three cascaded Signal Select blocks to find the highest value of 22 inputs. Input 13
has the highest value of the 22 inputs (98.5). Input 3 has the highest value among the first
8 inputs (97.3).
CONFIGURATION – See diagram on next page.
Build SSCAS1 (the first block in the cascade) first. Build SSCAS2 next and finally
SSCAS3 to ensure that the Compound Processor processes the cascaded blocks in the
correct order.
Inputs – INP1 through INP8
Link inputs 1 through 8 to block SSCAS1, INP1 to INP8.
Link inputs 9 through 16 to block SSCAS2, INP1 to INP8.
Link inputs 17 through 22 to block SSCAS3, INP1 to INP6.
BNDX
Biased Index is an integer input which you can alter only by reconfiguring the block.
In effect, it tells the block in a cascaded scheme how many inputs the cascade has
tested before it reached this block. Therefore:
configure SSCAS1.BNDX = 0;
configure SSCAS2.BNDX = 8;
configure SSCAS3.BNDX = 16.
CASNDX
Cascade Index is a connectable input that tells which input in the cascade, prior to
this block, has the highest value. The previous block, in the cascade, indicates this
with its SELNDX output. Therefore:
configure SSCAS1.CASNDX = 0 (default value);
configure SSCAS1.SELNDX to SSCAS2.CASNDX;
configure SSCAS2.SELNDX to SSCAS3.CASNDX.

1928
105. SIGSEL – Signal Selector Block B0193AX – Rev N

CASINP
Cascade Input is a connectable input that tells the block the highest value in the cas-
cade, prior to this block. OUT output of the previous block in the cascade provides
this value. Therefore:
configure SSCAS1.CASINP = 0.0 (default value);
configure SSCAS1.OUT to SSCAS2.CASINP;
configure SSCAS2.OUT to SSCAS3.CASINP.
SELOPT
In each of the blocks in the cascade, configure the Select Option to select the high
value (SELOPT = 1).
OPERATION
First, SSCAS1 tests inputs 1 through 8 for the highest value among the first eight
inputs. The definition of the example established that this is input 3 with a value of
97.3.
SSCAS1.OUT takes the value, 97.3. Since one of the standard eight inputs (INP3)
was selected SSCAS1.SELNDX equals BNDX + the index of the selected input,
which is 0 + 3, or 3.

=3 = 13
CASNDX CASNDX CASNDX
SELNDX = 97.3 SELNDX = 98.5 SELNDX = 13
CASINP CASINP CASINP
INP1 OUT INP1 OUT INP1 OUT = 98.5
INP2 INP2 INP2
97.3-
INP3 INP3 INP3
INP4 SIGSEL INP4 SIGSEL INP4 SIGSEL
BLOCK BLOCK BLOCK
INP5 SSCAS1 98.5- INP5 SSCAS2 INP5 SSCAS3
INP6 INP6 INP6
INP7 INP7 INP7
INP8 INP8 INP8
SELC =0 SELC =0 SELC = 1
(BNDX=0) BNDX (BNDX=8) BNDX (BNDX=16) BNDX

Next, SSCAS2 tests inputs 9 through 16 against the cascaded input at CASINP.
According to the example definition, Input 13 (connected to SSCAS2.INP5) had the
highest value, 98.5, of the 22 inputs. SSCAS2.OUT takes on the value, 98.5. Since
one of the standard eight inputs (INP5) was selected SSCAS2.SELNDX equals
BNDX + the index of the selected input, which is 8 + 5, or 13.
Finally, SSCAS3 tests inputs 17 through 22 against the cascaded input at CASINP
(98.5). According to the example definition, the input at CASINP is higher than the
value at any of the six connected standard inputs. SSCAS3.OUT takes the value,
98.5. Since the Cascade Select Input, CASINP, was selected, SELNDX equals
CASNDX, which equals 13. The SELC flag is set true.

1929
B0193AX – Rev N 105. SIGSEL – Signal Selector Block

1930
106. STATE – State Block
This chapter gives a general of the STATE, or State Block, its basic operations, features,
parameters, and functions and provides an application example.

106.1 Overview
The STATE block is configured with up to 16 standard State patterns, a Hold pattern, and an Ini-
tialize pattern; each pattern contains up to 16 boolean values (see Figure 106-1). In the State
mode, the block outputs the pattern requested by the desired drive input. In the Step mode, the
block outputs each standard pattern in sequence as its drive input goes true.
In the Step or State mode, step transition can be inhibited by a mask, maximum step, or pattern
match feedback input. Time-out logic indicates when a step exceeds its configured time-out
period. Bad input detection inhibits step or mode transition and indicates bad status if one of the
related inputs is bad.
The STATE block can use the PATT block to confirm a pattern match before each step transi-
tion. If the process requires more than 16 patterns, the STATE block can be cascaded.

1931
B0193AX – Rev N 106. STATE – State Block

16 Standard Patterns
1 Initialize Pattern
1 Hold Pattern Disable
D
Sequential Go to next step
Step Drives when drive is Select Selected
1 to 16 true, or go to Pattern
pattern A
Initialize or
Initialize Drive Hold step D
Hold Drive
Step Mode Inhibit
step/state Step Number
State Mode change A
Go to desired
step 1 to 16, or
go to Initialize
Desired Step
or Hold step

Individual Step Mask and Maximum Step Inhibit


Pattern Match Feedback (optional) Inhibit
Disable
D

Time-Outs for Detect


time-out Time-Out
Individual
Patterns (optional) A Indicator

D
Detect Bad Status
bad input Indicator
(optional) A

Figure 106-1. STATE Block Functional Diagram

106.2 Basic Operation


In the Step mode the STATE block writes up to 16 preconfigured state patterns (STAT01 to
STAT16) into its packed boolean output (PAKOUT) parameter in sequence, as each step drive (1
to 16) is set true. If the Initialize mode drive is set true, the block writes the Initialize pattern
(STAT_I) into PAKOUT. If the Hold mode drive is set true, the block writes the Hold pattern
(STAT_H) into PAKOUT.
In the State mode the block writes the state pattern (STAT01 to STAT16) requested by the
desired step input into PAKOUT; the steps can be requested in any order. If the Initialize mode
drive is set true, the block writes STAT_I into PAKOUT. If the Hold mode drive is set true, the
block writes STAT_H into PAKOUT.
The maximum step (MAXSTP) parameter and bypass control mask (CHOICE) determine the
actual number of output state patterns, not including STAT_I and STAT_H. If the requested step
is greater than MAXSTP or bypassed by CHOICE, the block ignores the request.
In Auto, the block operates in either the State or Step mode, as specified by the state mode
(STMODE) parameter. These modes can be overridden by the Initialize, Hold, or Manual mode.

1932
106. STATE – State Block B0193AX – Rev N

In Manual, no step transition is processed. You can change settable outputs such as PAKOUT.
The feedback option (FBKOPT) parameter specifies if the block is to check the match feedback
(MATCHF) parameter to confirm process status before each step transition for STAT01 to
STAT16. The PATT block can compare process status to one of several preconfigured patterns, as
selected by the STATE block current step (ATSTEP) parameter, and then feed back the pattern
match status to the STATE block via MATCHF.
The time-out option (TIMOPT) parameter specifies if the block is to count down time and set
the time-out (TIMOUT) parameter. When TIMOPT is true, the block times each state pattern
and sets TIMOUT whenever the process does not reach the desired state within the time-out
period.
The bad lock (BADLCK) option parameter specifies if the block is to allow a step or mode transi-
tion only when all related connectable inputs are in good health, that is, not bad (BAD), out-of-
service (OOS), or off-scan (OFF). If a requested step or mode transition cannot be made because
of an unhealthy input, the bad health indicator (BADIND) parameter is set true.

106.3 Features
The STATE block provides the following features:
♦ Supports up to 18 user-defined state patterns (steps) for process control, including the
Initialize and Hold patterns
♦ Supports the following block operating modes according to a defined priority: Dis-
able, Manual, Auto, Hold, Initialize, State, and Step
♦ Provides the option to select the desired state pattern in any order or to step through
the state patterns one at a time, when in the Auto mode
♦ Initializes the output pattern to a user-defined input step number
♦ Provides maximum step number checking to skip out-of-range steps in the State or
Step mode
♦ Provides state (step) bypassing via a user-specified mask
♦ Provides an option to check process status feedback from another block, before
enabling step transition during run-time
♦ Interfaces with the PATT block which feeds back pattern match indication of process
status to the STATE block
♦ Provides time-out indication for each state (step) that the block supports, based on
user-defined time periods
♦ Provides an option to prevent step or mode transitions if the driving input or higher
priority mode inputs are Bad (BAD), out-of-service (OOS), or off-scan (OFF)
♦ Can be cascaded in conjunction with a Sequence Control block to provide state out-
puts to control more than 16 process devices.

1933
B0193AX – Rev N 106. STATE – State Block

106.4 Parameters
Table 106-1. STATE Block Parameters

Name Description Type Accessibility Default Units/Range


Configured Parameters
INPUTS
NAME block name string no-con/no-set blank 1 to 12 chars
TYPE block type integer no-con/no-set 79 STATE
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 see Param Def
LOOPID loopid string no-con/no-set blank 1 to 32 chars
MA manual/auto boolean con/set 0 0 to 1
INITMA initialize MA short no-con/no-set 1 0 to 2
DISABL disable input boolean con/set 0 0 to 1
STMODE step/state mode boolean con/set 0 0 to 1
DRVDSR desired state drive integer con/set 0 1 to 16
I_STEP initialize step short no-con/no-set 0 0 to 17
MAXSTP maximum step short no-con/no-set 16 0 to 16
FBKOPT feedback option short no-con/no-set 0 0 to 2
TIMOPT time-out option boolean no-con/no-set 0 0 to 1
BADLCK lock on bad boolean no-con/no-set 0 0 to 1
MNOBMP no bump in manual boolean no-con/no-set 0 0 to 1
HNOBMP no bump in hold boolean no-con/no-set 0 0 to 1
CHOICE state bypass mask pack_b con/set 0x0000 0x0000 to 0xFFFF
MATCHF match feedback boolean con/set 0 0 to 1
DRVINI drive to initialize boolean con/set 0 0 to 1
STAT_I initialize state pack_b no-con/set 0x0000 0x0000-0xFFFF
TIME_I initialize time-out real no-con/set 0.0 pos value in min
STXT_I initialize state text string no-con/no-set blank 1 to 32 chars
DRVHLD drive to hold boolean con/set 0 0 to 1
STAT_H hold state pack_b no-con/set 0x0000 0x0000 to 0xFFFF
TIME_H hold time-out real no-con/set 0.0 pos value in min
STXT_H hold state text string no-con/no-set blank 1 to 32 chars.
DRIV01 to DRIV16 states 1 to 16 drives boolean con/set 0 0 to 1
STAT01 to STAT16 states 1 to 16 patts pack_b no-con/set 0x0000 0x0000 to 0xFFFF
TIME01 to TIME16 states 1 to 16 time-outs real no-con/set 0.0 pos value in min
STXT01 to STXT16 states 1 to 16 text string no-con/no-set blank 1 to 32 chars
DTXT01 to DTXT16 bits 1 to 16 text string no-con/no-set blank 1 to 32 chars
Non-Configured Parameters
OUTPUTS
ATSTEP current step integer con/no-set 0 0 to 17
BADIND bad health indicator boolean con/no-set 0 0 to 1
BLKSTA block status pack_l con/no-set 0x00...0 0 to 0xFFFFFFFF
BMODE block mode integer con/no-set 0 0 to 5

1934
106. STATE – State Block B0193AX – Rev N

Table 106-1. STATE Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


CNTDWN count down time real con/no-set 0.0 pos value in min
CNTUP elapsed time real con/no-set 0.0 pos value in min
PAKOUT packed outputs pack_b con/no-set 0x0000 0x0000 to 0xFFFF
SAVSTP saved step integer con/no-set 0 0 to 17
TIMOUT time-out indicator boolean con/no-set 0 0 to 1
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 2 blanks 20 to 43 chars
LOCKID lock identification string no-con/no-set 2 blanks 1 to 32 chars
LOCKRQ lock request boolean no-con/set 0 0 to 1
OWNER owner name string no-con/set blank 0 to 32 chars

106.4.1 Parameter Definitions


ACHNGE Alternate Change is a integer output that is incremented each time a setta-
ble parameter is changed externally. It wraps around from 32767 to
-32768.

ATSTEP At Step is an integer output that contains the step number for the state
pattern currently in PAKOUT in the Step, State, Initialize, or Hold mode.
Step Step
Number State Pattern Number State Pattern
0 STAT_I 9 STAT09
1 STAT01 10 STAT10
2 STAT02 11 STAT11
3 STAT03 12 STAT12
4 STAT04 13 STAT13
5 STAT05 14 STAT14
6 STAT06 15 STAT15
7 STAT07 16 STAT16
8 STAT08 17 STAT_H

BADIND Bad Indicator is a boolean output that is set true when BADLCK is true
and a step or mode transition cannot be made because the status of one of
the related inputs is bad (BAD), out-of-service (OOS), or off-scan (OFF).
Related inputs are the step drive or any mode drives. For the mode drives,
related inputs are all higher priority mode drives.

BADLCK Bad Lock Option is a configurable boolean input that specifies if the block
is to allow a step or mode transition only when all related connectable
inputs are in good health, that is, not bad (BAD), out-of-service (OOS),
or off-scan (OFF):

1935
B0193AX – Rev N 106. STATE – State Block

0 = no lock
1 = lock.
If BADLCK = 1, transition into another step while the block is in the Step
or State mode is allowed only if the step, Disable, Manual/Auto, Hold,
and Initialize drive inputs are healthy. Transition between the State and
Step modes is allowed only if the STMODE is healthy.
If BADLCK = 1, transition into a higher priority mode is allowed only if
the mode drive input is healthy. Transition out of Disable, Manual, Hold,
or Initialize into a lower priority mode is allowed only when the drive
inputs for all higher priority modes are healthy.

BLKSTA Block Status is a 32-bit output, bit-mapped to indicate various block oper-
ational states. For the STATE 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
B10
B11
WLCK B12
B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
B23
B24
HOLD B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
DSBL B9

MA
ON

Bit Boolean
Number Connection
(0 to 31)* Name Description (B32 to B1)**
7 HOLD 1 = Holding BLKSTA.B25
11 MA 0 = Manual, BLKSTA.B21
1 = Auto
14 UDEF 1 = Block Undefined BLKSTA.B18
15 ON 1 = Compound ON BLKSTA.B17
20 WLCK 1 = Workstation Lock BLKSTA.B12
23 DSBL 1 = Disabled BLKSTA.B9

* Bit 0 is the least significant bit (starting from the right).


** BLKSTA.B1 refers to the most significant bit, and BLKSTA.B32 refers
to the least significant bit.

BMODE Block Mode is an integer output that indicates the block operating mode:
0 = State
1 = Step
2 = Initialize
3 = Hold
4 = Manual
5 = Disable.

CHOICE Choice is a packed boolean input mask that specifies which step numbers
(1 to 16) to bypass in the State or Step mode. When the mask bit is set to

1936
106. STATE – State Block B0193AX – Rev N

1 for a specific step, that step number is bypassed and the block proceeds
to the next step.
Bit Number Step Boolean Connection
(15 to 0)* Number (B1 to B16)**
15 1 CHOICE.B1
14 2 CHOICE.B2
13 3 CHOICE.B3
12 4 CHOICE.B4
11 5 CHOICE.B5
10 6 CHOICE.B6
9 7 CHOICE.B7
8 8 CHOICE.B8
7 9 CHOICE.B9
6 10 CHOICE.B10
5 11 CHOICE.B11
4 12 CHOICE.B12
3 13 CHOICE.B13
2 14 CHOICE.B14
1 15 CHOICE.B15
0 16 CHOICE.B16

* Bit 0 is the least significant bit (starting from the right).


** CHOICE.B1 refers to the most significant bit, and CHOICE.B16
refers to the least significant bit.

CNTDWN Count Down is a real output that tracks the countdown timer, which
starts when a step change occurs. The countdown timer continues to
count in the negative direction to indicate the period for which
TIMOUT = 1.

CNTUP Count Up is a real output that tracks the elapsed time counter, which pro-
vides the total time that the block has been in a specific state.

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 re-install the block.

DESCRP Descriptor is a user-defined string of up to 32 characters that describe the


block’s function (for example, PLT 3 FURNACE 2 HEATER
CONTROL).

1937
B0193AX – Rev N 106. STATE – State Block

DISABL Disable is a boolean input that when true secures the all outputs and
inhibits normal block operation in the either Auto or Manual mode.
DISABL is independent of MA, and has a higher priority.

DRIV01-DRIV16 Drives for States 1 to 16 are boolean inputs that when true select STAT01
to STAT16 patterns for output to PAKOUT when the block is in the Step
mode.

DRVHLD Drive for Hold is a boolean input that when true selects the STAT_H pat-
tern for output to PAKOUT when the block is in the Step mode.

DRVINI Drive for Initialize is a boolean input that when true selects the STAT_I
pattern for output to PAKOUT when the block is in the Step mode.

DRVDSR Drive for Desired State Request is an integer input that specifies the Step
number for the State pattern to be written to the PAKOUT parameter,
when the block is in the State mode.
Step Step
Number State Pattern Number State Pattern
1 STAT01 9 STAT09
2 STAT02 10 STAT10
3 STAT03 11 STAT11
4 STAT04 12 STAT12
5 STAT05 13 STAT13
6 STAT06 14 STAT14
7 STAT07 15 STAT15
8 STAT08 16 STAT16

DTXT01 to DTXT16
Descriptive Text 1 to 16 are user-defined strings of up to 32 characters
that describe the state bits in PAKOUT.

ERCODE Error Code is a string data store which 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 only the following error
strings:
W46 - INVALID INPUT CONNECTION
W58 - INSTALL ERROR; DELETE/UNDELETE BLOCK
W53 - INVALID PARAMETER VALUE

FBKOPT Feedback Option is a configurable short integer input that specifies the
following block operation:
0= No check on MATCHF
1= Go into the requested step (1 to 16) only if MATCHF = 1

1938
106. STATE – State Block B0193AX – Rev N

2= Set TIMOUT true if TIMOPT = 1 and MATCHF does not


become true within the configured time-out period. This option
simply indicates a process time-out; it does not prevent a step
transition.

HNOBMP Hold No Bump is a configurable boolean input that specifies the


PAKOUT output on a transfer from Hold to the Step or State mode.
0 = Restore PAKOUT according to ATSTEP on transfer
1 = Retain STAT_H in PAKOUT on transfer

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 Integrated Con-
trol Configurator. (The block does not assert INITMA on
ordinary reconfiguration.)
INITMA is ignored if MA has an established linkage.

I_STEP Initial Step is a configured short integer input that specifies the Step num-
ber of the State pattern to be written to PAKOUT when the block is trans-
ferred from the Step or State mode to the Initialize mode.

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. It is set
when LOCKRQ is set true, and nulled when LOCKRQ is cleared.
LOCKID has the format LETTERBUG:DEVNAME, where LETTER-
BUG is the 6-character 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 data store. When set true, it locks workstation
write access to the block and sets LOCKID to the identifier of the request-
ing workstation. When LOCKRQ is reset to false, it unlocks write access
to the block and nulls LOCKID. An operator at any other workstation
can lock and unlock the block by toggling the LOCK U/L key on the
Block Detail Display.

LOOPID Loop Identifier is a user-defined string of up to 32 characters that identify


the loop or process associated with the block. It is displayed on the detail
display of the block, immediately below the faceplate.

1939
B0193AX – Rev N 106. STATE – State Block

MA Manual /Auto is a boolean input that controls the block’s operating state:
0 = Manual
1 = Auto
In Manual, each STATE 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.

MATCHF Match Feedback is a boolean input that when true enables a step transi-
tion for STAT01 to STAT16 when FBKOPT = 1 in the Step or State
mode. MATCHF is typically connected to the MATCHB output of a
PATT block to provide confirmation of a pattern match status to the
STATE block.

MAXSTP Maximum Step is a configured short integer input that specifies the maxi-
mum step number to which the block can be driven in the State or Step
mode while the block is in Auto.

MNOBMP Manual No Bump is a configurable boolean input that specifies the


PAKOUT output on a transfer from Manual to Auto:
0 = Restore PAKOUT according to ATSTEP on transfer.
1 = Retain the manual setting on a transfer.

NAME Name is a user-defined string of up to 12 characters used to access the


block and its parameters.

OWNER Owner is a user-defined string of up to 32 characters that contain the


name of the application program that owns the device associated with this
block. OWNER is used to synchronize the use of shared devices.
OWNER is settable only if it is currently null, blanks, or the same as the
new value; otherwise, write requests to it are rejected with a
LOCKED_ACCESS error. OWNER is cleared by setting it to a null
string. It does not inhibit write access to other settable parameters in the
block.

PAKOUT Pack Boolean Output contains the currently selected state pattern
(16 bits) for controlling the contact output states:
State Pattern PAKOUT Boolean
Bit Number Bit Number Connection
(15 to 0)* (15 to 0)* (B1 to B16)**
15 15 PAKOUT.B1
14 14 PAKOUT.B2
13 13 PAKOUT.B3
12 12 PAKOUT.B4
11 11 PAKOUT.B5
10 10 PAKOUT.B6
9 9 PAKOUT.B7

1940
106. STATE – State Block B0193AX – Rev N

State Pattern PAKOUT Boolean


Bit Number Bit Number Connection
(15 to 0)* (15 to 0)* (B1 to B16)**
8 8 PAKOUT.B8
7 7 PAKOUT.B9
6 6 PAKOUT.B10
5 5 PAKOUT.B11
4 4 PAKOUT.B12
3 3 PAKOUT.B13
2 2 PAKOUT.B14
1 1 PAKOUT.B15
0 0 PAKOUT.B16

* Bit 0 is the least significant bit (starting from the right).


** PAKOUT.B1 refers to the most significant bit, and PAKOUT.B16
refers to the least significant bit.

PERIOD Period is an indexed input that dictates the block’s 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*****

* 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, and CP60.

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

1941
B0193AX – Rev N 106. STATE – State Block

0.5 s and a PERIOD of 2.0 s, the legal phase periods are 0, 1, 2, and 3. See
the Integrated Control Software Concepts (B0193AW) document.

SAVSTP Saved Step is an integer output that tracks the current step number
(ATSTEP) in the Step or State mode. When in Manual, you can change
SAVSTP to go to that step on a transfer to Auto. If SAVSTP has been
changed prior to the transfer to Auto, the block copies SAVSTP to
ATSTEP, resets the timers, and re-establishes the outputs according to
ATSTEP. SAVSTP does not change when the block is driven into the Dis-
able or Hold mode.

STAT01 to STAT16
States 1 to 16 are packed boolean input state patterns that specify the
states for output to PAKOUT in the Step or State mode. See the
PAKOUT parameter definition for the bit format.

STAT_H State for Hold is a packed boolean input state pattern that specifies the
Hold state pattern for output to PAKOUT. See the PAKOUT parameter
definition for the bit format.

STAT_I State for Initialize is a packed boolean input state pattern that specifies the
initial state pattern for output to PAKOUT. See the PAKOUT parameter
definition for the bit format.

STMODE Step Mode is a boolean input that controls the block’s operating mode in
the Auto state:
0 = State
1 = Step
In the State mode, the block writes the state pattern (STAT01 to STAT16)
requested by DRVDSR into PAKOUT one step at a time, except for the
steps excluded by the CHOICE bypass mask and MAXSTP.
In the Step mode, the block writes each state pattern (STAT01 to
STAT16) into PAKOUT sequentially, except for the steps excluded by the
CHOICE bypass mask and MAXSTP. Step transition occurs only if the
input drive (DRIV01 to DRIV16) for the next step is true. Once a step
transition has occurred, its drive input can be cleared.
Once a step transition has occurred, its drive input can be cleared without
affecting block operation.

STXT01 to STXT16
State Text 1 to 16 are a user-defined strings of up to 32 characters that
describe the STAT01 to STAT16 state patterns.

STXT_H State Text for Hold is a user-defined string of up to 32 characters that


describe the STAT_H state pattern.

STXT_I State Text for Initialize is a user-defined string of up to 32 characters that


describe the STAT_I state pattern.

1942
106. STATE – State Block B0193AX – Rev N

TIME01 to TIME16
Time 1 to Time 16 are configurable real inputs that specify the time-out
period for the STAT01 to STAT16 states in the Step or State mode when
TIMOPT = 1. If the time-out period is 0, the block does not apply the
time-out logic to that state.

TIME_H Time for Hold is a configurable real input that specifies the time-out
period for the STAT_H state in the Step or State mode when TIMOPT =
1. If the time-out period is 0, the block does not apply the time-out logic
to STAT_H. TIME_H is used only when FBKOPT = 2.

TIME_I Time for Initialize is a configurable real input that specifies the time-out
period for the STAT_I state in the Step or State mode when TIMOPT =
1. If the time-out period is 0, the block does not apply the time-out logic
to STAT_I. TIME_I is used only when FBKOPT = 2.

TIMOPT Time-out option is a configurable boolean input that when true enables
the block to detect when it remains at a particular step for a period that
exceeds the configured time for that step.

TIMOUT Time-out is a boolean output that is set true when TIMOPT = 1 and the
block remains at a particular step for a period that exceeds the configured
time for that step.

TYPE Type is a system-level mnemonic label indicating the block type. Enter
“STATE” or select “STATE” from the block type list under Show when
configuring the block.

1943
B0193AX – Rev N 106. STATE – State Block

106.5 Functions
106.5.1 Detailed Functional Diagram

DRIV01 Go to next step STMODE STAT01 MA


to when drive is to
DRIV16 STAT16
true, or go to
STAT_I
DRVINI Initialize or STAT_H
DRVHLD Hold step M
Step Mode
New step Select
State Mode request PAKOUT
pattern A
Go to desired
step 1 to 16, or
go to Initialize Ignore if >
DRVDSR or Hold step MAXSTP maximum step

Ignore if
CHOICE associated bit in
CHOICE is set

FBKOPT = 1 Wait for previous


AND state to match
MATCHF M

SAVSTP
DISABL Disable step A
transition
M

Transit from old


step to new step ATSTEP
A
Restart timer with
new time-out period
TIM01 to TIME16 CNTUP
Count down time
TIME_H AND OR and detect time-out CNTDWN
Time-Out
TIME_I AND

Set time-out
M
FBKOPT= 2 Y
TIMOPT AND
MATCHF= 0 TIMOUT
N A
FBKOPT= 0 or 1 AND OR
TIMOPT
M
HOLD + INIT
BADLCK
OOS AND BADIND
Block BAD Detect A
Input OFF bad value

Figure 106-2. STATE Block Detailed Functional Diagram

1944
106. STATE – State Block B0193AX – Rev N

106.5.2 Detailed Operation


In Auto, the block operates either in the State mode (STMODE = 0) or Step mode (STMODE =
1) to control the process. The Initialization, Hold, or Manual modes can override the State or
Step mode. In Manual, no step transition is processed. You can change settable outputs such as
PAKOUT.
In the Step mode the STATE block writes up to 16 preconfigured state patterns (STAT01 to
STAT16) into its packed boolean output (PAKOUT) parameter in sequence, as each step drive (1
to 16) is set true (see Figure 106-2). If the Initialize mode drive is set true, the block writes the Ini-
tialize pattern (STAT_I) into PAKOUT. If the Hold mode drive is set true, the block writes the
Hold pattern (STAT_H) into PAKOUT.
In the State mode the block writes the state pattern (STAT01 to STAT16) requested by the
desired step input into PAKOUT; the steps can be requested in any order. If the Initialize mode
drive is set true, the block writes STAT_I into PAKOUT. If the Hold mode drive is set true, the
block writes STAT_H into PAKOUT.
MAXSTP and the CHOICE mask determine the actual number of output state patterns, not
including STAT_H and STAT_I. If the requested step (DRVDSR) or the next step in the
sequence is greater than MAXSTP or is bypassed by CHOICE, the block ignores the step, except:
♦ During initialization, the block goes into the step specified by the Initial Step
(I_STEP) parameter, if it is configured.
♦ During a transfer from Manual to the Auto/Step or Auto/State mode, the block goes
into the step specified by the saved step (SAVSTP) parameter, if it was changed while
in Manual. In Manual you can change SAVSTP to go to that step on a transfer to
Auto. In Auto, SAVSTP stores the most recent step number.
The FBKOPT = 1 option allows the block to confirm that the process is at the desired status
before making a step transition. If FBKOPT = 1 and the block is in the Step or State mode, the
block checks that MATCHF is true before going to the next step, that is, Steps 1 to 16. You can
use the PATT block to compare process status to one of several preconfigured patterns, as selected
by ATSTEP, and then feed back the pattern match status to MATCHF.
FBKOPT = 2 provides an option to simply detect a process time-out condition and indicate this
to another block. If FBKOPT = 2, TIMOPT = 1, and MATCHF = 0, the block sets the
TIMOUT output to true when the specified time for the step has expired. This indicates that the
process has not reached the desired state within the specified time (TIME01 to TIME16,
TIME_I, or TIME_H). It does not prevent a step transition.
When the Disable, Hold, Initialize, or Manual mode is requested, the block does not check
MATCHF. A transition from Hold to the Step or State mode requires that MATCHF be true,
except for:
♦ Transition to I_STEP during block initialization
♦ Transition from Manual to Step mode if you have changed a return step number (refer
to SAVSTP) while in Manual.
The countup timer is always enabled. The countdown timer and time-out logic are enabled only
if TIMOPT = 1. The elapsed time counter counts up until the first ATSTEP change, at which
time it is reset, except for a transition to Hold. The block provides the elapsed time (CNTUP)
and count down time (CNTDWN) parameters as outputs.
ATSTEP changes during:
♦ Transition into any step in State or Step mode.

1945
B0193AX – Rev N 106. STATE – State Block

♦ Transition into the Initialize or Hold mode.


♦ Transition into the State or Step mode, if SAVSTP has been changed while the block
was in Manual.
When BADLCK = 1, the block allows a step or mode transition only when all related inputs are
in good health, that is, not bad (BAD), out-of-service (OOS), or off-scan (OFF). If a requested
step or mode transition cannot be made because of an unhealthy input, BADIND is set true. The
block checks the health of all related inputs each time it process a step or mode transition request.
If one of the related inputs is not healthy and BADLCK = 0, the transition is allowed.

106.5.2.1 Block Initialization


Key parameters: I_STEP, INITMA, PAKOUT
The block initializes when:
♦ The compound containing the block is turned on.
♦ The CP containing the block is rebooted.
♦ The block is installed or modified and the compound containing the block is on.
When the block initializes, it sets:
♦ PAKOUT to the pattern specified by I_STEP
♦ ATSTEP and SAVSTP to the step number specified by I_STEP
♦ MA is set according to the INITMA value.
After a CP reboot, all non-connected inputs are reset.

106.5.2.2 Disable Mode


Key Parameters: DISABL, PAKOUT, SAVSTP
In the Disable mode (DISABL = 1), the block disables step transition and secures all the output
parameters from change, even if the Manual mode is requested; it does not reset the timers. Upon
exiting Disable, the block assumes the previous state and resumes normal operations. Disable is
the highest priority mode. Table 106-2 lists the operating mode priorities.

Table 106-2. Operating Mode Priority

Mode Priority*
Disable 1
Manual 2
Hold 3
Initialize 4
Auto/State 5
Auto/Step 6
* Highest priority is 1.

Before a transition to Disable, you should place the process in the desired state. When DISABL is
set to 1, the block locks the values in PAKOUT, ATSTEP, and SAVSTP until DISABL is reset to
0. The block stores data for the operating mode prior to entering Disable.

1946
106. STATE – State Block B0193AX – Rev N

When exiting Disable, the block goes to the requested operating mode. If the requested mode is
different than the operating mode prior to entering Disable, the block executes transition logic
from the prior mode to the requested one.

106.5.2.3 Manual Mode


Key Parameters: MA, PAKOUT, SAVSTP
On a transition from Auto to Manual (MA = 0), PAKOUT does not change, and the time-out
counters continue to count (see Figure 106-3).
In Manual no state transition is processed. You can change settable outputs (for example, PAK-
OUT and SAVSTP) via the Block Detail display or Object Manager set_val call. The countup
(CNTUP) and countdown (CNTDWN) timers continue. If you change SAVSTP, the block
resets the timers upon transition back to the Step or State mode.

106.5.2.4 Auto Mode


Key Parameters: MA, MNOBMP, PAKOUT, SAVSTP
On a transition from Manual to Auto (MA = 1), the block checks if you have requested a new step
by changing SAVSTP while in Manual (see Figure 106-3). If SAVSTP has been changed, the
block copies SAVSTP into ATSTEP and resets the timers.
If MNOBMP = 0, the block resets PAKOUT to the value defined by ATSTEP.
If MNOBMP = 1 and you have changed PAKOUT while in Manual, PAKOUT retains the man-
ual setting on a transfer from Manual to Auto.
In Auto the block has four modes of operation:
♦ Hold
♦ Initialize
♦ State
♦ Step
If you have changed SAVSTP to 0 or 17 while in Manual, the block goes to the specified step (0
or 17) on a transfer to Auto, but it goes to the mode (State or Step) it was in prior to the transfer
to Manual. The block does not formally go into the Initialize (step 0) or Hold (step 17) mode,
that is:
♦ BMODE output parameter indicates State or Step mode, not Initialize or Hold
♦ If TIMOPT = 1, the block resets all timers and TIMOUT

1947
B0193AX – Rev N 106. STATE – State Block

Start

Auto to Y
Manual?

Y
Manual
to Auto?

Y - Establish new
SAVSTP
ATSTEP
changed? - Restart timers

Y
MNOBMP = 1?

Re-establish - PAKOUT
outputs according not changed
to ATSTEP - Timers continue

Exit
Figure 106-3. Auto/Manual Transition Diagram

106.5.2.5 Hold Mode


Key Parameters: DRVHLD, FBKOPT, HNOBMP, PAKOUT, STAT_H, TIMOPT
On a transition into Hold (DRVHLD = 1), the block sets PAKOUT to the STAT_H pattern and
ATSTEP to 17; SAVSTP is unchanged (see Figure 106-4). Feedback matching (FBKOPT = 1)
does not delay the transition until MATCHF = 1.
When TIMOPT = 1, FBKOPT determines block operation in Hold as follows:
♦ If FBKOPT = 0, the block does not reset the timers, and does not check MATCHF.
♦ If FBKOPT = 1, the block does not reset the timers. To exit Hold, and go to the State
or Step mode, MATCHF must be set to 1.
♦ If FBKOPT = 2, the block resets the countdown timer (CNTDWN).

1948
106. STATE – State Block B0193AX – Rev N

On exiting Hold, the block restores ATSTEP. If HNOBMP = 0, the block writes into
PAKOUT the pattern specified by the step number saved in SAVSTP. If HNOBMP = 1, PAK-
OUT does not change. If FBKOPT = 2, the block resets the countdown timer (CNTDWN) after
transition from Hold to the State or Step mode.
Hold overrides all other modes in Auto, but it can be overridden by Disable or Manual.

106.5.2.6 Initialize Mode


Key Parameters: DRVINI, FBKOPT, I_STEP, MATCHF, PAKOUT, STAT_I
On a transition into Initialize (DRVINI = 1), the block sets PAKOUT to the STAT_I pattern and
ATSTEP and SAVSTP to 0. Feedback matching (FBKOPT = 1) does not delay the transition
until MATCHF = 1. Transition into Initialize always resets all timers including the countup and
countdown timers.
On a transfer from Initialize (DRVINI = 0) to the State or Step mode when FBKOPT = 1, the
block checks for MATCHF = 1, which indicates that all devices are in their initialize states. It then
performs normal State or Step mode operation.
If FBKOPT = 2, the block resets the countdown timer (CNTDWN) after transition from Initial-
ize to the State or Step mode.
Disable, Manual, or Hold can override the Initialize mode.

1949
B0193AX – Rev N 106. STATE – State Block

Start

Transition Y
to Hold?

Transition Y
from Hold?

N Y
FBKOPT = 1?

N Y
MATCHF=0?
(no match)

Y
HNOBMP = 1?

Re-establish PAKOUT =
outputs according STAT_H
to ATSTEP

FBKOPT=2, Y
TIMOPT=1?

N
Restart timers

Exit

Figure 106-4. Hold Transition Diagram

1950
106. STATE – State Block B0193AX – Rev N

106.5.2.7 Step Mode


Key Parameters: CHOICE, DRIV01 to DRIV16, FBKOPT, MATCHF, MAXSTP,
PAKOUT, STAT01 to STAT16, STMODE
In the Step mode (STMODE = 1), the block writes each state pattern (STAT01 to STAT16) into
PAKOUT sequentially, except for the steps excluded by the CHOICE bypass mask and MAX-
STP.
If FBKOPT = 1, the block performs a step transition whenever MATCHF = 1 and the next drive
input (DRIV01 to DRIV16) allowed by CHOICE goes true. For example, the block goes from
Step 1 to Step 2 by writing STAT02 into PAKOUT if:
♦ Step 2 CHOICE bit = 0
♦ MAXSTP ≥ 2
♦ MATCHF = 1
♦ DRIV02 = 1
If FBKOPT = 0 or 2, the block goes from Step 1 to Step 2 as above except that there is no
MATCHF checking.
The block sets ATSTEP to the current step number, and performs timing according to the
TIMOPT and FBKOPT settings. Each time the block changes the step, all timers are reset.
On a transition from State to Step mode, PAKOUT maintains its previous state pattern and the
block begins step transition from the step number for that pattern.
Disable, Manual, Hold, Initialize, or State can override the Step mode.

NOTE
If a drive input (DRIV01 to DRIV16) or MATCHF is not connected, it is reset
when it is used to make a step transition. MATCHF is used when FBKOPT = 1
or 2).

106.5.2.8 State Mode


Key Parameters: CHOICE, DRVDSR, FBKOPT, MATCHF, MAXSTP, PAKOUT, STAT01 to
STAT16, STMODE
In the State mode (STMODE = 0), the desired state request drive (DRVDSR) selects the step
number (1 to 16). The block writes the selected state pattern into PAKOUT, except for the steps
excluded by the CHOICE bypass mask and MAXSTP.
If FBKOPT = 1, the block performs a step transition whenever MATCHF = 1 and DRVDSR
changes to another step allowed by CHOICE. For example, the block goes from Step 3 to Step 7
by writing STAT07 into PAKOUT if:
♦ Step 7 CHOICE bit = 0
♦ MAXSTP ≥ 7
♦ MATCHF = 1
♦ DRVDSR = 7
If FBKOPT = 0 or 2, the block goes from Step 3 to Step 7 as above except that there is no
MATCHF checking.

1951
B0193AX – Rev N 106. STATE – State Block

The block sets ATSTEP to the current step number, and performs timing according to the
TIMOPT and FBKOPT settings. Each time the block changes the step, all timers are reset.
Disable, Manual, Hold, Initialize, or Step can override the State mode.
On a transition from Step to State mode, PAKOUT is set to the state requested by DRVDSR. If
DRVDSR is zero, greater than MAXSTP, or bypassed by CHOICE, PAKOUT maintains its pre-
vious state pattern and ATSTEP is unchanged.

NOTE
If MATCHF is not connected, it is reset when it is used to make a step transition,
that is, when FBKOPT = 1 or 2.

106.5.2.9 Timing Logic


Key Parameters: CNTDWN, CNTUP, FBKOPT, MATCHF, TIME01 to TIME16, TIME_H,
TIME_I, TIMOPT, TIMOUT
In the Step or State mode, the block performs timing according to the TIMOPT and FBKOPT
settings. Each time the block changes the step, it resets all the timers.
If TIMOPT = 1 and the block remains at a particular step for a period that exceeds the configured
time (TIME01 to TIME16, TIME_I, TIME_H) for that step, the timing logic detects the time-
out. The countdown timer, which is tracked by CNTDWN, starts when a step change occurs.
When the configured time is reached or exceeded, the block sets TIMOUT to 1 if:
♦ FBKOPT = 0 or 1
♦ FBKOPT = 2 and MATCHF = 0.
If FBKOPT = 2, a time-out indicates that the process has not reached the desired state (that is,
MATCHF is not true) within the configured time.
The countdown timer continues to count in the negative direction to indicate the period for
which TIMOUT = 1.
If a configured time-out period is 0 or negative, the block does not apply the time-out logic to
that state.
The block uses the TIME_I and TIME_H parameters only when FBKOPT = 2.
CNTDWN is reset to 0 during:
♦ Each step transition in the State or Step mode
♦ Transition into or out of the Initialize mode when FBKOPT = 0 or 1
♦ Transition into the Hold mode, when FBKOPT = 2 and TIMOPT = 1
♦ Transition from Hold to State or Step mode, if FBKOPT = 2 and TIMOPT = 1
♦ Transition to the State or Step mode, if the user has changed SAVSTP while the block
was in Manual.
TIMOUT is reset to 0 when:
♦ There is a step transition while the block is in the STEP or STATE mode
♦ There is a transition into or out of the Initialize mode when FBKOPT = 0 or 1
♦ There is transition into the Hold mode and FBKOPT = 2 and TIMOPT = 1
♦ FBKOPT = 2, TIMOPT = 1, and MATCHF = 1

1952
106. STATE – State Block B0193AX – Rev N

♦ TIMOPT is set to 0 on the block restart, after a compound off-to-on transition,


reboot, or install operation.
The elapsed time counter, which is tracked by CNTUP, provides the total time that the block has
been in a specific state. The block initializes CNTUP to 0 during:
♦ Every step transition in the Step or State mode
♦ Transition into or out of the Initialize mode when FBKOPT = 0 or 1
♦ Transition from Manual to State or Step mode, if you have changed SAVSTP while in
Manual.

106.5.2.10 Bad Lock Option


When BADLCK = 1, the block allows a step or mode transition only when all related inputs are
in good health, that is, not bad (BAD), out-of-service (OOS), or off-scan (OFF). If a requested
step or mode transition cannot be made because of an unhealthy input, BADIND is set true.
If BADLCK = 1, transition into another step while the block is in the Step or State mode is
allowed only when the step, Disable, Manual/Auto, Hold, and Initialize drive inputs are healthy.
Transition between the State and Step modes is allowed only if the STMODE is healthy.
If BADLCK = 1, transition into a higher priority mode is allowed only when the mode drive
input is healthy. Transition out of Disable, Manual, Hold, or Initialize into a lower priority mode
is allowed only when the drive inputs for all higher priority modes are healthy.

106.5.2.11 Cascading STATE Blocks


If the process requires more than 16 states (steps), you can configure two STATE blocks in con-
junction with an IND that selects either integer input II0001 or II0002, depending on the step
number (see Figure 106-5).

1953
B0193AX – Rev N 106. STATE – State Block

STATE_1

DRIV01
to
DRIV15
DRIV16 IND

ATSTEP II0001 (PAKOUT)


IO0001
PAKOUT II0003

MA II0002
(ATSTEP
HLBL 0 to 17)
DRVINI II0004 IO0002
Program
Logic
BI0002
Block Indicator
BI0003
(1 or 2)
IO0003
BI0001

STATE_2

DRIV01
DRIV02 Switch
to Condition
DRIV16 Override
ATSTEP

PAKOUT

MA

DRVINI

Figure 106-5. Cascade Configuration for STATE Block

106.6 Application Example


Figure 106-6 shows an example of a STATE block used in conjunction with a PATT block to
control a simple process with sequence logic. An MCOUT block in conjunction with CIN blocks
provides contact status inputs to the STATE and PATT blocks. The state patterns in the STATE
block in conjunction with COUT blocks drive the output contacts for controlling the process
on/off devices, that is, inlet valve, drain valve, and heater.
In this example, the STATE block drives one of nine preconfigured state patterns (STAT01 to
STAT09) into its packed boolean output (PAKOUT) parameter one step at a time (STMODE =
1). The PATT block receives a 16-bit packed boolean input (PAKCRB) from the MCOUT block
and compares this input to one of several preconfigured patterns, as selected by the STATE block.
The PATT block then feeds back a pattern match status to the STATE block for the purpose of
stepping through the STATE block steps. The PATT block thus confirms the desired process sta-
tus before the STATE block proceeds to the next step.

1954
106. STATE – State Block B0193AX – Rev N

There are many configurations for using a STATE block to control a process. Instead of using
COUT blocks for the output contacts, you can use a MCOUT block. Instead of using CIN
blocks and a MCOUT block to input process status, you can use a MCIN block whose
PAKCIN parameter connects to the STATE and PATT blocks.

STATE
START DRIV01
MCOUT.PAKCRB.B1 DRIV02 COUT
MCOUT.PAKCRB.B3 DRIV03 STATE.PAKOUT.B1 COUT_A
MCOUT.PAKCRB.B4 DRIV04
MCOUT.PAKCRB.B2 DRIV05 COUT
TRUE DRIV06
DRIV07 STATE.PAKOUT.B2 COUT_B
MCOUT.PAKCRB.B5 DRIV08
TRUE DRIV09 COUT
DRVINI STATE.PAKOUT.B3 COUT_C
DRVHLD
PAKOUT
ATSTEP
MATCHF
TIMOUT

PATT
PTRN01
to
PTRN09
PTRN_I
PTRN_H
PATSEL Flow
MATCHB Switch
PAKINP Feedstock

CIN
CIN_A Solenoid
Valve

MCOUT CIN
CIN_B Tank Full
PAKCRB Switch
CIN_1
CIN_2 CIN Tank Half- Heater
CIN_3 CIN_C Full Switch Switch
CIN_4 Heater
CIN_5 AC Power
CIN
CIN_D

Heater
CIN Current
CIN_E Switch Output
Product

Flow Switch Solenoid Valve


Figure 106-6. Application Diagram

1955
B0193AX – Rev N 106. STATE – State Block

106.6.1 Parameter Configuration


For the example in Figure 106-6, you configure the following STATE block as shown below:
STMODE = 1 (Step mode)
MAXSTP = 9
FBKOPT = 1
TIMOPT = 1
Table 106-3 shows only the first three bits of the state patterns because there are only three devices
to be driven. Table 106-4 shows only the first five bits of the feedback pattern (FP) because there
are five feedback switches to be monitored. FPxx in Table 106-4 are not actual PATT block
parameters, but they represent the result of applying the MASKxx to PTRNxx thus producing the
true (1), false (0), and do not care (shaded X) for the feedback. Table 106-5 shows the pattern and
mask for each feedback pattern.

Table 106-3. STATE Block Parameter Configuration

DTXT01 — — — — — — — — Fill valve


| DTXT02 — — — — — — Drain valve
| | DTXT03 — — — — Heater
| | |
PAKOUT B1 B2 B3 Hex*
STAT_I 0 0 0 0x0000 STXT_I Start
STAT01 1 0 0 0x8000 STXT01 Open inlet valve
STAT02 1 0 0 0x8000 STXT02 Wait for half full
STAT03 1 0 1 0xA000 STXT03 Turn heater on
STAT04 1 0 1 0xA000 STXT04 Wait for tank full
STAT05 0 0 1 0x2000 STXT05 Close inlet valve
STAT06 0 0 1 0x2000 STXT06 Time heat
STAT07 0 1 0 0x4000 STST07 Heater off, drain on
STAT08 0 1 0 0x4000 STXT08 Drain
STAT09 0 0 0 0x0000 STXT09 End
STAT_H 0 0 0 0x0000 STXT_H Hold

* Hexadecimal value that you enter for STATxx.

1956
106. STATE – State Block B0193AX – Rev N

Table 106-4. PATT Block Feedback Patterns

CIN_1 — — — — — — — — — Inlet flow


| CIN_2 — — — — — — — Tank full
| | CIN_3 — — — — — Tank half full
| | | CIN_4 — — — Heater on/off
| | | | CIN_5 — Outlet flow
| | | | |
PAKCRB* B1 B2 B3 B4 B5
FP_I 0 0 0 0 0
FP01 1 0 0 0 0
FP02 1 0 1 0 0
FP03 1 0 1 1 0
FP04 X 1 X X X
FP05 0 1 X 1 X
FP06 X X X X X
FP07 0 X X 0 1
FP08 0 0 0 0 0
FP09 0 0 0 0 0
FP_H 0 X X 0 0
* B1 to B5 are boolean connection bits.
** Shaded areas are do not care bits.

1957
B0193AX – Rev N 106. STATE – State Block

Table 106-5. PATT Block Pattern and Mask Configuration

PAKCRB* B1 B2 B3 B4 B5 Hexadecimal
PTRN_I 0 0 0 0 0 0x0000
MASK_I 1 1 1 1 1 0xF800
FP_I 0 0 0 0 0
PTRN01 1 0 0 0 0 0x8000
MASK01 1 1 1 1 1 0xF800
FP01 1 0 0 0 0
PTRN02 1 0 1 0 0 0xA000
MASK02 1 1 1 1 1 0xF800
FP02 1 0 1 0 0
PTRN03 1 0 1 1 0 0xB000
MASK03 1 1 1 1 1 0xF800
FP03 1 0 1 1 0
PTRN04 1 1 1 1 1 0xF800
MASK04 0 1 0 0 0 0x4000
FP04 X 1 X X X
PTRN05 0 1 1 1 1 0x7800
MASK05 1 1 0 1 0 0xD000
FP05 0 1 X 1 X
PTRN06 0 1 1 1 1 0x7800
MASK06 0 0 0 0 0 0x0000
FP06 0 1 X 1 X
PTRN07 0 1 1 0 1 0x6800
MASK07 1 0 0 1 1 0x9800
FP07 0 X X 0 1
PTRN08 0 0 0 0 0 0x0000
MASK08 1 1 1 1 1 0xF800
FP08 0 0 0 0 0
PTRN09 0 0 0 0 0 0x0000
MASK09 1 1 1 1 1 0xF800
FP09 0 0 0 0 0
PTRN_H 0 0 0 0 0 0x0000
MASK_H 1 0 0 1 1 0x9800
FP_H 0 X X 0 0
* B1 to B5 are boolean connection bits.
** Shaded areas are do not care bits.

1958
106. STATE – State Block B0193AX – Rev N

106.6.2 Operation

106.6.2.1 Step 0 – Initialize


In this example the block is assumed to be on and in Auto. You initialize the block to the Initial
step, either by turning the compound on or by toggling DRVINI to true and then false. The
block then sets ATSTEP to 0 and PAKOUT to STAT_I; MATCHB sets MATCHF to 0. This
closes the inlet and outlet valves and turns the heater off.
The PATT block checks for the inlet flow, outlet flow, heater current, tank half full and tank full
switches to be all false, at which time MATCHB sets MATCHF true. The STATE block then
checks for DRIV01 to go true.

106.6.2.2 Step 1 – Start Fill


When the operator sets START true, DRIV01 goes true. The block then sets ATSTEP to 1, starts
the CNTUP timer, starts the CNTDWN timer from TIME01, and sets PAKOUT to STAT01;
MATCHB sets MATCHF to 0. This opens the inlet valve and starts filling the tank with liquid
feedstock.
The PATT block then checks for the inlet flow switch (B1) to go true, at which time MATCHB
sets MATCHF true. The STATE block then checks for DRIV02 to go true.

106.6.2.3 Step 2 – Wait for Half Full


When the inlet flow switch (B1) goes true, DRIV02 goes true. The block then sets ATSTEP to 2,
starts the CNTUP timer, starts the CNTDWN timer from TIME02, and sets PAKOUT to
STAT02; MATCHB sets MATCHF to 0. This continues to fill the tank.
The PATT block then checks for the half full switch (B3) to go true, at which time MATCHB
sets MATCHF true. The STATE block then checks for DRIV03 to go true.

106.6.2.4 Step 3 – Turn Heater On


When the half full switch (B3) goes true, DRIV03 goes true. The block then sets ATSTEP to 3,
starts the CNTUP timer, starts the CNTDWN timer from TIME03, and sets PAKOUT to
STAT03; MATCHB sets MATCHF to 0. This continues to fill the tank and starts the heater.
The PATT block then checks for the heater current switch (B4) to go true, at which time
MATCHB sets MATCHF true. The STATE block then checks for DRIV04 to go true.

106.6.2.5 Step 4 – Wait for Full


When the heater current switch (B4) goes true, DRIV04 goes true. The block the sets ATSTEP to
4, starts the CNTUP timer, starts the CNTDWN timer from TIME04, and sets PAKOUT to
STAT04; MATCHB sets MATCHF to 0. This continues to fill the tank and heat the liquid.
The PATT block then checks for the tank full switch (B2) to go true, at which time MATCHB
sets MATCHF true. The block then checks for DRIV05 to go true.

106.6.2.6 Step 5 – Tank Is Full


When the tank full switch (B2) goes true, DRIV05 goes true. The block then sets ATSTEP to 5,
starts the CNTUP timer, starts the CNTDWN timer from TIME05, and sets PAKOUT to
STAT05; MATCHB sets MATCHF to 0. This closes the inlet valve and continues heating the liq-
uid. The PATT block then checks for the inlet flow switch (B1) to go false, at which time

1959
B0193AX – Rev N 106. STATE – State Block

MATCHB sets MATCHF true. The block then checks for DRIV06 to go true.
If the inlet valve is locked open, there will be no confirmation of inlet flow stopping, and the
block times out in TIME05 minutes. When the CNTDWN timer reaches TIME05, the block
sets TIMOUT true. If TIME05 is properly set, the operator can detect this failure and dispatch
someone to manually close the valve before the tank overflows.
A sequence block can be used to detect the time-out (TIMOUT = 1) when the step is in stop fill
(ATSTEP = 5) and activate an over fill alarm.
At this time, the operator can place the block in the Hold, Manual, or State mode. If the operator
places the block in Hold by setting DRVHLD true, then the block sets SAVSTP to ATSTEP,
ATSTEP to 17, and PAKOUT to STAT_H; MATCHB sets MATCHF to 0.
This turns the heater off and closes both valves. The PATT block then checks that the heater cur-
rent (B4), inlet flow (B1), and drain flow (B5) switches are false. The tank level switches (B1 and
B3) are don’t cares. When this state is attained, MATCHB sets MATCHF true, but the block does
not attempt to change states until DRVHLD is cleared.
When DRVHLD is reset to 0, the block returns to STAT05 because SAVSTP is 5. The block then
does all the steps described in the first part of this section.

106.6.2.7 Step 6 – Time Heat


Because DRIV06 is always true, the block sets ATSTEP to 6, starts the CNTUP timer, starts the
CNTDWN timer from TIME06, and sets PAKOUT to STAT06; MATCHB sets MATCHF to
0. This continues to heat the liquid.
Because PTRN06 is all don’t cares, the PATT block instantaneously confirms a pattern match.
The STATE block now checks for DRIV07 to go true.
When TIMOUT goes true, DRIV07 goes true. TIMOUT goes true when the time-out period
for Step 6 expires. If TIME06 is set to 60 minutes, then the block advances to Step 7 after 1 hour,
thereby heating the liquid for 1 hour.

106.6.2.8 Interrupt Heat Time


After a half hour in Step 6, the operator may decide to move the process ahead. This can be done
by setting STMODE to 0 (State mode), and then, setting DRVDSR to 7, at which time the block
sets PAKOUT to STAT07. If STMODE is now set to 1, the block continues the stepping process
at Step 7.

106.6.2.9 Step 7 – Turn Heat Off and Drain Tank


When TIMOUT goes true, DRIV07 goes true. The block sets ATSTEP to 7, starts the CNTUP
timer, starts the CNTDWN timer from TIME07, and sets PAKOUT to STAT07; MATCHB sets
MATCHF to 0. This turns the heater off and opens the drain valve.
The PATT block then checks for the outlet flow switch (B5) to go true and the heater current
switch (B4) to go false, at which time MATCHB sets MATCHF true. The block then checks for
DRIV08 to go true.

106.6.2.10 Step 8 – Drain Tank


When the outlet flow (B5) goes true, DRIV08 goes true. The block sets ATSTEP to 8, starts the
CNTUP timer, starts the CNTDWN timer from TIME08, and sets PAKOUT to STAT08;
MATCHB sets MATCHF to 0. This continues draining the tank.

1960
106. STATE – State Block B0193AX – Rev N

The PATT block then checks for the outlet flow switch (B5) to go false, at which time MATCHB
sets MATCHF true. The block then checks for DRIV09 to go true.

106.6.2.11 Step 9 – End


Because it is connected to a true state, DRIV09 goes true immediately. The block then sets
ATSTEP to 9, starts the CNTUP timer, starts the CNTDWN timer from TIME09, and sets
PAKOUT to STAT09; MATCHB sets MATCHF to 0. This closes the inlet and drain valves, and
turns the heater off.

106.6.2.12 Restart or Manual Override


To restart the process, re-initialize the block by toggling DRVINI to true, and then, toggling it to
false.
If the block is not in Disable, you can switch the block from Auto to Manual. While in manual,
you can control the process by directly setting PAKOUT. You can open and close the inlet and
drain valves, and turn the heater on and off.

1961
B0193AX – Rev N 106. STATE – State Block

1962
107. STALM – State Alarm Block
This chapter gives a general overview of STALM (State Alarm Block), its features, parameters
and detailed operations.

107.1 Overview
The State Alarm block (STALM) serves as alarm annunciator to activate the I/A Series alarm
mechanism upon alarm conditions detected by an external source such as HTG. It supports Win-
dow-style ECBs. Other blocks that do not have alarm generation functions (for example,
Sequence Control type blocks) can also use the STALM block for alarming.
The State Alarm block (Figure 107-1) uses boolean input parameters as alarm indicators to trigger
the alarm. The block detects state changes for absolute, deviation, rate, bad, out-of range, and
state alarms (defined by PRTYPE). The corresponding bit of ALMSTA is set if the block detects
the alarm condition of a particular type.
The block has a BAD I/O alarm option to generate the alarm if the primary input to the block
(IN) has the BAD status bit set. The block sets the BAD I/O indicator in ALMSTA and the BAD
boolean output indicator.

State Alarming
Input
State Alarm Group AND
State Alarm Priority
Output Message consisting of:
MA Alarm Messages
Manual Highest Priority Type
BAD I/O Alarming Highest Priority Value
Unacknowledge
Bad Alarm Option
Bad Alarm Group AND Auto
Bad Alarm Priority
Bad I/O
Alarm
Indicator Alarm Status

Figure 107-1. STALM Block I/O Diagram

107.2 Features
The features are:
♦ Alarm message generation
♦ Alarm acknowledge support
♦ Bad input status detection and handling
♦ Alarm detection and/or alarm message inhibit (for all alarm types or individually)
♦ AUTO/MANUAL block operations.

1963
B0193AX – Rev N 107. STALM – State Alarm Block

The options are:


♦ The BAD alarm option (BAO) generates a BAD alarm when a primary input status
shows “BAD I\O”.
♦ The inhibit option (INHOPT) specifies actions to be taken when alarms are inhibited
in the block. With this parameter, alarm messages and alarm detection can be individ-
ually disabled for inhibited alarms, and “return-to-normal” messages can be
automatically acknowledged, as desired.

107.3 Parameters
Table 107-1. STALM 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 93 STALM
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/no-set blank 1 to 32 chars
IN generic input boolean con/set 0 0 to 1
SAP state alarm priority integer con/set 5 [1..5]
SAG state alarm group short no-con/set 1 [1..8]
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
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..5]
BAG bad alarm group short no-con/set 1 [1..8]
PNM point name string con/set blank 1 to 32 chars
SATXT alarm text string con/set blank 1 to 32 chars
RTNTXT return to normal text string con/set blank 1 to 32 chars
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 criticality integer con/no-set 0 [0..5]
INHSTA inhibit status pack_l con/no-set 0 0 to FFFFFFFF
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 FFFFFFFF
DEFINE no config errors boolean no-con/no-set 1 0 to 1

1964
107. STALM – State Alarm Block B0193AX – Rev N

Table 107-1. STALM Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


ERCODE config error string no-con/no-set 0 1 to 43 chars
INHALM inhibit alarm pack_b con/set 0 0 to FFFFFFFF
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

107.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 STALM block, only the following unshaded 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
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

Bit Number* Configured Alarm Option Boolean Connection


(0 to 31) When True (B32 to B1)
0 Alarm Group 8 in Use ALMOPT.B32
1 Alarm Group 7 in Use ALMOPT.B31
7 Alarm Group 1 in Use ALMOPT.B25
22 Bad I/O Alarm Configured ALMOPT.B10

* Bit 0 is the least significant bit (starting from the right).


There are no mnemonic names for the individual bits of ALMOPT.

ALMSTA Alarm Status is a 32-bit output, bit-mapped to indicate the block’s alarm
states. For the STALM 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
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
UNAK B2
B3
B4
B5
B6
B7
B8
B9

CRIT PRTYPE
BAD
INH

1965
B0193AX – Rev N 107. STALM – State Alarm Block

Bit Boolean
Number Connection
(0 to 31)* Name Description When True (B32 to B1)
0 to 4 PTYP_MSK Priority Type: See parameter ALMSTA.B32–
PRTYPE for values used in the ALMSTA.B28
STALM block
5 to 7 CRIT_MSK Criticality; 5 = lowest priority, ALMSTA.B27–
1= highest ALMSTA.B25
22 BAD Input/Output Bad ALMSTA.B10
(BAD output of block)
29 INH Alarm inhibit ALMSTA.B3
30 UNAK Unacknowledged ALMSTA.B2

* Bit 0 is the least significant bit (starting from the right).

BAD Bad I/O Indicator is a boolean output parameter which is set true when
the input to the block is unacceptable in any way. The BAD bit of BLK-
STA (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 which, when configured true,
enables BAD I/O 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 the block’s opera-
tional states. For the STALM 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
B10
B11
WLCK B12
B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

BAD
MA
ON

1966
107. STALM – State Alarm Block B0193AX – Rev N

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
11 MA Manual(= false)/Auto(= true) BLKSTA.B21
12 BAD Bad I/O BLKSTA.B20
14 UDEF Undefined BLKSTA.B18
15 ON Compound On BLKSTA.B17
20 WLCK Workstation Lock BLKSTA.B12

* Bit 0 is the least significant bit (starting from the right).

CRIT Criticality is an integer output that indicates the priority, ranging from 1
to 5, of the block’s 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. 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


block’s 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 block’s
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 STALM 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 does not exist for given
PHASE COMBINATION” block PERIOD, or block PERIOD
not compatible with compound
PERIOD.
“W46 – INVALID INPUT The source parameter specified in
CONNECTION” 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.

1967
B0193AX – Rev N 107. STALM – State Alarm Block

Message Value
“W48 – INVALID BLOCK The configured value of a block
OPTION” option is illegal.
“W53 – INVALID PARAMETER A parameter value is not in the
VALUE” acceptable range.
“W58 – INSTALL ERROR; A Database Installer error has
DELETE/UNDELETE BLOCK” occurred.

IN Input is a boolean input.

INHALM Inhibit Alarm contains packed boolean values that represent alarm inhibit
requests for each alarm type or point configured in the block. For the
STALM block, only the following bits are used:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

B10

B11

B12

B13

B14

B15

B16
B1

B2

B3

B4

B5

B6

B7

B8

B9
Bit Number* Boolean Connection
(0 to 15) Description When True (B16 to B1)
13 Inhibit Alarm INHALM.B3
14 Unacknowledged INHALM.B2

* Bit 0 is the least significant bit (starting from the right).


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

1968
107. STALM – State Alarm Block B0193AX – Rev N

INHSTA Inhibit Status contains packed long values that represent the actual inhibit
status of each alarm type configured in the block. For the STALM 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

B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
UNACK B3
B4
B5
B6
B7
B8
B9
BAD
INH

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
22 BAD Bad I/O Alarm Inhibited INHSTA.B10
29 INH Inhibit Alarm INHSTA.B3
30 UNACK Unacknowledged INHSTA.B2

* Bit 0 is the least significant bit (starting from the right).

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 Integrated Con-
trol Configurator. (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

1969
B0193AX – Rev N 107. STALM – State Alarm Block

parameter of the block. Thereafter, set requests to any of the block’s


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 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 user-defined 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 block’s execution time base
and allowable PHASE values. For stations other than Integrator and Gate-
ways, 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*****

* If the BPC is 0.2 sec., this period is treated internally as 0.6 sec., but the
PERIOD parameter remains 1.

1970
107. STALM – State Alarm Block B0193AX – Rev N

** 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, and CP60.

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. See Integrated Control Software Concepts
(B0193AW) document.

PNM Point Name is a user-defined string, input acting as a point descriptor


label for the BAD I/O alarm.

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
5 = High Deviation
6 = Low Deviation
7 = Rate alarm
8 = BAD Alarm
9 = State Alarm.
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-
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.

RTNTXT Return-To-Normal Text is the text sent to the alarm device when the
alarm condition returns to normal (out-of-alarm).

SAG State Alarm Group is a short integer input that directs State alarm mes-
sages to one of eight groups of alarm devices.

1971
B0193AX – Rev N 107. STALM – State Alarm Block

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

SATXT State Alarm Text is the text sent to the alarm device when the alarm is
detected.

TYPE When you enter “STALM” or select “STALM” 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.

107.4 Detailed Operation


After initialization and subsequent block scan periods, the STALM block reads the alarm indica-
tor input parameters and the status of the parameters, and performs state alarming and
“BAD I/O” alarming, depending on INHALM, INHIB, INHOPT and BAO. PRTYPE and
CRIT reflect the type and priority of the highest priority active alarm in the block.
To detect input transitions, the block uses the internal alarm history for comparison. Initially,
those values are set to the “no alarm” state (zero (0) value).

107.4.1 Detailed Diagram


Figure 107-2 is a simplified block diagram that depicts the functional signal flow of the STALM
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.

INHALM
INHIB
INHOPT
IN State Alarming
RTNTXT
SAG AND
SAP
SATXT Output Message consisting of:
MA Alarm Message Type (BAT,
SATXT, or RTNTXT)
Manual Highest Priority Type (PRTYPE)
BAD I/O Alarming
Highest Priority Value (CRIT)
BAO CRIT Unacknowledge (UNACK)
BAG PRTYPE
BAP AND UNACK Auto
BAT
PNM BAD ALMSTA

Figure 107-2. STALM, Detailed Block Diagram

107.4.2 Block Initialization


The block executes a restart logic when the surrounding compound is switched from OFF to ON
or when the block is installed or modified within a compound that is already ON. The block
clears its alarm information. UNACK is reset by the high level logic (Compound Processor).

1972
107. STALM – State Alarm Block B0193AX – Rev N

The station reboot operation forces initialization logic to run. All inputs not connected are reset.
Initialization logic places the STALM block in one of three states: Initialization, Manual and
Auto.

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

107.4.2.2 Manual
Key Parameters: MA
When the block is switched to manual, no alarm detection logic is processed and the BAD alarm
indicator output is released. While the block is in manual, you can change the indicator.

107.4.2.3 Auto
Key Parameters: MA
In auto mode, the block operates as described below. On transition from manual to auto, the
block resets the indicator and relevant ALMSTA bits to zero and resumes its regular operation
with the outputs secured.

107.4.3 State Alarm Generation


Key Parameters: ALMSTA, CINHIB, IN, INHALM, INHIB, INHOPT, SAG, SAP
If a state alarm is not inhibited and if an input parameter that presents an alarm indicator has
made a transition from 0 to 1, the block detects an alarm condition and generates a state alarm.
Depending on INHIB, CINHIB, INHALM, and INHOPT, state alarm detection and
message generation can be inhibited for:
♦ All types of alarms
♦ Alarms with a priority not higher than CINHIB
♦ Alarm types specified in INHALM (see below).
SAP sets the priority of the alarm. SAG directs the alarm to the appropriate group of alarm
devices.

107.4.3.1 Alarm Inhibit


Key Parameters: CINHIB, INHALM, INHIB
INHALM is a parameter that is used in conjunction with the CINHIB compound parameter and
the INHIB block parameter to determine if alarm points are inhibited in the block. Points are
inhibited if the value of INHALM bit is set to 0x0200.

107.4.4 Bad I/O Alarm Generation


Key Parameters: ALMSTA, BAD, BAO, IN
If BAO (bad alarm option) is configured to 1 and if the status of the primary inputs (IN) has the
BAD bit set, the block generates a “BAD I/O” alarm. The block sets the BAD output parameter
and the BAD I/O alarm bit in the ALMSTA parameter to signal the BAD I/O alarm condition.

1973
B0193AX – Rev N 107. STALM – State Alarm Block

107.4.5 Alarm Response and Return to Normal Transition


Key Parameters: ALMSTA, CRIT, PRTYPE, RTNTXT, UNACK
When alarm conditions are detected, PRTYPE and CRIT are set to the highest priority alarm in
the block; PRTYPE reflects the alarm type of the highest priority active alarm, and CRIT is set to
this alarm’s priority level. The corresponding bits in ALMSTA are set to 1. The UNACK parame-
ter is set to 1.
The UNACK parameter is protected by higher level logic being set to 1 from outside the block.
If the block detects a transition out of alarm, a “return-to-normal” message is sent subject to all
alarm inhibit rules described above. STALM uses RTNTXT to build the message. PRTYPE,
CRIT, and the appropriate ALMSTA bits are reset.
UNACK remains unchanged until the acknowledge, after which it reverts to 0.

107.4.6 Block Shutdown


When the compound is turned off, the block clears its alarm information.

107.4.7 Example
Refer to the MEALM block description for an application example involving the use of the
MEALM, STALM, and MSG blocks.

1974
108. Station Block
This chapter describes the Station Block, provides an I/O diagram and describes block features,
rules and functions.

108.1 Station Block Overview


A Station Block provides information about the station’s resources. The station block is identical
for all stations. A station block is used for each of the following types of stations:
♦ Application Workstations (AWs)
♦ Workstation Processors (WPs)
♦ Application Processors (APs)
♦ Control Processors (CPs)
♦ Integrators and Gateways
♦ Control Stations.
You can use the Station Block Detail Display to determine:
♦ Percent (%) of the station’s processor time being used to process:
♦ All blocks.
♦ Continuous blocks.
♦ Input/Output (I/O), which includes the time spent waiting for response from
Fieldbus modules (FBMs) or devices connected to the station.
♦ Loading summary (% of BPC).
♦ Free memory available in the station.
♦ Cumulative block processor overruns.
♦ Peer-to-peer point connection status.
♦ Object Manager (OM) scanner data, including overruns and total inter-station Inter-
Process Communications (IPC) connections.
♦ Supervisory Groups enable/disable and other Supervisory Setpoint Control (SSC)
data.

1975
B0193AX – Rev N 108. Station Block

108.2 Station Block I/O Diagram


Refer to Figure 108-1.

Name Block Processor Load


Type Block Mean Load
Descriptor Control Processor Load
Checkpoint Option Control Processor Mean Load
Auto Checkpoint Cumulative Overrun
Inhibit Printer Station Block Idle Time
Reset Overrun I/O Mean Load
SSC Timers Enable Load Update Period
SSC Fallback Request Load Update Phase
SSC Reset Timer Values Load Switch
Checkpoint Time Load Synchronize
OM Load Average
Number of OM Overruns
Sequence Block Load
Peer-To-Peer Status
IPC Connects
Total Memory
Date and Time
SSC Timers

Figure 108-1. Station Block Inputs/Outputs

108.3 Station Block Features


The standard features are:
♦ Percent (%) of the station’s processor time being used to process:
♦ All blocks.
♦ Continuous blocks.
♦ Input/Output (I/O) which includes the time spent waiting for response from
Fieldbus modules (FBMs) or devices connected to the station.
♦ Station loading summary (% of BPC).
♦ Free memory available in the station.
♦ Cumulative block processor overruns.
♦ Peer-to-peer point connection status.
♦ Object Manager (OM) scanner data, including overruns and total inter-station Inter-
Process Communications (IPC) connections.
♦Supervisory Groups enable/disable and other Supervisory Setpoint Control (SSC)
data.
The options are:
♦ Checkpoint option (CKPOPT) enables/disables automatic checkpoint.
♦ Configuration option (CFGOPT) enables/disables changes to the station’s database.

1976
108. Station Block B0193AX – Rev N

♦ Inhibit printer option (INHPRT) inhibits printing of station’s system messages.


♦ Alarm device group name option.
♦ Enable/Disable of data collection for the station block.

108.4 Station Block Rules


A Station compound containing one Station block is installed in a station automatically when a
station’s database is downloaded, even in an “empty” database. This block provides global data
storage for station system functions.
Each Station compound and block has a unique name in any I/A Series network, determined by
embedding the station letterbug in the compound name as follows:
♦ Compound name is: letterbug_STA
♦ Block name is: STATION
♦ Full pathname is: letterbug_STA:STATION.
The Station compound and block have the following restrictions:
♦ The compound cannot be deleted or turned off.
♦ The block cannot be deleted.
♦ User-created blocks cannot be added to the compound.
♦ The compound is not run periodically by the Control Processor Task (CPT).

108.5 Station Block Functions


Station block detail displays consist of a basic Station Load Overview display and selectable over-
lays. The Station block detail displays for a station consist of a:
♦ Station Load Overview.
♦ Station Load Overview with Control Loading Overlay.
♦ Station Load Overview with Object Manager (OM) Scanner Loading Overlay.
♦ Station Load Overview with Group Assignments Overlay.
♦ Station Load Overview with Supervisory Groups Overlay (for Supervisory Setpoint
Control)

108.5.1 Station Load Overview


The Station block, when enabled by you, performs several dynamic processor loading calcula-
tions. The first is the I/O scan load. The second calculation is for the loading for continuous
block processing. The third calculation is for sequence processing. Processor load is the total con-
trol block load, that is, the load value for continuous blocks, sequence blocks, and I/O. When the
station initializes, the load calculation switch is automatically set to false and remains in that state
under normal operation. You enable (or disable) the loading calculations at the Station block dis-
play by toggling the ACTIVE pick.
You may synchronize the calculations to start at a specified phase number, LODPHS, or to start at
the current phase. You request synchronization, at the block display, by setting the LODSYN
input to true.

1977
B0193AX – Rev N 108. Station Block

The Station Load Overview display (see Figure 108-2) includes these parts:
♦ Title box
♦ Loading box
♦ Sink peer to peer status box
♦ Station free memory box
♦ Checkpoint fields
♦ Soft keys (at bottom of display).

Sink Peer
to Peer
Status Box

Title Box

Loading Memory
Box Box

Checkpoint
Fields

Soft Keys

Figure 108-2. Station Load Overview for Station Block Detail Display

108.5.1.1 Title Box


The Station Load Overview title box contains these items:
DATA COLLECTION Toggles the status between ACTIVE and INACTIVE. Selecting the
status box box enables or disables station performance data collection and
station loading updates.
STATION BPC Displays the Configured Basic Processing Cycle (BPC) for the
station, that is, the period for which the Compound Processor
executes blocks. The BPC is set during system configuration.
SOFT VERS Displays the software version number for the I/A Series software.

1978
108. Station Block B0193AX – Rev N

108.5.1.2 Loading Summary (% Of BPC) Box


The Station Load Overview Loading Summary box contains these fields:
FIELD BUS SCAN or Percent (%) of BPC time used for collecting data from Fieldbus
I/O LOAD modules (FBMs), Fieldbus Processors (FBPs), Fieldbus interface
units for intelligent field devices, Integrators, Gateways, Control
stations, and device interface units. This is mostly time spent by
the Fieldbus coprocessor communicating with FBMs or devices.
For Gateways, Integrators and Control Stations the field is
labeled I/O LOAD.
CONT BLKS Percent (%) of BPC time used for executing all Continuous blocks.
SEQ BLKS Percent (%) of BPC time used for executing all Sequence blocks.
TOTAL CONTROL Percent (%) of BPC time used for collecting data from FBMs or
CYCLE devices and executing Continuous and Sequence blocks, that is:
FIELD BUS SCAN + CONT BLKS + SEQ BLKS = TOTAL
CONTROL CYCLE
OM SCAN Percent (%) of BPC time used for scanning Object Manager data.
This value is the average load of the past 12 OM Scanner scans.
STATION IDLE Percent (%) of BPC time that the station is executing an idle loop.
TIME

NOTE
(For Solaris):
1. The OM SCAN and STATION IDLE TIME fields are not displayed for the
CP10 and Gateways because of memory constraints.
2. The loading summary values may not be exact because the algorithms use averag-
ing methods.

108.5.1.3 Sink Peer To Peer Status Box


NOTE
(Windows NT): This selection does not apply to stand-alone stations but is pre-
sented here because some systems show this data as a result of Interprocess
Communications.

The Station Load Overview Sink Peer to Peer Status box presents data about points being col-
lected into this station by the Object Manager to satisfy the station database’s remote inter-block
linkages. This box does not supply any data about peer-to-peer data that this station is sending to
other stations. This box contains the following fields:

TOTAL POINTS The total number of unique remote inter-block linkages that exist
within this station’s database. If 20 blocks each have a remote
reference to REM_COMPOUND:PID.OUT, there is only 1 remote
inter-block linkage that is counted in the TOTAL POINTS field.

1979
B0193AX – Rev N 108. Station Block

POINTS Represents the number of points that were connected at one time,
DISCONNECTED but are currently disconnected. It may indicate failure or reboot of the
source station or failure of an intermediate LAN Interface.
POINTS DELETED Represents the number of points that were connected, but have
had the remote source of data deleted from the remote station.
This is normally a transient state that lasts between the time that the
remote block was deleted and the “checkpoint” completing on that
remote station.
POINTS NOT Represents the number of points that have never been located
FOUND on the system. This occurs while multiple stations are being
loaded via the “LOADALL” process. Another common cause
for this counter being greater than 0 is a typographical error in
the Compound:Block.Parameter name or source block not yet built.

108.5.1.4 Free Memory (Bytes) Box


The Station Load Overview Free Memory box contains these fields:
LARGEST SEG Represents the largest contiguous segment of memory within the user
free pool for a Control Processor 30 (CP30) only. The largest objects
that ever exist within the user memory are 10 000 bytes (Sequence
blocks and OM lists). If LARGEST SEG is greater than 10 000 bytes,
you should have no free memory problems. If LARGEST SEG is less
than 10 000 bytes, reduce the load; installing (or editing) large
Sequence blocks can be a problem. You can reduce the load by deleting
control blocks, closing user graphics, or shutting down applications
(for example, the Historian).
TOTAL FREE Represents the sum of all free-memory segments of user memory. If this
value is less than 250 000 bytes (for a Solaris CP30, CP40, CP40B, and
CP60, or Integrator, or if it is less than 40 000 bytes for a CP10 or
Gateway) reduce the processor load.

NOTE
(For Solaris): The LARGEST SEG field is not displayed for the CP10 and Gate-
ways because of memory constraints.

108.5.1.5 Checkpoint Fields


The Station Load Overview include these checkpoint fields:
LAST CHECKPOINT Represents the time and date, in the format:
year-month-day;hours:minutes, that the last checkpoint
was initiated.

1980
108. Station Block B0193AX – Rev N

AUTO Specifies the period of automatic checkpoints in increments


CHECKPOINT of 30 minutes. Zero equals no periodic checkpoint, 1-127
represents up to 63.5 hours (127 x 30 minutes) between
checkpoints. The increment of time is specified by the
AUTCKP parameter in the station block via ICC. The
checkpoint option (CKPOPT) parameter must be true to
enable automatic checkpoint.

The following list of Control Stations and Gateways have the periodic checkpoint feature built
into them. All other Control Stations and Gateways ignore the AUTCKP parameter.
OS1C30 Control Processor 30
OS1C3B Control Processor 30, Style B
OS1C40 Control Processor 40
OS1C4B Control Processor 40, Style B
OS1C60 Control Processor 60
OS1AB3 Allen Bradley Integrator 30
OS1AB3B Allen Bradley Integrator 30, Style B
OS1IS3 Interspec Integrator 30
OS1IS3B Interspec Integrator 30, Style B
OS1MG3 Modicon Integrator 30
OS1MG3B Modicon Integrator 30, Style B
OS1MG4 Mod Bus Plus
OS1MG5 Mod Bus Plus Redundant
OS1FD3 Foreign Device Gateway 30
OS1ACM FoxGuard Manager

Before the control software initiates a checkpoint operation, it checks to make sure there is no
Integrated Control Configurator or ICCAPI driver session active for that station. if one is, the
periodic checkpoint is skipped until the next scheduled time.
If an attempt is made to open a session via Integrated Control Configurator or ICCAPI driver
while a periodic checkpoint operation is being performed, the control software will return the fol-
lowing message:
E33 - DATABASE OPERATION IN PROGRESS

108.5.1.6 Soft Keys


The Station Load Overview and overlays include these soft keys at the bottom of the display:
CONTROL LOADING Displays the Control Loading overlay on the lower
half of the screen.
OM SCANNER LOADING Displays the OM Scanner overlay on the lower half
of the screen.
GROUP ASSIGNMENTS Displays the Group Device Assignments overlay on
the lower half of the screen.

1981
B0193AX – Rev N 108. Station Block

SUPERVISORY GROUPS Displays the Supervisory Setpoint Control (SSC)


(Solaris) overlay on the lower half of the screen.
PREV DISPLAY Previous Display returns you to the previously
displayed screen.

NOTE
(For Solaris): The OM SCANNER LOADING key does not display on base dis-
plays for CP10s or Gateways.

108.5.2 Control Loading Overlay


The Control Loading overlay (see Figure 108-3) includes the following parts:
♦ Overruns box
♦ Phase Sync Control box
♦ Total Control Cycle (% of BPC) box
♦ Continuous Block Load (% of BPC) box

Figure 108-3. Station Load Overview with Control Loading Overlay

1982
108. Station Block B0193AX – Rev N

108.5.2.1 Overruns Box


The OVERRUNS box contains these items:
RESET This soft key sets the overruns counter to 0
COMPOUND PROC Represents the number of times the Compound Processor
task has overrun since the station was rebooted or the
counter was reset.
Windows NT—refer to sizing guidelines for details.

108.5.2.2 Phase Sync Control Box


Normally, the TOTAL CONTROL CYCLE and CONTINUOUS BLOCK LOAD boxes repre-
sent data collected over the past 10 Compound Processor scans. The PHASE SYNC CNTRL box
allows you to lock the data collection onto a fixed set of phases.
The PHASE SYNC CNTRL box contains these selectable fields:
LODSYN A status box that can be toggled to ACTIVE to lock data collection onto
the Phase defined by the LODPHS entry. To toggle the box, select it.
LODPER Field that specifies the frequency at which the Station block collects
loading data for ten consecutive BPC frames. The default value is
10*BPC. The valid range of LODPER is 5 seconds to 1 hour.
LODPHS Updating field that defines the Phase that is shown in the first (left-most)
bars of the TOTAL CONTROL CYCLE box and CONTINUOUS BLOCK
LOAD box.

When LODSYN is toggled to ACTIVE while data collection is active, data collection is performed
on a scheduled basis in accordance with the specified LODPER, starting at the phase number spec-
ified in LODPHS (see Figure 108-4).

1983
B0193AX – Rev N 108. Station Block

COMPOUND PROCESSING

BPC = 1.0 s Total Control Cycle = 0.5 s = 50% of BPC

LOADING DATA COLLECTION


LODPHS = 2

LODPER = 10 s

TOTAL CONTROL CYCLE (% OF BPC)

100 50 50 50 50 50 50 50 50 50 50

% 50

0 1 2 3 4 5 6 7 8 9
Phases

0 1 2 3 4 5 6 7 8 9 10 11 12
Time (s)
Figure 108-4. Control Loading Data Collection Phasing

LODSYN defines whether data collection is synchronized onto a particular Phase. Toggling
LODSYN to ACTIVE while DATA COLLECTION is ACTIVE locks data collection onto the Phase
defined by the LODPHS entry. When LODSYN is ACTIVE, the first column in both the TOTAL
CONTROL CYCLE box and the CONTINUOUS BLOCK LOAD box is the load from the Phase
defined by the LODPHS number.
When LODSYN is toggled to INACTIVE, data collection is performed on a continuous basis in
accordance with the default LODPER, starting at the current execution phase.
LODPER represents the period of data collection for the TOTAL CONTROL CYCLE and CONTINU-
OUS BLOCK LOAD boxes. If the station BPC is 0.5 seconds and the LODPER is 5.0 seconds, the
10 bars in the loading boxes represent all scans of the Compound Processor. If the LODPER is
10.0 seconds, the 10 bars in the loading boxes represent 10 of the 20 phases beginning with the
Phase defined in LODPHS.
LODPHS defines the Phase that is shown in the first (left-most) bars of the TOTAL CONTROL
CYCLE and CONTINUOUS BLOCK LOAD boxes.
The resolution for loading calculations is as follows:
Resolution = 10 / BPC
where: BPC is in milliseconds.

1984
108. Station Block B0193AX – Rev N

For example, if BPC = 0.5 s or 500 ms, then:


Resolution = 10 / 500 = 0.02 = 2%
To assert a specific Phase in these boxes
1. Enter a desired LODPER.
2. Enter a desired Phase into LODPHS field.
3. Toggle LODSYN to ACTIVE state.
4. Toggle LOADING DATA COLLECTION to INACTIVE and then to ACTIVE.
This locks the data collection onto the desired Phase. Example values for load sync
fields are listed in the following table.
Table 108-1. Load Sync Fields/ Loading Periods and Valid Phases

Loading Periods (LODPER) Valid Phases (LODPHS)


5.0 0-9
10.0 0 - 19
60.0 0 - 119

108.5.2.3 Total Control Cycle (% Of BPC) Box


The Total Control Cycle (% Of BPC) box shows 10 bars/values that represent 10 consecutive phase
executions of the Compound Processor (left bar is the oldest one). The values are elapsed time for
the total control cycle expressed as a percentage of the station BPC. This includes Fieldbus scan-
ning, Continuous block execution, and Sequence block execution. When LODSYN is INACTIVE,
the 10 bars represent the last 10 Compound Processor cycles.

108.5.2.4 Continuous Block Load (% Of BPC) Box


The Continuous Block Load (% Of BPC) box shows 10 bars/values that represent 10 consecutive
phase executions of the Compound Processor (left bar is the oldest one). The values are elapsed
time for just the Continuous block execution expressed as a percentage of the station BPC. When
LODSYN is INACTIVE, the 10 bars represent the last 10 Compound Processor cycles.

108.5.3 OM Scanner Loading Overlay


The OM SCANNER LOADING overlay (see Figure 108-5) includes these items:
♦ Total Inter-Station IPC Connections box
♦ Overruns box
♦ Object Manager Scanner Data (% Of BPC) Last 12 Scans box.

1985
B0193AX – Rev N 108. Station Block

Figure 108-5. Station Load Overview with OM Scanner Loading Overlay

NOTE
The OM Scanner Loading Overlay is available for the CP30, CP40, CP40B, CP60
and Integrators. Differences between the CP30/CP40/CP40B/CP60 Station Block
Detail Display and those for the CP10, Integrators, and above listed Gateways are
noted in the following sections.

108.5.3.1 Total Inter-Station IPC Connections Box


The Total Inter-Station IPC Connections box defines the total Inter-Process Communications
(IPC) connections among applications running in the workstation.
The OM Server receives peer-to-peer data. The OM Scanner transmits data to other stations,
AWs, WPs, and APs or other applications.
The Database Installer interfaces to the Integrated Control Configurator.

108.5.3.2 Overruns Box


The RESET soft key sets the overruns counter to 0.

1986
108. Station Block B0193AX – Rev N

The OM SCANNER field represents the number of times the OM Scanner task has overrun since
the station was rebooted or the counter was reset. OM Scanner overruns can occur when:
♦ Communications to a station are disconnected. This typically manifests itself by OM
Scanner overruns occurring at one minute intervals.
♦ A large number of simultaneous display requests from multiple WPs.
♦ Overload of the OM Scanner task by attempting to connect to many other stations at
the current station BPC. This can be corrected by reducing the number of stations
receiving data from this station or by reducing the number of concurrent applications.
♦ Block processing overload does not leave enough time for the OM Scanner to com-
plete processing.
♦ Overload of the OM Scanner by Sequence Logic that contains too many full path-
name references.

108.5.3.3 Object Manager Scanner Data (% Of BPC) Last 12 Scans Box


The Object Manager Scanner Data (% Of BPC) Last 12 Scans box shows 12 bars/values that rep-
resent the last 12 scans of the Object Manager Scanner (the left bar is the oldest one). The values
are elapsed time for OM scanning as a percentage of the station BPC. The values can change sig-
nificantly between scans if Compound Processor scans interrupt the Object Manager scans on
some cycles but not other cycles.

108.5.4 Group Assignments Overlay


The Group Assignments overlay (see Figure 108-6) shows the system output devices (for example,
printers) assigned to alarm message groups via the Integrated Control Configurator.
You specify the device names and a hexadecimal value that assigns the devices to the group by
editing the STATION block in the letterbug_STA compound via the Control Configurator. This
overlay shows generic device names, DEV 1 to DEV 16 (LP001 is typical for a printer), and the
group hexadecimal value. You can assign up to 16 devices to up to five groups (GR4 to GR8).
Messages assigned to a specific group are sent to all the devices whose bit is set true (1) for that
group.

1987
B0193AX – Rev N 108. Station Block

Figure 108-6. Station Load Overview with Group Device Assignments Overlay

108.5.5 Supervisory Groups Overlay


The Supervisory Groups overlay shows whether Supervisory Setpoint Control (SSC) is enabled or
disabled for each of eight supervisory groups. In addition, this overlay shows fallback status and
fallback request status for each group, and the (enabled/disabled) running time and setpoint for
each fallback timer.
You can from the Supervisory Groups Overlay:
♦ enable or disable SSC for any group.
♦ request fallback status for a group.
♦ enable or disable a fallback timer.
SSC is supported in all I/A Series Control processors (CPs) and in most Application Processors
(AP), Workstation Processors (WP) and Application Workstations (AW). The AP10 does not sup-
port SSC, and the WP20 supports all features except the timer enable/disable actions and the
supervisory control enable/disable actions at the group level.
The Station Load Overview Supervisory Groups overlay is shown in Figure 108-7.

1988
108. Station Block B0193AX – Rev N

Supervisory
Groups
Overlay

Figure 108-7. Station Load Overview Supervisory Groups Overlay

Groups 1-8 are arranged from top to bottom on the overlay. Table 108-2 defines the contents of
the overlay.

SUPERVISORY
GROUPS TIMERS
CONTROL FALLBACK
Enable Disable Enable Status Value Reset Request Status
Disable Value
1 E/blank D/blank 1 E/D X/blank xxxxx yyyyy 1 Y/N F/blank
2 E/blank D/blank 2 E/D X/blank xxxxx yyyyy 2 Y/N F/blank
3 E/blank D/blank 3 E/D X/blank xxxxx yyyyy 3 Y/N F/blank
4 E/blank D/blank 4 E/D X/blank xxxxx yyyyy 4 Y/N F/blank
5 E/blank D/blank 5 E/D X/blank xxxxx yyyyy 5 Y/N F/blank
6 E/blank D/blank 6 E/D X/blank xxxxx yyyyy 6 Y/N F/blank
7 E/blank D/blank 7 E/D X/blank xxxxx yyyyy 7 Y/N F/blank
8 E/blank D/blank 8 E/D X/blank xxxxx yyyyy 8 Y/N F/blank

Figure 108-8. Station Load Overview Supervisory Groups Overlay

1989
B0193AX – Rev N 108. Station Block

Table 108-2. Station Load Overview Supervisory Groups Overlay Definitions

Control Function
CONTROL
ENABLE Enables SSC for selected supervisory group (1-8).
1-8 E = Enabled, (blank) = not enabled. Momentarily
highlighted when selected.
DISABLE Disables SSC for selected supervisory group (1-8).
1-8 D = Disabled, (blank) = not disabled. Disable overrides Enable
if both are requested. Momentarily highlighted when selected.
TIMERS
ENABLE Enables or Disables the selected supervisory group (1-8) timer.
DISABLE E = the timer is Enabled, D = the timer is Disabled.
STATUS Indicates the status of the timer. x = the timer has expired, blank
indicates the timer is running.
VALUE Indicates the current running value (0-32767 seconds, 0 to
9.1 hours) of the timer.
RESET Indicates the selected value (0-32767 seconds, 0 to 9.1 hours) to
VALUE which the timer is reset when the application issues a setpoint to
a block in its assigned supervisory group.
FALLBACK
REQUEST Requests that the selected supervisory group (1-8) go the
fallback state.
Y = fallback is requested, N = fallback is not requested.
STATUS Indicates the status of the fallback group.
F = fallback, (blank) = no fallback.

108.5.5.1 Station Block Operating Information and Procedures


For operating information and procedures, refer to the Process Operations and Displays
(B0193MM) document.

108.5.5.2 Station Block Parameters


Table 108-3 lists the compound parameters followed by a description of each parameter.

Table 108-3. Station 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 blank STA
DESCRP descriptor string no-con/no-set blank 1 to 32 chars
CKPOPT checkpoint option short no-con/no-set 0 0 to 2
AUTCKP auto checkpoint short con/set 0 0 to 127
CFGOPT configuration option short no-con/no-set 1 1-16

1990
108. Station Block B0193AX – Rev N

Table 108-3. Station Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


INHPRT inhibit printer boolean no-con/no-set 0 0 to 1
INITTE initial timer enable pack_b no-con/no-set 21845 0 to 32767
RESOVR reset overrun boolean no-con/set 0 0 to 1
FLBRQ1 to FLBRQ8 fallback request 1 to 8 boolean con/set 0 0 to 1
RESVL1 to RESVL8 reset value 1 to 8 integer no-con/no-set 8 8 to 32767 sec
CKPTIM checkpoint time string no-con/no-set blank 9999-12-31;23:59
OUTPUTS
STATYP station type short no-con/no-set 0 0 to 12 chars
VERSNO version number string no-con/no-set blank 0 to 12 chars
BPLD01 to BPLD10 block processor load 01 real con/no-set 0.0 %
to 10
BPLOAD block mean load real con/no-set 0.0 %
CPLD01 to CPLD10 compound processor real con/no-set 0.0 %
load 01 to 10
CPLOAD control processor mean real con/no-set 0.0 %
load
CUMOVR cumulative overrun long con/no-set 0 0 to 2147483647
DAY day of month integer con/no-set 0 00 to 31
FLBSTA fallback status pack_b con/no-set 0x00 0x00 to 0xff
HOUR hour of day integer con/no-set 00 00 to 23
IDLETM idle time real con/no-set 0 %
IOLOAD Input/output mean load real con/no-set 0.0 %
LODPER load update period integer con/set 5 seconds
LODPHS load update phase integer con/set 0 ---
LODSW load switch boolean con/set 0 0 to 1
LODSYN load synchronize boolean con/set 0 0 to 1
MAXMEM bytes available long con/no-set 0 0 to 2147483647
MINUTE minutes of the hour integer con/no-set 00 00 to 59
MONTH month of year integer con/no-set 01 01 to 012
OMLD01 to OMLD12 percent of Object Man- real con/no-set 0 %
ager time 1 to 12
OMLDAV OM load average real con/no-set 0 %
OMOVRN number of OM overruns long con/no-set 0 0 to 2147483647
OVRRUN over run indicator boolean con/no-set 0 0 to 1
PIOE1R number of transmission long con/no-set 0 0 to 2147483647
retries
PIOEFT number of fault tolerant long con/no-set 0 0 to 2147483647
errors
PIOEGB number of good - bad long con/no-set 0 0 to 2147483647
PP_DEL peer-to-peer deleted integer con/no-set 0 0 to 99999999
PP_DSC peer-to-peer discon- integer con/no-set 0 0 to 99999999
nected
PP_NFD peer-to-peer not found integer con/no-set 0 0 to 99999999
PP_TOT peer-to-peer total integer con/no-set 0 0 to 99999999
SQLOAD percent of sequence real con/no-set 0 %
block load

1991
B0193AX – Rev N 108. Station Block

Table 108-3. Station Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


STABPC basic processing cycle real con/no-set 0 seconds
(BPC) in seconds
TIMSTA timer status pack_b con/no-set 0 0x00 to 0xff
TIMVL1 to TIMVL8 timer value 1 to 8 integer con/no-set 0 0 to 32767 sec
TLCONS number of IPC connects integer con/no-set 0 0 to 99999999
TOTMEM total memory long con/no-set 0 0 to 2147483647
YEAR year integer con/no-set 0000 0000 to 9999
OPTIONS
DV1 to DV7 alarm device group 1 to 7 string no-con/no-set blank 1 to 32 chars
name

AUTCKP Automatic Checkpoint specifies the period of automatic checkpoints in


increments of 30 minutes. Zero equals no periodic checkpoint, 0-127 rep-
resents up to 63.5 hours (127 x 30 minutes) between checkpoints. It is
shown on the Base Display as AUTO CHECKPOINT and is displayed in
hours.
The following list of Control Stations and Gateways have the periodic
checkpoint feature built into them. All other Control Stations and Gate-
ways ignore the AUTCKP parameter.
OS1C30 Control Processor 30
OS1C40 Control Processor 40
OS1AB3 Allen Bradley Integrator 30
OS1MG3 Modicon Integrator 30
OS1MG4 Mod Bus Plus
OS1MG5 Mod Bus Plus Redundant
OS1FD3 Foreign Device Gateway 30
OS1ACM FoxGuard Manager

Before the control software initiates a checkpoint operation, it checks to


make sure there is no Integrated Control Configurator or ICCAPI driver
session active for that station. if one is, the periodic checkpoint is skipped
until the next scheduled time.
If an attempt is made to open a session via Integrated Control Configura-
tor or ICCAPI driver while a periodic checkpoint operation is being per-
formed, the control software will return the following message:
E33 - DATABASE OPERATION IN PROGRESS

BPLD01-10 Block Processing Load 1 to 10 are real values that represent 10 consecutive
phase executions of the Compound Processor (BPLD01 is the oldest
value). They are shown on the Control Loading Overlay as 10 bars/values
in the TOTAL CONTROL CYCLE (% Of BPC) box. The values are
elapsed time for the total control cycle expressed as a percentage of the sta-
tion BPC. This includes Fieldbus or I/O scanning, Continuous block exe-

1992
108. Station Block B0193AX – Rev N

cution, and Sequence block execution. When LODSYN is INACTIVE,


the 10 values then represent the last 10 Compound Processor cycles.

BPLOAD Block Processing Load is a real value that represents the percent of BPC
time used for executing all continuous blocks. It is shown on the Base Dis-
play LOADING SUMMARY (% OF BPC) as CONT BLKS.

CFGOPT Configuration Option is a short integer with the following options:


Bits 1-13: 0 (reserved for future use)
Bit 14: Sequence Batch message option. If set, a return-
to-normal message will be generated when the
sequence logic unsuspends from a
SEND_CONFIRM message
Bit 15: Alarm Criticality Unacknowledged option.
0= CRIT/PRTYP indicates the highest priority
alarm (normal default logic).
1= CRIT/PRTYP indicates the highest priority
Unacknowledged alarm.
Bit 16: On-Line Configuration option. If set, a com-
pound must be turned off to allow any block in
that compound to be re-configured.
Notes: 1. Bit 1 is the high-order, most significant bit.
2. All options may co-exist, i.e., they are not
mutually exclusive.

CKPOPT Checkpoint Option is a string input that specifies:


0= Disable periodic checkpoint (default)
1= Enable periodic checkpoint, disable modification of
checkpoint frequency from station block display.
2= Enable periodic checkpoint, and allow modification of
the checkpoint frequency from the station block display.

CKPTIM Checkpoint Time represents the time and date, in the format: year-
month-day;hours:minutes:seconds, that the last checkpoint was initiated.
CKPTIM is updated in the station block during a checkpoint operation
immediately prior to uploading the snapshot of the STATION block into
the checkpoint file.
CKPTIM: YYYY-MM-DD hh:mm:ss (19 characters)
Where:
YYYY = 4-digit year (1998 to YYYY)
MM = 2-digit month of year (01 to 012)
DD = 2-digit day of month (01 to 031)
hh = 2-digit hour of day (00 to 23)
mm= 2-digit minute of hour (00 to 59)
ss = 2-digit second of minute (00 to 59)

1993
B0193AX – Rev N 108. Station Block

CPLD01-10 Control Processor Load 1-10 are real values that represent 10 consecutive
phase executions of the Compound Processor (CPLD01 is the oldest
value). They are shown on the Control Loading Overlay as 10 bars/values
in the CONTINUOUS BLOCK LOAD (% Of BPC) box. The values are
elapsed time for just the Continuous block execution expressed as a per-
centage of the station BPC. When LODSYN is INACTIVE, the 10 bars
then represent the last 10 Compound Processor cycles.

CPLOAD Control Processor Load is a real value that represents the percent of BPC
time used for collecting data from FBMs or I/O load and executing Con-
tinuous and Sequence blocks, that is:
IOLOAD + BPLOAD + SQLOAD = CPLOAD
It is shown on the Base Display LOADING SUMMARY (% of BPC) box
as the TOTAL CONTROL CYCLE

CUMOVR Cumulative Over Run is a long value represents the value of the overrun
counter which is incremented when an overrun cycle is detected.
CUMOVR is available as an output of the Station block. You reset the
CUMOVR counter by setting the block’s momentary input parameter,
RESOVR, to true. The overrun counter is shown on the Control Loading
Overlay in the OVERRUNS box

DAY Day is an integer in the range 01-031 (example: the 12th day of the
month is integer value 12). DAY is updated by the station block software
every 30 seconds.

DESCRP Descriptor is a user-defined string of up to 32-character that describe the


block's function (for example, “STATION HEATER CONTROL”).

DV1-7 Device 1-7 are 32 character strings of user defined alarm device names for
station alarm groups.

FLBRQ1-8 Fallback Request 1-8 (FLBRQ1-8) is an explicit request for an SSC Group
n to go to the Fallback state. Fallback Request is shown on the Supervisory
Group Display as FALLBACK REQUEST 1-8.

FLBSTA Fallback Status contains the Fallback status of each of the supervisory
groups.
Bits 1-8: Fallback States for groups 1-8
(1= Fallback, 0= not Fallback)
Fallback Status is shown on the Supervisory Group Display as
FALLBACK STATUS 1-8.

HOUR Hour of the Day is an integer in the range 00-23 (example: Midnight is
integer value 00, 1:00 AM is integer value 01, 11:00 PM is integer value
23). HOUR is updated by the station block software every 30 seconds.

1994
108. Station Block B0193AX – Rev N

IDLETM Idle Time is a real value that represents the percent of BPC time that the
station is executing an idle loop. It is shown on the Base Display LOAD-
ING SUMMARY (% of BPC) box as the STATION IDLE TIME.

INHPRT Inhibit print is a boolean input which when true inhibits the printing of
system messages from the station.

INITTE Initial Timer Enable specifies the initial states of Supervisory Control
group timers when the CP is rebooted.

Bits 1-2: Timer #1 Enable/Disable


(0 = Disable, 1 = Enable, 2 = leave alone)
Bits 3-4: Timer #2 Enable/Disable
: :
Bits 15-16: Timer #8 Enable/Disable

INITTE is shown on the Supervisory Group Display as TIMERS


ENABLE DISABLE.

IOLOAD Input/Output Load is a real value that represents the percent of BPC time
used for collecting data from Fieldbus Modules (FBMs), Fieldbus Proces-
sors (FBPs), Fieldbus interface units for intelligent field devices, Integra-
tors, or Gateway device interface units. This is mostly time spent by the
coprocessor communicating with FBMs or the device. It is shown on the
Base Display LOADING SUMMARY (% of BPC) box as the FIELDBUS
SCAN or I/O LOAD.

LODSYN Load Synchronization is a boolean output that represents the state of data
collection as follows:
♦ When LODSYN is true and DATA COLLECTION is ACTIVE,
data collection is done on a scheduled basis in accordance with the
specified LODPER, starting at the phase number specified in
LODPHS. When LODSYN is true, the value in both the
BPLD01 and CPLD01 is the load from the phase defined by the
LODPHS number.
♦ When LODSYN is false, data collection is done on a continuous
basis in accordance with the default LODPER, starting at the cur-
rent execution phase.
LDSYN is shown on the Control Loading Overlay in the PHASE SYNC
CNTRL box and can be toggled between the ACTIVE and INACTIVE
states

LODPER Load Period is an integer that represents the frequency at which the Sta-
tion block collects loading data for ten consecutive BPC frames. The
default value is 10*BPC. The valid range of LODPER is 5 seconds to
1 hour.

1995
B0193AX – Rev N 108. Station Block

LODPER represents the period of data collection for the BPLD01-10 and
the CPLD01-10 parameters. If the station BPC is 0.5 seconds and the
LODPER is 5.0 seconds, then BPLD01-10 and CPLD01-10 parameters
will represent all scans of the Compound Processor. If the LODPER is
10.0 seconds, then BPLD01-10 and the CPLD01-10 represent 10 of the
20 phases beginning with the phase defined in LODPHS. LDPER is
shown on the Control Loading Overlay in the PHASE SYNC CNTRL
box as a value ranging between 5 seconds to 1 hour.

LODPHS Load Phase is an integer that represents the phase of the BPLD01-10 and
the CPLD01-10 parameters. LODPHS is shown on the Control Loading
Overlay in the PHASE SYNC CNTRL box as an integer value.

LOADSW Load Switch is a boolean output that when true indicates the station per-
formance data collection and station loading updates are being collected
and displayed. LOADSW is shown on the Base Display as DATA COL-
LECTION ACTIVE or INACTIVE.

MAXMEM Maximum Memory is a long output that represents the sum of all
free-memory segments of user memory in a Control Processor 30 (CP30)
only. It represents the largest contiguous segment of memory within the
user free pool for a CP30. MAXMEM is shown on the Control Loading
overlay in the STATION FREE MEMORY box as LARGEST SEG in
bytes.

MINUTE Minute of the Hour is an integer in the range 00-59 (example: 12 minutes
past the hour is integer value 12).

MONTH Month is an integer in the range 01-012 (example: February is integer


value 02). MONTH is updated by the station block software every 30 sec-
onds.

NAME Name is a user-defined string of up to 12 characters used to access the sta-


tion block and its parameters.

OMLD01 - 12 Object Manager Load 1 -12 are 12 real values that represent the last 12
scans of the Object Manager Scanner (OMLD01 is the oldest value). The
values are elapsed time for OM scanning as a percentage of the station
BPC. The values can change significantly between scans if Compound
Processor scans interrupt the Object Manager scans on some cycles but
not other cycles. They are shown on the OM Scanner Loading Overlay as
12 bars/values in the OBJECT MANAGER SCANNER DATA (% Of
BPC) box.

OMLDAV Object Manager Load Average is a real value that represents the percent of
BPC time used for scanning Object Manager data. This value is the aver-
age load of the past 12 OM Scanner scans. The value is shown on the Base
Display LOADING SUMMARY (% of BPC) box as the OM SCAN.

1996
108. Station Block B0193AX – Rev N

OMOVRN Object Manager Over Run is a long that represents the number of times
the OM Scanner task has overrun since the station was rebooted or the
counter was reset. OM Scanner overruns can occur in the following cases:
♦ Communications to a station are disconnected. This typically
manifests itself by OM Scanner overruns occurring at one minute
intervals.
♦ A large number of simultaneous display requests from multiple
WPs.
♦ Simple overload of the OM Scanner task by attempting to connect
to many other stations at the current station BPC. This can be
corrected by reducing the number of stations receiving data from
this CP or by reducing the number of concurrent applications.
♦ Block processing overload does not leave enough time for the OM
Scanner to complete processing.
♦ Overload of the OM Scanner by Sequence Logic that contains too
many full pathname references.
OMOVRN is shown on the OM Scanner Loading Overlay in the OM
SCANNER OVERRUNS.

OVRRUN OVRRUN is an output parameter that is set to true (or false) each cycle to
indicate when the control processor task does (or does not) overrun.

PIOE1R Process I/O Errors Retry is the total number of retries that have occurred
when transmitting messages over the Fieldbus.

PIOEFT Process I/O Fault-Tolerant Errors is the total number of errors for a fault-
tolerant station that have occurred when transmitting messages over the
Fieldbus.

PIOEGB Process I/O Good-Bad Errors is the number of total number of good - bad
station block errors that have occurred during the transmission of mes-
sages over the Fieldbus.

PP_DEL Peer-to-Peer Deleted is an integer that represents the current number of


peer-to-peer connections whose source blocks or compounds have been
deleted via the Integrated Control Configurator. This is normally a tran-
sient state that lasts between the time that the remote block was deleted
and the “checkpoint” completing on that remote CP station. PP_DEL is
shown on the Control Loading overlay in the SINK PEER TO PEER
STATUS box as POINTS DELETED.
Deleted connection errors (PP-DEL) are temporary. When a station is
checkpointed following the deletion of any of its control blocks, the status
of any peer-to-peer sink connections to these blocks in other stations are
changed from Deleted to Not_Found, and the station updates the
PP_NFD and PP_DEL error counters accordingly. The station software
updates PP_NFD, PP_DEL, and PP_DSC every two minutes.

1997
B0193AX – Rev N 108. Station Block

PP_DSC Peer-to-Peer Disconnected is an integer that represents the current num-


ber of peer-to-peer connections that have been disconnected due to a loss
of peer-to-peer communications with the source station. These errors can
occur temporarily when a station is rebooted until its connections are
made with the source stations. Permanent errors of this type occur when a
source station fails. These errors clear automatically when peer-to-peer
communications are reestablished with the source station. PP_DSC is
shown on the Control Loading overlay in the SINK PEER TO PEER
STATUS box as POINTS DISCONNECTED. The station software
updates PP_NFD, PP_DEL, and PP_DSC every two minutes.

PP_NFD Peer-to-Peer Not Found is an integer that represents the current number
of peer-to-peer connections that have never been located on the system.
These errors can occur temporarily when a station is rebooted until its
connections are made with the source stations. Permanent errors of this
type indicate the inability to locate the source parameter in any station in
the network. These errors occur if the source station is not running, or if
the source parameter does not exist. PP_NFD is shown on the Control
Loading overlay in the SINK PEER STATUS box as POINTS NOT
FOUND. The station software updates PP_NFD, PP_DEL, and
PP_DSC every two minutes.

PP_TOT Peer-to-Peer Total points represents the current number of peer-to-peer


control block input connections configured in the control data base. If 20
blocks each have a remote reference to REM_COMPOUND:PID.OUT,
there is only 1 remote inter-block linkage that is counted in the PP_TOT
parameter. PP_TOT is shown on the Control Loading overlay in the
SINK PEER STATUS box as TOTAL POINTS.

RESOVR Reset Over Run (RESOVR) resets the Cumulative Over Run
(CUMOVR) counter when set to true (1).

RESVL1-8 Reset value n (RESVL1-8) is the value used to reset the timer that detects
the failure of SSC over blocks assigned to group n. Reset value is shown on
the Supervisory Group Display as RESET VALUE 1-8.

STABPC Station Basic Processing Cycle is a real value that represents the station’s
BPC in seconds. The value is shown on the Base Display as the
STATION BPC.

STATYP Station type is a short data type which identifies the station type.

SQLOAD Sequence Load is a real value that represents the percent of BPC time used
for executing all Sequence blocks. The value is shown on the Base Display
LOADING SUMMARY (% of BPC) box as SEQ BLKS.

1998
108. Station Block B0193AX – Rev N

TIMSTA Timer Status (TIMSTA) contains the timers associated with each of the
supervisory groups.
Bits 1-8: Expired States for Timers 1-8
(1= Expired, 0= Not Expired)
Bits 9-16: Active States for Timers 1-8
(1= Active, 0= Inactive)

Fallback Status is shown on the Supervisory Group Display as


FALLBACK STATUS 1-8.

TIMVL1-8 Timer 1-8 (TIMVL1-8) is the current running value of the timer used to
detect the failure of SSC over blocks assigned to supervisory group 1-8.
Fallback Status is shown on the Supervisory Group Display as FALL-
BACK STATUS 1-8.

TLCONS Total Connections is an integer that represents the total Inter-Process


Communications (IPC) connections among applications running in the
workstation. TLCONS is shown on the OM Scanner Loading Overlay as
TOTAL INTER-STATION IPC CONNECTIONS.

TOTEM Total Memory is a long output parameter, that indicates the number of
bytes of dynamic free memory available for the control database. The sta-
tion updates this value a minimum of every thirty seconds. The value is
shown on the Base Display in the STATION FREE MEMORY as
TOTAL FREE in bytes.

TYPE When you enter “STA” or select “STA” from the block type list under
Show, an identifying integer is created specifying this block type.

VERSNO Software Version Number is the number of the installed I/A Series soft-
ware. It is shown on the Base Display as SOFT VERS.

YEAR Year is an integer in the range 0000-9999 (example: 1998 is integer value
1998). YEAR is updated by the station block software every 30 seconds.

1999
B0193AX – Rev N 108. Station Block

2000
109. STRIN – String Input Block
This chapter covers the String Input (STRIN) block, its features, parameters and functions,
and application diagrams.

109.1 Overview
The String Input (STRIN) 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.) STRIN receives one string value from an external device.

Input from Input Processing To Upstream


External Device Block

Figure 109-1. STRIN Block Diagram

109.2 Basic Operation


Upon execution, the STRIN block truncates the input from the external device (to 80 characters)
and null-terminates it. The resultant value is presented as block output STRING. Auto/manual
switching is not supported in this block. When Message Option (MSGOPT) is configured true,
the receipt of any new value of STRING causes a message to be sent to the logical devices in the
group specified by MSGGRP.

109.3 Features
The STRIN block provides the following features:
♦ Specification of external device source point as device-specific string
♦ Block functionality corresponds to the Auto mode at all times.

2001
B0193AX – Rev N 109. STRIN – String Input Block

109.4 Parameters
Table 109-1. STRIN 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 STRIN_TYPE 114
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 to 9
PHASE block execution phase short integer no-con/no-set 0 period specific
LOOPID loop/unit/batch identifier string no-con/no-set 2 blanks 1 to 32 chars
IOM_ID ECB identifier string no-con/no-set 2 blanks 1 to 12 chars
MSGGRP message group integer no-con/set 1 1 to 8
MSGOPT message option boolean no-con/no-set 0 0 to 1
PNT_NO point number string no-con/no-set blanks 1 to 32 chars, or
device specific
SIMOPT simulation option boolean no-con/no-set 0 0 = no simulation
1 = simulation
Non-Configurable Parameters
OUTPUTS
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
BLKSTA block status packed long con/no-set 0 0-0xFFFFFFFF
STRING string output string con/no-set 2 spaces up to 80 chars
TSTAMP time stamp long integer con/no-set 0 ms after midnight
UNACK unacknowledged alarm boolean con/no-set 0 0 to 1
DATA STORES
DEFINE no config errors boolean no-con/no-set 1 0 to 1
DEV_ID I/O letterbug character no-con/no-set --- 6-character array
ERCODE configuration error string no-con/no-set 2 blanks 1 to 43 chars

2002
109. STRIN – String Input Block B0193AX – Rev N

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

BLKSTA Block Status is a 32-bit output, bit-mapped to indicate various block oper-
ational states. For the STRIN 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

B10
B11
B12
B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

FBM
ON
Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
8 FBM FBM failure BLKSTA.B24
14 UDEF Block Undefined BLKSTA.B18
15 ON Block On BLKSTA.B17
*Bit 0 is the least significant bit (starting from the right).

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 block’s 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 block’s 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 block’s detail display. For the STRIN block, the following list shows
the messages you may see:

2003
B0193AX – Rev N 109. STRIN – String Input Block

ERCODE Message Meaning


W52 – INVALID I/O CHANNEL/ PNT_NO string is blank.
GROUP NO.
W62 – UNRESOLVED CONNEC- Connection is not yet resolved.
TION (Block remains defined.)
W65 – INVALID POINT FBM parsing algorithm finds
ADDRESS that a used BIx_PT is invalid.
W66 – DUPLICATE CONNEC- There is a duplicate connection
TION to a particular point.
W67 – INSUFFICIENT FBM There is no available memory or
MEMORY/CONNECTIONS point connections in the FBM.
W68 – INVALID DEVICE CON- The device connection is invalid.
NECTION
W69 – INVALID POINT CON- The point connection is invalid.
NECTION

IOM_ID ECB Identifier is a user-configurable string that specifies either of the fol-
lowing:
♦ The device ECB (ECB201), for the purpose of connecting to
(accessing) a field parameter that resides in a field device hosted by
an ECB200
♦ The parent ECB200, for the purpose of accessing a parameter
whose source is the FBM itself (not applicable to FBM220/221 or
FBM223).
IOM_ID can be formatted in either of two ways, depending on the loca-
tion of the ECB in question:
♦ Simply the name of the external device ECB (ECB201). For this
format, the ECB201 must reside in the station ECB compound
<cp_letterbug>_ECB, where cp_letterbug is the station letterbug
of the I/A Series station.
♦ The full pathname of the external device ECB (ECB201). For this
format, the ECB201 must reside in the station ECB compound,
or any compound where blocks that tie to it are located. The path-
name must be of the form:
<local_compound_name>:<ecb_name>
where <ecb_name> is the NAME parameter of the ECB.
Note: Once configured, IOM_ID may not be modified. A delete/undelete
operation will NOT allow IOM_ID to be changed. The block must be
deleted and then re-entered into the data base. IOM_ID may then be
reconfigured.

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.

2004
109. STRIN – String Input Block B0193AX – Rev N

MSGGRP Message Group is the message device group number.

MSGOPT When Message Option is configured True, the receipt of any new value of
STRIN causes a message to be sent to the logical devices in the group
specified by MSGGRP. This message is the INFO (that is, the
SEQ_1_MESSAGE) format. UNACK is set True when the message has
been sent.

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 block’s execution time base
and allowable PHASE values. PERIOD values range from 0 to 9 and map
to the following period time lengths.
Period Length Period Length
0 0.1 second 5 30 seconds
1 0.5 second* 6 1 minute
2 1.0 second 7 10 minutes
3 2.0 seconds 8 60 minutes
4 10 seconds 9 0.2 second
*If the BPC is 0.2 second, this period is treated internally as
0.6 second, but the PERIOD parameter remains 1.

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. See Integrated Control Software Concepts
(B0193AW).

PNT_NO Point Number identifies the source address in the external device memory
(or external device data stream) from which the block input is obtained. It
is a string whose syntax depends on the make and model of the external
device.
For the PROFIBUS interface (FBM223), PNT_NO must be configured
to contain a PROFIBUS data identifier string. This information identi-
fies, to the FBM, specific data in the PROFIBUS data stream that is to
serve as the device data input to this block. Refer to PROFIBUS-DP Com-
munication Interface Module (FBM223) User’s Guide (B0400FE) for
details.
For the HART interface (FBM214/215/216/218), PNT_NO must be
configured to contain a HART point address string. This information
identifies, to the FBM, a specific value in the HART device that is to serve
as the input to this block. Refer to HART Communication Interface Module
(FBM214/215/216/218) User’s Guide (B0400FF) for details.

2005
B0193AX – Rev N 109. STRIN – String Input Block

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 is no DCI connection established for the block and
no data from the external device is set into STRING. The STRING itself
can be changed by an application program using standard API/OM set
access commands or by an operator via key actions available at the detailed
display. When the string is changed, a new message is generated if
MSGOPT is True.

STRING String output of the STRIN block. STRING contains the value received
from the external device, truncated to 80 actual characters, and null-ter-
minated.

TSTAMP The Time Stamp parameter of the block is updated every time there is a
change in value of STRING. TSTAMP, which is expressed in units of mil-
liseconds past midnight, is read from the FBM, when it is available there;
otherwise, it is computed by the I/A Series control station.

TYPE When you enter STRIN or select it from a configurator list, an identifying
integer is created specifying this block type. For this block, the value of
TYPE is 114.

UNACK Unacknowledge is a Boolean output that the block sets to true when it
detects an alarm. It is typically reset by operator action.

109.5 Functions
109.5.1 Detailed Diagram

SIMOPT

AND
Simulated
Value

IOM_ID
PNT_NO

String
Input from
External Device Truncation
AND Null-Termination STRING
( 80 Characters)
ECB Good

Figure 109-2. STRIN Block Operational Diagram

2006
109. STRIN – String Input Block B0193AX – Rev N

109.5.2 Associated ECBs


The configured IOM_ID parameter of the STRIN block specifies an ECB201 (the “Device
ECB”) to connect to a field parameter that resides in a field device hosted by an ECB200 (the
“FBM ECB”). The PARENT parameter of this ECB201 specifies the ECB200. The STRIN
block also can be connected directly to the parent ECB200 to retrieve a parameter resident in the
FBM itself.

109.5.3 DCI Connection


The STRIN block establishes a DCI connection 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 STRIN 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 (the block is removed from the linked list for the ECB) when the
STRIN block is deleted.

109.5.4 Origin of Input Data


The device address supplying the input value is configured as a string in PNT_NO. The format of
PNT_NO is device specific.
When the PIO maintenance task runs after the DCI connection has been made, the PNT_NO
string is passed to the FBM for parsing and validation. (In DCI blocks, PNT_NO is 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.

2007
B0193AX – Rev N 109. STRIN – String Input Block

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

109.5.5 Input Point Data and Status Processing


Each time the STRIN block is executed, the value received from the external device is truncated
to 80 actual characters, null-terminated, and set into the STRING parameter of the block.
Updating of the STRING parameter is change driven: STRING is changed on an execution cycle
only if a new value has been received from the external device via the DCI connection.
STRING may originate as any text string parameterized in the field device.
The status of STRING is set to Out-of-Service if one or more of the following exists:
♦ The appropriate 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 109.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 STRING is set to Bad if ECB status indicates that the field device has failed.

109.5.6 Auto/Manual Switching


Auto/Manual switching is not supported in the STRIN block. The block functionally corre-
sponds to the Auto mode at all times.

109.5.7 Time Stamp


The time stamp (TSTAMP) parameter of the block is updated every time there is a change in the
value of STRING. 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.

2008
109. STRIN – String Input Block B0193AX – Rev N

109.5.8 Identification and Access Control


The LOOPID, OWNER, and ACHNGE parameters are used in the standard way in the STRIN
block.

2009
B0193AX – Rev N 109. STRIN – String Input Block

2010
110. STRING – String Variable
Block
This chapter describes the STRING (String Variable Block), its basic operations, features and
parameters.

110.1 Overview
The STRING variable block provides data storage for a string data value (see Figure 110-1). It
also provides an output change counter that is incremented each time the string value is changed.
The string value parameter is available for display by user graphics.

String Value from String Value String Value (VALUE)


Application
Change Counter (ACHNGE)

Figure 110-1. STRING Block Functional Diagram

110.2 Basic Operation


The STRING block contains a string data variable parameter (VALUE) that can be set by an
application to store a string 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.
The STRING also contains an integer output parameter (ACHNGE) that is incremented when
VALUE is changed by an application or block reconfiguration. This feature allows you to update
the string value on a user’s display when ACHNGE changes value.
The STRING block has a Detail Display for viewing and setting parameters. STRING and other
data variable blocks appear on the Select display in the order they are configured, following all
other blocks in the compound.
The STRING 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 STRING
blocks can be inserted in the END DATA zone of any compound.
The STRING 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.
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.

2011
B0193AX – Rev N 110. STRING – String Variable Block

110.3 Features
The STRING block provides the following features:
♦ STRING data variable (VALUE) for storing a string data value.
♦ Output change counter (ACHANGE) for detecting a change in VALUE.

110.4 Parameters
Table 110-1. STRING Block Parameters

Name Description Type Accessibility Default Units/Range


Configured Parameters
INPUTS
NAME variable name string no-con/no-set 2 blanks 1 to 12 chars
TYPE variable type integer no-con/no-set 153 STRING
DESCRP variable descriptor string no-con/no-set 2 blanks 1 to 32 chars
DATA VARIABLE
VALUE variable value string no-con/set 2 blanks 1 to 32 chars
Non-Configured Parameters
OUTPUTS
ACHNGE alternate change integer con/no-set 0 -32768 to 32767

110.4.1 Parameter Definitions


ACHNGE A Change is a integer output that is incremented each time the VALUE
parameter is changed externally.

DESCRP Descriptor is a user-defined string of up to 32 characters that describe the


variable (for example, TEMPERATURE HIGH).

NAME Name is a user-defined string of up to 12 characters used to access the data


variable block and its parameters.

TYPE Type is a system-level mnemonic label indicating the block type. Enter
“STRING” or select “STRING” from the block type list under SHOW
when configuring the block.

VALUE Value is a string data variable that can be set by an application to store data
for use by other blocks.

2012
111. STROUT – String Output
Block
This chapter describes the function of the String Output (STROUT) block and defines its
parameters.

111.1 Overview
The String Output (STROUT) 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 gen-
eral purpose interface.) STROUT can send one string value to an external device.

Input from Output


To External
I/A Series Processing
Device
System

Figure 111-1. STROUT Block Diagram

111.2 Basic Operation


The STROUT block accepts a string value from the control strategy, and sends it to the addressed
point. The block output (STRING parameter) is change driven; STRING is sent to the external
device only when it is different from the value previously sent. The device address receiving the
output value is configured as a string in PNT_NO1.
STROUT does not support auto/manual switching, nor does it have any alarm detection or
reporting capability.

1.
PNT_NO contains a user-configured data identifier string, which identifies, to the FBM, specific
data to be sent to the external device. Refer to PROFIBUS-DP Communication Interface Module
(FBM223) User’s Guide (B0400FE) for details.

2013
B0193AX – Rev N 111. STROUT – String Output Block

111.3 Parameters
Table 111-1. STROUT 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 STROUT_TYPE 115
DESCRP description string no-con/no-set 2 blanks 1 to 32 chars
PERIOD block sample time short no-con/no-set 1 0 to 12
PHASE block execute phase integer no-con/no-set 0 —
LOOPID loop identifier string no-con/no-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 — device specific
OUTPUTS
STRING string output string con/no-set 2 spaces up to 80 chars
Non-Configurable Parameters
OUTPUTS
ACHNGE alternate change integer con/no-set 0 -32768 to 32767
BLKSTA block status pack_l con/no-set 0 0 to 0xFFFFFFFF
TSTAMP time stamp long inte- con/no-set 0 ms after midnight
ger
DATA STORES
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 32 chars
OWNER owner name string no-con/set 2 blanks 1 to 32 chars
DEV_ID device identifier char[6] no-con/no-set blank 6 chars

111.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 various block oper-
ational states. For the STROUT 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
B10
B11
B12
B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

FBM
ON

2014
111. STROUT – String Output Block B0193AX – Rev N

Bit Boolean
Number* Description Connection
(0 to 31) Name When True (B32 to B1)
8 FBM Bad Status of ECB BLKSTA.B24
14 UDEF Block Undefined BLKSTA.B18
15 ON Block ON BLKSTA.B17
*Bit 0 is the least significant bit (starting from the right).

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 re-install the block.

DESCRP Description is a user-defined string of up to 32 characters that describes


the block’s function (for example, “PLT 3 FURNACE 2 HEATER
CONTROL”).

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 block’s DEFINE parameter to be set false. Val-
idation 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 block’s detail display. For the STROUT
block, the following list shows the possible messages you may see:

ERCODE Message Meaning


W52 – INVALID I/O CHAN- The first character of
NEL/GROUP NUMBER PNT_NO is blank.
W62 – UNRESOLVED CONNEC- Connection is not yet
TION resolved. (Block remains
defined.)
W65 – INVALID POINT ADDRESS FBM parsing algorithm
found that PNT_NO is
invalid.
W66 – DUPLICATE CONNEC- There is a duplicate connec-
TION tion to a point.
W67 – INSUFFICIENT FBM MEM- There is no available memory
ORY/CONNECTIONS or point connections in the
FBM.

2015
B0193AX – Rev N 111. STROUT – String Output Block

ERCODE Message Meaning


W68 – INVALID DEVICE CON- The device connection is
NECTION invalid.
W69 – INVALID POINT CON- The point connection is
NECTION invalid.

IOM_ID ECB Identifier is a user-configurable string that specifies either of the fol-
lowing:
♦ The device ECB (ECB201), for the purpose of connecting to
(accessing) a field parameter that resides in a field device hosted by
an ECB200
♦ The parent ECB200, for the purpose of accessing a parameter
whose source is the FBM itself (not applicable to FBM223).
IOM_ID can be formatted in either of two ways, depending on the loca-
tion of the ECB in question:
♦ Simply the name of the external device ECB (ECB201). For this
format, the ECB201 must reside in the station ECB compound
<cp_letterbug>_ECB, where cp_letterbug is the station letterbug
of the I/A Series station.
♦ The full pathname of the external device ECB (ECB201). For this
format, the ECB201 must reside in the station ECB compound,
or any compound where blocks that tie to it are located. The path-
name must be of the form:
<local_compound_name>:<ecb_name>
where <ecb_name> is the NAME parameter of the ECB.
Note: Once configured, IOM_ID may not be modified. A delete/undelete
operation will NOT allow IOM_ID to be changed. The block must be
deleted and then re-entered into the data base. IOM_ID may then be
reconfigured.

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.

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.

2016
111. STROUT – String Output Block B0193AX – Rev N

PERIOD Period is an indexed input that dictates the block’s execution time base
and allowable PHASE values. PERIOD values range from 0 to 9 and map
to the following period time lengths.
Period Length Period Length
0 0.1 second 5 30 seconds
1 0.5 second* 6 1 minute
2 1.0 second 7 10 minutes
3 2.0 seconds 8 60 minutes
4 10 seconds 9 0.2 second
*If the BPC is 0.2 second, this period is treated internally as
0.6 second, but the PERIOD parameter remains 1.

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
I/A Series station is 0.5 sec. See Integrated Control Software Concepts
(B0193AW) document.

PNT_NO Point Number identifies the source address in the external device memory
(or external device data stream) from which the block input is obtained. It
is a string whose syntax depends on the make and model of the external
device.
For the Profibus interface (FBM223), PNT_NO must be configured to
contain a Profibus data identifier. This information identifies, to the
FBM, specific data in the Profibus data stream to be sent to the external
device. Refer to PROFIBUS-DP Communication Interface Module
(FBM223) User’s Guide (B0400FE) for details.

STRING String output of the STROUT block. STRING contains the value to
be sent to the external device.

TSTAMP Time Stamp is a long integer output that represents the time, in millisec-
onds since midnight, of the most recent updated STRING output. This
time stamp is supplied either by the FBM or by the I/A Series control sta-
tion, depending on the type of FBM. If supplied by the FBM, TSTAMP
indicates the time of the latest updated value in the FBM. If supplied by
the I/A Series control station, TSTAMP indicates the time of the latest
updated value in the I/A Series control station.

TYPE When you enter “STROUT” or select it from a configurator list, an iden-
tifying integer is created specifying this block type. For this block, the
value of TYPE is 115.

2017
B0193AX – Rev N 111. STROUT – String Output Block

111.4 Functions
111.4.1 Detailed Diagram

IOM_ID
PNT_NO

String Input
from I/A Series AND STRING
System
ECB Good

Figure 111-2. STROUT Block Operational Diagram

111.4.2 Associated ECBs


The configured IOM_ID parameter of the STROUT block specifies an ECB201, (the Device
ECB) to connect to a field parameter that resides in a field device hosted by an ECB200 (the
FBM ECB). The PARENT parameter of this ECB201 specifies the ECB200. In the case of
Profibus connections, this block always connects directly to the ECB200, to output a string
parameter resident in the FBM223.

111.4.3 DCI Connections


The STROUT block establishes a DCI connection to its specified ECB in any one of the follow-
ing instances:
♦ The I/A Series control station in which it resides has just been rebooted.
♦ The block has just been installed.
♦ A parameter of the block has been modified by the ICC or FoxCAE configurator.
♦ The device or parent ECB specified by the STROUT block has just been installed.
The 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. It also allows multiple DCI
connections in the same DCI block to be established (for example, connections in redundant type
DCI blocks or for INI_PT connections in certain output type blocks).
The DCI connection is deleted (that is, the block is removed from the linked list for the ECB)
when the STROUT block is deleted.

111.4.4 Destination of Output Data


The device address receiving the output value is configured as a string in PNT_NO. The format
of PNT_NO is bus specific and device specific.
When the PIO maintenance task runs after the DCI connection has been made (see
Section 111.4.3), the PNT_NO string is passed to the FBM for parsing and validation. In DCI
blocks, PNT_NO is not parsed by the CP

2018
111. STROUT – String Output Block B0193AX – Rev N

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

111.4.5 Block Output (STRING)


Output of the STRING parameter is change driven; STRING is only sent to the external device
when it is different from the value previously sent.
Each time the STROUT block is executed (and there has been a change in STRING), the actual
string is recovered from the string pool based on the index value stored as the block parameter,
and copied to the output buffer of the block for transmission. The Write Request flag in the
buffer is set at this time.

111.4.6 Time Stamp


The time stamp (TSTAMP) parameter of the block is updated every time there has been a change
in the value of STRING. TSTAMP, which is expressed in units of milliseconds past midnight, is
computed by the I/A Series control station.

111.4.7 Auto/Manual Switching


Auto/manual switching is not supported in the STROUT block. The block functionality corre-
sponds to the Auto mode at all times.

111.4.8 Bad (BAD) and Out-of-Service (OOS) Status


The STROUT block is Out-of-Service, that is, the status of the STRING parameter is set Out-of-
Service, if:
♦ The 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.

2019
B0193AX – Rev N 111. STROUT – String Output Block

♦ 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 “DCI
Connections” on page 2018.
♦ The DCI connection status information, which specifies the condition of the con-
nected device parameter, indicates out-of-service, meaning (in general) that the
parameter value is unavailable, or
♦ The status information indicates disconnected, meaning (in general) that the parame-
ter 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 STROUT block is Bad (that is, the status of the STRING parameter is set Bad) if the ECB
status indicates that the field device has failed.

111.4.9 Loop Identification (LOOPID)


LOOPID is a configurable string which identifies the loop or process with which the block is
associated. It is displayed on the detail display, just below the faceplate.

2020
112. SWCH – Switch Block
This chapter describes the SWCH (Switch Block), its features, parameters and detailed
operations.

112.1 Overview
The Switch (SWCH) block supports a single-pole, double-throw switch element that selects one
of two real inputs. A balance feature provides switching between inputs for bumpless transfers.
Auto/Manual control of the output is also provided.

112.1.1 I/O Diagram

Manual/Auto Output
Input 1
Balance Time 1 SWCH
Input 2 BLOCK Block Status
Balance Time 2

Toggle

Figure 112-1. SWCH Block I/O Diagram

112.2 Features
The features are:
♦ Manual/Auto control of the outputs, which can be initiated by a host process or
another block
♦ User specifiable balance times in toggling from input to input to provide bumpless
switching
♦ Automatic cascade handling using an input and output parameter (back-calculate)
that includes:
♦ Initialization of cascade schemes
♦ Back calculation input/output chain from the downstream block to the upstream
block, to provide bumpless cascade operation when the cascade is open loop.
The options are:
♦ Propagate Error Option (PROPT) gives you the option of propagating the Bad, Out-
of-Service, and Error status bits from the selected input to the block’s OUT
parameter.
♦ Error Option (EROPT) determines how the block responds to an error in its INP and
BCALCI inputs.

2021
B0193AX – Rev N 112. SWCH – Switch Block

♦ Initialize Manual/Auto (INITMA) specifies the desired state of MA input during


initialization.
♦ Primary Block configuration option (PRIBLK) enables a block in a cascaded configu-
ration to initialize without bumping the process.

112.3 Parameters
Table 112-1. SWCH 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 14 SWCH
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/no-set blank 1 to 32 chars
PROPT propagate error boolean no-con/no-set 0 0 to 1
EROPT error option short no-con/no-set 1 [0|1|2]
INP1 to INP2 input 1 to 2 real con/set 0.0 RI1
HSCI1 to HSCI2 high scale in 1 to 2 real no-con/no-set 100.0 specifiable
LSCI1 to LSCI2 low scale in 1 to 2 real no-con/no-set 0.0 specifiable
DELTI1 to DELTI2 change delta 1 to 2 real no-con/no-set 1.0 percent
EI1 to EI2 eng units input string no-con/no-set % specifiable
TOGGLE switch toggle boolean con/set 0 0 to 1
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 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]
BTIME1 balance time input 1 real con/set 0.0 [0..]minutes
BTIME2 balance time input 2 real con/set 0.0 [0..]minutes
PRIBLK primary block cascade opera- boolean no-con/no-set 0 0 to 1
tion
INITI initialize in short con/set 0 0 to 1
BCALCI back calculate in real con/set 0.0 RO1
OUTPUTS
BCALC1 to BCALC2 back calculate value 1 to 2 real con/no-set 0 RI1
BLKSTA block status pack_l con/no-set 0 bit map
INITO1 initialize out 1 short con/no-set 0 0 to 1
INITO2 initialize out 2 short con/no-set 0 0 to 1
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

2022
112. SWCH – Switch Block B0193AX – Rev N

Table 112-1. SWCH Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


ERCODE config error string no-con/no-set blank 1 to 43 chars
LOCKID lock id string no-con/no-set blank 1 to 32 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 4
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

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

BCALC1 to BCALC2
Back-Calculated Output 1 or 2 (BCALC1 or BCALC2) is the value from
a SWCH/OUTSEL block that is used by a primary block (via its BCALCI
connection) to initialize its output to the current INPn input to the
SWCH/OUTSEL block.
This parameter also contains the following status bits:
Bit 10: 1 = Initialize the primary output value
Bit 13: 1 = INP1/INP2 is Limited High
Bit 14: 1 = INP1/INP2 is Limited Low
(Both B13 and B14 =1: indicates remote cascade is open)

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

2023
B0193AX – Rev N 112. SWCH – Switch Block

BLKSTA Block Status is a 32-bit output, bit-mapped to indicate the block’s opera-
tional states. For the SWCH 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

B10
B11
B12
B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

BAD
MA
ON
Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
11 MA Manual(= false)/Auto(= true) BLKSTA.B21
12 BAD Bad I/O BLKSTA.B20
14 UDEF Undefined BLKSTA.B18
15 ON Compound On BLKSTA.B17

* Bit 0 is the least significant bit (starting from the right).

BTIME1 Balance Time to Input 1 is a real input that specifies the balancing time
for toggling from Input 2 to Input 1. The output approaches the Input 1
value with a response characteristic of a first order lag having a time con-
stant of BTIME1, in minutes. The value actually input to this parameter
represents nearly one-fifth of the time that it takes the output to transfer
from the Input 2 value to the Input 1 value.

BTIME2 Balance Time to Input 2 is a real input that specifies the balancing time
for toggling from Input 1 to Input 2. The output approaches the Input 2
value with a response characteristic of a first order lag having a time con-
stant of BTIME2, in minutes. The value actually input to this parameter
represents nearly one-fifth of the time that it takes the output to transfer
from the Input 1 value to the Input 2 value.

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 DELTI2
Change Delta for Input Ranges 1 and 2 are real values that define the res-
olution as a percent of the measurement range. Entering a 1 causes the
Object Manager to recognize and respond to a change of 1 percent of the
full error range.

2024
112. SWCH – Switch Block B0193AX – Rev N

DELTO1 Change Delta for Output Range 1 is presently unused.

DESCRP Description is a user-defined string of up to 32 character that describe the


block’s function (for example, “PLT 3 FURNACE 2 HEATER CON-
TROL”).

EI1 to EI2 Engineering Units for Input Ranges 1 and 2, defined by the parameters
HSCI1 to HSCI2, LSCI1 to LSCI2, and DELTI1 to DELTI2, provide
the engineering units text for the values defined by Input Ranges 1 and 2.
“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) 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 block’s
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 SWCH 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 does not exist for given block
PHASE COMBINATION” PERIOD, or block PERIOD not
compatible with compound
PERIOD.
“W44 – INVALID High range value is less than or equal
ENGINEERING RANGE” to low range value.
“W46 – INVALID INPUT The source parameter specified in the
CONNECTION” 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 The configured value of a block
OPTION” option is illegal.
“W53 – INVALID PARAMETER A parameter value is not in the
VALUE” acceptable range.
“W58 – INSTALL ERROR; A Database Installer error has
DELETE/UNDELETE BLOCK” occurred.

2025
B0193AX – Rev N 112. SWCH – Switch Block

EROPT Error Option is a short integer. If PROPT is true, EROPT specifies how
the block responds to INP when the INP parameter is in error. EROPT
has a range of 0 to 2, where:

0= The block ignores the errors.


1= The block sets the ERROR bit in OUT if the INP parameter:
(a) has its BAD status bit set true;
(b) has its OOS status bit set true;
(c) is experiencing peer-to-peer path failure.
2= The block sets the ERROR bit in OUT if the INP parameter:
(a) has its BAD status bit set true;
(b) has its OOS status bit set true;
(c) has its ERROR status bit set true
(d) is experiencing peer-to-peer path failure.

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.

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

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
maintained, but the setting of the handshaking bits, via the INITI-INITO
connection, is eliminated.

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:

2026
112. SWCH – Switch Block B0193AX – Rev N

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

INITO1 Initialization Output 1 is set true when the block is not in Auto, or not
toggled to input INP1. While the block is in Auto, INITO1 is reset to
false when the SWCH block selects INP1. In a cascade configuration, you
link this parameter to the INITI input of the upstream block that is linked
to INP1. This enables that upstream block to sense when it is open loop.
With V4.2 or later software, BCALCI contains the initialization request
data bit eliminating the need to configure INITO1 connections. However,
to preserve backward compatibility, the INITO1 parameter has been
maintained for use in existing configurations.

INITO2 Initialization Output 2 is set true when the block is not in Auto, or not
toggled to input INP2. While the block is in Auto, INITO2 is reset to
false when the SWCH block selects INP2. In a cascade configuration, you
link this parameter to the INITI input of the upstream block that is linked
to INP2. This enables that upstream block to sense when it is open loop.
With V4.2 or later software, BCALCO contains the functions of the
INITO2 parameter eliminating the need to configure INITO2 connec-
tions. However, to preserve backward compatibility, the INITO2 parame-
ter has been maintained in existing configurations.

INP1 to INP2 Inputs 1 and 2 are inputs that are selected to monitor the output when the
TOGGLE input is false.

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 block’s
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.

2027
B0193AX – Rev N 112. SWCH – Switch Block

LOOPID Loop Identifier is a configurable string of up to 32 character 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 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 units. Make the range and units consistent with those of the
INP 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. 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 character 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.

OWNER Owner is a user-defined 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 block’s 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***

2028
112. SWCH – Switch Block B0193AX – Rev N

Period Length Period Length


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, and CP60.

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. See Integrated Control Software Concepts
(B0193AW) document.

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.
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, Foxboro 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.

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 INP param-
eter is in error while the block is in Auto. The input to the INP 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.

2029
B0193AX – Rev N 112. SWCH – Switch Block

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

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.

TOGGLE Toggle is a boolean input that performs the input selection. Input 1 is
selected when Toggle = 0 (false). Input 2 is selected when Toggle = 1.

TYPE When you enter “SWCH” or select “SWCH” from the block type list
under Show, an identifying integer is created specifying this block type.

112.4 Detailed Operation


The Switch block supports a single-pole, double-throw switch element. Switching time between
inputs is provided by independent user-specified balance times. Auto/Manual control of the out-
put is also provided.
In Auto, the Toggle input controls which input is selected at the output. If the Toggle input is
false, input 1 is selected. Upon transition of the Toggle input to true, the output drives to input 2
at a rate set by BTIME2. Upon transition of the Toggle input to false, the output drives to input
1 at a rate set by BTIME1. For the default case of BTIME1 = BTIME2 = 0, switching between
inputs is instantaneous.
When PROPT is true and the block is in Auto, the BAD, OOS, and ERROR status bits of the
selected input are copied to the output OUT.
In Manual, the output is not updated by the block. An external program can then set the output
to a desired value. Upon transfer to Auto, the block instantaneously drives the output to the input
value selected by the Toggle input.
The SWCH block has the capability of being included in a cascaded control scheme. When you
include a SWCH block in a cascade loop, configure the PRIBLK option true, implement the two
connections between each primary/secondary block combination for correct operation, and con-
figure the EROPT option to 1 or 2. These connections include BCALCI/BCALC1/BCALC2 and
OUT/RSP (or OUT/MEAS).

2030
112. SWCH – Switch Block B0193AX – Rev N

If EROPT = 0, the block does not open the cascade in response to an error of its input signals.

112.4.1 Cascade Configuration


Configuration for the SWCH block when it is used in a cascade to select which of two primary
controllers is to drive the secondary controller is shown below.
PRIBLK=0

PID OUT
OUT INP1 OUT RSP
BCALCI FBK PID
SWCH

BCALCI BCALCO
FBK
BCALCI
PID OUT INP2 BCALC1 PRIBLK=1
BCALC2
PRIBLK=0 PRIBLK=1
EROPT=1 or 2

2031
B0193AX – Rev N 112. SWCH – Switch Block

2032
113. TIM – Timer Block
This chapter describes the TIM (Timer Block), its features, parameters and detailed operations.

113.1 Overview
A Timer (TIM) block contains four individual timers that can be run by a Sequence block (IND,
DEP, or EXC) to time sequence activities. A TIM block does not contain any Sequence language
statements, only standard parameters.

113.1.1 I/O Diagram

POS_V1
MA
POS_V2
TIM
TIMR(1R–4R)
BLOCK POS_V3

TIMR(1V–4V) POS_V4

Figure 113-1. TIM Block I/O Diagram

113.2 Features
The features are:
♦ 4 independent timers per block
♦ Indicators that switch from 0 to 1 when a timer value changes from negative to
positive.
The option is:
♦ RSTMA, Restart Manual Auto, specifies the desired value of the MA parameter at
block initialization.

2033
B0193AX – Rev N 113. TIM – Timer Block

113.3 Parameters
Table 113-1. TIM 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 167 TIM
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/no-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]
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 1 real no-con/no-set 1.0 percent
EI1 eng units input string no-con/no-set % specifiable
TIMR1R to TIMR4R timer1 to timer4 running boolean con/set 0 0 to 1
TIMR1V to TIMR4V timer1 to timer4 value real con/set 0.0 ---
OUTPUTS
BLKSTA block status pack_l con/no-set 0 bit map
POS_V1 to POS_V4 timer1 to timer4 positve boolean con/no-set 0 0 to 1
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 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 eng range input real[3] no-con/no-set 100,0,1 specifiable

113.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 block’s opera-
tional states. For the TIM 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
B10
B11
WLCK B12
B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

MA
ON

2034
113. TIM – Timer Block B0193AX – Rev N

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (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

* Bit 0 is the least significant bit (starting from the right).

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 resolution
as a percent of the Timers 1 through 4 Value range. Entering a 1 causes
the Object Manager to recognize and respond to a change of 1 percent of
the full error range.

DESCRP Description is a user-defined string of up to 32 characters that describe the


block’s 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, provides the engineering units text for the
values defined by TIMR1V to TIMR4V. “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 set the block’s
DEFINE parameter to false, but not the warning situations. Validation of
configuration errors does not proceed past the first error encountered by
the block logic. The block detailed display shows the ERCODE on the
primary page, if it is not null. For the TIM block, the following list speci-
fies the possible values of ERCODE, and the significance of each value in
this block:
Message Value
“W43 – INVALID PERIOD/ PHASE does not exist for given block
PHASE COMBINATION” PERIOD, or block PERIOD not
compatible with compound
PERIOD.
“W44 – INVALID High range value is less than or equal
ENGINEERING RANGE” to low range value.

2035
B0193AX – Rev N 113. TIM – Timer Block

Message Value
“W46 – INVALID INPUT The source parameter specified in the
CONNECTION” 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 The configured value of a block
OPTION” option is illegal.
“W53 – INVALID A parameter value is not in the
PARAMETER VALUE” acceptable range.
“W58 – INSTALL ERROR; A Database Installer error has
DELETE/UNDELETE occurred.
BLOCK”

HSCI1 High Scale for Input Range 1 is a real value that defines the upper limit of
the TIMR1V to TIMR4V ranges. EI1 defines the units. Make the range
and units consistent with the timer source.

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 block’s
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 Low Scale for Input Range 1 is a real value that defines the lower limit of
the TIMR1V to TIMR4V ranges. EI1 defines the units. Make the range
and units consistent with those of the timer source.

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-

2036
113. TIM – Timer Block B0193AX – Rev N

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 user-defined 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 block’s 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*****

* 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, and CP60.

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. See Integrated Control Software Concepts
(B0193AW) document.

2037
B0193AX – Rev N 113. TIM – Timer Block

POS_V1 to POS_V4
Positive Value Timers 1 through 4 are boolean outputs that indicate
whether the Timer 1 through 4 values are positive or zero (true = 1) or
negative (false = 0). POS_V1 to POS_V4 are useful in a timeout applica-
tions. For example, enter the timeout value (in seconds) into Timer 1 as a
negative value and monitor this parameter. POS_V1 switches from nega-
tive to positive as Timer 1 value increments from a negative value to a zero
(or positive) value, thereby indicating that the timeout period has expired.

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 (TIMR1V to
TIMR4V). 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.

RSTMA Restart Manual Auto specifies the desired value of the MA parameter at
block initialization. It can have one of three values:
0 = RSTMA sets MA to 0 (Manual)
1 = RSTMA sets MA to 1 (Auto)
2 = RSTMA 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.

TIMR1R to TIMR4R
Timers 1 through 4 Running are boolean inputs which enable/disable the
four timers in TIM. For example, when true, TIMR1R enables Timer 1.
When TIMR1R is false, Timer 1 is stopped. When the sequence logic
from a DEP, IND, or EXC block executes a START_TIMER (sets
TIMR1R true) or STOP_TIMER (sets TIMR1R false) sequence language
statement, it overwrites the configured TIMR1R value.

TIMR1V to TIMR4V
Timers 1 through 4 Value are real inputs that presets the time value, in
seconds. For timeout schemes, as an example, you can enter a negative
value (and monitor POS_V1). The START_TIMER sequence language
statement can overwrite this configured value. While TIMR1R is true,
TIMR1V is updated every scheduled Basic Processing Cycle (BPC).

TYPE When you enter “TIM” or select “TIM” from a configurator list, it creates
an identifying integer specifying this block type.

113.4 Detailed Operation


The TIM block is processed when:
♦ The compound is on.

2038
113. TIM – Timer Block B0193AX – Rev N

♦ The TIM block is in automatic mode.


When a TIM block is processed, any of its timers that have been started by an Independent
(IND), Dependent (DEP), or Exception (EXC) Sequence block are updated every scheduled
Basic Processing Cycle (BPC).
Each timer is composed of a real and a boolean parameter. The timers are:

Timer Boolean Parameter Real Parameter


Timer 1 TIMR1R TIM1V
Timer 2 TIMR2R TIM2V
Timer 3 TIMR3R TIM3V
Timer 4 TIMR4R TIM4V

A Sequence (IND, DEP, or EXC) block starts a timer with a START_TIMER statement. This
sends the value true to the timer’s boolean parameter and initializes the timer value. When true,
the timer’s real parameter is updated each scheduled BPC.
A Sequence block stops a timer with a STOP_TIMER statement. The STOP_TIMER statement
sends the value false to the timer’s boolean parameter and the timer value initializes. The timer’s
real parameter is no longer updated.
In manual mode, the TIM block is not processed.
Within a BPC, the block processing order is as follows:
♦ Continuous
♦ Monitor and Timer
♦ Exception
♦ Independent and Dependent
♦ Extension of Continuous Blocks.
If the block processor cannot process all blocks in a scheduled BPC, there is a Basic Processing
Cycle (BPC) overrun. The system produces an error message to indicate when an overrun occurs.

NOTE
In a serious system overload, TIM blocks are always processed, even if it delays the
next BPC.

2039
B0193AX – Rev N 113. TIM – Timer Block

2040
114. VLV – Valve Block
This chapter describes the VLV (Valve Block), its features, parameters and detailed operations.

114.1 Overview
The On/Off Valve block (VLV, Figure 114-1) provides open/close control of a motor or air oper-
ated valve and interfaces to a discrete type FBM (Fieldbus Module). The block supports a 2-wire
configuration using a single sustained output. VLV supports both Manual and Auto operational
modes. The VLV block also provides mismatch timeout alarming of the valve’s sensed limit posi-
tions.

Disable
MA COUT
Auto
Auto Open FBM
Point No.
Man. Open Manual

Open/Close Time Mismatch


Time-Position
Valve Status Comparison

Figure 114-1. VLV Block Diagram

114.2 Features
The features are:
♦ Manual/Auto mode for “remote” control of valve
♦ Auto and Manual latch switch inputs (AUTSW and MANSW) that allow the block
to be switched to Auto or Manual
♦ Open loop indication to upstream blocks
♦ Timed indication of a mismatch between the desired state and the actual state of the
valve
♦ State mismatch alarming
♦ Bad FBM alarming
♦ Alarm message Inhibit
♦ Disable input for “local” control of final operator device
♦ Failsafe support.
The options are:
♦ Fieldbus Module Option (IOMOPT) specifies whether an FBM connection to the
block exists.

2041
B0193AX – Rev N 114. VLV – Valve Block

♦ Initialize Manual/Auto (INITMA) specifies the desired state of the MA input during
initialization.
♦ Manual If Failsafe (MANFS) when configured true, drives the block to the Manual
state if the block detects an incoming failsafe status.
♦ Inhibit Option (INHOPT) allows you to specify alarm inhibit options.
♦ Desired State Request Track (DSRTRK) option when set true, forces Manual/Auto
DSR parameters to track each other and prevents these parameters from being set
while the block is not in the parameter’s designated state.

114.3 Parameters
Table 114-1. VLV 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 27 VLV
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/no-set blank 1 to 32 chars
IOMOPT FBM output option short no-con/no-set 0 0 to 3
IOM_ID FBM reference string no-con/no-set blank ---
PNT_NO FBM point number string no-con/no-set 1 [1..32]
AUTOPN auto open request boolean con/set 0 0 to 1
MANOPN manual open request boolean con/set 0 0 to 1
DISABL disable input boolean con/set 0 0 to 1
CLSLIM valve close limit boolean con/set 0 0 to 1
OPNLIM valve open limit switch boolean con/set 0 0 to 1
TOC open/close time real no-con/no-set 0.0 [0..]minutes
ANM alarm name point 1 string no-con/no-set blank 1 to 12 chars
NM0 to NM1 alarm state name string no-con/no-set blank 1 to 12 chars
MA manual/auto boolean con/set 0 0 to 1
INITMA initialize MA short no-con/no-set 1 [0|1|2]
MANSW manual switch boolean con/set 0 0 to 1
AUTSW auto switch boolean con/set 0 0 to 1
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
INHALM inhibit alarm pack_b con/set 0 0 to FFFF
SAP state alarm priority integer con/set 5 [1 to 5]
SAG state alarm group short no-con/set 1 [1 to 8]
BAP bad alarm priory integer con/set 5 [1 to 5]
BAG bad alarm group short no-con/set 1 [1 to 8]
BAT bad alarm text string no-con/no-set blank 1 to 32 chars
RSMMOP reset mismatch option boolean no-con/no-set 0 0 to 1

2042
114. VLV – Valve Block B0193AX – Rev N

Table 114-1. VLV Block Parameters (Continued)

Name Description Type Accessibility Default Units/Range


DSRTRK DSR tracking boolean no-con/set 0 0 to 1
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
CRIT criticality integer con/no-set 0 [0..5]
FS failsafe state boolean con/no-set 0 0 to 1
INHSTA inhibit status pack_l con/no-set 0 0 to FFFF
INITO initialize out short con/no-set 0 0 to 1
MMAIND mismtch alarm indicator boolean con/no-set 0 0 to 1
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 FFFF
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
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 ---
TCOUNT timeout count integer no-con/no-set -2 block executions
TTOTAL timeout length integer no-con/no-set 1 block executions

114.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 VLV block, only the following unshaded 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
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9

2043
B0193AX – Rev N 114. VLV – Valve Block

Bit
Number* Configured Alarm Option Boolean Connection
(0 to 31) When True (B32 to B1)
0 Alarm Group 8 in Use ALMOPT.B32
1 Alarm Group 7 in Use ALMOPT.B31
7 Alarm Group 1 in Use ALMOPT.B25
22 Bad I/O Alarm Configured ALMOPT.B10
* Bit 0 is the least significant bit (starting from the right)

There are no mnemonic names for the individual bits of ALMOPT.

ALMSTA Alarm Status is a 32-bit output, bit-mapped to indicate the block’s alarm
states. For the VLV 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
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
UNAK B2
B3
B4
B5
B6
B7
B8
B9

CRIT PRTYPE
BAD
INH

Boolean
Bit Number Connection
(0 to 31)* Name Description When True (B32 to B1)
0 to 4 PTYP_MSK Priority Type: See parame- ALMSTA.B32–
ter PRTYPE for values ALMSTA.B28
used in the VLV block
5 to 7 CRIT_MSK Criticality; 5 = lowest pri- ALMSTA.B27–
ority, 1= highest ALMSTA.B25
22 BAD Input/Output Bad (BAD ALMSTA.B10
output of block)
29 INH Alarm inhibit ALMSTA.B3
30 UNAK Unacknowledged ALMSTA.B2
* Bit 0 is the least significant bit (starting from the right)

ANM Alarm Name is a user-specified character string in which the user can use
to identify the source of any alarm message associated with the respective
block. It serves as a point descriptor label.

AUTOPN Auto Open is a boolean input. While the block is in Auto, a positive tran-
sition at AUTOPN sets COUT true. While the block is in Auto, a nega-
tive transition at AUTOPN resets COUT to false. If DSRTRK is set true,

2044
114. VLV – Valve Block B0193AX – Rev N

an unlinked AUTOPN input tracks the MANOPN input when the block
is in Manual.

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.

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

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 the block’s opera-
tional states. For the VLV 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
B10
B11
WLCK B12
B13
B14
B15
B16
B17
UDEF B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
B2
B3
B4
B5
B6
B7
B8
B9
MAO

FBM
DSR
DSB

BAD
LRO

MA
ON
FS

Boolean
Bit Number* Connection
(0 to 31) Name
Description When True (B32 to B1)
8 FBM
FBM Failure BLKSTA.B24
11 MA
Manual(= false)/Auto(= BLKSTA.B21
true)
12 BAD Bad I/O BLKSTA.B20
14 UDEF Undefined BLKSTA.B18
15 ON Compound On BLKSTA.B17
20 WLCK Workstation Lock BLKSTA.B12
22 DSR DSR Mismatch BLKSTA.B10
23 DSB Disabled BLKSTA.B9
24 FS Failsafe BLKSTA.B8
26 MAO Manual/Auto Override BLKSTA.B6
* Bit 0 is the least significant bit (starting from the right).

2045
B0193AX – Rev N 114. VLV – Valve Block

CLSLIM Close Limit is an input pointing to the program or block that monitors
the state of the Valve-Closed Limit Switch.

COUT Contact Out is the block’s boolean output (1 = Open; 0 = Close). During
normal operation (when DISABL is false), the selected input is written to
COUT. COUT is written to the addressed channel of the FBM when
IOMOPT is true.The VLV block always secures this output. Refer to the
MA and DISABL definitions for details on how they affect block opera-
tion.

CRIT Criticality is an integer output that indicates the priority, ranging from 1
to 5, of the block’s 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. 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


block’s 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 identifier of the connected FBM or FBC. DEV_ID differs from
IOM_ID in that it is a character array rather than a string type, and does
not allow the use of the ECB NAME parameter or ECB pathname in
specifying the connected FBM or FBC.

DISABL Disable is a boolean input. When true, DISABL sets the output COUT to
false, and inhibits normal block operation in either Auto or Manual mode.
While DISABL is false (block enabled), the block accepts requests from
either the AUTOPN or MANOPN inputs. DISABL is independent of
MA, and has a higher priority.

DSRTRK Desired State Request Track option, when set true, forces unlinked Man-
ual/Auto DSR parameters to track each other. DSRTRK also prevents the
setting of these parameters while the block is not in the parameter’s desig-
nated state. (For example, in the VLV block, AUTOPN cannot be set in
the Manual state, and MANOPN cannot be set in the Auto state.) DSR-
TRK is a configurable boolean option that can be set at any time, regard-
less of the compound or block state. However, once DSRTRK is enabled,
it can be disabled only by performing a delete/undelete of the block.

ERCODE Error Code is a string data store which indicates the type of configuration
error or warning encountered. The error situations cause the block’s
DEFINE parameter to be set false, but not the warning situations. Valida-
tion of configuration errors does not proceed past the first error encoun-

2046
114. VLV – Valve Block B0193AX – Rev N

tered by the block logic. The block detailed display shows the ERCODE
on the primary page, if it is not null. For the VLV 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 does not exist for given
PHASE COMBINATION” block PERIOD, or block PERIOD
not compatible with compound
PERIOD.
“W46 – INVALID INPUT The source parameter specified in
CONNECTION” the input connection cannot be
found in the source block, or the
source parameter is not connectable,
or an invalid boolean extension con-
nection has been configured.
“W48 – INVALID BLOCK The configured value of a block
OPTION” option is illegal.
“W51 – INVALID An I/O block is connected to an
HARDWARE/SOFTWARE ECB or the wrong type.
TYPE”
“W52 – INVALID I/O An I/O block is connected to an
CHANNEL/GROUP ECB when the specified point num-
NUMBER” ber is invalid or when the specified
group or octet number is invalid.
“W53 – INVALID PARAME- A parameter value is not in the
TER VALUE” acceptable range.
“W54 – ECB DOES NOT An I/O block has a connection to an
EXIST” ECB that does not exist or has not
yet been installed. When the ECB is
installed, previously installed I/O
blocks waiting for that ECB will ini-
tialize automatically.
“W58 – INSTALL ERROR; A Database Installer error has
DELETE/UNDELETE occurred.
BLOCK”
“W59 – DUPLICATE OUT- This block and another output
PUT CHANNEL” block are connected to the same
output point. Since this may be
intentional, this message is only a
warning.

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.

2047
B0193AX – Rev N 114. VLV – Valve Block

INHALM Inhibit Alarm contains packed boolean values that represent alarm inhibit
requests for each alarm type or point configured in the block. For the VLV
block, only the following bits are used:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

B10

B11

B12

B13

B14

B15

B16
B1

B2

B3

B4

B5

B6

B7

B8

B9
Bit Number* Boolean Connection
(0 to 15) Description When True (B16 to B1)
13 Inhibit Alarm INHALM.B3
14 Unacknowledged INHALM.B2

* Bit 0 is the least significant bit (starting from the right).


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

2048
114. VLV – Valve Block B0193AX – Rev N

INHSTA Inhibit Status contains packed long values that represent the actual inhibit
status of each alarm type configured in the block. For the VLV 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

B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B1
UNACK B2
B3
B4
B5
B6
B7
B8
B9
INH

Bit Boolean
Number* Connection
(0 to 31) Name Description When True (B32 to B1)
29 INH Inhibit Alarm INHSTA.B3
30 UNACK Unacknowledged INHSTA.B2
* Bit 0 is the least significant bit (starting from the right)

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 Integrated Con-
trol 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.

2049
B0193AX – Rev N 114. VLV – Valve Block

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.

IOMOPT Fieldbus Module Option is a short integer that specifies whether an FBM
connection to the block exists. IOMOPT for the VLV block has a range of
0 to 1, where:
0= The block outputs are not connected to an FBM. This option
may be used for simulation, or for connecting COUT as an
input to other blocks.
1= The block outputs are connected to a discrete-type FBM speci-
fied by the IOM_ID and COUT.

IOM_ID Fieldbus Module Identifier is a string that specifies the FBM or FBC to
which the block is connected. IOM_ID can be either:
♦ The 6-character letterbug of the FBM or FBC. The ECB must
reside in the local compound <cp_letterbug>_ECB, where
cp_letterbug is the station letterbug of the CP.
♦ The full pathname of the ECB. The ECB must be local but can
reside in any compound. The pathname must be of the form
<local_compound_name>:<ecb_name>, where <ecb_name> is the
NAME parameter of the ECB.

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 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 block’s 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.

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

2050
114. VLV – Valve Block B0193AX – Rev N

put is unsecured. An external program can then set the output to a desired
value.

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.

MANOPN Manual Open is a boolean input that begins with an operator request
through the HI interface. A positive transition at MANOPN, while the
block is in Manual, set COUT to true. If DSRTRK is true, an unlinked
MANOPN input is secured and it tracks the AUTOPN input when the
block is in Auto.

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.

MMAIND Mismatch Indicator is a boolean output that is set true whenever the
sensed state of the valve (determined by OPLIM and CLSLIM) does not
match the requested state within the timer interval, TOC. The block gen-
erates an alarm when it sets MMAIND true, if the INHIB input is false.

NAME Name is a user-defined string of up to 12 characters used to access the


block and its parameters.

NM0 Name 0 is a user-defined string of up to 12 characters. NM0 describes in


alarm reports the action generated by the mismatch indicator MMAIND
returning from alarm.

NM1 Name 1 is a user-defined string of up to 12 characters. NM1 describes, in


alarm reports, the action generated by the mismatch indicator MMAIND
going into alarm.

OPNLIM Open Limit is an input pointing to the program or block that monitors
the state of the Valve-Open Limit Switch.

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 block’s 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

2051
B0193AX – Rev N 114. VLV – Valve Block

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*****

* 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, and CP60.

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. See Integrated Control Software Concepts
(B0193AW) document.

PNT_NO Point Number specifies the point number on the FBM terminal board
that connects to a field device.

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
8 = BAD Alarm
9 = State Alarm.

RSMMOP Reset Mismatch Option is used to specify that the DSR input be reset
when a mismatch alarm occurs in a VLV block.
0 = No reset action.
1 = Reset DSR inputs if mismatch alarm occurs.

2052
114. VLV – Valve Block B0193AX – Rev N

SAG State Alarm Group is a short integer input that directs mismatch alarm
messages to the corresponding group of alarm devices. You can change the
group number through the workstation.

SAP State Alarm Priority is an integer input that sets the alarm priority for the
mismatch alarm reporting (1 is the highest priority).

TCOUNT Timeout Count is an integer used by the VLV block as a temporary value
in counting the alarm timeout.

TOC Time to Open or Close is the delay, in minutes, before the comparison for
mismatch is made. Configure a delay at least as great as the maximum
time required for the valve to go from one state to the other. To avoid
truncation, set TOC equal to an integral multiple of the PERIOD.

TTOTAL Timeout Length is an integer used by the VLV block as a local value con-
taining the total number of block executions in the alarm timeout for out-
put mismatch.

TYPE When you enter “VLV”, or select “VLV” from a configurator list, it creates
an identifying integer 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.

2053
B0193AX – Rev N 114. VLV – Valve Block

114.4 Functions
114.4.1 Detailed Diagram

DISABL
AUTSW
Auto IOM_ID
AUTOPN MA PNT_NO
COUT

MANOPN Manual
MANSW
TOC
Time-Position
OPNLIM MAIND
CLSLIM Comparison

INHIB

IOMOPT AND COUT.OOS


ECB OOS
INITO.OOS
CRBK.OOS
COUT.SECURE
ECB Bad
OR BAD
Readback AND
Point Status COUT.BAD
Bad IOMOPT
INITO.BAD
CRBK.BAD
COUT.SECURE

Failsafe Bad
BAO AND Alarming
Detection AND
Manual
OR FS

Auto AND Open


Cascade INITO
Transition Cycle Detection

Figure 114-2. VLV Detailed Diagram

114.4.2 Detailed Operation


The VLV block provides open/close control of motor or air operated valves. The block supports
the 2-wire configuration using a single sustained output and interfaces with discrete-type FBMs
with Sustained or Momentary configurations.
The VLV block has an operator (Manual) mode and an external (Auto) mode. In Manual, the
block accepts operator-set Open/Close action to the MANOPN input. In Auto any block, task,
or application program can initiate the Open/Close action to the AUTOPN input.
The VLV block drives the I/O directly to either the fully open (COUT = 1) or the fully closed
(COUT = 0) position. Local circuitry normally disables valve drive when the valve reaches either
extreme.

2054
114. VLV – Valve Block B0193AX – Rev N

Unlinked desired state request (DSR) parameters can be changed as follows:


♦ MANOPN can be changed when the block is in Manual, or while the block is in
Auto, provided DSRTRK is true.
♦ AUTOPN can be changed while the block is in Auto. AUTOPN can also be changed
while the block is in Manual, if DSRTRK is set true.

114.4.3 2-Wire Configuration Using Sustained Output


Key Parameters: COUT, AUTOPN, MANOPN, IOM_ID, IOMOPT, PNT_NO, OPLIM
In a 2-wire configuration, COUT is the sustained Open/Close or drive contact:
COUT = 1 = Open
COUT = 0 = Close
During normal 2-wire operation (DISABL = false), the selected input (AUTOPN or MANOPN)
is written to COUT. The block drives COUT directly to either the Open or the Close position
(Figure 114-3). When an FBM is connected for outputs (that is, IOMOPT = 1), the value of
COUT is copied to the output point specified by IOM_ID and PNT_NO.

2 - wire
DISABL
AUTOPN + MANOPN
COUT

Figure 114-3. 2-wire Typical Timing Diagram

If the block is in I/O simulation mode (IOMOPT = 0), MANOPN, AUTOPN, and COUT ini-
tialize to the current setting of the OPNLIM switch. If the block is in I/O mode (IOMOPT = 1),
they are initialized to the current contact output value read back from the device. This ensures
that the valve state remains unchanged across reinitializations.

114.4.4 Output Processing


Key Parameters: IOM_ID, PNT_NO, COUT
The block output COUT is mapped to physical I/O point by specifying the Letterbug ID of the
discrete-type FBM and the output point number. You specify the destination FBM in the Field-
bus Module Identifier (IOM_ID) parameter, and the point within the FBM by the Point Number
(PNT_NO) parameter.
At the beginning of an I/O read cycle, the addressed FBM output channel is read and the value is
stored in the ECB for that FBM. When the block initializes, this value is used to update the input
parameter, assuming this parameter has no connection from other blocks.
The VLV block drives the I/O directly to either the fully open (COUT = 1) or the fully closed
(COUT = 0) position. Local circuitry normally disables valve drive when the valve reaches either
extreme.
The MTR block interfaces with discrete-type FBMs that have either sustained or momentary
configurations.
The following are the FBMs and point numbers providing valid output destinations for the MTR
block:

2055
B0193AX – Rev N 114. VLV – Valve Block

FBM Electrical Type Valid Output Points


FBM219 Contact or dc In; Output Switch with Internal or External Points 25 to 32
Source
FBM241 Contact or dc In; Output Switch with Internal or External Points 9 to 16
Source
FBM242 Contact Output; Output Switch with External Source Points 1 to 16
FBM09 Contact or dc In; Output Switch with Internal or External Points 9 to 16
Source
FBM10 120 V ac In; 120 V ac Output Switch Points 9 to 16
FBM11 240 V ac In; 240 V ac Output Switch Points 9 to 16
FBM14 Contact or dc In; Output Switch with Internal or External Points 25 to 32
Source Expansion
FBM15 120 V ac In; 120 V ac Output Switch Expansion Points 25 to 32
FBM16 240 V ac In; 240 V ac Output Switch Expansion Points 25 to 32
FBM17 Contact or dc In; Output Switch with Internal or External Points 11 to 14
Source (Plus Analog I/O)
FBM26 Contact or 125 V dc or Contact Externally Powered In; Points 9 to 16
Externally Powered Output Switch
FBM27 Contact or 125 V dc or Contact Externally Powered In; Points 25 to 32
Externally Powered Output Switch Expansion

114.4.5 Auto/Manual State Tracking


Key Parameters: DSRTRK, MANOPN, AUTOPN
The block sets all unlinked DSR parameters (MANOPN and AUTOPN) to the actual output
state, on any block Manual-Hold-Auto transition except for the Hold-to-Auto transition.
If DSRTRK is set true, the block, while in Auto, secures the unlinked MANOPN parameter and
has it track AUTOPN. In Manual, with DSRTRK set true, the unlinked AUTOPN parameter is
secured and tracks MANOPN.

114.4.6 Disable Mode


Key Parameters: DISABL, COUT
The DISABL input, when true, inhibits normal block operation in either Auto or Manual modes
and the block outputs are set to the STOP states. In addition, the block output COUT is set to
false and mismatch alarming is inhibited. You can drive DISABL with a local field contact and use
it as a permissive input for maintenance or local control. If DISABL is true, the block:
♦ Continues to perform alarm detection, alarm message acknowledgment, and limit
switch updating
♦ Indicates the actual position of the upstream device
♦ Inhibits operation in the Auto or Manual mode
♦ Sets COUT to false

2056
114. VLV – Valve Block B0193AX – Rev N

When DISABL is false (block enabled), the block operates according to the MA status. In all
modes of operation, the block always secures the COUT output.
For bumpless transitions out of DISABL mode, the block initializes the MANOPN/AUTOPN
parameters to the state of the block’s boolean outputs.

114.4.7 Alarming

114.4.7.1 Mismatch
Key Parameters: OPNLIM, CLSLIM, RSMMOP, AUTOPN, MANOPN, COUT
A mismatch indicator is set true, and a mismatch alarm is generated, if the actual state of the valve
does not match the requested state within the user-specified Time to Open or Close (TOC). The
open state is determined by the open limit switch (OPNLIM) feedback input and the closed state
by the close limit switch (CLSLIM) feedback input. A mismatch alarm also occurs if both limit
switches are true at the same time (invalid state).
The option parameter RSMMOP (Reset Mismatch Alarm Option), when true, causes the
AUTOPN or MANOPN parameter to be reset to its original state when a mismatch alarm
occurs. This allows you to retry the original request action, without having to toggle the request
parameter in the wrong direction, by creating a leading edge for the timeout to begin again.
Mismatch alarms are cleared, and return-to-normal messages are generated, when the alarm is
acknowledged by the operator, or the OPNLIM or CLSLIM input indicates that the field device
has changed state as requested.
If COUT changes state (from OPEN to CLOSE, or CLOSE to OPEN) before the valve reaches
the first state, and before a mismatch timeout could occur, a new time count is begun.
The open limit (OPNLIM) and the close limit switch (CLSLIM) feedback inputs are normally
connected from a CIN block. It either input goes bad, the block can be placed in Manual to dis-
able the block. In addition, alarm inhibit (INHIB) can be set true to inhibit erroneous alarms
until the bad OPNLIM or CLSLIM input is repaired.

114.4.7.2 Bad FBM


Key Parameters: AUTO, MANUAL, DISABL, COUT
If the FBM becomes non-operational (BAD), the block enters the BAD state and the output
(COUT) remains at the last known driven state of the FBM contact. BAD is a higher priority
state than the AUTO, MANUAL and DISABLE states. No requests of the AUTOPN and MAN-
OPN inputs are processed, and the DISABL input is not honored; that is, setting the DISABL
input true while the block state is BAD does not set COUT to false. On a transfer from BAD to
normal, the ECB is read and this value is stored in the controlling input parameter, assuming
there is no connection to this parameter from other blocks.

114.4.7.3 Alarm Acknowledge


Key Parameter: UNACK
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.

2057
B0193AX – Rev N 114. VLV – Valve Block

114.4.8 Block Initialization


Key Parameter: INITO, MANOPN, AUTOPN, COUT
An Initialization Out parameter, INITO, provides a mechanism for indicating an open-loop con-
dition in the VLV block. The VLV block is open looped if; it is initializing, or the FBM is bad, or
the block is in Manual, or the mismatch alarm indicator is true, or the DISABL input is true. Pro-
grams and upstream blocks can use INITO to sense when this block is open loop.
If the block is in I/O mode (IOMOPT = 1), COUT is initialized to the current contact output
value read back from the device. This ensures that the valve state remains unchanged across reini-
tializations.

114.4.9 Failsafe Action


Key Parameter: MANFS, FS
When the block detects that it is recovering from an FBM failure, it checks the appropriate chan-
nel bits in the FSAFE parameter in the ECB to determine if the failure was a Communications
Failure. If the associated channel bits are true in FSAFE, the block parameter FS is set true. If the
block is Auto and MANFS is false, FS is cleared in one block cycle. If MANFS is true, the block is
switched from Auto to Manual. If the block was either already in Manual or if it switches to Man-
ual, FS remains set true until the block switches to Auto or until the output parameter is written
to by the user.
On the cycle that the block recovers from a failure or initializes, the block reads back the output
value from the FBM. This value is either the FBM Hold value or the Fallback value dependent
upon the configuration of the FBM failsafe mask and failsafe data.

114.4.10 Validation Checks


Duplicate output channel detection alerts you to the fact that this block and another block capa-
ble of digital outputs are connected to the same output point. This does not necessarily constitute
a conflict, since the other block can be in a compound which is not scheduled to run at the same
time as the compound containing this VLV block, or the duplicate connection can be used as part
of an elaborate control scheme.
When the VLV block undergoes one of the following actions, the entire data base is checked for
duplicate output channels:
♦ The block is installed.
♦ The IOMOPT parameter is modified.
♦ The IOM_ID parameter is modified.
♦ A 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.
All blocks connected to the same output point receive the DUPLICATE OUTPUT CHANNEL
warning message, but are not set Undefined.

2058
114. VLV – Valve Block B0193AX – Rev N

114.4.11 Block Mode Control


Key Parameters: DISABL, MA
The operating mode control parameters are DISABL and MA with DISABL having the highest
priority. The status of these parameters determines the block operating mode as shown in
Table 114-2.

Table 114-2. VLV Block Mode Control

DISABL MA Resulting Mode


True * Disable
False False Manual
False True Auto
*Don’t care

114.5 Application Example


A typical application example for the VLV block is shown in Figure 114-4. Connecting the out-
put to the FBM is optional. If you connect the output to an FBM, the output is sent to the FBM
(IOM_ID) and point number (PNT_NO) as specified.
The block operation can be disabled without turning off the compound. If the block DISABL is
TRUE, then block operation is suspended. Since DISABL is a connectable parameter, a field
switch can disable the block preventing inadvertent device operation while maintenance is being
performed.
In this application, the valve opens when a low measurement alarm occurs in a PIDA block. The
AUTOPN input comes from a task (process display, another block, etc.) external to the block,
and is repeated at the output (COUT) when the block is in automatic. In Figure 114-4 the
AUTOPN input comes from the :PIDA.MEASL1. The true AUTOPN parameter corresponds to
an open request. The MANOPN input is used when the block is in manual; manipulated by the
faceplate.
A mismatch alarm provides notification that the output has not produced the desired result. In
this example, limit switches, mounted on the valve, indicate a fully open or fully closed position.
The limit switches are connected through an MCIN block to the VLV block’s CLSLIM and
OPNLIM parameters. Assume full traverse from closed to open normally takes 15 seconds. If a
traverse from closed to open takes longer than the time allotted by the TOC parameter, a mis-
match alarm is generated. Notification is in the form of messages sent to a printer, boolean output
MMAIND becomes TRUE, and a STATE alarm is indicated in the block’s faceplate.

2059
B0193AX – Rev N 114. VLV – Valve Block

PIDA
MEASLI
Field
AUTOPN Switch
CLSLIM
OPNLIM VLV CIN* FBM**
DISABL

MCIN*

FBM**
*CIN and MCIN can be one MCIN
**These can be one FBM
FBM**
A/S Solenoid
SOL
Valve

Upper Limit Switch


Lower Limit Switch

Figure 114-4. VLV Block Application

33 Commercial Street
Foxboro, Massachusetts 02035-2099
United States of America
www.foxboro.com
Inside U.S.: 1-866-PHON-IPS (1-866-746-6477)
Outside U.S.: 1-508-549-2424 or contact your local Foxboro representative.
Facsimile: 1-508-549-4999
Printed in U.S.A. 1002

You might also like