instalation of PAC toolkit for Ovation351...
APC Toolkit 3.2 (fo r Ovation r eleases 3.3.1 and 3.4.0) APC_002
February 2012
Copyright Notice Since the equipment explained in this document has a variety of uses, the user and those responsible for applying this equipment must satisfy themselves as to the acceptability of each application and use of the equipment. Under no circumstances will Emerson Process Management be responsible or liable for any damage, including indirect or consequential losses resulting from the use, misuse, or application of this equipment. The text, illustrations, charts, and examples included in this manual are intended solely to explain TM the use and application of the Ovation Unit. Due to the many variables associated with specific uses or applications, Emerson Process Management cannot assume responsibility or liability for actual use based upon the data provided in this manual. No patent liability is assumed by Emerson Process Management with respect to the use of circuits, information, equipment, or software described in this manual. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, including electronic, mechanical, photocopying, recording or otherwise without the prior express written permission of Emerson Process Management. The document is the property of and contains Proprietary Information owned by Emerson Process Management and/or its subcontractors and suppliers. It is transmitted in confidence and trust, and the user agrees to treat this document in strict accordance with the terms and conditions of the agreement under which it was provided. This manual is printed in the USA and is subject to change without notice. Ovation is the mark of Emerson Process Management. Other marks are the property of their respective holders. Copyright © Emerson Process Management Power & Water Solutions, Inc. All rights reserved. Emerson Process Management Power & Water Solutions 200 Beta Drive Pittsburgh, PA 15238 USA E-Mail:
[email protected] Website: https://www.ovationusers.com
Summary of Changes APC Too lk it 3.2 (for Ovati on rel eases 3.3.1 and 3.4.0) APC_002 February 2012 This version of APC Toolkit 3.2 (for Ovation releases 3.3.1 and 3.4.0) includes the following new information:
Added online help for each algorithm (see page 23).
Updated the BLOWER algorithm definitions table to include new parameters (see page 308).
Updated the TEMPRO algorithm definitions table to include a new parameter (see page 355). Updated the DMC algorithm definitions table to include new parameters (see page 54).
Updated the DMC auxiliary algorithm definitions table to include new parameters (see page 64).
Added new information on the DMC algorithm MV bump protection feature (see page 89).
Added a new algorithm, Dynamic Predictor algorithm (DPA) (see page 105).
Added status codes to the STAT Code table for the EDEVICE algorithm (see page 122).
Updated the PBLOCK algorithm with various updates and corrections (see page 219).
Added a new algorithm, SCStepNA (see page 277).
Updated the Rules section for using the Ovation Sequence Coordinator algorithm package (see page 252).
Made miscellaneous corrections and clarifications to the manual.
Contents 1
Introduct ion to the Advanced Proce ss Control (APC) ToolKit
1.1
What is the Advanced Process Control (APC) ToolKit? .....................................................1
1.2
Configuration and programming tools................................................................................. 1
1.3
What is the role of the Ovation Control Builder with the APC Toolkit? ...............................2
1.4 1.5
What is the Ovation Advanced Controller?.........................................................................3 What is the Ovation Model Builder?....................................................................................4
2
Installing th e APC ToolKi t
2.1
Overview of installing the APC software on a Windows-based Ovation system ................5 2.1.1 To install the APC base software on Windows ................................................. 5 2.1.2 To insert Advanced Controller drops.................................................................7 2.1.3 To insert a drop point ...................................................................................... 10 2.1.4 To install the algorithms ..................................................................................12
3
Using advance d algorit hms on a contr ol sheet
3.1
Overview of using advanced algorithms in your control scheme...................................... 15
3.2
Accessing the Control Builder...........................................................................................16 3.2.1 To access the Control Builder in a Windows-based Ovation system..............16 Adding advanced algorithms to a control sheet ................................................................17
3.3 3.4
3.5 3.6 3.7
3.8
1
5
15
3.3.1 To add advanced algorithms to a control sheet ..............................................17 Editing advanced algorithm parameters in the Control Builder.........................................19 3.4.1 To use the Property Editor to edit advanced algorithms .................................19 3.4.2 To use the Advanced Applications Studio to view and edit advanced lgorithms ..........................................................................................................21 Using the Control Builder online help system ................................................................... 23 Loading sheets to the Controller ....................................................................................... 26 3.6.1 To load sheets in a Windows-based Ovation system .....................................26 Viewing advanced algorithms in Signal Diagrams............................................................27 3.7.1 To access signal diagrams from the Windows-based Ovation Applications window ........................................................................................27 3.7.2 To access the Advanced Tuning window for APC Toolkit algorithms in signal diagrams ............................................................................................... 29 Reconciling tuning changes in a Windows-based Ovation system...................................30 3.8.1 To reconcile tuning changes between the Controller and the database for Windows-based Ovation systems ..............................................................30 3.8.2 To reconcile tuning changes between the database and the Control Builder. 31
4
Al go ri th m r eferenc e page form at
4.1
Using algorithm reference pages ...................................................................................... 33 4.1.1 Algorithm functional symbols...........................................................................34
APC_002
33
i
Table of Contents
5
Using the ARX M odel algorit hm
5.1
What is the ARX model algorithm? ...................................................................................35
5.2
ARX model algorithm functional symbol ...........................................................................36
5.3
5.4
Accessing advanced editing for the ARX model algorithm in the Control Builder ............36 5.3.1 ARX model algorithm Input/Output Configuration tab.....................................37 5.3.2 ARX model algorithm ARXModel Parameters tab ..........................................38 ARX model algorithm operation with fuzzy logic algorithms .............................................39
5.5
ARX model algorithm tracking signals ..............................................................................39
5.6
ARX model algorithm I/O pins...........................................................................................40
5.7
ARX model algorithm definitions.......................................................................................40
5.8
ARX model algorithm auxiliary LC records .......................................................................45
6
Using th e Dyna mic Matrix Controller (DM C) algori thm
6.1
What is the DMC algorithm? .............................................................................................49
6.2
DMC algorithm functional symbol ..................................................................................... 50
6.3
6.4
Accessing advanced editing for the DMC algorithm in the Control Builder ......................51 6.3.1 DMC Input/Output Configuration tab ...............................................................51 6.3.2 DMC General Parameters tab......................................................................... 52 6.3.3 DMC Auxiliary Parameters tab ........................................................................53 DMC algorithm definitions ................................................................................................. 54
6.5
Auxiliary DMC algorithm definitions ..................................................................................64
6.6
DMC algorithm status of optimization (STAT) output .......................................................88
6.7
DMC algorithm tracking signals ........................................................................................88
6.8
DMC algorithm MV bump protection.................................................................................89
6.9
6.10
ii
35
49
6.8.1 DMC algorithm MV bump protection example ................................................90 6.8.2 To configure MV bump protection ................................................................... 92 DMC algorithm cascaded mode and conditional tracking................................................. 93 6.9.1 DMC multi-variable control example ...............................................................96 6.9.2 Using DMC control in a power plant--examples............................................ 100 Accessing the tuning window for the DMC algorithm in signal diagrams .......................103 6.10.1 DMC Trajectories tab ....................................................................................103 6.10.2 DMC Tuning Parameters tab......................................................................... 104
APC_002
Table of Contents
7
Using the Dynamic Predictor
7.1
What is the Dynamic Predictor algorithm?......................................................................105
7.2
DPA Functional Symbol ..................................................................................................106
7.3
DPA Limits and Anti-Windup...........................................................................................107
7.4
DPA Force to Stable State function ................................................................................107
7.5
DPA Time Constants....................................................................................................... 108
7.6
DPA Gain ........................................................................................................................ 109
7.7
DPA Tracking ..................................................................................................................109
7.8 7.9
DPA Quality..................................................................................................................... 110 Accessing advanced editing for DPA in the Control Builder ...........................................111
7.10
DPA algorithm definitions................................................................................................112
7.11
DPA Use Cases ..............................................................................................................113
8
Using the EDEVICE algor ith m
8.1
What is the EDEVICE algorithm? ...................................................................................115
8.2
EDEVICE functional symbol............................................................................................ 116
8.3
8.4
Operating modes............................................................................................................. 116 8.3.1 Auto commands ............................................................................................117 8.3.2 Manual commands ........................................................................................117 8.3.3 Local and tagout modes ................................................................................117 Emergency commands ...................................................................................................117
8.5
Device ready input signal (DRDY) ..................................................................................117
8.6
Permissive inputs ............................................................................................................117
8.7
Changing the direction of move ...................................................................................... 117
8.8 8.9
Feedback inputs.............................................................................................................. 118 8.8.1 Feedback signals filtering..............................................................................118 Auxiliary inputs ................................................................................................................ 118
8.10
Digital output signals ....................................................................................................... 118
8.11
Trip and timeout sensing.................................................................................................118
8.12
Lack of MCC power sensing ...........................................................................................118
8.13
MCC test mode and permission override function.......................................................... 119
8.14
Configurations for different EDEVICE applications.........................................................119
8.15
8.16
Operation details of the EDEVICE Algorithm..................................................................121 8.15.1 Device state tracking .....................................................................................121 8.15.2 Device stopped.............................................................................................. 131 8.15.3 LEFT command execution ............................................................................ 133 8.15.4 RIGHT command execution ..........................................................................135 Accessing advanced editing for EDEVICE in the Control Builder...................................137
8.17
EDEVICE algorithm definitions .......................................................................................138
APC_002
algorithm (DPA)
105
115
iii
Table of Contents
9
Using Fuzz y algorith ms
9.1
What are the Ovation fuzzy logic algorithms?.................................................................145
9.2
What is the Fuzzifier algorithm?......................................................................................145 9.2.1 Fuzzifier algorithm functional symbol ............................................................ 146 9.2.2 Examples of using the Fuzzifier algorithm ....................................................147 9.2.3 Accessing advanced editing for the Fuzzifier algorithm in the Control Builder ...........................................................................................................149 9.2.4 Fuzzifier algorithm definitions........................................................................ 154 9.2.5 Fuzzifier algorithm auxiliary definitions .........................................................161 9.2.6 Fuzzifier algorithm tracking signals ...............................................................163 9.2.7 Accessing the tuning window for the Fuzzifier algorithm in signal diagrams 165 What is the Fuzzy PID (FPID) algorithm? .......................................................................168 9.3.1 FPID algorithm functional symbol .................................................................169 9.3.2 Accessing advanced editing for the Fuzzy PID algorithm in the Control Builder ...........................................................................................................170 9.3.3 FuzzyPID algorithm definitions......................................................................176 9.3.4 FuzzyPID auxiliary algorithm definitions .......................................................180 9.3.5 Functional operation of PID...........................................................................182 9.3.6 Using FPID tracking signals ..........................................................................183 9.3.7 Cascaded mode and conditional tracking .....................................................184 9.3.8 Fuzzy regions ................................................................................................ 185 9.3.9 Defining the FPID regions ............................................................................. 186 9.3.10 FPID region tuning ........................................................................................187 9.3.11 Error deadband and deadband gain .............................................................188 9.3.12 Accessing the tuning window for the Fuzzy PID algorithm in signal diagrams........................................................................................................ 190 Fuzzy algorithm global output calculation .......................................................................193 9.4.1 Center of gravity defuzzification .................................................................... 194 9.4.2 Middle of maximum defuzzification ...............................................................195
9.3
9.4
10
Using the Neural Network Multi-Layer Perceptron (NNMLP) general model algorithm
10.1
What is the Neural Network Multi-Layer Perceptron (NNMLP) algorithm?.....................198
10.2
NNMLP algorithm functional symbol...............................................................................199
10.3
NNMLP algorithm functionality details ............................................................................200
10.4
10.5
Accessing advanced editing for the NNMLP algorithm in the Control Builder................202 10.4.1 NNMLP algorithm Input/Output Configuration tab.........................................203 10.4.2 NNMLP algorithm Neural Network tab .......................................................... 206 10.4.3 NNMLP algorithm Structure of Neurons tab..................................................207 NNMLP algorithm tracking signals ..................................................................................207
10.6
NNMLP algorithm input/output pins ................................................................................208
10.7
NNMLP main algorithm definitions..................................................................................209 10.7.1 NNMLP auxiliary definitions ..........................................................................214 Accessing the tuning window for the NNMLP algorithm in signal diagrams...................217
10.8
iv
145
197
APC_002
Table of Contents
11
Using th e Programmable Block (PBLOC K) algorithm
11.1
What is the PBLOCK algorithm?.....................................................................................219
11.2
Who can use the PBLOCK algorithm?............................................................................219
11.3 11.4
How does the PBLOCK programming language differ from standard C? ......................220 11.3.1 Extern variables............................................................................................. 220 PBLOCK supported functions .........................................................................................221
11.5
PBLOCK program source code structure .......................................................................224
11.6
PBLOCK array handling..................................................................................................225
11.7
To define input/output pins for the symbol ......................................................................230
11.8
Writing to output points ...................................................................................................231
11.9
PBLOCK wait() or sleep() functionality ...........................................................................233
11.10
To create 11.10.1 11.10.2 11.10.3 11.10.4
219
a PBLOCK algorithm....................................................................................... 235 To create a custom algorithm symbol ........................................................... 238 Sample code for a typical algorithm ..............................................................240 Example PBLOCK program with optional parameters and first pass macros........................................................................................................... 244 PBLOCK algorithm runtime error codes........................................................248
12
Using th e Ovation Sequence Coordinator algor ithm package
12.1
What is the Ovation Sequence Coordinator algorithm package? ...................................251 12.1.1 Rules for using the Ovation Sequence Coordinator algorithm package .......252 12.1.2 Visual interpretation of Ovation Sequence Coordinator algorithms ..............253 What is the SCTask algorithm?....................................................................................... 254 12.2.1 Task description ............................................................................................254 12.2.2 Historical information.....................................................................................254
12.2
251
12.2.3 12.2.4 12.2.5 12.2.6 12.2.7 12.2.8 12.2.9 12.2.10 12.2.11 12.2.12
12.3
SCTask operation.......................................................................................... 255 Stall pin for SCTask....................................................................................... 256 Error status ....................................................................................................256 SCTask Advanced Application Studio...........................................................257 SCTask functional symbol.............................................................................257 SCTask algorithm definitions.........................................................................258 Auxiliary SCTask algorithm definitions No. 1 ................................................261 Auxiliary SCTask algorithm definitions No. 2 ................................................263 Auxiliary SCTask algorithm definitions No. 3 - 5 ...........................................265 Accessing advanced editing for the SCTask algorithm in the Control Builder ...........................................................................................................267 12.2.13 Using the SCTask algorithm Previewer window ...........................................269 12.2.14 Accessing the Advanced Tuning window for the SCTask algorithm in Signal Diagrams ............................................................................................274 What are the SCStep and SCStepNA algorithms? .........................................................277 12.3.1 Busy Signal and Communication ..................................................................277 12.3.2 Action conditionals and qualifiers for SCStep ...............................................278 12.3.3 Serial and parallel modes for SCStep ...........................................................279 12.3.4 Transitioning to next step ..............................................................................279 12.3.5 12.3.6 12.3.7 12.3.8 12.3.9
APC_002
Disabling the Step .........................................................................................280 Stall pin for SCStep and SCStepNA .............................................................280 SCStep functional symbol .............................................................................281 SCStepNA functional symbol ........................................................................282 SCStep and SCStepNA algorithm definitions ...............................................282
v
Table of Contents
12.3.10 12.3.11 12.3.12
12.4
Auxiliary SCStep and SCStepNA algorithm definitions No. 1 .......................286 Auxiliary SCStep algorithm definitions No. 2.................................................288 Accessing advanced editing for the SCStep and SCStepNA algorithms in the Control Builder ..................................................................................... 291 12.3.13 Accessing the Advanced Tuning window for the SCStep algorithm in Signal Diagrams ............................................................................................296 What is the SCAction algorithm? ....................................................................................298 12.4.1 Action and action state descriptions for SCAction algorithm ........................298 12.4.2 Busy signal and communication....................................................................298 12.4.3 Operation....................................................................................................... 298 12.4.4 Stall pin for SCAction ....................................................................................298 12.4.5 SCAction algorithm functional symbol...........................................................299 12.4.6 12.4.7
13
Using the Sootblower algorithms
13.1
What are the Sootblower algorithms?.............................................................................304
13.2
Using the Blower algorithm .............................................................................................305 13.2.1 Blower algorithm functional symbol...............................................................305 13.2.2 Blower algorithm functionality details ............................................................306 13.2.3 Accessing advanced editing for the Blower algorithm in the Control Builder 307 13.2.4 Blower algorithm definitions ..........................................................................308 13.2.5 Accessing the tuning window for the Blower algorithm in signal diagrams... 311 Using the SBSequence algorithm ...................................................................................312 13.3.1 SBSequence algorithm functional symbol.....................................................312 13.3.2 SBSequence algorithm functionality details ..................................................313 13.3.3 Accessing advanced editing for the SBSequence algorithm in the Control Builder ...........................................................................................................313 13.3.4 How does the SBSequence algorithm work? ................................................317 13.3.5 SBSequence algorithm definitions ................................................................319 13.3.6 SBSequence auxiliary algorithm definitions ..................................................325 Using the SBScheduler algorithm ...................................................................................329 13.4.1 SBScheduler algorithm functional symbol.....................................................330 13.4.2 Accessing advanced editing for the SBScheduler algorithm in the Control Builder ...........................................................................................................331 13.4.3 SBScheduler algorithm definitions ................................................................332 Using the SBMaster algorithm ........................................................................................333 13.5.1 SBMaster algorithm functional symbol..........................................................333 13.5.2 SBMaster algorithm functionality details .......................................................334 13.5.3 Accessing advanced editing for the SBMaster algorithm in the Control Builder ...........................................................................................................336 13.5.4 SBMaster algorithm definitions......................................................................339 13.5.5 SBMaster algorithm definition (Aux1,3,5,7,9,11,13,15,17) ...........................342 13.5.6 SBMaster algorithm definition (Aux2,4,6,8,10,12,14,16,18) .........................346
13.3
13.4
13.5
vi
SCAction algorithm Accessing advanceddefinitions editing for......................................................................299 the SCAction algorithm in the Control Builder ...........................................................................................................301
303
APC_002
Table of Contents
14
Using the TEMPRO (Temperature Profi le) algo rit hm
14.1
What is the TEMPRO algorithm?....................................................................................349
14.2
14.3
TEMPRO operation......................................................................................................... 349 14.2.1 Ordering the measurement values ................................................................350 14.2.2 Average temperature calculation...................................................................351 14.2.3 Median temperature calculation .................................................................... 352 TEMPRO functional symbol ............................................................................................353
14.4
Accessing advanced editing for the TEMPRO algorithm in the Control Builder.............354
14.5
TEMPRO algorithm definitions........................................................................................355
15
Al go ri th m eq uatio n r eferenc e
15.1
15.2
Fuzzy algorithm equations ..............................................................................................357 15.1.1 Fuzzifier output calculation............................................................................ 357 15.1.2 Fuzzy PID use guidelines..............................................................................358 15.1.3 Fuzzy PID output calculation......................................................................... 358 ARX model algorithm output calculation.........................................................................360
15.3
DMC algorithm output calculation ...................................................................................368
Index
APC_002
349
357
371
vii
S
ECTION
1
Introd uct ion t o the Advanced P roc ess C ont rol (APC ) ToolKit
IN THIS SECTION What is the Advanced Process Control (APC) ToolKit? .....................................................1 Configuration and programming tools ................................................................................. 1 What is the role of the Ovation Control Builder with the APC Toolkit? ...............................2 What is the Ovation Advanced Controller?......................................................................... 3 What is the Ovation Model Builder?.................................................................................... 4
1. 1
What is the Advanced
Process
Control ( APC ) ToolKit ?
The Ovation system comes bundled with a standard algorithm set for the Ovation Controller. Algorithms streamline and simplify plant processes by using sets of rules and mathematical formulas to define the control strategy of a plant. The Advanced Process Control (APC) ToolKit is an extension to the Ovation system that allows advanced algorithms to be added to an Ovation Advanced Controller. It allows you to build more powerful control strategies, tighter control, more efficient operation, and systematic approaches to handling control. The APC ToolKit provides the means to support these advanced algorithms that extend the Ovation control capability beyond the standard algorithm set. This collection of advanced algorithms wasordeveloped to simplify engineering and programming of complex mathematical, modeling, optimization functions in the Ovation system.
1. 2
Configuration
and programming
tools
The APC ToolKit algorithms require specialized Ovation Control Builder (see page 2) user interfaces, which are included in the Control Builder extensions. The APC Toolkit uses the Control Builder user interfaces to configure and edit the algorithms. The custom edit dialogs are specific to each individual advanced algorithm. These dialogs make the programming and configuration of many advanced algorithms easier by providing a user-friendly graphical interface. The APC Toolkit also includes an installation program that allows you to select individual algorithms individually, based on the license(s) that have been purchased. For each product that is selected during installation, all of the necessary software modules and associated files are copied to the Software Server or Database Server. The standard download mechanisms are then employed to update the software on each of the affected Controllers and workstations. Many of the advanced algorithms are model-based. This requires that you use the Ovation Model Builder software package to build a model of the process that is to be controlled. Currently the APC toolkit is restricted to Ovation advanced algorithms. In the future, the scope of the APC Toolkit may be enhanced to include other Ovation products.
APC_002
1
1.3 What is the role of the Ovation Control Builder with the APC Toolkit?
1. 3
What is the role of the Ova tion Control Build Toolkit?
er with the
APC
The APC Toolkit adds and edits advanced algorithm parameters through the Ovation Control Builder interface. The Ovation Control Builder is a graphical editor that creates the control logic that runs in the Ovation Controller. This logic consists of algorithms that are placed on functional drawings (also known as control sheets) and direct the control strategy for the Ovation system. Typically, there are many different control sheets linked together to form the complete control structure for an Ovation system. The Control Builder application consists of three main areas or windows:
Main window with the drawing canvas
Object Browser
Property Editor
Each window has a different function, but they all work together to give you a complete picture of your control. In general, items such as inputs, algorithms, signals, and so forth appear on the drawing canvas, which provides the visual display of the sheet. Any item that you place on the drawing canvas is put into the hierarchy in the Object Browser. The Object Browser shows the relationships between the items placed on the drawing canvas. The Property Editor is used for editing the attributes of the items found on the drawing canvas and in the Object Browser. Since the three main areas of the Control Builder give you a different perspective on your control function, there are many ways to perform various tasks. This makes the application flexible and easy to use since you choose the best way to perform a certain function.
2
APC_002
1.4 What is the Ovation Advanced Controller?
The following figure shows an example of the Control Builder application. Since the Control Builder application is flexible and configurable, you may move, resize, or close windows in order to create more drawing space.
Figure 1: E xample of Control Bui lder application Refer to Ovation Control Builder User Guide for more information.
1. 4
What is the Ova tion Advanced
Control ler?
The APC Toolkit requires an Ovation Advanced Controller to operate correctly. The Advanced Controller is much like a regular Ovation Controller except that it contains a licensed software switch to turn on the advanced capability. It involves no additional hardware; however, the Controller hardware should be able to support Windows-based Ovation 2.3 and later. Note: When using an OCR161 Controller, a minimum of 64 MB of RAM is required. This switch allows the Controller to individually add each algorithm. The Advanced Controller intuitively knows how to embed the advanced algorithm into memory. When the Advanced Controller is being edited, the Control Builder automatically includes all licensed algorithms. Note: This product is intended to be used by those skilled in building advanced control and with the knowledge of the mathematics and modeling necessary to implement these control schemes. A strong background in using the Ovation Control Builder is also suggested.
APC_002
3
1.5 What is the Ovation Model Builder?
1. 5
Wha t is the Ova tio n Model Buil der? The Ovation Model Builder software package is a modeling tool used to design and test control structures (algorithms). The Model Builder performs the following tasks:
4
Identification of different types of models.
Verification of obtained model using the same or other data.
Selection of object controller described by identified model.
Simulation of work of controller on object, where the object simulator can be identical to or different from the model used for creating the Controller.
APC_002
S
ECTION
2
Installing t he AP C Tool Kit
IN THIS SECTION Overview of installing the APC software on a Windows-based Ovation system ................5
2. 1
Overview of inst alling the Ova tion system
APC soft ware on a Windows -ba sed
The following sections discuss installing APC software on Windows-based Ovation systems. The APC base software and algorithms need to be loaded on every Engineer/Operator drop individually. 1.
Install the APC base software (see page 5).
2.
Create an Advanced Controller drop (see page 6).
3.
Create a drop point for the Advanced Controller drop (see page 10).
4.
Install APC Toolkit algorithms on the Database Server (see page 12).
5.
Install APC Toolkit algorithms on an Engineer or Operator Station drop.
The following Ovation documentation may be helpful when performing these procedures:
Ovation Developer Studio User Guide.
Ovation Record Types Reference Manual.
2. 1.1 To inst all the APC base soft ware on Windows You must load the APC base software and algorithms on each individual Engineer/Operator drop where APC Toolkit will be used. 1.
APC_002
Insert the APC Toolkit CD into the drop you wish to load. The Installation Tool starts automatically.
5
2.1 Overview of installing the APC software on a Windows-based Ovation system
2.
Click Base Software tab. Click the Install button (or the Re-Install button if the software has already been installed and an upgrade is needed). The installation process begins.
Figure 2: Advanced Control Installation Tool 3.
6
The installation results or errors display in the Installation Results window.
APC_002
2.1 Overview of installing the APC software on a Windows-based Ovation system
2. 1.2 To insert Advanced
Controll er drops
1.
Access the Ovation Developer Studio.
2.
Right-click the Drops folder in the System Tree and select Insert New . The Insert New Drops Wizard appears.
Figure 3: Insert New Drops Wizard 3.
Type the drop ID in the Drop ID value field. This is the drop number of the new drop. Valid entries are 1 - 254.
4.
Type the partner ID in the Partner ID value field (if available).
5.
Select Ad vanced Contr ol ler from the Drop Type pull-down menu.
APC_002
7
2.1 Overview of installing the APC software on a Windows-based Ovation system
6.
After you enter the required information, click Finish . The New Drops window appears.
Figure 4: Ne w Drops w indow The following table describes the New Drop window fields. New Drop window field descriptions F IELD Drop Type
D ESCRIPTION Pull-down menu with drop type selection.
Controller Type
OCR400 or OCR161.
Control Synchronization
Pull-down menu that allows you to enable or disable the dedicated Controller Synchronization. If enabled, the Controller is dedicated to transfer the data between the primary and backup Controllers. If it is disabled, the data is transferred over the network (Ovation Network or Dedicated Cable). This parameter is only applicable to the OCR161 hardware type when an onboard network card is installed.
8
APC_002
2.1 Overview of installing the APC software on a Windows-based Ovation system
F IELD Maximum Point Limit
D ESCRIPTION The radio button selects the maximum number of points that the Controller can be configured to monitor. Normal handles up to 6000 points. Expanded handles up to 16,000 points. 32000 handles up to 32,000 points.
PRIMARY or PARTNER Drop ID or Partner ID
The Primary Drop ID is the drop number of the srcinating drop of the point. (1-254). If the drop has a partner drop, it is identified in the field ( 1-254).
Ovation Network IP Address
The Internet Protocol (IP) address for a drop is typically assigned by the system administrator, the IP address consists of four groups of decimal numbers and has the following format: xxx.xxx.xxx.xxx If the network is isolated from other networks (such as, the Internet), the IP address can be any valid ra nge.
Ovation Network Ethers Address
The format for the hardware address is:
Ovation Highway Interface
Type of Ethernet interface that connects the Controller to the Ovation Network.
xx:xx:xx:xx:xx:xx (where the last four numbers (xx:xx ) are typically located on a label on the NIC).
(ZNYX, or Onboard ). Ovation Highway Connection
Type of NIC card connection (Only active for Network Connection Onboard).
NIC Interface
Name of physical port that the Ethernet cable is connected to, automatically filled in N1 (OCR400) or fei0 (OCR161) for Network Connection "Onboard".
(Single, Dual).
(OCR400, N1, N2, N3, N4) (OCR161 - None, fei0, fei1, fei2 ) . Backup NIC Interface
The NIC Backup Interface is to accommodate a second onboard NIC, automatically filled in N2 (OCR40) or fei1 (OCR161) for a NWIF Network Connection "Onboard" and Network Connection "Dual". (OCR400, N1, N2, N3, N4) (OCR161 - None, fei0, fei1, fei2 )
Control Synchronization Interface
When Controller Synchronization is enabled N4 (OCR400) or fei2 (OCR161) is dedicated to transfer data between the primary and backup Controllers.
7.
Once you have completed the desired settings on the window, click the Ap pl y button to save these settings without closing the window, or click the Ok button to save the settings and close the window.
8.
Create a drop point for the new station (see page 10).
Note: When using an OCR161 Controller, a minimum of 64 MB of RAM is required.
APC_002
9
2.1 Overview of installing the APC software on a Windows-based Ovation system
2. 1.3 To insert a drop point After you create a drop, you must create a drop point so that the system to recognize the new drop.This drop point provides the drop's required DU record (described in the Ovation Record Types Reference Manual). 1.
In the Developer Studio, access the Points folder for the new drop.
2.
Right-click the Drop Point folder and select Insert New from the resulting pop-up menu. The Insert New Drop Point Wizard appears.
Figure 5: Insert New Drop Point Wizard 3.
4.
10
Provide the following information:
Define a name for the drop point in the Point Name field (the name must be the word DROP immediately followed by its number; for example, DROP1).
From the Drop Number pull-down menu, select the appropriate drop number to correspond with the point name entry.
After the required information is provided, click Finish.
APC_002
2.1 Overview of installing the APC software on a Windows-based Ovation system
5.
The New Drop Point dialog box appears.
Figure 6: Ne w Drop Point dialog bo x 6.
Tab through the New Drop Point dialog box and complete any desired changes to the default field values.
7.
Click the Appl y button to save these settings without closi ng the window, or click the Ok button to save the settings and close the window.
8.
Repeat the Insert New Drop Point procedure (Steps 1 through 7) if there is a partner drop.
9.
To load the drop, find it in the Developer Studio system tree, right-click it, and select Load .
The following table describes the New Drop Point dialog box fields. New Drop Point dialog box field d TAB Point
F IELD
escriptions D ESCRIPTION
Point Alias
Sixteen-character alias for the point name.
Description
Maps directly to the ED (English Description) field of the point record and can be up to 30 characters.
Characteristics
Maps directly to the KR field of the point record, with the first character mapping directly to the AY field (destination) of the point record. Up to eight alphanumeric characters can be used. The first character must be a letter (A - Z).
APC_002
Drop Number
Drop number of the srcinating drop of the point. Valid entries are 1-254.
Partner Drop
Identifies the drop number of the partner drop.
11
2.1 Overview of installing the APC software on a Windows-based Ovation system
TAB Security
F IELD Security Group
D ESCRIPTION Represents the defined security groups for each point in the system. Note: At least one security group must be selected to allow point modification.
Ancillary
Ancillary
Additional user-defined information about the points.
eDB
Collection Enabled
A check box that specifies if a point will be collected by an Ovation historian.
Scan Frequency
Frequency (in seconds) a specific point is scanned by the Ovation historianatonwhich the network to determine if it meets collection criteria.
Alarm
Alarm Priority
Sets the alarm priority field.
Display
Summary Diagram
Defines the applicable summary diagram which is sent to the process diagram system.
Signal Diagram
Defines the signal diagram number.
2. 1.4 To install the
algorithm s
Note: On a Windows-based system, you must load the APC Algorithm software on each Engineer/Operator drop individually. However, the license key is needed only on the Database Server drop. To install the algorithms on a Database Server
12
1.
Insert the APC Toolkit CD on the Database Server. The Installation Tool starts automatically.
2.
Click the Al go ri th m Software tab.
APC_002
2.1 Overview of installing the APC software on a Windows-based Ovation system
Note: To obtain a license key, you must contact your Emerson representative during normal work hours. Depending on your situation, this contact might be your project engineer, after-market representative, or field service engineer. Have the Host ID of your Database Server available.
Figure 7: Advanced Control Installation Tool - Algo
rithm Software ta b
3.
Enter your license key and click Validate Key . The licensed algorithms appear in yellow and the license box is checked.
4.
Select the algorithm you wish to install and select the Install button. The installation results or errors display in the Installation Results window.
To install the algorithms
on an Engineer or Opera tor dr op
1.
Insert the APC Toolkit CD in the Engineer/Operator drop. The Installation Tool starts automatically.
2.
Click the Al go ri th m Software tab. The licensed algorithms appear in yellow and the license box is checked.
3.
Select the algorithm you wish to install and select the Install button. The installation results or errors display in the Installation Results window.
APC_002
13
S
ECTION
3
Using advance d algorit hms on a control shee t
IN THIS SECTION Overview of using advanced algorithms in your control scheme......................................15 Accessing the Control Builderto ........................................................................................... Adding advanced algorithms a control sheet................................................................15 17 Editing advanced algorithm parameters in the Control Builder.........................................19 Using the Control Builder online help system ...................................................................23 Loading sheets to the Controller ....................................................................................... 25 Viewing advanced algorithms in Signal Diagrams ............................................................27 Reconciling tuning changes in a Windows-based Ovation system...................................30
3. 1
Ove rvi ew of usin g advanced
algorit hms in your cont rol scheme
Adding and using advanced algorithms in your control scheme involves several steps. The following list provides an overview of the process. See the specific topics for detailed instructions. Also see the applicable Ovation Control Builder User Guide for complete information on using the Control Builder application and signal diagrams. 1.
Access the Ovation Control Builder.
2.
Create or open a control sheet and add an advanced algorithm.
3. 4.
Define any required and/or optional parameters using the Control Builder Property Editor. If the advanced algorithm has an advanced editing function, define any required and/or optional parameters using the Advanced Applications Studio.
5.
When the sheet is complete, load the Controllers. The sheets are then automatically downloaded by the system to the Operator Stations.
6.
Access the signal diagram application to view the sheet containing the advanced algorithm.
7.
If the advanced algorithm is tunable, you may tune it by using the signal diagram Properties Summary window. Select the Advan ced button on the Properties Summary window to access the applicable tuning window for the advanced algorithm.
8.
Once tuning is complete, reconcile the tuning changes between the Controller and the database. Then reconcile the tuning changes between the database and the Control Builder.
APC_002
15
3.2 Accessing the Control Builder
3. 2
Accessi ng the Control
Buil der
Use the following procedures to access the Control Builder from a Windows-based Ovation system.
3. 2.1 To a ccess the Control Build
er in a Windows -ba sed O vation sy stem
1.
Access the Ovation Developer Studio (see Ovation Developer Studio User Guide for more information).
2.
Use the system tree to navigate to the applicable Control Sheets folder: System folder Network folder Unit folder Drops folder folder (applicable to the sheets that you want to delete) Control Task folder (applicable to the sheets that you want to delete) Control Sheets folder
3.
Select Control Sheets .
4.
The existing control sheets appear in the bottom Work Pad window. Right-click on a control sheet and select Open from the pop-up menu, or double-click on a control sheet. The selected sheet opens in the Control Builder window.
Figure 8 : Control Build er with sheet displayed on the drawing canvas
16
APC_002
3.3 Adding advanced algorithms to a control sheet
5.
If you want to create a new control sheet, right-click on the Control Sheets folder in the Developer Studio system tree. The New Control Sheets window appears. Fill in the following:
6.
3. 3
Sheet name -- determine how the sheet is described in the system.
Sheet Number -- give short reference number.
Sheet Component -- define the sheet component code.
The Control Builder opens with the new sheet (drawing canvas will be blank). The Property Editor displays the information that was entered in the New Control Sheets dialog box.
Addi ng advanced
algorit hms to a cont rol sheet
The APC Toolkit adds and edits advanced algorithm parameters through the Ovation Control Builder interface. This section briefly explains adding advanced algorithms using the Control Builder. Refer to the appropriate Ovation Control Builder User Guide for more specific information.
3. 3.1 To a dd advance d algorithms to a control sheet 1.
Access the Control Builder (see page 15).
2.
Open a control function, control library, or control macro.
3.
From the main Control Builder window, pull down the Draw menu, and select Ad d Alg or it hm . You can also select the Add Cont rol A lgor it hm icon on the toolbar. The Add Algorithm dialog box appears.
APC_002
17
3.3 Adding advanced algorithms to a control sheet
4.
Select the desired algorithm from the list. The algorithm symbols that are currently in the library display on the right side of the dialog box.
Figure 9 : Add Algorithm win dow 5.
Select the symbol that best fits your needs (symbols may vary depending on the number of
pins needed). 6. Select the OK button on the Add Algorithm dialog box. 7.
Move the cursor, which has changed to an arrow, to the drawing canvas. Move the algorithm to the desired location and left-click to position the algorithm on the canvas. Notice that a full-screen cross-hair icon appears that aligns items on the screen. While moving the algorithm across the canvas, you can toggle the full-screen cross-hair cursor by pressing the key on the keyboard. This is useful for aligning items on the canvas.
Note: When adding an algorithm, notice the algorithm anchor, shown in yellow. Once the algorithm is added to the canvas, the anchor can be used to align and space the algorithm on the sheet. If you hover the mouse over the anchor, the icon changes to a hand. If you left-click the mouse button, the hand "closes" as though it is gripping the anchor. You can then move the algorithm to the desired location. 8.
18
After adding the algorithm using the Add Algorithm dialog box, the algorithm appears in the Algorithms container in the Object Browser window. The algorithm parameters appear in the Property Editor window where you can edit them.
APC_002
3.4 Editing advanced algorithm parameters in the Control Builder
3. 4
Editing
advanced
algorit hm parame ters in the Control
Buil der
Once advanced algorithms have been added to a control sheet in the Control Builder, there are two windows that may be used to edit the algorithm parameters:
Property Editor (see page 19)
Advanced Applications Studio (see page 20)
Once an algorithm is added to a sheet, you must define required and/or optional parameters through the Control Builder Property Editor. The Property Editor window defines and edits all the elements of a control function, control macro, algorithm symbol, and so forth. It works with the Object Browser and the drawing canvas to give you a complete picture of your control or graphic. Whereas the drawing canvas gives you a visual view of your function, and the Object Browser describes the relationships between the items of a function, the Property Editor is used to define the values for the items in a function. Refer to the Ovation Control Builder User Guide for more information. The Advanced Applications Studio displays custom edit dialog boxes that are specific to each individual advanced algorithm. These dialogs make the programming and configuration of many advanced algorithms easier by providing a user-friendly graphical interface. Not all of the advanced algorithms display a window in the Advanced Applications Studio. When you add an advanced algorithm to a control sheet, right-click on the algorithm. From the menu that displays, an Advanced Edit option appears only if there is an advanced edit window for this algorithm.
3. 4. 1 To use the P roperty Editor to edit a
dvanced a lgori thms
Use the following procedure to edit algorithm parameters in the Property Editor: 1.
APC_002
Access the Control Builder.
19
3.4 Editing advanced algorithm parameters in the Control Builder
20
2.
To edit the values and points for the algorithm, select the advanced algorithm on the drawing canvas or highlight the algorithm name in the Object Browser window. The Property Editor updates with a list of editable parameters.
3.
Highlight the field you wish to edit in the Property Editor. If the field requires user entry, an entry field appears. If it is a menu option of choices, a pull-down menu appears allowing you to choose the appropriate item.
4.
In the Property Editor, an algorithm parameter that displays a red circle with an "x" inside means that an error exists. For example, the error may indicate that the parameter is missing a required value. If you hover your mouse over the parameter, a tooltip appears with the error information. You can also display algorithm errors by pulling down the View menu and selecting Algo ri thm Erro rs . The Error List window appears describing the error. Note that you must correct all errors before you can save the sheet successfully.
5.
Make all the desired changes in the Property Editor, and then save the sheet.
APC_002
3.4 Editing advanced algorithm parameters in the Control Builder
3. 4.2 To use the Advanced Application algorithms
s Studio to view and e
dit advanced
1.
Access the Control Builder and open a control sheet.
2.
On the drawing canvas, hover the mouse over an advanced algorithm and right-click. The algorithm right-click menu appears.
3.
If the last item on the right-click menu is Advanced Edit, then the algorithm supports advanced editing functions. If the Advanced Edit menu item is not available, no advanced editing is available for that algorithm.
Figure 1 0: Algorithm right -click menu showing Adv anced E dit optio n
APC_002
21
3.4 Editing advanced algorithm parameters in the Control Builder
4.
If applicable, select Advan ced Edi t. The Advanced Applications Studio appears. The following figure shows an example of the Advanced Applications Studio.
Figure 11 : Example of Advanced Ap plication Studio The Advanced Application Studio displays an algorithm window with several tabs. Some of the tabs display information that is read-only. On other tabs, you can only edit certain fields. For fields that can be edited, make the desired changes and select the OK button at the bottom of the window to commit the changes and quit the window. To quit the window without saving any changes, press the Cancel button.
22
APC_002
3.5 Using the Control Builder online help system
3. 5
Using the Control
Buil der onli ne help system
The Ovation Control Builder has an online help system (QT Assistant) that provides information on the Control Builder application and on individual algorithms. You can access this help in several ways:
By pulling down the Help menu on the main Control Builder window.
By pressing the F1 key on the keyboard while the cursor is anywhere on the Control Builder drawing canvas.
By right-clicking on an algorithm displayed on the Control Builder drawing canvas.
By pressing a Help button on any of the various Control Builder dialog boxes.
The following figure shows an example of the Control Builder Help window.
Figure 12 : Control Builder Help window
APC_002
23
3.5 Using the Control Builder online help system
The Help window contains four tabs that are used as different search methods:
Contents
Index
Bookmarks
Search
The Contents tab displays a directory tree structure of the help file content for the current application. To access the information in the tree, expand the desired folder by clicking on the "+" sign. Select the desired subject. The right side of the window displays the corresponding help information. The Index tab displays a window that has a text entry field to search the index for specific information. The system searches the index for an entry as you type the information. As you type, it highlights index help topics that most closely alphabetically match your entry. Double-click on a topic to view help text. The right side of the window displays the corresponding help information. The Bookmarks tab easily catalogs and accesses help topics that you visit often. In this way, you do not have to remember the name of the topic or type anything -- just select the Bookmark tab and a list of your selected topics appears. The Search tab dialog box (located at the top of the right side of the window) allows you to enter a keyword into the Find box and click the Search button. Topics then appear that match the keyword. Double-click on a topic to display it. The right side of the window populates with the corresponding help information. In addition to the tabs that are part of the standard Help window, you can create custom tabs above the display area that allow you to easily toggle between help topics. To access functionality not available with tabs, the Help window provides a series of menus that are described in the following table. Control Builder He lp window menu fields and descriptio
ns
MENU
D ESCRIPTION
File
Page Setup -- selects the page size, orientation, and margins for the page. Print Preview -- allows you to see what the printed page will look like before you actually print. Print -- prints the currently displayed help topic. New Tab -- creates another tab on the display area. Close Tab -- closes the current tab on the display area. Quit -- exits the Control Builder Help window.
Edit
Copy Selected Text -- copies any selected text out of the help document so you can paste it into another document. Find in Text -- searches the current help topic. Find Next -- searches the next help topic. Find Previous -- searches the previous help topic. Preferences -- defines the settings for the CB Help window.
24
APC_002
3.5 Using the Control Builder online help system
MENU
D ESCRIPTION
View
Zoom in -- zooms in on the current view by a defined percentage. Zoom out -- zooms out of the current view by a defined percentage. Normal Size -- resets the font size in the current tab to the default size. Contents -- displays the directory tree structure of the contents of the help file. Index -- displays a window that has a text entry field to search the index for specific information. Bookmarks -- easily catalogs and accesses help topics that you visit often. Search -- displays a window that allows you to search for topics based on a defined keyword. Toolbars -- toggles the display of the toolbars.
Go
Home -- goes to the home page of the QT Assistant. Back -- goes to the previously displayed help topic (search backward). Forward -- goes to the help topic displayed after the current help topic (search forward). Sync w/ Table of Contents -- synchronizes the Contents window with the page currently shown in the main window. Next Page -- selects the next tab in the window. Previous Page -- selects the previous tab in the window.
Bookmarks
Add Bookmarks -- creates a bookmark to easily access a frequently used help topic.
Help
About Control Builder Help -- provides the version and copyright information for the Ovation Control Builder help.
The Control Builder Help window also provides a toolbar that provides quick access to the frequently used help functions. Each toolbar button has an associated “tooltip” for that button. A tooltip is a short descriptive text string describing the button function. To see the tooltip for a particular button, hover the mouse pointer over the toolbar button. For more information on using the QT Assistant, press the Home icon to access QT online help.
APC_002
25
3.6 Loading sheets to the Controller
3. 6
Loading
sheets to the Control ler
When you create a new Control Builder drawing or edit an existing drawing, you must first load the Controllers so that the control sheets can be displayed at the Operator Stations. Note: For Ovation releases 3.2 and later, you no longer have to manually download sheets to Operator Stations (MMIs). A service runs in the background that updates the MMIs on startup and every few minutes thereafter.
3. 6.1 To load sheets in a
Windows -ba sed O vation sys tem
1.
Access the Control Builder (see page 16).
2.
Create or edit a control sheet (.svg) file in the Control Builder and save it. The file is saved to the Oracle database.
3.
Load the control from the Oracle database to the Controller: a) Access the Controller Drop folder in the Studio. (See Ovation Developer Studio User Guide.) b) Right-click the appropriate Controller Drop folder and select Load . c)
For redundant Controller Drop configurations, the “Select a drop to load” dialog box appears. Select the Primary Controller Drop. The .svg file is saved to the Controller.
CAUTION! Make sure the changes are valid before loading the Partner Drop in redundant Controller Drop configurations.
Please note the following inform
26
ation:
When the Controller drop is loaded, the control sheets are copied to the online directory under OVPTSVR (Ovation Data Server). This makes them available to the MMIs. The MMIs will update their local copy within a minute of the load.
The files under OVPTSVR are displayed by the signal diagrams if they are opened from the Control Builder main window.
The local files under C:\Ovation are displayed by the signal diagrams if they are opened from any mechanism other than the Control Builder main window (such as a Point Menu or the Ovation Applications window).
A service runs in the background that updates the MMIs on startup and every few minutes thereafter.
After loading the Controller, the engineer may review the diagrams without downloading the Operator Stations by opening the signal diagrams from the Control Builder Tools menu.
Control becomes operational when the Controller is loaded. Control execution is completely independent from downloading the Operator Stations.
You can view Signal Diagrams before loading the Controller with the Synchronize Online option.
APC_002
3.7 Viewing advanced algorithms in Signal Diagrams
3. 7
Vie win g advanced
algorit hms in Signal Diagrams
Once you create and save a control function (sheet) in the Control Builder, you can view it online through a signal diagram. A signal diagram is an Ovation Operator Station application that monitors and tunes a control process. In order to use a signal diagram to monitor or tune a process, you must first load the control function (.svg file) into the Controller and then a service that runs in the background automatically updates the Operator Stations on startup and every few minutes thereafter. Note: The following procedure discusses one way to access signal diagrams from the Windows-based Ovation systems. Signal diagrams can also be accessed from a Point Menu or from the Control Builder. Refer to the applicable Ovation Control Builder User Guide for more information.
3. 7.1 To access signal diagra window 1.
ms from the
Windows -base d Ovation Applic
ations
From the Ovation Operator Station, choose Start -> Ovation -> Ovation Applications Ovation Application icons appear.
. The
Figure 13: Ope rator Station applications
APC_002
27
3.7 Viewing advanced algorithms in Signal Diagrams
2.
Double-click the Signal Diagram icon. The Open Document window appears.
Figure 14: Signal Diagrams -- Open Document window 3.
4.
28
From the Open Document window, navigate to the sheet you want to display. To do this, expand the unit, drop, and control task folders until you find the desired sheet. For more information on using the Open Document window, see Opening a sheet in the Signal Diagram window. Double-click the sheet and the Signal Diagram window appears with the sheet displayed on the canvas.
APC_002
3.7 Viewing advanced algorithms in Signal Diagrams
3. 7.2 To access the Advanced Tuning window for APC signal diagrams
Toolkit algorit
hms in
1.
Access the Signal Diagram window (see page 27).
2.
Open the Sheet Browser window, and select a sheet to display in the drawing canvas.
3.
On the drawing canvas, right-click the desired algorithm. Select Advan ced Tunin g from the menu that appears.
Figure 15: Signal Diagram -- Right-click menu from canvas An Advanced Tuning window applicable to the selected algorithm displays.
APC_002
29
3.8 Reconciling tuning changes in a Windows-based Ovation system
3. 8
Re conc ili ng tuni ng changes
in a Windows -base d Ova tio n syst em
After you have created a control sheet and saved it, you must load the control to the Controller and then the system downloads the file to an MMI in your system. Then you can monitor and tune the control process using a signal diagram at any MMI. During the monitoring process, you might want to make online tuning changes to an algorithm (only algorithm parameter values can be tuned, not point values). These tuning changes are sent to the Controller as you make them. After you complete the changes, you will need to use the Reconcile function in the Ovation Developer Studio if you want to put those changes into the database. When youorbegin Reconciliation process in the Studio, you betoprompted to accept the changes rejectthe them. If you accept the changes, they will bewill sent the database. If you do not accept the changes, the algorithm parameter values will not be sent to the database. Finally, in order for the tuning changes to become permanent, you must use the Reconcile function in the Control Builder to put the changes into the .svg file. This process is illustrated in the following figure:
3. 8.1 To reconcile tuning ch anges betwee n the Controller and the da Windows-based Ovation systems
tabase for
1.
Access the Signal Diagram window.
2.
Select a sheet from the Open Document window.
3.
Make any desired changes and save them. The changes are sent to the Controller. In order for the changes to be sent to the database, you must reconcile the Controller and the database.
4.
Access the Ovation Developer Studio and select the Controller where the sheet resides.
5.
Right-click the Controller and select Reconcile .
6.
If the drop is redundant, the “Select a drop to reconcile” dialog box appears. Select the appropriate target drop and then select Ok. Communications are established at the target drop and the Reconcile dialog box appears
30
APC_002
3.8 Reconciling tuning changes in a Windows-based Ovation system
7.
Check for files listed in the "Items not compared" field in the top section of the dialog box. Items that cannot be reconciled and the reasons they cannot be reconciled are listed in this field.
8.
Check for items that have differences and that can be reconciled in the "Difference(s) found" field in the bottom section of the dialog box.
9.
Select the changes that you want to upload to the database. They now appear highlighted. If you do not select them, the change s will not be uploaded.
10. Select Ok to copy the algorithm changes to the database. Note that if nothing is selected in the lower window pane, nothing will be copied even if you select the Ok button. The selected Controller and the database are reconciled. Refer to To reconcile tuning changes between the database and the Control Builder (see page 31) to reconcile the database and the control sheet.
3. 8.2 To re conci le tuning changes betwee 1.
n the da tabase and the Control Buil
der
Perform the reconciliation process between the Controller and the database (see page 30). Once that reconcile is complete, the tuning changes must be put into the .svg file (control sheet) at the Control Builder. This prevents the changes from being overwritten and lost.
Note: Compiling control sheets will overwrite tuning changes. You must reconcile tuning changes before compiling. 2.
Access the Control Builder and open the control sheet that has been modified.
3.
If the Update Tuning Parameters window appears, select the changes you want to put into the control function. Select the Reconcile button. Note that you must have the Reconcile parameter on the Configure Settings window set to "Enable" for this to occur. OR
APC_002
31
3.8 Reconciling tuning changes in a Windows-based Ovation system
If the sheet is already open in the Control Builder window, you can pull down the File menu and select Reconcile . If there are changes, the Reconcile Tuning Parameters window appears (see the following figure). Select the changes on the window and press the Reconcile button.
Figure 16: Reconcile Tuning Parameters window OR If tuning changes have been made across multiple sheets, use the Reconcile operation found on the Control Buil der Tools -> Ope rations menu. The changes are saved from the database to the .svg file and the tuni ng changes that were made are incorporated into the control sheet.
32
APC_002
S
4
ECTION
Algorithm reference page format
IN THIS SECTION Using algorithm reference pages ...................................................................................... 33
4. 1
Using algorit hm reference
pages
Algorithm reference pages are provided for each algorithm in this manual. These pages are alphabetized and provide the following information about each algorithm (where applicable):
Description - Describes the algorithm's operation.
Invalid Real Numbers and Quality
Functional Symbol - Illustrates (in pictorial form) the al gorithm's operation. Refer to Algorithm functional symbols (see page 34).
Al go ri th m Recor d Type (if r equ ir ed) - Defines the type and size of the record generated for storing parameters and other information necessary to the algorithm. (See Ovation Record Types Reference Manual.)
Al go ri th m Defi ni ti on s - Provides the following information on the algorithm:
- Describes how quality is set.
Names of the parameters used.
Algorithm record field used by each tuning constant or data initialization parameter; also,
the type of entry required in this field (integer, byte, or real). Parameter types such as those described below:
Variable = Input or output signal to the algorithm (that is, analog or digital).
Tuning Constant = Fixed parameter that remains constant unless it is changed by the user at the Operator's Station or Control Builder.
Data Initialization Parameter = Fixed constant that cannot be changed by the user at the Operator's Station but can be changed by the Control Builder.
Selectable = Can be either a Tuning constant in an algorithm record field or a point record.
Reconcilable Constant = Parameter can be tuned and reconciled through a special, project-specific diagram.
Algorithm Initialization = Internal parameter that is exposed by the algorithm.
Definition of whether the parameter is required or optional. If the parameter is optional and not initialized by the user, it defaults to zero. If there areainput to for theanalog algorithm thatand areFALSE optionalfor and not initialized they have valuepoints of zero points digital inputs. by the user,
APC_002
Default value (if applicable).
Brief description of the parameter.
33
4.1 Using algorithm reference pages
Minimum point record required by each variable. Each algorithm defines the minimum size point record that can be used for each algorithm input or output. The quality of the points is set BAD when a detectable hardware failure is encountered. This information can be used in control strategies or for alarming purposes by detecting BAD quality using the QUALITYMON series of algorithms.
Function - Explains the algorithm's operation in terms of a mathematical equation.
Appl ic ati on Exampl e - Provides an example to demonstrate the use of the algorithm.
Miscella neous Sections - Applicable to a specific algorithm only.
4. 1.1 Algor ithm func tion al symb ols The following items are used in the algorithm functional symbols:
Required Analog (LA record type) input or output (solid line and solid arrowhead).
Required Digital or Packed Digital (LD or LP record type) input or output (solid line and hollow arrowhead).
Required Algorithm (LC record type) input or output (solid line and line arrowhead).
Required Drop (DU) input or output (solid line and no arrowhead).
Optional or Selectable Analog (LA record type) input or output (dashed line and solid arrowhead).
Optional or Selectable Digital or Packed Digital (LD, LP record type) input or output (dashed line and hollow arrowhead).
Optional or Selectable Algorithm (LC record type) input or output (dashed line and line arrowhead
Optional or Selectable Drop (DU record type) input or output (dashed line and no arrowhead)
Note: Symbols portrayed in this manual only serve as an example and can be configured differently depending on the number and type of pins that are used. The Control Builder application may show various symbol configurations of the same algorithm and may not directly match what is shown in this document.
34
APC_002
S
ECTION
5
Using t he AR X Model algori thm
IN THIS SECTION What is the ARX model algorithm? ................................................................................... 35 ARX modeladvanced algorithm editing functional symbol 36 Accessing for the ARX........................................................................... model algorithm in the Control Builder ............36 ARX model algorithm operation with fuzzy logic algorithms .............................................39 ARX model algorithm tracking signals .............................................................................. 39 ARX model algorithm I/O pins........................................................................................... 40 ARX model algorithm definitions ....................................................................................... 40 ARX model algorithm auxiliary LC records ....................................................................... 45
5. 1
Wha t is the ARX model algorit hm? Note: The ARX algorithm can only be purchased as part of an engineered solution. The AutoRegressive with eXogenous input (ARX model) algorithm provides a multi-input and multi-output (MIMO) linear transfer function model. The algorithm is capable of capturing both the dynamics as well as the delay time between the outputs and related inputs. The ARX model can simulate up to six process variable (PV) outputs based on up to ten inputs. In the actual process variable being simulated, the inputs typically represent either manipulated variables (MV) or disturbance variables (DV). Regardless of what they physically represent in the process, the algorithm does not distinguish between MV and DV inputs. The model order is limited to four coefficients for each input signal and four coefficients for each output signal. The maximum delay supported by the model is limited to 80 loop times. All outputs values are limited in magnitude via user-defined limits for each output. Refer to the ARX algorithm output calculation (see page 360). To select the ARX model algorithm, refer to To add advanced algorithms using the pull-down menu.
APC_002
35
5.2 ARX model algorithm functional symbol
5. 2
ARX model algorithm
functional
symbol
5. 3
Accessi ng advanced Control Builder
editing for
the ARX model algorit hm in the
To access the Advanced Applications Studio for the ARX model algorithm, refer to To use the Advanced Applications Studio to view and edit advanced algorithms (see page 20). Note: No default tuning window is available for the ARX model algorithm in signal diagrams.
36
APC_002
5.3 Accessing advanced editing for the ARX model algorithm in the Control Builder
5. 3.1 ARX model a lgori thm Input/Output C
onfi guration tab
The Input/Output Configuration tab allows you to view configured algorithm input/output parameters for the ARX model algorithm. This tab is informational only. You cannot edit options from this dialog box or sort the columns in this table.
Figure 17 : ARX model algorithm
APC_002
Input/O utput Configuration t ab
37
5.3 Accessing advanced editing for the ARX model algorithm in the Control Builder
5.3 .2 ARX mod el algor ith m ARXModel Parameters
tab
The ARXModel Parameters tab displays the configurable parameters for the ARX model algorithm. It is also used to import and export models. Editable fields are indicated with a white background. To edit a value, left-click in the entry field to enter the new value. Once you enter the change, press the key on the keyboard or click inside another cell so that the change you made takes effect. Press OK to save the change.
Figure 18: ARXModel Parameters tab
38
APC_002
5.4 ARX model algorithm operation with fuzzy logic algorithms
5. 4
ARX model algorit hm operation
with fuzzy log ic algorit hms
It is possible for multiple ARX models to be combined to provide a non-linear model function. The idea is that a particular ARX algorithm is valid in a certain region of the process response. Since process dynamics typically do not change abruptly, it is necessary to provide a smooth transition between active models. This smooth transition can be realized using fuzzy logic. The multiple ARX models can be aggregated using fuzzy logic. In modes the FUZZIFIER algorithm is used. In this configuration, the PREV_OUTPUT updates with the global output from the FUZZIFIER algorithm. This allows the ARX algorithm to use the global output from the FUZZIFIER algorithm as the previous step output values(y(k-1) in the algorithm calculation.
5. 5
ARX model algorit hm tracki ng sign als External tracking and limiting are done through signals passed in the upper 16 bits of the third status word of the analog track points. This algorithm takes the following action in response to information found in the third status word of the analog input signal TRIN: ARX tr ack in g s ig nal s BIT
D ESCRIPTION
A CTION
TOUT S IGNAL
16
Track
Implemented
Not used
17
Track if lower
Implemented when not in Manual mode*
Not used
18
Track if higher
Implemented when not in Manual mode*
Not used
19
Lower inhibit
Implemented*
Not used
20 21
Raise inhibit Conditional Track
Implemented* See description of cascaded mode.
Not used Not used
22
Not used
No action
Not used
23
Deviation Alarm
No action
Not used
24
Local Manual mode
No action
Not used
25
Manual mode
No action
Not used
26
Auto mode
No action
Not used
27
Not Used
No action
Not used
28
Not Used
No action
Not used
29
Not Used
No action
Not used
30
Low limit reached
No action
Not used
31
High limit reached
No action
Not used
*Only when the track signal is not present. **Only when the track signal is not present; the signals are set according to the definitions given in Setting Tracking Signals in the Ovation Algorithm Reference Manual.
APC_002
39
5.6 ARX model algorithm I/O pins
5. 6
ARX model algorit hm I/ O pins IN - input variables (DV or MV - 10 element vector) PREV - output from previous loop time. These outputs are used when the previous output (y(k-1)) to be used in the calculation is not the calculated output of the algorithm. First example is when the algorithm is being used to predict the value of a process variable, and the actual measured values of the PV are to be used in the calculation. A second example is when the algorithm is being used with the Ovation Fuzzy Logic algorithms to provide a non-linear function. In both of these examples, the value to be used in the calculation should be connected to the PREV pin. OUT - Process Variable output values (6 element vector). These are the PV values being simulated TPSC - User-defined high limit for each output BTSC - User-defined low limit for each output
5. 7
ARX model algorit hm definit ions Note: Algorithm record type = LC ARX alg or ithm def init io ns
NA ME
L C AL G. R ECORD F IELD
DIAG
LU-Integer
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
MIN. P OINT REC.
Data Init
Required
0
Tuning Diagram
-
Number
40
AUX1
G0-Integer
Data Init
Required
-
Model for first output
LC
AUX2
G1-Integer
Data Init
Required
-
Model for second output
LC
AUX3
G2-Integer
Data Init
Required
-
Model for third output
LC
AUX4
G3-Integer
Data Init
Required
-
Model for fourth output
LC
AUX5
G4-Integer
Data Init
Required
-
Model for fifth output
LC
AUX6
G5-Integer
Data Init
Required
-
Model for sixth output
LC
IN1
-
Variable
Required
-
Input1
LA
IN2
-
Variable
Optional
-
Input2
LA
IN3 IN4
-
Variable Variable
Optional Optional
-
Input3 Input4
LA LA
IN5
-
Variable
Optional
-
Input5
LA
APC_002
5.7 ARX model algorithm definitions
APC_002
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
MIN. P OINT REC.
IN6
-
Variable
Optional
-
Input6
LA
IN7
-
Variable
Optional
-
Input7
LA
IN8
-
Variable
Optional
-
Input8
LA
IN9
-
Variable
Optional
-
Input9
LA
IN10
-
Variable
Optional
-
Input10
LA
PREV1
-
Variable
Optional
-
Previous 1st output value
LA
PREV2
-
Variable
Optional
-
Previous 2nd output value
LA
PREV3
-
Variable
Optional
-
Previous 3rd output value
LA
PREV4
-
Variable
Optional
-
Previous 4th output value
LA
PREV5
-
Variable
Optional
-
Previous 5th output value
LA
PREV6
-
Variable
Optional
-
Previous 6th output value
LA
TRIN1
-
Variable
Optional
-
Tracking analog input variable1
LA
TRIN2
-
Variable
Optional
-
Tracking analog input variable2
LA
TRIN3
-
Variable
Optional
-
Tracking analog input variable3
LA
TRIN4
-
Variable
Optional
-
Tracking analog input variable4
LA
TRIN5
-
Variable
Optional
-
Tracking analog input variable5
TRIN6
-
Variable
Optional
-
Tracking analog input variable6
OUT1
-
Variable
Required
-
Analog Output Point1
LA
OUT2
-
Variable
Optional
-
Analog Output Point2
LA
OUT3
-
Variable
Optional
-
Analog Output Point3
LA
OUT4
-
Variable
Optional
-
Analog Output Point4
LA
OUT5
-
Variable
Optional
-
Analog Output Point5
LA
OUT6
-
Variable
Optional
-
Analog Output Point6
LA
LA
LA
41
5.7 ARX model algorithm definitions
NA ME
42
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
MIN. P OINT REC.
ERR
-
Variable
Optional
-
Error Status Point
LP
HOR
G6-Integer
Data Init
Optional
1
Simulation horizon specified in algorithm loop times
-
NOUT
G7-Integer
Data Init
Required
0
Number of outputs
TPSC1
R1 - Real
Selectable
Required
100.0
Maximum value of the output point 1
LA
BTSC1
R2 - Real
Selectable
Required
0.0
Minimum value of the output point 1
LA
TPSC2
R3 - Real
Selectable
Optional
100.0
Maximum value of the output point 2
LA
BTSC2
R4 - Real
Selectable
Optional
0.0
Minimum value of the output point 2
LA
TPSC3
R5 - Real
Selectable
Optional
100.0
Maximum value of the output point 3
LA
BTSC3
R6 - Real
Selectable
Optional
0.0
Minimum value of the output point 3
LA
TPSC4
R7 - Real
Selectable
Required
100.0
Maximum value of the output point 4
LA
BTSC4
R8 - Real
Selectable
Required
0.0
Minimum value of the output point 4
LA
TPSC5
R9 - Real
Selectable
Optional
100.0
Maximum value of the output point 5
LA
BTSC5
S1 - Real
Selectable
Optional
0.0
Minimum value of the output point 5
LA
TPSC6
S2 - Real
Selectable
Optional
100.0
Maximum value of the output point 6
LA
BTSC6
S3 - Real
Selectable
Optional
0.0
Minimum value of the output point 6
LA
ISTP1
X7 Byte Bit 1
Data Init
Required
NO_ACTIVE
Is active TPSC1 constrain 0-NO_ACTIVE 1-ACTIVE
-
ISTP2
X7 Byte Bit 2
Data Init
Optional
NO_ACTIVE
Is active TPSC2 constrain 0-NO_ACTIVE 1-ACTIVE
-
ISTP3
X7 Byte Bit 3
Data Init
Optional
NO_ACTIVE
Is active TPSC3 constrain 0-NO_ACTIVE 1-ACTIVE
-
APC_002
5.7 ARX model algorithm definitions
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
MIN. P OINT REC.
ISTP4
X7 Byte Bit 4
Data Init
Optional
NO_ACTIVE
Is active TPSC4 constrain 0-NO_ACTIVE 1-ACTIVE
-
ISTP5
X7 Byte Bit 5
Data Init
Optional
NO_ACTIVE
Is active TPSC5 constrain 0-NO_ACTIVE 1-ACTIVE
-
ISTP6
X7 Byte Bit 6
Data Init
Optional
NO_ACTIVE
Is active TPSC6 constrain 0-NO_ACTIVE 1-ACTIVE
-
ISBT1
X8 Byte Bit 1
Data Init
Required
NO_ACTIVE
Is active BTSC1 constrain 0-NO_ACTIVE 1-ACTIVE
-
ISBT2
X8 Byte Bit 2
Data Init
Optional
NO_ACTIVE
Is active BTSC2 constrain 0-NO_ACTIVE 1-ACTIVE
-
ISBT3
X8 Byte Bit 3
Data Init
Optional
NO_ACTIVE
Is active BTSC3 constrain 0-NO_ACTIVE 1-ACTIVE
-
ISBT4
X8 Byte Bit 4
Data Init
Optional
NO_ACTIVE
Is active BTSC4 constrain
-
0-NO_ACTIVE 1-ACTIVE ISBT5
X8 Byte Bit 5
Data Init
Optional
NO_ACTIVE
Is active BTSC5 constrain 0-NO_ACTIVE 1-ACTIVE
-
ISBT6
X8 Byte Bit 6
Data Init
Optional
NO_ACTIVE
Is active BTSC6 constrain 0-NO_ACTIVE 1-ACTIVE
-
DU1
S4-Real
Data Init
Required
5.0
Rate of change limit in units per step (for output 1)
-
DU2
S5-Real
Data Init
Optional
5.0
Rate of change limit in units per step (for output 2)
-
DU3
S6-Real
Data Init
Optional
5.0
Rate of change limit
-
DU4
S7-Real
Data Init
Optional
5.0
Rate of change limit in units per step (for output 4)
in units3) per step (for output
APC_002
-
43
5.7 ARX model algorithm definitions
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
DU5
S8-Real
Data Init
Optional
5.0
Rate of change limit in units per step (for output 5)
-
DU6
S9-Real
Data Init
Optional
5.0
Rate of change limit in units per step (for output 6)
-
ISDU1
YO Byte
Data Init
Required
NO_ACTIVE
Is active DU1
-
Bit 1
44
MIN. P OINT REC.
D ESCRIPTION
constrain 0-NO_ACTIVE 1-ACTIVE
ISDU2
YO Byte Bit 2
Data Init
Optional
NO_ACTIVE
Is active DU2 constrain 0-NO_ACTIVE 1-ACTIVE
-
ISDU3
YO Byte Bit 3
Data Init
Optional
NO_ACTIVE
Is active DU3 constrain 0-NO_ACTIVE 1-ACTIVE
-
ISDU4
YO Byte Bit 4
Data Init
Optional
NO_ACTIVE
Is active DU4 constrain 0-NO_ACTIVE 1-ACTIVE
-
ISDU5
YO Byte Bit 5
Data Init
Optional
NO_ACTIVE
Is active DU5 constrain 0-NO_ACTIVE 1-ACTIVE
-
ISDU6
YO Byte Bit 6
Data Init
Optional
NO_ACTIVE
Is active DU6 constrain 0-NO_ACTIVE 1-ACTIVE
-
STIME
XR-Integer
Data Init
Required
10000
Sample time
IQUAL
X1 Byte Bit 0
Data Init
Required
NO_ACTIVE
Ignore bad quality
IDPRE
X1 Byte Bit 1
Data Init
Required
NO_ACTIVE
Display prediction
APC_002
5.8 ARX model algorithm auxiliary LC records
5. 8
ARX model algorit hm auxiliary
LC records
Note: AUX1-AUX6 contains the model parameters for outputs 1-6. ARX Al go ri thm–A ux il iar y LC rec or ds
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
DIAG
LU-Integer
Tuning
Required
D EFAULT VA L UE XXX
constant
APC_002
D ESCRIPTION
Tuning Diagram Number
NIN
G0-Integer
Data Init
Required
0
Number of inputs
NB1
G1-Integer
Data Init
Optional
0
Order of input 1
NB2
G2-Integer
Data Init
Optional
0
Order of input 2
NB3
G3-Integer
Data Init
Optional
0
Order of input 3
NB4
G4-Integer
Data Init
Optional
0
Order of input 4
NB5
G5-Integer
Data Init
Optional
0
Order of input 5
NB6
G6-Integer
Data Init
Optional
0
Order of input 6
NB7
G7-Integer
Data Init
Optional
0
Order of input 7
NB8
G8-Integer
Data Init
Optional
0
Order of input 8
NB9
G9-Integer
Data Init
Optional
0
Order of input 9
NB10
B0-Integer
Data Init
Optional
0
Order of input 10
DEL1
B1-Integer
Data Init
Optional
0
Delay of input 1
DEL2
B2-Integer
Data Init
Optional
0
Delay of input 2
DEL3
YU-Integer
Data Init
Optional
0
Delay of input 3
DEL4
B4-Integer
Data Init
Optional
0
Delay of input 4
DEL5
B5-Integer
Data Init
Optional
0
Delay of input 5
DEL6
B6-Integer
Data Init
Optional
0
Delay of input 6
DEL7
B7-Integer
Data Init
Optional
0
Delay of input 7
DEL8
B8-Integer
Data Init
Optional
0
Delay of input 8
DEL9
B9-Integer
Data Init
Optional
0
Delay of input 9
DEL10
C0-Integer
Data Init
Optional
0
Delay of input 10
NA
C1-Integer
Data Init
Optional
0
Order of output
MAP
C2-Integer
Data Init
Required
1
Mapping which input is taken for this output. If the bit is set to 1 then the input is active.
INA1
D2 - Real
Data Init
Optional
0.0
Average (point of work) on input 1
45
5.8 ARX model algorithm auxiliary LC records
46
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
INA2
YP - Real
Data Init
INA3
D4 - Real
INA4
D EFAULT VA L UE
D ESCRIPTION
Optional
0.0
Average (point of work) on input 2
Data Init
Optional
0.0
Average (point of work) on input 3
D5 - Real
Data Init
Optional
0.0
Average (point of work) on input 4
INA5
D6 - Real
Data Init
Optional
0.0
Average (point of work) on input 5
INA6
YN - Real
Data Init
Optional
0.0
Average (point of work) on input 6
INA7
D8 - Real
Data Init
Optional
0.0
Average (point of work) on input 7
INA8
D9 - Real
Data Init
Optional
0.0
Average (point of work) on input 8
INA9
YM - Real
Data Init
Optional
0.0
Average (point of work) on input 9
INA10
YL - Real
Data Init
Optional
0.0
Average (point of work) on input 10
A1
YC - Real
Data Init
Optional
0.0
a1 coefficient
A2
Y9 - Real
Data Init
Optional
0.0
a2 coefficient
A3
E7 - Real
Data Init
Optional
0.0
a3 coefficient
A4
E8 - Real
Data Init
Optional
0.0
a4 coefficient
B11
Y8 - Real
Data Init
Optional
0.0
b0 coefficient
B12
Y7 - Real
Data Init
Optional
0.0
b1 coefficient
B13
Y6 - Real
Data Init
Optional
0.0
b2 coefficient
B14
XY - Real
Data Init
Optional
0.0
b3 coefficient
B21
XW - Real
Data Init
Optional
0.0
b0 coefficient
B22
F4 - Real
Data Init
Optional
0.0
b1 coefficient
B23
F5 - Real
Data Init
Optional
0.0
b2 coefficient
B24
F6 - Real
Data Init
Optional
0.0
b3 coefficient
B31
XV - Real
Data Init
Optional
0.0
b0 coefficient
B32
XU - Real
Data Init
Optional
0.0
b1 coefficient
B33
XR - Real
Data Init
Optional
0.0
b2 coefficient
B34
R1 - Real
Data Init
Optional
0.0
b3 coefficient
B41
R2 - Real
Data Init
Optional
0.0
b0 coefficient
B42
R3 - Real
Data Init
Optional
0.0
b1 coefficient
B43
R4 - Real
Data Init
Optional
0.0
b2 coefficient
B44
R5 - Real
Data Init
Optional
0.0
b3 coefficient
APC_002
5.8 ARX model algorithm auxiliary LC records
APC_002
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
B51
R6 - Real
Data Init
B52
R7 - Real
Data Init
B53
R8 - Real
B54
D EFAULT VA L UE
D ESCRIPTION
Optional
0.0
b0 coefficient
Optional
0.0
b1 coefficient
Data Init
Optional
0.0
b2 coefficient
R9 - Real
Data Init
Optional
0.0
b3 coefficient
B61
S1 - Real
Data Init
Optional
0.0
b0 coefficient
B62 B63
S2 - Real S3 - Real
Data Init Data Init
Optional Optional
0.0 0.0
b1 coefficient b2 coefficient
B64
S4 - Real
Data Init
Optional
0.0
b3 coefficient
B71
S5 - Real
Data Init
Optional
0.0
b0 coefficient
B72
S6 - Real
Data Init
Optional
0.0
b1 coefficient
B73
S7 - Real
Data Init
Optional
0.0
b2 coefficient
B74
S8 - Real
Data Init
Optional
0.0
b3 coefficient
B81
S9 - Real
Data Init
Optional
0.0
b0 coefficient
B82
T1 - Real
Data Init
Optional
0.0
b1 coefficient
B83
T2 - Real
Data Init
Optional
0.0
b2 coefficient
B84
T3 - Real
Data Init
Optional
0.0
b3 coefficient
B91
T4 - Real
Data Init
Optional
0.0
b0 coefficient
B92
T5 - Real
Data Init
Optional
0.0
b1 coefficient
B93 B94
T6 - Real T7 - Real
Data Init Data Init
Optional Optional
0.0 0.0
b2 coefficient b3 coefficient
B101
T8 - Real
Data Init
Optional
0.0
b0 coefficient
B102
T9 - Real
Data Init
Optional
0.0
b1 coefficient
B103
U1 - Real
Data Init
Optional
0.0
b2 coefficient
B104
U2 - Real
Data Init
Optional
0.0
b3 coefficient
OUTA
U3 - Real
Data Init
Required
1
Average (point of work) on output
47
S
ECTION
6
Using t he Dyn amic Ma tr ix Cont ro ll er (DMC) algorithm
IN THIS SECTION What is the DMC algorithm? ............................................................................................. 49 DMC algorithm functional symbol ..................................................................................... 50 Accessing advanced editing for the DMC algorithm in the Control Builder ......................50 DMC algorithm definitions ................................................................................................. 54 Auxiliary DMC algorithm definitions .................................................................................. 64 DMC algorithm status of optimization (STAT) output........................................................88 DMC algorithm tracking signals ........................................................................................ 88 DMC algorithm MV bump protection................................................................................. 89 DMC algorithm cascaded mode and conditional tracking.................................................93 Accessing the tuning window for the DMC algorithm in signal diagrams .......................103
6. 1
What is the DM C algorit hm? Note: The DMC algorithm can only be purchased as part of an engineered solution. The Dynamic Matrix Controller (DMC) algorithm provides a predictive Controller. The DMC can calculate five output signals (manipulated variables - MV) based on five disturbance variables (DV) and six control variables (CV). The output values are limited via user-defined limits for each output. The algorithm supports all Ovation system logic for each output separately. Refer to the DMC algorithm output calculation (see page 367). Note: All DMC algorithms in a single Controller must be in the same control task area. Normally, the DMC algorithm is placed in a control task area of 10 seconds or greater.
APC_002
49
6.2 DMC algorithm functional symbol
6. 2
DM C algorit hm func tion al symb ol
STPT 6
PV (CV-6)
DV (5) OUT_PREV
Internal Model HLIMIT1,2,3,4,5
Optimizer
LLIMIT1,2,3,4,5
TRIN1,2,3,4,5 OUT (MV-5)
STAT
ERR
Figure 19 : DMC algorithm f unction al symbol Where: Internal Model - step response model. Optimizer - Quadratic Programming (QP) problem solver with constraints.
50
APC_002
6.3 Accessing advanced editing for the DMC algorithm in the Control Builder
6. 3
Accessi ng advanced Control Builder
editing for
the DM C algori thm in the
You can make minor adjustments with the graphical interface tool available through the Control Builder. To access the Advanced Applications Studio for the DMC algorithm, refer to To use the Advanced Applications Studio to view and edit advanced algorithms (see page 20).
6. 3. 1 DMC Input/Output C
onfig uration tab
The Input/Output Configuration tab displays the algorithm's input and output configuration tab. This tab is informational only. You cannot edit options from this window or sort the columns in this table. Use the scroll bar to see the full listing. Check the Enable ToolTips check box for helpful descriptions when you hover the mouse cursor over various elements of the window.
Figure 20: DMC Input/Output Configuration tab
APC_002
51
6.3 Accessing advanced editing for the DMC algorithm in the Control Builder
6.3.2
DMC General Paramet ers tab The General Parameters tab displays the global parameters for the algorithm, which includes the model MV input constraints, gain and bias for setpoints and process variables, and parameters for prediction outputs. Editable fields are indicated with a white background in the Value or Active columns. To edit a value, left-click in the entry field to enter the new value. Once you enter the change, press the key on the keyboard or click inside another cell so that the change you made takes effect. Press OK to save the change. Values for gain setpoints must be > 0 to be valid.
Selectable Fields (Model MV Input Constraints) section This section allows you to define top and bottom limits and rate of change limits for each MV. Also, you can define a special design rate limit that will be achieved only after transition from MAN to AUTO in X steps, where X is also defined by the user as an SNL parameter. (Refer to DMC algorithm MV bump protection (see page 89).) An alog Fields s ect ion This section allows you to define gain and bias for setpoints and process variables. Prediction Outputs s ection This sectionisallows you to define CV number and timestamp of the predicted output. The timestamp defined in loops timethe (K+loops).
52
APC_002
6.3 Accessing advanced editing for the DMC algorithm in the Control Builder
6.3 .3 DMC Aux ili ary Parameters
tab
The Auxiliary Parameters tab contains two tabs:
Model Parameters tab (see page 53).
Weighting Parameters tab (see page 54).
DMC Model Parameters tab The Model Parameters tab allows you to import a specific model for the algorithm to use.
Figure 21: DMC Model Parameters tab
APC_002
53
6.4 DMC algorithm definitions
DMC Weightin g Parameters tab The Weighting Parameters tab allows you to modify the weights of the MV inputs (R matrix) and CV outputs (Q matrix)
Figure 22: DMC Weightin g Parameters tab
6. 4
DM C algorit hm definit ions Note: Algorithm record type = LC DMC algorithm d efinitions
54
NA ME
L C AL G. R ECORD F IELD
DIAG
M I N. P OINT REC.
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
LU-Integer
Data Init
Required
153
Tuning Diagram Number
-
AUX1
G0-Integer
Auxiliary
Required
-
Matrix_D and piece of matrix Q
LC
AUX2
G1-Integer
Auxiliary
Required
-
Matrix_Delay and matrix R
LC
AUX3
G2-Integer
Auxiliary
Required
-
Model MV1 - CV(1,2)
LC
D ESCRIPTION
APC_002
6.4 DMC algorithm definitions
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
M I N. P OINT REC.
AUX4
G3-Integer
Auxiliary
Required
-
Model MV1 - CV(3,4)
AUX5
LC
G4-Integer
Auxiliary
Required
-
Model MV1 - CV(5,6)
LC
AUX6
G5-Integer
Auxiliary
Required
-
Model MV2 - CV(1,2)
LC
AUX7
G6-Integer
Auxiliary
Required
-
Model MV2 - CV(3,4)
LC
AUX8
G7-Integer
Auxiliary
Required
-
Model MV2 - CV(5,6)
LC
AUX9
G8-Integer
Auxiliary
Required
-
Model MV3 - CV(1,2)
LC
AUX10
G9-Integer
Auxiliary
Required
-
Model MV3 - CV(3,4)
LC
AUX11
B0-Integer
Auxiliary
Required
-
Model MV3 - CV(5,6)
LC
AUX12
B1-Integer
Auxiliary
Required
-
Model MV4 - CV(1,2)
LC
AUX13
B2-Integer
Auxiliary
Required
-
Model MV4 - CV(3,4)
LC
AUX14
YU-Integer
Auxiliary
Required
-
Model MV4 - CV(5,6)
LC
AUX15
B4-Integer
Auxiliary
Required
-
Model MV5 - CV(1,2)
LC
AUX16
B5-Integer
Auxiliary
Required
-
Model MV5 - CV(3,4)
LC
AUX17
B6-Integer
Auxiliary
Required
-
Model MV5 - CV(5,6)
LC
AUX18
B7-Integer
Auxiliary
Required
-
Model DV1 - CV(1,2)
LC
AUX19
B8-Integer
Auxiliary
Required
-
Model DV1 - CV(3,4)
LC
AUX20
B9-Integer
Auxiliary
Required
-
Model DV1 - CV(5,6)
LC
AUX21
C0-Integer
Auxiliary
Required
-
Model DV2 - CV(1,2)
LC
AUX22
C1-Integer
Auxiliary
Required
-
Model DV2 - CV(3,4)
LC
AUX23
C2-Integer
Auxiliary
Required
-
Model DV2 - CV(5,6)
LC
AUX24
C3-Integer
Auxiliary
Required
-
Model DV3 - CV(1,2)
LC
AUX25
C4-Integer
Auxiliary
Required
-
Model DV3 - CV(3,4)
LC
AUX26
C5-Integer
Auxiliary
Required
-
Model DV3 - CV(5,6)
LC
AUX27
C6-Integer
Auxiliary
Required
-
Model DV4 - CV(1,2)
LC
AUX28
C7-Integer
Auxiliary
Required
-
Model DV4 - CV(3,4)
LC
AUX29
C8-Integer
Auxiliary
Required
-
Model DV4 - CV(5,6)
LC
AUX30
YT-Integer
Auxiliary
Required
-
Model DV5 - CV(1,2)
LC
AUX31
D0-Integer
Auxiliary
Required
-
Model DV5 - CV(3,4)
LC
AUX32
D1-Integer
Auxiliary
Required
-
Model DV5 - CV(5,6)
LC
PRE1
-
Variable
Optional
-
The first predicted CV (controlled variable) for a given set of MVs (manipulated variables)
LA
and DVs (disturbance variables).
APC_002
55
6.4 DMC algorithm definitions
NA ME
L C AL G. R ECORD F IELD
PRE2
-
PRE3
M I N. P OINT REC.
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
Variable
Optional
-
The second predicted CV (controlled variable) for a given set of MVs (manipulated variables) and DVs (disturbance variables).
LA
-
Variable
Optional
-
The third predicted CV (controlled variable) for a given set of MVs (manipulated variables) and DVs (disturbance variables).
LA
PRE4
-
Variable
Optional
-
The fourth predicted CV (controlled variable) for a given set of MVs (manipulated variables) and DVs (disturbance variables).
LA
PRE5
-
Variable
Optional
-
The fifth predicted CV (controlled variable) for a given set of MVs (manipulated variables) and DVs (disturbance variables).
LA
PRE6
-
Variable
Optional
-
The sixth predicted CV (controlled variable) for a given set of MVs (manipulated variables)
LA
D ESCRIPTION
and DVs (disturbance variables).
56
PRE7
-
Variable
Optional
-
The seventh predicted CV (controlled variable) for a given set of MVs (manipulated variables) and DVs (disturbance variables).
LA
PRE8
-
Variable
Optional
-
The eighth predicted CV (controlled variable) for a given set of MVs (manipulated variables) and DVs (disturbance variables).
LA
PRE9
-
Variable
Optional
-
The ninth predicted CV (controlled variable) for a given set of MVs (manipulated variables) and DVs (disturbance variables).
LA
APC_002
6.4 DMC algorithm definitions
APC_002
NA ME
L C AL G. R ECORD F IELD
PRE10
-
STPT1 STPT2
M I N. P OINT REC.
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
Variable
Optional
-
-
Variable
Required
-
Set Point1
LA
-
Variable
Optional
-
Set Point2
LA
STPT3
-
Variable
Optional
-
Set Point3
LA
STPT4
-
Variable
Optional
-
Set Point4
LA
STPT5
-
Variable
Optional
-
Set Point5
LA
STPT6
-
Variable
Optional
-
Set Point6
LA
PV1
-
Variable
Required
-
Process variable1
LA
PV2
-
Variable
Optional
-
Process variable2
LA
PV3
-
Variable
Optional
-
Process variable3
LA
PV4
-
Variable
Optional
-
Process variable4
LA
PV5
-
Variable
Optional
-
Process variable5
LA
PV6
-
Variable
Optional
-
Process variable6
LA
DV1
-
Variable
Optional
-
DV 1
LA
DV2
-
Variable
Optional
-
DV 2
LA
DV3
-
Variable
Optional
-
DV 3
LA
DV4
-
Variable
Optional
-
DV 4
LA
DV5
-
Variable
Optional
-
DV 5
LA
PREV1
-
Variable
Optional
-
Previous 1st output value
LA
PREV2
-
Variable
Optional
-
Previous 2nd output value
LA
PREV3
-
Variable
Optional
-
Previous 3rd output value
LA
PREV4
-
Variable
Optional
-
Previous 4th output value
LA
PREV5
-
Variable
Optional
-
Previous 5th output value
LA
TRIN1
-
Variable
Optional
-
Tracking analog input variable1
LA
TRIN2
-
Variable
Optional
-
Tracking analog input
LA
TRIN3
-
Variable
Optional
-
variable2 Tracking analog input variable3
LA
D ESCRIPTION The tenth predicted CV (controlled variable) for a given set of MVs (manipulated variables) and DVs (disturbance variables).
LA
57
6.4 DMC algorithm definitions
NA ME
L C AL G. R ECORD F IELD
TRIN4
-
TRIN5
TYPE
D EFAULT VA L UE
Variable
Optional
-
Tracking analog input variable4
-
Variable
Optional
-
Tracking analog input variable5
OUT1
-
Variable
Required
-
Analog Output Point1
LA
OUT2
-
Variable
Optional
-
Analog Output Point2
LA
OUT3
-
Variable
Optional
-
Analog Output Point3
LA
OUT4
-
Variable
Optional
-
Analog Output Point4
LA
OUT5
-
Variable
Optional
-
Analog Output Point5
LA
STAT
-
Variable
Optional
-
Status of optimization
LP LP
D ESCRIPTION
LA
LA
ERR
-
Variable
Optional
-
Error Status Point
NMV
D2-Integer
Data Init
Required
0
Number of MV
-
NDV
YP-Integer
Data Init
Required
0
Number of DV
-
NCV
D4-Integer
Data Init
Required
0
Number of CV
-
N
D5-Integer
Data Init
Required
100
Horizon
-
NU
D6-Integer
Data Init
Required
10
Horizon MV
-
PVG1
YN - Real
Tuning constant
Required
1.0
Gain on process variable input 1. The gain on the set point should never be initialized to zero.
-
PVB1
D8 - Real
Tuning constant
Optional
0.0
Bias on process variable input 1
-
SPTG2
D9 - Real
Tuning constant
Optional
1.0
Gain on set point 2. The gain on the set point should never be initialized to zero.
-
SPTB2
YM - Real
Tuning constant
Optional
0.0
Bias on set point 2
-
PVG2
YL - Real
Tuning constant
Optional
1.0
Gain on process variable input 2. The gain on the set point should never be initialized to zero.
-
PVB2
E2 - Real
Tuning constant
Optional
0.0
Bias on process variable input 2
-
SPTG3
E3 - Real
Tuning
Optional
1.0
Gain on set point 3.
-
constant SPTB3
58
M I N. P OINT REC.
R EQUIRED / O PTIONAL
E4 - Real
Tuning constant
The gain on the setbe point should never initialized to zero. Optional
0.0
Bias on set point 3
-
APC_002
6.4 DMC algorithm definitions
NA ME
L C AL G. R ECORD F IELD
PVG3
YC - Real
Tuning constant
Optional
1.0
Gain on process variable input 3. The gain on the set point should never be initialized to zero.
-
PVB3
Y9 - Real
Tuning constant
Optional
0.0
Bias on process variable input 3
-
SPTG4
E7 - Real
Tuning constant
Optional
1.0
Gain on set point 4. The gain on the set point should never be initialized to zero.
-
SPTB4
E8 - Real
Tuning constant
Optional
0.0
Bias on set point 4
-
PVG4
Y8 - Real
Tuning constant
Optional
1.0
Gain on process variable input 4. The gain on the set point should never be initialized to zero.
-
PVB4
Y7 - Real
Tuning constant
Optional
0.0
Bias on process variable input 4
-
SPTG5
Y6 - Real
Tuning constant
Optional
1.0
Gain on set point 5. The gain on the set point should never be initialized to zero.
-
SPTB5
XY - Real
Tuning
Optional
0.0
Bias on set point 5
-
Optional
1.0
Gain on process variable input 5. The gain on the set point should never be initialized to zero.
-
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
M I N. P OINT REC.
constant PVG5
XW - Real
Tuning Constant
APC_002
PVB5
F4 - Real
Tuning constant
Optional
0.0
Bias on process variable input 5
-
SPTG6
F5 - Real
Tuning constant
Optional
1.0
Gain on set point 6. The gain on the set point should never be initialized to zero.
-
SPTB6
F6 - Real
Tuning constant
Optional
0.0
Bias on set point 6
-
PVG6
XV - Real
Tuning constant
Optional
1.0
Gain on process variable input 6. The gain on the set point should never be initialized to zero.
-
PVB6
XU - Real
Tuning constant
Optional
0.0
Bias on process variable input 6
-
59
6.4 DMC algorithm definitions
NA ME
L C AL G. R ECORD F IELD
TPSC1
S6 - Real
BTSC1
M I N. P OINT REC.
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
Selectable
Required
100.0
Maximum value of the output point 1
LA
R1 - Real
Selectable
Required
0.0
Minimum value of the output point 1
LA
TPSC2
R2 - Real
Selectable
Optional
100.0
Maximum value of the output point 2
LA
BTSC2
R3 - Real
Selectable
Optional
0.0
Minimum value of the output point 2
LA
TPSC3
R4 - Real
Selectable
Optional
100.0
Maximum value of the output point 3
LA
BTSC3
R5 - Real
Selectable
Optional
0.0
Minimum value of the output point 3
LA
TPSC4
R6 - Real
Selectable
Optional
100.0
Maximum value of the output point 4
LA
BTSC4
R7 - Real
Selectable
Optional
0.0
Minimum value of the output point 4
LA
TPSC5
R8 - Real
Selectable
Optional
100.0
Maximum value of the output point 5
LA
BTSC5
R9 - Real
Selectable
Optional
0.0
Minimum value of the output point 5
LA
ISTP1
X7 Byte Bit 1
Data Init
Required
NO_ACTIVE
Is active TPSC1 constrain:
-
D ESCRIPTION
0 - NO_ACTIVE
ISTP2
X7 Byte Bit 2
Data Init
Optional
NO_ACTIVE
1 - ACTIVE Is active TPSC2 constrain:
-
0 - NO_ACTIVE 1 - ACTIVE ISTP3
ISTP4
X7 Byte Bit 3
Data Init
X7 Byte Bit 4
Data Init
Optional
NO_ACTIVE
0 - NO_ACTIVE
-
1 - ACTIVE Optional
NO_ACTIVE
Is active TPSC4 constrain:
-
0 - NO_ACTIVE 1 - ACTIVE ISTP5
X7 Byte Bit 5
Data Init
Optional
NO_ACTIVE
Is active TPSC5 constrain:
-
0 - NO_ACTIVE 1 - ACTIVE
60
APC_002
6.4 DMC algorithm definitions
NA ME ISBT1
L C AL G. R ECORD F IELD X8 Byte Bit 1
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
Data Init
Required
NO_ACTIVE
D ESCRIPTION Is active BTSC1 constrain:
M I N. P OINT REC. -
0 - NO_ACTIVE 1 - ACTIVE ISBT2
X8 Byte Bit 2
Data Init
Optional
NO_ACTIVE
Is active BTSC2 constrain:
-
0 - NO_ACTIVE 1 - ACTIVE ISBT3
X8 Byte Bit 3
Data Init
Optional
NO_ACTIVE
Is active BTSC3 constrain:
-
0 - NO_ACTIVE 1 - ACTIVE ISBT4
X8 Byte Bit 4
Data Init
Optional
NO_ACTIVE
Is active BTSC4 constrain:
-
0 - NO_ACTIVE 1 - ACTIVE ISBT5
X8 Byte Bit 5
Data Init
Optional
NO_ACTIVE
Is active BTSC5 constrain:
-
0 - NO_ACTIVE 1 - ACTIVE DU1
S1 - Real
Tuning constant
Required
5.0
Rate of change limit in units per step (for output 1.)
-
DU2
S2 - Real
Tuning constant
Optional
5.0
Rate of change limit in units per step (for output 2.)
-
DU3
S3 - Real
Tuning constant
Optional
5.0
Rate of change limit in units per step (for output 3.)
-
DU4
S4 - Real
Tuning constant
Optional
5.0
Rate of change limit in units per step (for output 4.)
-
DU5
S5 - Real
Tuning constant
Optional
5.0
Rate of change limit in units per step (for output 5.)
-
ISDU1
Y0 Byte Bit 1
Data Init
Required
NO_ACTIVE
Is active DU1 constrain:
-
0 - NO_ACTIVE 1 - ACTIVE
APC_002
61
6.4 DMC algorithm definitions
NA ME ISDU2
L C AL G. R ECORD F IELD Y0 Byte Bit 2
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
Data Init
Optional
NO_ACTIVE
M I N. P OINT REC.
D ESCRIPTION Is active DU2 constrain:
-
0 - NO_ACTIVE 1 - ACTIVE ISDU3
Y0 Byte Bit 3
Data Init
Optional
NO_ACTIVE
Is active DU3 constrain:
-
0 - NO_ACTIVE 1 - ACTIVE ISDU4
Y0 Byte Bit 4
Data Init
Optional
NO_ACTIVE
Is active DU4 constrain:
-
0 - NO_ACTIVE 1 - ACTIVE ISDU5
Y0 Byte Bit 5
Data Init
Optional
NO_ACTIVE
Is active DU5 constrain:
-
0 - NO_ACTIVE 1 - ACTIVE MA1
T4 - Real
Tuning Constant
Optional
0.5
Rate of change limit in units per step (for output 1). Limit is activated after transition from MAN to AUTO. Limit is deactivated after SNL steps.
-
MA2
T5 - Real
Tuning Constant
Optional
0.5
Rate of change limit in units per step (for output 2). Limit is activated after transition from MAN to AUTO. Limit is deactivated after SNL steps.
MA3
T6 - Real
Tuning Constant
Optional
0.5
Rate of change limit in units per step (for output 3). Limit is activated after transition from MAN to AUTO. Limit is deactivated after SNL steps.
-
ISMA1
Y1 - Byte Bit 1
Data Init
Optional
NO ACTIVE
Determines is active MA1 is constrain:
-
-
0 - NO ACTIVE 1 - ACTIVE
62
APC_002
6.4 DMC algorithm definitions
NA ME ISMA2
L C AL G. R ECORD F IELD Y1 - Byte Bit 2
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
Data Init
Optional
NO ACTIVE
D ESCRIPTION Determines is active MA2 is constrain:
M I N. P OINT REC. -
0 - NO ACTIVE 1 - ACTIVE ISMA3
Y1 - Byte Bit 3
Data Init
Optional
NO ACTIVE
Determines is active MA3 is constrain:
-
0 - NO ACTIVE 1 - ACTIVE ISMA4
Y1 - Byte Bit 4
Data Init
Optional
NO ACTIVE
Determines is active MA4 is constrain:
-
0 - NO ACTIVE 1 - ACTIVE ISMA5
Y1 - Byte Bit 5
Data Init
Optional
NO ACTIVE
Determines is active MA5 is constrain:
-
0 - NO ACTIVE 1 - ACTIVE
APC_002
MQ61
T7-Real
Tuning Constant
Optional
0.0
Weight CV6/CV1
-
MQ62
T8-Real
Tuning Constant
Optional
0.0
Weight CV6/CV2
-
MQ63
T9-Real
Tuning Constant
Optional
0.0
Weight CV6/CV3
-
MQ64
U1-Real
Tuning Constant
Optional
0.0
Weight CV6/CV4
-
MQ65
U2-Real
Tuning Constant
Optional
0.0
Weight CV6/CV5
-
MQ66
U3-Real
Tuning Constant
Optional
0.0
Weight CV6/CV6
-
STIME
XR-Integer
Data Init
Required
10000
Sample time
-
IQUAL
X1 Byte Bit 0
Data Init
Required
NO_ACTIVE
Ignore Set quality to Bad
-
MR11
S8
Tuning Constant
Optional
1.0
Weight MV1/MV1
LA
MR22
S9
Tuning Constant
Optional
1.0
Weight MV2/MV2
LA
MR33
T1
Tuning Constant
Optional
1.0
Weight MV3/MV3
LA
MR44
T2
Tuning Constant
Optional
1.0
Weight MV4/MV4
LA
MR55
T3
Tuning Constant
Optional
1.0
Weight MV5/MV5
LA
63
6.5 Auxiliary DMC algorithm definitions
L C AL G. R ECORD F IELD
TYPE
IBQDV
X3 - Byte Bit 0
Data Init
Required
NO ACTIVE
Ignore DV signals when Bad quality.
--
IBQHL
X4 - Byte Bit 0
Data Init
Required
NO ACTIVE
Ignore HL signal when Bad quality.
--
IBQLL
X5 - Byte Bit 0
Data Init
Required
NO ACTIVE
Ignore LL signal when Bad quality.
--
NA ME
D EFAULT VA L UE
M I N. P OINT REC.
R EQUIRED / O PTIONAL
D ESCRIPTION
Note: Algorithm is using internal fields S7 bit0 — 0 OK; 1 sample time is incorrect Y3 — field to communication with interface. This value is satisfied by interface. This value informs the algorithm how many algorithms have to send trajectories data. If Y3 value is greater than 0, that algorithm sent trajectories data and decrements the Y3 value.
6. 5
Auxi liary DM C algori thm definit ions Auxiliary 1 Matrix D (the size of each vector coding the step response model) and Matrix Q matrix weight (only 30 elements of this Matrix can be located in this auxiliary record, the remaining six elements are located in main LC record). Au xi li ary DMC algo ri th m defi ni ti on s L C AL G. R ECORD AME
64
IELD
R EQUIRED / YPE
N MD11
F G0 - Integer
T Data Init
MD12
G1 - Integer
MD13
D EFAULT
PTIONAL
O
A L UE
V
ESCRIPTION
D Size of vector coding step response model (CV1/MV1)
Required
0
Data Init
Optional
0
Size of vector coding step response model (CV1/MV2)
G2 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV1/MV3)
MD14
G3 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV1/MV4)
MD15
G4 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV1/MV5)
MD21
G5 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV1/MV1)
MD22
G6 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV2/MV2)
MD23
G7 - Integer
Data Init
Optional
0
Size of vector coding step
MD24
G8 - Integer
Data Init
Optional
0
response model (CV2/MV3) Size of vector coding step response model (CV2/MV4)
APC_002
6.5 Auxiliary DMC algorithm definitions
APC_002
NA ME
L C AL G. R ECORD F IELD
TYPE
MD25
G9 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV2/MV5)
MD31
B0 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV3/MV1)
MD32
B1 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV3/MV2)
MD33
B2 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV3/MV3)
MD34
YU - Integer
Data Init
Optional
0
Size of vector coding step response model (CV3/MV4)
MD35
B4- Integer
Data Init
Optional
0
Size of vector coding step response model (CV3/MV5)
MD41
B5 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV4/MV1)
MD42
B6 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV4/MV2)
MD43
B7 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV4/MV3)
MD44
B8 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV4/MV4)
MD45
B9 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV4/MV5)
MD51
C0 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV5/MV1)
MD52
C1 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV5/MV2)
MD53
C2 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV5/MV3)
MD54
C3 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV5/MV4)
MD55
C4 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV5/MV5)
MD61
C5 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV6/MV1)
MD62
C6 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV6/MV2)
MD63
C7 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV6/MV3)
MD64
C8 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV6/MV4)
MD65
YT - Integer
Data Init
Optional
0
Size of vector coding step response model (CV6/MV5)
DD11
D0 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV1/DV1)
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
65
6.5 Auxiliary DMC algorithm definitions
66
NA ME
L C AL G. R ECORD F IELD
TYPE
DD12
YQ - Integer
Data Init
Optional
0
Size of vector coding step response model (CV1/DV2)
DD13
D2 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV1/DV3)
DD14
YP - Integer
Data Init
Optional
0
Size of vector coding step response model (CV1/DV4)
DD15
D4 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV1/DV5)
DD21
D5 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV2/DV1)
DD22
D6 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV2/DV2)
DD23
YN - Integer
Data Init
Optional
0
Size of vector coding step response model (CV2/DV3)
DD24
D8 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV2/DV4)
DD25
D9 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV2/DV5)
DD31
YM - Integer
Data Init
Optional
0
Size of vector coding step response model (CV3/DV1)
DD32
YL - Integer
Data Init
Optional
0
Size of vector coding step response model (CV3/DV2)
DD33
E2 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV3/DV3)
DD34
E3 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV3/DV4)
DD35
E4 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV3/DV5)
DD41
YC - Integer
Data Init
Optional
0
Size of vector coding step response model (CV4/DV1)
DD42
Y9 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV4/DV2)
DD43
E7 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV4/DV3)
DD44
E8 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV4/DV4)
DD45
Y8 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV4/DV5)
DD51
Y7 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV5/DV1)
DD52
Y6 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV5/DV2)
DD53
XY - Integer
Data Init
Optional
0
Size of vector coding step response model (CV5/DV3)
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
APC_002
6.5 Auxiliary DMC algorithm definitions
NA ME
APC_002
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
DD54
XW Integer
Data Init
Optional
0
Size of vector coding step response model (CV5/DV4)
DD55
F4 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV5/DV5)
DD61
F5 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV6/DV1)
DD62
F6 - Integer
Data Init
Optional
0
Size of vector coding step response model (CV6/DV2)
DD63
XV - Integer
Data Init
Optional
0
Size of vector coding step response model (CV6/DV3)
DD64
XU - Integer
Data Init
Optional
0
Size of vector coding step response model (CV6/DV4)
DD65
XR - Integer
Data Init
Optional
0
Size of vector coding step response model (CV6/DV5)
MQ11
R1- Real
Tuning constant
Required
0.0
Weight CV1/CV1
MQ12
R2- Real
Tuning constant
Optional
0.0
Weight CV1/CV2
MQ13
R3- Real
Tuning constant
Optional
0.0
Weight CV1/CV3
MQ14
R4- Real
Tuning constant
Optional
0.0
Weight CV1/CV4
MQ15
R5- Real
Tuning constant
Optional
0.0
Weight CV1/CV5
MQ16
R6- Real
Tuning constant
Optional
0.0
Weight CV1/CV6
MQ21
R7- Real
Tuning constant
Optional
0.0
Weight CV2/CV1
MQ22
R8- Real
Tuning constant
Optional
0.0
Weight CV2/CV2
MQ23
R9- Real
Tuning constant
Optional
0.0
Weight CV2/CV3
MQ24
S1- Real
Tuning constant
Optional
0.0
Weight CV2/CV4
MQ25
S2- Real
Tuning constant
Optional
0.0
Weight CV2/CV5
MQ26
S3- Real
Tuning constant
Optional
0.0
Weight CV2/CV6
MQ31
S4- Real
Tuning constant
Optional
0.0
Weight CV3/CV1
MQ32
S5- Real
Tuning constant
Optional
0.0
Weight CV3/CV2
MQ33
S6- Real
Tuning constant
Optional
0.0
Weight CV3/CV3
67
6.5 Auxiliary DMC algorithm definitions
68
NA ME
L C AL G. R ECORD F IELD
MQ34
S7- Real
MQ35
R EQUIRED / O PTIONAL
D EFAULT VA L UE
Tuning constant
Optional
0.0
Weight CV3/CV4
S8- Real
Tuning constant
Optional
0.0
Weight CV3/CV5
MQ36
S9- Real
Tuning constant
Optional
0.0
Weight CV3/CV6
MQ41
T1- Real
Tuning constant
Optional
0.0
Weight CV4/CV1
MQ42
T2- Real
Tuning constant
Optional
0.0
Weight CV4/CV2
MQ43
T3- Real
Tuning constant
Optional
0.0
Weight CV4/CV3
MQ44
T4- Real
Tuning constant
Optional
0.0
Weight CV4/CV4
MQ45
T5- Real
Tuning constant
Optional
0.0
Weight CV4/CV5
MQ46
T6- Real
Tuning constant
Optional
0.0
Weight CV4/CV6
MQ51
T7- Real
Tuning constant
Optional
0.0
Weight CV5/CV1
MQ52
T8- Real
Tuning constant
Optional
0.0
Weight CV5/CV2
MQ53
T9- Real
Tuning constant
Optional
0.0
Weight CV5/CV3
MQ54
U1- Real
Tuning constant
Optional
0.0
Weight CV5/CV4
MQ55
U2- Real
Tuning constant
Optional
0.0
Weight CV5/CV5
MQ56
U3- Real
Tuning constant
Optional
0.0
Weight CV5/CV6
NPCV
X1 - Integer
Data Init
Optional
0.0
Number of predicted CV
PMLB
X2 - Integer
Data Init
Optional
0.0
Prediction time low bits
PMHB
X3 - Integer
Data Init
Optional
0.0
Prediction time high bits
TYPE
D ESCRIPTION
APC_002
6.5 Auxiliary DMC algorithm definitions
Auxiliary 2 Matrix Delay (for each MV and DV) and Matrix R - matrix weight Au xi li ary DMC algo ri thm defi ni ti on s
APC_002
NA ME
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
MDL11
G0 - Integer
Data Init
Required
0
Delay (CV1/MV1)
MDL12
G1 - Integer
Data Init
Optional
0
Delay (CV1/MV2)
MDL13
G2 - Integer
Data Init
Optional
0
Delay (CV1/MV3)
MDL14
G3 - Integer
Data Init
Optional
0
Delay (CV1/MV4)
MDL15
G4 - Integer
Data Init
Optional
0
Delay (CV1/MV5)
MDL21
G5 - Integer
Data Init
Optional
0
Delay (CV2/MV1)
MDL22
G6 - Integer
Data Init
Optional
0
Delay (CV2/MV2)
MDL23
G7 - Integer
Data Init
Optional
0
Delay (CV2/MV3)
MDL24
G8 - Integer
Data Init
Optional
0
Delay (CV2/MV4)
MDL25
G9 - Integer
Data Init
Optional
0
Delay (CV2/MV5)
MDL31
B0 - Integer
Data Init
Optional
0
Delay (CV3/MV1)
MDL32
B1 - Integer
Data Init
Optional
0
Delay (CV3/MV2)
MDL33
B2 - Integer
Data Init
Optional
0
Delay (CV3/MV3)
MDL34
YU - Integer
Data Init
Optional
0
Delay (CV3/MV4)
MDL35
B4 - Integer
Data Init
Optional
0
Delay (CV3/MV5)
MDL41
B5 - Integer
Data Init
Optional
0
Delay (CV4/MV1)
MDL42
B6 - Integer
Data Init
Optional
0
Delay (CV4/MV2)
MDL43
B7 - Integer
Data Init
Optional
0
Delay (CV4/MV3)
MDL44
B8 - Integer
Data Init
Optional
0
Delay (CV4/MV4)
MDL45
B9 - Integer
Data Init
Optional
0
Delay (CV4/MV5)
MDL51
C0 - Integer
Data Init
Optional
0
Delay (CV5/MV1)
MDL52
C1 - Integer
Data Init
Optional
0
Delay (CV5/MV2)
MDL53
C2 - Integer
Data Init
Optional
0
Delay (CV5/MV3)
MDL54
C3 - Integer
Data Init
Optional
0
Delay (CV5/MV4)
MDL55
C4 - Integer
Data Init
Optional
0
Delay (CV5/MV5)
MDL61
C5 - Integer
Data Init
Optional
0
Delay (CV6/MV1)
MDL62
C6 - Integer
Data Init
Optional
0
Delay (CV6/MV2)
MDL63
C7 - Integer
Data Init
Optional
0
Delay (CV6/MV3)
MDL64
C8 - Integer
Data Init
Optional
0
Delay (CV6/MV4)
MDL65
YT - Integer
Data Init
Optional
0
Delay (CV6/MV5)
DDL11
D0 - Integer
Data Init
Optional
0
Delay (CV1/DV1)
DDL12
YQ - Integer
Data Init
Optional
0
Delay (CV1/DV2)
D EFAULT V A L UE
D ESCRIPTION
69
6.5 Auxiliary DMC algorithm definitions
70
NA ME
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
DDL13
D2 - Integer
Data Init
Optional
0
Delay (CV1/DV3)
DDL14
YP - Integer
Data Init
Optional
0
Delay (CV1/DV4)
DDL15
D4 - Integer
Data Init
Optional
0
Delay (CV1/DV5)
DDL21
D5 - Integer
Data Init
Optional
0
Delay (CV2/DV1)
DDL22
D6 - Integer
Data Init
Optional
0
Delay (CV2/DV2)
DDL23
YN - Integer
Data Init
Optional
0
Delay (CV2/DV3)
DDL24
D8 - Integer
Data Init
Optional
0
Delay (CV2/DV4)
DDL25
D9 - Integer
Data Init
Optional
0
Delay (CV2/DV5)
DDL31
YM - Integer
Data Init
Optional
0
Delay (CV3/DV1)
DDL32
YL - Integer
Data Init
Optional
0
Delay (CV3/DV2)
DDL33
E2 - Integer
Data Init
Optional
0
Delay (CV3/DV3)
DDL34
E3 - Integer
Data Init
Optional
0
Delay (CV3/DV4)
DDL35
E4 - Integer
Data Init
Optional
0
Delay (CV3/DV5)
DDL41
YC - Integer
Data Init
Optional
0
Delay (CV4/DV1)
DDL42
Y9 - Integer
Data Init
Optional
0
Delay (CV4/DV2)
DDL43
E7 - Integer
Data Init
Optional
0
Delay (CV4/DV3)
DDL44
E8 - Integer
Data Init
Optional
0
Delay (CV4/DV4)
DDL45
Y8 - Integer
Data Init
Optional
0
Delay (CV4/DV5)
DDL51
Y7 - Integer
Data Init
Optional
0
Delay (CV5/DV1)
DDL52
Y6 - Integer
Data Init
Optional
0
Delay (CV5/DV2)
DDL53
XY - Integer
Data Init
Optional
0
Delay (CV5/DV3)
DDL54
XW Integer
Data Init
Optional
0
Delay (CV5/DV4)
DDL55
F4 - Integer
Data Init
Optional
0
Delay (CV5/DV5)
DDL61
F5 - Integer
Data Init
Optional
0
Delay (CV6/DV1)
DDL62
F6 - Integer
Data Init
Optional
0
Delay (CV6/DV2)
DDL63
XV - Integer
Data Init
Optional
0
Delay (CV6/DV3)
DDL64
XU - Integer
Data Init
Optional
0
Delay (CV6/DV4)
DDL65
XR - Integer
Data Init
Optional
0
Delay (CV6/DV5)
MR11
R1- Real
Tuning constant
Required
0.0
Weight MV1/MV1
MR12
R2- Real
Tuning constant
Optional
0.0
Weight MV1/MV2
MR13
R3- Real
Tuning constant
Optional
0.0
Weight MV1/MV3
MR14
R4- Real
Tuning constant
Optional
0.0
Weight MV1/MV4
D EFAULT V A L UE
D ESCRIPTION
APC_002
6.5 Auxiliary DMC algorithm definitions
APC_002
NA ME
L C A L G. R ECORD F IELD
MR15
R5- Real
Tuning constant
Optional
0.0
Weight MV1/MV5
MR21
R6- Real
Tuning constant
Optional
0.0
Weight MV2/MV1
MR22
R7- Real
Tuning constant
Optional
0.0
Weight MV2/MV2
MR23
R8- Real
Tuning
Optional
0.0
Weight MV2/MV3
MR24
R9- Real
constant Tuning constant
Optional
0.0
Weight MV2/MV4
MR25
S1- Real
Tuning constant
Optional
0.0
Weight MV2/MV5
MR31
S2- Real
Tuning constant
Optional
0.0
Weight MV3/MV1
MR32
S3- Real
Tuning constant
Optional
0.0
Weight MV3/MV2
MR33
S4- Real
Tuning constant
Optional
0.0
Weight MV3/MV3
MR34
S5- Real
Tuning constant
Optional
0.0
Weight MV3/MV4
MR35
S6- Real
Tuning constant
Optional
0.0
Weight MV3/MV5
MR41
S7- Real
Tuning constant
Optional
0.0
Weight MV4/MV1
MR42
S8- Real
Tuning constant
Optional
0.0
Weight MV4/MV2
MR43
S9- Real
Tuning constant
Optional
0.0
Weight MV4/MV3
MR44
T1- Real
Tuning constant
Optional
0.0
Weight MV4/MV4
MR45
T2- Real
Tuning constant
Optional
0.0
Weight MV4/MV5
MR51
T3- Real
Tuning constant
Optional
0.0
Weight MV5/MV1
MR52
T4- Real
Tuning constant
Optional
0.0
Weight MV5/MV2
MR53
T5- Real
Tuning constant
Optional
0.0
Weight MV5/MV3
MR54
T6- Real
Tuning constant
Optional
0.0
Weight MV5/MV4
MR55
T7- Real
Tuning constant
Optional
0.0
Weight MV5/MV5
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
71
6.5 Auxiliary DMC algorithm definitions
NA ME
L C A L G. R ECORD F IELD
SPTG1
T8 - Real
Tuning constant
Required
1.0
Gain on set point 1. The gain on the set point should never be initialized to zero.
SPTB1
T9 - Real
Tuning constant
Optional
0.0
Bias on set point 1
NPCB
X1 - Integer
Data Init
Optional
0.0
Number of predicted CV.
PMLB
X2 - Integer
Data Init
Optional
0.0
PMHB
X3 - Integer
Data Init
Optional
0.0
Prediction time high bits
MA4
U1 - Real
Tuning Constant
Optional
0.5
Rate of change limit in units per step (for output 4). Limit is activated after transition from MAN to AUTO. Limit is deactivated after SNL steps.
MA5
U2 - Real
Tuning Constant
Optional
0.5
Rate of change limit in units per step (for output 5). Limit is activated after transition from MAN to AUTO. Limit is deactivated after SNL steps.
SNL
U3 - Real
Tuning Constant
Required
0.0
Step number after MA limits are deactivated.
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
Prediction time low bits
Note: Aux3 is for MV1/CV1 and MV1/CV2. Aux4 is for MV2/CV1 and MV2/CV2. Aux5 is for MV3/CV1 and MV3/CV2. Aux6 is for MV4/CV1 and MV4/CV2. Aux7 is for MV5/CV1 and MV5/CV2. Aux8 is for DV1/CV1 and DV1/CV2. Aux9 is for DV2/CV1 and DV2/CV2. Aux10 is for DV3/CV1 and DV3/CV2. Aux11 is for DV4/CV1 and DV4/CV2. Aux12 is for DV5/CV1 and DV5/CV2. Auxiliary 3 - 12 Influence MV and DV on first and second CV Au xi li ary DMC algo ri thm defi ni ti on s
72
NA ME
L C A L G. R ECORD F IELD
TYPE
1S1
G0 - Real
1S2
G1 - Real
R EQUIRED / O PTIONAL
D EFAULT V A L UE
Data Init
Required
0.0
Step response coefficient no. 1 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
Data Init
Optional
0.0
Step response coefficient no. 2 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
D ESCRIPTION
APC_002
6.5 Auxiliary DMC algorithm definitions
APC_002
NA ME
L C A L G. R ECORD F IELD
TYPE
1S3
G2 - Real
Data Init
Optional
0.0
Step response coefficient no. 3 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S4
G3 - Real
Data Init
Optional
0.0
Step response coefficient no. 4 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S5
G4 - Real
Data Init
Optional
0.0
Step response coefficient no. 5 CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S6
G5 - Real
Data Init
Optional
0.0
Step response coefficient no. 6 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S7
G6 - Real
Data Init
Optional
0.0
Step response coefficient no. 7 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S8
G7 - Real
Data Init
Optional
0.0
Step response coefficient no. 8 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S9
G8 - Real
Data Init
Optional
0.0
Step response coefficient no. 9 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S10
G9 - Real
Data Init
Optional
0.0
Step response coefficient no. 10 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S11
B0 - Real
Data Init
Optional
0.0
Step response coefficient no. 11 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S12
B1 - Real
Data Init
Optional
0.0
Step response coefficient no. 12 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S13
B2 - Real
Data Init
Optional
0.0
Step response coefficient no. 13 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S14
YU - Real
Data Init
Optional
0.0
Step response coefficient no. 14 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S15
B4 - Real
Data Init
Optional
0.0
Step response coefficient no. 15 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S16
B5 - Real
Data Init
Optional
0.0
Step response coefficient no. 16 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S17
B6 - Real
Data Init
Optional
0.0
Step response coefficient no. 17 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S18
B7 - Real
Data Init
Optional
0.0
Step response coefficient no. 18 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S19
B8 - Real
Data Init
Optional
0.0
Step response coefficient no. 19 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S20
B9 - Real
Data Init
Optional
0.0
Step response coefficient no. 20 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S21
C0 - Real
Data Init
Optional
0.0
Step response coefficient no. 21 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S22
C1 - Real
Data Init
Optional
0.0
Step response coefficient no. 22 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S23
C2 - Real
Data Init
Optional
0.0
Step response coefficient no. 23 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S24
C3 - Real
Data Init
Optional
0.0
Step response coefficient no. 24 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
73
6.5 Auxiliary DMC algorithm definitions
74
NA ME
L C A L G. R ECORD F IELD
TYPE
1S25
C4 - Real
Data Init
Optional
0.0
Step response coefficient no. 25 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S26
C5 - Real
Data Init
Optional
0.0
Step response coefficient no. 26 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S27
C6 - Real
Data Init
Optional
0.0
Step response coefficient no. 27 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S28
C7 - Real
Data Init
Optional
0.0
Step response coefficient no. 28
1S29
C8 - Real
Data Init
Optional
0.0
[CV1] [1,2,3,4,5MV,1,2,3,4,5DV] Step response coefficient no. 29 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S30
YT - Real
Data Init
Optional
0.0
Step response coefficient no. 30 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S31
D0 - Real
Data Init
Optional
0.0
Step response coefficient no. 31 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S32
YQ - Real
Data Init
Optional
0.0
Step response coefficient no. 32 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S33
D2 - Real
Data Init
Optional
0.0
Step response coefficient no. 33 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S34
YP - Real
Data Init
Optional
0.0
Step response coefficient no. 34 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S35
D4 - Real
Data Init
Optional
0.0
Step response coefficient no. 35 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S36
D5 - Real
Data Init
Optional
0.0
Step response coefficient no. 36
1S37
D6 - Real
Data Init
Optional
0.0
[CV1] [1,2,3,4,5MV,1,2,3,4,5DV] Step response coefficient no. 37 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S38
YN - Real
Data Init
Optional
0.0
Step response coefficient no. 38 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S39
D8 - Real
Data Init
Optional
0.0
Step response coefficient no. 39 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S40
D9 - Real
Data Init
Optional
0.0
Step response coefficient no. 40 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S41
YM - Real
Data Init
Optional
0.0
Step response coefficient no. 41 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S42
YL - Real
Data Init
Optional
0.0
Step response coefficient no. 42 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S43
E2 - Real
Data Init
Optional
0.0
Step response coefficient no. 43 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S44
E3 - Real
Data Init
Optional
0.0
Step response coefficient no. 44 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S45
E4 - Real
Data Init
Optional
0.0
Step response coefficient no. 45 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
APC_002
6.5 Auxiliary DMC algorithm definitions
APC_002
NA ME
L C A L G. R ECORD F IELD
TYPE
2S1
YC - Real
Data Init
Optional
0.0
Step response coefficient no. 1 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S2
Y9 - Real
Data Init
Optional
0.0
Step response coefficient no. 2 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S3
E7 - Real
Data Init
Optional
0.0
Step response coefficient no. 3 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S4
E8 - Real
Data Init
Optional
0.0
Step response coefficient no. 4
2S5
Y8 - Real
Data Init
Optional
0.0
[CV2] [1,2,3,4,5MV,1,2,3,4,5DV] Step response coefficient no. 5 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S6
Y7 - Real
Data Init
Optional
0.0
Step response coefficient no. 6 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S7
Y6 - Real
Data Init
Optional
0.0
Step response coefficient no. 7 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S8
XY - Real
Data Init
Optional
0.0
Step response coefficient no. 8 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S9
XW - Real
Data Init
Optional
0.0
Step response coefficient no. 9 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S10
F4 - Real
Data Init
Optional
0.0
Step response coefficient no. 10 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S11
F5 - Real
Data Init
Optional
0.0
Step response coefficient no. 11 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S12
F6 - Real
Data Init
Optional
0.0
Step response coefficient no. 12
2S13
XV - Real
Data Init
Optional
0.0
[CV2] [1,2,3,4,5MV,1,2,3,4,5DV] Step response coefficient no. 13 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S14
XU - Real
Data Init
Optional
0.0
Step response coefficient no. 14 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S15
XR - Real
Data Init
Optional
0.0
Step response coefficient no. 15 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S16
R1 - Real
Data Init
Optional
0.0
Step response coefficient no. 16 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S17
R2 - Real
Data Init
Optional
0.0
Step response coefficient no. 17 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S18
R3 - Real
Data Init
Optional
0.0
Step response coefficient no. 18 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S19
R4 - Real
Data Init
Optional
0.0
Step response coefficient no. 19 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S20
R5 - Real
Data Init
Optional
0.0
Step response coefficient no. 20 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S21
R6 - Real
Data Init
Optional
0.0
Step response coefficient no. 21 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
75
6.5 Auxiliary DMC algorithm definitions
76
NA ME
L C A L G. R ECORD F IELD
TYPE
2S22
R7 - Real
Data Init
Optional
0.0
Step response coefficient no. 22 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S23
R8 - Real
Data Init
Optional
0.0
Step response coefficient no. 23 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S24
R9 - Real
Data Init
Optional
0.0
Step response coefficient no. 24 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S25
S1 - Real
Data Init
Optional
0.0
Step response coefficient no. 25 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S26
S2 - Real
Data Init
Optional
0.0
Step response coefficient no. 26 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S27
S3 - Real
Data Init
Optional
0.0
Step response coefficient no. 27 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S28
S4 - Real
Data Init
Optional
0.0
Step response coefficient no. 28 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S29
S5 - Real
Data Init
Optional
0.0
Step response coefficient no. 29 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S30
S6 - Real
Data Init
Optional
0.0
Step response coefficient no. 30 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S31
S7 - Real
Data Init
Optional
0.0
Step response coefficient no. 31 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S32
S8 - Real
Data Init
Optional
0.0
Step response coefficient no. 32 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S33
S9 - Real
Data Init
Optional
0.0
Step response coefficient no. 33 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S34
T1 - Real
Data Init
Optional
0.0
Step response coefficient no. 34 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S35
T2 - Real
Data Init
Optional
0.0
Step response coefficient no. 35 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S36
T3 - Real
Data Init
Optional
0.0
Step response coefficient no. 36 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S37
T4 - Real
Data Init
Optional
0.0
Step response coefficient no. 37 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S38
T5 - Real
Data Init
Optional
0.0
Step response coefficient no. 38 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S39
T6 - Real
Data Init
Optional
0.0
Step response coefficient no. 39 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S40
T7 - Real
Data Init
Optional
0.0
Step response coefficient no. 40 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S41
T8 - Real
Data Init
Optional
0.0
Step response coefficient no. 41 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S42
T9 - Real
Data Init
Optional
0.0
Step response coefficient no. 42 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S43
U1 - Real
Data Init
Optional
0.0
Step response coefficient no. 43 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
APC_002
6.5 Auxiliary DMC algorithm definitions
NA ME
L C A L G. R ECORD F IELD
TYPE
2S44
U2 - Real
Data Init
Optional
0.0
Step response coefficient no. 44 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S45
U3 - Real
Data Init
Optional
0.0
Step response coefficient no. 45 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
NPCV
X1 - Integer
Data Init
Optional
0.0
Number of predicted CV
PMLB
X2 - Integer
Data Init
Optional
0.0
Prediction time low bits
PMHB
X3 - Integer
Data Init
Optional
0.0
Prediction time high bits
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
Note: Aux13 is for MV1/CV3 and MV1/CV4. Aux14 is for MV2/CV3 and MV2/CV4. Aux15 is for MV3/CV3 and MV3/CV4. Aux16 is for MV4/CV3 and MV4/CV4. Aux17 is for MV5/CV3 and MV5/CV4. Aux18 is for DV1/CV3 and DV1/CV4. Aux19 is for DV2/CV3 and DV2/CV4. Aux20 is for DV3/CV3 and DV3/CV4. Aux21 is for DV4/CV3 and DV4/CV4. Aux22 is for DV5/CV3 and DV5/CV4. Auxiliary 13 - 22 Influence MV and DV on third and fourth CV Au xi li ary DMC algo ri thm defi ni ti on s L C A L G. R ECORD NA ME
F IELD
TYPE
1S1
G0 - Real
Data Init
R EQUIRED /
D EFAULT
O PTIONAL
V A L UE
Optional
0.0
D ESCRIPTION Step response coefficient no. 1 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S2
G1 - Real
Data Init
Optional
0.0
Step response coefficient no. 2
1S3
G2 - Real
Data Init
Optional
0.0
Step response coefficient no. 3
1S4
G3 - Real
Data Init
Optional
0.0
Step response coefficient no. 4
1S5
G4 - Real
Data Init
Optional
0.0
Step response coefficient no. 5
1S6
G5 - Real
Data Init
Optional
0.0
Step response coefficient no. 6
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV] 1S7
G6 - Real
Data Init
Optional
0.0
Step response coefficient no. 7 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S8
G7 - Real
Data Init
Optional
0.0
Step response coefficient no. 8 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
APC_002
77
6.5 Auxiliary DMC algorithm definitions
NA ME
L C A L G. R ECORD F IELD
TYPE
1S9
G8 - Real
1S10
R EQUIRED / O PTIONAL
D EFAULT V A L UE
Data Init
Optional
0.0
Step response coefficient no. 9
G9 - Real
Data Init
Optional
0.0
Step response coefficient no. 10
1S11
B0 - Real
Data Init
Optional
0.0
Step response coefficient no. 11
1S12
B1 - Real
Data Init
Optional
0.0
Step response coefficient no. 12
1S13
B2 - Real
Data Init
Optional
0.0
Step response coefficient no. 13
1S14
YU - Real
Data Init
Optional
0.0
Step response coefficient no. 14
1S15
B4 - Real
Data Init
Optional
0.0
Step response coefficient no. 15
1S16
B5 - Real
Data Init
Optional
0.0
Step response coefficient no. 16
1S17
B6 - Real
Data Init
Optional
0.0
Step response coefficient no. 17 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S18
B7 - Real
Data Init
Optional
0.0
Step response coefficient no. 18
1S19
B8 - Real
Data Init
Optional
0.0
Step response coefficient no. 19
1S20
B9 - Real
Data Init
Optional
0.0
Step response coefficient no. 20
1S21
C0 - Real
Data Init
Optional
0.0
Step response coefficient no. 21
1S22
C1 - Real
Data Init
Optional
0.0
Step response coefficient no. 22
1S23
C2 - Real
Data Init
Optional
0.0
Step response coefficient no. 23
1S24
C3 - Real
Data Init
Optional
0.0
Step response coefficient no. 24
1S25
C4 - Real
Data Init
Optional
0.0
Step response coefficient no. 25
1S26
C5 - Real
Data Init
Optional
0.0
Step response coefficient no. 26
D ESCRIPTION
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
78
APC_002
6.5 Auxiliary DMC algorithm definitions
NA ME
L C A L G. R ECORD F IELD
TYPE
1S27
C6 - Real
1S28
R EQUIRED / O PTIONAL
D EFAULT V A L UE
Data Init
Optional
0.0
Step response coefficient no. 27
C7 - Real
Data Init
Optional
0.0
Step response coefficient no. 28
1S29
C8 - Real
Data Init
Optional
0.0
Step response coefficient no. 29 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S30
YT - Real
Data Init
Optional
0.0
Step response coefficient no. 30 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S31
D0 - Real
Data Init
Optional
0.0
Step response coefficient no. 31
1S32
YQ - Real
Data Init
Optional
0.0
Step response coefficient no. 32
1S33
D2 - Real
Data Init
Optional
0.0
Step response coefficient no. 33
1S34
YP - Real
Data Init
Optional
0.0
Step response coefficient no. 34
1S35
D4 - Real
Data Init
Optional
0.0
Step response coefficient no. 35
1S36
D5 - Real
Data Init
Optional
0.0
Step response coefficient no. 36
1S37
D6 - Real
Data Init
Optional
0.0
Step response coefficient no. 37
1S38
YN - Real
Data Init
Optional
0.0
Step response coefficient no. 38
1S39
D8 - Real
Data Init
Optional
0.0
Step response coefficient no. 39
1S40
D9 - Real
Data Init
Optional
0.0
Step response coefficient no. 40
1S41
YM - Real
Data Init
Optional
0.0
Step response coefficient no. 41
1S42
YL - Real
Data Init
Optional
0.0
Step response coefficient no. 42
1S43
E2 - Real
Data Init
Optional
0.0
Step response coefficient no. 43
1S44
E3 - Real
Data Init
Optional
0.0
Step response coefficient no. 44
D ESCRIPTION
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
APC_002
79
6.5 Auxiliary DMC algorithm definitions
NA ME
L C A L G. R ECORD F IELD
TYPE
1S45
E4 - Real
2S1
R EQUIRED / O PTIONAL
D EFAULT V A L UE
Data Init
Optional
0.0
Step response coefficient no. 45
YC - Real
Data Init
Optional
0.0
Step response coefficient no. 1
2S2
Y9 - Real
Data Init
Optional
0.0
Step response coefficient no. 2
2S3
E7 - Real
Data Init
Optional
0.0
Step response coefficient no. 3
2S4
E8 - Real
Data Init
Optional
0.0
Step response coefficient no. 4
2S5
Y8 - Real
Data Init
Optional
0.0
Step response coefficient no. 5
2S6
Y7 - Real
Data Init
Optional
0.0
Step response coefficient no. 6
2S7
Y6 - Real
Data Init
Optional
0.0
Step response coefficient no. 7
2S8
XY - Real
Data Init
Optional
0.0
Step response coefficient no. 8
2S9
XW - Real
Data Init
Optional
0.0
Step response coefficient no. 9
2S10
F4 - Real
Data Init
Optional
0.0
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV] Step response coefficient no. 10
2S11
F5 - Real
Data Init
Optional
0.0
Step response coefficient no. 11
2S12
F6 - Real
Data Init
Optional
0.0
Step response coefficient no. 12
2S13
XV - Real
Data Init
Optional
0.0
Step response coefficient no. 13
2S14
XU - Real
Data Init
Optional
0.0
Step response coefficient no. 14
2S15
XR - Real
Data Init
Optional
0.0
Step response coefficient no. 15
2S16
R1 - Real
Data Init
Optional
0.0
Step response coefficient no. 16
2S17
R2 - Real
Data Init
Optional
0.0
Step response coefficient no. 17
D ESCRIPTION
[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
80
APC_002
6.5 Auxiliary DMC algorithm definitions
NA ME
L C A L G. R ECORD F IELD
TYPE
2S18
R3 - Real
2S19
2S20
R EQUIRED / O PTIONAL
D EFAULT V A L UE
Data Init
Optional
0.0
Step response coefficient no. 18 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
R4 - Real
Data Init
Optional
0.0
Step response coefficient no. 19
R5 - Real
Data Init
Optional
0.0
Step response coefficient no. 20
D ESCRIPTION
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV] 2S21
R6 - Real
Data Init
Optional
0.0
Step response coefficient no. 21 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S22
R7 - Real
Data Init
Optional
0.0
Step response coefficient no. 22
2S23
R8 - Real
Data Init
Optional
0.0
Step response coefficient no. 23
2S24
R9 - Real
Data Init
Optional
0.0
Step response coefficient no. 24
2S25
S1 - Real
Data Init
Optional
0.0
Step response coefficient no. 25
2S26
S2 - Real
Data Init
Optional
0.0
Step response coefficient no. 26
2S27
S3 - Real
Data Init
Optional
0.0
Step response coefficient no. 27
2S28
S4 - Real
Data Init
Optional
0.0
Step response coefficient no. 28
2S29
S5 - Real
Data Init
Optional
0.0
Step response coefficient no. 29
2S30
S6 - Real
Data Init
Optional
0.0
Step response coefficient no. 30
Data Init
Optional
0.0
Step response coefficient no. 31 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV] 2S31
S7 - Real
2S32
S8 - Real
Data Init
Optional
0.0
Step response coefficient no. 32
2S33
S9 - Real
Data Init
Optional
0.0
Step response coefficient no. 33
2S34
T1 - Real
Data Init
Optional
0.0
Step response coefficient no. 34
2S35
T2 - Real
Data Init
Optional
0.0
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV] Step response coefficient no. 35
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
APC_002
81
6.5 Auxiliary DMC algorithm definitions
NA ME
L C A L G. R ECORD F IELD
TYPE
2S36
T3 - Real
2S37
R EQUIRED / O PTIONAL
D EFAULT V A L UE
Data Init
Optional
0.0
Step response coefficient no. 36
T4 - Real
Data Init
Optional
0.0
Step response coefficient no. 37
2S38
T5 - Real
Data Init
Optional
0.0
Step response coefficient no. 38
2S39
T6 - Real
Data Init
Optional
0.0
Step response coefficient no. 39
2S40
T7 - Real
Data Init
Optional
0.0
Step response coefficient no. 40
2S41
T8 - Real
Data Init
Optional
0.0
Step response coefficient no. 41
2S42
T9 - Real
Data Init
Optional
0.0
Step response coefficient no. 42
2S43
U1 - Real
Data Init
Optional
0.0
Step response coefficient no. 43
2S44
U2 - Real
Data Init
Optional
0.0
Step response coefficient no. 44
2S45
U3 - Real
Data Init
Optional
0.0
Step response coefficient no. 45
D ESCRIPTION
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
Note: Aux23 is for MV1/CV5 and MV1/CV6. Aux24 is for MV2/CV5 and MV2/CV6. Aux25 is for MV3/CV5 and MV3/CV6. Aux26 is for MV4/CV5 and MV4/CV6. Aux27 is for MV5/CV5 and MV5/CV6. Aux28 is for DV1/CV5 and DV1/CV6. Aux29 is for DV2/CV5 and DV2/CV6. Aux30 is for DV3/CV5 and DV3/CV6. Aux31 is for DV4/CV5 and DV4/CV6. Aux32 is for DV5/CV5 and DV5/CV6. Auxiliary 23 - 32 Influence MV and DV on fifth and sixth CV Au xi li ary DMC algo ri thm defi ni ti on s
NA ME
L C A L G. R ECORD F IELD
TYPE
1S1
G0 - Real
Data Init
R EQUIRED / O PTIONAL Optional
D EFAULT VA L UE 0.0
D ESCRIPTION Step response coefficient no. 1 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
82
APC_002
6.5 Auxiliary DMC algorithm definitions
NA ME
L C A L G. R ECORD F IELD
TYPE
1S2
G1 - Real
Data Init
Optional
0.0
Step response coefficient no. 2
1S3
G2 - Real
Data Init
Optional
0.0
Step response coefficient no. 3
1S4
G3 - Real
Data Init
Optional
0.0
Step response coefficient no. 4
1S5
G4 - Real
Data Init
Optional
0.0
Step response coefficient no. 5
1S6
G5 - Real
Data Init
Optional
0.0
Step response coefficient no. 6
1S7
G6 - Real
Data Init
Optional
0.0
Step response coefficient no. 7
1S8
G7 - Real
Data Init
Optional
0.0
Step response coefficient no. 8
1S9
G8 - Real
Data Init
Optional
0.0
Step response coefficient no. 9
1S10
G9 - Real
Data Init
Optional
0.0
Step response coefficient no. 10
1S11
B0 - Real
Data Init
Optional
0.0
Step response coefficient no. 11
1S12
B1 - Real
Data Init
Optional
0.0
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV] Step response coefficient no. 12
1S13
B2 - Real
Data Init
Optional
0.0
Step response coefficient no. 13
1S14
YU - Real
Data Init
Optional
0.0
Step response coefficient no. 14
1S15
B4 - Real
Data Init
Optional
0.0
Step response coefficient no. 15
1S16
B5 - Real
Data Init
Optional
0.0
Step response coefficient no. 16
1S17
B6 - Real
Data Init
Optional
0.0
Step response coefficient no. 17
1S18
B7 - Real
Data Init
Optional
0.0
Step response coefficient no. 18
1S19
B8 - Real
Data Init
Optional
0.0
Step response coefficient no. 19
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
APC_002
83
6.5 Auxiliary DMC algorithm definitions
NA ME
L C A L G. R ECORD F IELD
TYPE
1S20
B9 - Real
Data Init
Optional
0.0
Step response coefficient no. 20
1S21
C0 - Real
Data Init
Optional
0.0
Step response coefficient no. 21
1S22
C1 - Real
Data Init
Optional
0.0
Step response coefficient no. 22
1S23
C2 - Real
Data Init
Optional
0.0
Step response coefficient no. 23
1S24
C3 - Real
Data Init
Optional
0.0
Step response coefficient no. 24
1S25
C4 - Real
Data Init
Optional
0.0
Step response coefficient no. 25
1S26
C5 - Real
Data Init
Optional
0.0
Step response coefficient no. 26
1S27
C6 - Real
Data Init
Optional
0.0
Step response coefficient no. 27
1S28
C7 - Real
Data Init
Optional
0.0
Step response coefficient no. 28
1S29
C8 - Real
Data Init
Optional
0.0
Step response coefficient no. 29 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S30
YT - Real
Data Init
Optional
0.0
Step response coefficient no. 30
1S31
D0 - Real
Data Init
Optional
0.0
Step response coefficient no. 31
1S32
YQ - Real
Data Init
Optional
0.0
Step response coefficient no. 32
1S33
D2 - Real
Data Init
Optional
0.0
Step response coefficient no. 33
1S34
YP - Real
Data Init
Optional
0.0
Step response coefficient no. 34
1S35
D4 - Real
Data Init
Optional
0.0
Step response coefficient no. 35
1S36
D5 - Real
Data Init
Optional
0.0
Step response coefficient no. 36
1S37
D6 - Real
Data Init
Optional
0.0
Step response coefficient no. 37
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
84
APC_002
6.5 Auxiliary DMC algorithm definitions
NA ME
L C A L G. R ECORD F IELD
TYPE
1S38
YN - Real
Data Init
Optional
0.0
Step response coefficient no. 38
1S39
D8 - Real
Data Init
Optional
0.0
Step response coefficient no. 39
1S40
D9 - Real
Data Init
Optional
0.0
Step response coefficient no. 40
1S41
YM - Real
Data Init
Optional
0.0
Step response coefficient no. 41
1S42
YL - Real
Data Init
Optional
0.0
Step response coefficient no. 42
1S43
E2 - Real
Data Init
Optional
0.0
Step response coefficient no. 43
1S44
E3 - Real
Data Init
Optional
0.0
Step response coefficient no. 44
1S45
E4 - Real
Data Init
Optional
0.0
Step response coefficient no. 45
2S1
YC - Real
Data Init
Optional
0.0
Step response coefficient no. 1
2S2
Y9 - Real
Data Init
Optional
0.0
Step response coefficient no. 2
2S3
E7 - Real
Data Init
Optional
0.0
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV] Step response coefficient no. 3
2S4
E8 - Real
Data Init
Optional
0.0
Step response coefficient no. 4
2S5
Y8 - Real
Data Init
Optional
0.0
Step response coefficient no. 5
2S6
Y7 - Real
Data Init
Optional
0.0
Step response coefficient no. 6
2S7
Y6 - Real
Data Init
Optional
0.0
Step response coefficient no. 7
2S8
XY - Real
Data Init
Optional
0.0
Step response coefficient no. 8
2S9
XW - Real
Data Init
Optional
0.0
Step response coefficient no. 9
2S10
F4 - Real
Data Init
Optional
0.0
Step response coefficient no. 10
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
APC_002
85
6.5 Auxiliary DMC algorithm definitions
NA ME
L C A L G. R ECORD F IELD
TYPE
2S11
F5 - Real
Data Init
Optional
0.0
Step response coefficient no. 11
2S12
F6 - Real
Data Init
Optional
0.0
Step response coefficient no. 12 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S13
XV - Real
Data Init
Optional
0.0
Step response coefficient no. 13
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV] 2S14
XU - Real
Data Init
Optional
0.0
Step response coefficient no. 14 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S15
XR - Real
Data Init
Optional
0.0
Step response coefficient no. 15
2S16
R1 - Real
Data Init
Optional
0.0
Step response coefficient no. 16
2S17
R2 - Real
Data Init
Optional
0.0
Step response coefficient no. 17
2S18
R3 - Real
Data Init
Optional
0.0
Step response coefficient no. 18 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S19
R4 - Real
Data Init
Optional
0.0
Step response coefficient no. 19
2S20
R5 - Real
Data Init
Optional
0.0
Step response coefficient no. 20
2S21
R6 - Real
Data Init
Optional
0.0
Step response coefficient no. 21
2S22
R7 - Real
Data Init
Optional
0.0
Step response coefficient no. 22
2S23
R8 - Real
Data Init
Optional
0.0
Step response coefficient no. 23
2S24
R9 - Real
Data Init
Optional
0.0
Step response coefficient no. 24
2S25
S1 - Real
Data Init
Optional
0.0
Step response coefficient no. 25
2S26
S2 - Real
Data Init
Optional
0.0
Step response coefficient no. 26
2S27
S3 - Real
Data Init
Optional
0.0
Step response coefficient no. 27
2S28
S4 - Real
Data Init
Optional
0.0
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV] Step response coefficient no. 28
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
86
APC_002
6.5 Auxiliary DMC algorithm definitions
NA ME
L C A L G. R ECORD F IELD
TYPE
2S29
S5 - Real
Data Init
Optional
0.0
Step response coefficient no. 29
2S30
S6 - Real
Data Init
Optional
0.0
Step response coefficient no. 30
Data Init
Optional
0.0
Step response coefficient no. 31 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV] 2S31
S7 - Real
2S32
S8 - Real
Data Init
Optional
0.0
Step response coefficient no. 32 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S33
S9 - Real
Data Init
Optional
0.0
Step response coefficient no. 33
2S34
T1 - Real
Data Init
Optional
0.0
Step response coefficient no. 34
2S35
T2 - Real
Data Init
Optional
0.0
Step response coefficient no. 35
2S36
T3 - Real
Data Init
Optional
0.0
Step response coefficient no. 36
2S37
T4 - Real
Data Init
Optional
0.0
Step response coefficient no. 37
2S38
T5 - Real
Data Init
Optional
0.0
Step response coefficient no. 38
2S39
T6 - Real
Data Init
Optional
0.0
Step response coefficient no. 39
2S40
T7 - Real
Data Init
Optional
0.0
Step response coefficient no. 40
2S41
T8 - Real
Data Init
Optional
0.0
Step response coefficient no. 41
2S42
T9 - Real
Data Init
Optional
0.0
Step response coefficient no. 42
2S43
U1 - Real
Data Init
Optional
0.0
Step response coefficient no. 43
2S44
U2 - Real
Data Init
Optional
0.0
Step response coefficient no. 44
2S45
U3 - Real
Data Init
Optional
0.0
Step response coefficient no. 45
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
APC_002
87
6.6 DMC algorithm status of optimization (STAT) output
6. 6
DM C algorit hm status
of opti mization
(S TAT ) outp ut
Status of optimization (STAT) informs you about optimization. For each output (MV) signal, three bits are used to indicate status. See the following table: STAT info rmation MV
6. 7
NUMBER
MIN
MAX
MAX
MV1
0
1
2
MV2
3
4
5
MV3
6
7
8
MV4
9
10
11
MV5
12
13
14
DM C algorit hm trackin g sign als Note: The TOUT signal is not used. It is not possible to keep the setpoint when the object is MIMO and the number of outputs from the algorithm is different than the number of inputs to the algorithm. The DMC Controller works as the upstream Controller only. External tracking and limiting are done through signals passed in the upper 16 bits of the third status word of the analog track points. This algorithm takes the following action in response to information found in the third status word of the analog input signal TRIN: BIT
88
D ESCRIPTION
A CTION
TOUT S IGNAL
16
Track
Implemented
Not used
17
Track if lower
Implemented when not in Manual mode*
Not used
18
Track if higher
Implemented when not in Manual mode*
Not used
19
Lower inhibit
Implemented*
Not used
20
Raise inhibit
Implemented*
Not used
21
Conditional Track
See description of cascaded mode.
Not used
22
Not used
No action
Not used
23
Deviation Alarm
No action
Not used
24
Local Manual mode
No action
Not used
25
Manual mode
No action
Not used
26
Auto mode
No action
Not used
27
Not Used
No action
Not used
28
Not Used
No action
Not used
APC_002
6.8 DMC algorithm MV bump protection
BIT
D ESCRIPTION
A CTION
29
Not Used
No action
TOUT S IGNAL Not used
30
Low limit reached
No action
Not used
31
High limit reached
No action
Not used
*Only when the Track signal is not present. **Only when the Track signal is not present; the signals are set according to the definitions given in Setting Tracking Signals in the Ovation Algorithm Reference Manual.
The high and low limit flags, the mode, and the tracking signals from the algorithm are output to TOUT to be used for display and by upstream algorithms.
6. 8
DM C algorit hm MV bump prot ection The MV bump protection mechanism is designed to protect DMC output against the large signal variations that can happen when a downstream algorithm transitions from MAN to AUTO and stops tracking. Normally, this is only a problem when a DV signal changes value a few steps before transition from MAN to AUTO. The DMC controller tries to compensate for the DV changes by making a very strong and fast MV signal change. Sometimes, this may cause a disruption to whatever process the DMC is controlling. This is known as the "bump effect." Due to the nature of the DMC process and how it is implemented in Ovation, the bump effect cannot be eliminated altogether. However, it can be reduced by a special rate limiter implemented for this particular issue. MV bump protection will only be activated after transition from MAN to AUTO in X steps, where X is defined by user. Note: The bump effect can be controlled though the standard limiters built into the DMC. Emerson recommends that the standard limiters not be used to fix this particular problem, simply because solving for the bump effect will restrict their overall accuracy and usefulness.
APC_002
89
6.8 DMC algorithm MV bump protection
6. 8.1 DM C algorith m MV bump prot ection exa mple The following figure presents a situation where the MV signal is not constrained after a transition from MAN to AUTO. (The standard rate limit or MV Bump Protection is not active in this example.) The DMC algorithm attempts to compensate for changes to the DV signal by rapidly changing the MV signal at the moment when the downstream algorithm is put in AUTO. The large spike in the MV signal is the DMC over-compensating (the bump effect) and what the MV bump protection mechanism was designed to prevent.
Figure 23 : No con straints fo r MV signal
90
APC_002
6.8 DMC algorithm MV bump protection
The figure below represents a situation when only the standard rate limit is applied. The DMC algorithm attempts to over-compensate for the change in the DV signal and the MV signal is limited by the standard rate limit. This approach can eliminate the bump effect, but rate limit has to be set so low that it is not useful for normal operation.
Figure 24 : Standard constraints
APC_002
for MV signal
91
6.8 DMC algorithm MV bump protection
The following figure shows the situation when MV Bump Protection is used. The DMC algorithm attempts to over-compensate for the change to the DV signal, but the change of the MV signal is limited by a special rate limit (MV Bump Protection). This special rate limit is activated after the transition from MAN to AUTO, and it is only applied for a period of time defined by the user. This eliminates the bump effect and will not impact the MV signal in normal operation conditions.
Figure 25 : Specially designed cons
traints for MV signal
6. 8.2 To confi gure MV bump protectio
n
Use the following procedure to configure the MV Bump Protection:
92
1.
Access the DMC Advanced Editor window (see page 20).
2.
Select the General Parameter tab, and go to the Selectable Fields section (see page 52).
3.
Set the MA(1-5) parameters to ACTIVE and enter a rate limit for each signal, as needed.
4.
After one (or more) rate limit(s) are set to ACTIVE, then the SNL parameter will become editable. Enter a set number of steps for which the MA(1-5) parameter(s) will be active. SNL should not be longer than the length of the DV’s history. This special rate limit should be less than the standard rate limit.
5.
If necessary, tune these values in the signal diagram (see page 28).
APC_002
6.9 DMC algorithm cascaded mode and conditional tracking
6. 9
DM C algorit hm cascaded
mod e and cond itio nal trackin g
The DMC Controller offers an option of working in a cascaded mode. It must be working as the upper module ONLY. Conditional tracking is a scheme that allows tighter control of the process variable when the cascaded control strategy is implemented. Basically, the conditional tracking scheme allows the upstream controller to have immediate influence on the final output when the error between the process variable and the setpoint changes direction while the downstream controller is in a saturation condition. Without this scheme, the upstream controller would first have to move enough to zero the error on the downstream controller before having any effect on the process. This would introduce additional dead-time in the controller response and in the case of processes with slow dynamics (such as, temperature control), this additional dead-time may be significant. Example Cascaded control structure for the control of steam temperature is illustrated in the picture below:
APC_002
93
6.9 DMC algorithm cascaded mode and conditional tracking
Ab br evi ati on s T1 – auxillary process value T1s – setpoint for auxillary process value T2 – main process value T2s – setpoint for main process value Assume an initial steady-state (T2 = T2s; T1 = T1s = 800F; valve open on 20%), then T2 starts to drop. DMC controller with increase T1s to keep T2 close to T2s. This causes the valve to close. When the DMC valve controller is completely closed, T1 eventually stopitincreasing. However, if T2 keeps dropping, will continue to will increase T1s until hits the upper limit. When T2 is starting to increase and eventually the error between T2 and T2s changes direction, DMC controller will decrease T1s to keep T2 close to T2s. However, due to the BIG GAP, DMC controller would first have to move T1s enough to zero the error between T1s and T1 before the valve starts to open again. This would introduce additional dead time.
Conditional tracking is a scheme designed to solve the “BIG GAP” problem when the downstream controller is in a saturation condition. When two controllers are arranged in cascaded configuration, the TYPE parameter should be set to “cascade” in the downstream controller ONLY. It is not necessary to configure the upstream controller in the cascaded configuration. When the downstream controller is configured in the cascaded mode, it operates as a conventional PID controller so long as downstream controller is not in a saturation condition. However, if the downstream controller output is saturated at the HI or LO limit, or if the upstream controller receives an inhibit signal from a downstream algorithm, the behavior of the cascaded pair is as follows: 1.
94
The downstream controller asserts the conditional track bit in its output tracking point along the applicable limit or inhibit bit. The downstream controller also calculates a track output value which, if applied as a setpoint input, yields an error of MARGIN in General Parameters, where MARGIN is a non-negative real number.
APC_002
6.9 DMC algorithm cascaded mode and conditional tracking
Note: MAR1 - MAR5 are defined independently for each output. Therefore, MAR1 is MARGIN for output 1, MAR2 is MARGIN for output 2, and so forth. 2.
When the upstream controller sees the conditional track bit set, it adjusts its output as follows: If the error signal causes the upstream controller output to move against the inhibit signal (for example, output attempts to increase when the algorithm is receiving a raise inhibit bit), then the upstream controller sets its output equal to the track input + MARGIN value, or track input – MARGIN value, if raise inhibit or lower inhibit bit is received from downstream, respectively.
3.
Only the downstream controller configured to be in cascaded model asserts the conditional track bit. The upstream controller does not pass the conditional track bit in its track output.
Example Using the same example as discussed previously, when the valve is fully closed (PID controller output = 0), DMC controller output T1s will become T1 + MARGIN. When T2 is starting to increase and eventually the error between T2 and T2s changes direction, the conditional track bit will be deactivated. T1s will be calculated from the DMC controller again. DMC controller will decrease T1s to keep T2 close to T2s. Instead of the BIG GAP observed previously, a smaller gap of size MARGIN is observed. DMC controller would first have to move T1s enough to zero the much smaller error (MARGIN) between T1s and T1 before the valve starts to open again. This would introduce a much smaller dead time, hence allowing tighter control of T2.
APC_002
95
6.9 DMC algorithm cascaded mode and conditional tracking
6.9 .1 DMC mul ti-vari able con tro l exampl e A common way to illustrate MIMO (Multiple Input, Multiple Output) or multi-variable control is to use the shower in your home as an example. Refer to the following diagram. In this example, the goal is to maintain water flow and temperature at the spray head within a comfortable range. Flow and temperature are considered our controlled variables, or CVs in the diagram. To obtain water flow, the supply valves (shower faucets) must be throttled open. To attain a specific water temperature, hot water and cold water must be mixed in the appropriate proportions--again, using the hot and cold water supply valves. Because the supply valves are used to manipulate how much hot and cold water is wanted at the shower head, they are referred to as the manipulated variables, or MVs. The example home also includes other systems, or loads, that use hot and cold water. These other water users are considered as DVs, or disturbance variables, to the shower. In the diagram, the DVs are represented by a flushing toilet and a filling washing machine. The use of water at the DVs affect the flow and temperature at the spray head, but they can not be directly controlled while you are in the shower. You can, however, sense that they are using water since you can hear the toilet flushing or the washing machine filling.
Figure 26: Commo n MIMO example
96
APC_002
6.9 DMC algorithm cascaded mode and conditional tracking
In a normal home (one not using an Ovation Controller loaded with the DMC algorithm) you would react in a certain way to knowing that water is suddenly being used elsewhere in the home. In the case of the toilet flushing, you might open the cold water faucet a little more and throttle down a bit on the hot water. You know from experience that the tank fills shortly and you must return the faucets to the srcinal settings soon so that you can maintain a comfortable shower experience. If you sense that the washing machine is starting to fill, you know that something different is about to happen. You only wash in hot water, so if you do nothing, hot water will be diverted from the shower to fill the washing machine, the shower flow will drop, and the water will get cooler. To compensate, you must open the hot water faucet to maintain temperature and flow in the shower. When the washer fill cycle is complete, you must remember to throttle down on the hot water faucet to prevent being scalded. Now consider the shower where you can install an Ovation Controller to maintain your desired comfort range in the shower. The Ovation Controller uses the DMC algorithm to adjust the MVs to maintain the CVs within the desired range. Without such an algorithm, the Controller would not be able to manipulate the MVs until the CVs strayed beyond their range setpoints. This means that the values of the CVs overshoots or undershoot their desired setpoints for some period of time until the Controller can effectively respond and bring the system back into range. The DMC algorithm overcomes this problem by using a predictive control matrix and results in maintaining closer control of the CV setpoints. The simplified control matrix diagram illustrates (below) what happens to the CV parameters as each variable experiences an “open” step change in isolation of changes in the other valves.
APC_002
97
6.9 DMC algorithm cascaded mode and conditional tracking
Figure 27 : Simplified contr ol matrix diagram
98
APC_002
6.9 DMC algorithm cascaded mode and conditional tracking
Assuming an initial steady state condition for your shower and the water flow and temperature issuing from the spray head to be at desired values, notice what happens as each variable allows more water flow than its present condition. If the cold water MV opens, the temperature CV (water coming out of the spray head) initially remains constant, then decreases slowly until it reaches a new steady state condition at a lower temperature. The small period of time where the parameter remains constant is due to the time lag in the system, which is a result of the distance of piping between the faucet and the shower head and the thermal inertia of the piping and fixtures. Concurrently, the flow of water exiting the spray head increases because of the increased volume of water entering through the valve. Contrast this behavior with what happens when the toilet flushes. Temperature at the spray head increases because cold water is suddenly diverted away to fill the fixture's tank. Simultaneously, the flow rate decreases for the same reason. The tank fills quickly and the cold water flow to the toilet is abruptly stopped. This enables the temperature and flow at the shower head to quickly return to your comfort level. However, the bump in the matrix illustrates the period where you would either be uncomfortable in the shower or fiddling with the faucet to compensate. With an accurate control matrix, the DMC algorithm enables the Ovation Controller to anticipate corrections to the positions of the faucets (MVs) in response to changes in the toilet (DV) before those changes adversely affect the shower quality (CVs). In other words, the Controller may open the cold water MV a little more, throttle the hot water MV a little in the closed position or perform some combination of each to counteract the effects of the flushing toilet. The DMC algorithm uses the control matrix to build a predictive model for how to handle the MVs in response to any combination of conditions of the DVs. The goal of the algorithm is to counteract the effect of the DVs on your shower experience. The algorithm does this by using the control matrix to inject feedforward variables, or FFs, into the system. The FFs job is to negate the effects of the DVs. The result is that you take a shower in total comfort regardless of flushing toilets and laundry activity. The FFs enable the Ovation Controller to eliminate wide swings in the CV parameters and maintain tight control on the fluctuations in flow and temperature at the shower head. The DMC algorithm can do the same thing in your plant on a much more complex scale. It is important to note that any applications of this control algorithm require thorough testing, since the quality and accuracy of the control matrix is directly related to final system performance.
APC_002
99
6.9 DMC algorithm cascaded mode and conditional tracking
6. 9.2 Using DM C cont rol in a power plant--e
xamples
This section shows examples of how to use DMC control in a power plant setting to control steam temperature. The following diagram depicts a classic control structure dedicated to control steam temperature.
Figure 28: DMC control in power plant--Example 1 This classic structure can be replaced by the DMC Controller as illustrated in the following figure.
Figure 29: DMC control in power plant--Example 2
100
APC_002
6.9 DMC algorithm cascaded mode and conditional tracking
In this example, a DMC Controller is used instead of upper PID with a feed-forwards module. Generally, DMC can be used instead of several upper PID Controllers and feed-forwards modules. The following figure presents a more complex case:
Figure 30: DMC control in power plant--Example 3
APC_002
101
6.9 DMC algorithm cascaded mode and conditional tracking
In this case the steam line is more complex and the Controllers must maintain two temperatures, T3 and T5. There are two main problems with this situation:
The first PIDS cascade does not know about second PIDS cascade.
Feed-forward is not effective for fast (not delay) disturbances signals.
Note: In this example, T5 is the more important temperature parameter. T5 should be o o o maintained at 1004 F. T3 is an auxiliary temperature and should be maintained at 870 -878 F by materials constraints. These two problems can be solved by using a multi-variable Controller. A control schema based on DMC control is illustrated in the following figure:
Figure 31: DMC control in power plant--Example 4 The DMC Controller knows that temperature T3 can be controlled by MV1 only, while the temperature at T5 is controlled by MV1 and MV2. If the second spray is closed before T5 is at its setpoint, then this condition may result in reduced effectiveness of the system. The DMC Controller in this case increases T3 temperature above its setpoint (SETPOINT I) which helps maintain T5 at the correct temperature. Additionally, this approach minimizes the use of spray water. The following parameters can be used as DV signals in this example:
102
Fuel Steam flow
Temperature before spray I and spray II
Oil
APC_002
6.10 Accessing the tuning window for the DMC algorithm in signal diagrams
6. 10 Accessin g the tuni ng window for the D diagrams
MC algorit hm in signal
To access advanced editing in signal diagrams, see To access the Advanced Tuning window for APC Toolkit algorithms in signal diagrams (see page 28).
6.1 0.1 DMC Trajector
ies tab
The Trajectories tab displays the trajectories of MVs and CVs in the first section of the window. Trajectories of MVs are received from the optimization directly. Based on MV prediction trajectories and a history of MVs and DVs, the Controller calculates a prediction of CV trajectories, which are based on the internal model.
Figure 32: DMC Trajectories tab The Plot Selections area lists the input and output signals and provides connection status. The Tuning Parameters tab stores the tuning parameters.
APC_002
103
6.10 Accessing the tuning window for the DMC algorithm in signal diagrams
6.1 0.2 DMC Tunin g Parameters t ab On this tab you can change the weight of MVs and CVs in the R and Q matrices, respectively. Only positive values are valid. You can also set input constraints for MV signals. This is available when constraints are selected (set as active) in the Control Builder interface.
Figure 33: DMC T unin g Parameters tab
104
APC_002
S
ECTION
7
Using t he Dynamic Predicto r algor ith m (DPA)
IN THIS SECTION What is the Dynamic Predictor algorithm?...................................................................... 105 DPA Symbol .................................................................................................. 106 DPA Functional Limits and Anti-Windup........................................................................................... 106 DPA Force to Stable State function ................................................................................ 107 DPA Time Constants....................................................................................................... 108 DPA Gain ........................................................................................................................ 109 DPA Tracking.................................................................................................................. 109 DPA Quality..................................................................................................................... 110 Accessing advanced editing for DPA in the Control Builder ...........................................111 DPA algorithm definitions ................................................................................................ 112 DPA Use Cases .............................................................................................................. 113
7. 1
What is the Dynamic
Pre dict or algorit hm?
The Dynamic Predictor Algorithm (DPA) models single input and single output (SISO) processes. This algorithm can be used as a predictor of the process and can be utilized in an advanced control structure as an internal model or as a feedforward module. For computational reasons, the DPA algorithm can be divided into three module components: LEADLAG1, LEADLAG2, and LAG3. Each module needs the previous module's value in order to calculate its own value. IN --> LEADLAG1 --> LEADLAG2 --> LAG3 --> GAIN --> OUT Each module needs the previous module's value in order to calculate its own value. Note: The Dynamic Predictor algorithm is available for Ovation releases 3.3.1 and 3.4.0 only.
APC_002
105
7.2 DPA Functional Symbol
7. 2
DP A Functio nal Symbol
Figure 34 : Dynamic Predictor Alg orithm (DPA) functional symbo l
106
APC_002
7.3 DPA Limits and Anti-Windup
7. 3
DP A Limi ts and Anti -W indu p Limits are defined by the High Limit (HLIM) and Low Limit (LLIM) parameters. If the OUT value is calculated higher or lower than its respective limit, the OUT pin is set to that limit. The Track out pin (TOUT) will set the HIGH/LOW Limit flags to alert the upstream algorithms. Since the Dynamic Predictor Algorithm must save previous values (Prev_X or Prev_LAG) to calculate the LAG for all three stages, there is a potential for windup to happen with this algorithm’s output. In this case, an optional anti-windup (AWIND) parameter can be used. Once the OUT value is calculated, the high and low limits are checked against it. If the value is out of bounds, the OUT value and all the previous values used to calculate the LAG3 (Prev_X and Prev_LAG) will be set to the Limit’s value. This will prevent windup better than simply cutting off the OUT value at the top or bottom limit: The following figure represents the output signal when the limit is active and the AWIND option is OFF and ON.
There case, where and LEADLAG2 are values also affected by the option.is a If special R1 or R2 is set to 0, LEADLAG1 then the Prev_X and Prev_LAG in memory willAWIND be set to the OUT value as well.
7. 4
DP A Force to Sta ble State func tion In the event that the DPA is forced into an erratic state because of windup or another issue, the OUT value can be forced into a stable state again by setting the F2SS pin true.
APC_002
107
7.5 DPA Time Constants
7.5
DPA Time Const ants The time constant nominator (R1/R2) and the dominator (T1/T2/T3) parameters determine the shape of the algorithm’s model. The values can be dynamic if they are connected by pins, or they can be constant if they are entered as parameters in the algorithm record itself. The time constant nominator (R1/R2) and the dominator (T1/T2/T3) parameters determine the shape of the algorithm's model. The values can be dynamic if they are connected by pins or constant if entered as parameters in the algorithm record itself.
If R1/R2 is set less than zero, it will be set to zero internally.
If R1/R2 is set less than the sheet time, but higher than zero, it will be set to the sheet time
internally. If T1/T2/T3 is set to less than or equal to zero, the entire module will be set to the value of Q1 for LEADLAG1, Q2 for LEADLAG2, 1 for LAG3. (Example: If T1=-2 then LEADLAG1 would equal Q1.) In this event, the R value with the same number will internally equal 0 as well. If T1/T2/T3 is set to a value between the sheet time and zero, T will be set to the sheet time.
This high order transfer function allows you to model almost any shape of response. Two typical non-trivial models like “non-minimum phase” response and “derivative response” are presented in the following figure. Non-minimum phase model The arrows on the picture show the direction of the changes that occur when the values of the T1, T2, and R1 parameters increase.
108
APC_002
7.6 DPA Gain
Derivative model The arrows on the picture show the direction of the changes that occur when the T1 and R1 parameters increase.
7.6
DPA Gain The GAIN value is not introduced until all other values have been calculated. Gain can only be higher than 0.001 or lower than -0.001. When the value is between 0 and 0.001, GAIN will automatically be set internally to 0.001. When the value is between a -0.001 and 0, it will be set to -0.001.
7.7
DPA Tracki ng Tracking and limiting are done through signals passed in the upper 16 bits of the third status word of the analog track point. This algorithm takes the following action in response to the information found in the analog input signal TRKIN: BIT
APC_002
D ESCRIPTION
A CTION
TOUT S IGNAL
16
Track
Implemented
Passed through
17
Track if lower
No action
Passed through*
18 19
Track if higher Lower inhibit
No action Implemented
Passed through* Passed through**
20
Raise inhibit
Implemented
Passed through**
21
Conditional Track
No action
Not used
109
7.8 DPA Quality
BIT
D ESCRIPTION
A CTION
22
Not used
No action
TOUT S IGNAL Not used
23
Deviation Alarm
No action
Not used
24
Local Manual mode
No action
Not used
25
Manual mode
No action
Not used
26
Auto mode
No action
Not used
27
Not used
No action
Not used
28
Not used
No action
Not used
29
Not used
No action
Not used
30
Low limit reached
No action
Low limit reached
31
High limit reached
No action
High limit reached
* Only when the Track signal is not present. ** Only when the Track signal is not present; the signals are set according to the definition given in the Special Case Rules below.
Special Case Rules: 1.
In the situation where Q1 or Q2 is set to zero, the TOUT value is set to zero and flags will not be passed upstream.
2.
If TRKIN has the RAISE INHIBIT flag set, the maximal OUT value cannot be bigger than the TRKIN value until the flag is active. If TRKIN has the LOWER INHIBIT flag set, then the minimal OUT value cannot be lower than the TRKIN value until the flag is active.
3. changed When thetoTRACKING pinbased is set,on thethe previous values (Prev_X Prev_LAG values) are a stable state newly calculated TOUTand value. a) Prev_X = Prev_LAG = TOUT b) Prev_X = Prev_LAG = TOUT * Q1 c) 4.
7.8
for LEADLAG1 for LEADLAG2
Prev_X = Prev_LAG = TOUT * Q1 * Q2 for LAG3
When (GAIN * Q1 * Q2) < 0, the INHIBIT and TRACK IF flags coming from downstream will be reversed before being assigned to TOUT. For example, if TRKIN has the RAISE_INHIBIT flag set and (GAIN * Q1 * Q2) is less than 0, then TOUT’s LOWER_INHIBIT flag will be set. This rule only applies if TRACKING on TRKIN is not set.
DPA Qualit y The OUT pin’s quality will be set to the same value as the lowest quality input pin. For example, if the IN pin quality is FAIR, GAIN’s quality is BAD, and all other quality is GOOD, then the OUT quality is set to BAD. If the algorithm receives an invalid value as an input or calculates an invalid value as the OUT or TOUT pin, the drop is placed into alarm. In these situations, TOUT and OUT will not be updated until the error is corrected. If the F2SS pin is engaged, and the quality of the point is BAD, the algorithm will ignore the request.
110
APC_002
7.9 Accessing advanced editing for DPA in the Control Builder
7. 9
Accessi ng advanced
editing for
DP A in the Control Builder
DPA does not use advanced edits and does not have any parameters that appear in the Advanced Applications Studio. For DPA, all parameters are defined through the Control Builder Property Editor. See To use the Property Editor to edit advanced algorithms (see page 19) for more information. To identify parameters, hover the mouse pointer over the entries in the Property Editor. The parameter name appears as a tooltip. For information on valid parameter values, see DPA algorithm definitions (see page 112). The following figure shows an example of the Property Editor for the DPA algorithm.
Figure 35 : DPA algorithm paramete rs sh own in the Property Editor Note: No default tuning window is available for the DPA algorithm in signal diagrams.
APC_002
111
7.10 DPA algorithm definitions
7. 10 DP A algorit hm definit ions Al go ri th m Definit io ns
NA ME
L C AL G. R ECORD F IELD
DIAG
LU - Integer
GAIN
TYPE
D EFAULT V A L UE
D ESCRIPTION
Data Init
Required
120
Tuning Diagram Number
R1
Dual Input
Optional
1.0
Process dependent GAIN value
LA
T1
R2
Dual Input
Optional
20.0
Process dependent T1 constant
LA
T2
R3
Dual Input
Optional
20.0
Process dependent T2 constant
LA
T3
R4
Dual Input
Optional
20.0
Process dependent T3 constant
LA
R1
R5
Dual Input
Optional
0.0
Process dependent R1 constant
LA
R2
R6
Dual Input
Optional
0.0
Process dependent R2 constant
LA
HLIM
R7
Dual Input
Optional
100
Maximum value of the output point
LA
LLIM
R8
Dual Input
Optional
0
Minimum value of the output point
LA
F2SS
-
Variable
Optional
-
If TRUE, then the Output is forced to stable state (for current input value)
LD
IN
G1 - SSID
Variable
Required
-
Input Variable
LA
TOUT
-
Variable
Required
-
Tracking OUT
LA
OUT
G2 - SSID
Variable
Required
-
Output variable
LA
TRKIN
-
Variable
Optional
-
Tracking IN
LA
AWIND
X5 - Byte Bit 0
Tuning Constant
Required
0
0 - anti-windup not active
-
X6 - Byte Bit 0, 1
Tuning Constant
Required
Q1
Q2
112
MI N. P OINT R ECORD
R EQUIRED / O PTIONAL
X7 - Byte Bit 0, 1
Tuning Constant
-
1 anti-windup active
Required
1
1
Q1 sign - can be 1, 0, -1
00 - 1
01 - 0
10 - (-1)
Q2 sign - can be 1, 0, -1
00 - 1
01 - 0
10 - (-1)
-
-
APC_002
7.11 DPA Use Cases
7.11 DPA Use Cases The following example discusses how the MODEL algorithm can be used in control structures. This example does not define parameter values because each case is independent. Only a general idea is presented. Example 1: Internal Model The Internal Model structure is designed to increase robustness of the control structure. The idea is to use the model as a process variable predictor and to control differences between a real process variable and a value predicted by model. This structure allows you to tune the PID algorithm strongly (big Gain, short integration time) and keep high process variable precision.
APC_002
113
7.11 DPA Use Cases
Example 2: Feedforward model The Feedforward structure is designed to eliminate disturbance variables influence. The idea is to use this model as an invert process transfer function and to calculate the correction of the MV signal so that the DV signal impact will be eliminated (or limited). This structure can only be used when the dynamic of the DV signals is slower than the dynamic of the MV signal.
114
APC_002
S
ECTION
8
Using th e EDEVICE algor it hm
IN THIS SECTION What is the EDEVICE algorithm?.................................................................................... 115 EDEVICE functional symbol............................................................................................ 116 Operating modes............................................................................................................. 116 Emergency commands ................................................................................................... 117 Device ready input signal (DRDY) .................................................................................. 117 Permissive inputs ............................................................................................................ 117 Changing the direction of move ...................................................................................... 117 Feedback inputs .............................................................................................................. 118 Auxiliary inputs ................................................................................................................ 118 Digital output signals ....................................................................................................... 118 Trip and timeout sensing................................................................................................. 118 Lack of MCC power sensing ........................................................................................... 118 MCC test mode and permission override function..........................................................119 Configurations for different EDEVICE applications.........................................................119 Operation details of the EDEVICE Algorithm..................................................................121 Accessing advanced editing for EDEVICE in the Control Builder...................................137 EDEVICE algorithm definitions ....................................................................................... 138
8.1
What is the ED EVI CE algo ri thm ? The EDEVICE algorithm is designed to control all typical devices such as solenoids, motors, bi-directional motors, and two-speed motors. Configuration for each case is achieved by connecting individual inputs and outputs to the EDEVICE algorithm. The following functions are supported:
Mode selection (Auto, Manual, Local, Tagout).
Device readiness sensing.
Permissions to perform operation (MR - Move to Right, ML - Move to Left, ST - Stop).
Separate inputs for MR/ML/ST commands in Auto and Manual modes.
Emergency commands for each MR/ML/ST operation.
Timing and trip sensing circuits.
Device command reissue after short device power break.
Feedback signals including right and left limit switches and right, left and stop motor center contact relays.
APC_002
115
8.2 EDEVICE functional symbol
8.2
EDE VIC E fu nct io nal sym bol
Figure 36: ED EVICE fun ctio nal sym bol
8. 3
Ope rating
modes
The EDEVICE algorithm operates in one of the following four modes:
Auto (see page 116)
Manual (see page 117)
Local (see page 117)
Tagout (see page 117)
The REQA (Request Auto Mode), REQM (Request Manual Mode), REQL (Request Local Mode) and REQT (Request Tagout Mode) inputs are used to place the algorithm in each of the operating modes. The algorithm can be placed in Tagout mode only when the device is stopped in Manual or Local mode. Switching to Auto mode is possible only in Manual mode, when the algorithm is not blocked. The MODA, MODM, and MODL bits in the PSTA status word indicate that the EDEVICE is actually placed in Auto, Manual, or Local mode respectively. When none of those bits are set to True, the algorithm is in Tagout mode.
116
APC_002
8.4 Emergency commands
8. 3.1 Auto comm ands Auto commands (AUTR, AUTS and AUTL) are accepted only in Auto mode to initiate a Move to Right, Stop, or Move to Left operation.
8.3 .2 Manual com mands Manual commands (MANR, MANS and MANL) are accepted only in Manual mode to initiate a Move to Right, Stop, or Move to Left operation.
8. 3.3 Local and tagout modes In Local mode, the EDEVICE algorithm does not execute any commands (with exception of emergency STOP command) and does not recognize trip and timeout errors. No command is executed in Tagout mode (including emergency STOP). The EDEVICE algorithm can be placed in Tagout mode only when the device is stopped. The algorithm switches from Local or Tagout mode to Manual mode after a REQM (Request Manual Mode) command is issued. If the LLCL parameter (Leave Local Mode) is set to 'GO MANUAL,' the EDEVICE automatically returns to Manual mode from Local mode immediately after the REQL (Request Local Mode) input signal becomes inactive.
8. 4
Emergency
comm ands
Emergency commands (EMRR, EMRS and EMRL) are accepted in both Auto and Manual modes to initiate Move to Right, Stop, or Move to Left operations. The Emergency Stop (EMRS) command is also accepted in Local mode.
8.5
Device ready inp ut sig nal (DR DY ) The DRDY digital input is used to connect a device ready signal. When the DRDY input is set to true or is not connected, the algorithm operates normally. When the DRDY input is false, manual and auto LEFT and RIGHT commands are ignored. The STOP command is executed in any case unless the algorithm is in tagout mode. Emergency commands are executed even when the DRDY input is reset.
8. 6
Pe rmi ssiv e inpu ts Permissive inputs (PERR, PERS and PERL) should be set to True to accept auto and manual commands. Emergency commands are issued despite permission inputs. Input signals for command RIGHT (AUTR, MANR and EMRR) are ignored when a Right Limit Switch feedback signal is connected and active. Input signals for command LEFT (AUTL, MANL and EMRL) are ignored when Left Limit Switch feedback signal is connected and active.
8. 7
Cha ngin g the directi on of move When a command changing direction of move (command RIGHT in Move to Left operation or command LEFT in Move to Right operation) is issued, operation Stop is automatically executed before changing direction.
APC_002
117
8.8 Feedback inputs
8.8
Fee dback inp uts The FBCR, FBCS and FBCL inputs (MCC right, stop and left contact relay status respectively) are used to recognize status of a motor control center. When the FBCS signal is not connected, it is assumed to be active when both FBCR and FBCL are inactive (or one of them is not connected and the other is inactive). The FBLR and FBLL inputs are used to determine the status of right and left limit switches.
8. 8.1 Fe edback signals filtering Feedback signals filtering logic has been implemented for FBCR, FBCS, FBCL, FBLR and FBLL inputs. When the value of a feedback signal changes, it is assumed to be uncertain and is not taken into account in recognition of the state of device for the amount of time specified by the parameter, adequate for a given input signal. Consistency of the value with values of other feedback signals is not checked by this time. The amount of time after which the value is assumed to be stable is specified by DBCR, DBCS, DBCL, DBLR and the DBLL parameters respectively.
8. 9
Auxiliary
inputs
The IN1 and IN2 inputs are used to pass general-purpose signals to bits within the PSTA packed output point to use them in macro or window graphics (see PSTA bits table (see page 130) for more details).
8. 10 Digital
outp ut sign als
The digital outputs of the EDEVICE (CMDR, CMDS, and CMDL) are used to issue RIGHT, STOP, and LEFT commands respectively to the device.
8. 11 Trip a nd timeout se
nsin g
The EDEVICE algorithm recognizes trip (unexpected change of device status) and operation execution timeout. The algorithm can be set to block itself in case of a trip, in case of a trip or operation timeout, or set to continue to operate accordingly to the option chosen via the BLK (Blocking Condition) parameter. A blocked algorithm resumes operation after an ACKT (Trip Acknowledge) command is issued. If the BLK parameter is set to 'NO,' the algorithm is not blocked after a trip or timeout error. In this configuration, the algorithm does not stop the device in case of any error.
8.1 2 Lack of MCC pow er sensi ng In some cases, a device trip is caused by a temporary lack of MCC power supply. If such a case is identified through NPWR (No MCC Power) input and power are restored within the period defined via the PWR parameter, the algorithm automatically reissues the last command to restore the status of the device upon power return. If the break in power supply lasts longer than the time constant defined via PWR parameter, the device stops after the power return.
118
APC_002
8.13 MCC test mode and permission override function
8. 13 MC C test mode
and permiss ion overri
de func tion
If the MCC (Switch Gear) center has a test position/mode where MCC may operate without starting a physical device, the signal identifying such mode should be connected to the TMOD (Test Mode) input. Emergency and permission signals are overridden to allow operation in test mode. When the TMOD input is active, permission signals are skipped and emergency commands are ignored for the amount of time specified by the OVR parameter after transition of the TOVR (Test Override Mode) input signal from False to True. When the permissions override function is active, the TOVP bit in PSTA status word is set to True.
8. 14 Configur
ations for diff
erent ED EV IC E applicatio
ns
Configurations of connected inputs and outputs of the EDEVICE for different applications are shown in the following table. Note that only one input for each command - RIGHT (INCR), STOP (INCS), and LEFT (INCL) - is shown in the table. Such input should be understood as respective Manual command in Manual mode, Auto command in Auto mode, or Emergency command. Other inputs and outputs - DRDY, REQA, REQM, REQL, REQT, NPWR, ACKT, TMOD, IN1, IN2, STAT, DERR, and PSTA can be used in any configuration according to your needs. Only the inputs actually used for the device control should be connected. Constant values should not be connected to any of the inputs. If the algorithm is configured to sustain output command during the entire operation (the KCMD parameter is set to 'CONSTANT') and the device stops automatically after deactivation of the signal, then the output STOP command can be left unconnected. In the following tables, 'R' means that a given signal is required in a given configuration, and 'O' means that the signal is optional. EDEVICE configurations M OTOR / PUMP
B I-
S OLENOID W / 1 LIMIT
B I-
B I-
NOT
DIRECTION
DIRECTION
DIRECTION
CONNECTED
AL OR
SWITCH
AL VAL VE
AL VAL VE
RECOGNIZED
W / OUT
W / STOP
AS
2-
SPEED
MOTOR
STOP
Right contact feedback signal
FBCR
R
R
R
O
O
Output RIGHT command is activated for the time specified by TR6C parameter
Stop contact feedback signal
FBCS
R
R
R
O
O
Signal will be derived from right or left contact signals if any of those is connected
APC_002
119
8.14 Configurations for different EDEVICE applications
M OTOR / PUMP
B I-
S OLENOID W / 1 LIMIT
B I-
B I-
NOT
DIRECTION
DIRECTION
DIRECTION
CONNECTED
AL OR
SWITCH
AL VAL VE
AL VAL VE
RECOGNIZED
W / OUT
W / STOP
AS
2-
SPEED
MOTOR
120
STOP
Left contact feedback signal
FBCL
-
R
-
O
O
Output LEFT command is activated for the time specified by TL8C parameter
Right limit switch feedback signal
FBLR
-
-
-
R
R
Move to Right operation persists until other command is issued.
Left limit switch feedback signal
FBLL
-
-
-
R
R
Move to Left operation persists until other command is issued.
Combined input RIGHT command
INCR
R
R
R
R
R
RIGHT command cannot be issued
Combined input STOP command
INCS
R
R
R
-
R
STOP command cannot be issued
Combined input LEFT command
INCL
-
R
-
R
R
LEFT command cannot be issued
Actual output RIGHT command
CMDR
R
R
R
R
R
Missing output signal
Actual output STOP command
CMDS
R
R
R
O
R
The device can not be stopped. The direction of motion cannot be changed.
Actual output LEFT command
CMDL
-
R
-
R
R
One speed, unidirectional device.
APC_002
8.15 Operation details of the EDEVICE Algorithm
8.1 5 Operation detail
s of the ED EVI CE Alg ori thm
On Controller startup, the EDEVICE algorithm is placed in manual mode and the device state tracking subroutine is initiated.
8.1 5.1 Device st ate track ing The algorithm starts device state tracking subroutine after Controller startup, when Manual or Local mode is left and after an unexpected change of device state (unless it is configured to stop the device). In this subroutine, the algorithm recognizes the status of the device based on feedback signals. The device is recognized as stopped if any of the contact feedback signals is connected and contact feedback signals coherently indicate that the device is stopped. It is also recognized as stopped if contact feedback signals are not connected and the feedback signal from one of the limit switches is active. The device is also recognized as stopped when the period defined as the greater of the values of the TR7R and TL9L parameters (maximum time of transition from one limit switch to another). If the algorithm cannot recognize the state of the device based on feedback signals, an “unrecognized state of device” alarm is reported. The alarm is automatically reset when the state of the device is recognized. If the algorithm cannot recognize the state of the device and output STOP command is connected, activating an input LEFT or RIGHT command causes a STOP command to be issued before the actual direction command (STOP and LEFT Operation or STOP and RIGHT Operation is triggered). If the output STOP command is not connected and the device state is not recognized, the operator must acknowledge the “unrecognized state of device” alarm before the LEFT or RIGHT command executes. After the acknowledgement, commands execute without issuing the STOP command. When the state of the device is recognized, one of subroutines — “Device Stopped,” “Move to Right,” or “Move to Left” starts. If a trip has been reported and the algorithm is configured to not stop the device in case of such an error, the algorithm will not leave the Device State Tracking subroutine until the operator performs an action, issues a command, acknowledges the error, or switches the algorithm to Auto mode. There are six outputs from the EDEVICE algorithm. CMDR (move right), CMDS (stop) and CMDL(move left) are the digital command outputs to be used to control the device in the field (they may be connected to hardwired outputs or used in the Controller for further processing). Output command behavior (IMPULSE versus CONTINUOUS) is selected through the KCMD configuration parameter. The remaining outputs DERR (analog), STAT (analog), and PSTA (packed) provide algorithm status information.
APC_002
121
8.15 Operation details of the EDEVICE Algorithm
Status (STAT) analog output The STAT analog output carries the code of the internal status of the algorithm - currently executed subroutine and subsequent step of the execution. Possible values of this point are described in the following table. Possible STAT codes
122
CODE
D ESCRIPTION
100
Device State Tracking
104
Device State Tracking - the device is recognized as stopped after maximal transition time
111
Device State Tracking - device error detected, wait for operator action
200
Device Stopped
204
Device Stopped - feedback signals from limits not inspected
201
Device Stopped - Left Limit Switch feedback signal active
202
Device Stopped - Right Limit Switch feedback signal active
203
Device Stopped - limit switch feedback signals inactive
300
STOP Command Execution
304
STOP Command Execution - wait minimum command time
305
STOP Command Execution - wait for contact signals reply
310
STOP Command Execution - command execution timeout
311
STOP Command Execution - canceling previous command
400
STOP and RIGHT Operation
404
STOP and RIGHT Operation - wait minimum command time
405
STOP and RIGHT Operation - wait for contact signals reply
411
STOP and RIGHT Operation - canceling previous command
500
STOP and LEFT Operation
504
STOP and LEFT Operation - wait minimum command time
505
STOP and LEFT Operation - wait for contact signals reply
511
STOP and LEFT Operation - canceling previous command
600
RIGHT Command Execution
605
RIGHT Command Execution - wait for contact signals reply
610
RIGHT Command Execution - command execution timeout, input command is still active
611
RIGHT Command Execution - canceling previous command
612
RIGHT Command Execution - command execution timeout, activation of input
700
command will repeat command execution Move to Right Operation
706
Move to Right Operation - wait for deactivation of Left Limit Switch signal
APC_002
8.15 Operation details of the EDEVICE Algorithm
CODE
D ESCRIPTION
707
Move to Right Operation - wait for activation of Right Limit Switch signal
708
Move to Right Operation - wait for deactivation of Right Contact signal
710
Move to Right Operation - Right Limit Switch signal activation timeout
712
Move to Right Operation - Right Contact signal deactivation timeout
800
LEFT Command Execution
805
LEFT Command Execution - wait for contact signals reply
810
LEFT Command Execution - command execution timeout
811
LEFT Command Execution - cancelling previous command, input command is still active
812
LEFT Command Execution - cancelling previous command, activation of input command will repeat command execution
900
Move to Left Operation
906
Move to Left Operation - wait for deactivation of Right Limit Switch signal
907
Move to Left Operation - wait for activation of Left Limit Switch signal
908
Move to Left Operation - wait for deactivation of Left Contact signal
910
Move to Left Operation - Left Limit Switch signal activation timeout
912
Move to Left Operation - Left Contact signal deactivation timeout
Device error (DERR) analog output (combined) The DERR analog output is set to the numeric code of the algorithm error. The DERR analog output is set when the error is reported and can be reset to zero when the error is acknowledged by activating the ACKT input point. All errors including, timeouts, trips and inconsistency of feedback signals have priority over alarms. If any error occurs after an alarm has been reported, the DERR output is set to the code of the error. 1.
ALARM (Codes 50-51) - Bits of PSTA output point are not changed.
2.
TIMEOUT (Codes 2-10) - When a timeout error is reported, the UTMT bit of the PSTA status word is set to logic TRUE. The bit is reset to logic FALSE when the error is acknowledged with the ACKT input. If the BLK parameter is set to 'TIMEOUT,' the algorithm is blocked in case of a timeout error. If another timeout error happens before the first one is acknowledged, the DERR output keeps the numeric code of the first error. If any unexpected change of device state error or inconsistency of feedback signals error happens before a timeout error is acknowledged, those errors have priority and the DERR output is set to the code of the latter error. If feedback signals are inconsistent, the error code is not reset before the input signals inconsistency disappears.
3.
APC_002
TRIP (101-104, 107-110) - The algorithm reports unexpected change of device state (trip) in the following conditions:
During Move to Right or after the device stops on Right Limit: if a Left Limit Switch feedback signal activates or a Right Limit Switch feedback signal deactivates.
During Move to Left or after the device stops on Left Limit: if a Right Limit Switch feedback signal activates or a Left Limit Switch feedback signal deactivates.
123
8.15 Operation details of the EDEVICE Algorithm
When the device is stopped and the last issued input command was STOP command or no command was issued since the last return from Local or Tagout mode: if either of the limit switch signals changes in any way.
Reporting of a trip error is delayed by the time defined by the TRP parameter. If feedback signals returns to the expected state within this time, a trip error is not reported.
A trip error is indicated by setting the UTRP bit of the PSTA status word to logic TRUE. The bit is set back to logic FALSE when the trip is acknowledged with the ACKT input. The DERR analog output is set to the numeric code of the error. The DERR analog output can be reset to zero by activating an ACKT input point. If any other error happens before the first one is acknowledged, the DERR output keeps the numeric code of the first error. When the trip error is reported, the algorithm is switched to Manual mode. If the BLK parameter is set to 'TRIP' or 'TIMEOUT,' the device is stopped and the algorithm is blocked. 4.
INCONSISTENCY (100, 101, 112) - Reporting of an inconsistency of feedback signals error is delayed by the time defined by the TRP parameter. If the feedback signals become consistent before this time passes, the error is not reported. The error is indicated by setting CERR and UCMP bits of the PSTA status word to logic TRUE. The CERR bit is set to logic FALSE when feedback signals become consistent. The UCMP bit is set to logic FALSE when the error is acknowledged with the ACKT input. The DERR output is set to the numeric code of the error. The DERR output is reset to zero when the error is acknowledged with an ACKT input and the feedback signals become consistent. If any other error happens before the first error is acknowledged and feedback signal become consistent, the DERR output keeps the numeric code of the first error. When the time defined by the CMPL parameter passes and the error condition is still active and the error was not acknowledged by the ACKT input, the algorithm behaves as if a trip error was reported. The UTRP bit of the PSTA status word is set to logic TRUE and the algorithm is switched to Manual mode. If the BLK parameter is set to 'TRIP' or 'TIMEOUT,' the device is stopped and the algorithm is blocked. If the error is acknowledged before the time defined by the CMPL parameter passes, the inconsistency is ignored. The DERR output is not set to zero and the CERR bit of a PSTA status word is not set to FALSE until the error condition disappears. If the feedback signals are still inconsistent after the error is acknowledged, but the code of the error is different, the DERR output is set to the code of the actual error, rather than the first error. Execution of the commands is impossible or very limited when feedback signals work faulty; (for example, if a Right Contact feedback signal is constantly active), execution of a STOP command always ends with a timeout error, because the device is not recognized as stopped if feedback signals from contacts are inconsistent.
124
APC_002
8.15 Operation details of the EDEVICE Algorithm
EDEVICE algorit hm alarms The DERR analog output is set to a numeric code of the alarm. Bits of PSTA output point are not changed. The DERR analog output can be reset to zero by activating the ACKT input point. All errors including, timeouts, trips and inconsistency of feedback signals have priority over alarms. If any error occurs after an alarm has been reported, the DERR output is set to the code of the error. EDEVICE Alarm errors CODE
TYPE
D ESCRIPTION
E XPLANATION
50
ALARM
Undefined state of the device
The algorithm cannot determine the state of the device based on feedback signals. If an output STOP command signal is not connected, the operator must acknowledge the alarm to be able to issue a RIGHT or LEFT command. If the output STOP command signal is connected, issuing a RIGHT or LEFT command causes initiation of a Stop and Right or Stop and Left operation. This alarm is automatically cleared when the algorithm is able to determine the state of the device.
51
ALARM
Device is not stopped
This alarm is reported if the algorithm leaves the Local or Tagout mode and the device is not stopped.
EDEVICE algorithm timeout errors The DERR analog output is set to the numeric code of the error. The DERR analog output can be reset to zero by activating the ACKT input point. If another timeout error happens before the first one is acknowledged, the DERR output keeps the numeric code of the first error. If any unexpected change of device state error or inconsistency of feedback signals error happens before a timeout error is acknowledged, those errors have priority and the DERR output is set to the code of the latter error. When a timeout error is reported, the UTMT bit of the PSTA status word is set to logic TRUE. The bit is reset to logic FALSE when the error is acknowledged with the ACKT input. If the BLK parameter is set to 'TIMEOUT,' the algorithm is blocked in case of a timeout error. EDEVICE Timeout errors E RROR CODE
TYPE
D ESCRIPTION
E XPLANATION
2
TIMEOUT
Exceeded time of execution of STOP command
The Stop Contact feedback signal did not activate within the time defined by the TS3X, TS5X or TS4X parameter respectively for the STOP Command Execution, STOP and RIGHT Operation or STOP and LEFT Operation from the time when the output STOP command signal was activated.
APC_002
125
8.15 Operation details of the EDEVICE Algorithm
126
E RROR CODE
TYPE
D ESCRIPTION
E XPLANATION
3
TIMEOUT
Exceeded time of execution of LEFT command
The Left Contact feedback signal did not activate within the time defined by the TL8C parameter since activation of an output LEFT command signal. The algorithm stops the device unless the BLK parameter is set to 'NO BLOCK'.
4
TIMEOUT
Exceeded time of deactivation of right limit switch feedback signal
The Right Limit Switch feedback signal did not deactivate within the time defined by the TL9R parameter from the time when a Left Contact feedback signal activated.
5
TIMEOUT
Exceeded time of activation of left limit switch feedback signal
The Left Limit Switch feedback signal did not activate within the time defined by the TL9L parameter since activation of an output LEFT command or since Move to Left Operation was initiated. The algorithm stops the device unless the BLK parameter is set to 'NO BLOCK.'
6
TIMEOUT
Exceeded time of deactivation of left contact feedback signal
The Left Contact feedback signal did not deactivate within the time defined by the TL9S parameter since a Left Limit Switch feedback signal activated.
7
TIMEOUT
Exceeded time of execution of RIGHT command
The Right Contact feedback signal did not activate within the time defined by the TR6C parameter since activation of an output RIGHT command signal. The algorithm stops the device unless the BLK parameter is set to 'NO BLOCK.'
8
TIMEOUT
Exceeded time of deactivation of left limit switch feedback signal
The Left Limit Switch feedback signal did not deactivate within the time defined by the TR7L parameter from the time when the Right Contact feedback signal activated.
9
TIMEOUT
Exceeded time of activation of right limit switch feedback signal
The Right Limit Switch feedback signal did not activate within the time defined by the TR7R parameter since the activation of an output RIGHT command or since a Move to Right Operation was initiated. The algorithm stops the device unless the BLK parameter is set to 'NO BLOCK.'
10
TIMEOUT
Exceeded time of deactivation of right contact feedback signal
The Right Contact feedback signal did not deactivate within the time defined by the TR7S parameter since a Right Limit Switch feedback signal activated.
APC_002
8.15 Operation details of the EDEVICE Algorithm
EDEVICE algorithm unexpected change of device state (trip) errors The algorithm reports unexpected change of device state (trip) in the following conditions:
During Move to Right or after the device stops on Right Limit: if a Left Limit Switch feedback signal activates or a Right Limit Switch feedback signal deactivates.
During Move to Left or after the device stops on Left Limit: if a Right Limit Switch feedback signal activates or a Left Limit Switch feedback signal deactivates.
When the device is stopped and the last issued input command was STOP command or no command was issued since the last return from Local or Tagout mode: if either of the limit switch signals changes in any way.
Reporting of a trip error is delayed by the time defined by the TRP parameter. If feedback signals returns to the expected state within this time, a trip error is not reported. A trip error is indicated by setting the UTRP bit of the PSTA status word to logic TRUE. The bit is set back to logic FALSE when the trip is acknowledged with the ACKT input. The DERR analog output is set to the numeric code of the error. The DERR analog output can be reset to zero by activating an ACKT input point. If any other error happens before the first one is acknowledged, the DERR output keeps the numeric code of the first error. When the trip error is reported, the algorithm is switched to Manual mode. If the BLK parameter is set to 'TRIP' or 'TIMEOUT,' the device is stopped and the algorithm is blocked. Unexpe cted change of device state errors CODE
TYPE
D ESCRIPTION
E XPLANATION
102
TRIP
Unexpected activation of left contact feedback signal
The Left Contact feedback signal is activated during a RIGHT Command Execution or a Move to Right Operation. The error is not reported if the feedback signals from contact relays are inconsistent; an inconsistency of feedback signals error is reported instead.
103
104
TRIP
TRIP
Unexpected activation of right contact feedback signal
The Right Contact feedback signal activated during the LEFT Command Execution or a Move to Left Operation.
Unexpected activation of stop contact feedback signal
The Stop Contact feedback signal activated (or Right or Left Contact feedback signal deactivated) during a Move to Left or a Move to Right Operation.
The error is not reported if feedback signals from contact relays are inconsistent; an inconsistency of feedback signals error is reported instead.
The error is not reported if the feedback signals from the contact relays are inconsistent; an inconsistency of feedback signals error is reported instead. 107
TRIP
Unexpected deactivation of stop contact feedback signal
The Stop Contact feedback signal deactivated (or Right or Left Contact feedback signal activated) when the device was stopped. The error is not reported if the feedback signals from the contact relays are inconsistent; an inconsistency of feedback signals error is reported instead.
APC_002
127
8.15 Operation details of the EDEVICE Algorithm
CODE
TYPE
D ESCRIPTION
E XPLANATION
108
TRIP
Unexpected activation of left limit switch feedback signal
The Left Limit Switch feedback signal is unexpectedly activated when the device was stopped or during a Move to Right. The error is not reported if the feedback signals from the contact relays are inconsistent; an inconsistency of feedback signals error is reported instead.
109
TRIP
Unexpected activation of right limit switch feedback signal
The Right Limit Switch feedback signal is unexpectedly activated when the device was stopped or during a Move to Left. The error is not reported if the feedback signals from the contact relays are inconsistent; inconsistency of feedback signals error is reported instead.
128
110
TRIP
Unexpected deactivation of left limit switch feedback signal
The Left Limit Switch feedback signal is unexpectedly deactivated when the device was stopped.
111
TRIP
Unexpected deactivation of right limit switch feedback signal
The Right Limit Switch feedback signal is unexpectedly deactivated when the device was stopped.
113
TRIP
Left excessive torque signaled
The Left Torque Switch feedback signal (connected to FBCL input) is deactivated. This error code can only be reported when the TORQ parameter is set to TORQUE or TORQUE AUTO ACK.
114
TRIP
Right excessive torque signaled
The Right Torque Switch feedback signal (connected to FBCR input) is deactivated. This error code can only be reported when the TORQ parameter is set to TORQUE or TORQUE AUTO ACK.
APC_002
8.15 Operation details of the EDEVICE Algorithm
EDEVICE algorithm incons istency of feedba ck s ignal errors Reporting of an inconsistency of feedback signals error is delayed by the time defined by the TRP parameter. If the feedback signals become consistent before this time passes, the error is not reported. The error is indicated by setting CERR and UCMP bits of the PSTA status word to logic TRUE. The CERR bit is set to logic FALSE when feedback signals become consistent. The UCMP bit is set to logic FALSE when the error is acknowledged with the ACKT input. The DERR output is set to the numeric code of the error. The DERR output is reset to zero when the error is acknowledged with an ACKT input and the feedback signals become consistent. If any other error happens before the first error is acknowledged and feedback signal become consistent, the DERR output keeps the numeric code of the first error. When the time defined by the CMPL parameter passes and the error condition is still active and the error was not acknowledged by the ACKT input, the algorithm behaves as if a trip error was reported. The UTRP bit of the PSTA status word is set to logic TRUE and the algorithm is switched to Manual mode. If the BLK parameter is set to 'TRIP' or 'TIMEOUT,' the device is stopped and the algorithm is blocked. If the error is acknowledged before the time defined by the CMPL parameter passes, the inconsistency is ignored. The DERR output is not set to zero and the CERR bit of a PSTA status word is not set to FALSE until the error condition disappears. If the feedback signals are still inconsistent after the error is acknowledged, but the code of the error is different, the DERR output is set to the code of the actual error, rather than the first error. Execution of the commands is impossible or very limited when feedback signals work faulty; (for example, if a Right Contact feedback signal is constantly active), execution of a STOP command always ends with a timeout error, because the device is not recognized as stopped if feedback signals from contacts are inconsistent. EDEVICE algorithm incons istency o f feedback sign al errors CODE
TYPE
D ESCRIPTION
E XPLANATION
100
INCONSISTENCY
Both right limit switch and left limit switch signals are active
Both limit switches are active.
101
INCONSISTENCY
Both right contact and left contact feedback signals are active
Both contact switches are active.
112
INCONSISTENCY
Both left or right contact feedback signals inconsistent with stop contact feedback signal
The Stop Contact feedback signal is connected and neither the Stop Right nor Left Contact feedback signal is active, OR The Stop Contact feedback signal is active and Right or Left Contact feedback signal is active.
APC_002
129
8.15 Operation details of the EDEVICE Algorithm
PSTA packed output Use the bits of the current digital value bits (A2) field and the 16 higher bits (bits 16-31) of the second packed status (2W) field of PSTA point to indicate status of the algorithm. Use the lower bits of the 2W field according to the Ovation Record Types Reference Manual. Current digital value bits of
PSTA output
N UMBER
NAME
D ESCRIPTION
0
LCMR
Last issued command - RIGHT
1
LCMS
Last issued command - STOP
2
LCML
Last issued command - LEFT
3
MODA
EDEVICE in Auto mode
4
MODM
EDEVICE in Manual mode
5
MODL
EDEVICE in Local mode
6
OPER
Device operational (that is, device ready, algorithm not blocked, device in manual or auto mode)
7
UTRP
Unacknowledged TRIP
8
UTMT
Unacknowledged TIMEOUT
9
CMDP
Command execution pending
10
TOVP
Test mode with permissions/emergency override
11
CERR
Feedback inputs inconsistent error
12
UCMP
Unacknowledged feedback inputs inconsistent error
13
INAR
Copy of AUTR input
14
INAS
Copy of AUTS input
15
INAL
Copy of AUTL input
Packed point s econd status bits of PSTA output
130
N UMBER
NAME
D ESCRIPTION
0-15
---
Bits set according to the Ovation Record Types Reference Manual
16
FICR
Filtered FBCR input
17
FICS
Filtered FBCS input
18
FICL
Filtered FBCL input
19
FILR
Filtered FBLR input
20
FILL
Filtered FBLL input
21
INPR
Copy of PERR input
22
INPS
Copy of PERS input
23
INPL
Copy of PERL input
APC_002
8.15 Operation details of the EDEVICE Algorithm
N UMBER
NAME
D ESCRIPTION
24
INER
Copy of EMRR input
25
INES
Copy of EMRS input
26
INEL
Copy of EMRL input
27
INDR
Copy of DRDY input
28
INNP
Copy of NPWR input
29
INTM
Copy of TMOD input
30
INA1
Copy of INP1 input
31
INA2
Copy of INP2 input
8.1 5.2 Device sto pped When the device is stopped, the algorithm does not inspect the limit switch feedback signals for the time defined by the TS2M parameter. When this time elapses, the change of state of limit switch signals is treated as trip. If an input STOP command signal, MANS, AUTS (adequate to operating mode), or EMRS is continuously active, the output STOP command signal is continuously activated even if the device is recognized as stopped. STOP command execution This subroutine is activated by issuing an input STOP command. The algorithm automatically executes this subroutine when a trip is detected or when the allowed time of operation is exceeded, if it is configured to stop the device in case of an error. During execution of this subroutine, the output STOP command signal (CMDS) is activated. Minimum required duration of the output STOP command is specified by the TS3M parameter. If any of the contact feedback signals are connected, the output STOP command signal is not deactivated until feedback signals indicate that the device is stopped. If the device does not stop within the time defined by the TS3X parameter, a timeout is reported. If this parameter has a value of 0, duration of the STOP command is not limited. If a RIGHT or LEFT command comes during execution of a STOP command and there is no unacknowledged trip or timeout error, the algorithm starts the STOP and LEFT or STOP and RIGHT operation. If a RIGHT or LEFT command comes before a STOP command takes effect and the device is reported to move in the same direction as requested by command, the STOP command is cancelled (even if time defined by TS3M did not elapse) and the incoming command is executed. If the maximum allowed time of execution of the STOP command is exceeded, the output STOP command remains active until the device stops or an error is acknowledged. Repetition of a STOP command after the command execution timeout causes a restart of the subroutine. RIGHT and LEFT commands are not executed until a command execution timeout is acknowledged.
APC_002
131
8.15 Operation details of the EDEVICE Algorithm
STOP and RIGHT operation The STOP and RIGHT operation subroutine is activated by issuing a RIGHT command during execution of a LEFT command, STOP command, STOP and LEFT operation or during Move to Left. During execution of this subroutine, an output STOP command signal (CMDS) is activated. The subroutine is executed the same way as a STOP command execution. Parameter TS5M is used instead of TS3M as a minimum required duration of an output STOP command. A maximum allowed time of execution of a command is defined by parameter TS5X instead of TS3X. When the device stops, the RIGHT command execution subroutine is initiated. The STOP and RIGHT operation is cancelled in the same way that the STOP command execution is cancelled. If contact feedback signals consistently indicate that the device is moving left and a STOP command did not take effect, activation of an input LEFT command causes deactivation of an output STOP command signal and execution of a LEFT command. If an input STOP command comes during execution of a STOP and RIGHT operation, the algorithm passes to the STOP command execution subroutine. If the input LEFT command comes during execution of a STOP and RIGHT operation, the algorithm passes to STOP and LEFT operation (unless conditions previously described are met and the operation is cancelled). If the maximum allowed time of execution of the STOP command is exceeded, the algorithm does not initiate a RIGHT command execution. STOP and LEFT Opera tio n The STOP and LEFT operation subroutine can be activated by issuing a LEFT command during execution of a RIGHT command, STOP command, STOP and RIGHT operation or during Move to Right. During execution of this subroutine, the output STOP command signal (CMDS) is activated. The subroutine is executed the same way as a STOP command execution. Parameter TS4M is used instead of TS3M as a minimum required duration of the output STOP command. Maximum allowed time of execution of the command is defined by parameter TS4X instead of TS3X. When the device stops, the LEFT command execution subroutine is initiated. The STOP and LEFT operation can be cancelled the same way as a STOP command execution. If the contact feedback signals consistently indicate that the device is moving right and the STOP command did not take effect, activation of the input RIGHT command causes deactivation of an output STOP command signal and execution of a RIGHT command. If an input STOP command comes during execution of the STOP and LEFT operation, the algorithm passes to a STOP command execution subroutine. If an input RIGHT command comes during execution of a STOP and LEFT operation, the algorithm passes to a STOP and RIGHT operation (unless conditions described above are met and operation is cancelled). If a maximum allowed time of execution of a STOP command is exceeded, the algorithm does not initiate a LEFT command execution.
132
APC_002
8.15 Operation details of the EDEVICE Algorithm
Al go ri th m block in g The algorithm is blocked after reporting a trip error if the BLK parameter is set to 'TRIP' or 'TIMEOUT.' The algorithm is blocked after reporting a timeout error if the BLK parameter is set to 'TIMEOUT.' When the algorithm is blocked, it is switched to Manual mode and the device stops. Blocked algorithm cannot be switched to Auto mode. Manual LEFT and RIGHT commands are ignored. A Manual STOP command is executed. Emergency commands are executed. The algorithm is unblocked when the error is acknowledged with the ACKT input.
8.1 5.3 LEFT comm and execu tio n The LEFT command execution subroutine is activated by issuing a LEFT command when the device stops or as a consecutive step after a STOP and LEFT operation. During execution of this subroutine, the output LEFT command signal (CMDL) activates. Output LEFT command remains active until the LEFT contact feedback signal activates and all contact feedback signals become consistent. If a feedback signal from a LEFT contact relay does not activate within the time defined by the TL8C parameter, a timeout error is reported. If the algorithm is configured to stop the device in case of a timeout error, the STOP command execution subroutine is initiated, unless the output STOP command signal is not connected or an emergency LEFT command is continuously active. When the LEFT contact feedback signal activates, an output LEFT command is deactivated and a Move to Left subroutine is initiated. If the LEFT contact feedback signal is not connected, a subroutine executes differently, the TL8C parameter defines the actual duration of an output LEFT command signal. The algorithm activates this signal, waits the amount of time defined by parameter TL8C, deactivates this signal and initiates a Move to Left subroutine.
APC_002
133
8.15 Operation details of the EDEVICE Algorithm
Move to Left operation A Move to Left operation subroutine is activated after a successful execution of a LEFT command or from the Device State Tracking subroutine, if the algorithm recognizes, based on feedback input signals, that the device is moving left. If a KCMD parameter is set to 'KEEP COMMAND,' an output LEFT command signal (CMDL) is sustained during the whole move, until a limit switch is reached or other command is issued. The algorithm expects that within the time defined by the TL9R parameter, from activating the Left Contact feedback signal or from initiating the subroutine (if it was initiated from a subroutine other than LEFT command execution), the Right Limit Switch feedback signal becomes inactive. If this limit is exceeded, a timeout error is reported. In that case, the device is not stopped unless the algorithm is configured to block the device in case of a timeout error. This condition is not checked if a Right Limit Switch signal is not connected or the TL9R parameter is set to 0. The TL9L parameter defines the maximum time of transition to a Left Limit Switch. If a Left Limit Switch feedback signal does not activate within this time, a timeout error is reported and the device stops, unless the algorithm is configured to not stop the device in case of a timeout error or an emergency LEFT command is continuously active. This condition is not checked if a Left Limit Switch signal is not connected or the TL9L parameter is set to 0. After a Left Limit Switch feedback signal activates, the device should stop and a Left Contact feedback signal should deactivate within the time defined by the TL9S parameter. If a Left Contact feedback signal does not deactivate, a timeout error is reported and the device is stopped, unless the algorithm is configured to not stop the device in case of a timeout error or an emergency LEFT command is continuously active. This condition is not checked if the TL9S parameter is set to 0. If a Left Contact feedback signal is not connected, a Device Stopped subroutine is initiated immediately after the activation of a Left Limit Switch feedback signal. When the device stops after reaching the Left Limit, execution of any input RIGHT command incoming within the time defined by the TS3M parameter is delayed until this time elapses. Issuing an input RIGHT command in a Move to Left operation initiates a STOP and RIGHT operation. If an output STOP command signal is not connected, the algorithm cannot stop the device and a timeout error is reported.
134
APC_002
8.15 Operation details of the EDEVICE Algorithm
8.1 5.4 RIG HT com mand execut ion The RIGHT command execution subroutine can be activated by issuing a RIGHT command when the device stops or as a consecutive step after a STOP and RIGHT operation. During execution of this subroutine, an output a RIGHT command signal (CMDR) is activated. An output RIGHT command remains active until a RIGHT contact feedback signal activates and all contact feedback signals become consistent. If a feedback signal from a RIGHT contact relay does not activate within the time defined by the TR6C parameter, a timeout error is reported. If the algorithm is configured to stop the device in case a timeout signal error, the STOP command execution subroutine is initiated,isunless an output STOPofcommand is not connected or an emergency RIGHT command continuously active. When the RIGHT contact feedback signal activates, an output RIGHT command is deactivated and a Move to Right subroutine is initiated. If a RIGHT contact feedback signal is not connected, a subroutine is executed differently - the TR6C parameter defines actual duration of an output RIGHT command signal. The algorithm activates this signal, waits for the amount of time defined by parameter TR6C, deactivates this signal and initiates a Move to Right subroutine.
APC_002
135
8.15 Operation details of the EDEVICE Algorithm
Move to Right operation A Move to Right operation subroutine is activated after a successful execution of a RIGHT command or from a Device State Tracking subroutine, if the algorithm recognizes, based on feedback input signals, that the device is moving right. If the KCMD parameter is set to KEEP COMMAND, an output RIGHT command signal (CMDR) is sustained during whole move - until limit switch is reached or other command issued. The algorithm expects that within a time defined by the TR7L parameter, from activating a Right Contact feedback signal or from initiating the subroutine (if it was initiated from the subroutine other than the RIGHT command execution), the Left Limit Switch feedback signal becomes inactive. If this limit is exceeded, a timeout error is reported. In that case, the device is not stopped unless the algorithm is configured to block the device in case of a timeout error. This condition is not checked if the Left Limit Switch signal is not connected or the TR7L parameter is set to 0. The TR7R parameter defines the maximum time of a transition to the Right Limit Switch. If a Right Limit Switch feedback signal does not activate within this time, a timeout error is reported and the device stops, unless the algorithm is configured to not stop the device in case of a timeout error or an emergency RIGHT command is continuously active. This condition is not checked if a Right Limit Switch signal is not connected or the TR7R parameter is set to 0. After a Right Limit Switch feedback signal activates, the device should stop and the Right Contact feedback signal should deactivate within the time defined by the TR7S parameter. If a Right Contact feedback signal does not deactivate, a timeout error is reported and the device stops, unless the algorithm is configured to not stop the device in case of a timeout error or an emergency RIGHT command is continuously active. This condition is not checked if the TR7S parameter is set to 0. If a Right Contact feedback signal is not connected, the Device Stopped subroutine is initiated immediately after activation of a Right Limit Switch feedback signal. When the device stops after reaching the Right Limit, an execution of any input LEFT command incoming within time defined by the TS4M parameter is delayed until this time elapses. Issuing an input LEFT command in a Move to Right operation initiates a STOP and LEFT operation. If an output STOP command signal is not connected, the algorithm cannot stop the device and a timeout error is reported.
136
APC_002
8.16 Accessing advanced editing for EDEVICE in the Control Builder
8. 16 Accessi ng advanced e
diti ng for EDE VI CE in the Control Bui
lder
EDEVICE does not use advanced edits and does not have any parameters that appear in the Advanced Applications Studio. For EDEVICE, all parameters are defined through the Control Builder Property Editor. See To use the Property Editor to edit advanced algorithms (see page 19) for more information. To identify parameters, hover the mouse pointer over the entries in the Property Editor. The parameter name appears as a tooltip. For information on valid parameter values, see EDEVICE algorithm definitions (see page 138). The following figure shows an example of the Property Editor for the EDEVICE algorithm.
Figure 37: EDEVICE algorithm parameters shown in Property Editor Note: No default tuning window is available for the EDEVICE algorithm in signal diagrams.
APC_002
137
8.17 EDEVICE algorithm definitions
8.1 7 ED EVI CE algor it hm defin iti ons Note: Algorithm record type = LC EDEVICE algorithm definitions
NA ME
L C AL G. REC. F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
M I N. P OINT REC.
DIAG
LU -
Data Init
Optional
120
Tuning Diagram Number
-
Tuning Constant
Required
TRIP
Selects EDEVICE behavior when an error is encountered:
-
Integer BLK
X2 - Byte
TRIP (0) - stops the device and blocks the algorithm in case of a trip. Stops the device in case of an operation timeout.
TIMEOUT (1) - stops the device and blocks the algorithm in case of any error.
NO (2) - does not stop the device and does not block the algorithm in case of any error.
STOP (3) - stops the device but does not block
EMERGENCY (4) emergency drive - never stop the device or block the algorithm in case of any error, instead repeat the last command. Always try to restore the required state.
the algorithm in case of any error.
KCMD
138
X3 - Byte
Tuning Constant
Required
IMPULS
Selects EDEVICE output type:
-
IMPULS (0) - impulse commands.
CONSTANT (1) constant commands.
TRACK_IN_LOCAL (2) constant commands, track feedback signals in local mode.
APC_002
8.17 EDEVICE algorithm definitions
NA ME
L C AL G. REC. F IELD
LLCL
X4 - Byte
SNPW
LSTO
TORQ
X5 - Byte
X6 - Byte
X7 - Byte
TYPE
Tuning Constant
Tuning Constant
Tuning Constant
Tuning Constant
R EQUIRED / O PTIONAL
D EFAULT VA L UE
Required
KEEP_ LOCAL
Required
Required
Required
DONT_ STOP
OUTPUT
CONTACTS
D ESCRIPTION
Selects EDEVICE options when local mode request disappears:
KEEP_LOCAL (0) - stay in local mode.
GO_MANUAL (1) - return to manual mode.
Stop after power failure longer than PWR.
DONT_STOP (0)
STOP (1)
Status indication (bit 0-3 of PSTA) type:
OUTPUT (0) - based on last issued command.
INTERNAL (1) - based on internal algorithm state.
FEEDBACK (2) - based on feedback signals.
Torque switch:
CONTACTS (0) - not torque switch; contact signals are connected to FBCx inputs.
TORQUE (1) - torque
M I N. P OINT REC.
-
-
-
-
switch signals are connected to FBCx inputs.
DSCL
APC_002
X8 - Byte
Tuning Constant
Required
NO
TORQUE_AUTO_ACK (2) - torque switch signals are connected to FBCx inputs; errors caused by torque switch signals are automatically acknowledged.
DISCONNECT (3) - do not use FBCx inputs.
Disconnect limit switch:
NO (0)
YES (1)
-
139
8.17 EDEVICE algorithm definitions
NA ME
L C AL G. REC. F IELD
AACK
X9 - Byte
TYPE
Tuning Constant
R EQUIRED / O PTIONAL
D EFAULT VA L UE
Required
NO
M I N. P OINT REC.
D ESCRIPTION
Alarm acknowledge:
NO (0)
ACK_BY_ALARM (1) algorithm error is automatically acknowledged when DERR point alarm is acknowledged from alarm list. ACK_BY_ACKT (2) acknowledge DERR point alarm when algorithm error is acknowledged.
BOTH (3)
TS2M
R1- Real
Tuning constant
Required
2
Time before state of limit switches is tested after the device stops. If the value is 0, change of state of limit switches will not be detected.
-
TS3M
R2 - Real
Tuning constant
Required
2
Minimum required length of STOP command.
-
TS3X
R3 - Real
Tuning constant
Required
5
Maximum allowed time between activation of STOP command output and activation of Stop Contact
-
feedback if the valuesignal. is 0. Not limited TS4M
R4 - Real
Tuning constant
Required
2
Minimum required length of stop command in transition from Move to RIGHT to Move to LEFT.
-
TS4X
R5 - Real
Tuning constant
Required
5
Maximum allowed length of stop command in transition from Move to RIGHT. Not limited if the value is 0.
-
TS5M
R6 - Real
Tuning constant
Required
2
Minimum length of stop command in transition from Move to LEFT to Move to RIGHT.
-
TS5X
R7 - Real
Tuning constant
Required
5
Maximum allowed length of STOP command in transition from Move to LEFT to Move to RIGHT.
-
Not limited if the value is 0.
140
APC_002
8.17 EDEVICE algorithm definitions
APC_002
NA ME
L C AL G. REC. F IELD
TR6C
R8- Real
Tuning constant
Required
4
Maximum allowed time between activation of RIGHT command output and activation of Right contact feedback signal.
-
TR7L
R9 - Real
Tuning constant
Required
4
Maximum allowed time between activation of Right Contact feedback signal and deactivation of Left Limit Switch feedback signal. If Right Contact feedback is not connected, maximum time between activation of RIGHT command output and deactivation of Left Limit Switch signal. Not limited if the value is 0.
-
TR7R
S1- Real
Tuning constant
Required
60
Maximum allowed time between activation of RIGHT command output and activation of Right Limit Switch feedback signal. Parameter ignored if Right Limit Switch feedback signal is not connected. Not limited if the value is 0.
-
TR7S
S2 - Real
Tuning constant
Required
4
Maximum allowed time between activation of Right Limit Switch feedback signal and deactivation of Right Contact feedback signal. Parameter ignored if one of those signals is not connected. Not limited if the value is 0.
-
TL8C
S3 - Real
Tuning constant
Required
4
Maximum allowed between activation of LEFT command output and activation of Left Contact feedback signal.
-
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
M I N. P OINT REC.
141
8.17 EDEVICE algorithm definitions
NA ME
L C AL G. REC. F IELD
TL9R
S4 - Real
TYPE
Tuning constant
R EQUIRED / O PTIONAL
D EFAULT VA L UE
Required
4
M I N. P OINT REC.
D ESCRIPTION
Maximum allowed time between activation of Left Contact feedback signal and deactivation of Right Limit Switch feedback signal. If Left Contact feedback is not connected, maximum time between
-
activation of LEFTand command output deactivation of Right Limit Switch signal. Not limited if the value is 0. TL9L
S5 - Real
Tuning constant
Required
60
Maximum allowed time between activation of Left Limit Switch feedback signal. Parameter ignored if Left Limit Switch feedback signal is not connected. Not limited if the value is 0.
-
TL9S
S6 - Real
Tuning constant
Required
4
Maximum allowed time between activation of Left Limit Switch feedback signal and deactivation of Left Contact feedback signal. Parameter ignored if one of these signals is not connected. Not limited if the
-
PWR
S7 - Real
Tuning constant
Required
3
Maximum length of interruption of MCC power to reissue command and restore device state.
-
TRP
S8 - Real
Tuning constant
Required
1
Defines amount of time that elapses before TRIP is to be reported. If feedback signals return to expected state before the time elapses, the TRIP will not be reported.
-
DBCR
S9 - Real
Tuning constant
Required
1
Rebound filtering time for Right Contact feedback signal.
-
DBCS
T1 - Real
Tuning constant
Required
1
Rebound filtering time for Stop Contact feedback
-
DBCL
T2 - Real
Tuning constant
Required
1
value is 0.
142
signal. Rebound filtering time for Left Contact feedback signal.
-
APC_002
8.17 EDEVICE algorithm definitions
NA ME
L C AL G. REC. F IELD
DBLR
T3 - Real
Tuning constant
Required
1
Rebound filtering time for Right Limit Switch feedback signal.
-
DBLL
T4 - Real
Tuning constant
Required
1
Rebound filtering time for Left Limit Switch feedback signal.
-
OVR
T5 - Real
Tuning
Required
30
Emergency and permission
-
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
constant CMPL
APC_002
T6 - Real
Tuning constant
DRDY
-
REQA
-
REQM REQL
D ESCRIPTION
M I N. P OINT REC.
override window time in MCC test mode Required
10
Delay for reporting feedback signals inconsistency as a TRIP.
-
Variable
Optional
-
Device ready input signal.
LD, LP
Variable
Optional
-
Request AUTO mode
LD, LP
-
Variable
Optional
-
Request MANUAL mode
LD, LP
-
Variable
Optional
-
Request LOCAL mode
LD, LP
REQT
-
Variable
Optional
-
Request Tagout mode
LD, LP
FBCR
-
Variable
Optional
-
Right contact feedback signal.
LD, LP
FBCS
-
Variable
Optional
-
Stop contact feedback signal.
LD, LP
FBCL
-
Variable
Optional
-
Left contact feedback
LD, LP
signal. Right limit Switch feedback signal.
LD, LP
FBLR
-
Variable
Optional
-
FBLL
-
Variable
Optional
-
Left limit Switch feedback signal.
LD, LP
PERR
-
Variable
Optional
-
Permission for RIGHT command
LD, LP
PERS
-
Variable
Optional
-
Permission for STOP command
LD, LP
PERL
-
Variable
Optional
-
Permission for LEFT command
LD, LP
MANR
-
Variable
Optional
-
RIGHT command in MANUAL mode
LD, LP
MANS
-
Variable
Optional
-
STOP command in MANUAL mode
LD, LP
MANL
-
Variable
Optional
-
LEFT command in
LD, LP
AUTR
-
Variable
Optional
-
MANUAL mode RIGHT command in AUTO mode
LD, LP
143
8.17 EDEVICE algorithm definitions
144
NA ME
L C AL G. REC. F IELD
AUTS
M I N. P OINT REC.
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
-
Variable
Optional
-
STOP command in AUTO mode
LD, LP
AUTL
-
Variable
Optional
-
LEFT command in AUTO mode
LD, LP
EMRR
-
Variable
Optional
-
RIGHT command in EMERG mode
LD, LP
EMRS
-
Variable
Optional
-
STOP command in EMERG mode
LD, LP
EMRL
-
Variable
Optional
-
LEFT command in EMERG mode
LD, LP
NPWR
-
Variable
Optional
-
Interrupt in MCC power signal
LD, LP
ACKT
-
Variable
Optional
-
TRIP or TIMEOUT acknowledge
LD, LP
TMOD
-
Variable
Optional
-
Device MCC in TEST mode
TOVR
-
Variable
Optional
-
Emergency and permissions override request in MCC Test mode.
LD, LP
INP1
-
Variable
Optional
-
Aux. INPUT 1
LD, LP
INP2
-
Variable
Optional
-
Aux. INPUT 2
LD, LP
CMDR
-
Variable
Optional
-
Output RIGHT command
LD, LP
CMDS CMDL
-
Variable Variable
Optional Optional
-
Output STOP command Output LEFT command
LD, LP LD, LP
STAT
-
Variable
Optional
-
Algorithm state numeric code.
LA
D ESCRIPTION
LD, LP
DERR
-
Variable
Optional
-
Error numeric code.
LA
PSTA
-
Variable
Optional
-
Status word
LP
APC_002
S
ECTION
9
Using Fuz zy algo rit hms
IN THIS SECTION What are the Ovation fuzzy logic algorithms?.................................................................145 What algorithm?...................................................................................... 145 What is is the the Fuzzifier Fuzzy PID (FPID) algorithm?....................................................................... 168 Fuzzy algorithm global output calculation ....................................................................... 193
9. 1
What are the Ova tio n fuzzy logi c algorit hms? The Ovation Fuzzy Logic algorithms offer a manageable, systematic approach to handling non-linear loops. These include two algorithms:
9. 2
Fuzzifier - The Fuzzifier is a general purpose fuzzy algorithm that allows you to define process regions. However, it does not embed Ovation PID algorithms. The Fuzzifier provides a maximum of 64 regions using up to three fuzzy variables.
FuzzyPID - The FuzzyPID algorithm embeds up to four standard Ovation PID algorithms. The algorithm allows the process to be segmented into four regions based on either one or two fuzzy variables.
What is the Fuzz ifi er algorit hm? Note: The Fuzzifier algorithm can only be purchased as part of an engineered solution. The Fuzzifier algorithm enables a fuzzy set of rules effective for different plant operation points. The operating range is defined by selecting the fuzzifying signals and defining the shape of the membership function. For each range you must define a rule that will be effective for this range. On the basis of the current values of fuzzifying signals, the Fuzzifier algorithm calculates the active ranges and calculates the final rule. The final output is limited to the upper and lower value defined by the user. The maximum number of fuzzifying signals is three. The maximum number of ranges is 64 for a three-dimensional case (4x4x4=64), 36 for a two-dimensional case (6x6=36) and 12 for a one-dimensional case. There are also two types of membership functions available (Trapezoid and Zadeh) and two types of defuzzification (COG and MOM). Refer to Fuzzifier output calculation (see page 357) for details.
APC_002
145
9.2 What is the Fuzzifier algorithm?
9. 2. 1 Fuzz ifier algorith m funct ional symb ol
Figure 38 : Fuzz ifier Algorith m funct ional symbo l Note: Symbols may appear differently in Solaris and Windows because optional pins can be added and deleted at will on the Windows platform. The functionality of the symbols should match.
146
APC_002
9.2 What is the Fuzzifier algorithm?
9. 2.2 Examples of using the
Fuzz ifier a lgori thm
Example : Fuzzifie r algorithm w ith a 4-Dimensional Output The Fuzzifier algorithm can be used to dynamically adapt the tuning parameters of a classic PID Controller. To do this, select an algorithm with a VECT region type. For each region, define settings for a PID Controller (stored as a four-element vector). Depending on the value of the fuzzifying variable, the algorithm calculates the current PID algorithm parameter values. The approach is presented in the following figure:
Figure 39: Example - F uzzifier wit h 4D outpu t Note: A Fuzzifier algorithm with a four-dimension output is dedicated to tuning the PID Controller. The Fuzzifier algorithm ignores the tracking input and output signals in this configuration. When the Fuzzifier algorithm is used in the vector configuration, it is functionally similar to the FuzzyPID. The difference is that the FuzzyPID aggregates the output values of each PID assigned to an active region. The Fuzzifier, when operating in vector mode, aggregates the PID tuning parameters from all active regions to form a global output vector of PID parameters. These global output values become the algorithm output and can then be presented to the tuning parameter pins on the Ovation PID.
APC_002
147
9.2 What is the Fuzzifier algorithm?
Example: Fuzzifier algorithm with Ovation PID In a two-region (POINT) Fuzzifier algorithm, the point values are calculated by external algorithms:
Figure 40: Fuzzifier with Ovation PID -- example
148
APC_002
9.2 What is the Fuzzifier algorithm?
9. 2.3 Accessi ng advanced Builder
editing for the F
uzzifier algorithm in the Control
To access the Advanced Applications Studio in the Control Builder for the Fuzzifier algorithm, refer to To use the Advanced Applications Studio to view and edit advanced algorithms (see page 20) Fuzzifier Input/O utput Configuration tab The Input/Output Configuration tab displays the Fuzzifier algorithm input and output details. This tab is informational only. You cannot edit options from this dialog box and you cannot sort the columns in this table.
Figure 41: Fuz zifier Input/O utput Configuration tab
APC_002
149
9.2 What is the Fuzzifier algorithm?
Fuzzifier General Parameters tab The General Parameters tab displays the field parameters for the Fuzzifier algorithm. You can only edit the Value column in this tab. To edit a value, double-click inside the Value cell. Enter the change and press the key on the keyboard or click inside another cell so that the change you made takes effect. Press OK to save the change.
Figure 42: Fuzzifier General Parameters tab Fuzzifier Fuzzy Paramete rs tab The Fuzzy Parameters tab contains two additional tabs:
150
Membership Function Definition tab (see page 151).
Rule Base tab (see page 152).
APC_002
9.2 What is the Fuzzifier algorithm?
Fuzzy Parameters tab -- Membership Function Definition tab The Membership Function Definition tab displays the fuzzy signal properties.
Figure 43: Fuzzy Parameters tab -- Membership Function Definition tab Membership Function tab field description
s
F IELD
D EFINITION
Signal(s)
Selects the signal to view.
Number of Membership Functions
Selects the number of membership functions for the selected signal: 2 - 12.
Membership Function Type
Selects the membership function type: Trapezoid or Zadeh.
Membership Function Parameters
Displays the membership function parameters.
Membership Function Shape
Displays a graphical representation of the set membership functions.
1.
Select the signal from the Signal(s) field.
2.
Select the number of membership functions to be included in the signal.
3.
Select the membership function type for the signal.
4.
Edit the membership function parameters.
APC_002
151
9.2 What is the Fuzzifier algorithm?
Edit the membership function parameters either through the Membership Function Parameters field or by dragging the VE nodes in the Membership Function Shape canvas.
Membership Function Parameters - Edit the region labels and values in this field. To edit, double-click in the appropriate cell. Sort the table by clicking on a heading. Click to sort in ascending order, or press the key and click to sort in descending order.
Membership Function Shape - Edit the membership function values by dragging the points on the graphical representation.
Use the Membership Function Shape graphic to view and edit the membership function parameters. The x-axis displays the range of engineering unit (EU) values covered by all ranges. The Tick field shows the scale for the EU. The regions and their vector encoding (VE) shape are color-coded for quick reference.
To edit an EU value, click on the EU axis near the VE shape label and drag the cursor to the desired value. The Tick field shows which value is being edited.
Figure 44: Fuzzifier--C hangin g EU values To view detailed values on the EU scale, click inside the scale.
Figure 45: Fuzz ifier--Viewing detailed s cale
152
APC_002
9.2 What is the Fuzzifier algorithm?
Fuzzy Pa rameters t ab -- Rule Base tab The Rule Base tab displays the rules for the regions. 1.
Select the de-fuzzification type by selecting the appropriate radio button.
Center of Gravity (see page 194)
Middle of Maxim (see page 195)
Figure 46: Fuzzifier Rule Base tab 2.
Select the Consequence value:
Constant Value
Point Name
APC_002
Vector
153
9.2 What is the Fuzzifier algorithm?
Note: When Vector is a consequence, you can click on Edit Vector in the Vector column to invoke the Edit Vector dialog box.
Figure 47: Fuzzifier - Edit Vector window 3.
Once you have edited all regions, click the OK button to save the changes and return to the Control Builder. Use the Cancel button to discard all changes and close the Advanced Application Studio.
9. 2.4 Fuzz ifier algorith m definitio ns Note: Algorithm record type = LC Fuzzifier Algorithm definitions L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
DIAG
LU - Integer
-
Required
123
Tuning diagram number
-
AUX1
-
Auxiliary
Required
-
*Regions 1 - 8
LC
AUX2
-
Auxiliary
Required
-
Auxiliary Record *Regions 9 - 16 Auxiliary Record
LC
NA ME
154
D ESCRIPTION
M I N. P OINT R ECORD
APC_002
9.2 What is the Fuzzifier algorithm?
L C AL G. R ECORD F IELD
AUX3
M I N. P OINT R ECORD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
-
Auxiliary
Required
-
*Regions 17 - 24 Auxiliary Record
LC
AUX4
-
Auxiliary
Required
-
*Regions 25 - 32 Auxiliary Record
LC
AUX5
-
Auxiliary
Required
-
*Regions 33 - 40 Auxiliary Record
LC
AUX6
-
Auxiliary
Required
-
*Regions 41 - 48
LC
NA ME
D ESCRIPTION
Auxiliary Record
APC_002
AUX7
-
Auxiliary
Required
-
*Regions 49 - 56 Auxiliary Record
LC
AUX8
-
Auxiliary
Required
-
*Regions 57 - 64 Auxiliary Record
LC
FZ1
-
Variable
Required
-
Fuzzy Input 1
LA
TOUT
-
Variable
Optional
-
Track Output Point
LA
FZ2
-
Variable
Optional
-
Fuzzy Input 2
LA
FZ3
-
Variable
Optional
-
Fuzzy Input 3
LA
PT1
-
Variable
Optional
-
Input Point 1
LA
PT2
-
Variable
Optional
-
Input Point 2
LA
PT3
-
Variable
Optional
-
Input Point 3
LA
PT4
-
Variable
Optional
-
Input Point 4
LA
PT5
-
Variable
Optional
-
Input Point 5
LA
PT6
-
Variable
Optional
-
Input Point 6
LA
PT7
-
Variable
Optional
-
Input Point 7
LA
PT8
-
Variable
Optional
-
Input Point 8
LA
PT9
-
Variable
Optional
-
Input Point 9
LA
PT10
-
Variable
Optional
-
Input Point 10
LA
PT11
-
Variable
Optional
-
Input Point 11
LA
PT12
-
Variable
Optional
-
Input Point 12
LA
PT13
-
Variable
Optional
-
Input Point 13
LA
PT14
-
Variable
Optional
-
Input Point 14
LA
PT15
-
Variable
Optional
-
Input Point 15
LA
PT16
-
Variable
Optional
-
Input Point 16
LA
PT17
-
Variable
Optional
-
Input Point 17
LA
PT18
-
Variable
Optional
-
Input Point 18
LA
PT19
-
Variable
Optional
-
Input Point 19
LA
PT20
-
Variable
Optional
-
Input Point 20
LA
PT21
-
Variable
Optional
-
Input Point 21
LA
155
9.2 What is the Fuzzifier algorithm?
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
M I N. P OINT R ECORD
PT22 PT23
-
Variable
Optional
-
Input Point 22
LA
-
Variable
Optional
-
Input Point 23
LA
PT24
-
Variable
Optional
-
Input Point 24
LA
PT25
-
Variable
Optional
-
Input Point 25
LA
PT26
-
Variable
Optional
-
Input Point 26
LA
PT27
-
Variable
Optional
-
Input Point 27
LA
PT28
-
Variable
Optional
-
Input Point 28
LA
PT29
-
Variable
Optional
-
Input Point 29
LA
PT30
-
Variable
Optional
-
Input Point 30
LA
PT31
-
Variable
Optional
-
Input Point 31
LA
PT32
-
Variable
Optional
-
Input Point 32
LA
PT33
-
Variable
Optional
-
Input Point 33
LA
PT34
-
Variable
Optional
-
Input Point 34
LA
PT35
-
Variable
Optional
-
Input Point 35
LA
PT36
-
Variable
Optional
-
Input Point 36
LA
PT37
-
Variable
Optional
-
Input Point 37
LA
PT38
-
Variable
Optional
-
Input Point 38
LA
PT39
-
Variable
Optional
-
Input Point 39
LA
PT40
-
Variable
Optional
-
Input Point 40
LA
PT41
-
Variable
Optional
-
Input Point 41
LA
PT42
-
Variable
Optional
-
Input Point 42
LA
PT43
-
Variable
Optional
-
Input Point 43
LA
PT44
-
Variable
Optional
-
Input Point 44
LA
PT45
-
Variable
Optional
-
Input Point 45
LA
PT46
-
Variable
Optional
-
Input Point 46
LA
PT47
-
Variable
Optional
-
Input Point 47
LA
PT48
-
Variable
Optional
-
Input Point 48
LA
PT49
-
Variable
Optional
-
Input Point 49
LA
PT50
-
Variable
Optional
-
Input Point 50
LA
PT51
-
Variable
Optional
-
Input Point 51
LA
PT52
-
Variable
Optional
-
Input Point 52
LA
PT53
-
Variable
Optional
-
Input Point 53
LA
PT54
-
Variable
Optional
-
Input Point 54
LA
PT55
-
Variable
Optional
-
Input Point 55
LA
PT56
-
Variable
Optional
-
Input Point 56
LA
NA ME
156
APC_002
9.2 What is the Fuzzifier algorithm?
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
M I N. P OINT R ECORD
PT57 PT58
-
Variable
Optional
-
Input Point 57
LA
-
Variable
Optional
-
Input Point 58
LA
PT59
-
Variable
Optional
-
Input Point 59
LA
PT60
-
Variable
Optional
-
Input Point 60
LA
PT61
-
Variable
Optional
-
Input Point 61
LA
PT62
-
Variable
Optional
-
Input Point 62
LA
PT63
-
Variable
Optional
-
Input Point 63
LA
PT64
-
Variable
Optional
-
Input Point 64
LA
OUT
-
Variable
Required
-
Analog Output Point - Gain if a vector input
LA
TRIN
-
Variable
Optional
-
Tracking analog input variable
LA
OUT2
-
Variable
Optional
-
Integral output if a vector input
LA
OUT3
-
Variable
Optional
-
Time Constant if a vector input
LA
OUT4
-
Variable
Optional
-
Derivative if a vector input
LA
FTYPE
X5 - Byte Bits 0 and 1
Algorithm Init
Required
FPID
TYPE of Fuzzy Control
-
NA ME
0 - FPID 1 - FF OPT
X5 - Byte Bits 2 and 3
Data Init
Required
COG
Option
-
0 - COG (Center Of Gravity) 1 - MOM (Middle Of Maxim)
SIG
B0 - Integer
Data Init
Required
0
Number of fuzzy signals
-
REG1
B1 - Integer
Data Init
Required
2
Number of regions 1st function
-
REG2
B2 - Integer
Data Init
Optional
2
Number of regions 2nd function
-
REG3
YU - Integer
Data Init
Optional
2
Number of regions 3rd function
-
FFT1
X6 - Byte Bits 0 and 1
Data Init
Required
TRAPEZOI D
Fuzzy Function Type 1st function:
-
0 - TRAPEZOID 1 - ZADEH
APC_002
157
9.2 What is the Fuzzifier algorithm?
NA ME
L C AL G. R ECORD F IELD
FFT2
X6 - Byte
M I N. P OINT R ECORD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
Data Init
Optional
TRAPEZOI D
Fuzzy Function Type 2nd Function:
Bits 2 and 3
-
0 - TRAPEZOID 1 - ZADEH FFT3
X6 - Byte
Data Init
Optional
Bits 4 and 5
TRAPEZOI D
Fuzzy Function Type 3rd Function:
-
0 - TRAPEZOID 1 - ZADEH FSO1
X7 - Byte
Internal Use
-
-
Bit is set on when the value from the first fuzzy signal is out of range.
-
Internal Use
-
-
Bit is set on when the value from the second fuzzy signal is out of range.
-
Internal Use
-
-
Bit is set on when the value from the third fuzzy signal is out of range.
-
ISOLATE - user defines the active region number. This must be changed in the Point Builder and then downloaded to the drop.
-
Bit 0
FSO2
X7 - Byte Bit 1
FSO3
X7 - Byte Bit 2
ISO1
G8 - Integer
Tuning constant
Required
0
HI1
*** B4 Integer
Tuning constant
Required
100
HI2
*** B5 -Integer
Tuning constant
Required
200
High Integral Limit if vector
-
HI3
*** B6 Integer
Tuning constant
Required
300
High Time Constant Limit if vector
-
HI4
*** B7 Integer
Tuning constant
Required
400
High derivative limit if vector
-
LO1
*** B8 Integer
Tuning constant
Required
-10
Low Limit
-
*** B9 -
Tuning
Required
Integer
constant
*** C0 Integer
Tuning constant
LO2
LO3
158
High Limit
-
High Limit on Gain if vector
Low Limit on Gain if vector -20
Low Integral Limit if
-
vector Required
-30
Low Time Constant Limit if vector
-
APC_002
9.2 What is the Fuzzifier algorithm?
L C AL G. R ECORD F IELD
TYPE
LO4
*** C1 Integer
VS1
M I N. P OINT R ECORD
R EQUIRED / O PTIONAL
D EFAULT VA L UE
Tuning constant
Required
-40
Low derivative limit if vector
-
R1 - Real
Data Init
Required
0
**Vector encoding shape of membership 1
-
VS2
R2 - Real
Data Init
Required
43
**Vector encoding shape of
-
VS3
R3 - Real
Data Init
Optional
57
VS4
R4 - Real
Data Init
Optional
100
**Vector encoding shape of membership 4
-
VS5
R5 - Real
Data Init
Optional
0
**Vector encoding shape of membership 5
-
VS6
R6 - Real
Data Init
Optional
0
**Vector encoding shape of membership 6
-
VS7
R7 - Real
Data Init
Optional
0
**Vector encoding shape of membership 7
-
VS8
R8 - Real
Data Init
Optional
0
**Vector encoding shape of membership 8
-
VS9
R9 - Real
Data Init
Optional
0
**Vector encoding shape of membership 9
-
VS10
S1 - Real
Data Init
Optional
43
**Vector encoding shape of membership 10
-
VS11
S2 - Real
Data Init
Optional
57
**Vector encoding shape of membership 11
-
VS12
S3 -Real
Data Init
Optional
100
**Vector encoding shape of membership 12
-
VS13
S4 -Real
Data Init
Optional
0
**Vector encoding shape of membership 13
-
VS14
S5 - Real
Data Init
Optional
43
**Vector encoding
-
VS15
S6 - Real
Data Init
Optional
57
NA ME
D ESCRIPTION
membership 2 **Vector encoding shape of membership 3
-
shape of membership 14
APC_002
**Vector encoding shape of membership 15
-
159
9.2 What is the Fuzzifier algorithm?
NA ME
L C AL G. R ECORD F IELD
VS16
M I N. P OINT R ECORD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
S7 - Real
Data Init
Optional
100
**Vector encoding shape of membership 16
-
VS17
S8 - Real
Data Init
Optional
0
**Vector encoding shape of membership 17
-
VS18
S9 - Real
Data Init
Optional
43
**Vector encoding shape of membership 18
-
VS19
T1 - Real
Data Init
Optional
57
**Vector encoding shape of membership 19
-
VS20
T2 - Real
Data Init
Optional
100
**Vector encoding shape of membership 20
-
VS21
T3 - Real
Data Init
Optional
0
**Vector encoding shape of membership 21
-
VS22
T4 - Real
Data Init
Optional
0
**Vector encoding shape of membership 22
-
VS23
T5 - Real
Data Init
Optional
0
**Vector encoding shape of membership 23
-
VS24
T6 -Real
Data Init
Optional
0
**Vector encoding
-
D ESCRIPTION
shape of membership 24 * FF Aux LC - Auxiliary 1 - 8 these must be initialized for each of the eight regions that are defined. ** Only when the track signal is no t present; the signals are set according to the definitions given in Setting Tracking Signals in the Ovation Algorithms Reference Manual. *** Shows an integer interpretation of a floating point value during a Reconcile Operation in the Developer Studio.
160
APC_002
9.2 What is the Fuzzifier algorithm?
9. 2.5 Fuzz ifier algorithm a uxili ary definit ions Fuzzifier Algorithm auxiliary definition
s
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
DIAG
LU-Integer
Data Init
Required
124
Tuning Diagram Number
RT1
G0 – Integer Bit 4
Data Init
Optional
Const
Region Type 1st, 9th, 17th, 25th, 33rd, 41st, 49th, and 57th region: 0 = CONST - constant in G7 1 = POINT - SID in G1 3 = VECT - constants in G7, G8, G9 and B0
CON1
G7 - Integer
Data Init
Optional
1.0
Constant if G0 = 1,
ING1
G8 - Integer
Data Init
Optional
1.2
If G0 = 3, integral
TC1
G9 - Integer
Data Init
Optional
1.4
If G0 = 3, time constant
DE1
B0 - Integer
Data Init
Optional
1.6
If G0 = 3, derivative
RT2
B1- Integer Bit 4
Data Init
Required
Const 5
Region Type 2nd, 10th, 18th, 26th, 34th, 42nd, 50th and 58th region
Gain if G0 = 3
0 = CONST - constant in B8 1 = POINT - SID in B2 3 = VECT - constants in B8, B9, C0 and C1 CON2
B8 - Integer
Data Init
Optional
2.0
Constant if B1 = 1,
ING2
B9 - Integer
Data Init
Optional
2.2
If B1 = 3, integral
TC2
C0 - Integer
Data Init
Optional
2.4
If B1 = 3, time constant
DE2
C1 - Integer
Data Init
Optional
2.6
If B1 = 3, derivative
RT3
C2 – Integer Bit 4
Data Init
Optional
Const
Region Type 3rd, 11th, 19th, 27th, 35th, 43rd, 51st, and 59th region
Gain if B1 = 3
0 = CONST - constant in YT 1 = POINT - SID in C3 3 = VECT - constants in YT, D0, YQ and D2 CON3
YT - Integer
Data Init
Optional
3.0
Constant if C2 = 1,
ING3
D0 - Integer
Data Init
Optional
3.2
If C2 = 3, integral
Gain if C2 = 3
APC_002
161
9.2 What is the Fuzzifier algorithm?
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
TC3
YQ - Integer
Data Init
Optional
3.4
If C2 = 3, time constant
DE3
D2 - Integer
Data Init
Optional
3.6
If C2 = 3, derivative
RT4
YP – Integer Bit 4
Data Init
Optional
Const
Region Type 4th, 12th, 20th, 28th, 36th, 44th, 52nd and 60th region 0 = CONST - constant in YM 1 = POINT - SID in D4 3 = VECT - constants in YM, YL, E2 and E3
CON4
YM - Integer
Data Init
Optional
4.0
Constant if YP = 1,
ING4
YL -Integer
Data Init
Optional
-4.2
If YP = 3, integral
TC4
E2 -Integer
Data Init
Optional
4.4
If YP = 3, time constant
DE4
E3 -Integer
Data Init
Optional
4.6
If YP = 3, derivative
RT5
E4 – Integer Bit 4
Data Init
Optional
Const
Region Type 5th, 13th, 21st, 29th, 37th, 45th, 53rd and 61st region
Gain if YP = 3
0 - CONST - constant in Y6 1 = POINT - SID in YC 3 = VECT - constants in Y6, XY, XW and F4 CON5
Y6 - Integer
Data Init
Optional
5.0
Constant if E4 = 1, Gain if E4 = 3
ING5
XY - Integer
Data Init
Optional
5.2
If E4 = 3, integral
TC5
XW - Integer
Data Init
Optional
5.4
If E4 = 3, time constant
DE5
F4 - Integer
Data Init
Optional
5.6
If E4 = 3, derivative
RT6
F5 – Integer Bit 4
Data Init
Optional
Const
Region Type 6th, 14th, 22nd, 30th, 38th, 46th, 54th and 62nd region 0 = CONST - constant in R3 1 = POINT - SID in F6 3 = VECT - constants in R3, R4, R5 and R6
CON6
R3 - Integer
Data Init
Optional
6.0
Constant if F5 = 1,
ING6
R4 - Integer
Data Init
Optional
6.2
If F5 = 3, integral
TC6
R5 - Integer
Data Init
Optional
6.4
If F5 = 3, time constant
DE6
R6 - Integer
Data Init
Optional
6.6
If F5 = 3, derivative
Gain if F5 = 3
162
APC_002
9.2 What is the Fuzzifier algorithm?
NA ME RT7
L C AL G. R ECORD F IELD R7 – Integer Bit 0
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
Data Init
Optional
Const
D ESCRIPTION Region Type 7th, 15th, 23rd, 31st, 39th, 47th, 55th and 63rd regions 0 = CONST - constant in S5 1 = POINT - SID in R8 3 = VECT - constants in S5, S6, S7 and S8
CON7
S5 - Integer
Data Init
Optional
7.0
Constant if R7 = 1, Gain if R7 = 3
ING7
S6 - Integer
Data Init
Optional
7.2
If R7 = 3, integral
TC7
S7 - Integer
Data Init
Optional
7.4
If R7 = 3, time constant
DE7
S8 - Integer
Data Init
Optional
7.6
If R7 = 3, derivative
RT8
S9 – Integer Bit 0
Data Init
Optional
Const
Region Type 8th, 16th, 24th, 32nd, 40th, 48th, 56th, and 64th regions 0 = CONST - constant in T7 1 = POINT - SID in T1 3 = VECT - constants in T7, T8, T9 and U1
CON8
T7 - Integer
Data Init
Optional
8.0
Constant if S9 = 1, Gain if S9 = 3
ING8 TC8
T8 - Integer T9 - Integer
Data Init Data Init
Optional Optional
8.2 8.4
If S9 = 3, integral If S9 = 3, time constant
DE8
U1 - Integer
Data Init
Optional
8.6
If S9 = 3, derivative
9. 2.6 Fuzz ifier algorithm tracking signals External tracking and limiting is done through signals passed in the upper 16 bits of the third status word of the analog track points. This algorithm takes the following action in response to information found in the third status word of the analog input signal TRIN: Fuzzifier Tracking Signals B IT
APC_002
D ESCRIPTION
A CTION
TOUT S IGNAL
16
Track
Implemented
Passed through
17
Track if lower
No action
Not used
18
Track if higher
No action
Not used
19
Lower inhibit
Implemented*
Passed through**
163
9.2 What is the Fuzzifier algorithm?
B IT
D ESCRIPTION
A CTION
TOUT S IGNAL
20
Raise inhibit
Implemented*
Passed through**
21
Conditional Track
Not used
Not used
22
Not used
No action
Not used
23
Deviation Alarm
No action
Not used
24
Local Manual mode
No action
Not used
25
Manual mode
No action
Not used
26
Auto mode
No action
Not used
27
Not Used
No action
Not used
28
Not Used
No action
Not used
29
Not Used
No action
Not used
30
Low limit reached
No action
Low limit reached
31
High limit reached
No action
High limit reached
* Only when the Track signal is not present. ** Only when the Track signal is not present; the signals are set according to the definitions given in Setting Tracking Signals in the Ovation Algorithms Reference Manual.
The High and Low limit flags, the mode, and the tracking signals from the algorithm are output to TOUT to be used for display and by upstream algorithms.
164
APC_002
9.2 What is the Fuzzifier algorithm?
9. 2.7 Accessi ng the tunin g window for the
Fuzz ifier a lgori thm in signal diagra
ms
To access advanced editing in signal diagrams, see To access the Advanced Tuning window for APC Toolkit algorithms in signal diagrams (see page 28). Fuzzifier tuning window -- Genera l Information tab The General Information tab displays the global parameters of the Fuzzifier. This includes the global PID parameters as well as the global fuzzy logic parameters and region definitions.
Figure 48: Fuzzifier Tuning window - General Information tab
APC_002
165
9.2 What is the Fuzzifier algorithm?
Fuzzifier tuning w indow -- Membership Functions
and Signals tab
The Membership Functions and Signals tab contains the actual value of membership function for each region. Note: For the Fuzzifier tuning diagram, if one fuzzy signal is attached, the tab on the window reads "Regions and Signals." If two or more fuzzy signals are attached, the tab on the window reads "Membership Functions and Signals." The following figure shows an example with the Membership Functions and Signals tab.
Figure 49 : Fuzz ifier Tuning win dow - Membership Functions
166
and Signals tab
APC_002
9.2 What is the Fuzzifier algorithm?
Click on the details button to display the Signals window. The Signals window displays a graph of the membership functions defined for the signal. The actual value of fuzzifying the signal also displays, together with an indicator on the graph (vertical grey line), which shows the regions you are currently in.
Figure 50: Fuzzifier Tuning - Signal window
APC_002
167
9.3 What is the Fuzzy PID (FPID) algorithm?
9.3
What is the Fuzzy PID (FP ID) algo rit hm? Note: The Fuzzy PID algorithm can only be purchased as part of an engineered solution. The FPID algorithm provides a non-linear fuzzy region Controller. The non-linear control action is accomplished by utilizing fuzzy logic to aggregate the outputs of multiple linear PID Controllers based on the operating point of the process. The process operating point is determined by one or two fuzzy input variables. The fuzzy variables define the process operating range and thus all possible operating points. A region refers to a local partition of the operating range that defines a particular operating point. It is assumed that at each region the process dynamics are similar. The region boundaries are described using fuzzy rules and membership functions. This algorithm supports up to four user-defined regions. Each region can have a PID Controller, an input point or a constant value. The resulting value is called the Region Output value. In the case of a PID algorithm, region output is the output of the PID algorithm. It is typical to assign a PID Controller to each region. For the purposes of this manual it is assumed that PID algorithms are assigned to each region. However, all concepts apply equally to both constant values and points. The algorithm output is the fuzzy aggregation of the individual outputs of each fuzzy region. The internal PID algorithms are a parallel PID implementation that utilizes internal tracking signals for bumpless transfer. The output value is limited via a user-defined limit. Anti-reset windup is handled internally. Refer to Fuzzy PID use guidelines (see page 358) for output calculations for the the FPID algorithm.
168
APC_002
9.3 What is the Fuzzy PID (FPID) algorithm?
9. 3.1 FP ID algorith m func tional sym bol Note: Symbols may appear differently in Solaris and Windows because optional pins can be added and deleted at will on the Windows platform. The functionality of the symbols should match. Where PID internal algorithms are the same as the Ovation PID algorithm, the symbol appears as shown in the following figure:
Figure 51: FPID functional symbol #2
APC_002
169
9.3 What is the Fuzzy PID (FPID) algorithm?
9. 3.2 Accessi ng advanced e diti ng for the Fuz zy P ID algorithm in th Builder
e Control
To access the Advanced Applications Studio in the Control Builder for the Fuzzy PID algorithm, refer to To use the Advanced Applications Studio to view and edit advanced algorithms (see page 20). FPID Input/Output Configuration tab The Input/Output Configuration tab displays the algorithm input and output details. This tab is informational only. You cannot edit the options from this dialog box, and you cannot sort the columns in this table.
Figure 52: Fuzzy PID Input/Output Configuration tab
170
APC_002
9.3 What is the Fuzzy PID (FPID) algorithm?
FPID General Parameters tab The General Parameters tab displays the field parameters for the algorithm. Only the Value column can be edited in this tab. To edit a value, double-click inside the Value cell and select from the pull-down menu. Enter the change and press the key on the keyboard or click inside another cell so that the change you made takes effect. Press OK to save the change.
Figure 53: Fuzzy PID G eneral Parameters tab Bit Value Fie ld Options B I T V A L U E F IELD
O PTIONS
Type
Normal ESG ESI
ACTN
Indirect
CASC
Normal
Direct
Cascaded
APC_002
171
9.3 What is the Fuzzy PID (FPID) algorithm?
B I T V A L U E F IELD
O PTIONS
DACT
Normal Setpoint Process
DOPT
Inner only No deadbands Both inner and outer
FPID Fuzzy Parameters tab The Fuzzy Parameters tab contains two tabs:
Membership Function Definition (see page 172).
Rule Base (see page 173).
FPID Membership Function Definition tab The Membership Function Definition tab displays the fuzzy signal properties.
Figure 54: Fuzz y PID -- Membership Functi on Definit ion t ab
172
APC_002
9.3 What is the Fuzzy PID (FPID) algorithm?
Membership Function Definition tab window field definitio F IELD
ns
D EFINITION
Signal(s)
Selects the signal to view.
Number of Membership Functions
Selects the number of membership functions for the selected signal: 2 - 4.
Membership Function Type
Selects the membership function type: Trapezoid or Zadeh.
Membership Function Parameters
Displays the membership function parameters.
Membership Function Shape
A graphical representation of the set membership function.
1.
Select the signal from the signal(s) field.
2.
Select the number of member functions to be included in the signal.
3.
Select the membership function type for the signal.
4.
Edit the membership function parameters either through the Membership Function Parameters field or by dragging VE nodes in the Membership Function Shape canvas.
Membership Function Parameters - Edit the membership function labels and values in this field. To edit, double-click in the appropriate cell. Sort the table by clicking on a heading. Click to sort in ascending order, or press the key and click to sort in descending order.
Membership Function Shape - Edit the membership function values by dragging the points on the graphical representation.
The Membership Function Shape graphic can be used to view and edit the membership function parameters. The x-axis displays the range of Engineering Unit (EU) Values covered by all ranges. The Tick field shows the scale for the EU. The regions and their Vector Encoding (VE) Shape are color-coded for quick reference.
Figure 55: Fuzzy PID Re gio n Shape To edit an EU value, click on the EU axis near the VE shape label and drag the cursor to the desired value. The Tick field shows which value is being edited. To view detailed values on the EU scale, click inside the scale.
APC_002
173
9.3 What is the Fuzzy PID (FPID) algorithm?
To use t he FPID Rule Base tab The Rule Base tab displays the rules for the regions. 1.
Select the de-fuzzification type by selecting the appropriate radio button.
Center of Gravity (see page 194)
Middle of Maxim (see page 195)
Figure 56: Fuzzy PID Rule Base tab Note: The region representation graphic appears elongated for one fuzzy signal. 2.
Select the consequence value:
Constant Value
Point Name
174
PID
APC_002
9.3 What is the Fuzzy PID (FPID) algorithm?
If PID is selected, Edit PID displays in the PID column. Double click the PID cell to launch the Region edit dialog box.
Figure 57: Fuzzy PID - Edit PID windo w 3. 4.
APC_002
Edit the PID value and select Close to return to the rule base window. Once all regions have been edited, click the OK button to save the changes and return to the Control Builder. The Cancel button discards all changes and closes the Advanced Application Studio.
175
9.3 What is the Fuzzy PID (FPID) algorithm?
9. 3.3 Fuzz yPID algorith m definiti ons Note: Algorithm record type = LC FuzzyPID algorithm definitions
176
NA ME
L C AL G. R ECORD F IELD
DIAG
LU - Integer
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
Data Init
Required
122
Tuning Diagram Number
M I N. P OINT R ECORD
-
AUX1
-
Auxiliary
Required
-
Fuzzy Auxiliary PID1
LC
AUX2
-
Auxiliary
Required
-
Fuzzy PID2
LC
AUX3
-
Auxiliary
Required
-
Fuzzy PID3
LC
AUX4
-
Auxiliary
Required
-
Fuzzy PID4
LC
FZ1
-
Variable
Required
-
Fuzzy Input 1
LA
FZ2
-
Variable
Optional
-
Fuzzy Input 2
LA
PV
-
Variable
Required
-
Process variable
LA
STPT
-
Variable
Required
-
Set Point
LA
PT1
-
Variable
Optional
-
First Input Point
LA
PT2
-
Variable
Optional
-
Second Input Point
LA
PT3
-
Variable
Optional
Third Input Point
LA LA
PT4
-
Variable
Optional
-
Fourth Input Point
TOUT
-
Variable
Required
-
Track Output Point
LA
OUT
-
Variable
Required
-
Analog Output Point
LA
TRIN
-
Variable
Optional
-
Tracking analog input variable
LA
DEVA
-
Variable
Optional
-
Error between process variable and setpoint for PID
LA
OUT1
S4
Variable
Selectable
-
Output from region 1
LA
OUT2
S5
Variable
Selectable
-
Output from region 2
LA
OUT3
S6
Variable
Selectable
-
Output from region 3
LA
OUT4
S7
Variable
Selectable
-
Output from region 4
LA
MEM1
S8
Variable
Selectable
-
Membership in region 1
LA
MEM2
S9
Variable
Selectable
-
Membership in region 2
LA
MEM3
T1
Variable
Selectable
-
Membership in region 3
MEM4
T2 - Real
Selectable
Optional
-
Membership in region 4
LA LA
APC_002
9.3 What is the Fuzzy PID (FPID) algorithm?
NA ME
FTYPE
L C AL G. R ECORD F IELD
TYPE
X5 - Byte Bits 0 and 1
X5 - Byte Bits 2 and 3
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
Algorithm Init
Required
FPID
TYPE of Fuzzy Control:
Data Init
Required
M I N. P OINT R ECORD
-
0 - FPID 1 - FF
OPT
COG
Type of PID Controller
-
0 - COG (Center Of Gravity) 1 - MOM (Middle Of Maxim)
SIG
B0 - Integer
Data Init
Required
0
Number of fuzzy signals
-
REG1
B1 - Integer
Data Init
Required
2
Number of regions 1st function
-
REG2
B2 - Integer
Data Init
Required
2
Number of regions 2nd function
-
FFT1
X6 - Byte Bits 0 and 1
Data Init
Required
TRAPEZOID
Fuzzy Function Type: 1st function
-
0 - TRAPEZOID 1 - ZADEH FFT2
X6 - Byte Bits 2 and 3
Data Init
Required
TRAPEZOID
Fuzzy Function Type: 2nd Function
-
0 - TRAPEZOID 1 - ZADEH FSO1
X7 - Byte Bit 0
Internal Use
-
-
Bit is set to 1 when the value from the first fuzzy signal is out of range.
-
FSO2
X7 - Byte Bit 1
Internal Use
-
-
Bit is set to 1 when the value from the first fuzzy signal is out of range.
-
ISO
X8 - Byte
Tuning constant
Required
0
ISOLATE - user defines the active region. Only selected Controller work in all area.
-
VS1
R1 - Real
Data Init
Required
0
Vector encoding shape of membership 1
-
VS2
R2 - Real
Data Init
Required
42
Vector encoding shape of membership 2
-
VS3
R3 - Real
Data Init
Required
57
Vector encoding shape
-
of membership 3 VS4
APC_002
R4 - Real
Data Init
Required
100
Vector encoding shape of membership 4
-
177
9.3 What is the Fuzzy PID (FPID) algorithm?
NA ME
L C AL G. R ECORD F IELD
VS5
M I N. P OINT R ECORD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
R5 - Real
Data Init
Optional
0
Vector encoding shape of membership 5
-
VS6
R6 - Real
Data Init
Optional
42
Vector encoding shape of membership 6
-
VS7
R7 - Real
Data Init
Optional
57
Vector encoding shape of membership 7
-
VS8
R8 - Real
Data Init
Optional
100
Vector encoding shape of membership 8
-
RT1
YU - Integer Bit 0
Data Init
Required
CONST
Region Type 1st Region
-
D ESCRIPTION
0 = CONST - R9 contains the constant 1 = POINT - B0 contains the point Sid 2 = PID Tuning constants in the corresponding LC record
RT2
B4 - Integer Bit 0
Data Init
Required
CONST
Region Type 2nd Region
-
0 = CONST - S1 contains the constant 1 = POINT - B1 contains the point Sid 2 = PID turning constants in the corresponding LC record
RT3
B5 - Integer Bit 0
Data Init
Optional
CONST
Region Type 3rd Region
-
0 = CONST - S2 contains the constant 1 = POINT - B2 contains the point Sid. 2 = PID turning constants in the corresponding LC record
RT4
B6 - Integer Bit 0
Data Init
Optional
CONST
Region Type 4th Region
-
0 = CONST - S3 contains the constant 1 = POINT -YU contains the point Sid 2 = PID turning constants in the corresponding LC record
178
APC_002
9.3 What is the Fuzzy PID (FPID) algorithm?
NA ME
L C AL G. R ECORD F IELD
CON1
M I N. P OINT R ECORD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
R9 - Real
Data Init
Optional
0.0
Constant value if YU = CONST
-
CON2
S1 - Real
Data Init
Optional
0.0
Constant value if B4 = CONST
-
CON3
S2 - Real
Data Init
Optional
0.0
Constant value if B5 = CONST
-
CON4
S3 - Real
Data Init
Optional
0.0
Constant value if B6 = CONST
-
SPTG
T3 - Real
Tuning constant
Required
1.0
Gain on set point. The gain on the set point should never be set to zero.
-
SPTB
T4 - Real
Tuning constant
Optional
0.0
Bias on set point
-
PVG
T5 - Real
Tuning constant
Required
1.0
Gain on process variable input. The gain on the set point should never be set to zero.
-
PVB
T6 - Real
Tuning constant
Optional
0.0
Bias on process variable input
-
TPSC
T7 - Real
Tuning constant
Required
100.0
Maximum value of the output point
-
BTSC
T8 - Real
Tuning
Required
0.0
Minimum value of the
-
constant TYPE
X9 Byte Bits 1 and 0
Data Init
D ESCRIPTION
output point Required
NORMAL
Type of PID Controller:
-
NORMAL: Regular PID control ESG: PID control with error squared on the proportional gain term ESI: PID control with error squared on the integral term
ACTN
X9 Byte Bit 2
Data Init
Required
INDIRECT
Direction Flag:
-
INDIRECT: Error = SP - PV DIRECT: Error = PV - SP
CASC
X9 Byte Bit 3
Data Init
Required
NORMAL
Controller is downstream
-
in a cascaded configuration NORMAL: Normal PID action CASCADED
APC_002
179
9.3 What is the Fuzzy PID (FPID) algorithm?
NA ME
DACT
L C AL G. R ECORD F IELD
X9 Byte Bit 4 - 5
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
Data Init
Required
NORMAL
Type of Derivative action
M I N. P OINT R ECORD
-
Normal Derivative applied to change in error Set point Derivative applied to change in set point Process Derivative applied to change in process variable
DOPT
X9 Byte Bit 6 - 7
Data Init
Required
SINGLE
0 - Single or Inner Deadband only
-
1 - No deadbands 2 - Both inner and outer deadband
9. 3.4 Fuzz yPID auxiliary a lgori thm definitions Note: If the FuzzyPID algorithm - Auxiliary 1 - 4 exists in a region, then the corresponding FuzzyPID Auxiliary LC record must exist. FuzzyPID Auxiliary Algorithm Definitions
180
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
DIAG
LU - Integer
Data Init
Required
38
Tuning Diagram Number
DBND
S3 - Real
Tuning constant
Required
0.0
PID error Deadband
ERRD
S4 - Real
Tuning constant
Required
0.0
PID error Deadband gain
PGAIN
R8 - Real
Tuning constant
Required
1.0
PID proportional gain. If the proportional gain equals zero, the proportional part will not be included in the output.
INTG
R9 - Real
Tuning constant
Required
10.0
PID integral time in seconds per repeat. If the integral time equals zero, the integral part will not be included in the output.
APC_002
9.3 What is the Fuzzy PID (FPID) algorithm?
NA ME
L C AL G. R ECORD F IELD
DGAIN
S1- Real
DRAT
S2 - Real
R EQUIRED / O PTIONAL
D EFAULT VA L UE
Tuning constant
Required
0.0
PID derivative gain. If the derivative gain equals zero, the derivative part will not be included in the output.
Tuning constant
Required
0.0
PID derivative rate decay constant in seconds.
TYPE
D ESCRIPTION
This parameter will default to half of the control task period if the value of the parameter is less than the control task period divided by 2.
APC_002
TRAT
R7- Real
Data Init
Required
2.5
Track ramp rate (units per second)
ODBND
S7 - Real
Tuning constant
Required
0.0
PID outer error Deadband
181
9.3 What is the Fuzzy PID (FPID) algorithm?
9.3 .5 Funct ion al operati on of PID
182
APC_002
9.3 What is the Fuzzy PID (FPID) algorithm?
9. 3.6 Using F PI D trackin g sign als External tracking and limiting is done through signals passed in the upper 16 bits of the third status word of the analog track points. This FuzzyPID takes the following action in response to information found in the third status word of the analog input signal TRIN: BIT
D ESCRIPTION
A CTION
TOUT S IGNAL
16
Track
Implemented
Passed through
17
Track if lower
Implemented*
Not used
18
Track if higher
Implemented*
Not used
19 20
Lower inhibit Raise inhibit
Implemented* Implemented*
Passed through** Passed through**
21
Conditional track
See Cascaded Mode and Conditional Tracking (see page 184) for a detailed description
Passed through if in the cascaded mode
22
Not used
No action
Not used
23
Deviation alarm
No action
Not used
24
Local manual mode
No action
Not used
25
Manual mode
No action
Not used
26
Auto mode
No action
Not used
27
Not used
No action
Not used
28
Not used
No action
Not used
29
Not used
No action
Not used
30
Low limit reached
No action
Set by FuzzyPID based on most active region***
31
High limit reached
No action
Set by FuzzyPID based on most active region***
* Only when the track signal is not present. **Only when the track signal is not present; the signals are set according to the definitions given in the Ovation Algorithms Reference Manual. ***The HI and LOW limit bits in TOUT are designed to be local to the algorithm in which they srcinate. They are based on the PID that is assigned to the region that is currently most active.
The high and low limit flags, the mode, and the tracking signals from the algorithm are output to TOUT to be used for display and by upstream algorithms. In the FPID algorithm, TOUT value (status) is equal to the value from the most active PID Controller.
APC_002
183
9.3 What is the Fuzzy PID (FPID) algorithm?
9. 3.7 Ca scaded mode and condi tional tracking
Figure 58 : Cascade d mod e and conditi onal tracking Conditional tracking is a scheme that allows tighter control of the process variable when the control strategy is implemented using cascaded Controllers. Essentially, the conditional tracking scheme allows the upstream Controller to have immediate influence on the final output when the error between the process variable and the set point changes direction while the downstream Controller is in a saturation condition. Conditional tracking is incorporated when the downstream Controller (Controller “B” above) operates in cascaded mode. The purpose of cascaded mode is to allow two PID algorithms to be used in a cascaded configuration where the output of one PID is the set point for another. When you need to arrange two PID Controllers in this configuration, the type parameter should be set to cascade in the downstream Controller only. It is not necessary to configure the upstream Controller in the cascaded configuration. When the downstream Controller is configured in the cascaded mode, the Controller operates as a conventional PID Controller if the Controller is not in a saturation condition. However, if the Controller output is saturated at the HI or LO limit or if the Controller receives an inhibit signal from a downstream algorithm, the behavior of the cascaded pair is as follows:
The downstream Controller (Controller “B”) asserts the conditional track signal in its output tracking point along the applicable limit or inhibit bit. The downstream Controller also calculates a track output value which, if applied as a setpoint input, yields a Controller error of zero (see Equation 1 in the previous figure).
When the upstream Controller sees the conditional track bit set, it adjusts its output as follows: If the error signal causes the Controller output to move against the inhibit signal (for example, output attempts to increase when the algorithm is receiving a raise inhibit), then the algorithm sets its output equal to the track input received from downstream.
184
APC_002
9.3 What is the Fuzzy PID (FPID) algorithm?
If the error signal causes the output to move away from the inhibit signal, the algorithm sets its output equal to the track input and begin controlling.
Without this mode, the upstream Controller would first have to move enough to zero the error on the downstream Controller before having any effect on the process. This would introduce additional dead time in the Controller response, and in the case of processes with slow dynamics (for example, temperature control), this additional dead time may be significant.
Only the PID algorithm configured in cascaded mode asserts the conditional track bit. The upstream Controller (Controller “A”) will not pass the conditional track bit in its track output.
Note: The execution order of the upper and lower PID algorithms and any algorithm in between is of principle importance. The execution order should be from the upstream Controller sequentially through each algorithm in between to the downstream Controller.
9.3 .8 Fuzzy regio ns The fuzzy membership functions are used to define the region boundaries. Since you can define up to four membership functions for the two fuzzy variables, if a single fuzzy variable is used, then you can assign up to four membership functions to this fuzzy variable. If two fuzzy variables are used, then you can assign two membership functions to each fuzzy variable. The fuzzy rules that comprise the region boundaries are implicit in the definition of the membership functions. Each fuzzy variable can have simultaneous non-zero membership values in a maximum of two membership functions per fuzzy variable. The fuzzy regions are then defined using the membership functions that are defined for the fuzzy variable(s). In the case of a single fuzzy variable, the fuzzy region space is one-dimensional and thus the region boundaries and the membership function boundaries are identical. The process operating point is determined by the membership of the fuzzy variable(s) in particular region(s). It should be noted that the fundamental concept of fuzzy logic allows membership in multiple regions simultaneously (though with different degrees of membership in each region). The FPID algorithm uses fuzzy logic to provide a mechanism to switch between multiple PID Controllers as the process moves from one region to another. Instead of switching abruptly from one PID Controller to the next, fuzzy logic provides an interpolative-like function that allows the PID outputs to transition from one PID to another. The speed of this transition is a function of the overlap of adjacent regions. Note: If the amount of fuzzy signals changes, the Advanced Editor window must be opened and applied prior to saving the sheet.
APC_002
185
9.3 What is the Fuzzy PID (FPID) algorithm?
9.3 .9 Definin g the FPID regio ns The FPID is useful in loops where the process dynamics vary significantly at different operating points. These operating points can be thought of as regions. These regions typically exhibit some amount of overlap and a well-defined boundary does not exist. The dynamics do not change abruptly between adjacent regions. The power of Fuzzy Logic is in visualizing and defining these regions as well as the transition between regions. The dynamics of a control loop can vary for multiple reasons including, variations in process gain, time constants, and dead time. These example variations can occur individually or in any combination. An example of a variation in process gain would be if at one operating point a 5% change in control effort (for example, valve position or motor speed) results in a 10% change in process variable. In another operating region, the same loop may exhibit dynamics so that the same 5% change in control effort results in a 3% change in the process variable. In most applications, this change in process dynamics is not abrupt. A result of this is that control schemes that involve binary switching between multiple control loops are, in general, difficult to develop. A binary switching scheme refers to a scheme where only one of multiple Controllers is active at any particular time. In Ovation, this would typically be accomplished using TRANSF algorithms and digital switching signals generated using signal monitors.
The previous graph shows typical fuzzy region definitions. The x-axis is the variable that is used to the regions. Thesignal signal(s) used to define the regions referred as the fuzzy signals. In define this example the fuzzy is unit load (measured in MW).are The regionstocan be defined using a maximum of two fuzzy variables for the Fuzzy PID and three fuzzy signals for the Fuzzifier algorithm. In this example, all regions are defined to be a function of a single fuzzy variable - unit load. Each region can be given a name. In this example, the region names are Low, Medium, and High. For each MW value, the corresponding y-axis coordinate is a value that refers to the degree of membership (μF) of the MW value in the various regions. This value quantifies how much a particular MW value belongs to a particular region. A membership value of 1 indicates full membership (the value belongs 100% to the region). A membership value of 0 indicates no membership at all. Any region that has a membership value greater than zero is termed to be active. For example, a MW value shown by the 'X' in the above graphic would yield partial membership in both the Low and Medium regions. The actual membership is about 0.5. This particular MW value has no membership in the High region.
186
APC_002
9.3 What is the Fuzzy PID (FPID) algorithm?
The region boundaries are tunable parameters. You have the ability to explicitly specify any of the boundary points. Thus, process knowledge and engineering judgment can be used in the design of the region boundaries. The user interface provides a graphical means for defining the region boundaries. You have the ability to manipulate the shape and boundaries of the various regions using a graphical representation similar to the previous figure. You can manually manipulate the region shapes by clicking and dragging the lines using the mouse.
9.3 .10 FPI D regio n t uni ng In most operating conditions, the output of the FuzzyPID algorithm is an aggregation of the individual PID(s) that are active. The contribution of each active PID to the global output is based on the degree of membership of the region to which that particular PID is assigned. In order to tune a particular PID, the global output should be determined solely by the particular PID to be tuned. Obviously, this is the case if the process operating point has exactly 100% membership in the region in which the PID under consideration is assigned. It is not always possible or necessary for the operating point to have exactly 100% membership in this region. Tuning is accomplished by tuning each PID separately when the process is operating inside the region that particular PID is assigned to. Ideally the process should have sole membership in that region (the process is not operating where multiple regions overlap). The “X” 's are examples of operating points where the PID associated with each region can be tuned. Note that in each instance the operating point is exclusive to a particular region.
The algorithm has a built-in mechanism to isolate an individual PID Controller. This causes the algorithm output to equal the output of the isolated PID. This also allows the control engineer to tune each Controller in the same manner that the individual PID algorithm would be tuned. The recommended method of tuning an individual PID is as follows: 1.
Move the operating point of the process so that it is as close as possible to 100% membership in the region where the PID to be tuned is assigned. Note that the actual membership value for each active region is dynamically displayed in the FPID tuning window.
2.
In the ISOLATE subsection of the tuning window, select the button that corresponds to the PID that is to be tuned.
3.
Once the tuning is complete, select the No Isolation button to allow the FuzzyPID algorithm to return to normal operation.
Refer to Accessing the tuning window for the Fuzzy PID algorithm in signal diagrams (see page 189). Also, tuning is discussed in detail in the Ovation Operator Station User Guide.
APC_002
187
9.3 What is the Fuzzy PID (FPID) algorithm?
9.3 .11 Error deadband and
deadband g ain
You can configure the FuzzyPID to use a deadband region in the Controller error signal. This deadband region is used to modify the error signal that is presented to the PID equation (separately for each Controller in region). The Controller error signal is calculated as the difference between the normalized process variable and normalized set point and is passed as the input to the local PID equation. If the local algorithm is configured to use an error deadband, the error that is presented to the PID equation is Error = Error x Error Deadband Gain. There are three deadband modes that use the error deadband gain to calculate the error that is presented to the PID equation: Single Deadband, Double Deadband, or No Deadband. Single deadband (inner only) Configure the Single Deadband mode by selecting the Single Deadband configuration and initializing the Deadband (DBND) field to a non-zero value. This parameter is defined separately for each embedded PID region. This value represents the normalized Controller error signal to be used as the deadband region. The deadband is applied bilaterally with respect to zero. For example, if the DBND field is equal to 5, then the deadband region is between -5% and +5%. If the Controller error signal is within the deadband, then the actual error that is presented to the PID equation is the product of the error signal and the error deadband gain. The Deadband Gain (ERRD) field contains the value of the error deadband gain. The valid values for this field are any real numbers between zero and one [0-1]. As an example, consider the following: DBND is 5 and ERRD is 0.5. For a normalized Controller error signal of 2%, the actual error signal that is applied to the PID equation is 2% x 0.5 = 1%. In general, for these example values of DBND and ERRD, any normalized error signal between -5% and +5% is reduced by 50% before being applied to the PID equation. Derivative action is disabled when the algorithm is operating within the deadband region. Double deadband (inner and out
er)
Configure the Double Deadband mode by selecting the Double Deadband (ODBND) configuration and initializing the ODBND field to a non-zero value. The Double Deadband mode is only to be used when a noisy signal is seen as an input to the process variable. When noise is introduced into the Process Variable signal, it can cause fluctuations in the magnitude of the signal. These swings in magnitude, in turn, cause the error calculation to change proportionally. This causes the Controller error signal to fluctuate in and out of the deadband region (DBND) defined by the user. To remedy this problem, a second outer deadband region (ODBND) can be defined by the user that should be larger than the inner deadband region (DBND). More specifically, the outer deadband should be defined as equal to, or larger than the noise seen in the signal PLUS the inner deadband region. For example, if the DBND field is equal to 5, then that deadband region will be between -5% and +5%. Once the Controller error signal reaches this inner deadband region of ±5%, a noise in the signal with a peak of ±3% could push the Controller error signal back out of the inner deadband region up to ±8% on the next scan. Therefore, the outer deadband should be set larger than ±8% to compensate for noise. If the outer deadband region is less than the defined inner deadband region, then the outer deadband region will be set equal to the inner deadband value.
188
APC_002
9.3 What is the Fuzzy PID (FPID) algorithm?
No deadband The PID has the option of being in a no deadband mode. When the No Deadband mode is selected in the template, the deadband region will not be used, regardless of what value may be present in the inner deadband or outer deadband fields. Note: When the algorithm is configured as a deadband Controller (Single or Double), transitions into and out of the inner deadband region (DBND) are smoothed internally by utilizing a hold and track operation. During this transition cycle, the Controller output is set to its previous value and the integral term is re-calculated to account for the different Controller dynamics of the new region. This effectively eliminates the abrupt change in the proportional term due to the deadband transition. Derivative action is disabled when the algorithm is operating within the deadband region.
APC_002
189
9.3 What is the Fuzzy PID (FPID) algorithm?
9. 3.12 Accessi ng th e tuning w indow for th e Fuz zy PI D a lgori thm in signal diagrams To access advanced editing in signal diagrams, see To access the Advanced Tuning window for APC Toolkit algorithms in signal diagrams (see page 28). Fuzzy PID tuning window -- General Information tab The General Information tab displays the global parameters of the Fuzzy PID. This includes the global PID parameters as well as the global fuzzy logic parameters and region definitions.
Figure 59: Fuzz y PID tuni ng d iagram - Gene ral Infor mation tab
190
APC_002
9.3 What is the Fuzzy PID (FPID) algorithm?
Fuzzy PID tuning window -- Regions and Signals tab The Regions and Signals tab displays the number of regions and PIDs that are connected to the Fuzzy PID. It also shows general information about the functions of the Fuzzy PID. Note: For the Fuzzy PID tuning diagram, if one fuzzy signal is attached, the tab on the window reads "Regions and Signals." If two or more fuzzy signals are attached, the tab on the window reads "Membership Functions and Signals." The following figure shows an example with the Regions and Signals tab.
Figure 60: Fuzz y PID tuni ng di agram - Re gio ns and Sign als tab
APC_002
191
9.3 What is the Fuzzy PID (FPID) algorithm?
Click on the details button to display the Signals window. The Signals window displays a graph of the membership functions defined for the signal. The actual value of fuzzifying the signal also displays, together with an indicator on the graph (vertical grey line), which shows the regions you are currently in.
Figure 61: Fuzzy PI D - Sign al Details wind ow
192
APC_002
9.4 Fuzzy algorithm global output calculation
Click on the Edit PID button to display an auxiliary PID tuning window. Once a PID is isolated, this window is used to adjust the parameters.
Figure 62: Fuzz y PID - Auxili ary PID tuni ng wi ndo w
9. 4
Fuz zy algorit hm glob al outp ut calculatio
n
The final output of the Fuzzy algorithms is called the global output. The global output is calculated as an aggregation of the outputs of all active regions. The amount that each active region contributes is a function of the membership value of the Controller in its assigned region. Defuzzification is the operation of calculating the global output. There are many methods of defuzzification that have been devised. Each method differs in the mathematical details. The Ovation Fuzzy logic algorithms support two methods. These supported methods are the Center Of Gravity (COG) and the Middle Of Maximum (MOM).
APC_002
193
9.4 Fuzzy algorithm global output calculation
9. 4.1 Ce nter of gravity
defuzzification
The center of gravity (COG) defuzzification method is essentially a weighted average of all the contributing PID Controllers (that is, PID Controller outputs from each active region). This weighted average provides a smooth interpolative Controller output as the process transitions between regions.
where: = the number of regions = The membership of the i(th) region = Output of the i-th local algorithm (CONST VALUE, or POINT from the system)
For example (three PIDs in one FuzzyPID algorithm): Consider the region definitions. Suppose the process is operating at a point where the active regions are Low and Medium where the Low membership value is 0.25 and the Medium membership value is 0.75. The PID assigned to the Low region is calculating an output of 25% and the PID assigned to the Medium region is calculating an output of 30%. The global output is calculated as follows:
As stated previously, individual PID outputs are 25% and 30%. However, once these PID outputs are aggregated together using fuzzy logic, the global output is calculated to be 28.3%. This is the output from the FuzzyPID algorithm.
194
APC_002
9.4 Fuzzy algorithm global output calculation
9. 4.2 Middle of maximum defuzz
ific ation
The middle of maximum (MOM) defuzzification method yields a more aggressive transition between regions as compared to the COG defuzzification method. The global output is equal to the output of the PID which is assigned to the most active region (that is, the region with the largest membership value). If all membership values are equal, the global output is calculated as follows:
where: = the number of regions with equal membership value (only regions with equal membership value are included in summation.) = The membership of the i(th) region
= Output value of the i(th) region
Using the example from above, if the medium region membership value is 0.75 and the low region membership value is 0.25 then the global output would be equal to the PID assigned to the medium region. The global output would continue to be equal to the output of the medium region PID as long as the medium region has the largest membership value of any active region. Continuing with the above example, if the membership value of both regions is equal to 0.5, and the PID outputs are 25% and 30% respectively, then the global output is calculated as follows.
APC_002
195
9.4 Fuzzy algorithm global output calculation
There is an additional modification made to the mathematics of each PID assigned to the FPID algorithm. After the global output is calculated, an adjustment is made to the integral term in every PID. The integral term is adjusted so that the sum of the proportional, integral and derivative terms equals the global output. This adjusts each PID algorithm so that mathematically it appears as though each algorithm actually calculated the global output. In the next loop time, each PID calculates a new output by starting from the current global output. This provides a smooth, interpolative global output as the process operating point migrates between regions. It also ensures that the individual PID(s) do not windup (since they all have different tuning parameters). As a result of this step, the FPID algorithm provides a truly non-linear PID function as opposed to just a simple weighted average aggregation of the outputs of multiple PID algorithms. This mathematical step also ensures that if the process operating point moves into a region that now includes a particular PID that was previously not contributing to the output, that PID will start from the current global output. Again this enforces the smooth, interpolative properties of the FuzzyPID.
196
APC_002
S
ECTION
10
Using t he Neura l Netwo rk Mult i-La yer Pe rceptr on (NNMLP) general mod el alg or it hm
IN THIS SECTION What is the Neural Network Multi-Layer Perceptron (NNMLP) algorithm?.....................198 NNMLP algorithm functional symbol ............................................................................... 199 NNMLP algorithm functionality details ............................................................................ 200 Accessing advanced editing for the NNMLP algorithm in the Control Builder ................202 NNMLP algorithm tracking signals .................................................................................. 207 NNMLP algorithm input/output pins ................................................................................ 208 NNMLP main algorithm definitions.................................................................................. 208 Accessing the tuning window for the NNMLP algorithm in signal diagrams ...................217
APC_002
197
10.1 What is the Neural Network Multi-Layer Perceptron (NNMLP) algorithm?
10. 1 What is the algorithm?
Neural N etwor k Multi -Layer P ercept ron (NNM LP)
Note: The Neural Network Multi-Layer Percepatator algorithm can only be purchased as part of an engineered solution. Neural networks can be used to model or control processes. You can build the model through the Ovation Modeler by providing it with process input and output data. Once the model is developed, it can be exported from the Ovation Modeler and imported to the Controller through the Control Builder--then the model can be used as an estimator or a predictor based on the real-time process input data. For instance, neural network models can be used to perform the following:
Predict equipment malfunction. Calculate boiler heat section absorption to determine sootblowing requirements. Function as a soft-sensor to estimate data not normally directly measured in real-time (for instance, loss on ignition).
The neural network in this algorithm is a multilayer perceptron with a maximum of two hidden layers. The network supports a maximum of 25 inputs and 3 outputs. Additionally, the network supports up to 50 neurons in the first hidden layer and a maximum of 10 neurons in the second hidden layer. All neurons in the hidden layers implement a hyperbolic tangent activation function and all neurons in the output layer implement a linear activation function. All of the outputs of the algorithm implement user-defined limits. High and low limits are supported as well as a rate of change limit. The algorithm supports delays defined as delays in presenting inputs to the neural network. The delay is always an integer multiple of the loop time. The algorithm sets quality for the outputs according to the quality setting mode parameter in byte field (X6). If the X6 field is set to zero (0), the quality of the outputs is always GOOD. If the X6 field is set to one (1) the quality of the outputs is set to worst quality of all the inputs. Input with quality BAD is not considered in the calculation. The algorithm holds the value for that input to the last good value and reports this by setting bit 2 of STATUS to one (1). Note: The values of the analog inputs to the algorithm are checked for invalid real numbers. If the value of an input is invalid, that input is considered to have BAD quality. The algorithm implements tracking for each output. When the track request is present (the 3W_TRACK bit is set) the algorithm sets the value of the corresponding output to the value of the track input. When the track request is removed the algorithm resumes the normal calculation of that input according to the track rate limit bit in byte fiel d (X6) for that particular output. If any of track rate limit bits in X6 field is set to zero (0), the corresponding outputs immediately move to the new calculated value in a single loop time. If any of the bits in the X6 field is set to one (1), the movement of the corresponding outputs is limited by the rate of change limit.
198
APC_002
10.2 NNMLP algorithm functional symbol
10 .2 NN MLP algorit hm func tion al symb ol
Figure 63 : Neura l Network algorithm fun ctional symbo l
APC_002
199
10.3 NNMLP algorithm functionality details
10 .3 NN MLP algorit hm functio
nality deta
ils
The algorithm stores values and qualities of intermediate input samples to realize delays in presenting inputs to the neural network. Total sum of delays (number of stored input samples) is limited to 750 and none of the delay values can exceed 80. The algorithm stores the value and quality of the last sample with non BAD quality for each input. These values are used in case the quality of the common input sample is BAD. The algorithm uses the STATUS output to indicate status of the algorithm: Bit 0 – model was loaded. Bit 1 – neural network structure is valid (inconsistent with loaded model.) Bit 2 – one or more algorithm input has BAD quality. During algorithm initialization required elements in the buffer for intermediate input samples are set to the common value and quality of connected inputs. The algorithm uses STATE output to indicate that all required elements in buffer for intermediate input samples are updated after initialization. To work properly, the algorithm requires that you import a model of the neural network from an XML file. Import and export is done through the Control Builder user interface. The following diagram is of one layer (hidden or output) of a neural network:
200
APC_002
10.3 NNMLP algorithm functionality details
Figure 64: Neural Network diagram
APC_002
201
10.4 Accessing advanced editing for the NNMLP algorithm in the Control Builder
The output value of each neuron is defined as:
10 .4 Accessi ng advanced Control Builder
editing fo
r the N NM LP a lgor ithm i n the
The NNMLP algorithm is configured using the Ovation Control Builder. To access the Advanced Applications Studio for the NNMLP algorithm, refer to To use the Advanced Applications Studio to view and edit advanced algorithms (see page 20). It is possible to enter individual values for each model parameter (weights and biases) through the user interface. However, due to the complexity of the model, typically, your Emerson project engineer will implement these models. For more information, contact your Emerson project engineer.
202
APC_002
10.4 Accessing advanced editing for the NNMLP algorithm in the Control Builder
10.4 .1 NN MLP algorithm
Input/Output
Configur ation tab
The Input/Output Configuration tab is used to view/edit values for the input/output to the algorithm. CAUTION! It is best to avoid changing neural network values through the NNMLP user interface. If values need to be adjusted, contact your Emerson project engineer.
Figure 65: NN MLP algorith m - Input/O utput Configuration tab
APC_002
203
10.4 Accessing advanced editing for the NNMLP algorithm in the Control Builder
NNMLP algorithm input/output values E LEMENT
D ESCRIPTION
INPUTS section Inputs number
Used to display number of connected inputs NIN (byte field X1). This control should be read-only.
INx delay
Used to display delay of corresponding input DELx (fields G0-C4). All these controls should be read-only. Only first NIN edit boxes should be enabled; the rest of the edit boxes should be disabled (grayed). Note: Input signals can be connected only to consecutive input pins; otherwise, invalid configuration is reported.
OUTPUTS section Outputs number
Used to display number of connected outputs NOUT (byte field X4). This control should be read-only.
OUTx high limit
Used to edit high limit TPSCx for corresponding output. Buttons on the right side of control (depending on value of ISTPx) determine whether high limit is active or not. Note: High limit can be defined either by the parameter or by the signal. If a signal is connected, the edit box is used to display only the name of the signal (in example “201-00001-TPSC1”). SID of the connected signal is stored in the TPxS field.
OUTx low limit
Used to edit low limit BTSCx for corresponding output. Buttons on the right side of control (depending on value of ISBTx) determine whether low limit is active or not. Note: Low limit can be defined either by the parameter or by the signal. If a signal is connected edit box is used to display only the name of the signal (in example “201-00002-BTSC1”). SID of the connected signal is stored in the BTxS field.
OUTx change of rate
Used to edit change of rate limit CRSCx for corresponding output. Buttons on the right side of control (depending on value of ISCRx) determine whether change of rate limit is active or not. Note: Change of rate limit can be defined either by the parameter or by the signal. If a signal is connected, the edit box is used to display only the name of the signal (in example “201-00003-CRSC1”). SID of the connected signal is stored in the CRxS field.
OUTx track rate limit
Buttons OUTx track rate limit (depending on value of TRKLx) determine whether track rate limit is active or not. Only first NOUT output sections should be enabled; the rest should be disabled (grayed). Note: Output signals can be connected only to consecutive output pins; otherwise, invalid configuration is reported.
204
APC_002
10.4 Accessing advanced editing for the NNMLP algorithm in the Control Builder
E LEMENT
D ESCRIPTION
LAYERS section Layers number
Used to display the number of neural network layers. This control should be read-only. Number of neural network layers is defined a s following:
if( X2 > 0 ) { if( X3 > 0 ) num_layers = 3; else num_layers = 2; } else num_layers = 1; st
1st hidden layer size
Used to display size of 1 should be read-only.
1st hidden layer function
Used to display activation function for 1 hidden layer. Currently only hyperbolic tangent function “tanh” is available. This control should be read-only.
2nd hidden layer size
Used to display size of 2 should be read-only.
2nd hidden layer function
hidden layer NNHL1 (byte field X2). This control
st
nd
hidden layer NNHL2 (byte field X3). This control nd
Used to display activation 2 hidden Forshould now only hyperbolic tangent functionfunction “tanh” isfor available. Thislayer. control be read-only. Output layer size
Used to display size of output layer NOUT (byte field X4). This control should be read-only.
Output layer function
Used to display activation function for output layer. For now only linear function “linear” is available. This control should be read-only.
CONFIGURATION section
APC_002
Is model imported
Used to report if model of neural network is imported (byte field X5 bit 0). This control should be read-only.
Is model valid
Used to report if model of neural network is valid (byte field X5 bit 1). This control should be read-only.
205
10.4 Accessing advanced editing for the NNMLP algorithm in the Control Builder
10. 4.2 NNMLP algor ith m Neural Netwo
rk tab
The Neural Network tab is used to import models and view the algorithm parameters.
Figure 66: NN MLP algo rith m - Neural Network tab
206
APC_002
10.5 NNMLP algorithm tracking signals
10.4 .3 NNM LP algorit hm Structu re of Ne urons tab The NNMLP algorithm is used to view the parameters of the algorithm's hidden layers and the output layer.
Figure 67: NNMLP algorithm - Structure of Neurons tab
10 .5 NN MLP algorit hm tracking signals External tracking and limiting are done through signals passed in the upper 16 bits of the third status word of the analog track points. This algorithm takes the following action in response to information found in the third status word of the analog input signal TRIN: Ac ti on s t aken by NNMLP alg or it hm
APC_002
BIT
D ESCRIPTION
A CTION
TOUT S IGNAL
16
Track
Implemented
Not used
17
Track if lower
No action
Not used
18
Track if higher
No action
Not used
19
Lower inhibit
Implemented*
Not used
207
10.6 NNMLP algorithm input/output pins
BIT
D ESCRIPTION
A CTION
TOUT S IGNAL
20
Raise inhibit
Implemented*
Not used
21
Conditional Track
No action
Not used
22
Not used
No action
Not used
23
Deviation Alarm
No action
Not used
24
Local Manual mode
No action
Not used
25
Manual mode
No action
Not used
26
Auto mode
No action
Not used
27 28
Not used Not used
No action No action
Not used Not used
29
Not used
No action
Not used
30
Low limit reached
No action
Not used
31
High limit reached
No action
Not used
* Only when the Track signal is not present.
10 .6 NN MLP algorit hm inpu t/outpu t pins IN1 - IN25 = inputs OUT1 - OUT3 = outputs TPSC1 - TPSC3 = high limits for outputs BTSC1 - BTSC3 = low limits for outputs CRSC1 - CRSC3 = change rate limits for outputs TRIN1 - TRIN3 = tracking signals for outputs STATE = state of buffer for delays realization STATUS = status of the algorithm
208
APC_002
10.7 NNMLP main algorithm definitions
10 .7 NN MLP main a lgor ithm definit
ions
Note: Algorithm record type = LC NNMLP ma in algorith m definition s
APC_002
NA ME
A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
DIAG
LU
Data Init.
Required
156
AUX1
LC
-
Required
AUX2
LC
-
Required
AUX3
LC
-
AUX4
LC
AUX5
D EFAULT VA L UE
D ESCRIPTION
M I N. P OINT REC.
Tuning Diagram Number
-
-
Auxiliary LC record
-
-
Auxiliary LC record
-
Required
-
Auxiliary LC record
-
-
Required
-
Auxiliary LC record
-
LC
-
Required
-
Auxiliary LC record
-
AUX6
LC
-
Required
-
Auxiliary LC record
-
AUX7
LC
-
Required
-
Auxiliary LC record
-
AUX8
LC
-
Required
-
Auxiliary LC record
-
AUX9
LC
-
Required
-
Auxiliary LC record
-
AUX10
LC
-
Required
-
Auxiliary LC record
-
AUX11
LC
-
Required
-
Auxiliary LC record
-
AUX12
LC
-
Required
-
Auxiliary LC record
-
AUX13 AUX14
LC LC
-
Required Required
-
Auxiliary LC record Auxiliary LC record
-
AUX15
LC
-
Required
-
Auxiliary LC record
-
AUX16
LC
-
Required
-
Auxiliary LC record
-
AUX17
LC
-
Required
-
Auxiliary LC record
-
AUX18
LC
-
Required
-
Auxiliary LC record
-
AUX19
LC
-
Required
-
Auxiliary LC record
-
AUX20
LC
-
Required
-
Auxiliary LC record
-
AUX21
LC
-
Required
-
Auxiliary LC record
-
NIN
X1 – Byte
Data Init.
Required
0
Number of inputs
-
NNHL1
X2 – Byte
Data Init.
Required
0
Number of neurons in first hidden layer
-
NNHL2
X3 – Byte
Data Init.
Required
0
Number of neurons in second hidden layer
-
NOUT
X4 – Byte
Data Init.
Required
0
Number of outputs
-
209
10.7 NNMLP main algorithm definitions
NA ME ISIMP
A L G. R ECORD F IELD X5 – Byte Bit 0
TYPE
R EQUIRED / O PTIONAL
Data Init.
Required
D EFAULT VA L UE 0
D ESCRIPTION Is neural network imported
M I N. P OINT REC. -
0 – no 1 – yes ISVLD
X5 – Byte Bit 1
Data Init.
Required
0
Is neural network valid
-
0 – no 1 – yes QUAL
TRKL1
X6 – Byte Bit 0
Data Init.
X7 – Byte Bit 0
Tuning Constant
Required
0
Quality setting mode
-
0 – worst of all inputs 1 – always GOOD Required
0
Track rate limit for OUT1
-
0 – not limited 1 – limited to change rate limit TRKL2
X7 – Byte Bit 1
Tuning Constant
Optional
0
Track rate limit for OUT2
-
0 – not limited 1 – limited to change rate limit TRKL3
X7 – Byte Bit 2
Tuning Constant
Optional
0
Track rate limit for OUT3
-
0 – not limited 1 – limited rate limit to change ISTP1
ISTP2
ISTP3
ISBT1
ISBT2
ISBT3
210
Y0 – Byte Bit 0
Tuning Constant
Required
Y0 – Byte Bit 1
Tuning Constant
Optional
Y0 – Byte Bit 2
Tuning Constant
Optional
Y1 – Byte Bit 0
Tuning Constant
Required
Y1 – Byte Bit 1
Tuning Constant
Optional
Y1 – Byte Bit 2
Tuning Constant
Optional
0
Is TPSC1 limit active
-
0 – not active 1 – active 0
Is TPSC2 limit active
-
0 – not active 1 – active 0
Is TPSC3 limit active
-
0 – not active 1 – active 0
Is BTSC1 limit active
-
0 – not active 1 – active 0
Is BTSC2 limit active
-
0 – not active 1 – active 0
Is BTSC3 limit active
-
0 – not active 1 – active
APC_002
10.7 NNMLP main algorithm definitions
A L G. R ECORD F IELD
TYPE
Y2 – Byte Bit 0
Tuning Constant
Required
Y2 – Byte Bit 1
Tuning Constant
Optional
Y2 – Byte
Tuning
Optional
Bit 2
Constant
STTP
Y3 - Byte
Data Init.
Required
0
Status of high limits for OUT 1-3
-
STBT
Y4 - Byte
Data Init.
Required
0
Status of low limits for OUT 1-3
-
STCR
Y5 – Byte
Data Init.
Required
0
Status of change rate limits for OUT 1-3
-
DEL01
G0 – Integer
Tuning Constant
Required
0
Delay of input 01
-
DEL02
G1 – Integer
Tuning Constant
Required
0
Delay of input 02
-
DEL03
G2 – Integer
Tuning Constant
Required
0
Delay of input 03
-
DEL04
G3 – Integer
Tuning Constant
Required
0
Delay of input 04
-
DEL05
G4 – Integer
Tuning Constant
Required
0
Delay of input 05
-
DEL06
G5 – Integer
Tuning Constant
Required
0
Delay of input 06
-
DEL07
G6 – Integer
Tuning Constant
Required
0
Delay of input 07
-
DEL08
G7 – Integer
Tuning Constant
Required
0
Delay of input 08
-
DEL09
G8 – Integer
Tuning Constant
Required
0
Delay of input 09
-
DEL10
G9 – Integer
Tuning Constant
Required
0
Delay of input 10
-
DEL11
B0 – Integer
Tuning Constant
Required
0
Delay of input 11
-
DEL12
B1 – Integer
Tuning Constant
Required
0
Delay of input 12
-
DEL13
B2 – Integer
Tuning Constant
Required
0
Delay of input 13
-
DEL14
YU – Integer
Tuning Constant
Required
0
Delay of input 14
-
NA ME ISCR1
ISCR2
ISCR3
APC_002
R EQUIRED / O PTIONAL
D EFAULT VA L UE 0
D ESCRIPTION Is CRSC1 limit active
M I N. P OINT REC. -
0 – not active 1 – active 0
Is CRSC2 limit active
-
0 – not active 1 – active 0
Is CRSC3 limit active
-
0 – not active 1 – active
211
10.7 NNMLP main algorithm definitions
A L G. R ECORD F IELD
TYPE
DEL15
B4 – Integer
Tuning Constant
Required
0
Delay of input 15
-
DEL16
B5 – Integer
Tuning Constant
Required
0
Delay of input 16
-
DEL17
B5 – Integer
Tuning Constant
Required
0
Delay of input 17
-
DEL18
B7 – Integer
Tuning Constant
Required
0
Delay of input 18
-
DEL19
B8 – Integer
Tuning Constant
Required
0
Delay of input 19
-
DEL20
B9 – Integer
Tuning Constant
Required
0
Delay of input 20
-
DEL21
C0 – Integer
Tuning Constant
Required
0
Delay of input 21
-
DEL22
C1 – Integer
Tuning Constant
Required
0
Delay of input 22
-
DEL23
C2 – Integer
Tuning Constant
Required
0
Delay of input 23
-
DEL24
C3 – Integer
Tuning Constant
Required
0
Delay of input 24
-
DEL25
C4 – Integer
Tuning Constant
Required
0
Delay of input 25
-
TP1S
C5 – Integer
Data Init.
Required
0
SID of TPSC1
-
BT1S
C6 – Integer
Data Init.
Required
0
SID of BTSC1
-
CR1S
C7 – Integer
Data Init.
Required
0
SID of CRSC1
-
TP2S
C8 – Integer
Data Init.
Required
0
SID of TPSC2
-
BT2S
YT – Integer
Data Init.
Required
0
SID of BTSC2
-
CR2S
D0 – Integer
Data Init.
Required
0
SID of CRSC2
-
TP3S
YQ – Integer
Data Init.
Required
0
SID of TPSC3
-
BT3S
D2 – Integer
Data Init.
Required
0
SID of BTSC3
-
CR3S
YP – Integer
Data Init.
Required
0
SID of CRSC3
-
IN1
-
Variable
Required
-
Input 1 (analog)
LA
IN2
-
Variable
Optional
-
Input 2 (analog)
LA
IN3
-
Variable
Optional
-
Input 3 (analog)
LA
NA ME
212
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
M I N. P OINT REC.
APC_002
10.7 NNMLP main algorithm definitions
APC_002
NA ME
A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
IN4
-
Variable
Optional
-
Input 4 (analog)
LA
IN5
-
Variable
Optional
-
Input 5 (analog)
LA
IN6
-
Variable
Optional
-
Input 6 (analog)
LA
IN7
-
Variable
Optional
-
Input 7 (analog)
LA
IN8
-
Variable
Optional
-
Input 8 (analog)
LA
IN9
-
Variable
Optional
-
Input 9 (analog)
LA
IN10
-
Variable
Optional
-
Input 10 (analog)
LA
IN11
-
Variable
Optional
-
Input 11 (analog)
LA
IN12
-
Variable
Optional
-
Input 12 (analog)
LA
IN13
-
Variable
Optional
-
Input 13 (analog)
LA
IN14
-
Variable
Optional
-
Input 14 (analog)
LA
IN15
-
Variable
Optional
-
Input 15 (analog)
LA
IN16
-
Variable
Optional
-
Input 16 (analog)
LA
IN17
-
Variable
Optional
-
Input 17 (analog)
LA
IN18
-
Variable
Optional
-
Input 18 (analog)
LA
IN19
-
Variable
Optional
-
Input 19 (analog)
LA
IN20
-
Variable
Optional
-
Input 20 (analog)
LA
IN21
-
Variable
Optional
-
Input 21 (analog)
LA
IN22
-
Variable
Optional
-
Input 22 (analog)
LA
IN23
-
Variable
Optional
-
Input 23 (analog)
LA
IN24
-
Variable
Optional
-
Input 24 (analog)
LA
IN25
-
Variable
Optional
-
Input 25 (analog)
LA
OUT1
-
Variable
Required
-
Output 1 (analog)
LA
OUT2
-
Variable
Optional
-
Output 2 (analog)
LA
OUT3
-
Variable
Optional
-
Output 3 (analog)
LA
TRIN1
-
Variable
Optional
-
Track input 1
LA
TRIN2
-
Variable
Optional
-
Track input 2
LA
TRIN3
-
Variable
Optional
-
Track input 3
LA
TPSC1
R1 – Real
Selectable
Required
100.0
High limit for OUT1 (analog)
LA
BTSC1
R2 – Real
Selectable
Required
0.0
Low limit for OUT1 (analog)
LA
CRSC1
R3 – Real
Selectable
Required
1.0
Rate of Change limit for OUT1 (analog)
LA
TPSC2
R4 – Real
Selectable
Optional
100.0
High limit for OUT2 (analog)
LA
D EFAULT VA L UE
D ESCRIPTION
M I N. P OINT REC.
213
10.7 NNMLP main algorithm definitions
NA ME
A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
BTSC2
R5 – Real
Selectable
Optional
0.0
Low limit for OUT2 (analog)
LA
CRSC2
R6 – Real
Selectable
Optional
1.0
Rate of Change limit for OUT2 (analog)
LA
TPSC3
R7 – Real
Selectable
Optional
100.0
High limit for OUT3 (analog)
LA
BTSC3
R8 – Real
Selectable
Optional
0.0
Low limit for OUT3 (analog)
LA
CRSC3
R9 – Real
Selectable
Optional
1.0
Rate of Change limit for OUT3 (analog)
LA
STATE
-
Variable
Optional
-
Buffer State
LD
STAT
-
Variable
Optional
-
Algorithm status
LP
D EFAULT VA L UE
M I N. P OINT REC.
D ESCRIPTION
Auxiliary LC records from 1 to 21 are similar. The only difference is that consequent LC records contain consequent weights of the neural network. In auxiliary LC record 21 only the first 43 integer fields are used.
10. 7.1 NNMLP auxil iary defi nit ion s Note: Algorithm record type = LC NNMLP auxiliary definitions 1 – 21 L C AL G.
214
M I N.
NA ME
ECORD R F IELD
TYPE
EQUIRED R O PTIONAL /
EFAULT D V A L UE
OINT P R ECORD
DIAG
LU
Data Init.
Optional
0
Tuning Diagram Number
-
W01
G0 – Real
Data Init.
Required
0.0
NN weight 01
-
W02
G1 – Real
Data Init.
Required
0.0
NN weight 02
-
W03
G2 – Real
Data Init.
Required
0.0
NN weight 03
-
W04
G3 – Real
Data Init.
Required
0.0
NN weight 04
-
W05
G4 – Real
Data Init.
Required
0.0
NN weight 05
-
W06
G5 – Real
Data Init.
Required
0.0
NN weight 06
-
W07
G6 – Real
Data Init.
Required
0.0
NN weight 07
-
W08
G7 – Real
Data Init.
Required
0.0
NN weight 08
-
W09
G8 – Real
Data Init.
Required
0.0
NN weight 09
-
W10
G9 – Real
Data Init.
Required
0.0
NN weight 10
-
W11
B0 – Real
Data Init.
Required
0.0
NN weight 11
-
W12
B1 – Real
Data Init.
Required
0.0
NN weight 12
-
W13
B2 – Real
Data Init.
Required
0.0
NN weight 13
-
D ESCRIPTION
APC_002
10.7 NNMLP main algorithm definitions
APC_002
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
W14
YU – Real
Data Init.
W15
B4 – Real
W16
M I N. P OINT R ECORD
D EFAULT V A L UE
D ESCRIPTION
Required
0.0
NN weight 14
-
Data Init.
Required
0.0
NN weight 15
-
B5 – Real
Data Init.
Required
0.0
NN weight 16
-
W17
B5 – Real
Data Init.
Required
0.0
NN weight 17
-
W18
B7 – Real
Data Init.
Required
0.0
NN weight 18
-
W19
B8 – Real
Data Init.
Required
0.0
NN weight 19
-
W20
B9 – Real
Data Init.
Required
0.0
NN weight 20
-
W21
C0 – Real
Data Init.
Required
0.0
NN weight 21
-
W22
C1 – Real
Data Init.
Required
0.0
NN weight 22
-
W23
C2 – Real
Data Init.
Required
0.0
NN weight 23
-
W24
C3 – Real
Data Init.
Required
0.0
NN weight 24
-
W25
C4 – Real
Data Init.
Required
0.0
NN weight 25
-
W26
C5 – Real
Data Init.
Required
0.0
NN weight 26
-
W27
C6 – Real
Data Init.
Required
0.0
NN weight 27
-
W28
C7 – Real
Data Init.
Required
0.0
NN weight 28
-
W29
C8 – Real
Data Init.
Required
0.0
NN weight 29
-
W30
YT – Real
Data Init.
Required
0.0
NN weight 30
-
W31
D0 – Real
Data Init.
Required
0.0
NN weight 31
-
W32
YQ – Real
Data Init.
Required
0.0
NN weight 32
-
W33
D2 – Real
Data Init.
Required
0.0
NN weight 33
-
W34
YP – Real
Data Init.
Required
0.0
NN weight 34
-
W35
D4 – Real
Data Init.
Required
0.0
NN weight 35
-
W36
D5 – Real
Data Init.
Required
0.0
NN weight 36
-
W37
D6 – Real
Data Init.
Required
0.0
NN weight 37
-
W38
YN – Real
Data Init.
Required
0.0
NN weight 38
-
W39
D8 – Real
Data Init.
Required
0.0
NN weight 39
-
W40
D9 – Real
Data Init.
Required
0.0
NN weight 40
-
W41
YM –Real
Data Init.
Required
0.0
NN weight 41
-
W42
YL – Real
Data Init.
Required
0.0
NN weight 42
-
W43
E2 – Real
Data Init.
Required
0.0
NN weight 43
-
W44
E3 – Real
Data Init.
Required
0.0
NN weight 44
-
W45
E4 – Real
Data Init.
Required
0.0
NN weight 45
-
W46 W47
YC – Real Y9 – Real
Data Init. Data Init.
Required Required
0.0 0.0
NN weight 46 NN weight 47
-
W48
E7 – Real
Data Init.
Required
0.0
NN weight 48
-
215
10.7 NNMLP main algorithm definitions
216
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
W49
E8 – Real
Data Init.
Required
0.0
NN weight 49
-
W50
Y8 – Real
Data Init.
Required
0.0
NN weight 50
-
W51
Y7 – Real
Data Init.
Required
0.0
NN weight 51
-
W52
Y6 – Real
Data Init.
Required
0.0
NN weight 52
-
W53
XY – Real
Data Init.
Required
0.0
NN weight 53
-
W54
XW –Real
Data Init.
Required
0.0
NN weight 54
-
W55
F4 – Real
Data Init.
Required
0.0
NN weight 55
-
W56
F5 – Real
Data Init.
Required
0.0
NN weight 56
-
W57
F6 – Real
Data Init.
Required
0.0
NN weight 57
-
W58
XV – Real
Data Init.
Required
0.0
NN weight 58
-
W59
XU – Real
Data Init.
Required
0.0
NN weight 59
-
W60
XR – Real
Data Init.
Required
0.0
NN weight 60
-
W61
R1 – Real
Data Init.
Required
0.0
NN weight 61
-
W62
R2 – Real
Data Init.
Required
0.0
NN weight 62
-
W63
R3 – Real
Data Init.
Required
0.0
NN weight 63
-
W64
R4 – Real
Data Init.
Required
0.0
NN weight 64
-
W65
R5 – Real
Data Init.
Required
0.0
NN weight 65
-
W66
R6 – Real
Data Init.
Required
0.0
NN weight 66
-
W67
R7 – Real
Data Init.
Required
0.0
NN weight 67
-
W68
R8 – Real
Data Init.
Required
0.0
NN weight 68
-
W69
R9 – Real
Data Init.
Required
0.0
NN weight 69
-
W70
S1 – Real
Data Init.
Required
0.0
NN weight 70
-
W71
S2 – Real
Data Init.
Required
0.0
NN weight 71
-
W72
S3 – Real
Data Init.
Required
0.0
NN weight 72
-
W73
S4 – Real
Data Init.
Required
0.0
NN weight 73
-
W74
S5 – Real
Data Init.
Required
0.0
NN weight 74
-
W75
S6 – Real
Data Init.
Required
0.0
NN weight 75
-
W76
S7 – Real
Data Init.
Required
0.0
NN weight 76
-
W77
S8 – Real
Data Init.
Required
0.0
NN weight 77
-
W78
S9 – Real
Data Init.
Required
0.0
NN weight 78
-
W79
T1 – Real
Data Init.
Required
0.0
NN weight 79
-
W80
T2 – Real
Data Init.
Required
0.0
NN weight 80
-
W81 W82
T3 – Real T4 – Real
Data Init. Data Init.
Required Required
0.0 0.0
NN weight 81 NN weight 82
-
W83
T5 – Real
Data Init.
Required
0.0
NN weight 83
-
D EFAULT V A L UE
D ESCRIPTION
M I N. P OINT R ECORD
APC_002
10.8 Accessing the tuning window for the NNMLP algorithm in signal diagrams
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
W84
T6 – Real
Data Init.
Required
0.0
NN weight 84
-
W85
T7 – Real
Data Init.
Required
0.0
NN weight 85
-
W86
T8 – Real
Data Init.
Required
0.0
NN weight 86
-
W87
T9 – Real
Data Init.
Required
0.0
NN weight 87
-
W88
U1 – Real
Data Init.
Required
0.0
NN weight 88
-
W89
U2 – Real
Data Init.
Required
0.0
NN weight 89
-
W90
U3 – Real
Data Init.
Required
0.0
NN weight 90
-
10 .8 Accessi ng the tuni ng windo w for the diagrams
D EFAULT V A L UE
D ESCRIPTION
M I N. P OINT R ECORD
NN MLP algorit hm in signal
To access advanced editing in signal diagrams, see To access the Advanced Tuning window for APC Toolkit algorithms in signal diagrams (see page 28).
Figure 68: NNMLP algorithm - Signal Diagram Tuning window
APC_002
217
S
ECTION
11
Using t he Prog rammable Block (PBLO CK) algori thm
IN THIS SECTION What is the PBLOCK algorithm?..................................................................................... 219 Who can use PBLOCK algorithm?............................................................................ 219 How does thethe PBLOCK programming language differ from standard C? ......................220 PBLOCK supported functions ......................................................................................... 221 PBLOCK program source code structure ....................................................................... 224 PBLOCK array handling.................................................................................................. 225 To define input/output pins for the symbol ...................................................................... 230 Writing to output points ................................................................................................... 231 PBLOCK wait() or sleep() functionality ........................................................................... 233 To create a PBLOCK algorithm....................................................................................... 234
11 .1 What is the P BLOCK algorit hm? Note: The PBLOCK algorithm can only be purchased as part of an engineered solution. The Programmable Block (PBLOCK) algorithm provides a means to write an algorithm in modified C programming language and load it into the Controller.
11 .2 Who ca n use the
PBLOC K a lgor ithm ?
The PBLOCK algorithm can be used by programmers proficient in C programming language. The programming language for PBLOCK is based upon Standard ANSI C. Programmers must also understand the structure of an Ovation Algorithm, including memory spaces, input/output handling, input/output point record status handling, and Ovation record structures.
APC_002
219
11.3 How does the PBLOCK programming language differ from standard C?
11 .3 How does the P BLOCK prog rammin g language standard C?
diff er from
The programming language for the PBLOCK algorithm is actually standard ANSI C minus some C language functionality. Thus, the language has been nicknamed “C-“. “C-“ supports subroutines, functions, data structures, macros, looping (for/while), if-then-else statements, local and global variables, standard C data types, constants, bit operations, switch statements, break, continue, etc. In addition, two forms of source code comments are supported: /*
A comment between the stars */
and // a double slash.
The functionalities were removed from standard ANSI C to ensure that the program operates within its own program space. These restrictions prevent things like programs directly accessing memory in the Controller and corrupting it, dynamic allocation of memory, and any kind of I/O operations. These restrictions are:
Variables cannot be declared as pointers by reference (pointers).
Ar ray s, as used in “C” are not supported. No brackets [ ] are allowed. PBLOCK does provide an array implementation, which is discussed in PBLOCK array handling (see page 225).
No STDLIB fu nctions are supported . This includes calls such as malloc(), printf(), fopen(), strcpy{}, sprintf(), strncat(), memcpy(), etc.
; however, values may be passed to subroutines
Other “C-“ program limitations:
The maximum number of constants that can be defined is 4095.
Local variable memory space cannot exceed 8192 bytes.
Global variable memory space cannot exceed 8192 bytes.
Local memory (extern) variable memory space cannot exceed 384 bytes.
11. 3.1 Extern variabl es Variables declared as "externs" are local memory variables whose values are "persistent," meaning their values are retained and updated across sheet execution cycles. There can be 384 total bytes of extern variables declared within a single PBLOCK algorithm. Note: Extern variables are supported in the Ovation software release 3.0.0 and later. If variables are declared as "externs" in an Ovation version prior to 3.0.0, a compiler error occurs.
220
APC_002
11.4 PBLOCK supported functions
11 .4 PBLOC K supp orted func tio ns The following are prototype declarations for supported standard functions. These functions are the standard trigonometric functions described in the Kernighan/Ritchie "C" manual. doubl e cos ( doubl e ) ; doubl e si n ( doubl e ); doubl e tan ( doubl e ); doubl e acos ( doubl e ) ; doubl e asi n ( doubl e ) ; doubl e at an ( doubl e ); doubl e l og ( doubl e ) ;
/ * nat ural l og */
doubl e l og10 ( doubl e ) ; doubl e sqr t ( doubl e ); doubl e f abs ( doubl e ); doubl e exp ( doubl e ) ; doubl e pow ( doubl e f , doubl e xpnnt ) ;
/*
f **xp nnt
doubl e f mod ( doubl e x, doubl e y ) ;
/*
= r emai nder of x/ y
*/ */
doubl e fl oor ( doubl e ); doubl e cei l
( doubl e ) ;
Detecting the first execution pass of an algorithm is a standard requirement of Ovation algorithms. The firstPassFlag is used in the Ovation algorithm to detect when the Controller was powered on or when the Controller failed over. Typically, the algorithms perform any initialization on first pass. i nt f i rst Pass Fl ag ( voi d ) ;
The return value is zero if the algorithm is not in the first pass; otherwise the algorithm is in the first pass. In APC 3.2 and later, the PBlock supports special macros that help the programmer distinguish between first pass conditions. i nt f i rst Pass = get Fi rst PassF l ags() ; i f ( PB_FI RST_PASS_PWR_UP( f i r st Pass) ) { / / … Cont r ol l er power - up }
APC_002
221
11.4 PBLOCK supported functions el se i f ( PB_FI RST_PASS_FAI LOVR( f i r st Pass) ) { / / …Contr ol l er f ai l over f ro m part ner } el se i f ( PB_FI RST_PASS_PWRor FAI L( f i r st Pass) ) { / / … Cont r ol l er power - up or
f ai l over
} el se i f ( PB_SHEET_UPDATED( f i r st Pass) ) { / / … The sheet i s bei ng l oaded or r el oaded }
These macros help the programmer plan for startup and failover situations. Examples of can be found in Example PBLOCK program with optional parameters and first pass macros (see page 244). Every PBLOCK algorithm created automatically has an algorithm record associated with it. These two routines allow the programmer to read and write fields (lcread and lcwrite) of the LC record. The three defines that are required to call the routine are as follows: #def i ne PB_BYTE_TYPE SHC_ BYTE_RF #def i ne PB_LONG_ TYPE SHC_LONG_ RF #def i ne PB_FLOAT_TYPE SHC_ FLOAT_RF i nt i nt
l cWr i t e ( ch ar * p ChSt r i ng, i nt f i el dType, voi d * pLCf i el dDat a ) ; l cRead ( ch ar * p ChSt r i ng, i nt f i el dType, voi d * pLCf i el dDat a ) ;
Here is an example of reading the XR field of the algorithm: i nt xrF i el dVal ; l cRead ( " XR”, PB_LONG_TYPE, &xrFi el dVal ) ;
These routines allow the PBLOCK algorithm to read and write Ovation points associate with the algorithm via the Control Builder symbol’s pin. The user program must declare a point record structure. The structure is provided in the standard header file, std_pb_hdr.h. voi d ReadI nput ( i nt pi nNum, Poi nt Dynami cVal * pPt Recor d) ; voi d ReadOut put ( i nt pi nNum, Poi nt Dynami cVal * pPt Record) ; voi d Wr i t eOutput ( i nt pi nNum, Poi nt Dynami cVal * pPt Recor d) ;
222
APC_002
11.4 PBLOCK supported functions
The following two functions are used together to provide "wait()" or "sleep()" functionality in a PBLOCK algorithm. voi d get St ar t Ti me ( unsi gned i nt * st ar t Ti me ); voi d getEl apsedTi me ( unsi gned i nt st art Ti me, unsi gned i nt * el apsedTi me ) ;
It is important that the unsigned integer "startTime" used in getStartTime() is declared as an extern variable so its value can be preserved across sheet executions. The function elapsedTime is returned in milliseconds and should be a local variable Note: These functions are supported in Ovation 3.0.3 and later. If you declare these functions in the PBLOCK source code in an Ovation version prior to 3.0.3, a compiler error occurs.
APC_002
223
11.5 PBLOCK program source code structure
11 .5 PBLOC K program source code
stru ctur e
“C-“ source code files use “.c” as their extension.
The header file “std_pb_hdr.h” must always be included in a source file.
It is highly recommended that you implement the firstPassFlag() function in your algorithm (discussed in PBLOCK supported functions (see page 221).)
The last line in a source file should be a blank line (newline character) otherwise a compiler warning is generated.
These (two) defines must always appear in a source file. They define the number of input and output points associated with the algorithm: #define NUM_INPUT_PINS … #define NUM_OUTPUT_PINS ….
The following sample program demonstrates basic program structure. ############################################################ #def i ne NUM_ I NPUT_PI NS 0 #def i ne NUM_ OUTPUT_PI NS 0 #i ncl ude " st d_pb_hdr . h" / / Gl obal ( Heap) var i abl es decl ar ed here mai n ( ) { / * Set up Pi n def i ni t i ons f or t he t empl at e */ / * ( Ri ght - Cl i ck and i nsert Templ ate C omment Li nes) */
/ * Speci al p roce ssi ng on t he f i rst e xecut i on of / * t he al gor i t hm upon power up.
*/ */
i f ( f i rstP ass Fl ag() ) { / / I ni ti al i ze l ocal (ex te rn ) vari abl es } / / Al gori t hm Code r et ur n 0; } ############################################################
224
APC_002
11.6 PBLOCK array handling
11. 6 PBLOCK array handl ing The PBLOCK algorithm implements arrays via a special set of API functions, which provide tight control for accessing array elements. This eliminates the “array out of bounds” problem, which could potentially corrupt data within the program as well as in Controller memory. CAUTION! Each array data type uses a predefined block of memory. These variables will use local (stack) and/or global (heap) space quickly. Use the smallest array data type. Array types support three data types only: Integer, Float, and Doubles. (Structures cannot be used in arrays.) Each array type contains a pre-determined fixed maximum number of elements, which vary from small to medium to a large number of items. The intent is to try and minimize the amount of memory used. You do not have to use every element in each array type. Use only what you need. The array data types are:
SmallIArray – Up to 10 integer elements. Each variable of this type requires 40 bytes.
SmallFArray – Up to 10 floating point elements. Each variable of this type requires 40 bytes.
SmallDArray – Up to 10 double precision elements. Each variable of this type requires 80 bytes.
MedIArray – Up to 100 integer elements. Each variable of this type requires 400 bytes.
MedFArray – Up to 100 floating point elements. Each variable of this type requires 400 bytes.
MedDArray – Up to 100 double precision elements. Each variable of this type requires 800 bytes.
LargeIArray – Up to 1000 integer elements. Each variable of this type requires 4000 bytes.
LargeFArray – Up to 1000 floating point elements. Each variable of this type requires 4000 bytes.
LargeDArray – Up to 500 double precision elements. Each variable of this type requires 4000 bytes.
The typical procedure when using these array types consists of:
Declaring the array type variable.
Setting the number of elements you intend to use ( up to the maximum).
Retrieving the elements defined in the previous Set call ( for looping).
Get(Retrieve) / Set(Update) Individual Array Elements.
Here are the prototypes for these API: Header File: “PBSmallIArray.h”. int GetSmallIArraySize(SmallIArray * sai.) int GetSmallIArrayVal( int idx , SmallIArray * sai.) void SetSmallIArrayVal( int idx , int newVal, SmallIArray * sai.) void SetSmallIArraySize(int size, int init_val, int bInit, SmallIArray * sia.) Note: If bInit == TRUE, then the array is initialized to init_val. This also increases the number of runtime instructions.
APC_002
225
11.6 PBLOCK array handling
Header File: “PBSmallFArray.h” int GetSmallFArraySize(SmallFArray * sai.) int GetSmallFArrayVal( int idx , SmallFArray * sai.) void SetSmallFArrayVal( int idx , int newVal, SmallFArray * sai.) void SetSmallFArraySize(int size, int init_val, int bInit, SmallFArray * sia.) Note: If bInit == TRUE, then the array is initialized to init_val. This also increases the number of runtime instructions. Header File: “PBSmallDArray.h.” int GetSmallDArraySize(SmallDArray * sai.) int GetSmallDArrayVal( int idx , SmallDArray * sai.) void SetSmallDArrayVal( int idx , int newVal, SmallDArray * sai.) void SetSmallDArraySize(int size, int init_val, int bInit, SmallDArray * sia.) Note: If bInit == TRUE, then the array is initialized to init_val. This also increases the number of runtime instructions. If you substitute “Med” and “Large” for Small in the above prototypes, the same prototypes apply for the following header files: Header File: Header File: Header File: Header File: Header File: Header File:
226
“PBMedIArray.h.” “PBMedFArray.h.” “PBMedDArray.h.” “PBLargeIArray.h.” “PBLargeFArray.h.” “PBLargeDArray.h.”
APC_002
11.6 PBLOCK array handling
The following is a sample demonstrating the array API. ####################################################### #i #i #i #i #i #i #i #i #i
ncl ncl ncl ncl ncl ncl ncl ncl ncl
ude ude ude ude ude ude ude ude ude
"PBSmal l I Ar r ay. h" " PBMedI Ar r ay. h" " PBLar geI Ar r ay. h" " PBSmal l FAr r ay. h" " PBMedFAr r ay. h" "PBLarge FAr r ay. h" " PBSmal l DAr r ay. h" " PBMedDAr r ay. h" " PBLar geDAr r ay. h"
#def i ne NUM_ I NPUT_PI NS 0 #def i ne NUM_ OUTPUT_PI NS 0
#i ncl ude " st d_pb_hdr . h"
mai n( ) { i nt i ndex; i nt i sum; f l oat f sum; doubl e dsum; Smal l I Arr ay si a; Smal l FAr r ay sf a; Smal l DAr r ay sda; MedI Ar r ay mi a; MedFAr r ay mf a; MedDArr ay mda; Larg eI Arr ay l i a; Lar geFAr r ay l f a; Large DAr r ay l da; / / Def i ne how many el ement s we ar e usi ng f or each Set Smal l I Ar r aySi ze( 10, 99, TRUE, &si a) ; / / Use 10, i ni t i al i ze el ement s t o 99 Set Smal l FAr r aySi ze( 5, 1. 0, TRUE, &sf a) ; / / Use 5, i ni t i al i ze el ement s t o 1. 0 Set Smal l DAr r aySi ze( 2, 0. 0, FALSE, &sda) ; / / Use 2, do not i ni t i al i ze SetMedI Ar r aySi ze(10 0, 99, TRUE, &mi a); / / Use 100, i ni t i al i ze el ement s t o 99 SetMedFAr r aySi ze(50 , 1. 0, TRUE, &mf a); / / Use 50, i ni t i al i ze el ement s t o 1. 0 SetMedDAr r aySi ze(20 , 0. 0, FALSE, &mda); / / Use 20, do not i ni t i al i ze Set Lar geI Ar r aySi ze( 1000, 99, TRUE, &l i a) ; / / Use 1000, i ni t i al i ze el ement s t o 99 Set Lar geFAr r aySi ze( 500, 1. 0, TRUE, &l f a) ; / / Use 500, i ni t i al i ze el ement s t o 1. 0 Set Lar geDAr r aySi ze( 200, 0. 0, FALSE, &l da) ; / / Use 200, do not i ni t i al i ze
APC_002
227
11.6 PBLOCK array handling / / Loop t hr u and sum al l t he val ues, Set el ement [ 0] t o t he sum i sum = 0; f or ( i ndex=0; i ndex< Get Smal l I Ar r aySi ze( &si a) ; i ndex++) i sum += GetSmal l I Ar r ayVal ( i ndex, &si a); Set Smal l I Ar r ayVal ( 0, i sum, &si a) ;
/ / St or e i n el ement 0
f sum = 0. 0; f or ( i ndex=0; i ndex< Get Smal l FAr r aySi ze( &sf a) ; i ndex++) f sum += GetSmal l FAr r ayVal ( i ndex, &sf a); SetSmal l FAr r ayVal ( 0, f sum, &sf a);
/ / St ore i n el ement 0
dsum = 0. 0; f or ( i ndex=0; i ndex< Get Smal l DAr r aySi ze( &sda) ; i ndex++) dsum += Get Smal l DAr r ayVal ( i ndex, &sda) ; Set Smal l DAr r ayVal ( 0, dsum, &sda) ;
/ / St ore i n el ement 0
i sum = 0; f or ( i ndex=0; i ndex< Get MedI Ar r aySi ze( &mi a) ; i ndex++) i sum += Get MedI Ar r ayVal ( i ndex, &mi a) ; SetMedI Ar r ayVal ( 0, i sum, &mi a) ;
/ / St ore i n el ement 0
f sum = 0. 0; f or ( i ndex=0; i ndex< Get MedFAr r aySi ze( &mf a) ; i ndex++) f sum += Get MedFAr r ayVal ( i ndex, &mf a) ; Set MedFAr r ayVal ( 0, f sum, &mf a) ;
/ / St ore i n el ement 0
dsum = 0. 0; f or ( i ndex=0; i ndex< Get MedDAr r aySi ze( &mda) ; i ndex++) dsum += Get MedDAr r ayVal ( i ndex, &mda) ;
228
APC_002
11.6 PBLOCK array handling Set MedDAr r ayVal ( 0, dsum, &mda) ;
/ / St or e i n el ement 0
i sum = 0; f or ( i ndex=0; i ndex< GetLar geI Ar r aySi ze( &l i a); i ndex++) i sum += Get Lar geI Ar r ayVal ( i ndex, &l i a) ; Set Lar geI Ar r ayVal ( 0, i sum, &l i a) ;
/ / St or e i n el ement 0
f sum = 0. 0; f or ( i ndex=0; i ndex< Get Large FAr r aySi ze( &l f a) ; i ndex++) f sum += GetLar geFAr r ayVal ( i ndex, &l f a); Set Lar geFAr r ayVal ( 0, f sum, &l f a) ;
/ / St or e i n el ement 0
dsum = 0. 0; f or ( i ndex=0; i ndex< Get Lar geDAr r aySi ze( &l da) ; i ndex++) dsum += Get Lar geDAr r ayVal ( i ndex, &l da) ; Set Large DAr r ayVal ( 0, dsum, &l da) ;
/ / St ore i n el ement 0
r et ur n 0; } #######################################################
APC_002
229
11.7 To define input/output pins for the symbol
11 .7 To define inpu t/outpu t pins for the
symb ol
Defining input/output pins to build a symbol for your algorithm is implemented within the PBLOCK source file. Each pin definition is encapsulated within a “template comment line”; similar to the way Java self-documents using JavaDoc. There should be one template comment line for each input/output pin. For each input/output pin that does not have a template comment line, a default pin definition is generated which uses a random pin name. To save time and ensure proper formatting, there are convenience functions within the PBLOCK editor to insert a template comment line, which you can then customize. Note: Currently there is no limit to the number of inputs/outputs you can define. The limit is determined at algorithm runtime. Template comment lines can appear anywhere in the source code. Here are examples of an input and output comment line: /*
@I NPUT
/*
@OUTPUT
@PI N: 1 @ PI N: 1
@ NAME: HAAC
@RT: LA
@DESC:" "
@REQUI RED: YES
*/
@NAME: HAAD @RT: LA
@ DESC:" "
@REQUI RED: YES
*/
There are five fields that need to be defined:
@INPUT/ @OUTPUT specifies the type of pin you are defining
@PIN: specifies the pin number
@NAME: pin name which appears on the symbol (four characters maximum)
@RT: one of LA,DA,LD,DD,LP,DP , the supported record types
@DESC: in quotes, maximum 34 characters.
@REQUIRED: [YES or NO] A pin’s connection can be required [YES] or optional [NO]. The default setting is [YES]. In APC Toolkit versions prior to 3.2, all pins for PBLOCK required a connection and did not have this parameter.
The pin numbers should match the pin numbers used in these support functions, which are described in an earlier section: void ReadInput ( int pinNum, PointDynamicVal * pPtRecord); void ReadOutput ( int pinNum, PointDynamicVal * pPtRecord); void WriteOutput ( int pinNum, PointDynamicVal * pPtRecord); Note: WriteInPoint is used only in special circumstances by Emerson personnel to change the startup flags on migrated systems. This function should only be used by advanced users. void WriteInPoint ( int pinNum, PointDynamicVal * pPtRecord);
230
APC_002
11.8 Writing to output points
The following is a list of pin names that are reserved by PBLOCK:
INUM
ONUM
INST
CNUM
0000 – FFFF ( Alphanumerically Hex, 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)
G000 - GFFF ( Alphanumerically Hex, 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)
In APC 3.2 and later, you have the choice to make some pin connections NOT required (that is, the programmer defines an input/output in such a way that the Control builder user has the choice of connecting pinisornot not). Programmers advantage of this feature must plan for possibility thatthe a pin connected by usingthat thetake PB_ISDUMMYSID macro. Rememeber thatthe the PB_ISDUMMYSID macro will not work if it is called before ReadInput() and ReadOutput() are used. See Example PBLOCK program with optional parameters and first pass macros (see page 244) for an example how to use this macro.
11 .8 Writing to
output points
In Ovation, algorithms are not permitted to update all fields of a point record. Some fields of the record are "owned" by other software, such as I/O scanning. The point record fields that can be modified are described in the following tables. Refer to Ovation Records Types Reference Manual for specific information about each field. Ovation uses a masking value to determine which record fields may be updated by the algorithm. In PBLOCK, the mask settings are inside the algorithm. The following tables show the masks for PBLOCK and their meanings.
An alog r eco rd mas ks (for LA and DA p oi nt rec or ds ) P OINT R ECORD .firstStatus = 0x01803340
D ESCRIPTION Bit 6:
Cut out for alarm checking.
Bit 8 and 9: Quality of the analog point. Bit 12:
Limit checking is off.
Bit 13:
Alarm checking is off.
Bit 23:
Reasonability range checking off.
Bit 24:
Engineering range checking off.
.secondStatus = 0xFFFF0000
"Reason" bits in the 2W field may be modified. These bits indicate conditions that are affecting the point record.
.thirdStatus = 0xFFFF8104
Bit 2:
Tagged-Out
Bit 8:
Algorithm
Bit 15: Commissioned (0 = commissioned, 1 = not commissioned) Bit 16-31: Tracking bits. .value = 1
APC_002
The algorithm may modify the value or AV field of the record.
231
11.8 Writing to output points
Digital record masks (for LD and DD point records) P OINT R ECORD
D ESCRIPTION
.firstStatus = 0x00002341
Bit 0:
Digital value
Bit 6:
Cut out for alarm checking.
Bit 8 and 9: Quality of the analog point. Bit 13: .secondStatus = 0 .thirdStatus = 0xFFFF8104
Alarm checking off.
The 2W field cannot be modified. Bit 2:
Tagged-Out
Bit 8: Algorithm Bit 15: Commissioned (0 = commissioned, 1 = not commissioned) Bit 16-31: Tracking bits.
Packed dig ital record masks (for LP and DP point records) P OINT R ECORD
D ESCRIPTION
.firstStatus = 0x00002040
Bit 6:
Cut out for alarm checking.
Bit 13:
Alarm checking is off.
.secondStatus = 0
The 2W field cannot be modified.
.thirdStatus = 0xFFFF8104
Bit 2:
Tagged-Out
Bit 8:
Algorithm
Bit 15: Commissioned (0 = commissioned, 1 = not commissioned) Bit 16-31: Tracking bits valueBits = 0x0000FFFF
The value bits in the A2 field can be modified.
invalidBits = 0x0000FFFF
The quality bits in the A3 field can be modified.
seconds = _ALL_BITS_
Time of scan – in seconds
nanoseconds = _ALL_BITS_
Time of scan – in nanoseconds
Note: All of the fields above can be changed if they are related to an output pin. However, if the programmer is writing to an input field, then only the commissioned bit in the Third Status Word can be changed by the user.
232
APC_002
11.9 PBLOCK wait() or sleep() functionality
11 .9 PBLOC K wait()
or sleep()
func tio nality
The getStartTime() and getElapsedTime() functions work together to provide a "wait()" or "sleep()" functionality across sheet executions. These functions are supported in Ovation versions 3.0.3 and later. The function getStartTime() is called initially, storing the starting time. Successive calls to getElapsedTime() are made, comparing the amount of elapsed time (in milliseconds) until the desired interval has passed before executing a section of code. Below is a code snippet which demonstrates the use of these functions: // / / The i ni t i al st art t i me MUST BE DECLARED as ext ern / / si nce i t must be per si st ent across a l gor i t hm ( sheet ) ex ecut i ons // ext er n unsi gned i nt st art Ti me;
mai n ( ) { unsi gned i nt el apTi me; // / / Wai t a tot al of 30 seconds upon al gor i t hm st ar t up / / bef or e doi ng any al gor i t hm wor k //
/ * Speci al p roce ssi ng on t he f i rst e xecut i on of / * t he al gor i t hm upon power up.
*/ */
i f ( f i rstP ass Fl ag() ) { / / I ni t i al i ze l ocal memor y ( ext er n) var i abl es
/ / St ore th e i ni t i al St art Ti me getSt art Ti me(&st art Ti me); }
APC_002
233
11.9 PBLOCK wait() or sleep() functionality / / Has 30 seconds passed si nce we st art i ng execut i ng? get El apsedTi me( st art Ti me, &el apTi me) ; i f ( el apTi me >= 30000) / / Remember, t i me i s i n mi l l i sec' s { / / Do Al gor i t hm Wor k! } el se { / / do somet i ng el se or not hi ng at al l ! }
r et ur n 0; }
234
APC_002
11.10 To create a PBLOCK algorithm
11. 10 To c reate a PBLOCK alg 1.
ori thm
Start the PBlock Editor/Compiler by typing pblock from any command prompt. Press . When the user interface is initially invoked, it appears as shown in the following figure. PBLOCK source file rules are summarized in the main window.
2.
APC_002
Select File > New to create a new algorithm, or File > Open to edit a previously created on e.
235
11.10 To create a PBLOCK algorithm
3.
Use the floating menus or the keyboard to create the code. Floating menus are displayed by right-clicking anywhere inside the editor window.
4.
When you have finished creating the code, save the source file.
5.
Select Compile Code to compile the code.
6.
236
After a successful compilation, the Results window turns green and informs you the number of MIPS instructions generated (current maximum number is 65536). Two other files are also created with a successful compile; these files have .map and .pbs extensions. These are debug files that Emerson may request if you are experiencing problems with the algorithm's compilation or execution.
If a compilation is successful, but there were warnings, the Results window turns yellow and displays the warning(s).
If there are errors in the compilation, the Results window turns red and displays the errors. The corresponding areas of the code in the editor window are also highlighted in red. See PBLOCK algorithm runtime error codes (see page 248) for a description of the error(s).
If there were no errors, press Create Template button.
APC_002
11.10 To create a PBLOCK algorithm
7.
Create a Control Builder symbol for the simple program. Add only the INP and OUT parameters as pins.
Note: When adding pins, the pin list also shows the instruction's four-letter pin name. These should not be added to the symbol. 8.
Create a sheet.
9.
Save and load the Controller.
“Expert Mode” is disabled when the user interface is initially invoked. When you are NOT in expert mode, the tooltips for GUI widgets display. Also, more detail is added to the template comment line headers. After you become more familiar with this user interface, you may wish to Enable Expert Mode. Template header with expert mode off: /* name (4 char max), rt (one of LA,DA,LD,DD,LP,DP), desc (in quotes, max 34 chars), req (connection req[yes]/opt[no]) * @INPUT @PIN:0 @REQUIRED:YES */
@NAME:HAAA
@RT:LA
@DESC:""
@RT:LA
@DESC:""
Template header with expert mode on: /* @INPUT @PIN:0 @REQUIRED:YES */
APC_002
@NAME:HAAB
237
11.10 To create a PBLOCK algorithm
11.1 0. 1
To create a cust om algorithm
symb ol
1.
Access the Control Builder (see page 16).
2.
From the main Control Builder window, pull down the File menu and select New. Pull right on the New item to display another menu. Select Al go ri th m Sym bo l. The New Algorithm dialog box appears.
Figure 69 : New Algorithm win dow 3.
Choose an algorithm type from the dialog box. Expand the folder and select the algorithm that will get the new symbol. Select the Ok button.
Note: You can only create a symbol for an existing algorithm. A blank canvas appears ready for you to create the symbol. 4.
Pull down the Draw menu and use the first six items to create the symbol. The first six items are rectangle, polygon, ellipse, curve, line, and text.
5.
Add the desired pins to the symbol: a) Pull down the Draw menu and select Ad d Cont rol Pin. (You can also use the Add Control Pin icon.) The Select Parameter dialog box appears. b) Select the desired pins from the provided list. Note that these pins are specifically applicable to the algorithm you selected in Step 2. c)
Select the location where you want to attach the pin(s) to the symbol.
d) Continue adding items to your symbol (static text, algorithm values, document values, 6.
238
and so forth) When the symbol is complete, pull down the File menu and select Save. A Browse For Folder dialog box appears.
APC_002
11.10 To create a PBLOCK algorithm
7.
In the Browse For Folder dialog box, select either the Network or System folder. By default, control functions are stored in a directory under the Unit directory. However, symbols should be stored in a folder that is above the control functions directory, at a higher level folder such as the Network or System level. In this way, these symbols can be shared by many units.
8.
After you select a folder, typically in the Network directory, select the Ok button on the Browse For Folder dialog box. The system creates the necessary Symbols directory in the Network directory and saves the symbol.
9.
When you access the Add Algorithm dialog box, the new symbol appears as a choice for the appropriate algorithm and can be placed on a control sheet. If the new symbol does not appear in the dialog box, hit the Refresh button on the Add Algorithms dialog box. The new symbol also appears in the Symbol Builder.
10. You can modify the symbol by going to the Symbols directory and finding the .svg file for the symbol. Open the symbol in the Control Builder and edit as desired. Note: If you open a symbol in which the contents were deleted, an invalid file format message appears. You will not be able to add any pins to that symbol. An empty symbol cannot be edited.
APC_002
239
11.10 To create a PBLOCK algorithm
11.1 0. 2
Sample code for a typi cal algorith m
/ * I nput and out put pi n count speci f i cat i on i s r equi r ed. / * Ther e must be at l east 1 i nput pi n. / * For t hi s exampl e t here ar e 8 i nput pi ns and 4 out put pi ns. #def i ne NUM_ I NPUT_PI NS #def i ne NUM_ OUTPUT_PI NS
*/ */ */
8 4
#i ncl ude " st d_pb_hdr . h" #def i ne f l oat 1 33. 33 #def i ne i nt 1 33 const f l oat f l oat 2 = 33. 33; const i nt i nt 2 = 33; / * Thi s i s an exampl e of a ' def i ne' t hat wi l l mask of f t he pr evi ous val ue / * f i el d of a di gi t al poi nt . Thi s can i mprov e rea dabi l i t y. Al so not i ce / * the use of conti nuat i on. i . e. ' \ ' #def i ne mai nBr kr Pr evVal ue
*/ */ */
\
( mai nBr eaker . t ype. di gi t al . f i r st St at us & _1 W_PREV_DI GI TAL_VALUE) i nt cal cTest Val ( Poi nt Dynami cVal *, Poi nt Dynami cVal * ) ; mai n ( ) { f l oat f l oat 3=33. 34; i nt i nt 3=34; i nt a ; f l oat b , c, d;
/ * Decl ar e i nput poi nt s.
*/
Poi nt Dynami cVal st eamP; Poi nt Dynami cVal mai nBr eaker ; / * etc. */
/ * Decl ar e out put poi nt s.
*/
Poi nt Dynami cVal aver ageSt eam; Poi nt Dynami cVal st eamPl us; Poi nt Dynami cVal t estVa l ; Poi nt Dynami cVal t estFl ag;
240
APC_002
11.10 To create a PBLOCK algorithm / * etc. */
/ * Updat e i nput poi nt st r uctures . */ / * Pi n number must not exceed NUM_I NPUT_PI NS. */ /* */
@I NPUT
@PI N: 1
@NAME: STMP
@RT: LA
@DESC: " St eam Pr essur e" @REQUI RED: YES
@RT: LD
@DESC: " Mai n Breaker " @REQUI RED: YES
*/
/ * Get l ast val ue of out put poi nt . */ / * @OUTPUT @PI N: 1 @NAME: AVGS @RT: LA
@DESC:" Average St eam" @REQUI RED: YES
*/
ReadI nput ( 1, &st eamP) ; /*
@I NPUT
@PI N: 2
@NAME: MBRK
ReadI nput ( 2, &mai nBr eaker ) ; / * etc. */
ReadOut put ( 1, &aver ageSt eam) ; /*
@OUTPUT
@PI N: 4
@NAME: TFLG
@RT: LD
@DESC: " Test Fl ag" @REQUI RED: YES
*/
ReadOut put ( 4, &t est Fl ag) ;
/ * Thi s shows how t o do speci al pr ocessi ng on t he f i r st exe cut i on of / * t he al gori t hm upon power up.
*/ */
i f ( f i rstP ass Fl ag() ) { / * etc. */ }
/ * Ar i t hmet i c exampl es. */ a = i nt 1+i nt 2+i nt 3;
/ * a = 100 */
b = f l oat 1+f l oat 2+f l oat 3;
/ * b = 100. 0 */
/ * I n t hi s exampl e Aver ageSt eam l ags st eamP. Noti ce t hat out put qual i t y */ / * i s not mani pul at ed. The pr evi ous qual i t y i s wr i t t en at t he end of */ / * t hi s pr ogram. */ aver ageSt eam. t ype. anal og. val ue = ( aver ageSt eam. t ype. anal og. val ue * 0. 90 ) + ( st eamP. t ype. anal og. val ue * 0. 10 ) ; / * I n t hi s exampl e ' st eamPl us' i s set t o cos( b) as l ong as ' mai nBr eaker ' */ /* /* /* /* /*
APC_002
i s not changi ng st at e. Qual i t y i s not mani pul at ed. I f a st at e change i s det ect ed, ' st eamPl us' i s set t o 1800. 0 and qual i ty i s set to ' Poor' . The pr evi ous st at e of ' mai nBr eaker ' was made more r eadabl e i n a pr evi ous ' def i ne' st at ement .
*/ */ */ */ */
241
11.10 To create a PBLOCK algorithm i f ( ( mai nBr eaker . t ype. di gi t al . f i r st St atus & _1W_DI GI TAL_VALUE) == ( mai nBr krPr evVal ue)
)
st eamPl us. t ype. anal og. val ue += cos( b) ; el se { st eamPl us. t ype. anal og. val ue = 1800. 0; st eamPl us. t ype. anal og. f i r st St at us = ( st eamPl us. t ype. anal og. f i r st St at us & ( _1W_QUALI TY_BI TS ^ 0xFFFF) ) + _ 1W_POOR_QUALI TY ; }
/ * Ar i t hmet i c exampl es. */ a += ( i nt ) b;
/ * a = 200 */
b += ( f l oat ) a;
/ * b = 300. 0 */
/ * Cal l user f uncti on. */ / * t est Fl ag coul d be modi f i ed ei t her i nsi de, or ou t si de, t he user f uncti on. */ / * I n t hi s exampl e, we arbi t r ari l y chose t o modi f y i t based on t he r etur ned */ /* val ue. */ i f ( cal cTestV al ( &t estFl ag, &t estV al ) ) t est Fl ag. t ype. di gi t al . f i r st St at us | =_1W_DI GI TAL_VALUE;
/ * set */
el se t estFl ag. t ype. di gi t al . f i r st St atus &= ( _1W_DI GI TAL_VALUE ^ 0xFFFF) ;
/ * cl ear
*/
/ * Updat e out put poi nt s. */ Wr i t eOut put ( 1, &aver ageSt eam) ; Wr i t eOut put ( 2, &st eamPl us) ; Wr i t eOut put ( 4, &t est Fl ag) ; / * etc. */ r et ur n 0; } i nt cal cTest Val ( Poi nt Dynami cVal *pTest Fl ag, Poi nt Dynami cVal *pTest Val ) {
242
APC_002
11.10 To create a PBLOCK algorithm i f ( pTest Val - >t ype. anal og. val ue >= 120. 0 ) pTest Val - >t ype. anal og. val ue = 120. 0; i f ( pTest Val - >t ype. anal og. val ue t ype. anal og. val ue = - 20. 0; i f ( pTest Fl ag- >t ype. di gi t al . f i r st St at us | _1W_DI GI TAL_VALUE ) { i ncrea si ng */
/*
pTest Val - >t ype. anal og. val ue += 12. 3; i f ( pTest Val - >t ype. anal og. val ue > 100. 0 ) r et ur n ( 1 ) ;
/ * cont i nue t o i ncrea se */
el se r et ur n ( 0 ) ;
/ * swi t ch t o decrea si ng */
} el se { pTest Val - >t ype. anal og. val ue - = 13. 6;
/ * decr easi ng */
i f ( pTest Val - >t ype. anal og. val ue < 0. 0 ) retu rn ( 1 ) ;
/ * swi t ch t o i ncre asi ng */
el se r et ur n ( 0 ) ;
/ * cont i nue t o decrea se */
} }
APC_002
243
11.10 To create a PBLOCK algorithm
11.1 0. 3 Example PBLOC K progr am with optio nal parame ters and firs t pass macros The following example takes an analog value from the IN1 pin, then adds the value to a running total in local memory. That local memory value is then assigned to the OUT1 pin. Both pins will be required by the Control Builder for the sheet to compile. Also, included in this program are the IN2 and OUT2 pins. IN2 is an optional digital input, that will reset OUT1 to zero if it is set true. When IN2 is not connected, PBLOCK will reset the OUT1 pin every 30 samples. OUT2 is an optional analog output pin, that will display the number of samples that were counted when a pin is attached to the output. In addition, this example shows how the First Pass macros can make PBLOCK code more stable in startup and failover. ############################################################ #def i ne NUM_ I NPUT_PI NS 2 #def i ne NUM_ OUTPUT_PI NS 2 #i ncl ude " st d_pb_hdr . h" / / Local Memor y val ues ext er n f l oat l mem_t otal _val ue; / / OUT1’ s val ue and t he sum of al l sampl es ext er n i nt l mem_num_s ampl es; / / OUT2’ s val ue and t he number of sampl es ext er n i nt l mem_i n2_connect ed; / / save i f I N2 was co nnect ed l ast t ask cycl e. mai n ( ) { i nt fi rstP ass ; / **************************
**********/
/ * Decl ar e i nput and out put poi nt s. */ / **************************
**********/
Poi ntDynami cVal I N1, I N2; Poi nt Dynami cVal OUT1, OUT2; /*
@I NPUT
@PI N: 1
@NAME: I N1
@RT: LA
@DESC:" SAMPLE VALUE"
@NAME: I N2
@RT: LD
@DESC:" RESET"
@REQUI RED: YES * /
ReadI nput ( 1, &I N1) ; /*
@I NPUT
@PI N: 2
@ REQUI RED: NO
*/
ReadI nput ( 2, &I N2) ;
/ * Get l ast val ue of out put poi nt . */ /*
244
@OUTPUT
@ PI N: 1
@NAME: OUT1 @RT: LA
@DESC:" TOTAL SAMPLES"
@REQUI RED: YES
*/
APC_002
11.10 To create a PBLOCK algorithm ReadOut put ( 1, &OUT1) ; /*
@OUTPUT
@ PI N: 2
@NAME: OUT2
@RT: LA
@DESC:" NUMOF SAMPLES"
@REQUI RED: NO
ReadOut put ( 2, &OUT2) ;
/ **************************
**********/
/ * Fi rst Pass I nf ormat i on. / **************************
*/ **********/
f i rst Pass = get Fi rst PassF l ags() ; i f ( PB_SHEET_UPDATED( f i r st Pass) ) { / / The sheet has been modi f i ed, check t o see i f I N2 / / was connect ed or di sconnect ed. l mem_i n2_c onnect ed = ! __ PB_I SDUMMYSI D__ ( I N2) ; } el se i f ( PB_FI RST_PASS_FAI LOVR( f i r st Pass) ) { / / Cont ro l l er f ai l over t o part ner. / / I f t he contr ol l er f ai l s over to i ts p art ner, t hen / / you can use t he val ues st ored i n l ocal memory t o / / r ecover . ( Not e: Local memory i s updat ed more of f en / / t hen systemp oi nt s. )
OUT1. t ype. anal og. val ue = l mem_t ot al _val ue; OUT2. t ype. anal og. val ue = ( f l oat ) l mem_num_s ampl es; l mem_i n2_c onnect ed = ! __ PB_I SDUMMYSI D__ ( I N2) ; } el se i f ( PB_FI RST_PASS_PWR_UP( f i r st Pass) ) { / / Cont r ol l er power- up.
APC_002
245
*/
11.10 To create a PBLOCK algorithm / / Setup t he st art i ng val ues f or t he l ocal memor y. l mem_t ot al _val ue = 0; l mem_ num_sampl es = 0; l mem_i n2_c onnect ed = ! __ PB_I SDUMMYSI D__ ( I N2) ; }
/ **************************
**********/
/ * Cal cul at i ons. / **************************
*/ **********/
/ / Check t o see i f val ue i f ( l mem_i n2_connect ed) { / / I N2 i s connect ed. i f ( I N2. t ype. di gi t al . f i r st St at us & _1W_DI GI TAL_VALUE) { / / RESET i f i nput i s t rue l mem_ num_ sampl es = 0; l mem_t ot al _val ue = 0; } el se { l mem_ num_ sampl es++; l mem_t ot al _val ue += I N1. t ype. anal og. val ue; } } el se { / / I N2 i s NOT connect ed. i f ( l mem_ num_ sampl es => 30) / / RESET i f we have 30 sampl es
246
APC_002
11.10 To create a PBLOCK algorithm { l mem_ num_ sampl es = 0; l mem_t otal _val ue = I N1. t ype. anal og. val ue; } el se { l mem_ num_ sampl es++; l mem_t ot al _val ue += I N1. t ype. anal og. val ue; } } / **************************
**********/
/ * Out put i nf or mat i on. / **************************
*/ **********/
/ / Wr i t e to OUT1 because i t i s a req ui r ed out put . OUT1. t ype. anal og. val ue = l mem_t ot al _val ue; Wr i t eOut put ( 1, &OUT1) ; / / Wr i t e t o OUT2 onl y i f i t i s connect ed. i f ( ! __ PB_I SDUMMYSI D__ ( OUT2) ) { OUT2. t ype. anal og. val ue = ( f l oat ) l mem_num_s ampl es; Wr i t eOut put ( 2, &OUT2) ; } r et ur n 0; } ############################################################
APC_002
247
11.10 To create a PBLOCK algorithm
11.1 0. 4
PBLOC K algorithm
runti me error codes
Once the PBLOCK algorithm is loaded into the Controller, runtime errors may occur. The Ovation system reports error messages through the general message display (GMD) (in Solaris) or the Error Log (in Windows.) When any of these errors occur, the PBLOCK algorithm aborts execution. Below is the C-language name of the error code and its value. PBLOCK algorithm runt ime error codes E RROR C O D E INVALID_PIN_ACCESS
V A L UE 1
D ESCRIPTION The program has attempted to read an unused or undefined or has pin, attempted write to an unused or pin, undefined or has to attempted to write to the pin from an uninitialized point record.
248
INVALID_SYSCALL
2
The mechanism used to call library functions includes an enumerated type specifying the function. If the function is not supported, this error is generated. Normally, this error would not occur unless the user mixes revisions of source code and the algorithm so that an unsupported library function is called.
ARRAY_BOUNDS_ERROR
3
The programmer attempted to access an array element outside of the actual array.
INVALID_OPCODE
4
The MIPs instruction is not supported by the algorithm. TRAP instructions, MIPs 64, and MIPsREV II are not supported.
JUMP_OUT_OF_RANGE
5
A jump instruction will take the program to an invalid location. This does not occur unless the programmer has erroneously calculated a target address.
DIVIDE_BY_ZERO
6
The denominator of allisdivide instructions is tested before the instruction executed.
INSTRUCTION_COUNT_EXCEEDED
7
To prevent the programmer from consuming excessive duty cycle, the count of instructions executed is limited. You can adjust the available duty cycle within the sheet by modifying the XR field in the algorithm.
ARG_NOT_MIPS_INSTRUCTION
8
The MIPs instruction pointer is set to an argument that is not a MIPs instruction. This could be the result of an incorrect jump or branch.
LOAD_ERR_NO_SENTINEL
9
At the end of the MIPs program is a signature. If there is some kind of load error, or the program is too large, and the signature, or sentinel is not detected, the program will not run.
ILLEGAL_SQRT
10
The program has attempted to calculate the square root of a negative number.
UNSUPPORTED_FMT
11
MIPs instructions can operate on 32-bit float, 64-bit float ( double), and 32-bit fixed point. The compiler has generated an instruction specifying a different format.
APC_002
11.10 To create a PBLOCK algorithm
E RROR C O D E
APC_002
V A L UE
D ESCRIPTION
STACK_VIOLATION
12
As with most processors, when a subroutine is called, the stack is adjusted to make room for variables. In the case of Ovation algorithms, all variables are on the stack, s o it is possible to adjust the stack outside of the valid range. This error can also occur if the programmer creates a recursive routine but does not properly return from it.
VARIABLE_ADDR_VIOLATION
13
Each access of a variable is tested to ensure that the variable is within the algorithm memory. This error indicates the program data space is too large, or that an address calculation is not correct.
LC_RECORD_ACCESS_ERROR
14
One of the support functions allows you to access fields of the LC record. This error is generated if the LC record does not exist, or if there is any other error locating or accessing the LC record.
249
S
ECTION
12
Using th e Ovation Se quence C oor din ator algori thm package
IN THIS SECTION What is the Ovation Sequence Coordinator algorithm package? ...................................251 What is the SCTask algorithm?....................................................................................... 254 What are the SCStep and SCStepNA algorithms?.........................................................277 What is the SCAction algorithm? .................................................................................... 297
12 .1 What is the O vation Se quence C oord inator algori
thm package?
The Ovation Sequence Coordinator algorithm package contains a set of interacting algorithms:
SCTask (see page 254) -- entry point for the sequential control function to be performed and directs all subsequent steps to execute.
SCStep (see page 277) -- defines a single step to complete a portion of a task.
SCStepNA (see page 277) -- similar to SCStep, but does not support SCActions.
SCAction (see page 297) -- defines a single action that needs to be taken to complete a portion of a step.
The Ovation Sequence Coordinator algorithm package starts with an overall task which defines a sequential control function that needs to be performed. You can complete the task by defining individual actions and controlling those actions via steps.
APC_002
251
12.1 What is the Ovation Sequence Coordinator algorithm package?
12.1 .1 Rules for
usin g th e Ova tion Sequence Coordinator
algorith m package
Use the following rules when using the Ovation Sequence Coordinator algorithm package. WARNING! When changing a step or action, or the point names of a task, step, or action, the corresponding task, step or action must be in a finished state before loading the Controller. Failure to do so could cause the task to post an error to the Error Log which will require the task to be aborted.
You must have an Ovation software release of 3.2 or later in order to support the Ovation Sequence Coordinator algorithm package
Use the SCTask communicates toalgorithm SCSteps.as the top-level control function to be performed. SCTask only
Each SCTask can have up to three sequence modes. These sequence modes are a group of steps connected together. They are called Sequence 1, Sequence 2, and Abort.
SCStep and SCStepNA algorithms communicate to SCTask algorithms. Only SCStep algorithms communicate with SCAction algorithms.
Up to 50 SCStep or SCStepNA algorithms can be connected to one SCTask for any given sequence mode.
Each SCStep and SCStepNA algorithm must be assigned a user-defined point name.
SCAction algorithms communicate to SCStep algorithms.
Up to eight SCAction algorithms can be driven from a single SCStep algorithm, for a possible total of 400 SCActions for one sequence mode per SCTask.
Each SCAction must be assigned a user-defined point name.
When populating the description fields, double quotation marks will cause an error in the Sequence Coordinator Previewer.
Each SCStep can be connected to four other SCSteps or four other SCStepNAs or a
combination of the two. Each SCStepNA can be connected to four other SCSteps or four other SCStepsNAs or a combination of the two.
One SCStep can communicate with multiple SCActions.
A single SCStep or SCStepNA can be connected to multiple SCTasks.
A single SCAction can be connected to multiple SCSteps.
Note: All connected SC algorithms must reside in the same Controller and in the same control task area.
252
APC_002
12.1 What is the Ovation Sequence Coordinator algorithm package?
12.1 .2 Visual interpr
etation of
Ovation Sequence Coordinator
algorith ms
The following figure shows a visual interpretation of the Ovation Sequence Coordinator algorithms and how they work together.
Figure 70 : Sequence Coordinator algorith
APC_002
ms
253
12.2 What is the SCTask algorithm?
12. 2 What is the SCT ask algor it hm? The SCTask algorithm is the entry point for the sequential control function to be performed. This algorithm directs all subsequent steps to execute. The SCTask collects status information from the current running SCStep and passes this information as outputs from the SCTask. SID information for each SCStep will be passed from all downstream SCSteps up to the SCTask. This allows the SCTask and currently active SCStep status information to be viewed from the SCTask level. You must provide a user-defined point name for each SCTask.
12. 2.1 Task desc rip tio n You may provide a description for each SCTask (DESC parameter) using the Property Editor in the Control Builder. The DESC field is not tunable from signal diagrams. The description can be a maximum of 80 characters.
12.2 .2 Historic al i nform ation A historical record of the SCStep sequence for a particular task execution is stored in the SCTask for the user to view. The last 50 running steps will be retained for historical purposes. This information will be stored until the user switches sequences or the SCTask has finished and has been restarted. Note: A step is placed into the history table when it starts. If the step does not complete, it will still appear in the history table.
254
APC_002
12.2 What is the SCTask algorithm?
12. 2.3 SCT ask operati on Ready The SCTask has a READY pin that must be set in order for the SCTask to start. If the pin is reset and the SCTask has not already been started, the SCTask is considered to be disabled and will not accept start commands. If the SCTask is started when the ready pin is reset, it will not be disabled until the entire SCTask has finished. If the task is finished, the ready bit will set TRUE in the STAT point to indicate that the task is ready to be started again. If the ready pin is not connected, by default the SCTask will assume that it is ready. Sequence 1 and Sequenc e 2 You can configure two independent sequences using the FSSQ1 (First Step Sequence 1) and FSSQ2 (First Step Sequence 2) pins. Sequence 1 executes when the STRT1 pin is set. STRT1 should be a pulsed input. When the STRT1 pin is set, if sequence 2 is running, the current running step immediately resets all associated action state pins and stops executing. Sequence 1 then executes. Once the first step in Sequence 1 is finished, the transition conditional of the first step will be evaluated, and the SCTask will continue with all subsequent steps. You may also use the CST1 (Conditional Start 1), and the PST1 (Permissive Start 1) pins. These pins are used together. If the CST1 pin is set, Sequence 1 will start only if PST1 is also set. If PST1 is not connected, it will default to 1. STRT1 and STRT2 have priority over the CST1 and PST1 pins. Sequence 2 executes when the STRT2 pin is set and the FSSQ2 pin is connected to a step. If both STRT1 and STRT2 are set at the same time, Sequence 1 will take priority. When the STRT2 pin is set and if Sequence 1 is running, the current running step will immediately reset all associated action state pins and stop executing. Sequence 2 will then execute. Once the first step in Sequence 2 is finished, the transition conditional of the first step will be evaluated and the SCTask will continue with all subsequent steps. You may also use the CST2 (Conditional Start 2), and the PST2 (Permissive Start 2) pins. These pins are used together. If the CST2 pin is set, Sequence 2 will start only if PST2 is also set. If PST2 is not connected, it will default to 1. STRT1 and STRT2 have priority over the CST2 and PST2 pins. Hold Once started, you may HOLD the SCTask. Upon holding the SCTask, if the current step is in SERIAL mode, it will stop executing once the current action has completed. If in PARALLEL mode, the current step will wait for all actions to complete before holding. Once the SCTask completes a hold, the HELD pin will set true. The SCTask will not continue until the HOLD pin is unset. Once unheld, the HELD pin will reset and the SCTask will continue from where it was held. Override If the task is in a stall due to a step or action stall, you may override the stall by setting the OVRD pin true. If the task is not currently stalled, the task will ignore the OVRD pin, unless the SOVRD parameter is configured to YES. If SOVRD is YES, you may override the step anytime the step is in the transition state.
APC_002
255
12.2 What is the SCTask algorithm?
If an override is activated, this will skip the current action, regardless of state, and move to the next action conditional if the SCStep is in serial mode. If in parallel mode, override will skip all remaining actions and evaluate the transition conditional defined in the step. In both cases, once the step completes the transition conditional, all associated actions will reset. Activating an override during a step transition will cause the step to transition to the first transition step. Ab or t The ABORT pin, when set, will abort the SCTask, and the current running step will reset all associated action states and stop executing. If an abort handler step (FSAH – First Step Abort Handler) is defined, the Abort Handler step will execute. Once the initial Abort Handler Step is finished, the transition conditional of the Abort Handler step will be evaluated and the SCTask will continue with all subsequent steps. A subsequent abort request will abort the current abort step and finish the task without rerunning the abort handler sequence. Once an abort is activated, the Abort Mode bit in the STAT2 point will be set. Manual and Au to Modes The SCTask may run in AUTO or MANUAL mode. In AUTO mode, the SCTask will automatically start the next step and continue with each subsequent step until the SCTask is finished. In MANUAL mode, the SCTask will wait for user input (MSTEP) before starting any subsequent step. The SCTask will indicate a waiting condition by setting the STALL pin true and setting the STALL status bit in the packed STAT point. If the Emergency Auto (EAUTO) parameter is set to yes, and the task is engaged using the STRT1, STRT2, or ABORT pins, then the algorithm will set its mode to AUTO and start the sequence. This parameter does not apply when using the CST1, CST2, PST1, PST2 pins.
12. 2.4 Stall p in for SCT ask The Stall pin will be set when the task, step, or action is in a Stall state. The Stat pin will display which kind of stall (task, step, or action) has occurred. There are two kinds of task stall: 1.
A task will stall when it cannot take control over the current step. The current step is being controlled by another task.
2.
A task will stall when in Manual mode, and when the current step is finished transitioning. The task will wait for user input (MSTEP) before starting any subsequent step. The Stall pin will be set until the MSTEP command is issued.
12. 2.5 Error stat us The following conditions can cause the error bit to be set in the STAT packed output point. Please check the error log for the specific error that has occurred.
256
1. 2.
The task cannot access local memory for the current active step. The task attempted to communicate with an algorithm that is not a step algorithm.
3.
The task exceeds the maximum number of steps in the current selected sequence.
APC_002
12.2 What is the SCTask algorithm?
12.2 .6 SC Ta sk Advanced
Applic ation Studio
Ad vanced Prev iew You can preview the existing step configuration while in the Control Builder by selecting the Preview button from the SCTask Advanced Application Studio. The Preview window shows the flow path of the algorithms from start to finish. Ad vanced Onlin e Graphi c An advanced graphic shows the active step and possible future steps depending on plant conditions at the moment. It also shows the last 50 steps that have run. This graphic can be accessed by using the Signal Diagram application by selecting the SCTask algorithm. Operator Graphics The SCTask algorithm stores SIDs for up to 50 connected SCSteps into fields (STPx) for each connected sequence. Sequence 1 is stored in AUX3, Sequence 2 in AUX4, and Abort Handler in AUX 5. This allows you to create a graphic for their application and only access a single SID to get operator information.
12.2 .7 SC Task func tional symb ol
APC_002
257
12.2 What is the SCTask algorithm?
12.2 .8 SC Task algorith m definiti ons Note: Algorithm record type = LC SCTask algorith m definitio ns NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
AUX1
C3
Auxiliary
Required
AUX2
C4
Auxiliary
AUX3
C5
Auxiliary
AUX4
C6
AUX5
C7
D EFAULT VA L UE
D ESCRIPTION
M I N. P OINT REC.
-
SCTask Auxiliary Record
LC
Required
-
SCTask Auxiliary Record
LC
Required
-
SCTask Auxiliary Record
LC
Auxiliary
Required
-
SCTask Auxiliary Record
LC
Inputs:
Auxiliary
Required
-
SCTask Auxiliary Record
LC
READY
-
Variable
Optional
-
When TRUE, current SCTask is enabled.
LD, LP
STRT1
* CN – Bit 9
Variable
Optional
-
Start Sequence 1
LD, LP
STRT2
* CN – Bit 8
Variable
Optional
-
Start Sequence 2
LD, LP
ABORT
* G1 – Bit0
Variable
Optional
-
Finishes current Action then stops the SCTask from proceeding. Will initiate Abort Handler Step if defined.
LD, LP
MAN
*Bit CN 13–
Variable
Optional
-
Manual – User controls Mode each step.
LD, LP
AUTO
* CN – Bit12
Variable
Optional
-
Auto Mode – SCTask automatically starts next step.
LD, LP
HOLD
* G5 – Bit 0 - Hold
Variable
Optional
-
Holds SCTask after current Action is completed.
LD, LP
Variable
Optional
-
Manual Mode Only. When user sets to 1, the SCTask will start the next step when the current step is finished. This field is only applicable when step is waiting to transition.
LD, LP
G6 - Bit 0 Unhold MSTEP
258
* G3 – Bit 0
APC_002
12.2 What is the SCTask algorithm?
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
OVRD
* G2 – Bit 0
Variable
Optional
D EFAULT VA L UE
-
D ESCRIPTION
M I N. P OINT REC.
Active step will evaluate next action conditional if in SERIAL mode.
LD, LP
Active step will evaluate transition conditional if in PARALLEL mode. CST1
* G7 - Bit 0
Variable
Optional
-
Conditional Sequence 1 Start
LD, LP
CST2
* G8 - Bit 0
Variable
Optional
-
Conditional Sequence 2 Start
LD, LP
PST1
-
Variable
Optional
-
Permissive Sequence 1 Start
LD, LP
PST2
-
Variable
Optional
-
Permissive Sequence 2 Start
LD, LP
FSSQ1
C0 - Bit 0
Variable
Required
-
First step sequence 1
LC (SID)
FSSQ2
C1 - Bit 0
Variable
Optional
-
First step sequence 2
LC (SID)
FSAH
C2 - Bit 0
Variable
Optional
-
First step abort handler. If configured, when the user aborts the SCTask, the SCTask will execute the configured step.
LC (SID)
STALL
E3
Variable
Optional
-
SCTask Stalled – Set TRUE when active Step action or transition conditional is not satisfied when evaluated or action does not execute.
LD, LP
HELD
E4
Variable
Optional
-
When HOLD pin is set true, SCTask will allow current Action to finish, then set HELD pin TRUE
LD, LP
BUSY
YC
Variable
Optional
-
When SCTask is active, BUSY pin is set TRUE
LD, LP
STEP
Y9
Variable
Optional
-
Current Active Step Sid
PD
STEPT
R1
Variable
Optional
-
Amount of time current step has been running (sec). Resets after 24 hours.
LA
STEPD
R2
Variable
Optional
-
Amount of delay time left in step (sec).
LA
Outputs:
APC_002
259
12.2 What is the SCTask algorithm?
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
STAT
E8
Variable
Optional
STAT2
Y8
Variable
D EFAULT VA L UE
-
Optional
-
D ESCRIPTION
M I N. P OINT REC.
Status and related bit number:
LP
Disabled - 0
Ready - 1
Started - 2
Hold - 3
Unhold - 4
Error - 5
Finished - 6
Sequence 1 Request - 7
Sequence 2 Request - 8
Abort Request - 9
Man/Auto Mode - 10
Emergency Auto - 11
Stall - Action - 12
Stall - Step - 13
Stall - Task - 14
Status and related bit number:
LP
Sequence 1 Mode - 0
Sequence 2 Mode - 1
Abort Mode - 2
Params: DESC
TT
Data Init.
Optional
TASKT
R3
Alg. Init.
Variable
RMOD
D0
Alg. Init.
Variable
-
User defined description of this SCTask.
-
0
Amount of time current task has been running (sec). Resets after 24 hours.
-
0
Run Mode:
-
0 – Sequence 1 1 – Sequence 2 2 – Abort Sequence TSTAL
YQ
Alg. Init.
Variable
0
Task Stall Code:
-
1 – Current Step is Busy with another Task. 2 – Waiting for MSTEP.
260
APC_002
12.2 What is the SCTask algorithm?
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
SSTAL
D2
Alg. Init.
Variable
0
Step Stall Code:
M I N. P OINT REC. -
1 – Associated Action is Busy. 2 – Current Action Conditional is not satisfied. 3 – No Transition. Conditional is satisfied. ASTAL
YP
Alg. Init.
Variable
0
Action Stall Code: 1 – Ready pin is not set TRUE.
-
2 – PASS pin is not set TRUE within EST. IPINS
B0
Alg. Init.
Variable
0
Task Input Pin Signals: Ready – Bit 0, Strt1 – Bit 1, Cst1 – Bit 2, Pst1 – Bit 3, Strt2 – Bit 4, Cst2 – Bit 5, Pst2 – Bit 6, Abort – Bit 7, Auto – Bit 8, Man – Bit 9, Hold – Bit 10, Mstep – Bit 11, Ovrd – Bit 12
OVRDA
D4
Alg. Init
Variable
0
Override Available
-
0 – No, 1 - Yes * The asterisk indicates that this is a command field, not a feedback field. A command field can be used as a user-interface to the algorithm. It drives the algorithm to perform a function.
12.2 .9 Auxil iary SCTa sk algorith m d efinitio ns No. 1 NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
DIAG
LU
Data Init
Required
0
Tuning Diagram Number
EAUTO
X1
Data Init.
Required
0
0 – Off – Auto mode will not engage automatically 1 – On – Auto mode will engage when STRT1, STRT2, and ABORT pins are used.
SOVRD
X3
Data Init.
Required
0
Step Override 0 – No – Only override during stall 1 – Yes – Override anytime during transition
STH1
APC_002
B0
Alg. Init.
Variable
0
Step History – 1st step – current running step
261
12.2 What is the SCTask algorithm?
262
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
STH2
B1
Alg. Init.
Variable
0
Step History – 2nd step
STH3
B2
Alg. Init.
Variable
0
Step History – 3rd step
STH4
YU
Alg. Init.
Variable
0
Step History – 4th step
STH5
B4
Alg. Init.
Variable
0
Step History – 5th step
STH6
B5
Alg. Init.
Variable
0
Step History – 6th step
STH7
B6
Alg. Init.
Variable
0
Step History – 7th step
STH8
B7
Alg. Init.
Variable
0
Step History – 8th step
STH9
B8
Alg. Init.
Variable
0
Step History – 9th step
STH10
B9
Alg. Init.
Variable
0
Step History – 10th step
STH11
C0
Alg. Init.
Variable
0
Step History – 11th step
STH12
C1
Alg. Init.
Variable
0
Step History – 12th step
STH13
C2
Alg. Init.
Variable
0
Step History – 13th step
STH14
C3
Alg. Init.
Variable
0
Step History – 14th step
STH15
C4
Alg. Init.
Variable
0
Step History – 15th step
STH16
C5
Alg. Init.
Variable
0
Step History – 16th step
STH17
C6
Alg. Init.
Variable
0
Step History – 17th step
STH18
C7
Alg. Init.
Variable
0
Step History – 18th step
STH19
C8
Alg. Init.
Variable
0
Step History – 19th step
STH20
YT
Alg. Init.
Variable
0
Step History – 20th step
STH21
D0
Alg. Init.
Variable
0
Step History – 21st step
STH22
YQ
Alg. Init.
Variable
0
Step History – 22nd step
STH23
D2
Alg. Init.
Variable
0
Step History – 23rd step
STH24
YP
Alg. Init.
Variable
0
Step History – 24th step
STH25
D4
Alg. Init.
Variable
0
Step History – 25th step
STH26
D5
Alg. Init.
Variable
0
Step History – 26th step
STH27
D6
Alg. Init.
Variable
0
Step History – 27th step
STH28
YN
Alg. Init.
Variable
0
Step History – 28th step
STH29
D8
Alg. Init.
Variable
0
Step History – 29th step
STH30
D9
Alg. Init.
Variable
0
Step History – 30th step
STH31
YM
Alg. Init.
Variable
0
Step History – 31st step
STH32
YL
Alg. Init.
Variable
0
Step History – 32nd step
STH33 STH34
E2 E3
Alg. Init. Alg. Init.
Variable Variable
0 0
Step History – 33rd step Step History – 34th step
STH35
E4
Alg. Init.
Variable
0
Step History – 35th step
APC_002
12.2 What is the SCTask algorithm?
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
STH36
YC
Alg. Init.
Variable
0
Step History – 36th step
STH37
Y9
Alg. Init.
Variable
0
Step History – 37th step
STH38
E7
Alg. Init.
Variable
0
Step History – 38th step
STH39
E8
Alg. Init.
Variable
0
Step History – 39th step
STH40
Y8
Alg. Init.
Variable
0
Step History – 40th step
STH41
Y7
Alg. Init.
Variable
0
Step History – 41st step
STH42
Y6
Alg. Init.
Variable
0
Step History – 42nd step
STH43
XY
Alg. Init.
Variable
0
Step History – 43rd step
STH44
XW
Alg. Init.
Variable
0
Step History – 44th step
STH45
F4
Alg. Init.
Variable
0
Step History – 45th step
STH46
F5
Alg. Init.
Variable
0
Step History – 46th step
STH47
F6
Alg. Init.
Variable
0
Step History – 47th step
STH48
XV
Alg. Init.
Variable
0
Step History – 48th step
STH49
XU
Alg. Init.
Variable
0
Step History – 49th step
STH50
XR
Alg. Init.
Variable
0
Step History – 50th step
12.2 .1 0
Auxi liary SC Ta sk algorith m definiti ons No. 2 NA ME
L A L G. ECORD RC F IELD
TYPE
EQUIRED R O PTIONAL /
STH1
B0
Alg. Init.
Variable
EFAULT D VA L UE
0
D ESCRIPTION
Step History – 1st step disable/override
I N. M P OINT R ECORD
-
Bit 0 – Step Disabled Bit 1 – Action 1 Override Bit 2 – Action 2 Override Bit 3 – Action 3 Override Bit 4 – Action 4 Override Bit 5 – Action 5 Override Bit 6 – Action 6 Override Bit 7 – Action 7 Override Bit 8 – Action 8 Override Bit 9 – Transition Override Bit 10 – MSTEP activated Bit 11 – Step Aborted STH2
APC_002
B1
Alg. Init.
Variable
0
Step History – 2nd step
-
263
12.2 What is the SCTask algorithm?
NA ME
264
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
M I N. P OINT R ECORD
STH3
B2
Alg. Init.
Variable
0
Step History – 3rd step
-
STH4
YU
Alg. Init.
Variable
0
Step History – 4th step
-
STH5
B4
Alg. Init.
Variable
0
Step History – 5th step
-
STH6
B5
Alg. Init.
Variable
0
Step History – 6th step
-
STH7
B6
Alg. Init.
Variable
0
Step History – 7th step
-
STH8
B7
Alg. Init.
Variable
0
Step History – 8th step
-
STH9
B8
Alg. Init.
Variable
0
Step History – 9th step
-
STH10
B9
Alg. Init.
Variable
0
Step History – 10th step
-
STH11
C0
Alg. Init.
Variable
0
Step History – 11th step
-
STH12
C1
Alg. Init.
Variable
0
Step History – 12th step
-
STH13
C2
Alg. Init.
Variable
0
Step History – 13th step
-
STH14
C3
Alg. Init.
Variable
0
Step History – 14th step
-
STH15
C4
Alg. Init.
Variable
0
Step History – 15th step
-
STH16
C5
Alg. Init.
Variable
0
Step History – 16th step
-
STH17
C6
Alg. Init.
Variable
0
Step History – 17th step
-
STH18
C7
Alg. Init.
Variable
0
Step History – 18th step
-
STH19
C8
Alg. Init.
Variable
0
Step History – 19th step
-
STH20
YT
Alg. Init.
Variable
0
Step History – 20th step
-
STH21
D0
Alg. Init.
Variable
0
Step History – 21st step
-
STH22
YQ
Alg. Init.
Variable
0
Step History – 22nd step
-
STH23
D2
Alg. Init.
Variable
0
Step History – 23rd step
-
STH24
YP
Alg. Init.
Variable
0
Step History – 24th step
-
STH25
D4
Alg. Init.
Variable
0
Step History – 25th step
-
STH26
D5
Alg. Init.
Variable
0
Step History – 26th step
-
STH27
D6
Alg. Init.
Variable
0
Step History – 27th step
-
STH28
YN
Alg. Init.
Variable
0
Step History – 28th step
-
STH29
D8
Alg. Init.
Variable
0
Step History – 29th step
-
STH30
D9
Alg. Init.
Variable
0
Step History – 30th step
-
STH31
YM
Alg. Init.
Variable
0
Step History – 31st step
-
STH32
YL
Alg. Init.
Variable
0
Step History – 32nd step
-
STH33
E2
Alg. Init.
Variable
0
Step History – 33rd step
-
STH34 STH35
E3 E4
Alg. Init. Alg. Init.
Variable Variable
0 0
Step History – 34th step Step History – 35th step
-
STH36
YC
Alg. Init.
Variable
0
Step History – 36th step
-
APC_002
12.2 What is the SCTask algorithm?
NA ME
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
STH37
Y9
Alg. Init.
Variable
0
Step History – 37th step
-
STH38
E7
Alg. Init.
Variable
0
Step History – 38th step
-
STH39
E8
Alg. Init.
Variable
0
Step History – 39th step
-
STH40
Y8
Alg. Init.
Variable
0
Step History – 40th step
-
STH41
Y7
Alg. Init.
Variable
0
Step History – 41st step
-
STH42
Y6
Alg. Init.
Variable
0
Step History – 42nd step
-
STH43
XY
Alg. Init.
Variable
0
Step History – 43rd step
-
STH44
XW
Alg. Init.
Variable
0
Step History – 44th step
-
STH45
F4
Alg. Init.
Variable
0
Step History – 45th step
-
STH46
F5
Alg. Init.
Variable
0
Step History – 46th step
-
STH47
F6
Alg. Init.
Variable
0
Step History – 47th step
-
STH48
XV
Alg. Init.
Variable
0
Step History – 48th step
-
STH49
XU
Alg. Init.
Variable
0
Step History – 49th step
-
STH50
XR
Alg. Init.
Variable
0
Step History – 50th step
-
12.2 .1 1
D EFAULT VA L UE
D ESCRIPTION
M I N. P OINT R ECORD
Auxi liary SC Ta sk algorith m definiti ons No. 3 - 5 NA ME
L C AL G. R ECORD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
F IELD
M I N. P OINT R ECORD
Note: Ea ch auxili ary record co ntains all th e SIDs for each conn ected step in a sequence. Aux. 3 is for Sequence 1 , Aux. 4 is for Sequence 2, and Aux. 5 is for Abort.
APC_002
STP1
B0
Alg. Init.
Variable
0
Initial Step
-
STP2
B1
Alg. Init.
Variable
0
Transition Step
-
STP3
B2
Alg. Init.
Variable
0
Transition Step
-
STP4
YU
Alg. Init.
Variable
0
Transition Step
-
STP5
B4
Alg. Init.
Variable
0
Transition Step
-
STP6
B5
Alg. Init.
Variable
0
Transition Step
-
STP7
B6
Alg. Init.
Variable
0
Transition Step
-
STP8
B7
Alg. Init.
Variable
0
Transition Step
-
STP9
B8
Alg. Init.
Variable
0
Transition Step
-
STP10
B9
Alg. Init.
Variable
0
Transition Step
-
STP11
C0
Alg. Init.
Variable
0
Transition Step
-
STP12
C1
Alg. Init.
Variable
0
Transition Step
-
STP13
C2
Alg. Init.
Variable
0
Transition Step
-
265
12.2 What is the SCTask algorithm?
266
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
M I N. P OINT R ECORD
STP14
C3
Alg. Init.
Variable
0
Transition Step
-
STP15
C4
Alg. Init.
Variable
0
Transition Step
-
STP16
C5
Alg. Init.
Variable
0
Transition Step
-
STP17
C6
Alg. Init.
Variable
0
Transition Step
-
STP18
C7
Alg. Init.
Variable
0
Transition Step
-
STP19
C8
Alg. Init.
Variable
0
Transition Step
-
STP20
YT
Alg. Init.
Variable
0
Transition Step
-
STP21
D0
Alg. Init.
Variable
0
Transition Step
-
STP22
YQ
Alg. Init.
Variable
0
Transition Step
-
STP23
D2
Alg. Init.
Variable
0
Transition Step
-
STP24
YP
Alg. Init.
Variable
0
Transition Step
-
STP25
D4
Alg. Init.
Variable
0
Transition Step
-
STP26
D5
Alg. Init.
Variable
0
Transition Step
-
STP27
D6
Alg. Init.
Variable
0
Transition Step
-
STP28
YN
Alg. Init.
Variable
0
Transition Step
-
STP29
D8
Alg. Init.
Variable
0
Transition Step
-
STP30
D9
Alg. Init.
Variable
0
Transition Step
-
STP31
YM
Alg. Init.
Variable
0
Transition Step
-
STP32
YL
Alg. Init.
Variable
0
Transition Step
-
STP33
E2
Alg. Init.
Variable
0
Transition Step
-
STP34
E3
Alg. Init.
Variable
0
Transition Step
-
STP35
E4
Alg. Init.
Variable
0
Transition Step
-
STP36
YC
Alg. Init.
Variable
0
Transition Step
-
STP37
Y9
Alg. Init.
Variable
0
Transition Step
-
STP38
E7
Alg. Init.
Variable
0
Transition Step
-
STP39
E8
Alg. Init.
Variable
0
Transition Step
-
STP40
Y8
Alg. Init.
Variable
0
Transition Step
-
STP41
Y7
Alg. Init.
Variable
0
Transition Step
-
STP42
Y6
Alg. Init.
Variable
0
Transition Step
-
STP43
XY
Alg. Init.
Variable
0
Transition Step
-
STP44
XW
Alg. Init.
Variable
0
Transition Step
-
STP45 STP46
F4 F5
Alg. Init. Alg. Init.
Variable Variable
0 0
Transition Step Transition Step
-
STP47
F6
Alg. Init.
Variable
0
Transition Step
-
APC_002
12.2 What is the SCTask algorithm?
NA ME
L C AL G. R ECORD F IELD
STP48
XV
Alg. Init.
Variable
0
Transition Step
-
STP49
XU
Alg. Init.
Variable
0
Transition Step
-
STP50
XR
Alg. Init.
Variable
0
Transition Step
-
12.2 .1 2
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
M I N. P OINT R ECORD
Accessi ng advanced editing for the SCTask algorith m in the Control
Builder To access the Advanced Applications Studio for the SCTask algorithm, refer to To use the Advanced Applications Studio to view and edit advanced algorithms (see page 20). SCTask algorithm I/OConfiguration tab The Input/Output Configuration tab allows you to view configured algorithm input/output parameters for the SCTask algorithm. This tab is informational only. You cannot edit options from this dialog box or sort the columns in this table.
Figure 71 : Adv anced editor wi ndow for SCT ask algorithm -- I/O Configur ation tab The Previewer button displays a window that gives you a visual representation of a task and how the steps and actions are connected. Refer to Using the SCTask algorithm Previewer window (see page 269) for more information.
APC_002
267
12.2 What is the SCTask algorithm?
SCTask algorithm General Information tab The General Information tab allows you to configure the Emergency Auto Mode (EAUTO) and the Step Override Mode (SOVRD) parameters. For more information on EAUTO and SOVRD, refer to SCTask operation (see page 255). Make the desired selections for the parameters and select the OK button to save your choices and close the window. Select the Close button to close the window without saving any changes.
Figure 72 : Advanced editor window for SCT ask algorithm - General Information tab The Previewer button displays a window that gives you a visual representation of a task and how the steps and actions are connected. Refer to Using the SCTask algorithm Previewer window (see page 269) for more information.
268
APC_002
12.2 What is the SCTask algorithm?
12.2 .1 3
Using the SC Ta sk algorith m Pre viewer windo w
Select the Previewer button on the Sequence Coordinator Task Editor window and the Previewer window appears showing the Task that you have displayed on the Control Builder canvas. See the following figure.
Figure 73: Pre viewer window The Previewer window provides a visual summary of everything that is associated with a task. The window can be configured to show different colors and line types, and can be changed to show the different sequences associated with a task. The following table lists and describes the options found on the File menu. Previewer window -- File menu op tions M ENU I T E M
APC_002
D ESCRIPTION
Configure
Displays the Configuration window that allows you to change the colors associated with steps and line styles.
Print
Prints the task that is shown on the Previewer window.
269
12.2 What is the SCTask algorithm?
M ENU I T E M
D ESCRIPTION
Errors
If there is an error in the file, this option displays the error message and the line that contains the error.
Exit
Quits the Previewer window.
Note: You can access another menu by right-clicking on the white space of the Previewer window. See Understanding the Previewer window right-click menu (see page 273). Understanding the Previe wer Configuration w indow The Previewer Configuration window allows you to define different colors and line styles for each step of a task sequence. You can also choose between a white or a black background color. To use the Pre viewer C onfigu ration window 1.
Select the Previewer button on the Sequence Coordinator Task Editor window. The Previewer window appears.
2.
Pull down the File menu, and select Configure . The Previewer Configuration window appears.
Figure 74 : Previewe r - Configur ation wind ow 3.
270
Select a sequence from the tabs at the top of the window.
APC_002
12.2 What is the SCTask algorithm?
4.
To change a color for a step, double-click in the row in the Selected Color column that is beside the step that you want to change. The Select color window appears.
Figure 75 : Sele ct co lor win dow -- accessed from Previewe r Configuration window 5.
Select a color from the Basic colors palette or define different colors using the custom colors
information at the bottom of the window. 6. Once you have selected a color, press the OK button to accept the color and exit the Select color window. Press the Cancel button to exit the window without selecting any color. 7.
To set the same color for all the steps, select Set All Colors button on the Previewer Configuration window. The Select color window appears. See Steps 5 and 6.
8.
To change a line style for a step, double-click in the row in the Line Style column that is beside the step that you want to change. A menu of list styles appears. Select a line style from the menu.
APC_002
271
12.2 What is the SCTask algorithm?
9.
To set the same line style for all the steps, select Set All Lines button on the Previewer Configuration window. The line style menu appears. Select a line style.
Figure 76: Line Style menu 10. To set the colors and line styles back to the last saved settings, select the Reset button. 11. Select a background color for the Preview window, by choosing either the White or Black radio button in the Default Background section of the window. 12. Select the Ok button to save your changes and exit the window. Select the Cancel button to exit the window without saving any changes.
272
APC_002
12.2 What is the SCTask algorithm?
Understanding the Previe wer window right-click m enu The Previewer window right-click menu allows you to select different sequences to appear on the window. You can also show or hide different lines in a step sequence.
Figure 77: Previewer - Right-click menu The following table lists and describes the options found on the right-click menu. Previewer window -- Right- click m enu option s
APC_002
M ENU I T E M
D ESCRIPTION
Sequence 1
If selected, Sequence 1 appears on the Previewer window. A checkmark appears and the text is grayed out.
Sequence 2
If selected, Sequence 2 appears on the Previewer window. A checkmark appears and the text is grayed out.
Abort
If selected, the Abort sequence appears on the Previewer window. A checkmark appears and the text is grayed out.
Activate (Show) All Step Lines (per configuration)
If selected, all of the step lines for this sequence appear on the Previewer window.
273
12.2 What is the SCTask algorithm?
M ENU I T E M
D ESCRIPTION
De-activate (Hide) All Unselected Lines
If selected, hides any step lines in the sequence that are not selected on the Previewer window. This allows clear visibilty of one step path to be shown on the window.
De-activate (Hide) All Lines
If selected, hides all of the step lines for this sequence in the Previewer window.
White
If selected, the background color of the Previewer window will be white.
Black
If selected, the background color of the Previewer window will be black.
12.2 .1 4 Accessi ng the Advanced Signal Diagrams
Tuning wind ow for the SC Ta sk algorith m in
To access advanced editing in signal diagrams, see To access the Advanced Tuning window for APC Toolkit algorithms in signal diagrams (see page 28). SCTask advanced tuning window -- Selected Step tab From a signal diagram, right-click on an SCTask algorithm, and select Advanced Tuning from the menu that displays. The Advanced Tuning window for SCTask appears (see the following figure).
Figure 78 : Advanced tu ning window in sig nal diagrams for SCTask algorith m -- Selected Step tab
274
APC_002
12.2 What is the SCTask algorithm?
The previous figure shows the information for the Selected Step tab. The Selected Step tab shows you all the steps for the task you selected. You may modify any field that has a white background. Fields that have a background shaded with a color cannot be edited. The exception to this is for the CS column (Conditional Statement). This column cannot be edited, even though the background is white. If the text appears in red, it means that the conditional evaluates to false. If the text appears in green, the conditional evalutes to true. Notice on the left side of the Advanced Tuning window there is a hierarchy of sequence modes. You can expand or collapse the hierarchy by clicking on the "+" or "-" signs. By expanding the hierarchy, you can access different steps in different sequences. SCTask advanced tu ning window -- Selecte d Acti ons tab From a signal diagram, right-click on an SCTask algorithm, and select Advanced Tuning from the menu that displays. The Advanced Tuning window for SCTask appears (see the following figure).
Figure 79 : Advanced tu ning window in sig nal diagrams for SCTask algorith m -- Selected Ac ti on s t ab The figure above shows the information for the Selected Actions tab. The Selected Actions tab shows you all the actions associated with the step you selected in the hierarchy. You can expand or collapse the hierarchy by clicking on the "+" or "-" signs. By expanding the hierarchy, you can access different steps or actions in different sequences. Note that you may modify any field that has a white background. Fields that have a background shaded with a color cannot be edited.
APC_002
275
12.2 What is the SCTask algorithm?
SCTask advanced tuni ng win dow -- History tab From a signal diagram, right-click on an SCTask algorithm, and select Advanced Tuning from the menu that displays. The Advanced Tuning window for SCTask appears (see the following figure).
Figure 80 : Advanced tunin g wind ow in signal diagrams for
SCTask algorith m -- History tab
The figure above shows the information for the History tab. The History tab shows the last 50 steps that were running for this task. The fields cannot be edited. Notice on the left side of the Advanced Tuning window there is a hierarchy of sequence modes. You can expand or collapse the hierarchy by clicking on the "+" or "-" signs. By expanding the hierarchy, you can access different steps in different sequences.
276
APC_002
12.3 What are the SCStep and SCStepNA algorithms?
12. 3 What a re the SC Step a nd SC StepNA algo rit hms ? The SCStep and the SCStepNA algorithms define a single step to complete a portion of a task. There can be up to 50 total steps per SCTask sequence, which can be a combination of SCStep and SCStepNA algorithms. The difference between the SCStep and SCStepNA algorithms is that the SCStepNA algorithm does not support SCActions or the eight AUX records associated with the actions. The pins that SCStep uses to support SCAction functions are not applicable for the SCStepNA algorithm. Note: Throughout this section, most of the information applies to both the SCStep and the SCStepNA algorithms. When a feature only applies to the SCStep algorithm, it will be clearly noted. You may provide a description for each step (DESC parameter) using the Property Editor in the Control Builder. The DESC field is tunable from signal diagrams. The description can be a maximum of 80 characters. For the SCStep algorithm, each step can control up to eight actions. Note: The SCStepNA algorithm is available for Ovation releases 3.3.1 and 3.4.0 only.
12.3 .1 Busy Signal and
Communic ation
Once the SCStep/SCStepNA receives a command from an SCTask, it determines if it is busy or not. The SCStep/SCStepNA is busy any time another SCTask is communicating with it and sets the BUSY signal pin to TRUE. When busy, the SCStep/SCStepNA will communicate to the SCTask that it is busy. The SCTask will then set the STALL pin TRUE. The SCTask will continue to request the SCStep/SCStepNA until the Step is not busy. Once it is not busy, the SCStep/SCStepNA will start. The SCTASK parameter is set with the SID of the current controlling SCTask when SCStep/SCStepNA is busy. This field is cleared after the controlling SCTask is done with the algorithm. The step time pin (STEPT) counts the seconds that a SCStep/SCStepNA is busy.
APC_002
277
12.3 What are the SCStep and SCStepNA algorithms?
12.3 .2 Acti on c ondit ionals and qualifi
ers for SC Step
Configuration The SCStep sends commands to SCActions if an action conditional is satisfied. Action conditionals are defined using a logic generator (Conditional window) accessed through the Advanced Applications Studio in the Control Builder. The Conditional window allows you to use logical ORs and ANDs in order to program a conditional. The order of evaluation will be left to right, and no grouping is allowed. See Creating a conditional for the SCStep algorithm (see page 294). Operation When the step starts, it determines if any attached Action is Busy (see SCAction (see page 297)). If any action is determined to be busy, the Step will set the STALL pin true and will evaluate the status of the SCActions again during the next control cycle. If all of the actions are not busy, the SCStep will take control of all attached actions and begin to evaluate the action conditionals. There can be up to eight action conditionals per step. The action conditional will evaluate up to eight digital inputs (C1 – C8) that are connected to the SCStep. If the action conditional is not satisfied, then the Step is stalled, and the SCTask will set the STALL pin TRUE. If the action conditional is satisfied, the step will communicate to the associated action connected to the appropriate Action SID (ASIDx) pin. For example, if Action Conditional 1 is satisfied, then the action connected to ASID1 will execute, if Action Conditional 2 is satisfied, then the action connected to ASID2 will execute, and so forth. If an Action Conditional is not defined, the step will immediately execute the attached action. If there is no action attached to the corresponding ASIDx pin, the step will proceed to its transition conditional. This means that actions must be connected consecutively. If there are actions connected to ASID1 through ASID3, then ASID4 is not connected, but if ASID 5 is connected, the step will only execute ASID1 through ASID3. ASID5 will be ignored. Once the action conditional is satisfied, the SCStep will communicate to the SCAction about what State Pin (1-4) it should set and what action qualifier it should use. You may not attempt to set the same state pin in the same action more than one time in the same step. Action Qualifiers may be one of the following:
278
Start w ithout Reset – Delays Start using ADLY parameter. Starts the appropriate State, and leaves it TRUE until the step finishes.
Start then Reset – Delays Start using ADLY parameter. Starts the appropriate State, then leaves it TRUE for configured number of seconds using AEST parameter.
Start th en wait for PASS – Delays Start using ADLY parameter, then Starts appropriate State. When PASS (SCAction) is TRUE, Action will Reset State pin. If PASS is not true within AEST, then STALL flag will be set and step will not continue until PASS is set TRUE.
Delay Acti on – Delay using ADLY parameter, but don’t set any state pins.
APC_002
12.3 What are the SCStep and SCStepNA algorithms?
12. 3.3 Serial and p arallel m odes for SCS tep You may configure the SCStep in two different modes: SERIAL or PARALLEL. In SERIAL mode, only one action conditional is evaluated at a time in sequential order. When the action conditional is satisfied, the Step will communicate the current Action and Action Qualifier. Once the Action Qualifier has finished, the Step will proceed to the next action conditional to be evaluated or to the transition conditional if there are no more action conditionals to evaluate. In PARALLEL mode, only one action conditional is evaluated for the entire step. Once the action conditional is satisfied, the Step will communicate all configured Actions and Action Qualifiers. When all Action Qualifiers have finished, the Step will proceed to the transition conditional.
12.3 .4 Transitioni
ng to next step
After the actions have finished, the SCStep will go into a transition state. (The SCStepNA algorithm will go into a transition state immediately upon starting.) The transition state will wait for the transition ready pin (TRDY) to be set before evaluating the transition conditionals. If the TRDY pin is not connected, it will default to a 1. If the Transition Wait Time (TWT) parameter is configured, the step will not evaluate any transition conditionals until the ready pin is set and the transition wait time has expired. The transition wait time does not cound down until the transition ready pin is set. Once the TWT has expired, the transition will set the Transition Active (TACT) pin true, and the transition conditionals will be evaluated. If the disabled pin is set, the TWT will be ignored. If the Transition Monitoring Time (TMT) parameter is configured and the step is currently waiting for the ready pin to be set or for a transition conditional to be satisfied, the step will not declare itself as stalled until the transition time is greater than the transition monitoring time. You must define a transition conditional in order to determine the next step to be executed. The transition conditional can evaluate any analog or digital point (TPx) in the Ovation system using the following operators: For Analogs:
Greater than.
Less Than.
Equal To.
Greater than or Equal to.
Less than or Equal to.
Not equal to.
For Digitals:
APC_002
Set.
Reset.
279
12.3 What are the SCStep and SCStepNA algorithms?
Up to four points can be evaluated. Only one transition will be permitted to activate, so if two or more conditionals are satisfied during the same control cycle, then the lower numbered transitional will be selected. The satisfied transition will set its corresponding transition pin true, and communicate to the SCTask the next step to be executed. (For SCStep only -- When the current active step is released by the SCTask, the step will reset all associated SCActions.) If no transition step is defined, the SCTask will finish. Transition Steps are defined using the Step Sid (SSIDx) input pins. SSID1 is associated with Transition 1; SSID2 is associated with Transition 2, and so forth. If no transition conditional is satisfied at the time of evaluation, then the Step will communicate to the SCTask that it is stalled, and the SCTask will set the STALL pin TRUE dependent on the Transition Monitoring Time (TMT) parameter. If no transition conditional is defined (NONE), the Step will not attempt to evaluate any points. Instead, the transition will communicate the transition step to the SCTask as the next step to be executed. If the transition conditional is DO NOT EVALUATE, the step will ignore the transition. If a conditional other than DO NOT EVALUATE is defined and no transition steps are defined, the SCTask will finish.
12. 3.5 Disabli ng the Step You can disable the step by setting the DSABL pin true. For SCStep, if the DSABL pin is set true after a step has started, it will not disable the step until the step has finished all of its actions and the transition conditional has been evaluated. Note: Since SCStepNA does not support actions, if the DSABL pin is set true after a step has started, it will not disable the step until the step has finished evaluating the transition conditionals. When the step is disabled, the SCStep/SCStepNA will set the DSABD output pin true to reflect its current state. For SCStep, once the DSABD pin is set, the step will not evaluate any action conditionals or execute any actions. The transition conditional will not be evaluated, instead the step will immediately transition to Step 1 (SSID1). For SCStepNA, once the DSABD pin is set, the transition conditional is then evaluated to determine what the next step should be.
12. 3.6 Stall p in for SCS tep and SCS tepNA There are three kinds of Step stall for SCStep: 1.
When it cannot take control over all of the associated actions. The current actions are being controlled by another step.
2.
When the current action conditional is not satisfied.
3.
When none of the transitional conditionals are satisfied while in the transition state.
There is only one kind of Step stall for SCStepNA:
280
When none of the transitional conditionals are satisfied while in the transition state.
APC_002
12.3 What are the SCStep and SCStepNA algorithms?
12.3 .7 SC Step fun ctio nal symb ol
APC_002
281
12.3 What are the SCStep and SCStepNA algorithms?
12.3 .8 SC StepN A func tional symb ol
12. 3.9 SCS tep and SCStepNA a
lgo rit hm def ini tio ns
Note: Algorithm Record Type = LC. For more information on record types, refer to Ovation Record Types Reference Manual. In the following table, the " * " beside the parameter name indicates that this parameter is only used for SCStep; not for SCStepNA. SCStep algorithm definitions NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
AUX1
B4
Auxiliary
Required
AUX2 *
B5
Auxiliary
AUX3 *
B6
AUX4 *
D EFAULT VAL UE
D ESCRIPTION
MIN. P OINT REC.
-
Auxiliary Record 1 (used for both SCStep and SCStepNA).
LC
Required
-
Action Conditional 2 Auxiliary Record (for SCStep)
LC
Auxiliary
Required
-
Action Conditional 3 Auxiliary Record (for SCStep)
LC
B7
Auxiliary
Required
-
Action Conditional 4 Auxiliary Record (for SCStep)
LC
AUX5 *
B8
Auxiliary
Required
-
Action Conditional 5 Auxiliary Record (for SCStep)
LC
AUX6 *
B9
Auxiliary
Required
-
Action Conditional 6 Auxiliary
LC
AUX7 *
C0
Auxiliary
Required
-
Record (for SCStep) Action Conditional 7 Auxiliary Record (for SCStep)
LC
Inputs:
282
APC_002
12.3 What are the SCStep and SCStepNA algorithms?
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
AUX8 *
C1
Auxiliary
Required
AUX9 *
C2
Auxiliary
DSABL
YM C3 - SID
C1 * C2 *
D ESCRIPTION
MIN. P OINT REC.
-
Action Conditional 8 Auxiliary Record (for SCStep)
LC
Required
-
Action Conditional 9 Auxiliary Record (for SCStep)
LC
Variable
Optional
-
Disable Step
LD, LP
YL
Variable
Optional
-
Action Condition 1 (for SCStep)
LD, LP
E2
Variable
Optional
-
Action Condition 2 (for SCStep)
LD, LP
C3 *
E3
Variable
Optional
-
Action Condition 3 (for SCStep)
LD, LP
C4 *
E4
Variable
Optional
-
Action Condition 4 (for SCStep)
LD, LP
C5 *
YC
Variable
Optional
-
Action Condition 5 (for SCStep)
LD, LP
C6 *
Y9
Variable
Optional
-
Action Condition 6 (for SCStep)
LD, LP
C7 *
E7
Variable
Optional
-
Action Condition 7 (for SCStep)
LD, LP
C8 *
E8
Variable
Optional
-
Action Condition 8 (for SCStep)
LD, LP
TRDY
Y8 C4 - SID
Variable
Optional
-
Transition Ready
LD, LP
TP1
R1 C5 - SID
Variable
Optional
-
Transition Point 1
LA, LD
TP2
R2 C6 - SID
Variable
Optional
-
Transition Point 2
LA, LD
TP3
R3
Variable
Optional
-
Transition Point 3
LA, LD
TP4
C7 - SID R4 C8 - SID
Variable
Optional
-
Transition Point 4
LA, LD
ASID1 *
-
ASID2 * ASID3 *
-
Optional
Variable Variable
-
Optional
Optional
SCAction 1 Point Name (for SCStep) -
-
SCAction 2 Point Name (for SCStep) SCAction 3 Point Name (for SCStep)
LC (SID) LC (SID) LC (SID)
ASID4 *
-
Variable
Optional
-
SCAction 4 Point Name (for SCStep)
LC (SID)
ASID5 *
-
Variable
Optional
-
SCAction 5 Point Name (for SCStep)
LC (SID)
ASID6 *
-
Variable
Optional
-
SCAction 6 Point Name (for SCStep)
LC (SID)
ASID7 *
-
Variable
Optional
-
SCAction 7 Point Name (for
LC (SID)
ASID8 * -
APC_002
Variable
D EFAULT VAL UE
Variable
Optional
-
SCStep) SCAction 8 Point Name (for SCStep)
LC (SID)
283
12.3 What are the SCStep and SCStepNA algorithms?
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
SSID1
G9
Variable
Optional
SSID2
B0
Variable
SSID3
B1
SSID4
B2
D EFAULT VAL UE
D ESCRIPTION
MIN. P OINT REC.
-
SCStep/SCStepNA 1 Point Name
LC (SID)
Optional
-
SCStep/SCStepNA 2 Point Name
LC (SID)
Variable
Optional
-
SCStep/SCStepNA 3 Point Name
LC (SID)
Variable
Optional
-
SCStep/SCStepNA 4 Point
LC (SID)
Name Outputs:
284
DSABD
YT Y7 - SID
Variable
Optional
-
Step Disabled – Set true when DSABL pin is set and Action is not Busy. SCTask will skip step when true, but will still evaluate transition conditional.
LD, LP
TACT
D8 Y6 - SID
Variable
Optional
-
Transition Active
LD, LP
T1
D0 XY - SID
Variable
Optional
-
Set TRUE when transitioning to SSID1.
LD, LP
T2
YQ XW - SID
Variable
Optional
-
Set TRUE when transitioning to SSID2.
LD, LP
T3
D2 F4 - SID
Variable
Optional
-
Set TRUE when transitioning to SSID3.
LD, LP
T4
YP F5 - SID
Variable
Optional
-
Set TRUE when transitioning to SSID4.
LD, LP
STEPT
R5 F6 - SID
Variable
Optional
-
Amount of time current step has been running (sec). Resets after 24 hours.
LA
ACTDT *
R6 XV - SID
Variable
Optional
-
Time left in Action Delay (sec). (SERIAL MODE ONLY) (for SCStep).
LA
ACTRT *
R7 XU - SID
Variable
Optional
-
Action Run Time (sec) (SERIAL MODE ONLY). Resets after 24 hours (for SCStep).
LA
BUSY
YN XR - SID
Variable
Optional
-
Set TRUE when SCStep/ SCStepNA is processing commands
LD, LP
APC_002
12.3 What are the SCStep and SCStepNA algorithms?
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
STAT
G3 D9 - SID
Variable
Optional
D EFAULT VAL UE
-
D ESCRIPTION
MIN. P OINT REC.
Status and related bit number:
LP
0 - Inactive. Step is not being used.
1 - Disabled. Step has been disabled.
2 - Started. Step is active.
3 - Held. The "HOLD" pin was set from the controlling
SCTask. 4 - Transition. In the Transition phase.
5 - Transition. The transition cannot be completed. (TWT is not done; TRDY pin is not set, and so forth.
6 - Transition Complete. The next step has been selected and there is a transition.
7 - Error. Not visible to user.
8 - Finished. The step is complete.
9 * - Action Stall. This is only used for SCStep.
10 - Step Stall. See Stall pin (see page 280).
11 * - Serial Mode. This is only used for SCStep.
12 * - Parallel Mode. This is only used for SCStep.
Note: Bit 11 of SCSTEPNA can only be shown as Serial since there are no actions associated with SCStepNA. Params: DESC
TT
Data Init.
Optional
-
User-defined description of this step.
-
DESC2
AJ
Data Init.
Optional
-
Auxiliary description – 8 char limit
-
CTASK
G1
Alg Init.
Variable
0
Current Controlling Task SID
CCOND *
G2
Alg Init.
Variable
0
Current Action Conditional (serial mode only) (for SCStep).
NTRAN
G4
Alg Init.
Variable
0
Current Next Transition Number
-
* Indicates that this parameter is not used for the SCStepNA algorithm.
APC_002
285
12.3 What are the SCStep and SCStepNA algorithms?
12.3 .1 0
Auxi liary SC Step and SCStepN A algorith m definiti ons No. 1 NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
DIAG
LU
Data Init
Required
0
Tuning Diagram Number
MODE *
G0
Data Init.
Required
0
0 – Serial Action Mode
T1OP
G1
Data Init.
Required
7
Transition 1 Operator
1 – Parallel Action Mode
0 – None 1 – Greater Than 2 – Less Than 3 – Equals 4 – Greater Than or Equal 5 – Less Than or Equal 6 – Not Equal 7 – SET 8 – RESET 9 – Do Not Evaluate T2OP
G2
Data Init.
Required
9
Transition 2 Operator 0 – None 1 – Greater Than 2 – Less Than 3 – Equals 4 – Greater Than or Equal 5 – Less Than or Equal 6 – Not Equal 7 – SET 8 – RESET 9 – Do Not Evaluate
286
APC_002
12.3 What are the SCStep and SCStepNA algorithms?
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
T3OP
G3
Data Init.
Required
D EFAULT VA L UE
9
D ESCRIPTION
Transition 3 Operator 0 – None 1 – Greater Than 2 – Less Than 3 – Equals 4 – Greater Than or Equal 5 – Less Than or Equal 6 – Not Equal 7 – SET 8 – RESET 9 – Do Not Evaluate
T4OP
G4
Data Init.
Required
9
Transition 4 Operator 0 – None 1 – Greater Than 2 – Less Than 3 – Equals 4 – Greater Than or Equal 5 – Less Than or Equal 6 – Not Equal 7 – SET 8 – RESET 9 – Do Not Evaluate
APC_002
T1VAR
R1
Data Init.
Required
0
Transition 1 Variable
T2VAR
R2
Data Init.
Required
0
Transition 2 Variable
T3VAR
R3
Data Init.
Required
0
Transition 3 Variable
T4VAR
R4
Data Init.
Required
0
Transition 4 Variable
TWT
C0
Tuning Constant
Required
0
Transition Wait Time – Amount of time step should be transitioning and ready before transition to next step is allowed.
TMT
C1
Tuning Constant
Required
0
Transition Monitoring Time – Amount of time step can run in Transition state before declaring a stall if TRDY pin is not set or no transition conditional is satisfied.
T1STP T2STP
G5 G6
Alg Init. Alg Init.
Variable Variable
0 0
Transition 1 Step Sid Transition 2 Step Sid
T3STP
G7
Alg Init.
Variable
0
Transition 3 Step Sid
287
12.3 What are the SCStep and SCStepNA algorithms?
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
T4STP
G8
Alg Init.
Variable
D EFAULT VA L UE
0
D ESCRIPTION
Transition 4 Step Sid
*This parameter is not used for the SCStepNA algorithm.
12.3 .1 1
Auxi liary SC Step algorith m definiti ons No. 2
The following parameters are only used for the SCStep algorithm. NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VAL UE
D ESCRIPTION
DIAG
LU
Data Init
Required
0
Tuning Diagram Number
ATVAR
G0
Data Init
Required
0
Total Variables in Action Conditional
ACOP1
X1
Data Init
Required
0
Conditional Operator 1
ACOP2
X2
Data Init
Required
0
Conditional Operator 2
ACOP3
X3
Data Init
Required
0
Conditional Operator 3
ACOP4
X4
Data Init
Required
0
Conditional Operator 4
ACOP5
X5
Data Init
Required
0
(0 – None, 1 – OR, 2 – AND) Conditional Operator 5
ACOP6
X6
Data Init
Required
0
Conditional Operator 6
ACOP7
X7
Data Init
Required
0
Conditional Operator 7
AVAR1
G1
Data Init
Required
0
1st Conditional Pin to Evaluate (1 – 8)
(0 – None, 1 – OR, 2 – AND)
(0 – None, 1 – OR, 2 – AND)
(0 – None, 1 – OR, 2 – AND)
(0 – None, 1 – OR, 2 – AND)
(0 – None, 1 – OR, 2 – AND)
(0 – None, 1 – OR, 2 – AND)
0 – NONE, 1 – C1, 2 – C2, 3 – C3, 4 – C4, 5 – C5, 6 – C6, 7 – C7, 8 – C8 AVAR2
G2
Data Init
Required
0
2nd Conditional Pin to Evaluate (1 – 8) 0 – NONE, 1 – C1, 2 – C2, 3 – C3, 4 – C4, 5 – C5, 6 – C6, 7 – C7, 8 – C8
288
APC_002
12.3 What are the SCStep and SCStepNA algorithms?
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
AVAR3
G3
Data Init
Required
D EFAULT VAL UE
0
D ESCRIPTION
3rd Conditional Pin to Evaluate (1 – 8) 0 – NONE, 1 – C1, 2 – C2, 3 – C3, 4 – C4, 5 – C5, 6 – C6, 7 – C7, 8 – C8
AVAR4
G4
Data Init
Required
0
4th Conditional Pin to Evaluate (1 – 8) 0 – NONE, 1 – C1, 2 – C2, 3 – C3, 4 – C4, 5 – C5, 6 – C6, 7 – C7, 8 – C8
AVAR5
G5
Data Init
Required
0
5th Conditional Pin to Evaluate (1 – 8) 0 – NONE, 1 – C1, 2 – C2, 3 – C3, 4 – C4, 5 – C5, 6 – C6, 7 – C7, 8 – C8
AVAR6
G6
Data Init
Required
0
6th Conditional Pin to Evaluate (1 – 8) 0 – NONE, 1 – C1, 2 – C2, 3 – C3, 4 – C4, 5 – C5, 6 – C6, 7 – C7, 8 – C8
AVAR7
G7
Data Init
Required
0
7th Conditional Pin to Evaluate (1 – 8) 0 – NONE, 1 – C1, 2 – C2, 3 – C3, 4 – C4, 5 – C5, 6 – C6, 7 – C7, 8 – C8
AVAR8
G8
Data Init
Required
0
8th Conditional Pin to Evaluate (1 – 8) 0 – NONE, 1 – C1, 2 – C2, 3 – C3, 4 – C4, 5 – C5, 6 – C6, 7 – C7, 8 – C8
DRSLT
Y5
Data Init
Required
0
Desired Result of Action Conditional 0 - RESET 1 - SET
ASID
C0
Alg. Init
Variable
0
Action Conditional Action Sid
ASPIN
C1
Data Init
Required
0
Action State Pin to Activate (0 – 4) 0 – State Pin 1 1 – State Pin 2 2 – State Pin 3 3 – State Pin 4
APC_002
289
12.3 What are the SCStep and SCStepNA algorithms?
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
AQUAL
C2
Data Init
Required
D EFAULT VAL UE
0
D ESCRIPTION
Action Qualifier (0 – 4) 0 – None 1 – Start without Reset 2 – Start then Reset 3 – Start then Reset when PASS is TRUE 4 – Delay Only
290
ADLY
C3
Tuning Constant
Required
0
Action Delay (sec)
AEST
C4
Tuning Constant
Required
1
Expected Start Time (sec)
APC_002
12.3 What are the SCStep and SCStepNA algorithms?
12. 3.1 2 Acc essi ng advanced editi ng for the SCS tep and SCS tepNA algorithms in the Control Builder To access the Advanced Applications Studio for the SCStep and SCStepNA algorithms, see To use the Advanced Applications Studio to view and edit advanced algorithms (see page 20). SCStep and SCS tepNA algori thm s - I/O Confi gur ation tab The Input/Output Configuration tab allows you to view configured algorithm input/output parameters for the SCStep/SCStepNA algorithms. This tab is informational only. You cannot edit options from this dialog box or sort the columns in this table.
Figure 81 : Advanced editor window for SCS tep algorithm - I/O Configuration tab
APC_002
291
12.3 What are the SCStep and SCStepNA algorithms?
SCStep algorithm - Action Condi tional tab The Action Conditional tab provides a list of conditional statements that have been defined for step. Through this window, you can also access the Conditional window allowing you to define or edit conditionals. Note: The Action Conditional tab is grayed out and not available for use with the SCStepNA algorithm. The information in the Action Condition tab can be viewed in two different modes:
Serial Mode -- only one action conditional is evaluated at a time in sequential order.
Parallel Mode -- only one action conditional is evaluated for the entire step.
Refer to Serial and parallel modes (see page 279) for more information.
Figure 82 : Advanced editor window for SCS tep algorithm - Action Conditi onal tab (Se rial Mode)
292
APC_002
12.3 What are the SCStep and SCStepNA algorithms?
Figure 83 : Advanced editor window for SCS tep algorithm - Action Conditi onal tab (Pa rallel Mode) The figure above shows the information for the Action Conditional tab. You may modify any field that has a white background. Fields that have a background shaded with a color cannot be edited. The following table discusses the Action Conditional tab fields. F IELD
D ESCRIPTION
Conditional Statement
Conditional Statement column only shown when Serial Mode is selected. For serial mode, all conditionals are shown since they are executing in a sequential order. For Parallel mode, one conditional appears at the top of the window since the actions are executing all at the same time, based on that conditional. Select an item in the Conditional Statement column or click on the Conditional Statement field and the Conditional window (see page 294) appears allowing you to create or modify a c onditional.
Action Point Name
Point name associated with the action.
Action Qualifier
Determines what the state pin should do. The options are available in a drop-down menu. See Action conditionals and qualifiers (see page 278) for more information.
State Pin
States associated with the action. Every action has four state pins. The options are State Pin 1 - 4 and can be accessed from a drop-down menu.
Action Delay
The amount of time in seconds that the action will be delayed. This is based on the setting for the Action Qualifier.
Expected Start Time
For the "Start then Reset" qualifier, this is the amount of time in seconds that a state pin (S1 - S4) will be set True. For the "Start then wait for PASS qualifier," (PASS1 it is the amount of time thedoes stepnot willhappen wait before actionof receives feedback - PASS4). If this in thethe amount time defined, the step stalls.
Once you have made the desired changes, select the OK button to save the changes and close the window. Select the Close button to quit the window without saving any changes.
APC_002
293
12.3 What are the SCStep and SCStepNA algorithms?
Creating a cond itional for the SC Step algorithm The Conditional window provides a user friendly way to create conditionals. You select an Action Condition (C1 - C8), a Conditional Operator (OR or AND), and a desired result (TRUE or FALSE). Note: The Conditional window is not available for use with the SCStepNA algorithm. Once you are satisfied with your conditional, select one of the following buttons:
294
OK -- saves the conditional and closes the window.
Reset -- clears all the window entry fields. Note that if you only want to clear part of the conditional, highlight the last desired section, and press the Clear From This Poi nt button.
Close -- exits the window without saving any changes.
APC_002
12.3 What are the SCStep and SCStepNA algorithms?
SCStep and SCS tepNA algori thm s - Step Transit ion t ab The Step Transition tab determines how the step transitions to the next step. Refer to Transitioning to next step (see page 279) for more information.
Figure 84 : Advanced editor window for SCS tep algorithm - Step Transition t ab The figure above shows the information for the Step Transition tab. You may modify any field that has a white background. Fields that have a background shaded with a color cannot be edited. The following table discusses the Step Transition tab fields.
APC_002
F IELD
D ESCRIPTION
Transition Point
Digital output point associated with the transition. Up to four transition points (TP1 - TP4) can be defined.
Type
Type of Ovation transition point (Digital/Analog). This field is read-only.
Operator
Type of operators. See Transitioning to next step (Jump Template) (see page 279) for a complete list of operators.
Variable
Variable associated with the operator. For example, if the operator is "greater than or equal to" and the variable "3," then if the transition point is greater than or equal to 3, then it will proceed to the next step.
Next Step
Point name of the next step that will execute if the conditional is met.
Digital Transition Output
Digital output point that is set if the transition is made.
Transition Wait Time
Amount of time the step should be transitioning and ready before transition to the next step is allowed.
Transition Monitoring Time
Amount of time a step can run in Transition state before declaring a stall if the TRDY pin is not set or no transition conditional is satisfied.
295
12.3 What are the SCStep and SCStepNA algorithms?
12.3 .1 3 Accessi ng the Advanced Signal Diagrams
Tuning wind ow for the SC Step algorith m in
To access advanced editing in signal diagrams, see To access the Advanced Tuning window for APC Toolkit algorithms in signal diagrams (see page 28). SCStep and SCS tepNA advanced tu nin g win dow -- Se lected Step tab From a signal diagram, right-click on an SCStep or SCStepNA algorithm, and select Advanced Tuning from the menu that displays. The A dvanced Tuning window for SCStep/SCStepNA appears (see the following figure).
Figure 85 : Adv anced tuning window in s ignal diagrams for SCS tep/S CStepNA algorithm -Selected Step tab The previous figure shows the information for the Selected Step tab. The Selected Step tab shows you all the information for the step you selected. You may modify any field that has a white background. Fields that have a background shaded with a color cannot be edited.
296
APC_002
12.3 What are the SCStep and SCStepNA algorithms?
SCStep advanced tuning window -- Action Information t ab From a signal diagram, right-click on an SCStep algorithm, and select Ad vanced Tunin g from the menu that displays. The Advanced Tuning window for SCStep appears (see the following figure) The Action Information tab shows you all the actions associated with the step you selected. The fields on this window are read-only and cannot be edited. Note: The Action Information tab is not available for use with the SCStepNA algorithm.
Figure 86 : Advanced tunin g wind ow in signal diagrams for Information tab
APC_002
SCStep algorithm -- Action
297
12.4 What is the SCAction algorithm?
12 .4 What is the SC Acti on a lgor ith m? The SCAction algorithm defines a single action which needs to be taken to complete a portion of a step. Each action can process up to four different states. You must assign a user-defined point name to each action conditional.
12.4 .1 Actio n and action st
ate descript ions f or SCAction algori
thm
You may provide a description for each action (DESC) using the APC Toolkit editor window inside the Control Builder. This field will not be tunable from a signal diagram. The description can be a maximum of 80 characters. You will be able to provide a description for each action state using the Advanced Applications Studio in the Control Builder. This will be stored in the AJ, AK, AL, AM record fields and will have an eight-character limit. See Ovation Record Types Reference Manual for more information on record fields.
12.4 .2 Busy sign al and comm unicatio n Once the action receives a command from a SCStep, it will determine if it is busy or not. The SCAction will be busy any time a Step is communicating with it. If busy, the SCAction will communicate to the SCStep that it is busy. The SCStep will communicate to the SCTask that it is stalled. The SCTask will then set the STALL pin TRUE. The SCStep will continue to request the Action until the Action is not busy. Once not busy, the Action will activate the requested state.
12. 4.3 Operation The Action will first determine if the requested state is ready by evaluating the appropriate RDY input pin for that state. By default, if the RDYx pins are not connected, the action will assume the state is ready. If the RDY pin is not true, then the Action will communicate to the Step that it is stalled, the Step will communicate to the SCTask that it is stalled and the STALL pin will be set TRUE. If the RDY input pin is true, the action will then use the appropriate action qualifier communicated by the SCStep.
12.4 .4 Stall pin
for SC Acti on
There are two kinds of Action stall:
298
1.
When Step requests a state pin (Sx) to start, but the ready pin (RDYx) for the state is not TRUE.
2.
When using Action Qualifier 3, if the PASS pin is not TRUE within the configured EST period.
APC_002
12.4 What is the SCAction algorithm?
12.4 .5 SC Actio n algorit hm fu ncti onal symb ol
12.4 .6 SC Actio n algor ithm definiti ons Note: Algorithm Record Type = LC SCAction algorithm definitio NA ME
ns
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
-
Variable
Optional
-
Variable
RDY3
-
RDY4
D EFAULT VA L UE
D ESCRIPTION
M I N. P OINT R ECORD
-
The device/process controlled by state 1 being is ready when TRUE.
LD, LP
Optional
-
The device/process being controlled by state 2 is ready when TRUE.
LD, LP
Variable
Optional
-
The device/process being controlled by state 3 is ready when TRUE.
LD, LP
-
Variable
Optional
-
The device/process being controlled by state 4 is ready when TRUE.
LD, LP
PASS1
-
Variable
Optional
-
The device/process being controlled by state 1 has finished when TRUE.
LD, LP
PASS2
-
Variable
Optional
-
The device/process being controlled by state 2 has finished when TRUE.
LD, LP
PASS2
-
Variable
Optional
-
The device/process being controlled by state 3 has finished when TRUE.
LD, LP
Inputs: RDY1
RDY2
APC_002
299
12.4 What is the SCAction algorithm?
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
M I N. P OINT R ECORD
PASS4
-
Variable
Optional
-
The device/process being controlled by state 4 has finished when TRUE.
LD, LP
S1
-
Variable
Optional
-
Set TRUE when state 1 is activated.
LD, LP
S2
-
Variable
Optional
-
Set TRUE when state 2 is
LD, LP
activated. Set TRUE when state 3 is activated.
LD, LP
Outputs:
S3
-
Variable
Optional
-
S4
-
Variable
Optional
-
Set TRUE when state 4 is activated.
LD, LP
BUSY
C0
Variable
Optional
-
Set TRUE when SCAction is processing commands.
LD, LP
STAT
C1
Variable
Optional
-
Status and related bit number:
LP
State1 - Ready = 0
State2 - Ready = 1
State3 - Ready = 2
State4 - Ready = 3
State1 - Active = 4
State2 - Active = 5
State3 - Active = 6
State4 - Active = 7
State1 - Pass = 8
State2 - Pass = 9
State3 - Pass = 10
State4 - Pass = 11
State1 - Stall = 12
State2 - Stall = 13
State3 - Stall = 14
State4 - Stall = 15
Params:
300
CSTEP
G1
Alg. Init.
Variable
-
Current controlling step SID.
-
AQ1
G2
Alg. Init.
Variable
-
Current qualifier for state pin 1
-
AQ2
G3
Alg. Init.
Variable
-
Current qualifier for state pin 2
-
AQ3
G4
Alg. Init.
Variable
-
Current qualifier for state pin 3
-
AQ4
G5
Alg. Init.
Variable
-
Current qualifier for state pin 4
-
APC_002
12.4 What is the SCAction algorithm?
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
M I N. P OINT R ECORD
ADLY1
R1
Alg. Init.
Variable
-
Current delay for state pin 1
-
ADLY2
R2
Alg. Init.
Variable
-
Current delay for state pin 2
-
ADLY3
R3
Alg. Init.
Variable
-
Current delay for state pin 3
-
ADLY4
R4
Alg. Init.
Variable
-
Current delay for state pin 4
-
AEST1
R5
Alg. Init.
Variable
-
Current expected start time for state pin 1.
-
AEST2
R6
Alg. Init.
Variable
-
Current expected start time for state pin 2.
-
AEST3
R7
Alg. Init.
Variable
-
Current expected start time for state pin 3.
-
AEST4
R8
Alg. Init.
Variable
-
Current expected start time for state pin 4.
-
DESC
TT
Data Init.
Optional
-
User-defined description of this action.
-
S1DES
AJ
Data Init.
Optional
-
User-defined description for State 1.
-
S2DES
AK
Data Init.
Optional
-
User-defined description for State 2.
-
S3DES
AL
Data Init.
Optional
-
User-defined description for State 3.
-
S4DES
AM
Data Init.
Optional
-
User-defined description for State 4.
-
12.4 .7 Accessi ng advanced editing f Builder
or the SCAction algor
ithm in th e C ontro l
To access the Advanced Applications Studio in the Control Builder for the SCAction algorithm, refer to To use the Advanced Applications Studio to view and edit advanced algorithms (see page 20). Note: No default tuning window is available for the SCAction algorithm in signal diagrams.
APC_002
301
S
ECTION
13
Using the S ootblo wer a lgori thms
IN THIS SECTION What are the Sootblower algorithms? ............................................................................. 304 Using algorithm ............................................................................................. 305 Using the the Blower SBSequence algorithm ................................................................................... 312 Using the SBScheduler algorithm ................................................................................... 329 Using the SBMaster algorithm ........................................................................................ 333
APC_002
303
13.1 What are the Sootblower algorithms?
13 .1 Wha t a re the S ootb lower a lgor ith ms? The Sootblower program is comprised of sequential logic, which is implemented in an Ovation Advanced Controller. Sootblowing control is performed through the execution of a master sequence, in the Cascade (Auto) Mode, or through the activation of a sequence in either Continuous or Once Modes on the individual sequence level. The Ovation APC Sootblower algorithm suite contains four algorithms which perform sequencing related to:
Each individual sootblower in the plant (Blower (see page 305)).
Defining a sequence of blowers to be used (SBSequence (see page 312)).
Scheduling these sequences (SBScheduler (see page 329)). Providing an overall ability to manipulate and change sequences and schedules (SBMaster (see page 333)).
Note: All Sootblower algorithms in a single Controller must be in the same control task area. The overall ability provides up to 99 sequences each of which can have up to 99 steps, allowing for extreme flexibility in how the sootblowing is achieved. In addition, the algorithms provide an interface for the Ovation Smart Process Sootblowing Optimization to automatically detect the cleanliness of sections of the boiler and establish a corresponding cleaning sequence to minimize losses associated with sootblowing. The Blower algorithm interfaces with and stores information about the individual sootblower. The Sequence algorithm allows the operator to activate any of the sequences to either run once and then stop (Once Mode ) or run repeatedly until aborted (Continuous Mode ). Each sequence is comprised of up to 99 user-defined blowing actions (Steps ) that are implemented in sequential order until all are finished, at which point the sequence is complete. These sequences are defined or modified by the Operator before they are implemented in a sootblowing process. A step is a predefined sootblowing action that determines the sootblower to be blown at that time. Up to four sootblowers can run at the same time in one step. The Scheduler algorithm interfaces with the Blower algorithms and the Sequence algorithms to make sure the total amount of air, water, steam, and so forth, would not be exceeded if the blower ran. The Master algorithm controls the sequences when they are in Auto mode. CAUTION! Stop all logic connected to any Blower, Master, or Sequence currently running before doing an incremental load of any related control sheets.
304
APC_002
13.2 Using the Blower algorithm
13 .2 Using the Blow er algorit hm Note: The Blower algorithm can only be purchased as part of an engineered solution. The Blower algorithm serves as a packed point decoder for a sootblower whose ID number is stored in NUM, whose logic group number is stored in GRPID, and whose initial priority is stored in PRITY. The algorithm can start the related blower and detect when a blowing cycle finishes. There is a minimum idle time (MINT), in seconds. There must be at least one second between starts of the same blower. If the blower is running slower than one second area, MINT is the control area frequency. There is also a running percentage (RUNPC) for the blower. For example, RUNPC=25% means the blower should run one time out of four non-manual requests. Note: Running percentages that do not divide into 100 evenly will be rounded down to the nearest integer. For example, if the running percentage is set to 75 (100/75 = 1.33, which is rounded to 1), the blower will run one time for every one request. The following are additional examples: 100% means the blower will run one out of every one request. 50% means the blower will run one out of every two requests. 33% means the blower will run one out of every three requests. 25% means the blower will run one out of every four requests.
13.2 .1 Blower algori
thm f unct ional sym bol
Figure 8 7: Blower Algorithm functi
APC_002
onal symbol
305
13.2 Using the Blower algorithm
13.2 .2 Blower algor
ithm func tionalit y details
The Blower algorithm monitors the blower input (BLWIN). When the bit corresponding to the blower number is set and idle time and running percentage allows blowing, the algorithm sets the START output pin. When the blower starts, the number of starts (NUMST) is incremented. However, if the minimum time has not expired when the corresponding BLWIN bit is set, the BLWIN bit is immediately reset. If the running percentage does not allow blowing, the BLWIN bit is immediately reset and the waiting number (WAIT) is updated. After the START output pin is set, the algorithm starts monitoring the IDLE input pin. When IDLE is set, the algorithm resets the bit in the packed point corresponding to the blower number. In each control loop while the blower is blowing, the number of control loops (NUMLP) increases and the actual blowing time (TTTIM) in seconds updates. When the reset input becomes TRUE, the NUMST and WAIT fields zero out. If the blower is in idle, the idle timer (IDLET) increases. If the scheduler is running in priority queue mode, the initial blower priority (PRITY) determines this blower's initial priority. The higher the number, the higher the priority. Refer to the SBScheduler algorithm (see page 329) for further details. If the TAGOT (tag out) input pin is set to TRUE, the TGDOT output pin is also set to TRUE and the START pin will not be set for this blower. The SBSequence algorithm skips this blower and moves on to the next pass of the current step or the next step. If, however, the START pin is set before the TAGOT pin is set, the TGDOT pin will not be set TRUE for this blower. Once the START pin is unset, if TAGOT is still set, TGDOT will be set TRUE. Once the TAGOT pin is set to FALSE, the TGDOT output pin is set FALSE, and the START pin is able to be set. Note: For intelligent sootblowing applications, the DSABL and DSABD pins perform the same functions and work the same way as the TAGOT/TGDOT pins. The Blower algorithm contains all the information about the blower. This includes the ID number (NUM), the name (Name1, Name2), the blowing resource requirements such as medium type (MEDTY), medium resource requirements (MEDRQ), the holding register starting address (HRSTR) and the logic group number (GRPID). The Blower algorithm makes sure that the holding register corresponding to this blower contains its own system identification. This information is needed by the other sootblower algorithms. Since the holding registers are not broadcast on the Ovation network, all of the SBScheduler and SBSequence algorithms must reside with the related Blower algorithms on the same Ovation Controller and in the same control area. The Blower algorithm also receives manual start requests and then communicates with the SBScheduler algorithm to determine if a manual start satisfies both medium and mutual exclusion constraints. The manual start request is continuously sent to the SBScheduler algorithm until the permission is granted. Manual start is not restricted by running percent (RUNPC) and minimum idle time (MINT) values, and is considered as the highest priority request in the SBScheduler. If a user makes a manual start request using the MANST pin while the MLO (manual latch option) is enabled and the blower is already started, then the manual start request will be stored and will attempt to start the blower when it completes its current task.
306
APC_002
13.2 Using the Blower algorithm
13.2 .3 Accessi ng advanced editing f
or the Blo wer algorith
m in th e C ontro l Buil der
The Blower algorithm does not use advanced edits and does not have any parameters that appear in the Advanced Applications Studio. For the Blower algorithm, all parameters are defined through the Control Builder Property Editor. See To use the Property Editor to edit advanced algorithms (see page 19) for more information. To identify parameters, hover the mouse pointer over the entries in the Property Editor. The parameter name appears as a tooltip. For information on valid parameter values, see Blower algorithm definitions (see page 308). The following figure shows an example of the Property Editor for the Blower algorithm.
Figure 88 : Blower algorithm
APC_002
parame ters shown in Property Editor
307
13.2 Using the Blower algorithm
13.2 .4 Blower algorithm
definiti ons
Blower algorithm definitions
308
NA ME
L C AL G. R ECORD F IELD
TYPE
DIAG
LU - Integer
Data Init
R EQUIRED / O PTIONAL
D EFAULT VAL UE
D ESCRIPTION
M I N. P OINT REC.
Required
154
Tuning diagram number.
-
BLWIN
-
-
Required
-
Blower input for 1 blower.
LP
IDLE
-
-
Required
-
Done signal when this blower is done.
LD/LP
RESET
-
-
Required
-
Reset.
LD/LP
MANST
-
-
Optional
-
Manual start request.
LD/LP
START
-
-
Required
-
Start output.
LD/LP
SQPCT
-
-
Optional
-
Sequence completed signal.
LD/LP
NAME1
G0 - Integer
Data Init
Required
-
Blower name -- 1st two characters.
-
NAME2
G1 - Integer
Data Init
Required
-
Blower name -- 2nd two characters.
-
NUM
G2 - Integer
Data Init
Required
0
Blower number (1-999).
-
HRSTR
G3 - Integer
Data Init
Required
0
Holding register start (default value).
-
MEDRQ
R1 - Real
Data Init
Required
0
Amount of medium required.
-
MEDTY
G7 - Integer
Data Init
Required
1
Medium type: 1-4.
-
GRPID
G8 - Integer
Data Init
Required
1
Logic group ID (1-8).
-
NUMST
G4 - Integer
Alg. Init
--
0
Number of starts.
-
NUMLP
G5 - Integer
Alg. Init
--
0
Number of loops running.
-
TTTIM
R5 - Real
Alg. Init
--
0
Actual blowing time (in seconds).
-
IDLET
R8 - Real
Alg. Init
--
0
Current idle time (in seconds).
-
WAIT
G6 - Integer
Alg. Init
--
0
Number of start request to bypass.
-
LASTRT
T1 - Real
Alg. Init
--
0
Last runtime value. This is the amount of time it took in seconds for the blower to run, the last time it ran.
--
APC_002
13.2 Using the Blower algorithm
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VAL UE
D ESCRIPTION
M I N. P OINT REC.
Note: The following parameters -- TSSEC, TSMIN, TSHR, TSDAY, TSMTH, AND TSYR -- are listed as separate fields but operate as one parameter. These times are shown in Greenwich Mean Time (GMT). TSSEC
F4 - Integer
Alg. Init
--
0
This is the time that the blower started running.
--
TSMIN
F5 - Integer
Alg. Init
--
0
This is the time that the blower started running.
--
TSHR
F6 - Integer
Alg. Init
--
0
This is the time that the blower started running.
--
TSDAY
XV - Integer
Alg. Init
--
0
This is the time that the blower started running.
--
TSMTH
XU - Integer
Alg. Init
--
0
This is the time that the blower started running.
--
TSYR
XR - Integer
Alg. Init
--
0
This is the time that the blower started running.
--
RUNPC
R6 - Real
Tuning constant
Required
100
Running percentage (min=0, max=100).
-
MINT
R7 - Real
Tuning constant
Required
1
Minimum required idle time (in seconds).
-
PRITY
G9 - Integer
Tuning constant
Required
1
Initial priority value.
-
EXRT
S1 - Real
Tuning
Required
0
Expected run time (in
-
EXST
S2 - Real
constant Tuning constant
Required
0
seconds). Expected start time (in seconds).
-
MLO
X2 - Byte
Data Init
Required
0
Manual latch option.
-
0 = On - Blower will store the MANST request if the request comes in when the blower is started. 1 = Off - Blower will not store the MANST request.
APC_002
RUNFB
-
Variable
Optional
-
Feedback signal from the blower into the BLOWER algorithm.
LD
RUNTM
-
Variable
Optional
-
Used with RUNFB, reports the actual running time of the
LA
IDLTM
-
Variable
Optional
-
blower in seconds. Used with RUNFB, reports the actual idle time of the blower in seconds.
LA
309
13.2 Using the Blower algorithm
NA ME
L C AL G. R ECORD F IELD
RTED
D EFAULT VAL UE
M I N. P OINT REC.
TYPE
R EQUIRED / O PTIONAL
Variable
Optional
-
Used with RUNFB, reports TRUE if the actual run time exceeds the expected run time.
LD
D ESCRIPTION
STMAL
-
Variable
Optional
-
Used with RUNFB, reports TRUE if the running feedback signal does not start within a user-defined expected start time.
LD
TAGOT
-
Variable
Optional
-
Use to "tag out" the blower for maintenance.
LD
TRUE = Blower tagged out FALSE=Blower not tagged out TGDOT
-
Variable
Optional
-
If TAGOT is set TRUE, this pin is set to TRUE. The SBSequence algorithm will skip this blower and move on to the next pass of the current step or the next step. Once TAGOT is set to FALSE, TGDOT is set to FALSE also.
LD
DSABL
-
Variable
Optional
-
Use in intelligent
LD
sootblowing to "disable" the blower. TRUE = Blower disabled FALSE=Blower not disabled DSABD
310
-
Variable
Optional
-
In intelligent sootblowing, if DSABL is set TRUE, this pin is set to TRUE. The SBSequence algorithm skips this blower and moves on to the next pass of the current step or the next step. Once DSABL is set to FALSE, DSABD is set to FALSE also.
LD
APC_002
13.2 Using the Blower algorithm
13.2 .5 Accessi ng the tuning w
indow f or the Blower algorith
m in sign al diagra ms
To access advanced editing in signal diagrams, see To access the Advanced Tuning window for APC Toolkit algorithms in signal diagrams (see page 28). Blower tuning window The Blower tuning window is a read-only diagnostic window. No tuning can be performed from this window.
Figure 8 9: Blower tuning win dow
APC_002
311
13.3 Using the SBSequence algorithm
13 .3 Using the
SBS equence
algorit hm
Note: The SBSequence algorithm can only be purchased as part of an engineered solution. The SBSequence algorithm represents a user-defined sootblower operation sequence and controls the starts of the individual sootblowers in the sequence. The sequence ID number is stored in SEQNM (between 1 and 99). One sequence can control up to 99 blowing steps. The number of the actual blowing steps is specified in STPNM (between 1 and 99). Each blowing step consists of up to four blowers that can run at the same time if both medium and mutual exclusion constraints are satisfied. You can configure each blowing step with desired blower ID numbers (between 1 and 999) and specify desired time-delay between steps.
13.3 .1 SBSe quence algorit
hm func tional symb ol
Figure 90 : SBSe quence functio nal symbo l
312
APC_002
13.3 Using the SBSequence algorithm
13.3 .2 SBSe quence algorit
hm func tionalit y details
There are three basic operating modes for each sequence:
Once Mode : Upon your manual request, the sequence runs once and then stops.
Continuous Mode : Upon your manual request, the sequence runs continuously.
Auto Mod e: The sequence is controlled by the SBMaster.
You can switch modes using the keyboard. The current operating mode displays in the G0 field of the algorithm record MODE. There are four basic (1-RUNNING, 2-HELD, 3-FINISHED 4-REST) eachAsequence. The current status is states displayed in the STAT algorithm field or the and EXTR2 outputfor point. number of external events, for example, keyboard actions or commands from SBMaster, can trigger the switching of status. Note: The default state for the SBSequence is ONCE mode. If using the SBMaster algorithm the priority sequence must be in AUTO mode to function.
13.3 .3 Accessi ng advanced editin Builder
g for the SBSe quence algorith
m in the Control
To access the Advanced Applications Studio in the Control Builder for the SBSequence algorithm, refer to To use the Advanced Applications Studio to view and edit advanced algorithms (see page 20). Note: No default tuning window is available for the SBSequence algorithm in signal diagrams.
APC_002
313
13.3 Using the SBSequence algorithm
SBSequence algorithm Input/Output Config
uration tab
The Input/Output Configuration tab allows you to view configured algorithm input/output parameters for the SBSequence algorithm. This tab is informational only. You cannot edit options from this dialog box or sort the columns in this table.
Figure 91: SBSe quence Input/Output Config
314
uration tab
APC_002
13.3 Using the SBSequence algorithm
SBSequenc e algorit hm General Pa rameters tab The General Parameters tab displays the defined algorithm general (global) parameters for the Sequencer algorithm. Only the Value column can be edited in this tab. Integer values must be between 1-99. To edit a value, double-click inside the value cell. Enter the change and press the key on the keyboard or click inside another cell so that the change you made takes effect. Press OK to save the change.
Figure 92: SBSequence General Paramete rs t ab
APC_002
315
13.3 Using the SBSequence algorithm
SBSequence algorithm Auxiliary Paramete rs tab The Auxiliary Parameters tab allows you to define the algorithm auxiliary (step) parameters. To define the step parameters: 1.
Select the tab which contains the step you want to define.
2.
Double-click inside the value cell you want to edit. Left-click to enter a value. Right-click to get a pull-down of valid values. Once the change is entered, press OK to post the change. The integer value for this field must be between 0-999, where 0 = not in use.
Figure 93: SBSequence Auxiliary Parameters tab
316
APC_002
13.3 Using the SBSequence algorithm
13.3 .4 How do es the SBSe quence algori
thm work ?
1.
When a sequence finishes, either normally or because of an abort, the SBSequence algorithm sends out a one-shot type of signal from the SQCPT pin, which is used by the SBMaster algorithm.
2.
There are four types of holding situations. You can identify what causes the current holding situation from the four output pins:
Manual Hold (HLDMN) - Operator hold from the keyboard. The operator must cli ck UNHLD to continue the sequence. If the sequence is in AUTO mode, then both HLDMN and UNHLD have no effect on the sequence. Schedulaer Hold (HLDRS) - Scheduler hold because of unsatisfied restrictions. Before starting sootblower in a step, the SBSequence algorithm sends a request to the related SBScheduler algorithm to determine if the required amount of the blowing medium is available and if the mutual exclusion condition is satisfied. If either of the two constraints is violated, the SBSequence holds the sequence and sets the HLDRS pin until permission is granted.
Time Delay Hold (HLDTD) - The minimum time delays between sequences or between steps or between blowers in a step have not been met. The sequence sets HLDTD and keeps it set until the related time delay has been met.
Master Hold (HLDPR) - The SBMaster algorithm has requested a hold. There are two reasons for this hold:
a) The sequence is running in AUTO mode and the master has requested a HOLD (MSHLD) set in the master and all sequence inputs are set to -2. b) The following three conditions must be met:
PROPT is set to 2 - hold for a priority sequence.
The current sequence is not the priority sequence.
The master has requested the priority sequence to run. If the current sequence is in AUTO, it resumes when the priority request has finished. If the current sequence is in manual (either once or continuous mode) the operator must click UNHLD to continue the sequence. If PROPT is set to 1 - ignore priority, the master request of the priority sequence has no effect on the current sequence. The priority sequence must be in AUTO mode and runs whenever the master requests it to run. 3.
APC_002
In each step, the SBSequence algorithm starts the first blower by setting the corresponding blower bit in the packed points. The SBSequence algorithm starts each blower sequentially with a time delay before starting the next blower. Each of these time delays can be initialized separately in TD12, TD23 and TD34. Before starting any sootblower, the SBSequence algorithm checks if the blowing medium, mutual exclusion and the minimum idle time requirement have been met.
317
13.3 Using the SBSequence algorithm
While one or more blowers are running, the SBSequence algorithm is continually monitoring the bits corresponding to the running blowers to determine whether the blowers are done. When all the blowers for this step are finished (the packed point bit corresponding to the blower has been reset), the SBSequence algorithm moves to the next step until the last step finishes. You can specify desired minimum time-delay between each step in the related (TDSi) fields. However, these values are overwritten by the value from the Master Idle Time between Steps (MDSTP) input pin if it is used or by the value given in the ADVTD from SBMaster if it is used. You can also specify desired minimum time-delay between the starts of the same sequence in (TDSEQ). However, it can be overwritten by the value from the Master Idle Time between Sequences (MDSEQ) input pin if it is used. If either the TGDOT (tagged out) pin or the DSABD (disabled) pin is set TRUE, SBSequence skips that blower. SBSequence continues with the next step or the next pass of the current 4.
step. An SBSequence algorithm should connect to all the SBScheduler algorithms available in the system using medium pins 1 (MDID1 - MDID4) through 4.
5.
The current step number is displayed on the Extra Pin (EXTR1) pin while the current status is displayed on the EXTR2 pin (1-RUNNING, 2-HELD, 3-FINISHED, 4-REST and 5-ABORTING). EXTR1 and EXTR2 are used for graphics only. EXTR3 shows the current mode of the sequencer (1-Once, 2-Continuous, 3-Auto). EXTR4 shows a countdown timer until the next requested blower start.
6.
The values in the Start Holding Register (HRSTR) fields of all the SBSequence, SBScheduler and Blower algorithms must be the same.
7.
The sequence running status can be monitored by reading the values of the (CSTP/C3, CBLW1/C4, CBLW2/C5, CBLW3/C6, CBLW4/C7, MODE/G0, STAT/G1, SEQTM/R1, STPTM/R2 and BLW/R3) fields in Ovation Point Information.
8.
The input pins of ONCE, CONT, AUTO, START, ABORT, HOLD, and UNHLD are normally connected to a keyboard algorithm.
9.
All of the PKx input pins should be connected to Input Connectors to which packed digital points are assigned. PK1 must always be connected. All packed points (PK1-PK64) are input points to the sequence algorithm.
10. All the time units are in seconds. The algorithm checks up to nine auxiliary LC records to determine which blower to start. Steps 1 12 are defined in Auxiliary 1, steps 13 - 24 in Auxiliary 2, and so forth. The actual blower number (1-999) determines the packed bits that are set and checked by the SBSequence algorithm by using the following equations: packed word = (blower number -1)/16; packed bit = remainder of (blower number -1)/16 holding register offset
318
= (blower number -1) * 2.
APC_002
13.3 Using the SBSequence algorithm
For example, in Step 3, Blower 5, 35, 65 and 128 are used. Then the B0, B1, B2 and YU fields in the algorithm point record should be 5, 35, 65 and 128 respectively. The packed word/bit/ holding register combinations are shown in the following table: Packed word/bit Holding
Register comb inations
A LGORITHM F IELD
VA L UE
PACK ED W OR D
PACKED BIT
H OLDING O FFSET
B0
5
0
4
8
B1 B2
35 65
2 4
2 0
68 128
YU
128
7
15
254
13.3 .5 SBS equence algori
R EGISTER
thm definiti ons
Note: Algorithm record type = LC SBSequence a lgorith m definition s
APC_002
NA ME
L C AL G. R ECORD F IELD
DIAG
M I N. P OINT R ECORD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
LU - Integer
Data Init
Required
142
Tuning Diagram Number
-
AUX1
B4 - Integer
Data Init
Required
-
SID for AUX 1
LC
AUX2
B5 - Integer
Data Init
Required
-
SID for AUX 2
LC
AUX3
B6 - Integer
Data Init
Required
-
SID for AUX 3
LC
AUX4
B7 - Integer
Data Init
Required
-
SID for AUX 4
LC
AUX5
B8 - Integer
Data Init
Required
-
SID for AUX 5
LC
AUX6
B9 - Integer
Data Init
Required
-
SID for AUX 6
LC
AUX7
B0 - Integer
Data Init
Required
-
SID for AUX 7
LC
AUX8
B1- Integer
Data Init
Required
-
SID for AUX 8
LC
AUX9
B2 - Integer
Data Init
Required
-
SID for AUX 9
LC
SEQ1
-
Variable
Required
-
First Sequence to run
LA
SEQ2
-
Variable
Optional
-
Second Sequence to run
LA
SEQ3
-
Variable
Optional
-
Third Sequence to run
LA
SEQ4
-
Variable
Optional
-
Fourth Sequence to run
LA
SEQ5
-
Variable
Optional
-
Fifth Sequence to run
LA
SEQ6
-
Variable
Optional
-
Sixth Sequence to run
LA
D ESCRIPTION
319
13.3 Using the SBSequence algorithm
NA ME
L C AL G. R ECORD F IELD
SEQ7
-
SEQ8 SEQ9
M I N. P OINT R ECORD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
Variable
Optional
-
Seventh Sequence to run
LA
-
Variable
Optional
-
Eighth Sequence to run
LA
-
Variable
Optional
-
Ninth Sequence to run
LA
PSEQ
-
Variable
Optional
-
Priority Sequence to run
LA
AUTO
-
Variable
Required
-
If true, switch to AUTO mode
LD/LP
CONT
-
Variable
Required
-
If true, switch to CONTINUOUS mode
LD/LP
ONCE
-
Variable
Required
-
If true, switch to ONCE mode
LD/LP
START
-
Variable
Required
-
Manually start the sequence
LD/LP
ABORT
-
Variable
Required
-
Manually abort the sequence
LD/LP
HOLD
-
Variable
Required
-
Manually hold the sequence
LD/LP
UNHLD
-
Variable
Required
-
Manually unhold the sequence
LD/LP
MDID1
-
Variable
Optional
-
Sid of the scheduler for medium type 1
PD
MDID2
-
Variable
Optional
-
Sid of the scheduler for medium type 2
PD
MDID3
-
Variable
Optional
-
Sid of the scheduler for medium type 3
PD
MDID4
-
Variable
Optional
-
Sid of the scheduler for medium type 4
PD
ADVTD
-
Variable
Optional
-
Time delay set by master
LP
MDSEQ
-
Variable
Optional
-
Master Min. IdleTime Btw Sequence
LA
MDSTP
-
Variable
Optional
-
Master Min. IdleTime Btw steps
LA
PK1
-
Variable
Required
-
Long packed point blowers 1 -16
LP
PK2
-
Variable
Optional
-
Long packed point blowers 17 -32
LP
PK3
-
Variable
Optional
-
Long packed point -
LP
D ESCRIPTION
blowers 33 - 48 PK4
320
-
Variable
Optional
-
Long packed point blowers 49 --64
LP
APC_002
13.3 Using the SBSequence algorithm
APC_002
NA ME
L C AL G. R ECORD F IELD
PK5
-
PK6
M I N. P OINT R ECORD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
Variable
Optional
-
Long packed point blowers 65 - 80
LP
-
Variable
Optional
-
Long packed point blowers 81--96
LP
PK7
-
Variable
Optional
-
Long packed point blowers 97 -- 112
LP
PK8
-
Variable
Optional
-
Long packed point blowers 113 -- 128
LP
PK9
-
Variable
Optional
-
Long packed point blowers 129 - 144
LP
PK10
-
Variable
Optional
-
Long packed point blowers 145 -- 160
LP
PK11
-
Variable
Optional
-
Long packed point blowers 161 - 176
LP
PK12
-
Variable
Optional
-
Long packed point blowers 177 -- 192
LP
PK13
-
Variable
Optional
-
Long packed point blowers 193 - 208
LP
PK14
-
Variable
Optional
-
Long packed point blowers 209 - 224
LP
PK15
-
Variable
Optional
-
Long packed point blowers 225 - 240
LP
PK16
-
Variable
Optional
-
Long packed point blowers 241 -- 256
LP
PK17
-
Variable
Optional
-
Long packed point blowers 257 - 272
LP
PK18
-
Variable
Optional
-
Long packed point blowers 273 - 288
LP
PK19
-
Variable
Optional
-
Long packed point blowers 289 - 304
LP
PK20
-
Variable
Optional
-
Long packed point blowers 305 -- 320
LP
PK21
-
Variable
Optional
-
Long packed point blowers 321 - 336
LP
PK22
-
Variable
Optional
-
Long packed point blowers 337 -- 352
LP
PK23
-
Variable
Optional
-
Long packed point blowers 353 - 368
LP
PK24
-
Variable
Optional
-
Long packed point blowers 369 -- 384
LP
PK25
-
Variable
Optional
-
Long packed point blowers 385 - 400
LP
PK26
-
Variable
Optional
-
Long packed point blowers 401 -- 416
LP
D ESCRIPTION
321
13.3 Using the SBSequence algorithm
NA ME
L C AL G. R ECORD F IELD
PK27
-
PK28
TYPE
D EFAULT VA L UE
Variable
Optional
-
Long packed point blowers 417 - 432
LP
-
Variable
Optional
-
Long packed point blowers 433 -- 448
LP
PK29
-
Variable
Optional
-
Long packed point blowers 449 - 464
LP
PK30
-
Variable
Optional
-
Long packed point blowers 465 -- 480
LP
PK31
-
Variable
Optional
-
Long packed point blowers 481 - 496
LP
PK32
-
Variable
Optional
-
Long packed point blowers 497 -- 512
LP
PK33
-
Variable
Optional
-
Long packed point blowers 513 - 528
LP
PK34
-
Variable
Optional
-
Long packed point blowers 529 -- 544
LP
PK35
-
Variable
Optional
-
Long packed point blowers 545 - 560
LP
PK36
-
Variable
Optional
-
Long packed point blowers 561 -- 576
LP
PK37
-
Variable
Optional
-
Long packed point blowers 577 - 592
LP
PK38
-
Variable
Optional
-
Long packed point -
LP
blowers 593 -- 608 Long packed point blowers 609 - 624
LP
D ESCRIPTION
PK39
-
Variable
Optional
-
PK40
-
Variable
Optional
-
Long packed point blowers 625 -- 640
LP
PK41
-
Variable
Optional
-
Long packed point blowers 641 - 656
LP
PK42
-
Variable
Optional
-
Long packed point blowers 657 -- 672
LP
PK43
-
Variable
Optional
-
Long packed point blowers 673 - 688
LP
PK44
-
Variable
Optional
-
Long packed point blowers 689 -- 704
LP
PK45
-
Variable
Optional
-
Long packed point blowers 705 - 720
LP
PK46
-
Variable
Optional
-
Long packed point -
LP
-
blowers 721 -- 736 Long packed point blowers 737 -- 752
LP
PK47
322
M I N. P OINT R ECORD
R EQUIRED / O PTIONAL
-
Variable
Optional
APC_002
13.3 Using the SBSequence algorithm
APC_002
NA ME
L C AL G. R ECORD F IELD
PK48
-
PK49
M I N. P OINT R ECORD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
Variable
Optional
-
Long packed point blowers 753 -- 768
LP
-
Variable
Optional
-
Long packed point blowers 769 - 784
LP
PK50
-
Variable
Optional
-
Long packed point blowers 785 -- 800
LP
PK51
-
Variable
Optional
-
Long packed point blowers 801 - 816
LP
PK52
-
Variable
Optional
-
Long packed point blowers 817 -- 832
LP
PK53
-
Variable
Optional
-
Long packed point blowers 833 - 848
LP
PK54
-
Variable
Optional
-
Long packed point blowers 849 -- 864
LP
PK55
-
Variable
Optional
-
Long packed point blowers 865 - 880
LP
PK56
-
Variable
Optional
-
Long packed point blowers 881 -- 896
LP
PK57
-
Variable
Optional
-
Long packed point blowers 897 - 912
LP
PK58
-
Variable
Optional
-
Long packed point blowers 913 -- 928
LP
PK59
-
Variable
Optional
-
Long packed point blowers 929 - 944
LP
PK60
-
Variable
Optional
-
Long packed point blowers 945 -- 960
LP
PK61
-
Variable
Optional
-
Long packed point blowers 961 - 976
LP
PK62
-
Variable
Optional
-
Long packed point blowers 977 -- 992
LP
PK63
-
Variable
Optional
-
Long packed point blowers 993 - 1008
LP
PK64
-
Variable
Optional
-
Long packed point blowers 1009 -- 1024
LP
SQCPT
-
Variable
Required
-
Sequence Complete
LD/LP
HLDRS
-
Variable
Optional
-
Hold for resources
LD/LP
HLDTD
-
Variable
Optional
-
Hold for time-delay
LD/LP
HLDMN
-
Variable
Optional
-
Hold due to local demand
LD/LP
HLDPR
-
Variable
Optional
-
Master hold
LD/LP
EXTR1
-
Variable
Optional
-
Current Step Number
LA
D ESCRIPTION
323
13.3 Using the SBSequence algorithm
NA ME
L C AL G. R ECORD F IELD
EXTR2
-
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
Variable
Optional
-
M I N. P OINT R ECORD
D ESCRIPTION Current Sequence Status:
LA
1 = Running 2 = Held 3 = Finished 4 = Rest 5 = Aborting EXTR3
-
Variable
Optional
-
Current mode of the
LA
sequencer: 1 = Once 2 = Continuous 3 = Auto EXTR4
-
Variable
Optional
-
Time until next start. Shows a countdown timer until the next requested blower start.
LA
EXTR5
-
Variable
Optional
-
Reserved
LA
Output point SEQNM
CO - Integer
Data Init
Required
STPNM
C1- Integer
Data Init
Required
HRSTR
C2 - Integer
Data Init
Required
CSTP
C3 - Integer
Alg. Init
Required
CBLW1
C4 - Integer
Alg. Init
CBLW2
C5 - Integer
CBLW3
0
Sequence Number (1-99)
-
0
Number of steps (1-99)
-
0
Start Holding Register Number (>=0)
-
1
Currently running step number
-
Required
0
Blower No.1: 1 - running 0 - stopped
-
Alg. Init
Required
0
Blower No.2: 1 - running 0 - stopped
-
C6 - Integer
Alg. Init
Required
0
Blower No.3: 1 - running 0 - stopped
-
CBLW4
C7 - Integer
Alg. Init
Required
0
Blower No.4: 1 = running 0 = stopped
-
MODE
G0 - Integer
Alg. Init
Required
1
Mode type:
-
1 = Once, 2 = Continuous, 3 = Auto STAT
324
G1- Integer
Alg. Init
Required
3
SB Sequence Status: 1 = run 2 = held 3 = finished 4 = rest
-
APC_002
13.3 Using the SBSequence algorithm
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
M I N. P OINT R ECORD
SEQTM
R1 - Real
Alg. Init
Required
0
Sequence Timer
-
STPTM BLWTM
R2 - Real
Alg. Init
Required
0
Step Timer
-
R3 - Real
Alg. Init
Required
0
Blower Timer
-
TD12
G2 - Integer
Tuning constant
Required
1
Time Delay (seconds) between 1st and 2nd blowers
-
TD23
G3 - Integer
Tuning constant
Required
1
Time Delay (seconds) between 2nd and 3rd blowers
-
TD34
G4 - Integer
Tuning constant
Required
1
Time Delay (seconds) between 3rd and 4th blowers
-
TDSEQ
G5 - Integer
Tuning constant
Required
1
Min. IdleTime (seconds) Btw Sequence
-
PROPT
G6 - Integer
Tuning constant
Required
1
1 = Ignore priority 2 = Hold for priority
-
Note: Valid sequence numbers are 1 - 99.
13.3 .6 SBS equence auxiliary
algorithm
definiti ons
In addition to the following algorithm description, there are eight more auxiliaries defined for Steps 13-24, 25-36, 37-48, 49-60, 61-72, 73-84, 85-96, and 97-108. Au xi li ary SBSequen ce al go ri th m No. 1 – No. 9 (only No. 1 is sh ow n)
NA ME
LC ALG R ECORD F IELD
R EQUIRED / O PTIONAL
D EFAULT VAL UE
D ESCRIPTION
DIAG
LU - Integer
Reconcilable Constant
Required
0
Tuning Diagram Number
S1B1
G0 - Integer
Reconcilable Constant
Required
0
Step 1 Blower 1
S1B2
G1 - Integer
Reconcilable Constant
Optional
0
Step 1 Blower 2
S1B3
G2 - Integer
Reconcilable Constant
Optional
0
Step 1 Blower 3
S1B4
G3 - Integer
Reconcilable
Optional
0
Step 1 Blower 4
G4 - Integer
Constant Reconcilable Constant
Optional
0
Delay (seconds) between step 1 and step 2
S1TD
APC_002
TYPE
325
13.3 Using the SBSequence algorithm
NA ME
LC ALG R ECORD F IELD
R EQUIRED / O PTIONAL
D EFAULT VAL UE
D ESCRIPTION
S2B1
G5 - Integer
Reconcilable Constant
Optional
0
Step 2 Blower 1
S2B2
G6 - Integer
Reconcilable Constant
Optional
0
Step 2 Blower 2
S2B3
G7 - Integer
Reconcilable Constant
Optional
0
Step 2 Blower 3
S2B4
G8 - Integer
Reconcilable Constant
Optional
0
Step 2 Blower 4
S2TD
G9 - Integer
Reconcilable Constant
Optional
0
Delay (seconds) between step 2 and step 3
S3B1
B0 - Integer
Reconcilable Constant
Optional
0
Step 3 Blower 1
S3B2
B1- Integer
Reconcilable Constant
Optional
0
Step 3 Blower 2
S3B3
B2 - Integer
Reconcilable Constant
Optional
0
Step 3 Blower 3
S3B4
YU - Integer
Reconcilable Constant
Optional
0
Step 3 Blower 4
S3TD
B4 - Integer
Reconcilable Constant
Optional
0
Delay (seconds) between step 3 and step 4
S4B1
B5 - Integer
Reconcilable Constant
Optional
0
Step 4 Blower 1
S4B2
B6 - Integer
Reconcilable
Optional
0
Step 4 Blower 2
TYPE
Constant
326
S4B3
B7 - Integer
Reconcilable Constant
Optional
0
Step 4 Blower 3
S4B4
B8 - Integer
Reconcilable Constant
Optional
0
Step 4 Blower 4
S4TD
B9 - Integer
Reconcilable Constant
Optional
0
Delay (seconds) between step 4 and step 5
S5B1
C0 - Integer
Reconcilable Constant
Optional
0
Step 5 Blower 1
S5B2
C1 - Integer
Reconcilable Constant
Optional
0
Step 5 Blower 2
S5B3
C2 - Integer
Reconcilable Constant
Optional
0
Step 5 Blower 3
S5B4
C3 - Integer
Reconcilable Constant
Optional
0
Step 5 Blower 4
S5TD
C4 - Integer
Reconcilable Constant
Optional
0
Delay (seconds) between step 5 and step 6
S6B1
C5 - Integer
Reconcilable Constant
Optional
0
Step 6 Blower 1
APC_002
13.3 Using the SBSequence algorithm
APC_002
NA ME
LC ALG R ECORD F IELD
R EQUIRED / O PTIONAL
D EFAULT VAL UE
D ESCRIPTION
S6B2
C6 - Integer
Reconcilable Constant
Optional
0
Step 6 Blower 2
S6B3
C7 - Integer
Reconcilable Constant
Optional
0
Step 6 Blower 3
S6B4
C8 - Integer
Reconcilable Constant
Optional
0
Step 6 Blower 4
S6TD
YT - Integer
Reconcilable Constant
Optional
0
Delay (seconds) between step 6 and step 7
S7B1
D0 - Integer
Reconcilable Constant
Optional
0
Step 7 Blower 1
S7B2
YQ - Integer
Reconcilable Constant
Optional
0
Step 7 Blower 2
S7B3
D2 - Integer
Reconcilable Constant
Optional
0
Step 7 Blower 3
S7B4
YP - Integer
Reconcilable Constant
Optional
0
Step 7 Blower 4
S7TD
D4 - Integer
Reconcilable Constant
Optional
0
Delay (seconds) between step 7 and step 8
S8B1
D5 - Integer
Reconcilable Constant
Optional
0
Step 8 Blower 1
S8B2
D6 - Integer
Reconcilable Constant
Optional
0
Step 8 Blower 2
S8B3
YN - Integer
Reconcilable
Optional
0
Step 8 Blower 3
S8B4
D8 - Integer
Constant Reconcilable Constant
Optional
0
Step 8 Blower 4
S8TD
D9 - Integer
Reconcilable Constant
Optional
0
Delay (seconds) between step 8 and step 9
S9B1
YM - Integer
Reconcilable Constant
Optional
0
Step 9 Blower 1
S9B2
YL - Integer
Reconcilable Constant
Optional
0
Step 9 Blower 2
S9B3
E2 - Integer
Reconcilable Constant
Optional
0
Step 9 Blower 3
S9B4
E3 - Integer
Reconcilable Constant
Optional
0
Step 9 Blower 4
S9TD
E4 - Integer
Reconcilable Constant
Optional
0
Delay (seconds) between step 9 and step 10
S10B1
YC - Integer
Reconcilable Constant
Optional
0
Step 10 Blower 1
S10B2
Y9 - Integer
Reconcilable Constant
Optional
0
Step 10 Blower 2
TYPE
327
13.3 Using the SBSequence algorithm
NA ME
LC ALG R ECORD F IELD
R EQUIRED / O PTIONAL
D EFAULT VAL UE
D ESCRIPTION
S10B3
E7 - Integer
Reconcilable Constant
Optional
0
Step 10 Blower 3
S10B4
E8 - Integer
Reconcilable Constant
Optional
0
Step 10 Blower 4
S10TD
Y8 - Integer
Reconcilable Constant
Optional
0
Delay (seconds) between step 10 and step 11
S11B1
Y7 - Integer
Reconcilable
Optional
0
Step 11 Blower 1
S11B2
Y6 - Integer
Constant Reconcilable Constant
Optional
0
Step 11 Blower 2
S11B3
XY - Integer
Reconcilable Constant
Optional
0
Step 11 Blower 3
S11B4
XW - Integer
Reconcilable Constant
Optional
0
Step 11 Blower 4
S11TD
F4 - Integer
Reconcilable Constant
Optional
0
Delay (seconds) between step 11 and step 12
S12B1
F5 - Integer
Reconcilable Constant
Optional
0
Step 12 Blower 1
S12B2
F6 - Integer
Reconcilable Constant
Optional
0
Step 12 Blower 2
S12B3
XV - Integer
Reconcilable Constant
Optional
0
Step 12 Blower 3
S12B4
XU - Integer
Reconcilable
Optional
0
Step 12 Blower 4
XR - Integer
Constant Reconcilable Constant
Optional
0
Delay (seconds) between step 12 and step 13
S12TD
328
TYPE
APC_002
13.4 Using the SBScheduler algorithm
13 .4 Using the
SBS cheduler a lgor ithm
Note: The SBScheduler algorithm can only be purchased as part of an engineered solution. The SBScheduler algorithm serves as a resource distributor that, based on certain rules (such as priority-based FIFO), allocates a type of blowing medium (for example, steam) among a group of sootblowers. Each SBScheduler algorithm handles only one type of medium. In a power plant, those sootblowers are assigned to different blowing sequences that may run simultaneously, and as a result, the sootblowers compete for the blowing medium when they try to start blowing at the same time. Meanwhile, there are some operation rules, such as only one blower among a group of blowers can run at a time, which is called a mutual exclusion constraint. To determine which sootblower should run first and which ones should be held in order to avoid any violation in the medium constraint and the mutual exclusion constraint, the SBScheduler algorithm is used as a coordinator. Basically, the SBScheduler algorithm maintains a dynamic queue of the sootblowers waiting for start permissions, and then starts those sootblowers in such an order that the desired scheduling performance is achieved. The maximum medium constraint is always satisfied and results in no violation of the mutual exclusion constraint. CAUTION! Use the SBScheduler algorithm with the SBSequence algorithms and the Blower algorithms. Those algorithms must be located on the same Ovation Advanced Controller and within the same control area. Since each SBScheduler algorithm deals with only one type of blowing medium, there could be multiple SBScheduler algorithms implemented in one project. For example, if you have two mediums (for example, air and water) used in the plant, two SBScheduler algorithms need to be added to the control strategy. Currently, up to four different types of blowing medium can be handled in the system. Remember, there should be ONE AND ONLY ONE SBScheduler algorithm for each type of medium in the Ovation Controller. Two scheduling methods are currently implemented: Priority Queue and First in First Out (FIFO).
Priority Queue (default) was introduced because some of the blowers might never run in the FIFO queue. In the Priority Queue system, each blower is assigned an initial priority.The queue always tries to start the blower with the highest priority value, and then goes to the next. In each looptime, the priorities of all the blowers in the queue increase by 1. When the value reaches over a certain threshold (MXPRI), the scheduler starts that blower first and holds other requests in the queue.
First In First Out (FIF O) is the simplest way. For example, at time 0, there are two new requests in the Input Buffer of the SBScheduler for steam: Sequence 1 wants to start IK17 and Sequence 9 wants to start IK2. The SBScheduler algorithm adds those two items, {SEQ1, BLW17} and {SEQ9, BLW2}, to the empty queue. At time 1, there are another two new requests in the Input Buffer: Sequence 5 wants to start IK7 and Sequence 39 wants to start IK2. The SBScheduler algorithm then adds those two items, {SEQ5, BLW7} and {SEQ39, BLW2}, to the end of the queue. Now we have four items in the queue: {SEQ1, BLW17}, {SEQ9, BLW2}, {SEQ5, BLW7} and {SEQ39, BLW2}, from top to bottom.
APC_002
329
13.4 Using the SBScheduler algorithm
When the FIFO scheduling method is used, the SBScheduler algorithm always tries to start the blower at the top of the queue. If the medium and the mutual exclusion rule allow, the algorithm grants the permission to {SEQ1, BLW17} and then checks the next blower, {SEQ9, BLW23}, in the queue, which, by then, is moved to the top. If the medium is not allowed to start {SEQ1, BLW17}, the algorithm holds all the blowers in the queue. Therefore, the blower at the top of the queue always starts before the other blowers in the queue. Note that all sequences with the same blower starts at the same time when the first instance of this blower number is allowed to run. In this example, these are two sequences trying to start the same blower: {SEQ9, BLW2} and {SEQ39, BLW2}. When the algorithm allows {SEQ9, BLW2} to start, it automatically checks the rest of the queue and starts all the requests with BLW2, in this case, {SEQ39, BLW2} so both sequences starts simultaneously. The SBScheduler algorithm also provides a function to evaluate the manual start request sent from a blower. The manual start request is treated like a highest priority request. The same method applies to the priority sequence. All the blowers in the priority sequence are assigned the highest priority and runs as soon as possible.
13.4 .1 SBSche duler algor
ithm func tion al symb ol
Figure 9 4: SBScheduler Algorithm func
330
tional symbo l
APC_002
13.4 Using the SBScheduler algorithm
13.4 .2 Accessi ng advanced editin Builder
g for the SBSche duler algori
thm i n th e Control
The SBScheduler algorithm does not use advanced edits and does not have any parameters that appear in the Advanced Applications Studio. For the SBScheduler algorithm, all parameters are defined through the Control Builder Property Editor. See To use the Property Editor to edit advanced algorithms (see page 19) for more information. To identify parameters, hover the mouse pointer over the entries in the Property Editor. The parameter name appears as a tooltip. For information on valid parameter values, see SBScheduler algorithm definitions (see page 331). The following figure shows an example of the Property Editor for the SBScheduler algorithm.
Figure 95 : SBSche duler algorith m paramete rs sh own in Property Editor Note: No default tuning window is available for the SBScheduler algorithm in signal diagrams.
APC_002
331
13.4 Using the SBScheduler algorithm
13.4 .3 SBSche duler algorithm
definiti ons
SBScheduler definition s
NA ME
L C AL G. R ECORD F IELD
DIAG
LU-Integer
MXMED
-
TYPE
R EQUIRED / O PTIONAL
D EFAULT VAL UE
Data Init
Required
0
Variable
Required
-
M I N. P OINT R ECORD
D ESCRIPTION Tuning Diagram Number
-
Maximum blowing
LA
medium PSEQ
-
Variable
Optional
-
Priority Sequence Number
LA
TOKN1
-
Variable
Optional
-
Maximum Token Number for Group 1
LA
TOKN2
-
Variable
Optional
-
Maximum Token Number for Group 2
LA
TOKN3
-
Variable
Optional
-
Maximum Token Number for Group 3
LA
TOKN4
-
Variable
Optional
-
Maximum Token Number for Group 4
LA
TOKN5
-
Variable
Optional
-
Maximum Token Number for Group 5
LA
TOKN6
-
Variable
Optional
-
Maximum Token Number for Group 6
LA
TOKN7
-
Variable
Optional
-
Maximum Token
LA
Number for Group 7 Maximum Token Number for Group 8
LA
TOKN8
-
Variable
Optional
-
SIDNM
-
Variable
Required
-
SID number of the SBScheduler
PD
HRSTR
Y6 - Integer
Data Init
Required
0
Start Holding Register Number
-
MEDTY
XY - Integer
Data Init
Required
1
Medium type: 1, 2, 3 or 4
-
SCHTY
XW - Integer
Data Init
Required
1
Scheduling method:
-
1: for Priority-Based Method 2: FIFO MXPRI
332
Y7 - Integer
Tuning Constant
Required
600
Maximum Priority Threshold
-
APC_002
13.5 Using the SBMaster algorithm
13 .5 Using the
SBMa ster a lgor ithm
Note: The SBMaster algorithm can only be purchased as part of an engineered solution. The SBMaster algorithm defines multiple sequence groups and determines which sequence or sequence group to run. It allows you to define up to nine groups of sequences. Each sequence group consists of up to 99 sequences already built. Sequences defined in the same group are executed sequentially. Sequences defined in different groups can be active at the same time. The SBMaster algorithm has 10 analog output pins. The output of each pin is the sequence number, which is sent to the downstream SBSequence algorithm. When an analog number is zero at any specific pin, no sequence is being dispatched from this pin. The analog pin retains its value while the sequence is active (either running or waiting to run). The SBMaster algorithm resets the number to zero when the connected sequence is finished. The 10th sequence output represents the priority sequence. The groups are zero terminated so that no sequences beyond the first zero in any group is processed. Also, notice that the priority mode and no mode selected operate exactly the same way if a priority sequence has been defined. Note: All sequences being controlled by the master should be in AUTO mode.
13.5 .1 SBMa ster algori
thm func tional s ymbo l
Figure 96 : SBMaster Algorith m funct ional symbo l
APC_002
333
13.5 Using the SBMaster algorithm
13.5 .2 SBMa ster algori
thm func tionalit y d etails
The SBMaster mode determines how the algorithm functions. The modes are 1-7 as shown in the following table: Modes 1 - 7 descriptions #
MODE
D ESCRIPTION
1
Single group sequence
All sequences in this mode run once and then stop. The sequences run one by one.
2
Multiple group sequence
All groups selected in this mode run simultaneously and then stop.
3
Continuous single group sequence
After the single group sequence mode (mode 1) finishes, it repeats.
4
Continuous multiple group sequence
All groups selected in this mode run simultaneously. Each group repeats when it finishes.
5
Synchronized continuous multiple group sequence
All groups selected in this mode run simultaneously. Each group repeats when it finishes. At any time when any sequence in any group finishes, it will not jump to the next sequence until all currently running sequences in other groups finishes.
6
Priority
You designate one of the 99 sequences as the priority sequence. When an external condition (PRIOR) (such as the load in certain range, or time in certain range, or a button pushed by the user) is TRUE, the selected priority sequence start. Meanwhile, all other sequences in Auto mode are on hold. All existing running sequences in Manual can continue to run.
7
Advisory
The output sequence numbers and their associated time-delay (seconds) in between steps come from advisory program. If the advisory condition (ADVON) is FALSE, this mode is ignored.
To engage the SBMaster algorithm, the input pin ENBL has to be TRUE. If at any time during the operation the ENBL input drops to FALSE, then the algorithm resets all analog outputs (OUT1-OUT9 and OUTP) to zero. When PRIOR is TRUE, then the priority sequence number is dispatched to the OUTP. Otherwise, the output from OUTP is zero. A non-zero number can be dispatched to OUTP in any mode except the Advisory mode. If the operation mode is also chosen as “advisory” and ADVON is TRUE, then the advisory mode is engaged. The four analog inputs ADV1, ADV2, ADV3, and ADV4 specify the advisory sequence numbers when in advisory mode. When operated in advisory mode, the advisory sequence numbers show up in the first four sequence output pins (OUT1-OUT4), but not necessarily in the same order. All other sequence output pins are set to zero. There is also an optional Packed Digital Output Point (ADVDL) which specifies the time-delay (seconds) between steps within a sequence. The lower eight bits contain an analog number that represents a sequence, and the upper eight bits contain an analog number that represents the corresponding time-delay. The ADVDL is for advisory mode use only. When the operation mode is not selected as “advisory” or “priority," pushing the START button is required to initiate modes 1-5. If the system is already running in any of modes 1-5, then the START signal is ignored. The START signal is assumed to be a one-shot signal.
334
APC_002
13.5 Using the SBMaster algorithm
When RSET input signal is TRUE, then the algorithm resets. All sequence output analog numbers (OUT1-OUT9 and OUTP) are set to -1. The previous mode selection is kept. START must be present to run it again. If there is any mode change during an active running mode, the SBMaster algorithm may reset. It is a good practice to reset the current running mode first, and then select a different operation mode. The Master Hold (MSHLD) input determines whether the SBMaster algorithm is on hold or whether the hold is released. When this signal is TRUE, the master operation is on hold. All sequence number output pins (OUT1-OUT9, and OUTP) are set to -2. When this signal returns to FALSE, the operation resumes and picks up from where it left. No START button push is required. The long packed input pins IN1 - IN7 provide 99 bits which show the running status of each down stream SBSequence algorithm. A TRUE value in any given bit indicates the corresponding sequence is finished. At any given time, only one of the modes can be selected for operation, except that the Priority mode can stay active at all times. The Group Step (GxSTP) is the actual step for each defined sequence group. The B4 field stores the group selection information (BIT0 -Bit8). A bit value of 1 indicates the corresponding group is selected. A group may be defined but does not have to be selected. On the other hand, a selected group has to be defined first. In the case of multiple sequences being active simultaneously among different groups, a priority level is set for each sequence/group. This is necessary both at kick-off and during the run, since more blowers may compete for the same time slot. The priority rule is now set that, among all competing sequences, the sequence which is in the group with a smaller group number gets the higher priority. Since the group number is ordered from 1 to 9 in the master table, the sequences and groups with higher priorities should be placed first in (on the left of) the master sequence table. It is important to have time delay between sequences in each group. In this way, sequences in the lower priority groups can have an opportunity to run.
APC_002
335
13.5 Using the SBMaster algorithm
13.5 .3 Accessi ng advanced editin Builder
g fo r the SBMa ster algorit
hm in the Control
To access the Advanced Applications Studio for the SBMaster algorithm, refer to To use the Advanced Applications Studio to view and edit advanced algorithms (see page 20). Note: No default tuning window is available for the SBMaster algorithm in signal diagrams. SBMaster Input/O utput Configuration tab The Input/Output Configuration tab allows you to view the algorithm configuration input/output parameters for the SBMaster algorithm. This tab is informational only. You cannot edit the options from this dialog box or sort the columns in this table.
Figure 97: SBM aster Input/O utput Configuration tab
336
APC_002
13.5 Using the SBMaster algorithm
SBMaster General Pa rameters t ab The General Parameters tab displays the defined general parameters for the Master algorithm. You can edit only the Value column in this tab. To edit a value, left-click in the Value field to enter a value. Enter the change and press the key on the keyboard or click inside another cell so that the change you made takes effect. Press OK to save the change. The integer value for this field must be greater than or equal to zero. For mode-related integer fields, all of the rows in the Value cell contain a pull-down menu. The choices are as follows:
No Mode Selected.
Single Group.
Multiple Group.
Continuous Single Group.
Continuous Multiple Group.
Synchronized Continuous Multiple Group.
Priority Sequence.
Advisory.
Figure 98: SBMaster General Parameters tab
APC_002
337
13.5 Using the SBMaster algorithm
SBMaster Auxiliary Parameters tab The Auxiliary Parameters tab defines the auxiliary algorithm (group sequence) parameter for the master algorithm. 1.
Click each tab to define auxiliary records Group x Sequences 1-99. Sequences can be used more than once.
2.
Only the cells with a white background are editable. Right-click anywhere to get a pull-down menu of valid values.
3.
Press the button to select the sequence.
Blue - represents the current selection.
Green - sequence is unused.
Red - sequence is used at least once.
Figure 99: SBMaster Auxiliary Parameters tab
338
APC_002
13.5 Using the SBMaster algorithm
13.5 .4 SBMa ster algorith m definiti ons Note: Algorithm record type = LC SBMaster definitions
APC_002
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VAL UE
D ESCRIPTION
M I N. P OINT REC.
DIAG
LU - Integer
Data Init
Optional
140
Tuning Diagram Number.
-
ENBL PRIOR
-
Variable Variable
Required Required
-
Enable Input. Priority condition input.
LD/LP LD/LP
ADVON
-
Variable
Optional
-
Advisory mode condition input.
LD/LP
START
-
Variable
Required
-
Start one of the master modes 1,2,3,4,5.
LD/LP
RSET
-
Variable
Required
-
Reset priority and master modes 1,2,3,4,5.
LD/LP
MSHLD
-
Variable
Required
-
When set as true, send out -2 on all sequence pins.
LD/LP
IN1
-
Variable
Required
-
1-16 SEQ complete input.
LP
IN2
-
Variable
Optional
-
17-32 SEQ complete input.
LP
IN3
-
Variable
Optional
-
33-48 SEQ complete
LP
input. 49-64 SEQ complete input.
LP
IN4
-
Variable
Optional
-
IN5
-
Variable
Optional
-
65-80 SEQ complete input.
LP
IN6
-
Variable
Optional
-
81-96 SEQ complete input.
LP
IN7
-
Variable
Optional
-
97-99 SEQ complete input.
LP
TDS1
-
Variable
Optional (Input)
-
Time delay between adjacent sequence start (If used, it overrides tuning field TDS.)
LA
ADV1
-
Variable
Optional
-
1st advisory sequence.
LA
ADV2
-
Variable
Optional
-
2nd advisory sequence.
LA
ADV3
-
Variable
Optional
-
3rd advisory sequence.
LA
ADV4
-
Variable
Optional
-
4th advisory sequence.
LA
ADVDL
-
Variable
Optional
-
Advisory sequence number and inter step time delay.
LP
339
13.5 Using the SBMaster algorithm
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VAL UE
D ESCRIPTION
M I N. P OINT REC.
OUT1
-
Variable
Required
-
1st SEQ Output.
LA
OUT2 OUT3
-
Variable
Optional
-
2nd SEQ Output.
LA
-
Variable
Optional
-
3rd SEQ Output.
OUT4
LA
-
Variable
Optional
-
4th SEQ Output.
LA
OUT5
-
Variable
Optional
-
5th SEQ Output.
LA
OUT6
-
Variable
Optional
-
6th SEQ Output.
LA
OUT7
-
Variable
Optional
-
7th SEQ Output.
LA
OUT8
-
Variable
Optional
-
8th SEQ Output.
LA
OUT9
-
Variable
Optional
-
9th SEQ Output.
LA
OUTP
-
Variable
Optional
-
Priority SEQ Output.
LA
AUX1
G1 - Integer
Variable
Required
-
SID for AUX1 (for display.)
LC
AUX2
G2 - Integer
Variable
Required
-
SID for AUX2.
LC
AUX3
G3 - Integer
Variable
Required
-
SID for AUX3.
LC
AUX4
G4 - Integer
Variable
Required
-
SID for AUX4.
LC
AUX5
G5 - Integer
Variable
Required
-
SID for AUX5.
LC
AUX6
G6 - Integer
Variable
Required
-
SID for AUX6.
LC
AUX7
G7 - Integer
Variable
Required
-
SID for AUX7.
LC
AUX8
G8 - Integer
Variable
Required
-
SID for AUX8.
LC
AUX9
G9 - Integer
Variable
Required
-
SID for AUX9.
LC
AUX10
G0 - Integer
Variable
Required
-
SID for AUX10.
LC
AUX11
XR - Integer
Variable
Required
-
SID for AUX11.
LC
AUX12
XU - Integer
Variable
Required
-
SID for AUX12.
LC
AUX13
XV - Integer
Variable
Required
-
SID for AUX13.
LC
AUX14
F6 - Integer
Variable
Required
-
SID for AUX14.
LC
AUX15
F5 - Integer
Variable
Required
-
SID for AUX15.
LC
AUX16
F4 - Integer
Variable
Required
-
SID for AUX16.
LC
AUX17
XW - Integer
Variable
Required
-
SID for AUX17.
LC
AUX18
XY - Integer
Variable
Required
-
SID for AUX18.
LC
TDS
C0 - Integer
Tuning constant
Required
0
Time delay between adjacent sequence start (in loops.)
-
SEQS
C1 - Integer
Tuning
Required
0
Total number of groups
-
constant
340
defined.
APC_002
13.5 Using the SBMaster algorithm
NA ME
L C AL G. R ECORD F IELD
MODE
C2 - Integer
TYPE Tuning constant
R EQUIRED / O PTIONAL
D EFAULT VAL UE
Required
0
D ESCRIPTION
M I N. P OINT REC.
Mode type:
-
1 = Single group 2 = Multiple group 3 = Continuous single group 4 = Continuous multiple group 5 = Synchronized continuous multiple group 6 = Priority sequence 7 = Advisory
MODEP
-
Variable
Optional
0
Shows the current mode of the master:
-
1 = Single group 2 = Multiple group 3 = Continuous single group 4 = Continuous multiple group 5 = Synchronized continuous multiple group 6 = Priority sequence 7 = Advisory Start holding register number.
HRSTR
C3 - Integer
Data Init
Required
0
-
G1STP
YQ - Integer
Alg. Init
Required
0
Current step in the 1st group queue.
-
G2STP
D2 - Integer
Alg. Init
Required
0
Current step in the 2nd group queue.
-
G3STP
YP - Integer
Alg. Init
Required
0
Current step in the 3rd group queue.
-
G4STP
D4 - Integer
Alg. Init
Required
0
Current step in the 4th group queue.
-
G5STP
D5 - Integer
Alg. Init
Required
0
Current step in the 5th group queue.
-
G6STP
D6 - Integer
Alg. Init
Required
0
Current step in the 6th group queue.
-
G7STP
YN - Integer
Alg. Init
Required
0
Current step in the 7th
-
group queue. G8STP
APC_002
D8 - Integer
Alg. Init
Required
0
Current step in the 8th group queue.
-
341
13.5 Using the SBMaster algorithm
NA ME
L C AL G. R ECORD F IELD
G9STP
D9 - Integer
SSEL
M I N. P OINT REC.
TYPE
R EQUIRED / O PTIONAL
D EFAULT VAL UE
Alg. Init
Required
0
Current step in the 9th group queue.
-
D0 - Integer
Tuning constant
Required
0
Selected group for single group mode (1-9.)
-
GSEL
B4 - Integer
Tuning constant
Required
0
Checked group for multi-group mode (BIT 0-8.
-
PSEQ
B0 - Integer
Tuning constant
Required
0
Selected sequence for priority sequence mode (1-99.)
-
D ESCRIPTION
13. 5.5 SBMaster algor ith m defin iti on (Aux1,3,5, 7,9 ,11 ,13 ,15 ,17 ) Note: Algorithm record type = LC SBMaster auxiliary sequence
342
NA ME
L C AL G. R ECORD F IELD
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
DIAG
LU - Integer
Reconcilable Constant
Required
0
Tuning Diagram Number
SQ01
G0 - Integer
Reconcilable Constant
Required
0
1st Sequence in group x
SQ02
G1 - Integer
Reconcilable Constant
Optional
0
2nd Sequence in group x
SQ03
G2 - Integer
Reconcilable Constant
Optional
0
3rd Sequence in group x
SQ04
G3 - Integer
Reconcilable Constant
Optional
0
4th Sequence in group x
SQ05
G4 - Integer
Reconcilable Constant
Optional
0
5th Sequence in group x
SQ06
G5 - Integer
Reconcilable Constant
Optional
0
6th Sequence in group x
SQ07
G6 - Integer
Reconcilable Constant
Optional
0
7th Sequence in group x
SQ08
G7 - Integer
Reconcilable Constant
Optional
0
8th Sequence in group x
SQ09
G8 - Integer
Reconcilable Constant
Optional
0
9th Sequence in group x
SQ10
G9 - Integer
Reconcilable Constant
Optional
0
10th Sequence in group x
TYPE
APC_002
13.5 Using the SBMaster algorithm
APC_002
NA ME
L C AL G. R ECORD F IELD
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
SQ11
B0 - Integer
Reconcilable Constant
Optional
0
11th Sequence in group x
SQ12
B1 - Integer
Reconcilable Constant
Optional
0
12th Sequence in group x
SQ13
B2 - Integer
Reconcilable Constant
Optional
0
13th Sequence in group x
SQ14
YU - Integer
Reconcilable Constant
Optional
0
14th Sequence in group x
SQ15
B4 - Integer
Reconcilable Constant
Optional
0
15th Sequence in group x
SQ16
B5 - Integer
Reconcilable Constant
Optional
0
16th Sequence in group x
SQ17
B6 - Integer
Reconcilable Constant
Optional
0
17th Sequence in group x
SQ18
B7 - Integer
Reconcilable Constant
Optional
0
18th Sequence in group x
SQ19
B8 - Integer
Reconcilable Constant
Optional
0
19th Sequence in group x
SQ20
B9 - Integer
Reconcilable Constant
Optional
0
20th Sequence in group x
SQ21
C0 - Integer
Reconcilable Constant
Optional
0
21st Sequence in group x
SQ22
C1 - Integer
Reconcilable Constant
Optional
0
22nd Sequence in group x
SQ23
C2 - Integer
Reconcilable Constant
Optional
0
23rd Sequence in group x
SQ24
C3 - Integer
Reconcilable Constant
Optional
0
24th Sequence in group x
SQ25
C4 - Integer
Reconcilable Constant
Optional
0
25th Sequence in group x
SQ26
C5 - Integer
Reconcilable Constant
Optional
0
26th Sequence in group x
SQ27
C6 - Integer
Reconcilable Constant
Optional
0
27th Sequence in group x
SQ28
C7 - Integer
Reconcilable Constant
Optional
0
28th Sequence in group x
SQ29
C8 - Integer
Reconcilable Constant
Optional
0
29th Sequence in group x
SQ30
YT - Integer
Reconcilable Constant
Optional
0
30th Sequence in group x
SQ31
D0 - Integer
Reconcilable Constant
Optional
0
31st Sequence in group x
SQ32
YQ - Integer
Reconcilable Constant
Optional
0
32nd Sequence in group x
TYPE
343
13.5 Using the SBMaster algorithm
344
NA ME
L C AL G. R ECORD F IELD
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
SQ33
D2 - Integer
Reconcilable Constant
Optional
0
33rd Sequence in group x
SQ34
YP - Integer
Reconcilable Constant
Optional
0
34th Sequence in group x
SQ35
D4 - Integer
Reconcilable Constant
Optional
0
35th Sequence in group x
SQ36
D5 - Integer
Reconcilable Constant
Optional
0
36th Sequence in group x
SQ37
D6 - Integer
Reconcilable Constant
Optional
0
37th Sequence in group x
SQ38
YN - Integer
Reconcilable Constant
Optional
0
38th Sequence in group x
SQ39
D8 - Integer
Reconcilable Constant
Optional
0
39th Sequence in group x
SQ40
D9 - Integer
Reconcilable Constant
Optional
0
40th Sequence in group x
SQ41
YM - Integer
Reconcilable Constant
Optional
0
41st Sequence in group x
SQ42
YL - Integer
Reconcilable Constant
Optional
0
42nd Sequence in group x
SQ43
E2 - Integer
Reconcilable Constant
Optional
0
43rd Sequence in group x
SQ44
E3 - Integer
Reconcilable Constant
Optional
0
44th Sequence in group x
SQ45
E4 - Integer
Reconcilable Constant
Optional
0
45th Sequence in group x
SQ46
YC - Integer
Reconcilable Constant
Optional
0
46th Sequence in group x
SQ47
Y9 - Integer
Reconcilable Constant
Optional
0
47th Sequence in group x
SQ48
E7 - Integer
Reconcilable Constant
Optional
0
48th Sequence in group x
SQ49
E8 - Integer
Reconcilable Constant
Optional
0
49th Sequence in group x
SQ50
Y8 - Integer
Reconcilable Constant
Optional
0
50th Sequence in group x
SQ51
Y7 - Integer
Reconcilable Constant
Optional
0
51st Sequence in group x
SQ52
Y6 - Integer
Reconcilable Constant
Optional
0
52nd Sequence in group x
SQ53
XY - Integer
Reconcilable Constant
Optional
0
53rd Sequence in group x
SQ54
XW - Integer
Reconcilable Constant
Optional
0
54th Sequence in group x
TYPE
APC_002
13.5 Using the SBMaster algorithm
NA ME
L C AL G. R ECORD F IELD
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
SQ55
F4 - Integer
Reconcilable Constant
Optional
0
55th Sequence in group x
SQ56
F5 - Integer
Reconcilable Constant
Optional
0
56th Sequence in group x
SQ57
F6 - Integer
Reconcilable Constant
Optional
0
57th Sequence in group x
SQ58
XV - Integer
Reconcilable Constant
Optional
0
58th Sequence in group x
SQ 59
XU - Integer
Reconcilable Constant
Optional
0
59th Sequence in group x
SQ60
XR - Integer
Reconcilable Constant
Optional
0
60th Sequence in group x
TYPE
Note: The SBMaster Auxiliary Sequence algorithm stores the sequence numbers (1-99) for each sequence group defined by the user. For each master algorithm, there are up to 18 corresponding master auxiliary algorithms. The 1st auxiliary algorithm stores the first 60 sequence numbers in group 1. The 2nd auxiliary algorithm stores the remaining 39 sequence numbers in group 1. The 3rd auxiliary algorithm stores the first 60 sequence numbers in group 2. The 4th auxiliary algorithm stores the remaining 39 sequence numbers in group 2. The 5th auxiliary algorithm stores the first 60 sequence numbers in group 3. The 6th auxiliary algorithm stores the remaining 39 sequence numbers in group 3. The 7th auxiliary algorithm stores the first 60 sequence numbers in group 4. The 8th auxiliary algorithm stores the remaining 39 sequence numbers in group 4. The 9th auxiliary algorithm stores the first 60 sequence numbers in group 5. The 10th auxiliary algorithm stores the remaining 39 sequence numbers in group 5. The 60 sequence numbers in group 6. The 11th 12th auxiliary auxiliary algorithm algorithm stores stores the the first remaining 39 sequence numbers in group 6. The 13th auxiliary algorithm stores the first 60 sequence numbers in group 7. The 14th auxiliary algorithm stores the remaining 39 sequence numbers in group 7. The 15th auxiliary algorithm stores the first 60 sequence numbers in group 8. The 16th auxiliary algorithm stores the remaining 39 sequence numbers in group 8. The 17th auxiliary algorithm stores the first 60 sequence numbers in group 9. The 18th auxiliary algorithm stores the remaining 39 sequence numbers in group 9.
APC_002
345
13.5 Using the SBMaster algorithm
13. 5.6 SBMaster algor ith m defin iti on (Aux2,4,6, 8,1 0,1 2,1 4,1 6,1 8) Note: Algorithm record type = LC SBMaster auxiliary sequence c
346
ontinued
NA ME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
DIAG
LU - Integer
Reconcilable
Required
0
Tuning Diagram Number
SQ01
G0 - Integer
Constant Reconcilable Constant
Optional
0
61st Sequence in group x
SQ02
G1 - Integer
Reconcilable Constant
Optional
0
62nd Sequence in group x
SQ03
G2 - Integer
Reconcilable Constant
Optional
0
63rd Sequence in group x
SQ04
G3 - Integer
Reconcilable Constant
Optional
0
64th Sequence in group x
SQ05
G4 - Integer
Reconcilable Constant
Optional
0
65th Sequence in group x
SQ06
G5 - Integer
Reconcilable Constant
Optional
0
66th Sequence in group x
SQ07
G6 - Integer
Reconcilable Constant
Optional
0
67th Sequence in group x
SQ08
G7 - Integer
Reconcilable
Optional
0
68th Sequence in group x
SQ09
G8 - Integer
Constant Reconcilable Constant
Optional
0
69th Sequence in group x
SQ10
G9 - Integer
Reconcilable Constant
Optional
0
70th Sequence in group x
SQ11
B0 - Integer
Reconcilable Constant
Optional
0
71st Sequence in group x
SQ12
B1 - Integer
Reconcilable Constant
Optional
0
72nd Sequence in group x
SQ13
B2 - Integer
Reconcilable Constant
Optional
0
73rd Sequence in group x
SQ14
YU - Integer
Reconcilable Constant
Optional
0
74th Sequence in group x
SQ15
B4 - Integer
Reconcilable Constant
Optional
0
75th Sequence in group x
SQ16
B5 - Integer
Reconcilable Constant
Optional
0
76th Sequence in group x
SQ17
B6 - Integer
Reconcilable Constant
Optional
0
77th Sequence in group x
APC_002
13.5 Using the SBMaster algorithm
APC_002
NA ME
L C AL G. R ECORD F IELD
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
SQ18
B7 - Integer
Reconcilable Constant
Optional
0
78th Sequence in group x
SQ19
B8 - Integer
Reconcilable Constant
Optional
0
79th Sequence in group x
SQ20
B9 - Integer
Reconcilable Constant
Optional
0
80th Sequence in group x
SQ21
C0 - Integer
Reconcilable Constant
Optional
0
81st Sequence in group x
SQ22
C1 - Integer
Reconcilable Constant
Optional
0
82nd Sequence in group x
SQ23
C2 - Integer
Reconcilable Constant
Optional
0
83rd Sequence in group x
SQ24
C3 - Integer
Reconcilable Constant
Optional
0
84th Sequence in group x
SQ25
C4 - Integer
Reconcilable Constant
Optional
0
85th Sequence in group x
SQ26
C5 - Integer
Reconcilable Constant
Optional
0
86th Sequence in group x
SQ27
C6 - Integer
Reconcilable Constant
Optional
0
87th Sequence in group x
SQ28
C7 - Integer
Reconcilable Constant
Optional
0
88th Sequence in group x
SQ29
C8 - Integer
Reconcilable Constant
Optional
0
89th Sequence in group x
SQ30
YT - Integer
Reconcilable Constant
Optional
0
90th Sequence in group x
SQ31
D0 - Integer
Reconcilable Constant
Optional
0
91st Sequence in group x
SQ32
YQ - Integer
Reconcilable Constant
Optional
0
92nd Sequence in group x
SQ33
D2 - Integer
Reconcilable Constant
Optional
0
93rd Sequence in group x
SQ34
YP - Integer
Reconcilable Constant
Optional
0
94th Sequence in group x
SQ35
D4 - Integer
Reconcilable Constant
Optional
0
95th Sequence in group x
SQ36
D5 - Integer
Reconcilable Constant
Optional
0
96th Sequence in group x
SQ37
D6 - Integer
Reconcilable Constant
Optional
0
97th Sequence in group x
SQ38
YN - Integer
Reconcilable Constant
Optional
0
98th Sequence in group x
SQ39
D8 - Integer
Reconcilable Constant
Optional
0
99th Sequence in group x
TYPE
347
S
ECTION
14
Using th e TEMPRO (Temp erature Prof il e) algor it hm
IN THIS SECTION What is the TEMPRO algorithm?.................................................................................... 349 TEMPRO 349 TEMPRO operation......................................................................................................... functional symbol ............................................................................................ 353 Accessing advanced editing for the TEMPRO algorithm in the Control Builder .............354 TEMPRO algorithm definitions........................................................................................ 355
14. 1 What is the TE MPR O algo rit hm ? The TEMPRO algorithm is designed for temperature monitoring. It collects and processes data from up to 32 thermocouples that measure temperature. The maximum input number that is taken into consideration is determined by the tuning parameter NUMTC. If the number of thermocouples actually connected to the inputs is greater than NUMTC, all inputs having a number above NUMTC are ignored. Similarly, if the number of connected inputs is less than NUMTC, then only the connected ones are used in the calculations. Acquired measurements are sorted in descending order, and the two highest and three lowest values are returned as outputs together with corresponding thermocouple indices -- input numbers. In addition, the algorithm calculates the average and median for all collected temperature values. Note: Although the TEMPRO algorithm is designed for thermocouple monitoring and sorting, it accepts any valid input value for processing.
14.2 TEMP RO op erati on There are three main operations for the TEMPRO algorithm:
Ordering measurement values.
Calculating average temperature.
Calculating median temperature calculation.
APC_002
349
14.2 TEMPRO operation
14. 2.1 Orderin g th e measurement v
alues
The values for up to 32 (one required and 31 optional) analog inputs are sorted in descending order. Note that all BAD quality inputs are rejected in the sorting calculation. The outputs from the algorithm are:
Highest temperature value.
Second highest temperature value.
Lowest temperature value.
Second lowest temperature value.
Third lowest temperature value.
The outputs from the algorithm correspond to the following input indices:
Highest temperature index.
Second highest temperature index.
Lowest temperature index.
Second lowest temperature index.
Third lowest temperature index.
Inputs A1 ... A32
o
Thermocouple values ( F) (only inputs having a number not greater than NUMTC are processed)
Outputs o
TCH1
Highest TC value ( F) TCH2
350
o
Second highest TC value ( F) o
TCL1
Lowest TC value ( F)
TCL2
Second lowest TC value ( F)
TCL3
Third lowest TC value ( F)
IDH1
Highest TC index
IDH2
Second highest TC index
IDL1
Lowest TC index
IDL2
Second lowest TC index
IDL3
Third lowest TC index
o
o
APC_002
14.2 TEMPRO operation
If none of the inputs are connected, the algorithm returns zeros. The same is true if there is an insufficient number of inputs. For example, for only two inputs, there is no third lowest value. Therefore, the corresponding output is set to zero. If the input is in BAD quality, the value of that point is not used in the average and median calculations, nor is it used in the index. If two or more inputs are of the same value and are also the highest or lowest values, then the inputs are weighted according to their input number from lowest to highest. Therefore, if input A1 and input A2 both have the same value and the value was the highest value, then the values of the highest and second highest values would be the same. In addition, due to weighting, input A1 would be listed as the highest index and input A2 would be listed as the second highest index. In the case of the lowest values and indices, the higher input number would be the lower index.
14.2.2 Average temperature calculation Any input that satisfies the following conditions is excluded from the Average calculation: 1.
The highest
2.
The lowest
3.
Those of bad quality
4.
Values at least TTKCO (the tunable parameter -- by default equal to 500 F) less than the second highest input (that is, values < [TCH_2 - TTKCO]). The second highest input is used here since the highest input is rejected from the average calculation.
o
Averaging is done according to the formula:
where: Inputs which remain after rejecting the average calculation conditions (that is, highest, lowest, bad quality, values at least TTKCO less than the s econd highest input.
N
Number of inputs taken into consideration.
Inputs A1 ... A32
o
Thermocouple values ( F) (only inputs having a number not greater than NUMTC are processed)
Outputs TTXC
o
Average temperature ( F)
If the number of inputs remaining after rejection of those satisfying the above mentioned conditions is equal to zero, the algorithm sets the average to zero.
APC_002
351
14.2 TEMPRO operation
14. 2.3 Median temperatu
re calcu latio n
All BAD quality inputs are rejected and the median is calculated for the remaining measurements according to the following defintion: Median is the middle value of the given numbers or distribution in their ascending order. Median is the average value of the two middle elements when the size of the distribution is even. Inputs A1 ... A32
o
Thermocouple values ( F) (only inputs having a number not greater than NUMTC are processed)
Outputs TTXM
o
Median temperature ( F)
Similarly, as in the case of calculation average, if the number of inputs having something other than BAD quality is zero, the median is set to zero.
352
APC_002
14.3 TEMPRO functional symbol
14. 3 TEM PRO fun cti onal sym bol
Figure 100: T EMPRO func tion al symb ol
APC_002
353
14.4 Accessing advanced editing for the TEMPRO algorithm in the Control Builder
14 .4 Accessi ng advanced e Control Builder
diti ng for th e T EM PR O algorit hm in th e
TEMPRO does not use advanced edits and does not have any parameters that appear in the Advanced Applications Studio. For TEMPRO, all parameters are defined through the Control Builder Property Editor. See To use the Property Editor to edit advanced algorithms (see page 19) for more information. To identify parameters, hover the mouse pointer over the entries in the Property Editor. The parameter name appears as a tooltip. For information on valid parameter values, see TEMPRO algorithm definitions (see page 355). The following figure shows an example of the Property Editor for the TEMPRO algorithm. Note: No default tuning window is available for the TEMPRO algorithm in signal diagrams.
Figure 101: TEMPRO algorithm parameters shown in Property Editor
354
APC_002
14.5 TEMPRO algorithm definitions
14 .5 TE MP RO algorit hm definiti
ons
Note: Algorithm record type = LC Al go ri th m Definit io ns
APC_002
NA ME
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
MIN. P OINT REC.
A1
--
Variable
Required
--
TC analog input (pos. 1)
LA
A2 A3
---
Variable Variable
Optional Optional
---
TC analog input (pos. 2) TC analog input (pos. 3)
LA LA
A4
--
Variable
Optional
--
TC analog input (pos. 4)
LA
A5
--
Variable
Optional
--
TC analog input (pos. 5)
LA
A6
--
Variable
Optional
--
TC analog input (pos. 6)
LA
A7
--
Variable
Optional
--
TC analog input (pos. 7)
LA
A8
--
Variable
Optional
--
TC analog input (pos. 8)
LA
A9
--
Variable
Optional
--
TC analog input (pos. 9)
LA
A10
--
Variable
Optional
--
TC analog input (pos. 10)
LA
A11
--
Variable
Optional
--
TC analog input (pos. 11)
LA
A12
--
Variable
Optional
--
TC analog input (pos. 12)
LA
A13
--
Variable
Optional
--
TC analog input (pos. 13)
LA
A14
--
Variable
Optional
--
TC analog input (pos. 14)
LA
A15
--
Variable
Optional
--
TC analog input (pos. 15)
LA
A16
--
Variable
Optional
--
TC analog input (pos. 16)
LA
A17
--
Variable
Optional
--
TC analog input (pos. 17)
LA
A18
--
Variable
Optional
--
TC analog input (pos. 18)
LA
A19
--
Variable
Optional
--
TC analog input (pos. 19)
LA
A20
--
Variable
Optional
--
TC analog input (pos. 20)
LA
A21
--
Variable
Optional
--
TC analog input (pos. 21)
LA
A22
--
Variable
Optional
--
TC analog input (pos. 22)
LA
A23
--
Variable
Optional
--
TC analog input (pos. 23)
LA
A24
--
Variable
Optional
--
TC analog input (pos. 24)
LA
A25
--
Variable
Optional
--
TC analog input (pos. 25)
LA
A26
--
Variable
Optional
--
TC analog input (pos. 26)
LA
A27
--
Variable
Optional
--
TC analog input (pos. 27)
LA
A28
--
Variable
Optional
--
TC analog input (pos. 28)
LA
A29
--
Variable
Optional
--
TC analog input (pos. 29)
LA
A30
--
Variable
Optional
--
TC analog input (pos. 30)
LA
355
14.5 TEMPRO algorithm definitions
NA ME
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
MIN. P OINT REC.
A31
--
Variable
Optional
--
TC analog input (pos. 31)
LA
A32
--
Variable
Optional
--
TC analog input (pos. 32)
LA
TCH1
--
Variable
Required
--
Highest TC value (analog output)
LA
TCH2
--
Variable
Required
--
Second highest TC value (analog output)
LA
TCL1
--
Variable
Required
--
Lowest TC value (analog output)
LA
TCL2
--
Variable
Required
--
Second lowest TC value (analog output)
LA
TCL3
--
Variable
Required
--
Third lowest TC value (analog output)
LA
IDH1
--
Variable
Required
--
Highest TC index (analog output)
LA
IDH2
--
Variable
Required
--
Second highest TC index (analog output)
LA
IDL1
--
Variable
Required
--
Lowest TC index (analog output)
LA
IDL2
--
Variable
Required
--
Second lowest TC index (analog output)
LA
IDL3
--
Variable
Required
--
Third lowest TC index (analog output)
LA
TTXC
--
Variable
Required
--
Average temperature
LA
(analog output) TTXM
--
Variable
Required
--
Median temperature (analog output)
LA
ACTTC
G2 - Integer
Variable
Optional
--
Actual number of thermocouples used in the temperature calculation.
LA
NUMTC
G1 - Integer
Tuning Constant
Required
1
Number of thermocouple inputs to be monitored (must be consecutive).
--
For example, if a minimum of 10 inputs are to be monitored and this parameter is set to 10, then you can only use the first 10 inputs of the algorithm. TTKCO
356
R2 - Real
Tuning Constant
Required
500.00
Temperature average low reject constant
--
APC_002
S
15
ECTION
Algorithm equation reference
IN THIS SECTION Fuzzy algorithm equations .............................................................................................. 357 ARX algorithm calculation ......................................................................... 360 DMC model algorithm output output calculation ................................................................................... 367
15 .1 Fuz zy algorit hm e quation s The following sections discuss Fuzzy algorithm equations.
15.1 .1 Fuzz ifier outpu t calculation The output (which is in either engineering units or percent and limited by the high and low limits specified) equals the result of the Fuzzifier algorithm:
where: L
= the number of partitions = The force of starting the i-th rule = Output of the i-th local region (CONST VALUE, or POINT from the system)
Except:
When the algorithm is directed to track, the output equals the track input when the tracking signal is present. The output ramps at the user-specified track rate, from the track input back to the controlled value when the tracking signal is removed.
When a raise inhibit or lower inhibit signal is present, it may prevent the Fuzzifier algorithm from controlling.
APC_002
If the Fuzzifier algorithm receives a raise inhibit signal or a lower inhibit signal, the signal is transmitted to upstream algorithms. The value of the OUT signal is stopped and set to the value from the previous loop.
357
15.1 Fuzzy algorithm equations
If the algorithm calculates an invalid real number for the output, the quality of the output is set to BAD. Consequently, if an invalid value is entered as an input to the algorithm, or if the algorithm generates an invalid value for the output, the drop is placed into alarm. In all cases, the output is set to the last GOOD value.
If you select any region by ISOLATE option, then the global output is equal to the output from the selected region.
15. 1.2 Fuzzy PID use
gui delin es
Process Variable (PV) GAIN and PV BIAS must be used to normalize the process variable inputs to a 0 to 100 percent value. (PV x PV GAIN) + PV BIAS = PV percent. Thus:
Set Point (STPT) GAIN and STPT BIAS must be used to normalize the set point to a 0 to 100 percent value. If set point input units are not 0 to 100 percent, then: (STPT x STPT GAIN) + STPT BIAS = set point percent. Thus:
Determine set point high and low limits with these equations: Set point high limit = (100 - STPT BIAS)/STPT GAIN Set point low limit = (0 - STPT BIAS)/STPT GAIN
15. 1.3 Fuzzy PID out put calcu latio n The output (which is in either engineering units or percent and limited by the high and low limits specified) equals the result of the FPID:
where: L
= the number of partitions = the force of starting the i-th rule
358
APC_002
15.1 Fuzzy algorithm equations
= the output of the i-th local PID algorithm (CONST VALUE or system POINT)
Except:
When the algorithm is directed to track, the output equals the track input when the tracking signal is present. The output ramps at the user-specified track rate, from the track input back to the controlled value when the tracking signal is removed.
When a raise inhibit or lower inhibit signal is present, it may prevent the PID Controller from controlling.
If the algorithm calculates an invalid real number for the output, the quality of the output is set to BAD. Consequently, an invalid is entered as an input to the into algorithm, algorithm generates an ifinvalid valuevalue for the output, the drop is placed alarm. or In ifallthe cases, the output is set to the last GOOD value.
If the algorithm generates an invalid track output value, the set point input value is used as the track output, unless it is invalid. The track output value is not updated if both the calculated track output and the set point input values are invalid.
If you select any region by ISOLATE option, then the global output is equal to the output from the selected region. In this case, FPID works as a normal PID Controller (with the tuning parameters from selected region).
It is important to realize that all PIDs operate continuously regardless of whether they are assigned to an active region or not. If they are not assigned to an active region then the output is not included in the calculation of the global output. The exceptions to this are where the algorithm is requested to track and where an individual PID is isolated for tuning purposes. In the later case, all unselected PIDs track the isolated one. There are mathematical steps taken to ensure that any PID that is not included in the calculation of the global output does not windup.
APC_002
359
15.2 ARX model algorithm output calculation
15 .2 ARX model a lgor ithm outpu
t calculatio
n
The output equals the result of the ARX model calculation performed during each loop time. During execution of the algorithm, a MIMO model is treated as multiple MISO models, In other words, each output is considered separately.
The number of inputs is defined independently for each output. Likewise, both the input order and output order for each output are defined independently as well. Each yi output in k time step is calculated separately as follows:
where: i-output index; l-input index
-number of inputs for i-th output;
360
APC_002
15.2 ARX model algorithm output calculation
-offset for i-th output;
-Predicted output value
where:
-
i-th output order;
-
Order of the l-th input of the i-th output;
-
Delay time (specified in loop times) between l-th input
and i-th output;
APC_002
-
Operating point value of the l-th input of the i-th output
-
Operating point value of the i-th output
361
15.2 ARX model algorithm output calculation
Note: You can think of the operating point values as a sort of average value for a particular variable. The Ovation Model Builder calculates these average values during the model identification process. Note that the user can also specify these operating points. The identification process consists of two steps. In the first step, the application calculates the operating point values for all inputs and outputs associated with the model. Once the operating point values are calculated, the model coefficients are calculated according to the previous equation. Example Consider an ARX model with three input signals and two outputs signals. The general representation of this model is illustrated below.
This representation implies that each output depends on all inputs. This is a convenient representation since in the actual process the multiple outputs typically have some relationship to each other that causes these particular outputs to be considered collectively. However, during the formulation of the mathematics each output is considered separately.
362
APC_002
15.2 ARX model algorithm output calculation
The design assumption is that each output depends on inputs that are defined by the user. As a result of this assumption, a separate ARX model is used for each output. As an example, consider the case where the first output depends on the first and second input and a second output depends on the second and third input. These examples are depicted here:
APC_002
363
15.2 ARX model algorithm output calculation
The overall model in this example is a MIMO model with three inputs and two outputs. However, each output depends on two inputs only. Calculation Consider model parameters as follows: First output
— order of first output signal;
— first coefficient - NOTE: always equal 1.00 (not editable);
— second coefficient;
— third coefficient; First input to first output
— order of first input signal for first output;
— delay between first input signal and first output;
— first coefficient;
— second coefficient;
— third coefficient;
— fourth coefficient; Second input to first output
— order of second input signal for first output;
— delay between second input signal and first output;
— first coefficient;
364
APC_002
15.2 ARX model algorithm output calculation
— second coefficient; Second output
— order of second output signal;
— first coefficient Note: Always equal 1.00 (not editable); First input to second output
— order of first input signal for second output;
— delay between first input signal and second output;
— first coefficient;
— second coefficient;
— third coefficient; Second input to second output
— order of second input signal for second output;
— delay between second input signal and second output;
— first coefficient;
Each output is calculated using the following general equation:
APC_002
365
15.2 ARX model algorithm output calculation
For the first output:
For the second output:
The default prediction horizon for the algorithm is one time step ahead (that is, k+1 time step). However, it is possible to extend that time horizon to up to h time steps ahead (that is, k+h). When the prediction horizon is extended beyond the default of one time step ahead the calculation of each time step (that is, k = 1…h) is performed as shown below:
366
APC_002
15.2 ARX model algorithm output calculation
Note: The deviations of each input and output variable from its associated operating point (
;
)aresavedinlocalmemory.
If k+h-delay > 0 then the calculation requires inputs from future timesteps. In this case all inputs from future timesteps are assumed to be equal to their values are the current time step. When using prediction horizons greater than one time step ahead, the resulting calculation may require input values from “future” timesteps. In this situation all “future” inputs are assumed to be equal to the previous input - that is they are assumed to be unchanging. When the algorithm is told to track, the output equals the track input when the tracking signal is present. Tracking value minus of output values is saved in track the local output from ARX algorithm. Theaverage output ramps at the user-specified ratememory (subject as to the the last maximum rate of change limit), from the track input back to the actual value when the tracking signal is removed. When a raise inhibit signal is present, the high limit in ARX algorithm is set on active and value of high limit is set on the last output value. This approach guarantees that output value does not rise until raise inhibit signal is present. When a lower inhibit signal is present, the low limit in ARX algorithm is set on active and the value of the low limit is set on the last output value. This approach guarantees that the output value does not decrease until lower inhibit signal is present. If the algorithm calculates an invalid real number for the output, the quality of the output is set to BAD. Consequently, if an invalid value is entered as an input to the algorithm, or if the algorithm generates an invalid value for the output, the drop is placed into alarm. In all cases, the output is set to the last GOOD value. The Ovation Model Builder exports the model parameters along with the sample time that was used to estimate the model. If the sampling time that was used to estimate the model parameters in the Model Builder and the control area execution time are different, then the outputs are set to last GOOD output values. The default action is to set the quality of the outputs to BAD. However, the IQUAL (Ignore Set Quality to Bad) parameter allows the algorithm to be configured to NOT set the output to BAD in this condition. This information is also written to the ERR pin of the algorithm.
APC_002
367
15.3 DMC algorithm output calculation
15 .3 DM C algorit hm output ca
lcul ation
The output (which is in either engineering units or percent and limited by the high and low limits specified) equals the result of the DMC (the result optimization Quadratic Programming problem):
subject to the constraints:
define:
where:
368
APC_002
15.3 DMC algorithm output calculation
The optimization problem becomes a Quadratic Programming problem:
subject to the following constraints:
Except (for each outputs (MV) individually):
When the algorithm is directed to track, the output equals the track input when the tracking signal is present. The DMC problem is solved with constraints (bottom and lower limit) setting on track input value in this case. The constraint for change value is not active in this case this approach always finds a solution.
When a raise inhibit or lower inhibit signal is present, it may prevent the DMC Controller from controlling. If a raise inhibit signal is present, the top constraint is set on the current output value. This is a guarantee that the next output value will not be bigger than the current output value. If a lower inhibit signal is present then the lower constraint is set on the current output value. This is a guarantee that the next output value will not be smaller than the current output value.
When a raise inhibit and _3W_CONDTRK signal is present (cascade mode - the downstream Controller is PID) then the bottom limit is setting on track input value. This is a guarantee that the next output value will not be bigger than the track input value (but it can be smaller).
When a lower inhibit and _3W_CONDTRK signal is present (cascade mode - the downstream Controller is PID) then the lower limit is setting on track input value. This is a guarantee that the next output value will not be smaller than the track input value (but it can be bigger).
If the algorithm calculates an invalid real number for the output, the quality of the output is set to BAD. Consequently, if an invalid value is entered as an input to the algorithm, or if the algorithm generates an invalid value for the output, the drop is placed into alarm. In all cases, the output is set to the last GOOD value.
If the sampling time and area execution time are different, then the output is set to the last GOOD output values. Quality of the output is set to BAD. You can set flag ITIME (Ignore Sampling Time) and quality of the output is not changed, but output value is set to the GOOD last values.
Note: Information about differences between sampling time and area execution time is sent to the S7 field in the algorithm record and on the output (ERR) pin if the output point is connected.
APC_002
369
Index A Accessing advanced editing for DPA in the Control Builder • 111 Accessing advanced editing for EDEVICE in the Control Builder • 137 Accessing advanced editing for the ARX model algorithm in the Control Builder • 36 Accessing advanced editing for the Blower algorithm in the Control Builder • 307 Accessing advanced editing for the DMC algorithm in the Control Builder • 51 Accessing advanced editing for the Fuzzifier algorithm in the Control Builder • 149 Accessing advanced editing for the Fuzzy PID algorithm in the Control Builder • 170 Accessing advanced editing for the NNMLP algorithm in the Control Builder • 202 Accessing advanced editing for the SBMaster algorithm in the Control Builder • 336 Accessing advanced editing for the SBScheduler algorithm in the Control Builder • 331 Accessing advanced editing for the SBSequence algorithm in the Control Builder • 313 Accessing advanced editing for the SCAction algorithm in the Control Builder • 301 Accessing advanced editing for the SCStep and SCStepNA algorithms in the Control Builder • 291 Accessing advanced editing for the SCTask algorithm in the Control Builder • 267 Accessing advanced editing for the TEMPRO algorithm in the Control Builder • 354 Accessing the Advanced Tuning window for the SCStep algorithm in Signal Diagrams • 296 Accessing the Advanced Tuning window for the SCTask algorithm in Signal Diagrams • 274 Accessing the Control Builder • 16 Accessing the Control Builder in a Windows-based Ovation system • 16 Accessing the tuning window for the Blower algorithm in signal diagrams • 311 Accessing the tuning window for the DMC algorithm in signal diagrams • 103
APC_002
Accessing the tuning window for the Fuzzifier algorithm in signal diagrams • 165 Accessing the tuning window for the Fuzzy PID algorithm in signal diagrams • 190 Accessing the tuning window for the NNMLP algorithm in signal diagrams • 217 Action conditionals and qualifiers for SCStep • 278 Adding advanced algorithms to a control sheet • 17 Advanced Process Control (APC) ToolKit • 1 Algorithm blocking (EDEVICE) • 133 Algorithm equation reference • 357 Algorithm functional symbols • 34 Algorithm reference page format • 33 Algorithm symbols - creating • 238 Analog Fields section • 52 ARX model algorithm • 35 ARX model algorithm ARXModel Parameters tab • 38 ARX model algorithm auxiliary LC records • 45 ARX model algorithm definitions • 40 ARX model algorithm functional symbol • 36 ARX model algorithm I/O pins • 40 ARX model algorithm Input/Output Configuration tab • 37 ARX model algorithm operation with fuzzy logic algorithms • 39 ARX model algorithm output calculation • 360 ARX model algorithm tracking signals • 39 Auto commands (EDEVICE) • 117 Auxiliary DMC algorithm definitions • 64 Auxiliary inputs (EDEVICE) • 118 Auxiliary SCStep algorithm definitions No. 2 • 288 Auxiliary SCStep and SCStepNA algorithm definitions No. 1 • 286 Auxiliary SCTask algorithm definitions No. 1 • 261 Auxiliary SCTask algorithm definitions No. 2 • 263 Auxiliary SCTask algorithm definitions No. 3 - 5 • 265 Average temperature calculation (TEMPRO) • 351
B Blower algorithm • 305
371
Index Blower algorithm definitions • 308 Blower algorithm functional symbol • 305 Blower algorithm functionality details • 306 Blower tuning window • 311 Busy Signal and Communication • 277, 298
C Cascaded mode and conditional tracking (FPID) • 184 Center of gravity defuzzification (FPID) • 194 Changing the direction of move (EDEVICE) • 117 Configuration and programming tools (APC Toolkit) • 1 for different EDEVICE Configurations applications • 119 Copyright Notice • 2 Creating a conditional for the SCStep algorithm • 294
D Defining input/output pins for the symbol (PBLOCK) • 230 Defining the FPID regions • 186 Device error (DERR) analog output (combined) (EDEVICE) • 123 Device ready input signal (DRDY) (EDEVICE) • 117 Device state tracking (EDEVICE) • 121 Device stopped (EDEVICE) • 131 Digital output signals (EDEVICE) • 118 Disabling the Step (SCStep) • 280 DMC 49 DMC algorithm algorithm •cascaded mode and conditional tracking • 93 DMC algorithm definitions • 54 DMC algorithm functional symbol • 50 DMC algorithm MV bump protection • 89 DMC algorithm MV bump protection example • 90 DMC algorithm output calculation • 368 DMC algorithm status of optimization (STAT) output • 88 DMC algorithm tracking signals • 88 DMC Auxiliary Parameters tab • 53 DMC General Parameters tab • 52 DMC Input/Output Configuration tab • 51 DMC Model Parameters tab • 53 DMC multi-variable control example • 96 DMC Trajectories tab • 103 DMC Tuning Parameters tab • 104 DMC Weighting Parameters tab • 54 Double deadband (inner and outer) (FPID) • 188 DPA algorithm definitions • 112 DPA Force to Stable State function • 107 DPA Functional Symbol • 106
372
DPA Gain • 109 DPA Limits and Anti-Windup • 107 DPA Quality • 110 DPA Time Constants • 108 DPA Tracking • 109 DPA Use Cases • 113
E EDEVICE algorithm • 115 EDEVICE Algorithm (operation details) • 121 EDEVICE algorithm alarms • 125 EDEVICE algorithm definitions • 138 EDEVICE algorithm inconsistency of feedbackalgorithm signal errors • 129 EDEVICE timeout errors • 125 EDEVICE algorithm unexpected change of device state (trip) errors • 127 EDEVICE functional symbol • 116 Editing advanced algorithm parameters in the Control Builder • 19 Emergency commands (EDEVICE) • 117 Error deadband and deadband gain (FPID) • 188 Error status (SCTask) • 256 Example PBLOCK program with optional parameters and first pass macros • 244 Extern variables (PBLOCK) • 220
F Feedback inputs (EDEVICE) • 118 Feedback signals filtering (EDEVICE) • 118 FPID algorithm functional symbol • 169 FPID Parameters tab • 172 FPID Fuzzy General Parameters tab • 171 FPID Input/Output Configuration tab • 170 FPID Membership Function Definition tab • 172 FPID region tuning • 187 FPID tracking signals (using) • 183 Functional operation of PID • 182 Fuzzifier algorithm • 145 Fuzzifier algorithm (examples of use) • 147 Fuzzifier algorithm auxiliary definitions • 161 Fuzzifier algorithm definitions • 154 Fuzzifier algorithm functional symbol • 146 Fuzzifier algorithm tracking signals • 163 Fuzzifier algorithm with a 4-Dimensional Output Example • 147 Fuzzifier algorithm with Ovation PID Example • 148 Fuzzifier Fuzzy Parameters tab • 150 Fuzzifier General Parameters tab • 150 Fuzzifier Input/Output Configuration tab • 149 Fuzzifier output calculation • 357 Fuzzifier tuning window -- General Information tab • 165
APC_002
Index Fuzzifier tuning window -- Membership Functions and Signals tab • 166 Fuzzy algorithm equations • 357 Fuzzy algorithm global output calculation • 193 Fuzzy logic algorithms • 145 Fuzzy Parameters tab -- Membership Function Definition tab • 151 Fuzzy Parameters tab -- Rule Base tab • 153 Fuzzy PID (FPID) algorithm • 168 Fuzzy PID output calculation • 358 Fuzzy PID tuning window -- General Information tab • 190 Fuzzy PID tuning window -- Regions and Signals tab • 191 Fuzzy PID use guidelines • 358 Fuzzy regions (FPID) • 185 FuzzyPID algorithm definitions • 176 FuzzyPID auxiliary algorithm definitions • 180
H Historical information (SCTask) • 254
I Inserting a drop point • 10 Inserting Advanced Controller drops • 7 Installing the algorithms • 12 Installing the algorithms on a database server • 12 Installing the algorithms on an Engineer or Operator drop • 13 Installing the• APC base software on Windows 5 Installing the APC software on a Windows-based Ovation system • 5 Installing the APC ToolKit • 5 Introduction to the Advanced Process Control (APC) ToolKit • 1
L Lack of MCC power sensing (EDEVICE) • 118 LEFT command execution (EDEVICE) • 133 Loading sheets to the Controller • 26 Local and tagout modes (EDEVICE) • 117
M
Move to right operation (EDEVICE) • 136
N Neural Network Multi-Layer Perceptron (NNMLP) algorithm • 198 NNMLP algorithm functional symbol • 199 NNMLP algorithm functionality details • 200 NNMLP algorithm Input/Output Configuration tab • 203 NNMLP algorithm input/output pins • 208 NNMLP algorithm Neural Network tab • 206 NNMLP algorithm Structure of Neurons tab • 207 NNMLP tracking signals NNMLP algorithm auxiliary definitions • 214 • 207 NNMLP main algorithm definitions • 209 No deadband (FPID) • 189
O Online help system • 23 Operating modes (EDEVICE) • 116 Operation (SCAction) • 298 Ordering the measurement values (TEMPRO) • 350 Ovation Advanced Controller • 3 Ovation Model Builder • 4 Ovation Sequence Coordinator algorithm package • 251 Ovation Sequence Coordinator algorithm package (rules for using) • 252 Ovation Sequence Coordinator algorithms (visual interpretation) • 253
P PBLOCK algorithm • 219 PBLOCK algorithm (who can use it) • 219 PBLOCK algorithm runtime error codes • 248 PBLOCK array handling • 225 PBLOCK program source code structure • 224 PBLOCK programming language (how it differs from standard C) • 220 PBLOCK supported functions • 221 PBLOCK wait() or sleep() functionality • 233 Permissive inputs (EDEVICE) • 117 Prediction Outputs section • 52 PSTA packed output (EDEVICE) • 130
Manual commands (EDEVICE) • 117 MCC test mode and permission override function (EDEVICE) • 119
R
Median temperature calculation (TEMPRO) • 352 Middle of maximum defuzzification (FPID) • 195 Move to left operation (EDEVICE) • 134
Controller and the database for Windows-based Ovation systems • 30 Reconciling tuning changes in a Windows-based Ovation system • 30
APC_002
Reconciling tuning changes between the
373
Index RIGHT command execution (EDEVICE) • 135 Role of the Ovation Control Builder with the APC Toolkit • 2
S Sample code for a typical algorithm (PBLOCK) • 240 SBMaster algorithm • 333 SBMaster algorithm definition (Aux1,3,5,7,9,11,13,15,17) • 342 SBMaster algorithm definition (Aux2,4,6,8,10,12,14,16,18) • 346 SBMaster • 339 • 333 SBMaster algorithm algorithm definitions functional symbol SBMaster algorithm functionality details • 334 SBMaster Auxiliary Parameters tab • 338 SBMaster General Parameters tab • 337 SBMaster Input/Output Configuration tab • 336 SBscheduler algorithm • 329 SBScheduler algorithm definitions • 332 SBScheduler algorithm functional symbol • 330 SBsequence algorithm • 312 SBSequence algorithm (how it works) • 317 SBSequence algorithm Auxiliary Parameters tab • 316 SBSequence algorithm definitions • 319 SBSequence algorithm functional symbol • 312 SBSequence algorithm functionality details • 313 SBSequence algorithm General Parameters tab • 315 SBSequence algorithm Input/Output Configuration tab • 314 SBSequence auxiliary algorithm definitions • 325 SCAction algorithm • 298 SCAction algorithm (action and action state descriptions) • 298 SCAction algorithm definitions • 299 SCAction algorithm functional symbol • 299 SCAction Stall pin • 298 SCStep advanced tuning window -- Action Information tab • 297 SCStep algorithm - Action Conditional tab • 292 SCStep and SCStepNA advanced tuning window -- Selected Step tab • 296 SCStep and SCStepNA algorithm definitions • 282 SCStep and SCStepNA algorithms - I/O Configuration tab • 291
374
SCStep and SCStepNA algorithms - Step Transition tab • 295 SCStep functional symbol • 281 SCStepNA functional symbol • 282 SCTask Advanced Application Studio • 257 SCTask advanced tuning window -- History tab • 276 SCTask advanced tuning window -Selected Actions tab • 275 SCTask advanced tuning window -Selected Step tab • 274 SCTask algorithm • 254 SCTask algorithm definitions • 258 SCTask algorithm General Information tab • 268 SCTask algorithm I/OConfiguration tab • 267 SCTask functional symbol • 257 SCTask operation • 255 SCTask Stall pin • 256 Selectable Fields (Model MV Input Constraints) section • 52 Serial and parallel modes for SCStep • 279 Signal diagrams (accessing from Ovation Applications window) • 27 Single deadband (inner only) (FPID) • 188 Sootblower algorithms • 304 Stall pin for SCStep and SCStepNA • 280 Status (STAT) analog output (EDEVICE) • 122 STOP and LEFT Operation (EDEVICE) • 132 STOP and RIGHT operation (EDEVICE) • 132 STOP command execution (EDEVICE) • 131 Summary of Changes • 3
T Task description (SCTask) • 254 TEMPRO algorithm • 349 TEMPRO algorithm definitions • 355 TEMPRO functional symbol • 353 TEMPRO operation • 349 To access the Advanced Tuning window for APC Toolkit algorithms in signal diagrams • 29 To configure MV bump protection • 92 To create a PBLOCK algorithm • 235 To load sheets in a Windows-based Ovation system • 26 To reconcile tuning changes between the database and the Control Builder • 31 To use the Previewer Configuration window • 270 Transitioning to next step • 279 Trip and timeout sensing (EDEVICE) • 118
APC_002
Index
U Understanding the Previewer Configuration window • 270 Understanding the Previewer window right-click menu • 273 Using advanced algorithms in your control scheme • 15 Using advanced algorithms on a control sheet • 15 Using algorithm reference pages • 33 Using DMC control in a power plant--examples • 100 Using algorithms • 145 Using Fuzzy the Advanced Applications Studio to view and edit advanced algorithms • 21 Using the ARX Model algorithm • 35 Using the Dynamic Matrix Controller (DMC) algorithm • 49 Using the Dynamic Predictor algorithm (DPA) • 105 Using the EDEVICE algorithm • 115 Using the FPID Rule Base tab • 174 Using the Neural Network Multi-Layer Perceptron (NNMLP) general model algorithm • 197 Using the Ovation Sequence Coordinator algorithm package • 251 Using the Programmable Block (PBLOCK) algorithm • 219 Using the Property Editor to edit advanced algorithms • 19 Using the SCTask algorithm Previewer window • 269 Using the Sootblower algorithms • 303 Using the TEMPRO (Temperature Profile) algorithm • 349
V Viewing advanced algorithms in Signal Diagrams • 27
W What are the SCStep and SCStepNA algorithms? • 277 What is the Dynamic Predictor algorithm? • 105 Writing to output points (PBLOCK) • 231
APC_002
375