APC Toolkit 3.1 (fo r Ovation 3.1.x, 3.2.x, and 3.3.0) APC_002 December 2009
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 ® 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 and WEStation are registered trademarks of Emerson Process Management. All other trademarks or registered trademarks 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.1 (for Ovati on 3.1.x, 3.2.x, an d 3.3.0) APC_002 December 2009
The December 2009 version of APC Toolkit 3.1 (for Ovation 3.1.x, 3.2.x, and 3.3.0) includes the following new information:
Added the SCTask algorithm (see page 296).
Added the SCStep algorithm (see page 318).
Added the SCAction algorithm (see page 337).
Added miscellaneous corrections and clarifications to the manual.
Contents 1
Introduct ion t o the Advanced Process Control (APC ) ToolKi t
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 t he APC ToolKit
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 .................................................................6 2.1.3 To insert a drop point....................................................................................... 10 2.1.4 To install the algorithms...................................................................................12
3
Using advance d algorith ms on a contr ol sheet
3.1
Overview of using advanced algorithms in your control scheme ......................................15
3.2
Accessing the Control Builder ...........................................................................................15 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
1
5
15
3.3.1 To add advanced algorithms to a control sheet ..............................................17 Editing advanced algorithm parameters in the Control Builder .........................................18 3.4.1 To use the Property Editor to edit advanced algorithms .................................18 3.4.2 To use the Advanced Applications Studio to view and edit advanced algorithms ........................................................................................................19 Loading sheets to the Controller .......................................................................................21 3.5.1 To load sheets in a Windows-based Ovation system......................................22 Viewing advanced algorithms in Signal Diagrams ............................................................22 3.6.1 To access signal diagrams from the Windows-based Ovation Applications window ........................................................................................23 3.6.2 To access the Advanced Tuning window for APC Toolkit algorithms in signal diagrams................................................................................................ 23 Reconciling tuning changes in a Windows-based Ovation system...................................25 3.7.1 To reconcile tuning changes between the Controller and the database for Windows-based Ovation systems ...................................................................25 3.7.2 To reconcile tuning changes between the database and the Control Builder for Windows-based systems ...............................................................26
4
Al go ri th m r eference page fo rm at
4.1
Using algorithm reference pages ......................................................................................29 4.1.1 Algorithm functional symbols...........................................................................30
APC_002
29
i
Table of Contents
5
Using Fuzz y algorith ms
5.1
What are the Ovation fuzzy logic algorithms?...................................................................33
5.2
What is the Fuzzifier algorithm? ........................................................................................33 5.2.1 Fuzzifier algorithm functional symbol ..............................................................34 5.2.2 Examples of using the Fuzzifier algorithm.......................................................35 5.2.3 Accessing advanced editing for the Fuzzifier algorithm in the Control Builder36 5.2.4 Fuzzifier algorithm definitions ..........................................................................42 5.2.5 Fuzzifier algorithm auxiliary definitions............................................................49 5.2.6 Fuzzifier algorithm tracking signals .................................................................52 5.2.7 Accessing the tuning window for the Fuzzifier algorithm in signal diagrams ..53 What is the Fuzzy PID (FPID) algorithm? .........................................................................57 5.3.1 FPID algorithm functional symbol....................................................................58 5.3.2 Accessing advanced editing for the Fuzzy PID algorithm in the Control 58 Builder.............................................................................................................. 5.3.3 FuzzyPID algorithm definitions ........................................................................64 5.3.4 FuzzyPID auxiliary algorithm definitions..........................................................69 5.3.5 Functional operation of PID .............................................................................71 5.3.6 Using FPID tracking signals ............................................................................72 5.3.7 Cascaded mode and conditional tracking .......................................................73 5.3.8 Fuzzy regions ..................................................................................................74 5.3.9 Defining the FPID regions ...............................................................................75 5.3.10 FPID region tuning........................................................................................... 76 5.3.11 Error deadband and deadband gain................................................................77 5.3.12 Accessing the tuning window for the Fuzzy PID algorithm in signal diagrams78 Fuzzy algorithm global output calculation .........................................................................82 5.4.1 Center of gravity defuzzification ......................................................................83 5.4.2 Middle of maximum defuzzification..................................................................84
5.3
5.4
ii
33
6
Using the EDEVICE algor ith m
6.1
What is the EDEVICE algorithm?......................................................................................87
87
6.2
EDEVICE functional symbol..............................................................................................88
6.3
6.4
Operating modes............................................................................................................... 88 6.3.1 Auto commands...............................................................................................88 6.3.2 Manual commands ..........................................................................................89 6.3.3 Local and tagout modes ..................................................................................89 Emergency commands...................................................................................................... 89
6.5
Device ready input signal (DRDY)..................................................................................... 89
6.6
Permissive inputs ..............................................................................................................89
6.7
Changing the direction of move......................................................................................... 89
6.8 6.9
Feedback inputs ................................................................................................................90 6.8.1 Feedback signals filtering ................................................................................90 Auxiliary inputs ..................................................................................................................90
6.10
Digital output signals .........................................................................................................90
6.11
Trip and timeout sensing ...................................................................................................90
6.12
Lack of MCC power sensing .............................................................................................90
6.13
MCC test mode and permission override function ............................................................91
6.14
Configurations for different EDEVICE applications ...........................................................91
6.15
Operation details of the EDEVICE Algorithm ....................................................................93
APC_002
Table of Contents
6.16
6.15.1 6.15.2 6.15.3 6.15.4 Accessing
6.17
EDEVICE algorithm definitions........................................................................................ 111
7
Using the Sootblower algorithms
7.1
What are the Sootblower algorithms? .............................................................................120
7.2
Using the Blower algorithm .............................................................................................121
7.3
7.4
7.5
Device state tracking .......................................................................................93 Device stopped ..............................................................................................103 LEFT command execution............................................................................. 106 RIGHT command execution ..........................................................................108 advanced editing for EDEVICE in the Control Builder...................................110
119
7.2.1 Blower symbol...............................................................121 7.2.2 Blower algorithm algorithm functional functionality details ............................................................122 7.2.3 Accessing advanced editing for the Blower algorithm in the Control Builder 123 7.2.4 Blower algorithm definitions...........................................................................124 7.2.5 Accessing the tuning window for the Blower algorithm in signal diagrams ...126 Using the SBsequence algorithm....................................................................................127 7.3.1 SBSequence algorithm functional symbol.....................................................128 7.3.2 SBSequence algorithm functionality details ..................................................128 7.3.3 Accessing advanced editing for the SBSequence algorithm in the Control Builder............................................................................................................ 129 7.3.4 How does the SBSequence algorithm work? ................................................131 7.3.5 SBSequence algorithm definitions.................................................................133 7.3.6 SBSequence auxiliary algorithm definitions ..................................................140 Using the SBscheduler algorithm ....................................................................................144 7.4.1 SBScheduler algorithm functional symbol.....................................................145 7.4.2 Accessing advanced editing for the SBScheduler algorithm in the Control Builder............................................................................................................ 146 7.4.3 SBScheduler algorithm definitions.................................................................146 Using the SBMaster algorithm......................................................................................... 148 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6
SBMaster algorithm functional symbol ..........................................................148 SBMaster algorithm functionality details........................................................149 Accessing advanced editing for the SBMaster algorithm in the Control Builder............................................................................................................ 151 SBMaster algorithm definitions......................................................................154 SBMaster algorithm definition (Aux1,3,5,7,9,11,13,15,17)............................157 SBMaster algorithm definition (Aux2,4,6,8,10,12,14,16,18)..........................161
8
Using the ARX M odel algorit hm
8.1
What is the ARX model algorithm? .................................................................................163
8.2
ARX model algorithm functional symbol .........................................................................164
8.3
8.4
Accessing advanced editing for the ARX model algorithm in the Control Builder ..........164 8.3.1 ARX model algorithm Input/Output Configuration tab ...................................165 8.3.2 ARX model algorithm ARXModel Parameters tab.........................................166 ARX model algorithm operation with fuzzy logic algorithms ...........................................167
8.5
ARX model algorithm tracking signals.............................................................................167
8.6 8.7
ARX model algorithm I/O pins .........................................................................................168 ARX model algorithm definitions .....................................................................................168
8.8
ARX model algorithm–auxiliary LC records ....................................................................173
APC_002
163
iii
Table of Contents
9
Using t he TEMPRO (Temperature Prof ile) algori thm
9.1
What is the TEMPRO algorithm? ....................................................................................179
9.2
9.3
TEMPRO operation .........................................................................................................179 9.2.1 Ordering the measurement values ................................................................180 9.2.2 Average temperature calculation...................................................................181 9.2.3 Median temperature calculation ....................................................................182 TEMPRO functional symbol ............................................................................................183
9.4
Accessing advanced editing for the TEMPRO algorithm in the Control Builder .............184
9.5
TEMPRO algorithm definitions ........................................................................................185
10
Using th e Dyna mic Matrix Controller (DM C) algori thm
10.1
What is the DMC algorithm? ...........................................................................................189
10.2
DMC algorithm functional symbol.................................................................................... 190
10.3
10.4
Accessing advanced editing for the DMC algorithm in the Control Builder.....................190 10.3.1 DMC Input/Output Configuration tab .............................................................191 10.3.2 DMC General Parameters tab .......................................................................192 10.3.3 DMC Auxiliary Parameters tab ......................................................................192 DMC algorithm definitions ...............................................................................................194
10.5
Auxiliary DMC algorithm definitions.................................................................................203
10.6
DMC algorithm status of optimization (STAT) output......................................................234
10.7
DMC algorithm tracking signals....................................................................................... 235
10.8
DMC algorithm cascaded mode and conditional tracking...............................................236 10.8.1 DMC multi-variable control example..............................................................238 10.8.2 Using DMC control in a power plant--examples ............................................242 Accessing the tuning window for the DMC algorithm in signal diagrams........................245 10.9.1 DMC Trajectories tab..................................................................................... 245 10.9.2 DMC Tuning Parameters tab.........................................................................246
10.9
189
11
Using th e Programmable Block (PBLOC K) algorithm
11.1
What is the PBLOCK algorithm? .....................................................................................247
11.2
Who can use the PBLOCK algorithm? ............................................................................247
11.3 11.4
How does the PBLOCK programming language differ from standard C?.......................248 11.3.1 Extern variables .............................................................................................248 PBLOCK supported functions .........................................................................................249
11.5
PBLOCK program source code structure........................................................................251
11.6
PBLOCK array handling ..................................................................................................252
11.7
To define input/output pins for the symbol ......................................................................257
11.8
Writing to output points.................................................................................................... 258
11.9
PBLOCK wait() or sleep() functionality............................................................................259
11.10
To create a PBLOCK algorithm.......................................................................................260 11.10.1 11.10.2 11.10.3
iv
179
247
To create a custom algorithm symbol............................................................262 Sample code for a typical algorithm ..............................................................265 PBLOCK algorithm runtime error codes ........................................................269
APC_002
Table of Contents
12
Using the Neural Network Multi-Layer Perceptron (NNMLP) genera l model algorith m
12.1
What is the Neural Network Multi-Layer Perceptron (NNMLP) algorithm? .....................272
12.2
NNMLP algorithm functional symbol ...............................................................................273
12.3
NNMLP algorithm functionality details.............................................................................274
12.4
Accessing 12.4.1 12.4.2 12.4.3
12.5 12.6
NNMLP algorithm tracking signals ..................................................................................281 NNMLP algorithm input/output pins................................................................................. 282
12.7 12.8
NNMLP main algorithm definitions ..................................................................................282 12.7.1 NNMLP auxiliary definitions...........................................................................288 Accessing the tuning window for the NNMLP algorithm in signal diagrams ...................291
13
Using th e Ovation Sequence Coordinator algor ithm package
13.1
What is the Ovation Sequence Coordinator algorithm package? ...................................293 13.1.1 Rules for using the Ovation Sequence Coordinator algorithm package .......294 13.1.2 Visual interpretation of Ovation Sequence Coordinator algorithms ..............295 What is the SCTask algorithm?.......................................................................................296 13.2.1 Task description............................................................................................. 296 13.2.2 Historical information .....................................................................................296 13.2.3 SCTask operation ..........................................................................................297 13.2.4 Stall pin for SCTask.......................................................................................298 13.2.5 Error status ....................................................................................................298 13.2.6 SCTask Advanced Application Studio ...........................................................299 13.2.7 SCTask functional symbol .............................................................................299 13.2.8 SCTask algorithm definitions.........................................................................300 13.2.9 Auxiliary SCTask algorithm definitions No. 1 ................................................303 13.2.10 Auxiliary SCTask algorithm definitions No. 2 ................................................305 13.2.11 Auxiliary SCTask algorithm definitions No. 3 - 5 ...........................................307 13.2.12 Accessing advanced editing for the SCTask algorithm in the Control Builder............................................................................................................ 309 13.2.13 Using the SCTask algorithm Previewer window............................................311 13.2.14 Accessing the Advanced Tuning window for the SCTask algorithm in Signal Diagrams ............................................................................................316 What is the SCStep algorithm? .......................................................................................318 13.3.1 Step description .............................................................................................318 13.3.2 Busy Signal and Communication...................................................................319 13.3.3 Action conditionals and qualifiers ..................................................................319 13.3.4 Serial and parallel modes ..............................................................................320 13.3.5 Transitioning to next step ..............................................................................320 13.3.6 Disabling the Step.......................................................................................... 321 13.3.7 Stall pin for SCStep .......................................................................................321 13.3.8 SCStep functional symbol .............................................................................322 13.3.9 SCStep algorithm definitions .........................................................................323 13.3.10 Auxiliary SCStep algorithm definitions No. 1.................................................326 13.3.11 Auxiliary SCStep algorithm definitions No. 2.................................................328 13.3.12 Accessing advanced editing for the SCStep algorithm in the Control Builder330
13.2
13.3
APC_002
271
advanced editing for the NNMLP algorithm in the Control Builder ................276 NNMLP algorithm Input/Output Configuration tab.........................................277 NNMLP algorithm Neural Network tab ..........................................................280 NNMLP algorithm Structure of Neurons tab ..................................................281
293
v
Table of Contents
13.3.13 13.4
14
Al go ri th m eq uatio n r eferenc e
14.1
14.2
Fuzzy algorithm equations ..............................................................................................343 14.1.1 Fuzzifier output calculation ............................................................................343 14.1.2 Fuzzy PID use guidelines ..............................................................................344 14.1.3 Fuzzy PID output calculation .........................................................................344 ARX model algorithm output calculation .........................................................................346
14.3
DMC algorithm output calculation ...................................................................................353
Index
vi
Accessing the Advanced Tuning window for the SCStep algorithm in Signal Diagrams ............................................................................................336 What is the SCAction algorithm?..................................................................................... 337 13.4.1 Action and action state descriptions for SCAction algorithm.........................338 13.4.2 Busy signal and communication ....................................................................338 13.4.3 Operation .......................................................................................................338 13.4.4 Stall pin for SCAction..................................................................................... 338 13.4.5 SCAction algorithm functional symbol ...........................................................338 13.4.6 SCAction algorithm definitions.......................................................................339 13.4.7 Accessing advanced editing for the SCAction algorithm in the Control Builder............................................................................................................ 341
343
357
APC_002
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 a plant's control strategy. 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
Configura
tion 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 Ovation Toolkit?
Control Build
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 very flexible and easy to use since you choose which way is best to perform a certain function. 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.
2
APC_002
1.4 What is the Ovation Advanced Controller?
Figure 1: E xample of Control Buil der 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 knowledge of the math 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 tion 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
Ove rvi ew of inst alling the Ovation system
APC soft ware on a Windows -base d
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 on the 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.
The installation results or errors display in the Installation Results window.
2.1. 2 To insert Advanced 1.
6
Controller drops
Access the Ovation Developer Studio.
APC_002
2.1 Overview of installing the APC software on a Windows-based Ovation system
2.
Right-click on the Drops folder in the System Tree and select Insert New . The Insert New Drops Wizard appears.
Figure 3: Insert New Drops Wizard The following table lists and describes the window fields. Insert Ne w Drop Wizard field descriptio
ns
F IELD
D ESCRIPTION
Drop ID
Drop number of the new drop. Valid entries are 1-254.
Partner ID
Identifies the drop ID of the partner drop.
Drop Type
Pull-down menu that contains drop type choices:
Controller
SimController
Operator Station
Sim Operator Station
Base Station
Advanced Controller
Advanced SimController
3.
Type the drop ID in the Drop ID value field.
4. 5.
Type the partner ID in the Partner ID value field (if available). Select Advan ced 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 dialog box appears.
Figure 4: Ne w Drops d ialog box The following table describes the New Drop window fields. New Drop dialog box f ield descriptions F IELD
D ESCRIPTION
Drop Type
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 highway (Ovation Highway or Dedicated Cable). This parameter is only applicable to the OCR161 hardware type when an onboard highway 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 p oints.
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 range.
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 Highway.
xx:xx:xx:xx:xx:xx (where the last four numbers (xx:xx ) are typically located on a label on the NIC).
(ZNYX, or Onb oard ). Ovation Highway Connection
Type of NIC card connection (Only active for Highway Connection Onboard).
NIC Interface
Name physical portor that the Ethernet cable is connected to, automatically filled inofN1 (OCR400) fei0 (OCR161) for Highway 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 Highway Connection "Onboard" and Highway 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 the data between the primary and backup Controllers.
7.
Once you have completed the desired settings on the window, click the Appl 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 in order for 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 on 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 closing 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 on it, and select Load .
The following table describes the New Drop Point dialog box fields. New Drop Point dialog box f ield descriptions TAB Point
F IELD
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 which a on specific point isto scanned by(in theseconds) Ovation athistorian the network 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 inst all the algorith ms 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 on 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 - Algor
ithm Software tab
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 dro p
1.
Insert the APC Toolkit CD in the Engineer/Operator drop. The Installation Tool starts automatically.
2.
Click on 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........................................................................................... 15 Adding advanced algorithms a control sheet ................................................................ 17 Editing advanced algorithm parameters in the Control Builder .........................................18 Loading sheets to the Controller ....................................................................................... 21 Viewing advanced algorithms in Signal Diagrams ............................................................22 Reconciling tuning changes in a Windows-based Ovation system...................................25
3. 1
Ove rview 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.
3. 2
1.
Access the Ovation Control Builder (see page 15).
2.
Create or open a control sheet and add an advanced algorithm (see page 17).
3.
Define any required and/or optional parameters using the Control Builder Property Editor (see page 18).
4.
If the advanced algorithm has an advanced editing function, define any required and/or optional parameters using the Advanced Applications Studio (see page 19).
5.
When the sheet is complete, load the Controllers and download the sheets to the Operator Stations (see page 21).
6.
Access the signal diagram application to view the sheet containing the advanced algorithm (see page 22).
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 (see page 23).
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.
Accessin
g the Control
Buil der
Use the following procedures to access the Control Builder from a Windows-based Ovation system.
APC_002
15
3.2 Accessing the Control Builder
3.2. 1 To a ccess the Control Build
er in a Windows -ba sed O vation sys tem
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 P ad 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: C ontrol Builder 5.
If a new Control Sheet is desired, right-click on the Control Sheet folder in the System Tree and select Insert New . The New Control Sheets window appears. Fill in the following:
6.
16
Sheet name - How sheet is described in the system.
Sheet Number - Short reference number.
Sheet Component - Defines the sheet component code.
The Control Builder opens with the existing or new sheet. If a new sheet opens, the Property Editor displays the information entered in the New Control Sheets dialog box.
APC_002
3.3 Adding advanced algorithms to a control sheet
3. 3
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 add a dvanced a lgori thms to a cont rol 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 Add A lg or it hm . You can also select the Add Cont ro l Algor it hm icon on the toolbar. The Add Algorithm dialog box appears.
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 locationicon andappears left-clickthat to position the algorithm on the While canvas. Notice that a full-screen cross-hair aligns items on the screen. 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.
APC_002
17
3.4 Editing advanced algorithm parameters in the Control Builder
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.
3. 4
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.
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 18)
Advanced Applications Studio (see page 19)
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 theadvanced advancedalgorithms algorithmstodisplay a window in the Advanced Applications Studio. When you all addofan 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 Property E dito r to e dit advanced
algorith ms
Use the following procedure to edit algorithm parameters in the Property Editor: 1.
18
Access the Control Builder.
APC_002
3.4 Editing advanced algorithm parameters in the Control Builder
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 Al go ri th m 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.
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.
APC_002
19
3.4 Editing advanced algorithm parameters in the Control Builder
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
20
APC_002
3.5 Loading sheets to the Controller
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 App lication Studio The Application Studio displaysOn another algorithm tabs. fields. Some For of the tabs Advanced display information that is read-only. tabs,window you canwith onlyseveral edit certain 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.
3. 5
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.
APC_002
21
3.6 Viewing advanced algorithms in Signal Diagrams
3.5. 1 To loa d sheets in a
Windows -ba sed O vation sys tem
1.
Access the Control Builder (see page 16).
2.
Create or edit a control function (.svg) file in the Control Builder and save it. The file is saved to the Oracle database.
3.
Load the control to the Controller from the Oracle database: a) Access the Controller Drop folder in the Studio. (See Ovation Developer Studio User Guide.) b) Right-click on the appropriate Controller Drop folder and select Load . c)
For redundant Drop configurations, the .svg “Select to load” box appears. SelectController the Primary Controller Drop. The fileaisdrop saved to thedialog Controller.
CAUTION: Make sure changes are valid before loading the Partner Drop in redundant Controller Drop configurations.
Please note the followin g inform ation:
3. 6
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.
Vie wing 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 mintues. Note: The following procedures discuss 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.
22
APC_002
3.6 Viewing advanced algorithms in Signal Diagrams
3.6. 1 To access signal dia window 1.
grams from the
Windows -ba sed O vation Applic
ations
From the Ovation Operator Station, choose Start -> Ovation -> Ovation Applications Ovation Application icons appear.
. The
Figure 12 : Operator Station funct ions 2.
Double click on the Signal Diagram icon. A signal diagram window appears.
3.
From the Sheet Browser window, navigate to the sheet you want to display. To do this, expand the drop and control task folders until you find the desired sheet.
4.
Double-click on the sheet in the Sheet Browser and it displays on the display canvas.
3.6. 2 To access the Advanced Tuning window for APC signal diagrams
Toolkit algorit
hms in
1.
Access the Signal Diagram window (see page 23).
2.
Open the Sheet Browser window, and select a sheet to display in the drawing canvas.
APC_002
23
3.6 Viewing advanced algorithms in Signal Diagrams
3.
On the drawing canvas, right-click on the desired algorithm. Select Advan ced Tun ing from the menu that appears.
Figure 13: Signal Diagram -- Right-click menu from canvas An Advanced Tuning window applicable to the selected algorithm displays.
24
APC_002
3.7 Reconciling tuning changes in a Windows-based Ovation system
3. 7
Re conc ilin g tuni ng changes
in a Windows -base d Ova tion system
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.7. 1 To re conc ile tuning ch anges be tween the C ontro ller and the Windows-based Ovation systems
databa se for
1.
Display a control sheet in a signal diagram. Make any desired changes and accept 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.
2.
Access the Ovation Developer Studio and select the Controller where the sheet resides.
3.
Right-click on the Controller and select Reconcile .
4.
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
APC_002
25
3.7 Reconciling tuning changes in a Windows-based Ovation system
5.
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.
6.
Check for items that have differences and that can be reconciled listed in the "Difference(s) found" field in the bottom section of the dialog box.
7.
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 no t be uploaded.
8.
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 26) to reconcile the database and the control sheet.
3.7. 2 To re conc ile tuning changes betwee for Windows-based systems 1.
n the da tabase and the Control Buil
der
Perform the reconciliation process between the Controller and the database (see page 25). 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
26
APC_002
3.7 Reconciling tuning changes in a Windows-based Ovation system
If the control function 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 14: Reconcile Tuning Parameters window OR If tuning changes have been made across multiple sheets, use the Reconcile operation found on the Control Builder Tools -> Operations menu. The changes are saved from the database to the .svg file and the tuning changes that were made are incorporated into the control sheet.
APC_002
27
S
4
ECTION
Algorithm reference page format
IN THIS SECTION Using algorithm reference pages ...................................................................................... 29
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 algorithm's operation. See "Algorithm functional symbols" (see page 30).
Algo ri thm Rec or d Type (i f requ ir ed) - Defines the type and si ze of the record generated for storing parameters and other information necessary to the algorithm. (See Ovation Record Types Reference Manual.)
Algo ri thm Defin it ions - Provides the following information on the algorithm:
- Describes how quality i s 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 block (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.
29
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 a lgorithm's operation in terms of a mathematical equation.
Appl ic ati on Exam pl e - Provides an example to demonstrate the use of the algorithm.
Miscella neous Sections - applicable to a specific algorithm only.
4.1. 1 Algorithm functiona
l symbols
The following items are used in the algorithm functional symbols:
30
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).
APC_002
4.1 Using algorithm reference pages
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.
APC_002
31
S
ECTION
5
Using Fuz zy algo rit hms
IN THIS SECTION What are the Ovation fuzzy logic algorithms?................................................................... 33 What algorithm? ........................................................................................ 33 What is is the the Fuzzifier Fuzzy PID (FPID) algorithm? ......................................................................... 57 Fuzzy algorithm global output calculation ......................................................................... 82
5. 1
Wha t are the Ova tion fuzzy logi c algorit hms? The Ovation Fuzzy Logic algorithms offer a manageable, systematic approach to handling non-linear loops. They include two algorithms:
5. 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 Fuz zifier 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 343).
APC_002
33
5.2 What is the Fuzzifier algorithm?
5.2. 1 Fuzz ifier algorithm functio
nal symb ol
Figure 15 : Fuzz ifier Algorith m funct ional symbol 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.
34
APC_002
5.2 What is the Fuzzifier algorithm?
5.2. 2 Examples of using the
Fuzz ifier a lgori thm
Example: Fuzzifie r algor ithm 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 16: Example - F uzzifier wit h 4D output 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
35
5.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 17: Fuzzifier with Ovation PID- -example
5.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 19)
36
APC_002
5.2 What is the Fuzzifier algorithm?
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 18: Fuz zifier Input/O utput Configuration tab
APC_002
37
5.2 What is the Fuzzifier algorithm?
Fuzzifier General Paramete rs 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. Once you enter the change, press OK to post the change.
Figure 19: Fuzzifier General Parameters tab Fuzzifier Fuzzy Parame ters tab The Fuzzy Parameters tab contains two additional tabs:
38
Membership Function Definition tab (see page 39).
Rule Base tab (see page 40).
APC_002
5.2 What is the Fuzzifier algorithm?
Fuzzy Parameters tab -- Membership Function Definition tab The Membership Function Definition tab displays the fuzzy signal properties.
Figure 20: 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
39
5.2 What is the Fuzzifier algorithm?
Edit the membership function parameters through either 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 - The membership function values can be edited 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.
Figure 21 : Fuzz ifier regions and vecto encod ing 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 22: Fuzzifier--C hangi ng EU values To view detailed values on the EU scale, click inside the scale.
Figure 23: Fuzzifier--V iewing detailed sc ale 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.
40
Center of Gravity (see page 83)
APC_002
5.2 What is the Fuzzifier algorithm?
Middle of Maxim (see page 84)
Figure 24: Fuzzifier Rule Base tab 2.
Select the Consequence value:
APC_002
Constant Value Point Name Vector
41
5.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 25: 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.
5.2. 4 Fuzz ifier algorith m definiti ons Note: Algorithm record type = LC Fuzzifier Algorithm definition 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 Auxiliary Record
LC
AUX2
-
Auxiliary
Required
-
*Regions 9 - 16 Auxiliary Record
LC
NAME
42
s
D ESCRIPTION
M I N. P OINT R ECORD
APC_002
5.2 What is the Fuzzifier algorithm?
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
AUX3
-
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
NAME
D ESCRIPTION
M I N. P OINT R ECORD
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 PT5
-
Variable Variable
Optional Optional
-
Input Point 4 Input Point 5
LA 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
43
5.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
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
PT22
-
Variable
Optional
-
Input Point 22
LA
PT23
-
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 PT46
-
Variable Variable
Optional Optional
-
Input Point 45 Input Point 46
LA LA
PT47
-
Variable
Optional
-
Input Point 47
LA
NAME
44
APC_002
5.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
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
PT57
-
Variable
Optional
-
Input Point 57
LA
PT58
-
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
NAME
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
-
0 - FPID 1 – FF
APC_002
45
5.2 What is the Fuzzifier algorithm?
NAME OPT
L C AL G. R ECORD F IELD X5 - Byte Bits 2 and 3
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
M I N. P OINT R ECORD
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
TRAPEZOID
Fuzzy Function Type 1st function:
-
0 - TRAPEZOID 1 - ZADEH FFT2
X6 - Byte
Data Init
Optional
TRAPEZOID
Bits 2 and 3
Fuzzy Function Type 2nd Function:
-
0 - TRAPEZOID 1 - ZADEH FFT3
X6 - Byte
Data Init
Optional
TRAPEZOID
Bits 4 and 5
Fuzzy Function Type 3rd Function:
-
0 - TRAPEZOID 1 - ZADEH FSO1
X7 - Byte Bit 0
FSO2
X7 - Byte Bit 1
FSO3
X7 - Byte Bit 2
46
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.
-
APC_002
5.2 What is the Fuzzifier algorithm?
NAME
APC_002
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
ISO1
G8 - Integer
Tuning constant
Required
0
HI1
B4 - Integer
Tuning constant
Required
100
D ESCRIPTION
M I N. P OINT R ECORD
ISOLATE - user defines the active region number. This must be changed in the Point Builder and then downloaded to the drop. High Limit
-
-
High Limit on Gain if vector
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
-
Low Limit on Gain if vector
LO2
B9 - Integer
Tuning constant
Required
-20
Low Integral Limit if vector
-
LO3
C0 - Integer
Tuning constant
Required
-30
Low Time Constant Limit if vector
-
LO4
C1 - Integer
Tuning constant
Required
-40
Low derivative limit if vector
-
VS1
R1 - Real
Data Init
Required
0
**Vector encoding shape of membership 1
-
VS2
R2 - Real
Data Init
Required
43
**Vector encoding shape of membership 2
-
VS3
R3 - Real
Data Init
Optional
57
**Vector encoding shape of membership 3
-
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
-
47
5.2 What is the Fuzzifier algorithm?
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
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
-
D ESCRIPTION
M I N. P OINT R ECORD
encoding shape of membership 8
48
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 shape of membership 14
-
VS15
S6 - Real
Data Init
Optional
57
**Vector encoding shape of membership 15
-
VS16
S7 - Real
Data Init
Optional
100
**Vector encoding shape of membership 16
-
VS17
S8 - Real
Data Init
Optional
0
**Vector encoding shape of membership
-
VS18
S9 - Real
Data Init
Optional
43
17 **Vector encoding shape of membership 18
-
APC_002
5.2 What is the Fuzzifier algorithm?
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
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 shape of membership 24
-
D ESCRIPTION
M I N. P OINT R ECORD
* FF Aux LC - Auxiliary 1 - 8 these must be initialized for eac h 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.
5.2. 5 Fuzz ifier algorith m auxiliary
definiti ons
Fuzzifier Algorithm auxiliary definition
s
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VAL UE
D ESCRIPTION
DIAG
LU-Integer
Data Init
Required
124
Tuning Diagram Number
RT1
G0 - Integer
Data Init
Optional
Const
Region Type 1st, 9th, 17th, 25th, 33rd, 41st, 49th, and 57th region:
Bit 4
0 = CONST - constant in G7 1 = POINT - SID in G1 3 = VECT - constants in G7, G8, G9 and B0
APC_002
49
5.2 What is the Fuzzifier algorithm?
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VAL UE
D ESCRIPTION
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
Data Init
Required
Const 5
Region Type 2nd, 10th, 18th, 26th, 34th, 42nd, 50th and 58th region
Gain if G0 = 3
Bit 4
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
Data Init
Optional
Const
Region Type 3rd, 11th, 19th, 27th, 35th, 43rd, 51st, and 59th region
Gain if B1 = 3
Bit 4
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
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
Data Init
Optional
Const
Region Type 4th, 12th, 20th, 28th, 36th, 44th, 52nd and 60th region
Gain if C2 = 3
Bit 4
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, Gain if YP = 3
50
APC_002
5.2 What is the Fuzzifier algorithm?
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VAL UE
D ESCRIPTION
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
Data Init
Optional
Const
Region Type 5th, 13th, 21st, 29th, 37th, 45th, 53rd and 61st region
Bit 4
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,
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
Data Init
Optional
Const
Region Type 6th, 14th, 22nd, 30th, 38th, 46th, 54th and 62nd region
Gain if E4 = 3
Bit 4
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
RT7
R7 - Integer
Data Init
Optional
Const
Region Type 7th, 15th, 23rd, 31st, 39th, 47th, 55th and 63rd regions
Gain if F5 = 3
Bit 0
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,
ING7
S6 - Integer
Data Init
Optional
7.2
If R7 = 3, integral
Gain if R7 = 3
APC_002
51
5.2 What is the Fuzzifier algorithm?
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VAL UE
D ESCRIPTION
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
Data Init
Optional
Const
Region Type 8th, 16th, 24th, 32nd, 40th, 48th, 56th, and 64th regions
Bit 0
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,
ING8
T8 - Integer
Data Init
Optional
8.2
If S9 = 3, integral
TC8
T9 - Integer
Data Init
Optional
8.4
If S9 = 3, time constant
DE8
U1 - Integer
Data Init
Optional
8.6
If S9 = 3, derivative
Gain if S9 = 3
5.2. 6 Fuzz ifier algorith m trackin g 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
52
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**
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
APC_002
5.2 What is the Fuzzifier algorithm?
B IT
D ESCRIPTION
A CTION
TOUT S IGNAL
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. ** Onlyinwhen theTracking Track signal is not present; the Algorithms signals areReference set according to the definitions given Setting Signals in the Ovation 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.
5.2. 7 Accessi ng the tuni ng window for the F
uzzifier algorith m 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 23).
APC_002
53
5.2 What is the Fuzzifier algorithm?
Fuzzifier tuning window -- General 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 26: Fuzzifier Tuning window - General Information tab
54
APC_002
5.2 What is the Fuzzifier algorithm?
Fuzzifier tuning w indow -- Me mbership Functi ons 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 27 : Fuzz ifier Tuning wi ndow - Membership Functions
APC_002
and Signals tab
55
5.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 28: Fuzzifier Tuning - Signal window
56
APC_002
5.3 What is the Fuzzy PID (FPID) algorithm?
5.3
What is th e Fuzzy PID (FP ID) algor it 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 344) for output calculations for the the FPID algorithm.
APC_002
57
5.3 What is the Fuzzy PID (FPID) algorithm?
5.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 29: FPID functional symbol #2
5.3. 2 Accessi ng advanced Builder
editing for th
e Fuzz y PI D algorith m in the C ontro l
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 19).
58
APC_002
5.3 What is the Fuzzy PID (FPID) algorithm?
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 the columns in this table cannot be sorted.
Figure 30: Fuzzy PID Input/Output Configuration tab
APC_002
59
5.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. Once the change is entered, press OK to post the change.
Figure 31: Fuzzy PID G eneral Parameters tab Bit Value Fie ld Option s B I T V A L U E F IELD
O PTIONS
Type
Normal ESG ESI
ACTN
Indirect
CASC
Normal
DACT
Cascaded Normal
Direct
Setpoint Process
60
APC_002
5.3 What is the Fuzzy PID (FPID) algorithm?
B I T V A L U E F IELD
O PTIONS
DOPT
Inner only No dead bands Both inner and outer
FPID Fuzzy Parameters tab The Fuzzy Parameters tab contains two tabs:
Membership Function Definition (see page 61).
Rule Base (see page 62).
FPID Membership Function Definition tab The Membership Function Definition tab displays the fuzzy signal properties.
Figure 32: Fuzz y PID -- Membership Functi on Definit ion t ab
APC_002
61
5.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 Parameters Function
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 through either 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 33: Fuzzy PID Re gion 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.
62
APC_002
5.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 83)
Middle of Maxim (see page 84)
Figure 34: 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
APC_002
PID
63
5.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 35: Fuzzy PID - Edit PID windo w 3. 4.
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.
5.3. 3 Fuzz yPID algorithm definition
s
Note: Algorithm record type = LC FuzzyPID algorithm definitions
64
NAME
L C A L G. R ECORD F IELD
DIAG
MIN. P OINT REC.
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
LU - Integer
Data Init
Required
122
Tuning Diagram Number
AUX1
-
Auxiliary
Required
-
Fuzzy Auxiliary PID1
LC
AUX2
-
Auxiliary
Required
-
Fuzzy PID2
LC
AUX3
-
Auxiliary
Required
-
Fuzzy PID3
LC
-
APC_002
5.3 What is the Fuzzy PID (FPID) algorithm?
NAME
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.
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
PT4
-
Variable
Optional
-
Fourth Input Point
LA
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 set point 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
LA
MEM4
T2 - Real
Selectable
Optional
-
Membership in region 4
LA
FTYPE
X5 - Byte Bits 0 and 1
Algorithm Init
Required
FPID
TYPE of Fuzzy Control:
X5 - Byte Bits 2 and 3
Data Init
Required
-
0 - FPID 1 - FF
OPT
COG
-
Type of PID Controller 0 - COG (Center Of Gravity) 1 - MOM (Middle Of Maxim)
APC_002
65
5.3 What is the Fuzzy PID (FPID) algorithm?
NAME
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.
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
66
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
R4 - Real
Data Init
Required
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
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
-
APC_002
5.3 What is the Fuzzy PID (FPID) algorithm?
NAME
RT1
L C A L G. R ECORD F IELD
YU Integer Bit 0
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
Data Init
Required
CONST
Region Type 1st Region
MIN. P OINT REC.
-
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
APC_002
CON1
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
-
67
5.3 What is the Fuzzy PID (FPID) algorithm?
NAME
L C A L G. R ECORD F IELD
SPTG
T3 - Real
SPTB PVG
MIN. P OINT REC.
R EQUIRED / O PTIONAL
D EFAULT V A L UE
Tuning constant
Required
1.0
Gain on set point. The gain on the set point should never be set to zero.
-
T4 - Real
Tuning constant
Optional
0.0
Bias on set point
-
T5 - Real
Tuning
Required
1.0
Gain on process variable
-
TYPE
constant
D ESCRIPTION
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 constant
Required
0.0
Minimum value of the output point
-
TYPE
X9 Byte Bits 1 and 0
Data Init
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 DACT
X9 Byte Bit 4 - 5
Data Init
Required
NORMAL
Type of Derivative action Normal Derivative applied to change in error Set point Derivative applied to change in set point Process Derivative applied to change in process variable
68
APC_002
-
5.3 What is the Fuzzy PID (FPID) algorithm?
NAME
DOPT
L C A L G. R ECORD F IELD
X9 Byte Bit 6 - 7
TYPE
R EQUIRED / O PTIONAL
Data Init
Required
D EFAULT V A L UE
SINGLE
MIN. P OINT REC.
D ESCRIPTION
0 - Single or Inner Deadband only
-
1 - No deadbands 2 - Both inner and outer deadband
5.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 Algo rithm Definition s
NAME
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
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.
DGAIN
S1- Real
Tuning constant
Required
0.0
PID derivative gain. If the derivative gain equals zero, the derivative part will not be included in the output.
DRAT
S2 - Real
Tuning constant
Required
0.0
PID derivative rate decay constant in seconds. This parameter will default to half value of theof control task period the the parameter is if less than the control task period divided by 2.
APC_002
69
5.3 What is the Fuzzy PID (FPID) algorithm?
70
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
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
D ESCRIPTION
APC_002
5.3 What is the Fuzzy PID (FPID) algorithm?
5.3 .5 Funct ion al operati on of PID
APC_002
71
5.3 What is the Fuzzy PID (FPID) algorithm?
5.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: B IT
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 73) 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.
72
APC_002
5.3 What is the Fuzzy PID (FPID) algorithm?
5.3. 7 Ca scaded mode and cond ition al trackin g
Figure 36 : Cascade d mode and conditio nal 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 that, if applied as a set point 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:
APC_002
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.
73
5.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.
5.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.
74
APC_002
5.3 What is the Fuzzy PID (FPID) algorithm?
5.3 .9 Definin g the FPI D 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 define the regions. Thesignal signal(s) used to (measured define the regions referred as the fuzzy signals. this example the fuzzy is unit load in MW).are The regionstocan be defined using aIn 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.
APC_002
75
5.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.
5.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 78). Also, tuning is discussed in detail in the Ovation Operator Station User Guide.
76
APC_002
5.3 What is the Fuzzy PID (FPID) algorithm?
5.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 outer) 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.
APC_002
77
5.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.
5.3. 12 Accessi ng the tu ning w indow for t he Fuz zy PI D a lgori thm i n sig nal diagrams To access advanced editing in signal diagrams, see To access the Advanced Tuning window for APC Toolkit algorithms in signal diagrams (see page 23).
78
APC_002
5.3 What is the Fuzzy PID (FPID) algorithm?
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 37: Fuzz y PID tun ing d iagram - Ge neral Infor mation tab
APC_002
79
5.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 38: Fuzz y PID tun ing d iagram - Regions and Sig nals tab
80
APC_002
5.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 39: Fuzzy PI D - Signal Details w ind ow
APC_002
81
5.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 40: Fuzz y PID - Auxili ary PID tun ing w ind ow
5. 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).
82
APC_002
5.4 Fuzzy algorithm global output calculation
5.4. 1 Ce nter of gravity
defuzzification
The center of gravity (COG) defuzzification method is essentially a weighted average of all 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 and 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 value that is output from the FuzzyPID algorithm.
APC_002
83
5.4 Fuzzy algorithm global output calculation
5.4. 2 Middle of maximum defuz
zification
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.
84
APC_002
5.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.
APC_002
85
S
ECTION
6
Using th e EDEVICE algor it hm
IN THIS SECTION What is the EDEVICE algorithm?...................................................................................... 87 EDEVICE functional symbol.............................................................................................. 88 Operating modes ............................................................................................................... 88 Emergency commands...................................................................................................... 89 Device ready input signal (DRDY)..................................................................................... 89 Permissive inputs .............................................................................................................. 89 Changing the direction of move......................................................................................... 89 Feedback inputs ................................................................................................................ 90 Auxiliary inputs .................................................................................................................. 90 Digital output signals ......................................................................................................... 90 Trip and timeout sensing ................................................................................................... 90 Lack of MCC power sensing ............................................................................................. 90 MCC test mode and permission override function ............................................................91 Configurations for different EDEVICE applications...........................................................91 Operation details of the EDEVICE Algorithm .................................................................... 93 Accessing advanced editing for EDEVICE in the Control Builder ...................................110 EDEVICE algorithm definitions........................................................................................ 111
6.1
What is th e EDE VI CE algo rit hm ? 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
87
6.2 EDEVICE functional symbol
6.2
ED EVI CE fun cti onal sym bol
Figure 41: ED EVICE func tion al symb ol
6.3
Operating
mod es
The EDEVICE algorithm operates in one of the following four modes:
Auto (see page 88)
Manual (see page 89)
Local (see page 89)
Tagout (see page 89)
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.
6.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.
88
APC_002
6.4 Emergency commands
6.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.
6.3. 3 Local and tagout modes In Local mode, the EDEVICE algorithm does not execute any commands (with exception of emergency STOP command) and trip and timeout errors are not recognized. 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.
6. 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 accepted also in Local mode.
6.5
Device ready in put si gnal (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.
6. 6
Pe rmis sive 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.
6. 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
89
6.8 Feedback inputs
6.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.
6.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 parameter respectively.
6. 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 102) for more details).
6. 10 Digital
outp ut sign als
The digital outputs of the EDEVICE (CMDR, CMDS, and CMDL) are used to issue respectively RIGHT, STOP, and LEFT commands to the device.
6. 11 Trip and tim eout sensing 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 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.
6.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.
90
APC_002
6.13 MCC test mode and permission override function
6. 13 MC C test mode
and permiss ion overrid
e 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.
6. 14 Configur
ations for dif
ferent E DE VI CE 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 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, 'O' means that the signal is optional. EDEVICE configurations M OTOR / PUMP
B IDIREC
-
TIONAL
S OLENOID W / 1 LIMIT
BI-
SWITCH
TIONAL VALVE
OR
2-
-
B I - DIREC
N OT CON -
TIONAL
NECTED
VALVE
RECOG
W / STOP
NIZED AS
-
W / OUT
SPEED
MOTOR
APC_002
DIREC
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
91
6.14 Configurations for different EDEVICE applications
M OTOR / PUMP
B IDIREC
-
TIONAL
S OLENOID W / 1 LIMIT
BI-
SWITCH
TIONAL VALVE
OR
2-
-
B I - DIREC
N OT CON -
TIONAL
NECTED
VALVE
RECOG
W / STOP
NIZED AS
-
W / OUT
SPEED
MOTOR
92
DIREC
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 can not be issued
Combined input STOP command
INCS
R
R
R
-
R
STOP command can not be issued
Combined input LEFT command
INCL
-
R
-
R
R
LEFT command can not 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 can't be changed.
Actual output LEFT command
CMDL
-
R
-
R
R
One speed, unidirectiona l device.
APC_002
6.15 Operation details of the EDEVICE Algorithm
6.1 5 Operation details of the
ED EVI CE Alg ori thm
On Controller power-up, the EDEVICE algorithm is placed in manual mode and the device state tracking subroutine is initiated.
6.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
93
6.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
94
C OD E
D ESCRIPTION
100
Device State Tracking
104
Device State Tracking - the device is recognized as stopped after maximal transition time
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
611
RIGHT Command Execution - canceling previous command
700
Move to Right Operation
706
Move to Right Operation - wait for deactivation of Left Limit Switch signal
APC_002
6.15 Operation details of the EDEVICE Algorithm
C OD E
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
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.
95
6.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 time is defined CMPL parameter passes, the inconsistency is ignored. Thebefore DERRthe output not setby tothe 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.
96
APC_002
6.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 error s C OD E
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 C OD E
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
97
6.15 Operation details of the EDEVICE Algorithm
98
E RROR C OD E
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
6.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. Unexpected change of device state errors C OD E
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.
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.
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.
103
104
107
APC_002
TRIP
TRIP
TRIP
The error is not reported if the feedback signals from contact relays are inconsistent; an inconsistency of feedback signals error is reported instead.
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.
The error is not reported if the feedback signals from the contact relays are inconsistent; an inconsistency of feedback signals error is reported instead.
99
6.15 Operation details of the EDEVICE Algorithm
C OD E
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.
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.
109
100
TRIP
The error is not reported if the feedback signals from the 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; inconsistency of feedback signals error is reported instead.
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 with 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
6.15 Operation details of the EDEVICE Algorithm
EDEVICE algorithm inconsi stency of feedback 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 inconsi stency o f feedback signal errors
APC_002
C OD E
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.
101
6.15 Operation details of the EDEVICE Algorithm
PSTA packed ou tput 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
NA ME
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 13
UCMP INAR
Unacknowledged feedback inputs inconsistent error 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
102
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
APC_002
6.15 Operation details of the EDEVICE Algorithm
N UMBER
NAME
D ESCRIPTION
21
INPR
Copy of PERR input
22
INPS
Copy of PERS input
23
INPL
Copy of PERL input
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
6.1 5.2 Device s top ped 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.
APC_002
103
6.15 Operation details of the EDEVICE Algorithm
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 is case of 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. 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.
104
APC_002
6.15 Operation details of the EDEVICE Algorithm
STOP and LEFT Operation 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. Al go ri th m block ing 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.
APC_002
105
6.15 Operation details of the EDEVICE Algorithm
6.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.
106
APC_002
6.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.
APC_002
107
6.15 Operation details of the EDEVICE Algorithm
6.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 of a timeout error, the STOP command execution subroutine is initiated, unless an output STOP command signal is not connected or an emergency RIGHT command is 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.
108
APC_002
6.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.
APC_002
109
6.16 Accessing advanced editing for EDEVICE in the Control Builder
6. 16 Accessi ng advanced e
dit ing fo r ED EV IC E in the Control Bu
ilder
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 18) 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 111). The following figure shows an example of the Property Editor for the EDEVICE algorithm.
Figure 42: EDEVICE algorithm parameters shown in Property Editor
110
APC_002
6.17 EDEVICE algorithm definitions
Note: No default tuning window is available for the EDEVICE algorithm in signal diagrams.
6.1 7 ED EVI CE algor it hm defi nit io ns Note: Algorithm record type = LC EDEVICE algorithm definitions LC A LG. AME
R EQUIRED /
EC
YPE
MI N. P OINT
D EFAULT
PTIONAL
AL UE
ESCRIPTION
EC
N
RIELD. F
T
O
V
D
R
DIAG
LU Integer
Data Init
Optional
120
Tuning Diagram Number
-
BLK
X2 Byte
Tuning Constant
Required
TRIP
Selects EDEVICE behavior when an error is encountered:
-
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.
KCMD
APC_002
X3 Byte
Tuning Constant
Required
IMPULS
STOP (3) - stops the device but does not block the algorithm in case of any error.
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.
Selects EDEVICE output type:
IMPULS (0) - impulse commands.
CONSTANT (1) constant commands.
TRACK_IN_LOCAL (2) constant commands, track feedback signals in local mode.
-
111
.
6.17 EDEVICE algorithm definitions
NAME
LLCL
SNPW
LSTO
TORQ
LC A LG. REC. F IELD
X4 Byte
X5 Byte
X6 Byte
X7 Byte
TYPE
Tuning Constant
Tuning Constant
Tuning Constant
Tuning Constant
R EQUIRED / O PTIONAL
D EFAULT VAL UE
Required
KEEP_ LOCAL
Required
Required
Required
DONT_ STOP
OUTPUT
CONTACTS
Selects EDEVICE options when local mode request disappears:
112
X8 Byte
Tuning Constant
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)
NO
-
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:
Required
-
DSCL
MI N. P OINT REC.
D ESCRIPTION
-
-
CONTACTS (0) - not torque switch; contact signals are connected to FBCx inputs. TORQUE (1) - torque switch signals are connected to FBCx inputs.
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)
-
APC_002
6.17 EDEVICE algorithm definitions
NAME
AACK
LC A LG. REC. F IELD
X9 Byte
TYPE
Tuning Constant
R EQUIRED / O PTIONAL
D EFAULT VAL UE
Required
NO
D ESCRIPTION
MI N. P OINT REC.
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
R1Real
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 signal. Not limited if the value is 0.
APC_002
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.
-
113
6.17 EDEVICE algorithm definitions
NAME
114
LC A LG. REC. F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VAL UE
TR6C
R8Real
Tuning constant
Required
4
TR7L
R9 -
Tuning
Required
4
Real
constant
TR7R
S1- Real
Tuning constant
Required
60
TR7S
S2 Real
Tuning constant
Required
4
TL8C
S3 Real
Tuning constant
Required
4
MI N. P OINT REC.
D ESCRIPTION
Maximum allowed time between activation of RIGHT command output and activation of Right contact feedback signal.
-
Maximum allowed time
-
between activationsignal of Right Contact feedback 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. 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. 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. Maximum allowed between activation of LEFT command output and activation of Left Contact feedback signal.
-
-
APC_002
6.17 EDEVICE algorithm definitions
NAME
APC_002
LC A LG. REC. F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VAL UE
D ESCRIPTION
MI N. P OINT REC.
TL9R
S4 Real
Tuning constant
Required
4
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 LEFT command output and 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 value is 0.
-
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 -
Tuning
Required
1
Rebound filtering time for
-
Real
constant
Stop Contact feedback signal.
115
6.17 EDEVICE algorithm definitions
NAME
116
LC A LG. REC. F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VAL UE
MI N. P OINT REC.
D ESCRIPTION
DBCL
T2 Real
Tuning constant
Required
1
Rebound filtering time for Left Contact feedback signal.
-
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 constant
Required
30
Emergency and permission override window time in MCC test mode
-
CMPL
T6 Real
Tuning constant
Required
10
Delay for reporting feedback signals inconsistency as a TRIP.
-
DRDY
-
Variable
Optional
-
Device ready input signal.
LD, LP
REQA
-
Variable
Optional
-
Request AUTO mode
LD, LP
REQM
-
Variable
Optional
-
Request MANUAL mode
LD, LP
REQL
-
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 signal.
LD, LP
FBLR
-
Variable
Optional
-
Right limit Switch feedback signal.
LD, LP
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
APC_002
6.17 EDEVICE algorithm definitions
NAME
APC_002
LC A LG. REC. F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VAL UE
D ESCRIPTION
MI N. P OINT REC.
MANS
-
Variable
Optional
-
STOP command in MANUAL mode
LD, LP
MANL
-
Variable
Optional
-
LEFT command in MANUAL mode
LD, LP
AUTR
-
Variable
Optional
-
RIGHT command in AUTO mode
LD, LP
AUTS
-
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
LD, LP
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
-
Variable
Optional
-
Output STOP command
LD, LP
CMDL
-
Variable
Optional
-
Output LEFT command
LD, LP
STAT
-
Variable
Optional
-
Algorithm state numeric code.
LA
DERR
-
Variable
Optional
-
Error numeric code.
LA
PSTA
-
Variable
Optional
-
Status word
LP
117
S
ECTION
7
Using the S ootblo wer a lgori thms
IN THIS SECTION What are the Sootblower algorithms? ............................................................................. 120 Using algorithm ............................................................................................. 121 Using the the Blower SBsequence algorithm .................................................................................... 127 Using the SBscheduler algorithm .................................................................................... 144 Using the SBMaster algorithm......................................................................................... 148
APC_002
119
7.1 What are the Sootblower algorithms?
7. 1
Wha t are the Sootblow
er algorit hms?
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 121)).
Defining a sequence of blowers to be used (SBSequence (see page 127)).
Scheduling these sequences (SBScheduler (see page 144)). Providing an overall ability to manipulate and change sequences and schedules (SBMaster (see page 148)).
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 individ ual 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 defines which sootblower is 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.
120
APC_002
7.2 Using the Blower algorithm
7. 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.
7.2. 1 Blower algorith m func tional sym bol
Figure 4 3: Blower Algorithm functi
APC_002
onal symbol
121
7.2 Using the Blower algorithm
7.2. 2 Blower algorith m 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 144) 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 to group (GRPID). makes sure that the holding register corresponding this number blower contains itsThe ownBlower systemalgorithm 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.
122
APC_002
7.2 Using the Blower algorithm
7.2. 3 Accessi ng a dvanced e ditin g for the Blower algorithm in the
Control Builder
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 18) 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 124). The following figure shows an example of the Property Editor for the Blower algorithm.
Figure 44 : Blower algorith m paramete rs sho wn in Property Editor
APC_002
123
7.2 Using the Blower algorithm
7.2. 4 Blower algorith m definiti ons Blower algorithm definitions
124
NAME
L C AL G. R ECORD F IELD
DIAG
LU - Integer
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
Data Init
Required
154
MI N. P OINT REC.
D ESCRIPTION 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 (default register value). start
-
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
Required
0
Number of starts.
-
NUMLP
G5 - Integer
Alg. Init
Required
0
Number of loops running.
-
TTTIM
R5 - Real
Alg. Init
Required
0
Actual blowing time (in seconds).
-
IDLET
R8 - Real
Alg. Init
Required
0
Current idle time (in seconds).
-
WAIT
G6 - Integer
Alg. Init
Required
0
Number of start request to bypass.
-
RUNPC
R6 - Real
Tuning constant
Required
100
Running percentage (min=0, max=100).
-
APC_002
7.2 Using the Blower algorithm
NAME
L C AL G. R ECORD F IELD
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 constant
Required
0
Expected run time (in seconds).
-
EXST
S2 - Real
Tuning constant
Required
0
Expected start time (in seconds).
-
MLO
X2 - Byte
Data Init
Required
0
Manual latch option.
-
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
MI N. P OINT REC.
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. 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 blower in seconds.
LA
IDLTM
-
Variable
Optional
-
Used with RUNFB, reports the actual idle time of the blower in seconds.
LA
Variable
Optional
-
Used with RUNFB, reports TRUE if the actual run time exceeds the expected run time.
LD
RTED
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
APC_002
125
7.2 Using the Blower algorithm
NAME TGDOT
L C AL G. R ECORD F IELD -
TYPE
R EQUIRED / O PTIONAL
Variable
Optional
D EFAULT VA L UE -
MI N. P OINT REC.
D ESCRIPTION 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
LD
TAGOT set to is FALSE, is TGDOT set to FALSE also. DSABL
-
Variable
Optional
-
Use in intelligent sootblowing to "disable" the blower.
LD
TRUE = Blower disabled FALSE=Blower not disabled DSABD
-
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
LD
the current step or the next step. Once DSABL is set to FALSE, DSABD is set to FALSE also.
7.2. 5 Accessi ng the tuni ng window for the
Blow er algorith m in sign al diagrams
To access advanced editing in signal diagrams, see To access the Advanced Tuning window for APC Toolkit algorithms in signal diagrams (see page 23).
126
APC_002
7.3 Using the SBsequence algorithm
Blowe r tuning window The Blower tuning window is a read-only diagnostic window. No tuning can be performed from this window.
Figure 4 5: Blower tuning wind ow
7. 3
Using the SBsequence
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.
APC_002
127
7.3 Using the SBsequence algorithm
7.3. 1 SBS equence algorith m func tional symb ol
Figure 46 : SBSe quence funct ional symb ol
7.3. 2 SBS equence algorith m 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.
Au to Mode: 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 states (1-RUNNING, 2-HELD, 3-FINISHED and 4-REST) for each sequence. The current status is displayed in the STAT algorithm field or the EXTR2 output point. A 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.
128
APC_002
7.3 Using the SBsequence algorithm
7.3. 3 Accessi ng advanced Builder
editing for the S
BSe quence a lgori thm in the C ontro l
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 19). Note: No default tuning window is available for the SBSequence algorithm in signal diagrams. SBSequence algorithm Input/Output Configu
ration 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 47: SBS equence Input/O utput Configuration tab
APC_002
129
7.3 Using the SBsequence algorithm
SBSequenc e algorith m 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. Once the change is entered, press OK to post the change.
Figure 48: SBSequence General Parame ters t ab SBSequence algorithm Auxiliary Parameters tab The Auxiliary Parameters tab allows you to define the algorithm auxiliary (step) parameters. To define the step parameters: 1.
130
Select the tab which contains the step you want to define.
APC_002
7.3 Using the SBsequence algorithm
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 49: SBSequence Auxiliary Parameters tab
7.3. 4 How doe s the SBS equence algorithm wo
rk?
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 click UNHLD to continue the sequence. If the sequence is in AUTO mode, then both HLDMN and UNHLD have no effect on the sequence.
Scheduler Hold (HLDRS ) - Scheduler hold because of unsatisfied restrictions. Before starting a sootblower in a step, the SBSequence algorithm sends a request to the related SBScheduler to determine if the required amountIfof the blowing medium is available and algorithm if the mutual exclusion condition is satisfied. either of the two constraints is violated, the SBSequence holds the sequence and sets the HLDRS pin until permission is granted.
APC_002
131
7.3 Using the SBsequence algorithm
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.
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. 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 step.
4.
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.
132
APC_002
7.3 Using the SBsequence algorithm
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
= (blower number -1) * 2.
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
PACKED WORD
PA CK ED BIT
H OLDING O FFSET
B0
5
0
4
8
B1
35
2
2
68
B2
65
4
0
128
YU
128
7
15
254
R EGISTER
7.3. 5 SBS equence algorith m definiti ons Note: Algorithm record type = LC SBSequence a lgorithm definitions
APC_002
NAME
L C A L G. R ECORD F IELD
DIAG
LU - Integer
AUX1 AUX2 AUX3
M I N. P OINT R ECORD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
Data Init
Required
142
Tuning Diagram Number
-
B4 - Integer
Data Init
Required
-
SID for AUX 1
LC
B5 - Integer
Data Init
Required
-
SID for AUX 2
LC
B6 - Integer
Data Init
Required
-
SID for AUX 3
LC
D ESCRIPTION
133
7.3 Using the SBsequence algorithm
NAME
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
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
SEQ7
-
Variable
Optional
-
Seventh Sequence to run
LA
SEQ8
-
Variable
Optional
-
Eighth Sequence to run
LA
SEQ9
-
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
LD/LP
sequence HOLD
134
-
Variable
Required
-
Manually hold the sequence
LD/LP
APC_002
7.3 Using the SBsequence algorithm
NAME
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
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
M I N. P OINT R ECORD
blowers 33 - 48
APC_002
PK4
-
Variable
Optional
-
Long packed point blowers 49 --64
LP
PK5
-
Variable
Optional
-
Long packed point blowers 65 - 80
LP
PK6
-
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
135
7.3 Using the SBsequence algorithm
NAME
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
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 -
LP
D ESCRIPTION
M I N. P OINT R ECORD
blowers 337 -- 352
136
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
PK27
-
Variable
Optional
-
Long packed point blowers 417 - 432
LP
PK28
-
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
APC_002
7.3 Using the SBsequence algorithm
NAME
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
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 blowers 593 -- 608
LP
PK39
-
Variable
Optional
-
Long packed point blowers 609 - 624
LP
PK40
-
Variable
Optional
-
Long packed point blowers 625 -- 640
LP
PK41
-
Variable
Optional
-
Long packed point -
LP
D ESCRIPTION
M I N. P OINT R ECORD
blowers 641 - 656
APC_002
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 blowers 721 -- 736
LP
PK47
-
Variable
Optional
-
Long packed point blowers 737 -- 752
LP
PK48
-
Variable
Optional
-
Long packed point blowers 753 -- 768
LP
PK49
-
Variable
Optional
-
Long packed point blowers 769 - 784
LP
137
7.3 Using the SBsequence algorithm
NAME
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
M I N. P OINT R ECORD
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 -
LP
D ESCRIPTION
blowers 945 -- 960
138
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
APC_002
7.3 Using the SBsequence algorithm
NAME
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
EXTR2
-
Variable
Optional
-
D ESCRIPTION Current Sequence Status:
M I N. P OINT R ECORD 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
0
Sequence Number (1-99)
-
STPNM
C1- Integer
Data Init
Required
0
Number of steps (1-99)
-
HRSTR
C2 - Integer
Data Init
Required
0
Start Holding Register Number (>=0)
-
CSTP
C3 - Integer
Alg. Init
Required
1
Currently running step number
-
CBLW1
C4 - Integer
Alg. Init
Required
0
Blower No.1: 1 - running 0 - stopped
-
CBLW2
C5 - Integer
Alg. Init
Required
0
Blower No.2: 1 - running 0 - stopped
-
CBLW3
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
APC_002
139
7.3 Using the SBsequence algorithm
NAME
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
STAT
G1- Integer
Alg. Init
Required
3
M I N. P OINT R ECORD
D ESCRIPTION SB Sequence Status:
-
1 = run 2 = held 3 = finished 4 = rest SEQTM
R1 - Real
Alg. Init
Required
0
Sequence Timer
-
STPTM BLWTM
R2 - Real R3 - Real
Alg. Init Alg. Init
Required Required
0 0
Step Timer 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.
7.3. 6 SBS equence auxiliary a lgori thm de finit ions 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, 97-108. Auxi li ary SBSequen ce al go ri th m No. 1 – No. 9 (only No. 1 is sh ow n)
140
NAME
LC ALG R ECORD F IELD
R EQUIRED / O PTIONAL
D EFAULT VA L 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
TYPE
APC_002
7.3 Using the SBsequence algorithm
NAME
LC ALG R ECORD F IELD
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
S1B3
G2 - Integer
Reconcilable Constant
Optional
0
Step 1 Blower 3
S1B4
G3 - Integer
Reconcilable Constant
Optional
0
Step 1 Blower 4
S1TD
G4 - Integer
Reconcilable Constant
Optional
0
Delay (seconds) between step 1 and step 2
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 Constant
Optional
0
Step 4 Blower 2
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
Optional
0
Step 5 Blower 2
Optional
0
Step 5 Blower 3
TYPE
Constant S5B3
APC_002
C2 - Integer
Reconcilable Constant
141
7.3 Using the SBsequence algorithm
142
NAME
LC ALG R ECORD F IELD
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
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
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 Constant
Optional
0
Step 8 Blower 3
S8B4
D8 - Integer
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
TYPE
APC_002
7.3 Using the SBsequence algorithm
APC_002
NAME
LC ALG R ECORD F IELD
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
S10B1
YC - Integer
Reconcilable Constant
Optional
0
Step 10 Blower 1
S10B2
Y9 - Integer
Reconcilable Constant
Optional
0
Step 10 Blower 2
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 Constant
Optional
0
Step 11 Blower 1
S11B2
Y6 - Integer
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 Constant
Optional
0
Step 12 Blower 4
S12TD
XR - Integer
Reconcilable Constant
Optional
0
Delay (seconds) between step 12 and step 13
TYPE
143
7.4 Using the SBscheduler algorithm
7. 4
Using the SBscheduler
algorit hm
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).
144
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
7.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 of evaluating 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.
7.4. 1 SBS cheduler
algorithm functio
nal sym bol
Figure 5 0: SBScheduler Algorithm func
APC_002
tional symbol
145
7.4 Using the SBscheduler algorithm
7.4. 2 Accessi ng a dvanced e ditin g for the SBS cheduler a lgori thm in the Control Builder 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 18) 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 146). The following figure shows an example of the Property Editor for the SBScheduler algorithm.
Figure 51 : SBSche duler algorithm parame ters shown in Property Editor Note: No default tuning window is available for the SBScheduler algorithm in signal diagrams.
7.4. 3 SBS cheduler
algorithm de finit ions
SBScheduler definitio ns L C A L G.
146
NAME
R ECORD F IELD
DIAG
LU-Integer
M I N. TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
Data Init
Required
0
D ESCRIPTION Tuning Diagram Number
P OINT R ECORD -
APC_002
7.4 Using the SBscheduler algorithm
NAME
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
MXMED
-
Variable
Required
-
Maximum blowing medium
LA
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 Number for Group 7
LA
TOKN8
-
Variable
Optional
-
Maximum Token Number for Group 8
LA
SIDNM
-
Variable
Required
-
SID number of the
PD
D ESCRIPTION
M I N. P OINT R ECORD
SBScheduler 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:
-
Y7 - Integer
Tuning Constant
MXPRI
APC_002
1: for Priority-Based Method 2: FIFO Required
600
Maximum Priority Threshold
-
147
7.5 Using the SBMaster algorithm
7. 5
Using the SBMa ster algorit hm 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.
7.5. 1 SBMa ster algorithm functi
onal symb ol
Figure 52 : SBMaster Algorithm f unction al symbol
148
APC_002
7.5 Using the SBMaster algorithm
7.5. 2 SBMa ster algorithm functi
onality de tails
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.
APC_002
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.
149
7.5 Using the SBMaster algorithm
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. 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.
150
APC_002
7.5 Using the SBMaster algorithm
7.5. 3 Accessi ng advanced Builder
editing for the S
BMaster algorith m 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 19). 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 53: SBM aster Input/O utput Configuration tab
APC_002
151
7.5 Using the SBMaster algorithm
SBMaster General Parameters 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. Once the change is entered, press OK to post the change. The integer value for this field must be greater than or equal to 0. For mode-related integer fields, all of the rows in the Value cell contain a pull-down menu. The choices are:
No Mode Selected.
Single Group.
Multiple Group.
Continuous Single Group.
Continuous Multiple Group.
Synchronized Continuous Multiple Group.
Priority Sequence.
Advisory.
Figure 54: SBMaster General Parameters tab
152
APC_002
7.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 55: SBMaster Auxiliary Parameters tab
APC_002
153
7.5 Using the SBMaster algorithm
7.5. 4 SBMa ster algorithm de fini tions Note: Algorithm record type = LC SBMaster definitio ns
NAME
L C AL G. R ECORD F IELD
DIAG
LU - Integer
ENBL
M I N. P OINT REC.
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
Data Init
Optional
140
Tuning Diagram Number.
-
-
Variable
Required
-
Enable Input.
LD/LP
PRIOR
-
Variable
Required
-
Priority condition input.
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
LP
D ESCRIPTION
input.
154
IN3
-
Variable
Optional
-
33-48 SEQ complete input.
LP
IN4
-
Variable
Optional
-
49-64 SEQ complete input.
LP
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
APC_002
7.5 Using the SBMaster algorithm
APC_002
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
M I N. P OINT REC.
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
OUT1
-
Variable
Required
-
1st SEQ Output.
LA
OUT2
-
Variable
Optional
-
2nd SEQ Output.
LA
OUT3
-
Variable
Optional
-
3rd SEQ Output.
LA
OUT4
-
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
155
7.5 Using the SBMaster algorithm
NAME AUX17
L C AL G. R ECORD F IELD XW Integer
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
M I N. P OINT REC.
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
-
C2 - Integer
constant Tuning constant
0
defined. Mode type:
-
MODE
Required
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 HRSTR
C3 - Integer
Data Init
Required
0
Start holding register number.
-
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
156
YP - Integer
Alg. Init
Required
0
Current step in the 3rd group queue.
-
APC_002
7.5 Using the SBMaster algorithm
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
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
D8 - Integer
Alg. Init
Required
0
Current step in the 8th group queue.
-
G9STP
D9 - Integer
Alg. Init
Required
0
Current step in the 9th group queue.
-
SSEL
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
M I N. P OINT REC.
7.5 .5 SBMaster a lgo rit hm defin iti on (Aux1,3,5 ,7,9 ,11 ,13 ,15 ,17 ) Note: Algorithm record type = LC SBMaster auxiliary sequence
APC_002
NAME
L C A L G. R ECORD F IELD
R EQUIRED / O PTIONAL
D EFAULT VA 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
TYPE
157
7.5 Using the SBMaster algorithm
158
NAME
L C A L G. R ECORD F IELD
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
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
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
TYPE
APC_002
7.5 Using the SBMaster algorithm
APC_002
NAME
L C A L G. R ECORD F IELD
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
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
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
TYPE
159
7.5 Using the SBMaster algorithm
NAME
L C A L G. R ECORD F IELD
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
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
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 11th auxiliary algorithm stores the first 60 sequence numbers in group 6. The 12th auxiliary algorithm stores the 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.
160
APC_002
7.5 Using the SBMaster algorithm
7.5 .6 SBMaster a lgo rit hm 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 co
APC_002
NAME
L C A L G. R ECORD F IELD
DIAG
LU - Integer
SQ01
ntinued R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
Reconcilable Constant
Required
0
Tuning Diagram Number
G0 - Integer
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 Constant
Optional
0
68th Sequence in group x
SQ09
G8 - Integer
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
SQ18
B7 - Integer
Reconcilable Constant
Optional
0
78th Sequence in group x
TYPE
161
7.5 Using the SBMaster algorithm
162
NAME
L C A L G. R ECORD F IELD
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
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
APC_002
S
ECTION
8
Using t he AR X Model algori thm
IN THIS SECTION What is the ARX model algorithm? ................................................................................. 163 ARX modeladvanced algorithm editing functional symbol.......................................................................... 164 Accessing for the ARX model algorithm in the Control Builder...........164 ARX model algorithm operation with fuzzy logic algorithms ...........................................167 ARX model algorithm tracking signals............................................................................. 167 ARX model algorithm I/O pins ......................................................................................... 168 ARX model algorithm definitions ..................................................................................... 168 ARX model algorithm–auxiliary LC records .................................................................... 173
8. 1
Wha t is the ARX model algori thm? Note: The ARX algorithm can only be purchased as part of an engineered solution. The ARX model (AutoRegressive with eXogenous input) 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 346). To select the ARX model algorithm, refer to To add advanced algorithms using the pull-down menu.
APC_002
163
8.2 ARX model algorithm functional symbol
8. 2
ARX model algorit hm func tion al symb ol
8. 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 19). Note: No default tuning window is available for the ARX model algorithm in signal diagrams.
164
APC_002
8.3 Accessing advanced editing for the ARX model algorithm in the Control Builder
8.3. 1 ARX model a lgori thm Input/Output C
onfig uration 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 56 : ARX model algorithm
APC_002
Input/O utput Configuration tab
165
8.3 Accessing advanced editing for the ARX model algorithm in the Control Builder
8.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 modesl. Editable fields are indicated with a white background. To edit a value, left-click in the entry field to enter the new value. Once the change is entered, press OK to post the change.
Figure 57: ARXModel Parameters tab
166
APC_002
8.4 ARX model algorithm operation with fuzzy logic algorithms
8. 4
ARX model algorit hm operation
wit h fuzzy logi c 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.
8. 5
ARX model algorit hm trackin g 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 ing s ignal s B IT
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
167
8.6 ARX model algorithm I/O pins
8. 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. Two examples would be 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 would be when the algorithm is to be 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
8. 7
ARX model algorit hm definit ions Note: Algorithm record type = LC ARX alg or ithm def in it io ns
168
NAME
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
0
Tuning Diagram Number
-
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
-
Variable
Optional
-
Input3
LA
D ESCRIPTION
APC_002
8.7 ARX model algorithm definitions
APC_002
NAME
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.
IN4
-
Variable
Optional
-
Input4
LA
IN5
-
Variable
Optional
-
Input5
LA
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
LA
LA
169
8.7 ARX model algorithm definitions
170
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
M I N. P OINT REC.
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
D ESCRIPTION
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 the outputvalue pointof 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
APC_002
8.7 ARX model algorithm definitions
NAME
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.
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
-
ISTP3
X7 Byte Bit 3
Data Init
Optional
NO_
X7 Byte Bit 4
Data Init
ISTP5
X7 Byte Bit 5
Data Init
Optional
ISTP6
X7 Byte Bit 6
Data Init
ISBT1
X8 Byte Bit 1
ISBT2
1-ACTIVE Is active TPSC3 constrain 0-NO_ACTIVE 1-ACTIVE
-
Is active TPSC4 constrain 0-NO_ACTIVE 1-ACTIVE
-
NO_ ACTIVE
Is active TPSC5 constrain 0-NO_ACTIVE 1-ACTIVE
-
Optional
NO_ ACTIVE
Is active TPSC6 constrain 0-NO_ACTIVE 1-ACTIVE
-
Data Init
Required
NO_ ACTIVE
Is active BTSC1 constrain 0-NO_ACTIVE 1-ACTIVE
-
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
-
ISTP4
APC_002
ACTIVE
Optional
NO_ ACTIVE
171
8.7 ARX model algorithm definitions
NAME
172
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
M I N. P OINT REC.
D ESCRIPTION
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 in units per step (for output 3)
-
DU4
S7-Real
Data Init
Optional
5.0
Rate of change limit in units per step (for output 4)
-
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 Bit 1
Data Init
Required
NO_ ACTIVE
Is active DU1 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
-
APC_002
8.8 ARX model algorithm–auxiliary LC records
NAME
8. 8
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
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
ARX model algorit hm–auxiliary
M I N. P OINT REC. -
LC records
Note: AUX1-AUX6 contain the model parameters for outputs 1-6. ARX Al go ri thm–A ux il iar y LC recor ds
APC_002
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
DIAG
LU-Integer
Tuning
Required
XXX
Tuning Diagram
NIN
G0-Integer
constant Data Init
Required
0
Number 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
D ESCRIPTION
173
8.8 ARX model algorithm–auxiliary LC records
174
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
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
INA2
YP - Real
Data Init
Optional
0.0
Average (point of work) on input 2
INA3
D4 - Real
Data Init
Optional
0.0
Average (point of work) on input 3
INA4
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
APC_002
8.8 ARX model algorithm–auxiliary LC records
APC_002
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
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
B51
R6 - Real
Data Init
Optional
0.0
b0 coefficient
175
8.8 ARX model algorithm–auxiliary LC records
176
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
B52
R7 - Real
Data Init
Optional
0.0
b1 coefficient
B53
R8 - Real
Data Init
Optional
0.0
b2 coefficient
B54
R9 - Real
Data Init
Optional
0.0
b3 coefficient
B61
S1 - Real
Data Init
Optional
0.0
b0 coefficient
B62
S2 - Real
Data Init
Optional
0.0
b1 coefficient
B63
S3 - Real
Data Init
Optional
0.0
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
T6 - Real
Data Init
Optional
0.0
b2 coefficient
B94
T7 - Real
Data Init
Optional
0.0
b3 coefficient
APC_002
8.8 ARX model algorithm–auxiliary LC records
APC_002
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
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
177
S
ECTION
9
Using th e TEMPRO (Temp erature Prof il e) algor it hm
IN THIS SECTION What is the TEMPRO algorithm? .................................................................................... 179 TEMPRO 179 TEMPRO operation functional......................................................................................................... symbol ............................................................................................ 183 Accessing advanced editing for the TEMPRO algorithm in the Control Builder .............184 TEMPRO algorithm definitions ........................................................................................ 185
9.1
What is th e TE MPR O algor it 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.
9.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
179
9.2 TEMPRO operation
9.2 .1 Orderin g the measur ement values 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
180
TCH2
Highest TC value ( F) o Second highest TC value ( F)
TCL1
Lowest TC value ( F)
TCL2
Second lowest TC value ( F)
o
o
o
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
APC_002
9.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.
9.2 .2 Average temperatu re calcu latio n 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
181
9.2 TEMPRO operation
9.2 .3 Median temp erature calc ulati on 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.
182
APC_002
9.3 TEMPRO functional symbol
9. 3
TE MP RO func tion al symb ol
Figure 58: TEMPRO functional symbol
APC_002
183
9.4 Accessing advanced editing for the TEMPRO algorithm in the Control Builder
9. 4
Accessi ng advanced Control Builder
editing for
the TE MP RO algorit hm in the
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 18) 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 185). 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 59: TEMPRO algorithm parameters shown in Property Editor
184
APC_002
9.5 TEMPRO algorithm definitions
9. 5
TE MP RO algorit hm defini tion s Note: Algorithm record type = LC Al go ri th m Defi ni ti on s
APC_002
NAME
LC AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
M I N. P OINT REC.
A1
--
Variable
Required
--
TC analog input (pos. 1)
LA
A2
--
Variable
Optional
--
TC analog input (pos. 2)
LA
A3
--
Variable
Optional
--
TC analog input (pos. 3)
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
185
9.5 TEMPRO algorithm definitions
NAME
LC AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
M I N. P OINT REC.
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
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
LA
(analog output) IDL3
186
--
Variable
Required
--
Third lowest TC index (analog output)
LA
APC_002
9.5 TEMPRO algorithm definitions
NAME
LC AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
M I N. P OINT REC.
TTXC
--
Variable
Required
--
Average temperature (analog output)
LA
TTXM
--
Variable
Required
--
Median temperature (analog output)
LA
NUMTC
G1
Tuning Constant
Required
1
Number of thermocouple inputs to be monitored (must be
Integer
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
APC_002
R2
Tuning Constant
Required
500.00
Temperature average low reject constant
Real
187
S
ECTION
10
Using t he Dyn amic Ma tr ix Cont ro ll er (DMC) algorithm
IN THIS SECTION What is the DMC algorithm? ........................................................................................... 189 DMC algorithm functional symbol.................................................................................... 190 Accessing advanced editing for the DMC algorithm in the Control Builder.....................190 DMC algorithm definitions ............................................................................................... 194 Auxiliary DMC algorithm definitions................................................................................. 203 DMC algorithm status of optimization (STAT) output......................................................234 DMC algorithm tracking signals....................................................................................... 235 DMC algorithm cascaded mode and conditional tracking...............................................236 Accessing the tuning window for the DMC algorithm in signal diagrams........................245
10. 1 What is the DMC algor it hm? Note: The DMC algorithm can only be purchased as part of an engineered solution. Also, the DMC algorithm can only be placed in a control task area of 10 seconds or greater. Therefore, it cannot be placed in Control Task Area 1 or 2. The DMC (Dynamic Matrix Controller) algorithm provides a predictive Controller. The DMC can calculate five output signals (manipulated variables - MV) based on five DV (disturbance variables) and six CV (control variables). 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 353). Note: All DMC algorithms in a single Controller must be in the same control task area.
APC_002
189
10.2 DMC algorithm functional symbol
10 .2 DM C algori thm functi
onal 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 60 : DMC algorithm functio nal symbol Where: Internal Model - step response model. Optimizer - Quadratic Programming (QP) problem solver with constraints.
10 .3 Accessi ng advance Control Builder
d e diti ng for the D MC 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 19).
190
APC_002
10.3 Accessing advanced editing for the DMC algorithm in the Control Builder
10.3 .1 DM C Input /O utput Configur ation 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 dialog box or sort the columns in this table. Use the scroll bar to see the full listing. Check the Enable ToolTips box for helpful descriptions when you hover the mouse cursor over various elements of the window.
Figure 61: DMC Input/Output Configuration tab
APC_002
191
10.3 Accessing advanced editing for the DMC algorithm in the Control Builder
10.3. 2 DMC Ge neral Paramet ers t ab The General Parameters tab displays the global parameters for the algorithm, which includes the model MV input constraints. Editable fields are indicated with a white background in the Value or Active columns. Values for gain setpoints must be > 0 to be valid. Once you make the changes, press the OK button to save the changes.
Figure 62: DMC G eneral Parameters tab
10. 3.3 DMC Auxi liary Parameters t ab The Auxiliary Parameters tab contains two tabs:
192
Model Parameters tab (see page 193).
Weighting Parameters tab (see page 194).
APC_002
10.3 Accessing advanced editing for the DMC algorithm in the Control Builder
DMC Model Parameters tab The Model Parameters tab allows you to import a specific model for the algorithm to use.
Figure 63: DMC Model Parameters tab
APC_002
193
10.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 64: DMC Weightin g Parameters tab
10 .4 DM C algori thm de fin iti ons Note: Algorithm record type = LC DMC algorithm d efinitions
194
NAME
L C A L G. R ECORD F IELD
DIAG
LU-Integer
AUX1
M I N. P OINT REC.
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
Data Init
Required
153
Tuning Diagram Number.
-
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
10.4 DMC algorithm definitions
APC_002
NAME
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
M I N. P OINT REC.
AUX4
G3-Integer
Auxiliary
Required
-
Model MV1 - CV(3,4)
LC
AUX5
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 AUX21
B9-Integer C0-Integer
Auxiliary Auxiliary
Required Required
-
Model DV1 - CV(5,6) Model DV2 - CV(1,2)
LC 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
195
10.4 DMC algorithm definitions
NAME
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
M I N. P OINT REC.
PRE1
-
Variable
Optional
-
The first predicted CV (controlled variable) for a given set of MVs (manipulated variables) and DVs (disturbance variables).
LA
PRE2
-
Variable
Optional
-
The second predicted CV (controlled
LA
D ESCRIPTION
variable) for a given set of MVs (manipulated variables) and DVs (disturbance variables). PRE3
-
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
LA
(disturbance variables).
196
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) and DVs (disturbance variables).
LA
PRE7
-
Variable
Optional
-
The seventh predicted CV (controlled variable) for a given set of MVs (manipulated variables) and DVs (disturbance variables).
LA
APC_002
10.4 DMC algorithm definitions
NAME
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
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
LA
D ESCRIPTION
M I N. P OINT REC.
CV (controlled variable) for a given set of MVs (manipulated variables) and DVs (disturbance variables).
APC_002
PRE10
-
Variable
Optional
-
The tenth predicted CV (controlled variable) for a given set of MVs (manipulated variables) and DVs (disturbance variables).
LA
STPT1
-
Variable
Required
-
Set Point1.
LA
STPT2
-
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
197
10.4 DMC algorithm definitions
NAME
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
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 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.
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
ERR
-
Variable
Optional
-
Error Status Point.
LP
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.
-
LA
N
D5-Integer
Data Init
Required
100
Horizon.
-
NU
D6-Integer
Data Init
Required
10
Horizon MV.
-
PVG1
YN - Real
Tuning
Required
1.0
Gain on process
-
constant
198
M I N. P OINT REC.
D ESCRIPTION
variable input 1. The gain on the set point should never be initialized to zero.
APC_002
10.4 DMC algorithm definitions
APC_002
NAME
L C A L G. R ECORD F IELD
PVB1
D8 - Real
SPTG2
M I N. P OINT REC.
R EQUIRED / O PTIONAL
D EFAULT V A L UE
Tuning constant
Optional
0.0
Bias on process variable input 1.
-
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 constant
Optional
1.0
Gain on set point 3. The gain on the set point should never be initialized to zero.
-
SPTB3
E4 - Real
Tuning constant
Optional
0.0
Bias on set point 3
-
PVG3
YC - Real
Tuning constant
Optional
1.0
Gain on process variable input 3. The gain on the set point should never be
-
PVB3
Y9 - Real
Tuning constant
Optional
0.0
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.
-
TYPE
D ESCRIPTION
initialized to zero. Bias on process variable input 3
-
199
10.4 DMC algorithm definitions
NAME
L C A L G. R ECORD F IELD
SPTB5
XY - Real
PVG5
XW - Real
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
M I N. P OINT REC.
Tuning constant
Optional
0.0
Bias on set point 5.
-
Tuning
Optional
1.0
Gain on process variable input 5. The gain on the set point should never be initialized to zero.
-
Optional
0.0
Bias on process
-
TYPE
Constant
PVB5
F4 - Real
Tuning constant
200
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.
-
TPSC1
S6 - Real
Selectable
Required
100.0
Maximum value of the output point 1.
LA
BTSC1
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
APC_002
10.4 DMC algorithm definitions
NAME ISTP1
L C A L G. R ECORD F IELD X7 Byte Bit 1
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
Data Init
Required
NO_ ACTIVE
Is active TPSC1 constrain:
M I N. P OINT REC. -
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
ISTP4
X7 Byte Bit 3
Data Init
X7 Byte Bit 4
Data Init
Optional
Optional
NO_ ACTIVE
0 - NO_ACTIVE
NO_ ACTIVE
Is active TPSC4 constrain:
-
1 - ACTIVE -
0 - NO_ACTIVE 1 - ACTIVE ISTP5
X7 Byte
Data Init
Optional
Bit 5
NO_ ACTIVE
Is active TPSC5 constrain:
-
0 - NO_ACTIVE 1 - ACTIVE ISBT1
X8 Byte Bit 1
Data Init
Required
NO_ ACTIVE
Is active BTSC1 constrain:
-
0 - NO_ACTIVE
ISBT2
X8 Byte Bit 2
Data Init
Optional
NO_ ACTIVE
1 - 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
APC_002
201
10.4 DMC algorithm definitions
NAME
L C A L G. R ECORD F IELD
DU1
S1 - Real
DU2
M I N. P OINT REC.
R EQUIRED / O PTIONAL
D EFAULT V A L UE
Tuning constant
Required
5.0
Rate of change limit in units per step (for output 1.)
-
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
-
DU4
S4 - Real
Tuning constant
Optional
5.0
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_
Is active DU1 constrain:
-
TYPE
ACTIVE
D ESCRIPTION
output 3.) Rate of change limit in units per step (for output 4.)
-
0 - NO_ACTIVE 1 - ACTIVE ISDU2
Y0 Byte Bit 2
Data Init
Optional
NO_ ACTIVE
Is active DU2 constrain:
-
0 - NO_ACTIVE 1 - ACTIVE ISDU3
Y0 Byte
Data Init
Optional
Bit 3
NO_
Is active DU3
ACTIVE
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 MQ61
T7-Real
Tuning
Optional
0.0
Weight CV6/CV1.
-
Constant MQ62
T8-Real
Tuning
Optional
0.0
Weight CV6/CV2.
-
MQ63
T9-Real
Constant Tuning
Optional
0.0
Weight CV6/CV3.
-
Constant
202
APC_002
10.5 Auxiliary DMC algorithm definitions
NAME
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
M I N. P OINT REC.
MQ64
U1-Real
Tuning
Optional
0.0
Weight CV6/CV4.
-
Optional
0.0
Weight CV6/CV5.
-
Optional
0.0
Weight CV6/CV6.
-
Constant MQ65
U2-Real
Tuning Constant
MQ66
U3-Real
Tuning Constant
STIME
XR-Integer
Data Init
Required
10000
Sample time.
-
IQUAL
X1 Byte Bit 0
Data Init
Required
NO_ ACTIVE
Ignore Set quality to Bad.
-
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.
10 .5 Auxil iary DM C algori thm de fin iti ons 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). Auxi li ary DMC algo ri thm defi ni ti on s
NAME
APC_002
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
MD11
G0 Integer
Data Init
Required
0
Size of vector coding step response model (CV1/MV1)
MD12
G1 Integer
Data Init
Optional
0
Size of vector coding step response model (CV1/MV2)
MD13
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)
203
10.5 Auxiliary DMC algorithm definitions
NAME
204
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
MD23
G7 Integer
Data Init
Optional
0
Size of vector coding step response model (CV2/MV3)
MD24
G8 Integer
Data Init
Optional
0
Size of vector coding step response model (CV2/MV4)
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)
APC_002
10.5 Auxiliary DMC algorithm definitions
NAME
APC_002
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
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)
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)
205
10.5 Auxiliary DMC algorithm definitions
NAME
206
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
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)
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
APC_002
10.5 Auxiliary DMC algorithm definitions
APC_002
NAME
L C A L G. R ECORD F IELD
MQ32
S5- Real
MQ33
R EQUIRED / O PTIONAL
D EFAULT V A L UE
Tuning constant
Optional
0.0
Weight CV3/CV2
S6- Real
Tuning constant
Optional
0.0
Weight CV3/CV3
MQ34
S7- Real
Tuning constant
Optional
0.0
Weight CV3/CV4
MQ35
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
TYPE
D ESCRIPTION
207
10.5 Auxiliary DMC algorithm definitions
Auxiliary 2 Matrix Delay (for each MV and DV) and Matrix R - matrix weight Auxi li ary DMC algo ri thm defi ni ti on s
NAME
208
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
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)
APC_002
10.5 Auxiliary DMC algorithm definitions
NAME
APC_002
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
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)
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)
209
10.5 Auxiliary DMC algorithm definitions
NAME
210
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
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
APC_002
10.5 Auxiliary DMC algorithm definitions
NAME
L C AL G. R ECORD F IELD
MR14
R4- Real
Tuning constant
Optional
0.0
Weight MV1/MV4
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 constant
Optional
0.0
Weight MV2/MV3
MR24
R9- Real
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
Optional
0.0
Weight MV3/MV4
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
constant
APC_002
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
211
10.5 Auxiliary DMC algorithm definitions
NAME
L C AL G. R ECORD F IELD
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
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
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
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 Auxi li ary DMC algo ri thm defi ni ti on s
212
NAME
L C AL G. R ECORD F IELD
R EQUIRED / O PTIONAL TYPE
1S1
G0 - Real
Data Init
Required
0.0
Step response coefficient no. 1 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S2
G1 - Real
Data Init
Optional
0.0
Step response coefficient no. 2 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
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]
D EFAULT VAL UE
D ESCRIPTION
APC_002
10.5 Auxiliary DMC algorithm definitions
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
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
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]
1S25
C4 - Real
Data Init
Optional
0.0
Step response coefficient no. 25 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
D EFAULT VAL UE
D ESCRIPTION
[CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
APC_002
213
10.5 Auxiliary DMC algorithm definitions
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
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 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S29
C8 - Real
Data Init
Optional
0.0
Step response coefficient no. 29
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 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
1S37
D6 - Real
Data Init
Optional
0.0
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]
D EFAULT VAL UE
D ESCRIPTION
[CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
214
APC_002
10.5 Auxiliary DMC algorithm definitions
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
1S45
E4 - Real
Data Init
Optional
0.0
Step response coefficient no. 45 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]
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 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S5
Y8 - Real
Data Init
Optional
0.0
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
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 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
2S13
XV - Real
Data Init
Optional
0.0
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]
D EFAULT VAL UE
D ESCRIPTION
[CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
APC_002
215
10.5 Auxiliary DMC algorithm definitions
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
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]
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
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]
D EFAULT VAL UE
D ESCRIPTION
[CV2] [1,2,3,4,5MV,1,2,3,4,5DV]
216
APC_002
10.5 Auxiliary DMC algorithm definitions
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
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]
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]
D EFAULT VAL 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 Aux20 is Aux21 is Aux22 is
for for for for
DV2/CV3 and DV2/CV4. DV3/CV3 and DV3/CV4. DV4/CV3 and DV4/CV4. DV5/CV3 and DV5/CV4.
Auxiliary 13 - 22 Influence MV and DV on third and fourth CV Auxi li ary DMC algo ri thm defi ni ti on s
NAME
L C AL 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 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S2
G1 - Real
Data Init
Optional
0.0
Step response coefficient no. 2 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
APC_002
217
10.5 Auxiliary DMC algorithm definitions
NAME
L C AL G. R ECORD F IELD
TYPE
1S3
G2 - Real
Data Init
R EQUIRED / O PTIONAL Optional
D EFAULT VA L UE 0.0
D ESCRIPTION Step response coefficient no. 3 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S4
G3 - Real
Data Init
Optional
0.0
Step response coefficient no. 4 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S5
G4 - Real
Data Init
Optional
0.0
Step response coefficient no. 5 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S6
G5 - Real
Data Init
Optional
0.0
Step response coefficient no. 6 [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]
1S9
G8 - Real
Data Init
Optional
0.0
Step response coefficient no. 9 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S10
G9 - Real
Data Init
Optional
0.0
Step response coefficient no. 10 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S11
B0 - Real
Data Init
Optional
0.0
Step response coefficient no. 11 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S12
B1 - Real
Data Init
Optional
0.0
Step response coefficient no. 12 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S13
B2 - Real
Data Init
Optional
0.0
Step response coefficient no. 13 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
218
APC_002
10.5 Auxiliary DMC algorithm definitions
NAME
L C AL G. R ECORD F IELD
TYPE
1S14
YU - Real
Data Init
R EQUIRED / O PTIONAL Optional
D EFAULT VA L UE 0.0
D ESCRIPTION Step response coefficient no. 14 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S15
B4 - Real
Data Init
Optional
0.0
Step response coefficient no. 15 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S16
B5 - Real
Data Init
Optional
0.0
Step response coefficient no. 16 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
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 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S19
B8 - Real
Data Init
Optional
0.0
Step response coefficient no. 19 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S20
B9 - Real
Data Init
Optional
0.0
Step response coefficient no. 20 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S21
C0 - Real
Data Init
Optional
0.0
Step response coefficient no. 21 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S22
C1 - Real
Data Init
Optional
0.0
Step response coefficient no. 22 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S23
C2 - Real
Data Init
Optional
0.0
Step response coefficient no. 23 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S24
C3 - Real
Data Init
Optional
0.0
Step response coefficient no. 24 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
APC_002
219
10.5 Auxiliary DMC algorithm definitions
NAME
L C AL G. R ECORD F IELD
TYPE
1S25
C4 - Real
Data Init
R EQUIRED / O PTIONAL Optional
D EFAULT VA L UE 0.0
D ESCRIPTION Step response coefficient no. 25 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S26
C5 - Real
Data Init
Optional
0.0
Step response coefficient no. 26 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S27
C6 - Real
Data Init
Optional
0.0
Step response coefficient no. 27 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S28
C7 - Real
Data Init
Optional
0.0
Step response coefficient no. 28 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
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 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S32
YQ - Real
Data Init
Optional
0.0
Step response coefficient no. 32 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S33
D2 - Real
Data Init
Optional
0.0
Step response coefficient no. 33 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S34
YP - Real
Data Init
Optional
0.0
Step response coefficient no. 34 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S35
D4 - Real
Data Init
Optional
0.0
Step response coefficient no. 35 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
220
APC_002
10.5 Auxiliary DMC algorithm definitions
NAME
L C AL G. R ECORD F IELD
TYPE
1S36
D5 - Real
Data Init
R EQUIRED / O PTIONAL Optional
D EFAULT VA L UE 0.0
D ESCRIPTION Step response coefficient no. 36 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S37
D6 - Real
Data Init
Optional
0.0
Step response coefficient no. 37 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S38
YN - Real
Data Init
Optional
0.0
Step response coefficient no. 38 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S39
D8 - Real
Data Init
Optional
0.0
Step response coefficient no. 39 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S40
D9 - Real
Data Init
Optional
0.0
Step response coefficient no. 40 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S41
YM - Real
Data Init
Optional
0.0
Step response coefficient no. 41 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S42
YL - Real
Data Init
Optional
0.0
Step response coefficient no. 42 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S43
E2 - Real
Data Init
Optional
0.0
Step response coefficient no. 43 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S44
E3 - Real
Data Init
Optional
0.0
Step response coefficient no. 44 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
1S45
E4 - Real
Data Init
Optional
0.0
Step response coefficient no. 45 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]
2S1
YC - Real
Data Init
Optional
0.0
Step response coefficient no. 1 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
APC_002
221
10.5 Auxiliary DMC algorithm definitions
NAME
L C AL G. R ECORD F IELD
TYPE
2S2
Y9 - Real
Data Init
R EQUIRED / O PTIONAL Optional
D EFAULT VA L UE 0.0
D ESCRIPTION Step response coefficient no. 2 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S3
E7 - Real
Data Init
Optional
0.0
Step response coefficient no. 3 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S4
E8 - Real
Data Init
Optional
0.0
Step response coefficient no. 4 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S5
Y8 - Real
Data Init
Optional
0.0
Step response coefficient no. 5 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S6
Y7 - Real
Data Init
Optional
0.0
Step response coefficient no. 6 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S7
Y6 - Real
Data Init
Optional
0.0
Step response coefficient no. 7 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S8
XY - Real
Data Init
Optional
0.0
Step response coefficient no. 8 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S9
XW - Real
Data Init
Optional
0.0
Step response coefficient no. 9 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S10
F4 - Real
Data Init
Optional
0.0
Step response coefficient no. 10 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S11
F5 - Real
Data Init
Optional
0.0
Step response coefficient no. 11 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S12
F6 - Real
Data Init
Optional
0.0
Step response coefficient no. 12 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
222
APC_002
10.5 Auxiliary DMC algorithm definitions
NAME
L C AL G. R ECORD F IELD
TYPE
2S13
XV - Real
Data Init
R EQUIRED / O PTIONAL Optional
D EFAULT VA L UE 0.0
D ESCRIPTION Step response coefficient no. 13 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S14
XU - Real
Data Init
Optional
0.0
Step response coefficient no. 14 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S15
XR - Real
Data Init
Optional
0.0
Step response coefficient no. 15 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S16
R1 - Real
Data Init
Optional
0.0
Step response coefficient no. 16 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S17
R2 - Real
Data Init
Optional
0.0
Step response coefficient no. 17 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S18
R3 - Real
Data Init
Optional
0.0
Step response coefficient no. 18 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S19
R4 - Real
Data Init
Optional
0.0
Step response coefficient no. 19 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S20
R5 - Real
Data Init
Optional
0.0
Step response coefficient no. 20 [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 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S23
R8 - Real
Data Init
Optional
0.0
Step response coefficient no. 23 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
APC_002
223
10.5 Auxiliary DMC algorithm definitions
NAME
L C AL G. R ECORD F IELD
TYPE
2S24
R9 - Real
Data Init
R EQUIRED / O PTIONAL Optional
D EFAULT VA L UE 0.0
D ESCRIPTION Step response coefficient no. 24 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S25
S1 - Real
Data Init
Optional
0.0
Step response coefficient no. 25 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S26
S2 - Real
Data Init
Optional
0.0
Step response coefficient no. 26 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S27
S3 - Real
Data Init
Optional
0.0
Step response coefficient no. 27 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S28
S4 - Real
Data Init
Optional
0.0
Step response coefficient no. 28 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S29
S5 - Real
Data Init
Optional
0.0
Step response coefficient no. 29 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S30
S6 - Real
Data Init
Optional
0.0
Step response coefficient no. 30 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S31
2S32
S7 - Real
S8 - Real
Data Init
Optional
0.0
Step response coefficient no. 31 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
Data Init
Optional
0.0
Step response coefficient no. 32 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S33
S9 - Real
Data Init
Optional
0.0
Step response coefficient no. 33 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S34
T1 - Real
Data Init
Optional
0.0
Step response coefficient no. 34 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
224
APC_002
10.5 Auxiliary DMC algorithm definitions
NAME
L C AL G. R ECORD F IELD
TYPE
2S35
T2 - Real
Data Init
R EQUIRED / O PTIONAL Optional
D EFAULT VA L UE 0.0
D ESCRIPTION Step response coefficient no. 35 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S36
T3 - Real
Data Init
Optional
0.0
Step response coefficient no. 36 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S37
T4 - Real
Data Init
Optional
0.0
Step response coefficient no. 37 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S38
T5 - Real
Data Init
Optional
0.0
Step response coefficient no. 38 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S39
T6 - Real
Data Init
Optional
0.0
Step response coefficient no. 39 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S40
T7 - Real
Data Init
Optional
0.0
Step response coefficient no. 40 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S41
T8 - Real
Data Init
Optional
0.0
Step response coefficient no. 41 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S42
T9 - Real
Data Init
Optional
0.0
Step response coefficient no. 42 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S43
U1 - Real
Data Init
Optional
0.0
Step response coefficient no. 43 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S44
U2 - Real
Data Init
Optional
0.0
Step response coefficient no. 44 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
2S45
U3 - Real
Data Init
Optional
0.0
Step response coefficient no. 45 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]
APC_002
225
10.5 Auxiliary DMC algorithm definitions
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 Auxi li ary DMC algo ri thm defi ni ti on s
NAME
L C ALG. R ECORD F IELD
TYPE
1S1
G0 - Real
Data Init
R EQUIRED / O PTIONAL Optional
D EFAULT V A L UE 0.0
D ESCRIPTION Step response coefficient no. 1 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S2
G1 - Real
Data Init
Optional
0.0
Step response coefficient no. 2 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S3
G2 - Real
Data Init
Optional
0.0
Step response coefficient no. 3 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S4
G3 - Real
Data Init
Optional
0.0
Step response coefficient no. 4 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S5
G4 - Real
Data Init
Optional
0.0
Step response coefficient no. 5 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S6
G5 - Real
Data Init
Optional
0.0
Step response coefficient no. 6 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S7
G6 - Real
Data Init
Optional
0.0
Step response coefficient no. 7 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
226
APC_002
10.5 Auxiliary DMC algorithm definitions
NAME
L C ALG. R ECORD F IELD
TYPE
1S8
G7 - Real
Data Init
R EQUIRED / O PTIONAL Optional
D EFAULT V A L UE 0.0
D ESCRIPTION Step response coefficient no. 8 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S9
G8 - Real
Data Init
Optional
0.0
Step response coefficient no. 9 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S10
G9 - Real
Data Init
Optional
0.0
Step response coefficient no. 10 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S11
B0 - Real
Data Init
Optional
0.0
Step response coefficient no. 11 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S12
B1 - Real
Data Init
Optional
0.0
Step response coefficient no. 12 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S13
B2 - Real
Data Init
Optional
0.0
Step response coefficient no. 13 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S14
YU - Real
Data Init
Optional
0.0
Step response coefficient no. 14 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S15
B4 - Real
Data Init
Optional
0.0
Step response coefficient no. 15 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S16
B5 - Real
Data Init
Optional
0.0
Step response coefficient no. 16 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S17
B6 - Real
Data Init
Optional
0.0
Step response coefficient no. 17 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S18
B7 - Real
Data Init
Optional
0.0
Step response coefficient no. 18 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
APC_002
227
10.5 Auxiliary DMC algorithm definitions
NAME
L C ALG. R ECORD F IELD
TYPE
1S19
B8 - Real
Data Init
R EQUIRED / O PTIONAL Optional
D EFAULT V A L UE 0.0
D ESCRIPTION Step response coefficient no. 19 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S20
B9 - Real
Data Init
Optional
0.0
Step response coefficient no. 20 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S21
C0 - Real
Data Init
Optional
0.0
Step response coefficient no. 21 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S22
C1 - Real
Data Init
Optional
0.0
Step response coefficient no. 22 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S23
C2 - Real
Data Init
Optional
0.0
Step response coefficient no. 23 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S24
C3 - Real
Data Init
Optional
0.0
Step response coefficient no. 24 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S25
C4 - Real
Data Init
Optional
0.0
Step response coefficient no. 25 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S26
C5 - Real
Data Init
Optional
0.0
Step response coefficient no. 26 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S27
C6 - Real
Data Init
Optional
0.0
Step response coefficient no. 27 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S28
C7 - Real
Data Init
Optional
0.0
Step response coefficient no. 28 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S29
228
C8 - Real
Data Init
Optional
0.0
Step response coefficient no. 29 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
APC_002
10.5 Auxiliary DMC algorithm definitions
NAME
L C ALG. R ECORD F IELD
TYPE
1S30
YT - Real
Data Init
R EQUIRED / O PTIONAL Optional
D EFAULT V A L UE 0.0
D ESCRIPTION Step response coefficient no. 30 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S31
D0 - Real
Data Init
Optional
0.0
Step response coefficient no. 31 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S32
YQ - Real
Data Init
Optional
0.0
Step response coefficient no. 32 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S33
D2 - Real
Data Init
Optional
0.0
Step response coefficient no. 33 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S34
YP - Real
Data Init
Optional
0.0
Step response coefficient no. 34 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S35
D4 - Real
Data Init
Optional
0.0
Step response coefficient no. 35 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S36
D5 - Real
Data Init
Optional
0.0
Step response coefficient no. 36 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S37
D6 - Real
Data Init
Optional
0.0
Step response coefficient no. 37 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S38
YN - Real
Data Init
Optional
0.0
Step response coefficient no. 38 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S39
D8 - Real
Data Init
Optional
0.0
Step response coefficient no. 39 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S40
D9 - Real
Data Init
Optional
0.0
Step response coefficient no. 40 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
APC_002
229
10.5 Auxiliary DMC algorithm definitions
NAME
L C ALG. R ECORD F IELD
TYPE
1S41
YM - Real
Data Init
R EQUIRED / O PTIONAL Optional
D EFAULT V A L UE 0.0
D ESCRIPTION Step response coefficient no. 41 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S42
YL - Real
Data Init
Optional
0.0
Step response coefficient no. 42 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S43
E2 - Real
Data Init
Optional
0.0
Step response coefficient no. 43 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S44
E3 - Real
Data Init
Optional
0.0
Step response coefficient no. 44 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
1S45
E4 - Real
Data Init
Optional
0.0
Step response coefficient no. 45 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]
2S1
YC - Real
Data Init
Optional
0.0
Step response coefficient no. 1 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S2
Y9 - Real
Data Init
Optional
0.0
Step response coefficient no. 2 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S3
E7 - Real
Data Init
Optional
0.0
Step response coefficient no. 3 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S4
E8 - Real
Data Init
Optional
0.0
Step response coefficient no. 4 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S5
Y8 - Real
Data Init
Optional
0.0
Step response coefficient no. 5 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S6
Y7 - Real
Data Init
Optional
0.0
Step response coefficient no. 6 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
230
APC_002
10.5 Auxiliary DMC algorithm definitions
NAME
L C ALG. R ECORD F IELD
TYPE
2S7
Y6 - Real
Data Init
R EQUIRED / O PTIONAL Optional
D EFAULT V A L UE 0.0
D ESCRIPTION Step response coefficient no. 7 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S8
XY - Real
Data Init
Optional
0.0
Step response coefficient no. 8 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S9
XW - Real
Data Init
Optional
0.0
Step response coefficient no. 9 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S10
F4 - Real
Data Init
Optional
0.0
Step response coefficient no. 10 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S11
F5 - Real
Data Init
Optional
0.0
Step response coefficient no. 11 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
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 [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 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S16
R1 - Real
Data Init
Optional
0.0
Step response coefficient no. 16 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S17
R2 - Real
Data Init
Optional
0.0
Step response coefficient no. 17 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
APC_002
231
10.5 Auxiliary DMC algorithm definitions
NAME
L C ALG. R ECORD F IELD
TYPE
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
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
[CV6] [1,2,3,4,5MV,1,2,3,4,5DV] 2S20
R5 - Real
Data Init
Optional
0.0
Step response coefficient no. 20 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S21
R6 - Real
Data Init
Optional
0.0
Step response coefficient no. 21 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S22
R7 - Real
Data Init
Optional
0.0
Step response coefficient no. 22 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S23
R8 - Real
Data Init
Optional
0.0
Step response coefficient no. 23 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S24
R9 - Real
Data Init
Optional
0.0
Step response coefficient no. 24 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S25
S1 - Real
Data Init
Optional
0.0
Step response coefficient no. 25 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S26
S2 - Real
Data Init
Optional
0.0
Step response coefficient no. 26 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S27
S3 - Real
Data Init
Optional
0.0
Step response coefficient no. 27 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S28
S4 - Real
Data Init
Optional
0.0
Step response coefficient no. 28 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
232
APC_002
10.5 Auxiliary DMC algorithm definitions
NAME
L C ALG. R ECORD F IELD
TYPE
2S29
S5 - Real
Data Init
R EQUIRED / O PTIONAL Optional
D EFAULT V A L UE 0.0
D ESCRIPTION Step response coefficient no. 29 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S30
S6 - Real
Data Init
Optional
0.0
Step response coefficient no. 30 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S31
2S32
S7 - Real
S8 - Real
Data Init
Optional
0.0
Step response coefficient no. 31 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
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 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S34
T1 - Real
Data Init
Optional
0.0
Step response coefficient no. 34 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S35
T2 - Real
Data Init
Optional
0.0
Step response coefficient no. 35 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S36
T3 - Real
Data Init
Optional
0.0
Step response coefficient no. 36 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S37
T4 - Real
Data Init
Optional
0.0
Step response coefficient no. 37 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S38
T5 - Real
Data Init
Optional
0.0
Step response coefficient no. 38 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S39
T6 - Real
Data Init
Optional
0.0
Step response coefficient no. 39 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
APC_002
233
10.6 DMC algorithm status of optimization (STAT) output
NAME
L C ALG. R ECORD F IELD
TYPE
2S40
T7 - Real
Data Init
R EQUIRED / O PTIONAL
D EFAULT V A L UE
Optional
0.0
D ESCRIPTION Step response coefficient no. 40 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S41
T8 - Real
Data Init
Optional
0.0
Step response coefficient no. 41 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S42
T9 - Real
Data Init
Optional
0.0
Step response coefficient no. 42 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S43
U1 - Real
Data Init
Optional
0.0
Step response coefficient no. 43 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S44
U2 - Real
Data Init
Optional
0.0
Step response coefficient no. 44 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
2S45
U3 - Real
Data Init
Optional
0.0
Step response coefficient no. 45 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]
10 .6 DM C algorit hm status of optim
ization ( ST AT) 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 in formation MV
234
NUMBER
MIN
MAX
MAX
MV1
0
1
2
MV2
3
4
5
MV3
6
7
8
MV4
9
10
11
MV5
12
13
14
APC_002
10.7 DMC algorithm tracking signals
10 .7 DM C algorit hm tracking signals 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: B IT
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
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.
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.
APC_002
235
10.8 DMC algorithm cascaded mode and conditional tracking
10 .8 DM C algorit hm cascade d mode and conditi
onal tracking
The DMC Controller offers an option of working in a cascade (the upper module only) mode. Consider the situation where four values are controlled using only two manipulated signals and three disturbance signals.
Figure 65 : DMC algorithm cascaded mode and cond itional tracking
236
APC_002
10.8 DMC algorithm cascaded mode and conditional tracking
Conditional tracking is a scheme which 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 “B1” and Controller “B2” above) operates in cascaded mode. The purpose of cascaded mode is to allow two algorithms to be used in a cascaded configuration where the output of one algorithm (DMC) is the set point for another (PID). When you want to arrange two 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, it operates as a conventional PID Controller so long as 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: 1.
The downstream Controller (Controller “B” above) 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 that if applied as a set point input, yields a Controller error of zero.
2.
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.
3.
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.
4.
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.
5.
Only the PID algorithm configured to be in cascaded mode asserts the conditional track bit. The upstream Controller (Controller “A” above) does not pass the conditional track bit in its track output.
APC_002
237
10.8 DMC algorithm cascaded mode and conditional tracking
10.8.1 DMC multi-variable control example 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--you can hear the toilet flush or the washing machine start filling.
Figure 66: Commo n MIMO example
238
APC_002
10.8 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 if 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
239
10.8 DMC algorithm cascaded mode and conditional tracking
Figure 67 : Simplified con trol m atrix diagram
240
APC_002
10.8 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 affect 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 requires thorough testing, since the quality and accuracy of the control matrix is directly related to final system performance.
APC_002
241
10.8 DMC algorithm cascaded mode and conditional tracking
10.8 .2 Using DM C cont rol in a pow er 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 68: DMC control in power plant--Example 1 This classic structure can be replaced by the DMC Controller as illustrated in the following figure.
Figure 69: DMC control in power plant--Example 2
242
APC_002
10.8 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 70: DMC control in power plant--Example 3
APC_002
243
10.8 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 71: 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:
244
Fuel Steam flow
Temperature before spray I and spray II
Oil
APC_002
10.9 Accessing the tuning window for the DMC algorithm in signal diagrams
10 .9 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 23).
10. 9.1 DMC Trajecto ries 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 72: DMC Trajectories t ab The Plot Selections area lists the input and output signals and provides connection status. The Tuning Parameters tab stores the tuning parameters.
APC_002
245
10.9 Accessing the tuning window for the DMC algorithm in signal diagrams
10. 9.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 73: DMC T uni ng Parameters t ab
246
APC_002
S
ECTION
11
Using t he Prog rammable Block (PBLO CK) algori thm
IN THIS SECTION What is the PBLOCK algorithm?..................................................................................... 247 Who can use PBLOCK algorithm?............................................................................ 247 How does thethe PBLOCK programming language differ from standard C?.......................248 PBLOCK supported functions ......................................................................................... 249 PBLOCK program source code structure........................................................................ 251 PBLOCK array handling .................................................................................................. 252 To define input/output pins for the symbol ...................................................................... 257 Writing to output points.................................................................................................... 258 PBLOCK wait() or sleep() functionality............................................................................ 259 To create a PBLOCK algorithm....................................................................................... 260
11 .1 Wha t is the PBLOC K a lgor ithm ? 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 algorit
hm?
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
247
11.3 How does the PBLOCK programming language differ from standard C?
11 .3 How doe s the PBLOC K programmi standard C?
ng language
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 rays, 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 252).
No STDLIB fun ctions 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.
248
APC_002
11.4 PBLOCK supported functions
11 .4 PBLOC K supp ort ed 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 t an ( 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 ur al 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. 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 nt ii nt
APC_002
ll cW r i t e (( ch ar ** ppChSt ChSt rr ii ng, voii d cRead char ng, ii nt nt ff ii el el dType, dType, vo d ** pLCf pLCf ii el el dDat dDat aa )) ;;
249
11.4 PBLOCK supported functions
Here is an example of reading the XR field of the algorithm: i nt xrFi el dVal ; l cRead ( ‘ XR”, PB_LONG_TYPE, &xr Fi 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 * pPtRe cord) ; voi d ReadOutput ( i nt pi nNum, Poi nt Dynami cVal * pPt Recor d) ; voi d Wr i t eOut put ( i nt pi nNum, Poi ntDynami cVal * pPt Recor d) ;
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 get El 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.
250
APC_002
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 249).)
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 ared 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 pr ocessi ng on t he f i r st execut i on of / * t he al gori t hm upon power up.
*/ */
i f ( f i rstP ass Fl ag() ) { / / I ni ti al i ze l ocal (ex tern ) vari abl es } / / Al gor i t hm Code r et ur n 0; } ############################################################
APC_002
251
11.6 PBLOCK array handling
11. 6 PBLOCK array hand li ng 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 up 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.
252
APC_002
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:
APC_002
“PBMedIArray.h.” “PBMedFArray.h.” “PBMedDArray.h.” “PBLargeIArray.h.” “PBLargeFArray.h.” “PBLargeDArray.h.”
253
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 Ar r 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; Large I 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 Set MedI 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 Set MedFAr 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 Set MedDAr 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
254
APC_002
11.6 PBLOCK array handling / / Loop t hr u and sumal 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); Set Smal l FAr r ayVal ( 0, f sum, &sf a);
/ / St or e 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) ; Set MedI 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) ;
APC_002
255
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; } #######################################################
256
APC_002
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 which 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 @NAME: HAAD
@RT: LA @ RT: LA
@DESC:" " @DESC:" "
*/ */
There are five fields that need to be defined:
@INPUT/ @OUTPUT specifies what 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.
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); 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)
APC_002
257
11.8 Writing to output points
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. Analo g r eco rd mas ks (for LA and DA p oi nt rec or ds ) P OINT R ECORD
D ESCRIPTION
.firstStatus = _QUALITY_
Only the quality in the 1W field can be modified.
.secondStatus = 0xFFFF0000
"Reason" bits in the 2W field may be modified. These bits indicate conditions that are affecting the point record.
.thirdStatus = 0xFFFF0000
Tracking conditions may be indicated in bits 16 through 31 of the 3W field.
.value = 1
The algorithm may modify the value or AV field of the record.
Digital record masks (for
LD and DD point records)
P OINT R ECORD
D ESCRIPTION
.firstStatus = _QUALITY_+1
Only the quality in the 1W field and the digital value can be modified.
.secondStatus = 0
The 2W field cannot be modified.
.thirdStatus = 0
The 3W field cannot be modified.
Packed digi tal record masks (for LP and DP point records)
258
P OINT R ECORD
D ESCRIPTION
.firstStatus = 0
The 1W field cannot be modified.
.secondStatus = 0
The 2W field cannot be modified.
.thirdStatus = 0
The 3W field cannot be modified.
valueBits = 0x0000FFFF
The value bits in the A2 field can be modified.
invalidBits = 0x0000FFFF
The quality bits in the A3 field can be modified.
APC_002
11.9 PBLOCK wait() or sleep() functionality
11 .9 PBLOC K wait()
or sleep()
func tion ality
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
al gor i t hm ( sheet ) execut i ons
// ext ern 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 pr ocessi ng on t he f i r st execut i on of / * t he al gori 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
259
11.10 To create a PBLOCK algorithm / / 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; }
11. 10 To c reate a PBLOCK alg 1.
260
ori thm
Start the PBlock Editor/Compiler by typing pblockfrom any command prompt. Press .
APC_002
11.10 To create a PBLOCK algorithm
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.
Select File > New to create a new algorithm, or File > Open to edit a previously created one.
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.
APC_002
After a successful compilation, the Results window turns green and tells 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 successful, but there were warnings, the Results window turns yellow and displays theiswarning(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 268) for a description of the error(s).
261
11.10 To create a PBLOCK algorithm
6.
If there were no errors, press Create Template button.
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) , 34 char s) *
@I NPUT
@PI N: 0
r t ( one of LA, DA, LD, DD, LP, DP) , desc ( i n quot es, max @NAME: HAAA
@RT: LA
@DESC:" "
*/
@RT: LA
@DESC:" "
*/
Template header with expert mode on:
/*
11.10.1 1. 2.
@I NPUT
@PI N: 0
@NAME: HAAB
To create a cust om algorith m symb ol Access the Control Builder (see page 16). 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 rith m Symb ol .
262
APC_002
11.10 To create a PBLOCK algorithm
The New Algorithm dialog box appears.
Figure 74 : New Algorithm wi ndow 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 Add Cont ro l 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, and so forth) 6.
When the symbol is complete, pull down the File menu and select Save. A Browse For Folder dialog box appears.
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
8.
APC_002
as the Network or System level. In this way, these symbols can be shared by many units. 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.
263
11.10 To create a PBLOCK algorithm
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.
264
APC_002
11.10 To create a PBLOCK algorithm
11.1 0. 2
Sa mple 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 are 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 / * t he use of cont i 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 atus & _1W_PREV_DI GI TAL_VALUE) i nt cal cTestVa l ( 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 est Val ; Poi nt Dynami cVal t est Fl ag;
APC_002
265
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"
@RT: LD
@ DESC: " Mai n Breaker "
*/
ReadI nput ( 1, &st eamP) ; /*
@I NPUT
@PI N: 2
@NAME: MBRK
*/
ReadI nput( 2, &mai nBr eaker ) ; / * etc. */
/ * Get l ast val ue of out put poi nt . */ / * @OUTPUT @PI N: 1 @NAME: AVGS @RT: LA
@DESC:" Average St eam"
*/
ReadOut put ( 1, &averageSt eam) ; /*
@OUTPUT
@PI N: 4
@NAME: TFLG
@RT: LD
@DESC: " Test Fl ag"
*/
ReadOut put ( 4, &t estFl 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 ogr am. */ 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 se t t o cos( b) as l ong as ' mai nBr eaker ' */ / * i s not changi ng st at e. Qual i t y i s not mani pul at ed. */ I f ai st change s det.ect ed, ' st eamPl us' i s set t o 1800. 0 and // ** qual ty ati se set to 'iPoor' / * 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 .
*/ */ */ */
i f ( ( mai nBr eaker. t ype. di gi t al . f i r st St atus & _1W_DI GI TAL_VALUE) ==
266
APC_002
11.10 To create a PBLOCK algorithm ( 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 est Fl ag. t ype. di gi t al . f i r st St at us &= ( _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 cTestVa l ( Poi nt Dynami cVal *pTest Fl ag, Poi nt Dynami cVal *pTest Val ) { i f ( pTest Val - >t ype. anal og. val ue >= 120. 0 )
APC_002
267
11.10 To create a PBLOCK algorithm 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 ) ret ur n ( 1 ) ;
/ * cont i nue t o i ncrea se */
el se ret 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 ) ret ur n ( 1 ) ;
/ * swi t ch t o i ncrea si ng */
el se r et ur n ( 0 ) ;
/ * cont i nue t o decrea se */
} }
268
APC_002
11.10 To create a PBLOCK algorithm
11.1 0. 3
PBLOC K algorith m 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
APC_002
VAL UE
D ESCRIPTION
INVALID_PIN_ACCESS
1
The program pin, has or attempted to readtoan unused or undefined has attempted write to an unused or undefined pin, or to write to the pin from an uninitialized point record.
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. This error would normally 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
DIVIDE_BY_ZERO
6
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.
address. The denominator of all divide instructions is tested before the instruction is executed.
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.
269
11.10 To create a PBLOCK algorithm
E RROR C O D E
VAL 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, so 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
270
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.
APC_002
S
ECTION
12
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? .....................272 NNMLP algorithm functional symbol ............................................................................... 273 NNMLP algorithm functionality details............................................................................. 274 Accessing advanced editing for the NNMLP algorithm in the Control Builder ................276 NNMLP algorithm tracking signals .................................................................................. 281 NNMLP algorithm input/output pins................................................................................. 282 NNMLP main algorithm definitions.................................................................................. 282 Accessing the tuning window for the NNMLP algorithm in signal diagrams ...................291
APC_002
271
12.1 What is the Neural Network Multi-Layer Perceptron (NNMLP) algorithm?
12. 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 (X5). If the X5 field is set to zero (0), the quality of the outputs is always GOOD. If the X5 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 field (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 bits in the X6 field is set to one (1), the movement of the corresponding outputs are limited by the rate of change limit.
272
APC_002
12.2 NNMLP algorithm functional symbol
12 .2 NN MLP algorit hm func tion al symb ol
Figure 75 : Neura l Network algorithm fun ctional symb ol
APC_002
273
12.3 NNMLP algorithm functionality details
12 .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 quality BAD. 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:
274
APC_002
12.3 NNMLP algorithm functionality details
Figure 76: Neural Network diagram
APC_002
275
12.4 Accessing advanced editing for the NNMLP algorithm in the Control Builder
The output value of each neuron is defined as:
12 .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 19). 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.
276
APC_002
12.4 Accessing advanced editing for the NNMLP algorithm in the Control Builder
12.4 .1 NN MLP algorithm
Input/Output
Configu ration 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 77: NN MLP algorithm - Input/O utput Configuration tab
APC_002
277
12.4 Accessing advanced editing for the NNMLP algorithm in the Control Builder
NNMLP algorithm input/outpu t 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.
278
APC_002
12.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 as 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 hidden layer NNHL1 (byte field X2). This control 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 hidden layer NNHL2 (byte field X3). This control should be read-only.
2nd hidden layer function
Used to display activation function for 2 hidden layer. For now only hyperbolic tangent function “tanh” is available. This control should 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.
st
nd
nd
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.
279
12.4 Accessing advanced editing for the NNMLP algorithm in the Control Builder
12. 4.2 NNM LP algor ith m Neural Netwo
rk t ab
The Neural Network tab is used to import models and view the algorithm parameters.
Figure 78: NN MLP algo rith m - Neural Network tab
280
APC_002
12.5 NNMLP algorithm tracking signals
12.4 .3 NN MLP algorithm
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 79: NNMLP algorithm - Structure of Neurons tab
12 .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 algor it hm
APC_002
B IT
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
281
12.6 NNMLP algorithm input/output pins
B IT
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.
12 .6 NN MLP algorit hm input/outp
ut 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
12 .7 NN MLP main a lgor ithm definit
ions
Note: Algorithm record type = LC
282
APC_002
12.7 NNMLP main algorithm definitions
NNMLP ma in algorith m definitio ns
NAME
AL 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 V A L UE
D ESCRIPTION
MI 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
LC
-
Required
-
Auxiliary LC record
-
AUX14
LC
-
Required
-
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
-
ISIMP
X5 – Byte
Data Init.
Required
0
Is neural network imported
-
Bit 0
0 – no 1 – yes
APC_002
283
12.7 NNMLP main algorithm definitions
NAME
AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
ISVLD
X5 – Byte
Data Init.
Required
D EFAULT V A L UE 0
Bit 1
D ESCRIPTION Is neural network valid
MI N. P OINT REC. -
0 – no 1 – yes QUAL
X6 – Byte
Data Init.
Required
0
Bit 0
Quality setting mode
-
0 – worst of all inputs 1 – always GOOD TRKL1
X7 – Byte Bit 0
Tuning Constant
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 to change rate limit ISTP1
Y0 – Byte
Tuning
Bit 0
Constant
Required
0
Is TPSC1 limit
-
active 0 – not active 1 – active
ISTP2
Y0 – Byte Bit 1
Tuning Constant
Optional
0
Is TPSC2 limit active
-
0 – not active 1 – active ISTP3
Y0 – Byte Bit 2
Tuning Constant
Optional
0
Is TPSC3 limit active
-
0 – not active 1 – active ISBT1
Y1 – Byte Bit 0
Tuning Constant
Required
0
Is BTSC1 limit active
-
0 – not active 1 – active ISBT2
Y1 – Byte Bit 1
284
Tuning Constant
Optional
0
Is BTSC2 limit active
-
0 – not active 1 – active
APC_002
12.7 NNMLP main algorithm definitions
NAME
AL G. R ECORD F IELD
ISBT3
Y1 – Byte Bit 2
TYPE Tuning Constant
R EQUIRED / O PTIONAL Optional
D EFAULT V A L UE 0
D ESCRIPTION Is BTSC3 limit active
MI N. P OINT REC. -
0 – not active 1 – active ISCR1
Y2 – Byte Bit 0
Tuning Constant
Required
0
Is CRSC1 limit active
-
0 – not active 1 – active ISCR2
Y2 – Byte Bit 1
Tuning Constant
Optional
0
Is CRSC2 limit active
-
0 – not active 1 – active ISCR3
Y2 – Byte Bit 2
Tuning Constant
Optional
0
Is CRSC3 limit active
-
0 – not active 1 – active
APC_002
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 –
Tuning
Required
0
Delay of input 01
-
DEL02
Integer G1 – Integer
Constant 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
-
285
12.7 NNMLP main algorithm definitions
AL G. R ECORD F IELD
TYPE
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
-
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
-
NAME
286
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
MI N. P OINT REC.
APC_002
12.7 NNMLP main algorithm definitions
NAME
APC_002
AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE 0
D ESCRIPTION SID of CRSC3
MI N. P OINT REC.
CR3S
YP – Integer
Data Init.
Required
-
IN1
-
Variable
Required
-
Input 1 (analog)
LA
IN2
-
Variable
Optional
-
Input 2 (analog)
LA
IN3
-
Variable
Optional
-
Input 3 (analog)
LA
IN4
-
Variable
Optional
-
Input 4 (analog)
LA
IN5 IN6
-
Variable Variable
Optional Optional
-
Input 5 (analog) Input 6 (analog)
LA 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
287
12.7 NNMLP main algorithm definitions
NAME
AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
CRSC1
R3 – Real
Selectable
Required
1.0
TPSC2
R4 – Real
Selectable
Optional
BTSC2
R5 – Real
Selectable
CRSC2
R6 – Real
TPSC3
D ESCRIPTION
MI N. P OINT REC.
Rate of Change limit for OUT1 (analog)
LA
100.0
High limit for OUT2 (analog)
LA
Optional
0.0
Low limit for OUT2 (analog)
LA
Selectable
Optional
1.0
Rate of Change limit for OUT2 (analog)
LA
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
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 integers fields are used.
12.7.1 NNMLP auxiliary definitions Note: Algorithm record type = LC NNMLP auxiliary d efinit ions 1 – 21
288
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
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
-
D EFAULT VA L UE
D ESCRIPTION
M I N. P OINT R ECORD
APC_002
12.7 NNMLP main algorithm definitions
APC_002
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
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
-
W14
YU – Real
Data Init.
Required
0.0
NN weight 14
-
W15
B4 – Real
Data Init.
Required
0.0
NN weight 15
-
W16
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 W29
C7 – Real C8 – Real
Data Init. Data Init.
Required Required
0.0 0.0
NN weight 28 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 W42
YM –Real YL – Real
Data Init. Data Init.
Required Required
0.0 0.0
NN weight 41 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
-
D EFAULT VA L UE
D ESCRIPTION
M I N. P OINT R ECORD
289
12.7 NNMLP main algorithm definitions
290
NAME
L C AL G. R ECORD F IELD
W45
E4 – Real
Data Init.
Required
0.0
NN weight 45
-
W46
YC – Real
Data Init.
Required
0.0
NN weight 46
-
W47
Y9 – Real
Data Init.
Required
0.0
NN weight 47
-
W48
E7 – Real
Data Init.
Required
0.0
NN weight 48
-
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 W65
R4 – Real R5 – Real
Data Init. Data Init.
Required Required
0.0 0.0
NN weight 64 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 W78
S8 – Real S9 – Real
Data Init. Data Init.
Required Required
0.0 0.0
NN weight 77 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
-
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
M I N. P OINT R ECORD
APC_002
12.8 Accessing the tuning window for the NNMLP algorithm in signal diagrams
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
W81
T3 – Real
Data Init.
Required
0.0
NN weight 81
-
W82
T4 – Real
Data Init.
Required
0.0
NN weight 82
-
W83
T5 – Real
Data Init.
Required
0.0
NN weight 83
-
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
-
12 .8 Accessin g the tuni ng windo w for the diagrams
D EFAULT VA 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 23).
Figure 80: NNMLP algorithm - Signal Diagram Tuning window
APC_002
291
S
ECTION
13
Using th e Ovation Se quence C oor din ator algori thm package
IN THIS SECTION What is the Ovation Sequence Coordinator algorithm package? ...................................293 What is the SCTask algorithm?....................................................................................... 296 What is the SCStep algorithm? ....................................................................................... 318 What is the SCAction algorithm?..................................................................................... 337
13 .1 Wha t is the O vation Seque
nce C oord inator algori
thm package?
The Ovation Sequence Coordinator algorithm package contains a set of three interacting algorithms:
SCTask (see page 296) -- entry point for the sequential control function to be performed and directs all subsequent steps to execute.
SCStep (see page 318) -- defines a single step to complete a portion of a task.
SCAction (see page 337) -- defines a single action which 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 and function that needs be performed. You complete the task by by defining individual actions controlling thosetoactions via steps.
APC_002
293
13.1 What is the Ovation Sequence Coordinator algorithm package?
13.1.1 Rules for
using the Ovation
Sequence Coordinator
algorithm
package
Use the following rules when using the Ovation Sequence Coordinator algorithm package.
Use the SCTask algorithm as the top-level control function to be performed. SCTask only communicates to SCSteps.
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 algorithms communicate to SCTask and SCAction algorithms.
Up to 50 SCStep algorithms can be connected to one SCTask for any given sequence mode.
Each SCStep 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.
Each SCStep can be connected to four other SCSteps.
One SCStep can communicate with multiple SCActions.
A single SCStep 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.
294
APC_002
13.1 What is the Ovation Sequence Coordinator algorithm package?
13.1.2 Visual interpretation
of Ovation
Sequence Coordin
ator algori
thms
The following figure shows a visual interpretation of the Ovation Sequence Coordinator algorithms and how they work together.
Figure 81 : Sequence Coordinator algorithm
APC_002
s
295
13.2 What is the SCTask algorithm?
13 .2 Wha t is the S CT ask a lgo rith m? 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.
13. 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.
13.2.2 Historic al in form 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.
296
APC_002
13.2 What is the SCTask algorithm?
13. 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 Sequence 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, 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, the current step 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
297
13.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. Abor 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, theconditional Abort Handler step willHandler execute.step Once Abortand Handler Step is will finished, the transition of the Abort willthe beinitial evaluated the SCTask 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 Auto 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.
13. 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 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.
13. 2.5 Error st atus 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.
298
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
13.2 What is the SCTask algorithm?
13.2 .6 SC Task Advanced
Appli cation Studio
Advan ced Prev iew You can preview the existing step configuration while in the Control Builder by selecting the Preview button from the SCTask Advanced Application S tudio. The Preview window shows the flow path of the algorithms from start to finish. Advan ced Onl in 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 via 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.
13.2 .7 SCTa sk func tional sym bol
APC_002
299
13.2 What is the SCTask algorithm?
13.2 .8 SCTa sk algorithm
definiti ons
Note: Algorithm record type = LC SCTask algorit hm d efinitions NAME
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
AUX1
C3
Auxiliary
Required
AUX2
C4
Auxiliary
AUX3
C5
AUX4 AUX5
D EFAULT V A L UE
D ESCRIPTION
MIN. P OINT REC.
-
SCTask Auxiliary Record
LC
Required
-
SCTask Auxiliary Record
LC
Auxiliary
Required
-
SCTask Auxiliary Record
LC
C6
Auxiliary
Required
-
SCTask Auxiliary Record
LC
C7
Auxiliary
Required
-
SCTask Auxiliary Record
LC
Variable
Optional
-
When TRUE, current SCTask is enabled.
LD, LP
Inputs:
READY
-
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
* CN – Bit 13
Variable
Optional
-
Manual Mode – User controls 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
G6 - Bit 0 – Unhold
300
APC_002
13.2 What is the SCTask algorithm?
NAME
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.
MSTEP
* G3 – Bit 0
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
OVRD
* G2 – Bit 0
Variable
Optional
-
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
Outputs:
APC_002
301
13.2 What is the SCTask algorithm?
NAME
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
STEPT
R1
Variable
Optional
STEPD
R2
Variable
STAT
E8
Variable
D EFAULT V A L UE
D ESCRIPTION
MIN. P OINT REC.
-
Amount of time current step has been running (sec). Resets after 24 hours.
LA
Optional
-
Amount of delay time left in step (sec).
LA
Optional
-
Status and related bit number:
LP
STAT2
Y8
Variable
Optional
-
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.
302
APC_002
13.2 What is the SCTask algorithm?
NAME
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
SSTAL
D2
Alg. Init.
Variable
0
Step Stall Code:
MIN. 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.
13.2 .9 Auxil iary SCTa sk algorithm NAME
definiti ons No. 1
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A 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
303
13.2 What is the SCTask algorithm?
304
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A 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
13.2 What is the SCTask algorithm?
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A 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
13.2 .1 0
Auxil iary SC Task algorith m definiti ons No. 2
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED \ O PTIONAL
STH1
B0
Alg. Init.
Variable
D EFAULT VA L UE
0
D ESCRIPTION
Step History – 1st step disable/override
M I N. 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
APC_002
305
13.2 What is the SCTask algorithm?
306
NAME
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
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
13.2 What is the SCTask algorithm?
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED \ O PTIONAL
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
-
13.2 .1 1 NAME
D EFAULT VA L UE
D ESCRIPTION
Auxil iary SC Task algorith m definiti ons No. 3 - 5 L AL G. RC ECORD F IELD
TYPE
EQUIRED R O PTIONAL /
EFAULT D V A L UE
D ESCRIPTION
Note: Each a uxil iary record contain s all the SID s for each con nected step in a sequence. Aux. 3 Sequence 1, Aux. 4 is for Sequence 2, and Aux. 5 is fo r Abo rt.
APC_002
M I N. P OINT R ECORD
I N. M P OINT R ECORD
is for
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
-
307
13.2 What is the SCTask algorithm?
308
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
M I N. P OINT R ECORD
STP13
C2
Alg. Init.
Variable
0
Transition Step
-
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 STP45
XW F4
Alg. Init. Alg. Init.
Variable Variable
0 0
Transition Step Transition Step
-
STP46
F5
Alg. Init.
Variable
0
Transition Step
-
APC_002
13.2 What is the SCTask algorithm?
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
M I N. P OINT R ECORD
STP47
F6
Alg. Init.
Variable
0
Transition Step
STP48
XV
Alg. Init.
Variable
0
Transition Step
-
STP49
XU
Alg. Init.
Variable
0
Transition Step
-
STP50
XR
Alg. Init.
Variable
0
Transition Step
-
-
13.2 .1 2 Accessi ng advanced editing for the SC Ta sk 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 19). 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 82 : Ad vanced editor w indow for SCTask algori thm -- I/ O Configuration t ab 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 311) for more information.
APC_002
309
13.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 297). 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 83 : Adv anced editor wind ow for SCTask algorit hm - Gene ral 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 311) for more information.
310
APC_002
13.2 What is the SCTask algorithm?
13.2 .1 3
Using the SC Task algorith m Previe wer wind ow
Select the Previewer button on the Sequence Coordinator Task Edi tor window and the Previewer window appears showing the Task that you have displayed on the Control Builder canvas. See the following figure.
Figure 84: Previewer 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 which allows you to change the colors associated with steps and line styles.
Print
Prints the task that is shown on the Previewer window.
311
13.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 315). Understanding the Pre viewer C onfigu ration window The Configuration you to define different line stylescolor. for each step Previewer of a task sequence. Youwindow can alsoallows choose between a white or acolors blackand background To use the Previe wer Configuration 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 85 : Previewe r - Configur ation wind ow 3.
312
Select a sequence from the tabs at the top of the window.
APC_002
13.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 86 : 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
313
13.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 87: 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.
314
APC_002
13.2 What is the SCTask algorithm?
Understanding the Pre viewer window rig ht-click menu 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 88: Previewer - Right-click menu The following table lists and describes the options found on the right-click menu. Previewer window -- R ight-click m enu options
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.
315
13.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.
13.2 .1 4 Accessi ng the Advanced Signal Diagrams
Tuning wind ow for the SC Task algorithm
in
To access advanced editing in signal diagrams, see To access the Advanced Tuning window for APC Toolkit algorithms in signal diagrams (see page 23). SCTask advanced tuning window -- Selected Step tab From a signal diagram, right-click on an SCTask algorithm, and select Ad vanced Tun ing from the menu that displays. The Advanced Tuning window for SCTask appears (see the following figure).
Figure 89 : Adv anced tuning window in si gnal diagrams for SCTask algorith m -- Selecte d Step tab
316
APC_002
13.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 w indow -- Selecte d Act ions tab From a signal diagram, right-click on an SCTask algorithm, and select Ad vanced Tun ing from the menu that displays. The Advanced Tuning window for SCTask appears (see the following figure).
Figure 90 : Adv anced tuning window in si gnal diagrams for SCTask algorith m -- Selecte d Ac ti ons 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
317
13.3 What is the SCStep algorithm?
SCTask advanced tu ning window -- History tab From a signal diagram, right-click on an SCTask algorithm, and select Ad vanced Tun ing from the menu that displays. The Advanced Tuning window for SCTask appears (see the following figure).
Figure 91 : Advanced tun ing win dow in signal diagrams for
SCTask algorithm -- 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.
13 .3 What is the
SC Ste p algorith
m?
The SCStep defines a single step to complete a portion of a task. There can be up to 50 steps per sequence and each step can control up to eight actions. You must provide a user-defined point name for each SCStep.
13. 3.1 Step desc rip ti on You may provide a description for each step (DESC parameter) using the Property Editor in the Control Builder. This field is tunable from signal diagrams. The description can be a maximum of 80 characters.
318
APC_002
13.3 What is the SCStep algorithm?
13.3 .2 Busy Signal and
Communic ation
Once the SCStep receives a command from an SCTask, it determines if it is busy or not. The SCStep is busy any time another SCTask is communicating with it. When busy, the SCStep 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 until the Step is not busy. Once it is not busy, the SCStep will start.
13.3 .3 Actio n co nditi onals and qu
alifiers
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 334). Operation When the step starts, it determines if any attached Action is Busy (see SCAction (see page 337)). 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 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:
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.
APC_002
Start then waitPASS for PASS – Delays Start using ADLY parameter, State. When (SCAction) is TRUE, Action will Reset State then pin. IfStarts PASSappropriate is not true within AEST, then STALL flag will be set and step will not continue until PASS is set TRUE. Delay Actio n – Delay using ADLY parameter, but don’t set any state pins.
319
13.3 What is the SCStep algorithm?
13. 3.4 Serial and
parallel m odes
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.
13.3 .5 Transitioni
ng to next step
After the actions have finished, the step will go into a transition state. 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 be set by default. Once the TRDY pin is set, the transition active (TACT) pin will be set true. 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 count down until the transition ready pin is set. 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:
320
Set.
Reset.
APC_002
13.3 What is the SCStep algorithm?
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. 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.
13. 3.6 Disabli ng the Step You can disable the step by setting the DSABL pin true. 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. When the step is disabled, the SCStep will set the DSABD output pin true to reflect its current state. 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).
13. 3.7 Stall p in for SCS tep There are three kinds of Step stall: 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.
APC_002
321
13.3 What is the SCStep algorithm?
13.3 .8 SC Ste p func tional sym bol
322
APC_002
13.3 What is the SCStep algorithm?
13.3 .9 SC Ste p algorith m definiti ons Note: Algorithm Record Type = LC. For more information on record types, refer to Ovation Record Types Reference Manual. SCStep algorit hm d efinitions NAME
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
AUX1
B4
Auxiliary
Required
AUX2
B5
Auxiliary
AUX3
B6
AUX4
D EFAULT VA L UE
D ESCRIPTION
M I N. P OINT R ECORD
-
Action Conditional 1 Auxiliary Record
LC
Required
-
Action Conditional 2 Auxiliary Record
LC
Auxiliary
Required
-
Action Conditional 3 Auxiliary Record
LC
B7
Auxiliary
Required
-
Action Conditional 4 Auxiliary Record
LC
AUX5
B8
Auxiliary
Required
-
Action Conditional 5 Auxiliary Record
LC
AUX6
B9
Auxiliary
Required
-
Action Conditional 6 Auxiliary Record
LC
AUX7
C0
Auxiliary
Required
-
Action Conditional 7 Auxiliary Record
LC
AUX8
C1
Auxiliary
Required
-
Action Conditional 8 Auxiliary Record
LC
AUX9
C2
Auxiliary
Required
-
Action Conditional 9 Auxiliary Record
LC
DSABL
YM C3 - SID
Variable
Optional
-
Disable Step
LD, LP
C1
YL
Variable
Optional
-
Action Condition 1
LD, LP
C2
E2
Variable
Optional
-
Action Condition 2
LD, LP
C3
E3
Variable
Optional
-
Action Condition 3
LD, LP
Inputs:
APC_002
323
13.3 What is the SCStep algorithm?
324
NAME
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
C4
E4
Variable
Optional
C5
YC
Variable
C6
Y9
C7
D EFAULT VA L UE
D ESCRIPTION
M I N. P OINT R ECORD
-
Action Condition 4
LD, LP
Optional
-
Action Condition 5
LD, LP
Variable
Optional
-
Action Condition 6
LD, LP
E7
Variable
Optional
-
Action Condition 7
LD, LP
C8
E8
Variable
Optional
-
Action Condition 8
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 C7 - SID
Variable
Optional
-
Transition Point 3
LA, LD
TP4
R4 C8 - SID
Variable
Optional
-
Transition Point 4
LA, LD
ASID1
-
Variable
Optional
-
SCAction 1 Point Name
LC (SID)
ASID2
-
Variable
Optional
-
SCAction 2 Point Name
LC (SID)
ASID3
-
Variable
Optional
-
SCAction 3 Point Name
LC (SID)
ASID4
-
Variable
Optional
-
SCAction 4 Point Name
LC (SID)
ASID5
-
Variable
Optional
-
SCAction 5 Point Name
LC (SID)
ASID6
-
Variable
Optional
-
SCAction 6 Point Name
LC (SID)
ASID7
-
Variable
Optional
-
SCAction 7 Point Name
LC (SID)
ASID8
-
Variable
Optional
-
SCAction 8 Point Name
LC (SID)
SSID1
G9
Variable
Optional
-
SCStep 1 Point Name
LC (SID)
SSID2
B0
Variable
Optional
-
SCStep 2 Point Name
LC (SID)
SSID3
B1
Variable
Optional
-
SCStep 3 Point Name
LC (SID)
SSID4
B2
Variable
Optional
-
SCStep 4 Point Name
LC (SID)
APC_002
13.3 What is the SCStep algorithm?
NAME
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
DSABD
YT Y7 - SID
Variable
Optional
TACT
D8 Y6 - SID
Variable
T1
D0 XY - SID
T2
D EFAULT VA L UE
D ESCRIPTION
M I N. P OINT R ECORD
-
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
Optional
-
Transition Active
LD, LP
Variable
Optional
-
Set TRUE when transitioning to SSID1.
LD, LP
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)
LA
ACTRT
R7 XU - SID
Variable
Optional
-
Action Run Time (sec) (SERIAL MODE ONLY). Resets after 24 hours.
LA
BUSY
YN XR - SID
Variable
Optional
-
Set TRUE when SCStep is processing commands
LD, LP
STAT
G3 D9 - SID
Variable
Optional
-
Status and related bit number:
LP
Outputs:
APC_002
Inactive - 0
Disabled - 1
Started - 2
Held - 3
Transition - 4
Transition Hold - 5
Transition Complete 6
Error - 7
Finished - 8 Action Stall – 9
325
13.3 What is the SCStep algorithm?
NAME
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT VA L UE
D ESCRIPTION
Step Stall - 10
Serial Mode - 11
Parallel Mode - 12
M I N. P OINT R ECORD
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)
-
NTRAN
G4
Alg Init.
Variable
0
Current Transition Number
13.3 .1 0
Auxil iary SC Step algorith m definit ions No. 1
NAME
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A 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
326
APC_002
13.3 What is the SCStep algorithm?
NAME
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
D EFAULT V A L UE
D ESCRIPTION
3 – Equals 4 – Greater Than or Equal 5 – Less Than or Equal 6 – Not Equal 7 – SET 8 – RESET 9 – Do Not Evaluate T3OP
G3
Data Init.
Required
9
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.
327
13.3 What is the SCStep algorithm?
NAME
L C A L G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
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
G5
Alg Init.
Variable
0
Transition 1 Step Sid
T2STP
G6
Alg Init.
Variable
0
Transition 2 Step Sid
T3STP T4STP
G7 G8
Alg Init. Alg Init.
Variable Variable
0 0
Transition 3 Step Sid Transition 4 Step Sid
13.3 .1 1
D EFAULT V A L UE
D ESCRIPTION
Auxil iary SC Step algorith m definit ions No. 2
NAME
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
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
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 – OR, 2 – AND)
0 – NONE, 1 – C1, 2 – C2, 3 – C3, 4 – C4, 5 – C5, 6 – C6, 7 – C7, 8 – C8
328
APC_002
13.3 What is the SCStep algorithm?
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
AVAR2
G2
Data Init
Required
D EFAULT VA L UE
0
D ESCRIPTION
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
AVAR3
G3
Data Init
Required
0
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
ASID
APC_002
C0
Alg. Init
Variable
0
1 - SET Action Conditional Action SID
329
13.3 What is the SCStep algorithm?
NAME
L C AL G. R ECORD F IELD
TYPE
R EQUIRED / O PTIONAL
ASPIN
C1
Data Init
Required
D EFAULT VA L UE
0
D ESCRIPTION
Action State Pin to Activate (0 – 4) 0 – State Pin 1 1 – State Pin 2 2 – State Pin 3 3 – State Pin 4
AQUAL
C2
Data Init
Required
0
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
ADLY
C3
Tuning Constant
Required
0
Action Delay (sec)
AEST
C4
Tuning Constant
Required
1
Expected Start Time (sec)
13.3 .1 2 Accessi ng advanced editing for the SC Step algorith m in the Control Builder To access the Advanced Applications Studio for the SCStep algorithm, Applications Studio to view and edit advanced algorithms (see page 19).see To use the Advanced
330
APC_002
13.3 What is the SCStep algorithm?
SCStep algorithm - I/O Configuration tab The Input/Output Configuration tab allows you to view configured algorithm input/output parameters for the SCStep algorithm. This tab is informational only. You cannot edit options from this dialog box or sort the columns in this table.
Figure 92 : Adv anced editor wind ow for SCStep algorithm - I/O Configuration tab
APC_002
331
13.3 What is the SCStep algorithm?
SCStep algorith m - Action Conditional 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. 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 320) for more information.
Figure 93 : Adv anced editor windo w for SCStep algorith m - Action Conditional tab (Se rial Mode)
332
APC_002
13.3 What is the SCStep algorithm?
Figure 94 : Adv anced editor windo w for SCStep algorith m - Action Conditional 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. mode,order. all conditionals are shown since they are executingFor in aserial sequential 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 334) appears allowing you to create or modify a conditional.
APC_002
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 319) 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 Reset" qualifier, thisbeisset theTrue. amount time in then seconds that athen state pin (S1 - S4) will Forofthe "Start wait for PASS qualifier," it is the amount of time the step will wait before the action receives feedback (PASS1 - PASS4). If this does not happen in the amount of time defined, the step stalls.
333
13.3 What is the SCStep algorithm?
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. Creating a cond itional for the SC Step algorith m 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). Once you are satisfied with your conditional, select one of the following buttons:
334
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 Point button.
Close -- exits the window without saving any changes.
APC_002
13.3 What is the SCStep algorithm?
SCStep algorithm - Step Transition tab The Step Transition tab determines how the step transitions to the next step. Refer to Transitioning to next step (see page 320) for more information.
Figure 95 : Adv anced editor wind ow for SCStep 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 320) 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.
335
13.3 What is the SCStep algorithm?
13.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 23). SCStep advanced tuning window -- Selected Step tab From a signal diagram, right-click on an SCStep algorithm, and select Advan ced Tunin g from the menu that displays. The Advanced Tuning window for SCStep appears (see the following figure).
Figure 96 : Adv anced tuning window in si gnal diagrams for SCStep algorith m -- Selecte d 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.
336
APC_002
13.4 What is the SCAction algorithm?
SCStep advanced tunin g win dow -- Action Information tab From a signal diagram, right-click on an SCStep algorithm, and select Advan ced 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.
Figure 97 : Advanced tun ing win dow in signal diagrams for Information tab
SCStep algorithm -- Action
13 .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.
APC_002
337
13.4 What is the SCAction algorithm?
13.4.1 Actio n and action state 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.
13.4 .2 Busy sign al and commu
nication
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.
13. 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.
13. 4.4 Stall pi n fo r SCActi on There are two kinds of Action stall: 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.
13.4.5 SCActi on algori thm f unct ional sym bol
338
APC_002
13.4 What is the SCAction algorithm?
13.4.6 SCActi on algorith m d efinitio ns Note: Algorithm Record Type = LC SCAction algorithm definiti NAME
ons
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 being controlled by state 1 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
LD, LP
Inputs: RDY1
RDY2
2 has finished when TRUE. PASS2
-
Variable
Optional
-
The device/process being controlled by state 3 has finished when TRUE.
LD, LP
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 activated.
LD, LP
S3
-
Variable
Optional
-
Set TRUE when state 3 is activated.
LD, LP
S4
-
Variable
Optional
-
Set TRUE when state 4 is activated.
LD, LP
Outputs:
APC_002
339
13.4 What is the SCAction algorithm?
NAME
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
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:
340
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
-
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.
-
APC_002
13.4 What is the SCAction algorithm?
NAME
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
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. User-defined description for State 2.
-
S2DES
AK
Data Init.
Optional
-
S3DES
AL
Data Init.
Optional
-
User-defined description for State 3.
-
S4DES
AM
Data Init.
Optional
-
User-defined description for State 4.
-
13.4 .7 Accessi ng advanced editing f Builder
or the SCAction algor
ithm in the Contro
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 19). Note: No default tuning window is available for the SCAction algorithm in signal diagrams.
APC_002
341
S
14
ECTION
Algorithm equation reference
IN THIS SECTION Fuzzy algorithm equations .............................................................................................. 343 ARX algorithm calculation ......................................................................... 346 DMC model algorithm output output calculation ................................................................................... 353
14 .1 Fuz zy algorit hm e quation s The following sections discuss Fuzzy algorithm equations.
14.1 .1 Fuzz ifier outp ut 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 told 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.
343
14.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.
14. 1.2 Fuzzy PID use g
uid elines
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
14. 1.3 Fuzzy PID out put calc ulati on 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
344
APC_002
14.1 Fuzzy algorithm equations
= the output of the i-th local PID algorithm (CONST VALUE or system POINT)
Except:
When the algorithm is told 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
345
14.2 ARX model algorithm output calculation
14 .2 ARX model a lgor ithm outp
ut ca lcul ation
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;
346
APC_002
14.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
347
14.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.
348
APC_002
14.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
349
14.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;
350
APC_002
14.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
351
14.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:
352
APC_002
14.3 DMC 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 average of output values is saved in the local memory as the last output from ARX algorithm. The output ramps at the user-specified track rate (subject to the 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 value of low limit is set on the last output value. This approach guarantees that 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.
14 .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):
APC_002
353
14.3 DMC algorithm output calculation
subject to the constraints:
define:
where:
The optimization problem becomes a Quadratic Programming problem:
subject to the following constraints:
354
APC_002
14.3 DMC algorithm output calculation
Except (for each outputs (MV) individually):
When the algorithm is told 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 then the top constraint is set on the current output value. This is a guarantee that the next output value will not be bigger than 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 that current output value.
When a raise inhibit and _3W_CONDTRK signalon is present (cascade modeis-athe downstream Controller is PID) then the bottom limit is setting track input value. This guarantee that the next output value will not be bigger that 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 that 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 output is set to 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
355
Index A Accessing advanced editing for EDEVICE in the Control Builder • 110 Accessing advanced editing for the ARX model algorithm in the Control Builder • 164 Accessing editing for the Blower algorithmadvanced in the Control Builder • 123 Accessing advanced editing for the DMC algorithm in the Control Builder • 190 Accessing advanced editing for the Fuzzifier algorithm in the Control Builder • 36 Accessing advanced editing for the Fuzzy PID algorithm in the Control Builder • 58 Accessing advanced editing for the NNMLP algorithm in the Control Builder • 276 Accessing advanced editing for the SBMaster algorithm in the Control Builder • 151 Accessing advanced editing for the SBScheduler algorithm in the Control Builder • 146 Accessing advanced editing for the SBSequence algorithm in the Control Builder • 129 Accessing advanced editing for the SCAction algorithm in the Control Builder • 341 Accessing advanced editing for the SCStep algorithm in the Control Builder • 330 Accessing advanced editing for the SCTask algorithm in the Control Builder • 309 Accessing advanced editing for the TEMPRO algorithm in the Control Builder • 184 Accessing the Advanced Tuning window for the SCStep algorithm in Signal Diagrams • 336 Accessing the Advanced Tuning window for the SCTask algorithm in Signal Diagrams • 316 Accessing the Control Builder • 15 Accessing the Control Builder in a Windows-based Ovation system • 16 Accessing the tuning window for the Blower algorithm in signal diagrams • 126 Accessing the tuning window for the DMC algorithm in signal diagrams • 245 Accessing the tuning window for the Fuzzifier algorithm in signal diagrams • 53
APC_002
Accessing the tuning window for the Fuzzy PID algorithm in signal diagrams • 78 Accessing the tuning window for the NNMLP algorithm in signal diagrams • 291 Action conditionals and qualifiers (SCStep) • 319 Adding advanced algorithms to a control sheet • 17 Advanced Process Control (APC) ToolKit • 1 Algorithm blocking (EDEVICE) • 105 Algorithm equation reference • 343 Algorithm functional symbols • 30 Algorithm reference page format • 29 Algorithm symbols - creating • 262 ARX model algorithm • 163 ARX model algorithm ARXModel Parameters tab • 166 ARX model algorithm definitions • 168 ARX model algorithm functional symbol • 164 ARX model algorithm I/O pins • 168 ARX model algorithm Input/Output Configuration tab • 165 ARX model algorithm operation with fuzzy logic algorithms • 167 ARX model algorithm output calculation • 346 ARX model algorithm tracking signals • 167 ARX model algorithm–auxiliary LC records • 173 Auto commands (EDEVICE) • 88 Auxiliary DMC algorithm definitions • 203 Auxiliary inputs (EDEVICE) • 90 Auxiliary SCStep algorithm definitions No. 1 • 326 Auxiliary SCStep algorithm definitions No. 2 • 328 Auxiliary SCTask algorithm definitions No. 1 • 303 Auxiliary SCTask algorithm definitions No. 2 • 305 Auxiliary SCTask algorithm definitions No. 3 - 5 • 307 Average temperature calculation (TEMPRO) • 181
B
Blower algorithm • 121 Blower algorithm definitions • 124 Blower algorithm functional symbol • 121 Blower algorithm functionality details • 122
357
Index Blower tuning window • 127 Busy Signal and Communication • 319, 338
C Cascaded mode and conditional tracking (FPID) • 73 Center of gravity defuzzification (FPID) • 83 Changing the direction of move (EDEVICE) • 89 Configuration and programming tools (APC Toolkit) • 1 Configurations for different EDEVICE applications • 91 Copyright • 2 for the SCStep Creating aNotice conditional algorithm • 334
D Defining input/output pins for the symbol (PBLOCK) • 257 Defining the FPID regions • 75 Device error (DERR) analog output (combined) (EDEVICE) • 95 Device ready input signal (DRDY) (EDEVICE) • 89 Device state tracking (EDEVICE) • 93 Device stopped (EDEVICE) • 103 Digital output signals (EDEVICE) • 90 Disabling the Step (SCStep) • 321 DMC algorithm • 189 DMC algorithm cascaded mode and conditional tracking • 236 DMC algorithm definitions • 194 DMC algorithm functional symbol • 190 DMC algorithm output calculation • 353 DMC algorithm status of optimization (STAT) output • 234 DMC algorithm tracking signals • 235 DMC Auxiliary Parameters tab • 192 DMC General Parameters tab • 192 DMC Input/Output Configuration tab • 191 DMC Model Parameters tab • 193 DMC multi-variable control example • 238 DMC Trajectories tab • 245 DMC Tuning Parameters tab • 246 DMC Weighting Parameters tab • 194 Double deadband (inner and outer) (FPID) • 77
E EDEVICE algorithm • 87 EDEVICE Algorithm (operation details) • 93 EDEVICE algorithm alarms • 97 EDEVICE algorithm definitions • 111 EDEVICE algorithm inconsistency of feedback signal errors • 101
358
EDEVICE algorithm timeout errors • 97 EDEVICE algorithm unexpected change of device state (trip) errors • 99 EDEVICE functional symbol • 88 Editing advanced algorithm parameters in the Control Builder • 18 Emergency commands (EDEVICE) • 89 Error deadband and deadband gain (FPID) • 77 Error status (SCTask) • 298 Extern variables (PBLOCK) • 248
F Feedback • 90 Feedback inputs signals(EDEVICE) filtering (EDEVICE) • 90 FPID algorithm functional symbol • 58 FPID Fuzzy Parameters tab • 61 FPID General Parameters tab • 60 FPID Input/Output Configuration tab • 59 FPID Membership Function Definition tab • 61 FPID region tuning • 76 FPID tracking signals (using) • 72 Functional operation of PID • 71 Fuzzifier algorithm • 33 Fuzzifier algorithm (examples of use) • 35 Fuzzifier algorithm auxiliary definitions • 49 Fuzzifier algorithm definitions • 42 Fuzzifier algorithm functional symbol • 34 Fuzzifier algorithm tracking signals • 52 Fuzzifier algorithm with a 4-Dimensional Output Example • 35 Fuzzifier algorithm with Ovation PID Example • 36 Fuzzifier Fuzzy Parameters tab • 38 Fuzzifier General Parameters tab • 38 Fuzzifier Input/Output Configuration tab • 37 Fuzzifier output calculation • 343 Fuzzifier tuning window -- General Information tab • 54 Fuzzifier tuning window -- Membership Functions and Signals tab • 55 Fuzzy algorithm equations • 343 Fuzzy algorithm global output calculation • 82 Fuzzy logic algorithms • 33 Fuzzy Parameters tab -- Membership Function Definition tab • 39 Fuzzy Parameters tab -- Rule Base tab • 40 Fuzzy PID (FPID) algorithm • 57 Fuzzy PID output calculation • 344 Fuzzy PID tuning window -- General Information tab • 79 Fuzzy PID tuning window -- Regions and Signals tab • 80 Fuzzy PID use guidelines • 344 Fuzzy regions (FPID) • 74
APC_002
Index FuzzyPID algorithm definitions • 64 FuzzyPID auxiliary algorithm definitions • 69
H Historical information (SCTask) • 296
I Inserting a drop point • 10 Inserting Advanced Controller drops • 6 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) • 90 LEFT command execution (EDEVICE) • 106 Loading sheets to the Controller • 21 Local and tagout modes (EDEVICE) • 89
M
O Operating modes (EDEVICE) • 88 Operation (SCAction) • 338 Ordering the measurement values (TEMPRO) • 180 Ovation Advanced Controller • 3 Ovation Model Builder • 4 Ovation Sequence Coordinator algorithm package • 293 Ovation Sequence Coordinator algorithm package (rules for using) • 294 Ovation Sequence Coordinator algorithms
P
(visual interpretation) • 295
PBLOCK algorithm • 247 PBLOCK algorithm (who can use it) • 247 PBLOCK algorithm runtime error codes • 269 PBLOCK array handling • 252 PBLOCK program source code structure • 251 PBLOCK programming language (how it differs from standard C) • 248 PBLOCK supported functions • 249 PBLOCK wait() or sleep() functionality • 259 Permissive inputs (EDEVICE) • 89 PSTA packed output (EDEVICE) • 102
Manual commands (EDEVICE) • 89 MCC test mode and permission override function (EDEVICE) • 91
R
Median temperature calculation (TEMPRO) • 182 Middle of maximum defuzzification (FPID) • 84 Move to left operation (EDEVICE) • 107 Move to right operation (EDEVICE) • 109
Controller and the database for • 25 Windows-based Ovation systems Reconciling tuning changes between the database and the Control Builder for Windows-based systems • 26 Reconciling tuning changes in a Windows-based Ovation system • 25 RIGHT command execution (EDEVICE) • 108 Role of the Ovation Control Builder with the APC Toolkit • 2
N Neural Network Multi-Layer Perceptron (NNMLP) algorithm • 272 NNMLP algorithm functional symbol • 273 NNMLP algorithm functionality details • 274 NNMLP algorithm Input/Output Configuration tab • 277 NNMLP algorithm input/output pins • 282 NNMLP algorithm Neural Network tab • 280 NNMLP algorithm Structure of Neurons tab • 281 NNMLP algorithm tracking signals • 281 NNMLP auxiliary definitions • 288 NNMLP main algorithm definitions • 282 No deadband (FPID) • 78
APC_002
Reconciling tuning changes between the
S Sample code for a typical algorithm (PBLOCK) • 265 SBMaster algorithm • 148 SBMaster algorithm definition (Aux1,3,5,7,9,11,13,15,17) • 157 SBMaster algorithm definition (Aux2,4,6,8,10,12,14,16,18) SBMaster algorithm definitions •• 161 154 SBMaster algorithm functional symbol • 148 SBMaster algorithm functionality details • 149
359
Index SBMaster Auxiliary Parameters tab • 153 SBMaster General Parameters tab • 152 SBMaster Input/Output Configuration tab • 151 SBscheduler algorithm • 144 SBScheduler algorithm definitions • 146 SBScheduler algorithm functional symbol • 145 SBsequence algorithm • 127 SBSequence algorithm (how it works) • 131 SBSequence algorithm Auxiliary Parameters tab • 130 SBSequence algorithm definitions • 133 SBSequence algorithm functional symbol • 128 SBSequence algorithm functionality details • 128 SBSequence algorithm General Parameters tab • 130 SBSequence algorithm Input/Output Configuration tab • 129 SBSequence auxiliary algorithm definitions • 140 SCAction algorithm • 337 SCAction algorithm (action and action state descriptions) • 338 SCAction algorithm definitions • 339 SCAction algorithm functional symbol • 338 SCAction Stall pin • 338 SCStep advanced tuning window -- Action Information tab • 337 SCStep advanced tuning window -- Selected Step tab • 336
Serial and parallel modes (SCStep) • 320 Signal diagrams (accessing from Ovation Applications window) • 23 Single deadband (inner only) (FPID) • 77 Sootblower algorithms • 120 Status (STAT) analog output (EDEVICE) • 94 Step description (SCStep) • 318 STOP and LEFT Operation (EDEVICE) • 105 STOP and RIGHT operation (EDEVICE) • 104 STOP command execution (EDEVICE) • 104 Summary of Changes • 3
SCStep algorithm • 318 SCStep algorithm - Action Conditional tab • 332 SCStep algorithm - I/O Configuration tab • 331 SCStep algorithm - Step Transition tab • 335 SCStep algorithm definitions • 323 SCStep functional symbol • 322 SCStep Stall pin • 321 SCTask Advanced Application Studio • 299 SCTask advanced tuning window -- History tab • 318 SCTask advanced tuning window -- Selected Actions tab • 317 SCTask advanced tuning window -- Selected Step tab • 316 SCTask algorithm • 296 SCTask algorithm definitions • 300 SCTask algorithm General Information tab •
Understanding the Previewer Configuration window • 312 Understanding the Previewer window right-click menu • 315 Using advanced algorithms in your control scheme • 15 Using advanced algorithms on a control sheet • 15 Using algorithm reference pages • 29 Using DMC control in a power plant--examples • 242 Using Fuzzy algorithms • 33 Using the Advanced Applications Studio to view and edit advanced algorithms • 19 Using the ARX Model algorithm • 163 Using the Dynamic Matrix Controller (DMC) algorithm • 189 Using the EDEVICE algorithm • 87 Using the FPID Rule Base tab • 63 Using the Neural Network Multi-Layer Perceptron (NNMLP) general model algorithm • 271 Using the Ovation Sequence Coordinator algorithm package • 293
310 algorithm I/OConfiguration tab • 309 SCTask SCTask functional symbol • 299 SCTask operation • 297 SCTask Stall pin • 298
360
T Task description (SCTask) • 296 TEMPRO algorithm • 179 TEMPRO algorithm definitions • 185 TEMPRO functional symbol • 183 TEMPRO operation • 179 To access the Advanced Tuning window for APC Toolkit algorithms in signal diagrams • 23 To create a PBLOCK algorithm • 260 To load sheets in a Windows-based Ovation system • 22 To use the Previewer Configuration window • 312 Transitioning to next step • 320 Trip and timeout sensing (EDEVICE) • 90
U
APC_002
Index Using the Programmable Block (PBLOCK) algorithm • 247 Using the Property Editor to edit advanced algorithms • 18 Using the SCTask algorithm Previewer window • 311 Using the Sootblower algorithms • 119 Using the TEMPRO (Temperature Profile) algorithm • 179
V Viewing advanced algorithms in Signal Diagrams • 22
W Writing to output points (PBLOCK) • 258
APC_002
361