APC_002 APC Toolkit 3.1 (for Ovation 3.1.x, 3.2.x, And 3.3.0)

Share Embed Donate


Short Description

APC toolkit instalation for Ovation...

Description

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

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF