APC_002 APC Toolkit User Guide 3.2 (for Ovation Releases 3.3.1 and 3.4.0)

May 15, 2018 | Author: chetansergiurazvan | Category: Algorithms, Installation (Computer Programs), Artificial Neural Network, Fuzzy Logic, Software
Share Embed Donate


Short Description

instalation of PAC toolkit for Ovation351...

Description

APC Toolkit 3.2 (fo r Ovation r eleases 3.3.1 and 3.4.0) APC_002

February 2012

Copyright Notice Since the equipment explained in this document has a variety of uses, the user and those responsible for applying this equipment must satisfy themselves as to the acceptability of each application and use of the equipment. Under no circumstances will Emerson Process Management be responsible or liable for any damage, including indirect or consequential losses resulting from the use, misuse, or application of this equipment. The text, illustrations, charts, and examples included in this manual are intended solely to explain TM the use and application of the Ovation Unit. Due to the many variables associated with specific uses or applications, Emerson Process Management cannot assume responsibility or liability for actual use based upon the data provided in this manual. No patent liability is assumed by Emerson Process Management with respect to the use of circuits, information, equipment, or software described in this manual. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, including electronic, mechanical, photocopying, recording or otherwise without the prior express written permission of Emerson Process Management. The document is the property of and contains Proprietary Information owned by Emerson Process Management and/or its subcontractors and suppliers. It is transmitted in confidence and trust, and the user agrees to treat this document in strict accordance with the terms and conditions of the agreement under which it was provided. This manual is printed in the USA and is subject to change without notice. Ovation is the mark of Emerson Process Management. Other marks are the property of their respective holders. Copyright © Emerson Process Management Power & Water Solutions, Inc. All rights reserved. Emerson Process Management Power & Water Solutions 200 Beta Drive Pittsburgh, PA 15238 USA E-Mail: [email protected] Website: https://www.ovationusers.com

Summary of Changes APC Too lk it 3.2 (for Ovati on rel eases 3.3.1 and 3.4.0) APC_002 February 2012 This version of APC Toolkit 3.2 (for Ovation releases 3.3.1 and 3.4.0) includes the following new information: 

Added online help for each algorithm (see page 23).



Updated the BLOWER algorithm definitions table to include new parameters (see page 308).



Updated the TEMPRO algorithm definitions table to include a new parameter (see page 355). Updated the DMC algorithm definitions table to include new parameters (see page 54).

 

Updated the DMC auxiliary algorithm definitions table to include new parameters (see page 64).



Added new information on the DMC algorithm MV bump protection feature (see page 89).



Added a new algorithm, Dynamic Predictor algorithm (DPA) (see page 105).



Added status codes to the STAT Code table for the EDEVICE algorithm (see page 122).



Updated the PBLOCK algorithm with various updates and corrections (see page 219).



Added a new algorithm, SCStepNA (see page 277).



Updated the Rules section for using the Ovation Sequence Coordinator algorithm package (see page 252).



Made miscellaneous corrections and clarifications to the manual.

Contents 1

Introduct ion to the Advanced Proce ss Control (APC) ToolKit

1.1

What is the Advanced Process Control (APC) ToolKit? .....................................................1

1.2

Configuration and programming tools................................................................................. 1

1.3

What is the role of the Ovation Control Builder with the APC Toolkit? ...............................2

1.4 1.5

What is the Ovation Advanced Controller?.........................................................................3 What is the Ovation Model Builder?....................................................................................4

2

Installing th e APC ToolKi t

2.1

Overview of installing the APC software on a Windows-based Ovation system ................5 2.1.1 To install the APC base software on Windows ................................................. 5 2.1.2 To insert Advanced Controller drops.................................................................7 2.1.3 To insert a drop point ...................................................................................... 10 2.1.4 To install the algorithms ..................................................................................12

3

Using advance d algorit hms on a contr ol sheet

3.1

Overview of using advanced algorithms in your control scheme...................................... 15

3.2

Accessing the Control Builder...........................................................................................16 3.2.1 To access the Control Builder in a Windows-based Ovation system..............16 Adding advanced algorithms to a control sheet ................................................................17

3.3 3.4

3.5 3.6 3.7

3.8

1

5

15

3.3.1 To add advanced algorithms to a control sheet ..............................................17 Editing advanced algorithm parameters in the Control Builder.........................................19 3.4.1 To use the Property Editor to edit advanced algorithms .................................19 3.4.2 To use the Advanced Applications Studio to view and edit advanced lgorithms ..........................................................................................................21 Using the Control Builder online help system ................................................................... 23 Loading sheets to the Controller ....................................................................................... 26 3.6.1 To load sheets in a Windows-based Ovation system .....................................26 Viewing advanced algorithms in Signal Diagrams............................................................27 3.7.1 To access signal diagrams from the Windows-based Ovation Applications window ........................................................................................27 3.7.2 To access the Advanced Tuning window for APC Toolkit algorithms in signal diagrams ............................................................................................... 29 Reconciling tuning changes in a Windows-based Ovation system...................................30 3.8.1 To reconcile tuning changes between the Controller and the database for Windows-based Ovation systems ..............................................................30 3.8.2 To reconcile tuning changes between the database and the Control Builder. 31

4

Al go ri th m r eferenc e page form at

4.1

Using algorithm reference pages ...................................................................................... 33 4.1.1 Algorithm functional symbols...........................................................................34

APC_002

33

i

Table of Contents

5

Using the ARX M odel algorit hm

5.1

What is the ARX model algorithm? ...................................................................................35

5.2

ARX model algorithm functional symbol ...........................................................................36

5.3

5.4

Accessing advanced editing for the ARX model algorithm in the Control Builder ............36 5.3.1 ARX model algorithm Input/Output Configuration tab.....................................37 5.3.2 ARX model algorithm ARXModel Parameters tab ..........................................38 ARX model algorithm operation with fuzzy logic algorithms .............................................39

5.5

ARX model algorithm tracking signals ..............................................................................39

5.6

ARX model algorithm I/O pins...........................................................................................40

5.7

ARX model algorithm definitions.......................................................................................40

5.8

ARX model algorithm auxiliary LC records .......................................................................45

6

Using th e Dyna mic Matrix Controller (DM C) algori thm

6.1

What is the DMC algorithm? .............................................................................................49

6.2

DMC algorithm functional symbol ..................................................................................... 50

6.3

6.4

Accessing advanced editing for the DMC algorithm in the Control Builder ......................51 6.3.1 DMC Input/Output Configuration tab ...............................................................51 6.3.2 DMC General Parameters tab......................................................................... 52 6.3.3 DMC Auxiliary Parameters tab ........................................................................53 DMC algorithm definitions ................................................................................................. 54

6.5

Auxiliary DMC algorithm definitions ..................................................................................64

6.6

DMC algorithm status of optimization (STAT) output .......................................................88

6.7

DMC algorithm tracking signals ........................................................................................88

6.8

DMC algorithm MV bump protection.................................................................................89

6.9

6.10

ii

35

49

6.8.1 DMC algorithm MV bump protection example ................................................90 6.8.2 To configure MV bump protection ................................................................... 92 DMC algorithm cascaded mode and conditional tracking................................................. 93 6.9.1 DMC multi-variable control example ...............................................................96 6.9.2 Using DMC control in a power plant--examples............................................ 100 Accessing the tuning window for the DMC algorithm in signal diagrams .......................103 6.10.1 DMC Trajectories tab ....................................................................................103 6.10.2 DMC Tuning Parameters tab......................................................................... 104

APC_002

Table of Contents

7

Using the Dynamic Predictor

7.1

What is the Dynamic Predictor algorithm?......................................................................105

7.2

DPA Functional Symbol ..................................................................................................106

7.3

DPA Limits and Anti-Windup...........................................................................................107

7.4

DPA Force to Stable State function ................................................................................107

7.5

DPA Time Constants....................................................................................................... 108

7.6

DPA Gain ........................................................................................................................ 109

7.7

DPA Tracking ..................................................................................................................109

7.8 7.9

DPA Quality..................................................................................................................... 110 Accessing advanced editing for DPA in the Control Builder ...........................................111

7.10

DPA algorithm definitions................................................................................................112

7.11

DPA Use Cases ..............................................................................................................113

8

Using the EDEVICE algor ith m

8.1

What is the EDEVICE algorithm? ...................................................................................115

8.2

EDEVICE functional symbol............................................................................................ 116

8.3

8.4

Operating modes............................................................................................................. 116 8.3.1 Auto commands ............................................................................................117 8.3.2 Manual commands ........................................................................................117 8.3.3 Local and tagout modes ................................................................................117 Emergency commands ...................................................................................................117

8.5

Device ready input signal (DRDY) ..................................................................................117

8.6

Permissive inputs ............................................................................................................117

8.7

Changing the direction of move ...................................................................................... 117

8.8 8.9

Feedback inputs.............................................................................................................. 118 8.8.1 Feedback signals filtering..............................................................................118 Auxiliary inputs ................................................................................................................ 118

8.10

Digital output signals ....................................................................................................... 118

8.11

Trip and timeout sensing.................................................................................................118

8.12

Lack of MCC power sensing ...........................................................................................118

8.13

MCC test mode and permission override function.......................................................... 119

8.14

Configurations for different EDEVICE applications.........................................................119

8.15

8.16

Operation details of the EDEVICE Algorithm..................................................................121 8.15.1 Device state tracking .....................................................................................121 8.15.2 Device stopped.............................................................................................. 131 8.15.3 LEFT command execution ............................................................................ 133 8.15.4 RIGHT command execution ..........................................................................135 Accessing advanced editing for EDEVICE in the Control Builder...................................137

8.17

EDEVICE algorithm definitions .......................................................................................138

APC_002

algorithm (DPA)

105

115

iii

Table of Contents

9

Using Fuzz y algorith ms

9.1

What are the Ovation fuzzy logic algorithms?.................................................................145

9.2

What is the Fuzzifier algorithm?......................................................................................145 9.2.1 Fuzzifier algorithm functional symbol ............................................................ 146 9.2.2 Examples of using the Fuzzifier algorithm ....................................................147 9.2.3 Accessing advanced editing for the Fuzzifier algorithm in the Control Builder ...........................................................................................................149 9.2.4 Fuzzifier algorithm definitions........................................................................ 154 9.2.5 Fuzzifier algorithm auxiliary definitions .........................................................161 9.2.6 Fuzzifier algorithm tracking signals ...............................................................163 9.2.7 Accessing the tuning window for the Fuzzifier algorithm in signal diagrams 165 What is the Fuzzy PID (FPID) algorithm? .......................................................................168 9.3.1 FPID algorithm functional symbol .................................................................169 9.3.2 Accessing advanced editing for the Fuzzy PID algorithm in the Control Builder ...........................................................................................................170 9.3.3 FuzzyPID algorithm definitions......................................................................176 9.3.4 FuzzyPID auxiliary algorithm definitions .......................................................180 9.3.5 Functional operation of PID...........................................................................182 9.3.6 Using FPID tracking signals ..........................................................................183 9.3.7 Cascaded mode and conditional tracking .....................................................184 9.3.8 Fuzzy regions ................................................................................................ 185 9.3.9 Defining the FPID regions ............................................................................. 186 9.3.10 FPID region tuning ........................................................................................187 9.3.11 Error deadband and deadband gain .............................................................188 9.3.12 Accessing the tuning window for the Fuzzy PID algorithm in signal diagrams........................................................................................................ 190 Fuzzy algorithm global output calculation .......................................................................193 9.4.1 Center of gravity defuzzification .................................................................... 194 9.4.2 Middle of maximum defuzzification ...............................................................195

9.3

9.4

10

Using the Neural Network Multi-Layer Perceptron (NNMLP) general model algorithm

10.1

What is the Neural Network Multi-Layer Perceptron (NNMLP) algorithm?.....................198

10.2

NNMLP algorithm functional symbol...............................................................................199

10.3

NNMLP algorithm functionality details ............................................................................200

10.4

10.5

Accessing advanced editing for the NNMLP algorithm in the Control Builder................202 10.4.1 NNMLP algorithm Input/Output Configuration tab.........................................203 10.4.2 NNMLP algorithm Neural Network tab .......................................................... 206 10.4.3 NNMLP algorithm Structure of Neurons tab..................................................207 NNMLP algorithm tracking signals ..................................................................................207

10.6

NNMLP algorithm input/output pins ................................................................................208

10.7

NNMLP main algorithm definitions..................................................................................209 10.7.1 NNMLP auxiliary definitions ..........................................................................214 Accessing the tuning window for the NNMLP algorithm in signal diagrams...................217

10.8

iv

145

197

APC_002

Table of Contents

11

Using th e Programmable Block (PBLOC K) algorithm

11.1

What is the PBLOCK algorithm?.....................................................................................219

11.2

Who can use the PBLOCK algorithm?............................................................................219

11.3 11.4

How does the PBLOCK programming language differ from standard C? ......................220 11.3.1 Extern variables............................................................................................. 220 PBLOCK supported functions .........................................................................................221

11.5

PBLOCK program source code structure .......................................................................224

11.6

PBLOCK array handling..................................................................................................225

11.7

To define input/output pins for the symbol ......................................................................230

11.8

Writing to output points ...................................................................................................231

11.9

PBLOCK wait() or sleep() functionality ...........................................................................233

11.10

To create 11.10.1 11.10.2 11.10.3 11.10.4

219

a PBLOCK algorithm....................................................................................... 235 To create a custom algorithm symbol ........................................................... 238 Sample code for a typical algorithm ..............................................................240 Example PBLOCK program with optional parameters and first pass macros........................................................................................................... 244 PBLOCK algorithm runtime error codes........................................................248

12

Using th e Ovation Sequence Coordinator algor ithm package

12.1

What is the Ovation Sequence Coordinator algorithm package? ...................................251 12.1.1 Rules for using the Ovation Sequence Coordinator algorithm package .......252 12.1.2 Visual interpretation of Ovation Sequence Coordinator algorithms ..............253 What is the SCTask algorithm?....................................................................................... 254 12.2.1 Task description ............................................................................................254 12.2.2 Historical information.....................................................................................254

12.2

251

12.2.3 12.2.4 12.2.5 12.2.6 12.2.7 12.2.8 12.2.9 12.2.10 12.2.11 12.2.12

12.3

SCTask operation.......................................................................................... 255 Stall pin for SCTask....................................................................................... 256 Error status ....................................................................................................256 SCTask Advanced Application Studio...........................................................257 SCTask functional symbol.............................................................................257 SCTask algorithm definitions.........................................................................258 Auxiliary SCTask algorithm definitions No. 1 ................................................261 Auxiliary SCTask algorithm definitions No. 2 ................................................263 Auxiliary SCTask algorithm definitions No. 3 - 5 ...........................................265 Accessing advanced editing for the SCTask algorithm in the Control Builder ...........................................................................................................267 12.2.13 Using the SCTask algorithm Previewer window ...........................................269 12.2.14 Accessing the Advanced Tuning window for the SCTask algorithm in Signal Diagrams ............................................................................................274 What are the SCStep and SCStepNA algorithms? .........................................................277 12.3.1 Busy Signal and Communication ..................................................................277 12.3.2 Action conditionals and qualifiers for SCStep ...............................................278 12.3.3 Serial and parallel modes for SCStep ...........................................................279 12.3.4 Transitioning to next step ..............................................................................279 12.3.5 12.3.6 12.3.7 12.3.8 12.3.9

APC_002

Disabling the Step .........................................................................................280 Stall pin for SCStep and SCStepNA .............................................................280 SCStep functional symbol .............................................................................281 SCStepNA functional symbol ........................................................................282 SCStep and SCStepNA algorithm definitions ...............................................282

v

Table of Contents

12.3.10 12.3.11 12.3.12

12.4

Auxiliary SCStep and SCStepNA algorithm definitions No. 1 .......................286 Auxiliary SCStep algorithm definitions No. 2.................................................288 Accessing advanced editing for the SCStep and SCStepNA algorithms in the Control Builder ..................................................................................... 291 12.3.13 Accessing the Advanced Tuning window for the SCStep algorithm in Signal Diagrams ............................................................................................296 What is the SCAction algorithm? ....................................................................................298 12.4.1 Action and action state descriptions for SCAction algorithm ........................298 12.4.2 Busy signal and communication....................................................................298 12.4.3 Operation....................................................................................................... 298 12.4.4 Stall pin for SCAction ....................................................................................298 12.4.5 SCAction algorithm functional symbol...........................................................299 12.4.6 12.4.7

13

Using the Sootblower algorithms

13.1

What are the Sootblower algorithms?.............................................................................304

13.2

Using the Blower algorithm .............................................................................................305 13.2.1 Blower algorithm functional symbol...............................................................305 13.2.2 Blower algorithm functionality details ............................................................306 13.2.3 Accessing advanced editing for the Blower algorithm in the Control Builder 307 13.2.4 Blower algorithm definitions ..........................................................................308 13.2.5 Accessing the tuning window for the Blower algorithm in signal diagrams... 311 Using the SBSequence algorithm ...................................................................................312 13.3.1 SBSequence algorithm functional symbol.....................................................312 13.3.2 SBSequence algorithm functionality details ..................................................313 13.3.3 Accessing advanced editing for the SBSequence algorithm in the Control Builder ...........................................................................................................313 13.3.4 How does the SBSequence algorithm work? ................................................317 13.3.5 SBSequence algorithm definitions ................................................................319 13.3.6 SBSequence auxiliary algorithm definitions ..................................................325 Using the SBScheduler algorithm ...................................................................................329 13.4.1 SBScheduler algorithm functional symbol.....................................................330 13.4.2 Accessing advanced editing for the SBScheduler algorithm in the Control Builder ...........................................................................................................331 13.4.3 SBScheduler algorithm definitions ................................................................332 Using the SBMaster algorithm ........................................................................................333 13.5.1 SBMaster algorithm functional symbol..........................................................333 13.5.2 SBMaster algorithm functionality details .......................................................334 13.5.3 Accessing advanced editing for the SBMaster algorithm in the Control Builder ...........................................................................................................336 13.5.4 SBMaster algorithm definitions......................................................................339 13.5.5 SBMaster algorithm definition (Aux1,3,5,7,9,11,13,15,17) ...........................342 13.5.6 SBMaster algorithm definition (Aux2,4,6,8,10,12,14,16,18) .........................346

13.3

13.4

13.5

vi

SCAction algorithm Accessing advanceddefinitions editing for......................................................................299 the SCAction algorithm in the Control Builder ...........................................................................................................301

303

APC_002

Table of Contents

14

Using the TEMPRO (Temperature Profi le) algo rit hm

14.1

What is the TEMPRO algorithm?....................................................................................349

14.2

14.3

TEMPRO operation......................................................................................................... 349 14.2.1 Ordering the measurement values ................................................................350 14.2.2 Average temperature calculation...................................................................351 14.2.3 Median temperature calculation .................................................................... 352 TEMPRO functional symbol ............................................................................................353

14.4

Accessing advanced editing for the TEMPRO algorithm in the Control Builder.............354

14.5

TEMPRO algorithm definitions........................................................................................355

15

Al go ri th m eq uatio n r eferenc e

15.1

15.2

Fuzzy algorithm equations ..............................................................................................357 15.1.1 Fuzzifier output calculation............................................................................ 357 15.1.2 Fuzzy PID use guidelines..............................................................................358 15.1.3 Fuzzy PID output calculation......................................................................... 358 ARX model algorithm output calculation.........................................................................360

15.3

DMC algorithm output calculation ...................................................................................368

Index

APC_002

349

357

371

vii

S

ECTION

1

Introd uct ion t o the Advanced P roc ess C ont rol (APC ) ToolKit

IN THIS SECTION What is the Advanced Process Control (APC) ToolKit? .....................................................1 Configuration and programming tools ................................................................................. 1 What is the role of the Ovation Control Builder with the APC Toolkit? ...............................2 What is the Ovation Advanced Controller?......................................................................... 3 What is the Ovation Model Builder?.................................................................................... 4

1. 1

What is the Advanced

Process

Control ( APC ) ToolKit ?

The Ovation system comes bundled with a standard algorithm set for the Ovation Controller. Algorithms streamline and simplify plant processes by using sets of rules and mathematical formulas to define the control strategy of a plant. The Advanced Process Control (APC) ToolKit is an extension to the Ovation system that allows advanced algorithms to be added to an Ovation Advanced Controller. It allows you to build more powerful control strategies, tighter control, more efficient operation, and systematic approaches to handling control. The APC ToolKit provides the means to support these advanced algorithms that extend the Ovation control capability beyond the standard algorithm set. This collection of advanced algorithms wasordeveloped to simplify engineering and programming of complex mathematical, modeling, optimization functions in the Ovation system.

1. 2

Configuration

and programming

tools

The APC ToolKit algorithms require specialized Ovation Control Builder (see page 2) user interfaces, which are included in the Control Builder extensions. The APC Toolkit uses the Control Builder user interfaces to configure and edit the algorithms. The custom edit dialogs are specific to each individual advanced algorithm. These dialogs make the programming and configuration of many advanced algorithms easier by providing a user-friendly graphical interface. The APC Toolkit also includes an installation program that allows you to select individual algorithms individually, based on the license(s) that have been purchased. For each product that is selected during installation, all of the necessary software modules and associated files are copied to the Software Server or Database Server. The standard download mechanisms are then employed to update the software on each of the affected Controllers and workstations. Many of the advanced algorithms are model-based. This requires that you use the Ovation Model Builder software package to build a model of the process that is to be controlled. Currently the APC toolkit is restricted to Ovation advanced algorithms. In the future, the scope of the APC Toolkit may be enhanced to include other Ovation products.

APC_002

1

1.3 What is the role of the Ovation Control Builder with the APC Toolkit?

1. 3

What is the role of the Ova tion Control Build Toolkit?

er with the

APC

The APC Toolkit adds and edits advanced algorithm parameters through the Ovation Control Builder interface. The Ovation Control Builder is a graphical editor that creates the control logic that runs in the Ovation Controller. This logic consists of algorithms that are placed on functional drawings (also known as control sheets) and direct the control strategy for the Ovation system. Typically, there are many different control sheets linked together to form the complete control structure for an Ovation system. The Control Builder application consists of three main areas or windows: 

Main window with the drawing canvas



Object Browser



Property Editor

Each window has a different function, but they all work together to give you a complete picture of your control. In general, items such as inputs, algorithms, signals, and so forth appear on the drawing canvas, which provides the visual display of the sheet. Any item that you place on the drawing canvas is put into the hierarchy in the Object Browser. The Object Browser shows the relationships between the items placed on the drawing canvas. The Property Editor is used for editing the attributes of the items found on the drawing canvas and in the Object Browser. Since the three main areas of the Control Builder give you a different perspective on your control function, there are many ways to perform various tasks. This makes the application flexible and easy to use since you choose the best way to perform a certain function.

2

APC_002

1.4 What is the Ovation Advanced Controller?

The following figure shows an example of the Control Builder application. Since the Control Builder application is flexible and configurable, you may move, resize, or close windows in order to create more drawing space.

Figure 1: E xample of Control Bui lder application Refer to Ovation Control Builder User Guide for more information.

1. 4

What is the Ova tion Advanced

Control ler?

The APC Toolkit requires an Ovation Advanced Controller to operate correctly. The Advanced Controller is much like a regular Ovation Controller except that it contains a licensed software switch to turn on the advanced capability. It involves no additional hardware; however, the Controller hardware should be able to support Windows-based Ovation 2.3 and later. Note: When using an OCR161 Controller, a minimum of 64 MB of RAM is required. This switch allows the Controller to individually add each algorithm. The Advanced Controller intuitively knows how to embed the advanced algorithm into memory. When the Advanced Controller is being edited, the Control Builder automatically includes all licensed algorithms. Note: This product is intended to be used by those skilled in building advanced control and with the knowledge of the mathematics and modeling necessary to implement these control schemes. A strong background in using the Ovation Control Builder is also suggested.

APC_002

3

1.5 What is the Ovation Model Builder?

1. 5

Wha t is the Ova tio n Model Buil der? The Ovation Model Builder software package is a modeling tool used to design and test control structures (algorithms). The Model Builder performs the following tasks: 

4

Identification of different types of models.



Verification of obtained model using the same or other data.



Selection of object controller described by identified model.



Simulation of work of controller on object, where the object simulator can be identical to or different from the model used for creating the Controller.

APC_002

S

ECTION

2

Installing t he AP C Tool Kit

IN THIS SECTION Overview of installing the APC software on a Windows-based Ovation system ................5

2. 1

Overview of inst alling the Ova tion system

APC soft ware on a Windows -ba sed

The following sections discuss installing APC software on Windows-based Ovation systems. The APC base software and algorithms need to be loaded on every Engineer/Operator drop individually. 1.

Install the APC base software (see page 5).

2.

Create an Advanced Controller drop (see page 6).

3.

Create a drop point for the Advanced Controller drop (see page 10).

4.

Install APC Toolkit algorithms on the Database Server (see page 12).

5.

Install APC Toolkit algorithms on an Engineer or Operator Station drop.

The following Ovation documentation may be helpful when performing these procedures: 

Ovation Developer Studio User Guide.



Ovation Record Types Reference Manual.

2. 1.1 To inst all the APC base soft ware on Windows You must load the APC base software and algorithms on each individual Engineer/Operator drop where APC Toolkit will be used. 1.

APC_002

Insert the APC Toolkit CD into the drop you wish to load. The Installation Tool starts automatically.

5

2.1 Overview of installing the APC software on a Windows-based Ovation system

2.

Click Base Software tab. Click the Install button (or the Re-Install button if the software has already been installed and an upgrade is needed). The installation process begins.

Figure 2: Advanced Control Installation Tool 3.

6

The installation results or errors display in the Installation Results window.

APC_002

2.1 Overview of installing the APC software on a Windows-based Ovation system

2. 1.2 To insert Advanced

Controll er drops

1.

Access the Ovation Developer Studio.

2.

Right-click the Drops folder in the System Tree and select Insert New . The Insert New Drops Wizard appears.

Figure 3: Insert New Drops Wizard 3.

Type the drop ID in the Drop ID value field. This is the drop number of the new drop. Valid entries are 1 - 254.

4.

Type the partner ID in the Partner ID value field (if available).

5.

Select Ad vanced Contr ol ler from the Drop Type pull-down menu.

APC_002

7

2.1 Overview of installing the APC software on a Windows-based Ovation system

6.

After you enter the required information, click Finish . The New Drops window appears.

Figure 4: Ne w Drops w indow The following table describes the New Drop window fields. New Drop window field descriptions F IELD Drop Type

D ESCRIPTION Pull-down menu with drop type selection.

Controller Type

OCR400 or OCR161.

Control Synchronization

Pull-down menu that allows you to enable or disable the dedicated Controller Synchronization. If enabled, the Controller is dedicated to transfer the data between the primary and backup Controllers. If it is disabled, the data is transferred over the network (Ovation Network or Dedicated Cable). This parameter is only applicable to the OCR161 hardware type when an onboard network card is installed.

8

APC_002

2.1 Overview of installing the APC software on a Windows-based Ovation system

F IELD Maximum Point Limit

D ESCRIPTION The radio button selects the maximum number of points that the Controller can be configured to monitor. Normal handles up to 6000 points. Expanded handles up to 16,000 points. 32000 handles up to 32,000 points.

PRIMARY or PARTNER Drop ID or Partner ID

The Primary Drop ID is the drop number of the srcinating drop of the point. (1-254). If the drop has a partner drop, it is identified in the field ( 1-254).

Ovation Network IP Address

The Internet Protocol (IP) address for a drop is typically assigned by the system administrator, the IP address consists of four groups of decimal numbers and has the following format: xxx.xxx.xxx.xxx If the network is isolated from other networks (such as, the Internet), the IP address can be any valid ra nge.

Ovation Network Ethers Address

The format for the hardware address is:

Ovation Highway Interface

Type of Ethernet interface that connects the Controller to the Ovation Network.

xx:xx:xx:xx:xx:xx (where the last four numbers (xx:xx ) are typically located on a label on the NIC).

(ZNYX, or Onboard ). Ovation Highway Connection

Type of NIC card connection (Only active for Network Connection Onboard).

NIC Interface

Name of physical port that the Ethernet cable is connected to, automatically filled in N1 (OCR400) or fei0 (OCR161) for Network Connection "Onboard".

(Single, Dual).

(OCR400, N1, N2, N3, N4) (OCR161 - None, fei0, fei1, fei2 ) . Backup NIC Interface

The NIC Backup Interface is to accommodate a second onboard NIC, automatically filled in N2 (OCR40) or fei1 (OCR161) for a NWIF Network Connection "Onboard" and Network Connection "Dual". (OCR400, N1, N2, N3, N4) (OCR161 - None, fei0, fei1, fei2 )

Control Synchronization Interface

When Controller Synchronization is enabled N4 (OCR400) or fei2 (OCR161) is dedicated to transfer data between the primary and backup Controllers.

7.

Once you have completed the desired settings on the window, click the Ap pl y button to save these settings without closing the window, or click the Ok button to save the settings and close the window.

8.

Create a drop point for the new station (see page 10).

Note: When using an OCR161 Controller, a minimum of 64 MB of RAM is required.

APC_002

9

2.1 Overview of installing the APC software on a Windows-based Ovation system

2. 1.3 To insert a drop point After you create a drop, you must create a drop point so that the system to recognize the new drop.This drop point provides the drop's required DU record (described in the Ovation Record Types Reference Manual). 1.

In the Developer Studio, access the Points folder for the new drop.

2.

Right-click the Drop Point folder and select Insert New from the resulting pop-up menu. The Insert New Drop Point Wizard appears.

Figure 5: Insert New Drop Point Wizard 3.

4.

10

Provide the following information: 

Define a name for the drop point in the Point Name field (the name must be the word DROP immediately followed by its number; for example, DROP1).



From the Drop Number pull-down menu, select the appropriate drop number to correspond with the point name entry.

After the required information is provided, click Finish.

APC_002

2.1 Overview of installing the APC software on a Windows-based Ovation system

5.

The New Drop Point dialog box appears.

Figure 6: Ne w Drop Point dialog bo x 6.

Tab through the New Drop Point dialog box and complete any desired changes to the default field values.

7.

Click the Appl y button to save these settings without closi ng the window, or click the Ok button to save the settings and close the window.

8.

Repeat the Insert New Drop Point procedure (Steps 1 through 7) if there is a partner drop.

9.

To load the drop, find it in the Developer Studio system tree, right-click it, and select Load .

The following table describes the New Drop Point dialog box fields. New Drop Point dialog box field d TAB Point

F IELD

escriptions D ESCRIPTION

Point Alias

Sixteen-character alias for the point name.

Description

Maps directly to the ED (English Description) field of the point record and can be up to 30 characters.

Characteristics

Maps directly to the KR field of the point record, with the first character mapping directly to the AY field (destination) of the point record. Up to eight alphanumeric characters can be used. The first character must be a letter (A - Z).

APC_002

Drop Number

Drop number of the srcinating drop of the point. Valid entries are 1-254.

Partner Drop

Identifies the drop number of the partner drop.

11

2.1 Overview of installing the APC software on a Windows-based Ovation system

TAB Security

F IELD Security Group

D ESCRIPTION Represents the defined security groups for each point in the system. Note: At least one security group must be selected to allow point modification.

Ancillary

Ancillary

Additional user-defined information about the points.

eDB

Collection Enabled

A check box that specifies if a point will be collected by an Ovation historian.

Scan Frequency

Frequency (in seconds) a specific point is scanned by the Ovation historianatonwhich the network to determine if it meets collection criteria.

Alarm

Alarm Priority

Sets the alarm priority field.

Display

Summary Diagram

Defines the applicable summary diagram which is sent to the process diagram system.

Signal Diagram

Defines the signal diagram number.

2. 1.4 To install the

algorithm s

Note: On a Windows-based system, you must load the APC Algorithm software on each Engineer/Operator drop individually. However, the license key is needed only on the Database Server drop. To install the algorithms on a Database Server

12

1.

Insert the APC Toolkit CD on the Database Server. The Installation Tool starts automatically.

2.

Click the Al go ri th m Software tab.

APC_002

2.1 Overview of installing the APC software on a Windows-based Ovation system

Note: To obtain a license key, you must contact your Emerson representative during normal work hours. Depending on your situation, this contact might be your project engineer, after-market representative, or field service engineer. Have the Host ID of your Database Server available.

Figure 7: Advanced Control Installation Tool - Algo

rithm Software ta b

3.

Enter your license key and click Validate Key . The licensed algorithms appear in yellow and the license box is checked.

4.

Select the algorithm you wish to install and select the Install button. The installation results or errors display in the Installation Results window.

To install the algorithms

on an Engineer or Opera tor dr op

1.

Insert the APC Toolkit CD in the Engineer/Operator drop. The Installation Tool starts automatically.

2.

Click the Al go ri th m Software tab. The licensed algorithms appear in yellow and the license box is checked.

3.

Select the algorithm you wish to install and select the Install button. The installation results or errors display in the Installation Results window.

APC_002

13

S

ECTION

3

Using advance d algorit hms on a control shee t

IN THIS SECTION Overview of using advanced algorithms in your control scheme......................................15 Accessing the Control Builderto ........................................................................................... Adding advanced algorithms a control sheet................................................................15 17 Editing advanced algorithm parameters in the Control Builder.........................................19 Using the Control Builder online help system ...................................................................23 Loading sheets to the Controller ....................................................................................... 25 Viewing advanced algorithms in Signal Diagrams ............................................................27 Reconciling tuning changes in a Windows-based Ovation system...................................30

3. 1

Ove rvi ew of usin g advanced

algorit hms in your cont rol scheme

Adding and using advanced algorithms in your control scheme involves several steps. The following list provides an overview of the process. See the specific topics for detailed instructions. Also see the applicable Ovation Control Builder User Guide for complete information on using the Control Builder application and signal diagrams. 1.

Access the Ovation Control Builder.

2.

Create or open a control sheet and add an advanced algorithm.

3. 4.

Define any required and/or optional parameters using the Control Builder Property Editor. If the advanced algorithm has an advanced editing function, define any required and/or optional parameters using the Advanced Applications Studio.

5.

When the sheet is complete, load the Controllers. The sheets are then automatically downloaded by the system to the Operator Stations.

6.

Access the signal diagram application to view the sheet containing the advanced algorithm.

7.

If the advanced algorithm is tunable, you may tune it by using the signal diagram Properties Summary window. Select the Advan ced button on the Properties Summary window to access the applicable tuning window for the advanced algorithm.

8.

Once tuning is complete, reconcile the tuning changes between the Controller and the database. Then reconcile the tuning changes between the database and the Control Builder.

APC_002

15

3.2 Accessing the Control Builder

3. 2

Accessi ng the Control

Buil der

Use the following procedures to access the Control Builder from a Windows-based Ovation system.

3. 2.1 To a ccess the Control Build

er in a Windows -ba sed O vation sy stem

1.

Access the Ovation Developer Studio (see Ovation Developer Studio User Guide for more information).

2.

Use the system tree to navigate to the applicable Control Sheets folder: System folder Network folder Unit folder Drops folder folder (applicable to the sheets that you want to delete) Control Task folder (applicable to the sheets that you want to delete) Control Sheets folder

3.

Select Control Sheets .

4.

The existing control sheets appear in the bottom Work Pad window. Right-click on a control sheet and select Open from the pop-up menu, or double-click on a control sheet. The selected sheet opens in the Control Builder window.

Figure 8 : Control Build er with sheet displayed on the drawing canvas

16

APC_002

3.3 Adding advanced algorithms to a control sheet

5.

If you want to create a new control sheet, right-click on the Control Sheets folder in the Developer Studio system tree. The New Control Sheets window appears. Fill in the following:

6.

3. 3



Sheet name -- determine how the sheet is described in the system.



Sheet Number -- give short reference number.



Sheet Component -- define the sheet component code.

The Control Builder opens with the new sheet (drawing canvas will be blank). The Property Editor displays the information that was entered in the New Control Sheets dialog box.

Addi ng advanced

algorit hms to a cont rol sheet

The APC Toolkit adds and edits advanced algorithm parameters through the Ovation Control Builder interface. This section briefly explains adding advanced algorithms using the Control Builder. Refer to the appropriate Ovation Control Builder User Guide for more specific information.

3. 3.1 To a dd advance d algorithms to a control sheet 1.

Access the Control Builder (see page 15).

2.

Open a control function, control library, or control macro.

3.

From the main Control Builder window, pull down the Draw menu, and select Ad d Alg or it hm . You can also select the Add Cont rol A lgor it hm icon on the toolbar. The Add Algorithm dialog box appears.

APC_002

17

3.3 Adding advanced algorithms to a control sheet

4.

Select the desired algorithm from the list. The algorithm symbols that are currently in the library display on the right side of the dialog box.

Figure 9 : Add Algorithm win dow 5.

Select the symbol that best fits your needs (symbols may vary depending on the number of

pins needed). 6. Select the OK button on the Add Algorithm dialog box. 7.

Move the cursor, which has changed to an arrow, to the drawing canvas. Move the algorithm to the desired location and left-click to position the algorithm on the canvas. Notice that a full-screen cross-hair icon appears that aligns items on the screen. While moving the algorithm across the canvas, you can toggle the full-screen cross-hair cursor by pressing the key on the keyboard. This is useful for aligning items on the canvas.

Note: When adding an algorithm, notice the algorithm anchor, shown in yellow. Once the algorithm is added to the canvas, the anchor can be used to align and space the algorithm on the sheet. If you hover the mouse over the anchor, the icon changes to a hand. If you left-click the mouse button, the hand "closes" as though it is gripping the anchor. You can then move the algorithm to the desired location. 8.

18

After adding the algorithm using the Add Algorithm dialog box, the algorithm appears in the Algorithms container in the Object Browser window. The algorithm parameters appear in the Property Editor window where you can edit them.

APC_002

3.4 Editing advanced algorithm parameters in the Control Builder

3. 4

Editing

advanced

algorit hm parame ters in the Control

Buil der

Once advanced algorithms have been added to a control sheet in the Control Builder, there are two windows that may be used to edit the algorithm parameters: 

Property Editor (see page 19)



Advanced Applications Studio (see page 20)

Once an algorithm is added to a sheet, you must define required and/or optional parameters through the Control Builder Property Editor. The Property Editor window defines and edits all the elements of a control function, control macro, algorithm symbol, and so forth. It works with the Object Browser and the drawing canvas to give you a complete picture of your control or graphic. Whereas the drawing canvas gives you a visual view of your function, and the Object Browser describes the relationships between the items of a function, the Property Editor is used to define the values for the items in a function. Refer to the Ovation Control Builder User Guide for more information. The Advanced Applications Studio displays custom edit dialog boxes that are specific to each individual advanced algorithm. These dialogs make the programming and configuration of many advanced algorithms easier by providing a user-friendly graphical interface. Not all of the advanced algorithms display a window in the Advanced Applications Studio. When you add an advanced algorithm to a control sheet, right-click on the algorithm. From the menu that displays, an Advanced Edit option appears only if there is an advanced edit window for this algorithm.

3. 4. 1 To use the P roperty Editor to edit a

dvanced a lgori thms

Use the following procedure to edit algorithm parameters in the Property Editor: 1.

APC_002

Access the Control Builder.

19

3.4 Editing advanced algorithm parameters in the Control Builder

20

2.

To edit the values and points for the algorithm, select the advanced algorithm on the drawing canvas or highlight the algorithm name in the Object Browser window. The Property Editor updates with a list of editable parameters.

3.

Highlight the field you wish to edit in the Property Editor. If the field requires user entry, an entry field appears. If it is a menu option of choices, a pull-down menu appears allowing you to choose the appropriate item.

4.

In the Property Editor, an algorithm parameter that displays a red circle with an "x" inside means that an error exists. For example, the error may indicate that the parameter is missing a required value. If you hover your mouse over the parameter, a tooltip appears with the error information. You can also display algorithm errors by pulling down the View menu and selecting Algo ri thm Erro rs . The Error List window appears describing the error. Note that you must correct all errors before you can save the sheet successfully.

5.

Make all the desired changes in the Property Editor, and then save the sheet.

APC_002

3.4 Editing advanced algorithm parameters in the Control Builder

3. 4.2 To use the Advanced Application algorithms

s Studio to view and e

dit advanced

1.

Access the Control Builder and open a control sheet.

2.

On the drawing canvas, hover the mouse over an advanced algorithm and right-click. The algorithm right-click menu appears.

3.

If the last item on the right-click menu is Advanced Edit, then the algorithm supports advanced editing functions. If the Advanced Edit menu item is not available, no advanced editing is available for that algorithm.

Figure 1 0: Algorithm right -click menu showing Adv anced E dit optio n

APC_002

21

3.4 Editing advanced algorithm parameters in the Control Builder

4.

If applicable, select Advan ced Edi t. The Advanced Applications Studio appears. The following figure shows an example of the Advanced Applications Studio.

Figure 11 : Example of Advanced Ap plication Studio The Advanced Application Studio displays an algorithm window with several tabs. Some of the tabs display information that is read-only. On other tabs, you can only edit certain fields. For fields that can be edited, make the desired changes and select the OK button at the bottom of the window to commit the changes and quit the window. To quit the window without saving any changes, press the Cancel button.

22

APC_002

3.5 Using the Control Builder online help system

3. 5

Using the Control

Buil der onli ne help system

The Ovation Control Builder has an online help system (QT Assistant) that provides information on the Control Builder application and on individual algorithms. You can access this help in several ways: 

By pulling down the Help menu on the main Control Builder window.



By pressing the F1 key on the keyboard while the cursor is anywhere on the Control Builder drawing canvas.



By right-clicking on an algorithm displayed on the Control Builder drawing canvas.



By pressing a Help button on any of the various Control Builder dialog boxes.

The following figure shows an example of the Control Builder Help window.

Figure 12 : Control Builder Help window

APC_002

23

3.5 Using the Control Builder online help system

The Help window contains four tabs that are used as different search methods: 

Contents



Index



Bookmarks



Search

The Contents tab displays a directory tree structure of the help file content for the current application. To access the information in the tree, expand the desired folder by clicking on the "+" sign. Select the desired subject. The right side of the window displays the corresponding help information. The Index tab displays a window that has a text entry field to search the index for specific information. The system searches the index for an entry as you type the information. As you type, it highlights index help topics that most closely alphabetically match your entry. Double-click on a topic to view help text. The right side of the window displays the corresponding help information. The Bookmarks tab easily catalogs and accesses help topics that you visit often. In this way, you do not have to remember the name of the topic or type anything -- just select the Bookmark tab and a list of your selected topics appears. The Search tab dialog box (located at the top of the right side of the window) allows you to enter a keyword into the Find box and click the Search button. Topics then appear that match the keyword. Double-click on a topic to display it. The right side of the window populates with the corresponding help information. In addition to the tabs that are part of the standard Help window, you can create custom tabs above the display area that allow you to easily toggle between help topics. To access functionality not available with tabs, the Help window provides a series of menus that are described in the following table. Control Builder He lp window menu fields and descriptio

ns

MENU

D ESCRIPTION

File

Page Setup -- selects the page size, orientation, and margins for the page. Print Preview -- allows you to see what the printed page will look like before you actually print. Print -- prints the currently displayed help topic. New Tab -- creates another tab on the display area. Close Tab -- closes the current tab on the display area. Quit -- exits the Control Builder Help window.

Edit

Copy Selected Text -- copies any selected text out of the help document so you can paste it into another document. Find in Text -- searches the current help topic. Find Next -- searches the next help topic. Find Previous -- searches the previous help topic. Preferences -- defines the settings for the CB Help window.

24

APC_002

3.5 Using the Control Builder online help system

MENU

D ESCRIPTION

View

Zoom in -- zooms in on the current view by a defined percentage. Zoom out -- zooms out of the current view by a defined percentage. Normal Size -- resets the font size in the current tab to the default size. Contents -- displays the directory tree structure of the contents of the help file. Index -- displays a window that has a text entry field to search the index for specific information. Bookmarks -- easily catalogs and accesses help topics that you visit often. Search -- displays a window that allows you to search for topics based on a defined keyword. Toolbars -- toggles the display of the toolbars.

Go

Home -- goes to the home page of the QT Assistant. Back -- goes to the previously displayed help topic (search backward). Forward -- goes to the help topic displayed after the current help topic (search forward). Sync w/ Table of Contents -- synchronizes the Contents window with the page currently shown in the main window. Next Page -- selects the next tab in the window. Previous Page -- selects the previous tab in the window.

Bookmarks

Add Bookmarks -- creates a bookmark to easily access a frequently used help topic.

Help

About Control Builder Help -- provides the version and copyright information for the Ovation Control Builder help.

The Control Builder Help window also provides a toolbar that provides quick access to the frequently used help functions. Each toolbar button has an associated “tooltip” for that button. A tooltip is a short descriptive text string describing the button function. To see the tooltip for a particular button, hover the mouse pointer over the toolbar button. For more information on using the QT Assistant, press the Home icon to access QT online help.

APC_002

25

3.6 Loading sheets to the Controller

3. 6

Loading

sheets to the Control ler

When you create a new Control Builder drawing or edit an existing drawing, you must first load the Controllers so that the control sheets can be displayed at the Operator Stations. Note: For Ovation releases 3.2 and later, you no longer have to manually download sheets to Operator Stations (MMIs). A service runs in the background that updates the MMIs on startup and every few minutes thereafter.

3. 6.1 To load sheets in a

Windows -ba sed O vation sys tem

1.

Access the Control Builder (see page 16).

2.

Create or edit a control sheet (.svg) file in the Control Builder and save it. The file is saved to the Oracle database.

3.

Load the control from the Oracle database to the Controller: a) Access the Controller Drop folder in the Studio. (See Ovation Developer Studio User Guide.) b) Right-click the appropriate Controller Drop folder and select Load . c)

For redundant Controller Drop configurations, the “Select a drop to load” dialog box appears. Select the Primary Controller Drop. The .svg file is saved to the Controller.

CAUTION! Make sure the changes are valid before loading the Partner Drop in redundant Controller Drop configurations.

Please note the following inform

26

ation:



When the Controller drop is loaded, the control sheets are copied to the online directory under OVPTSVR (Ovation Data Server). This makes them available to the MMIs. The MMIs will update their local copy within a minute of the load.



The files under OVPTSVR are displayed by the signal diagrams if they are opened from the Control Builder main window.



The local files under C:\Ovation are displayed by the signal diagrams if they are opened from any mechanism other than the Control Builder main window (such as a Point Menu or the Ovation Applications window).



A service runs in the background that updates the MMIs on startup and every few minutes thereafter.



After loading the Controller, the engineer may review the diagrams without downloading the Operator Stations by opening the signal diagrams from the Control Builder Tools menu.



Control becomes operational when the Controller is loaded. Control execution is completely independent from downloading the Operator Stations.



You can view Signal Diagrams before loading the Controller with the Synchronize Online option.

APC_002

3.7 Viewing advanced algorithms in Signal Diagrams

3. 7

Vie win g advanced

algorit hms in Signal Diagrams

Once you create and save a control function (sheet) in the Control Builder, you can view it online through a signal diagram. A signal diagram is an Ovation Operator Station application that monitors and tunes a control process. In order to use a signal diagram to monitor or tune a process, you must first load the control function (.svg file) into the Controller and then a service that runs in the background automatically updates the Operator Stations on startup and every few minutes thereafter. Note: The following procedure discusses one way to access signal diagrams from the Windows-based Ovation systems. Signal diagrams can also be accessed from a Point Menu or from the Control Builder. Refer to the applicable Ovation Control Builder User Guide for more information.

3. 7.1 To access signal diagra window 1.

ms from the

Windows -base d Ovation Applic

ations

From the Ovation Operator Station, choose Start -> Ovation -> Ovation Applications Ovation Application icons appear.

. The

Figure 13: Ope rator Station applications

APC_002

27

3.7 Viewing advanced algorithms in Signal Diagrams

2.

Double-click the Signal Diagram icon. The Open Document window appears.

Figure 14: Signal Diagrams -- Open Document window 3.

4.

28

From the Open Document window, navigate to the sheet you want to display. To do this, expand the unit, drop, and control task folders until you find the desired sheet. For more information on using the Open Document window, see Opening a sheet in the Signal Diagram window. Double-click the sheet and the Signal Diagram window appears with the sheet displayed on the canvas.

APC_002

3.7 Viewing advanced algorithms in Signal Diagrams

3. 7.2 To access the Advanced Tuning window for APC signal diagrams

Toolkit algorit

hms in

1.

Access the Signal Diagram window (see page 27).

2.

Open the Sheet Browser window, and select a sheet to display in the drawing canvas.

3.

On the drawing canvas, right-click the desired algorithm. Select Advan ced Tunin g from the menu that appears.

Figure 15: Signal Diagram -- Right-click menu from canvas An Advanced Tuning window applicable to the selected algorithm displays.

APC_002

29

3.8 Reconciling tuning changes in a Windows-based Ovation system

3. 8

Re conc ili ng tuni ng changes

in a Windows -base d Ova tio n syst em

After you have created a control sheet and saved it, you must load the control to the Controller and then the system downloads the file to an MMI in your system. Then you can monitor and tune the control process using a signal diagram at any MMI. During the monitoring process, you might want to make online tuning changes to an algorithm (only algorithm parameter values can be tuned, not point values). These tuning changes are sent to the Controller as you make them. After you complete the changes, you will need to use the Reconcile function in the Ovation Developer Studio if you want to put those changes into the database. When youorbegin Reconciliation process in the Studio, you betoprompted to accept the changes rejectthe them. If you accept the changes, they will bewill sent the database. If you do not accept the changes, the algorithm parameter values will not be sent to the database. Finally, in order for the tuning changes to become permanent, you must use the Reconcile function in the Control Builder to put the changes into the .svg file. This process is illustrated in the following figure:

3. 8.1 To reconcile tuning ch anges betwee n the Controller and the da Windows-based Ovation systems

tabase for

1.

Access the Signal Diagram window.

2.

Select a sheet from the Open Document window.

3.

Make any desired changes and save them. The changes are sent to the Controller. In order for the changes to be sent to the database, you must reconcile the Controller and the database.

4.

Access the Ovation Developer Studio and select the Controller where the sheet resides.

5.

Right-click the Controller and select Reconcile .

6.

If the drop is redundant, the “Select a drop to reconcile” dialog box appears. Select the appropriate target drop and then select Ok. Communications are established at the target drop and the Reconcile dialog box appears

30

APC_002

3.8 Reconciling tuning changes in a Windows-based Ovation system

7.

Check for files listed in the "Items not compared" field in the top section of the dialog box. Items that cannot be reconciled and the reasons they cannot be reconciled are listed in this field.

8.

Check for items that have differences and that can be reconciled in the "Difference(s) found" field in the bottom section of the dialog box.

9.

Select the changes that you want to upload to the database. They now appear highlighted. If you do not select them, the change s will not be uploaded.

10. Select Ok to copy the algorithm changes to the database. Note that if nothing is selected in the lower window pane, nothing will be copied even if you select the Ok button. The selected Controller and the database are reconciled. Refer to To reconcile tuning changes between the database and the Control Builder (see page 31) to reconcile the database and the control sheet.

3. 8.2 To re conci le tuning changes betwee 1.

n the da tabase and the Control Buil

der

Perform the reconciliation process between the Controller and the database (see page 30). Once that reconcile is complete, the tuning changes must be put into the .svg file (control sheet) at the Control Builder. This prevents the changes from being overwritten and lost.

Note: Compiling control sheets will overwrite tuning changes. You must reconcile tuning changes before compiling. 2.

Access the Control Builder and open the control sheet that has been modified.

3.

If the Update Tuning Parameters window appears, select the changes you want to put into the control function. Select the Reconcile button. Note that you must have the Reconcile parameter on the Configure Settings window set to "Enable" for this to occur. OR

APC_002

31

3.8 Reconciling tuning changes in a Windows-based Ovation system

If the sheet is already open in the Control Builder window, you can pull down the File menu and select Reconcile . If there are changes, the Reconcile Tuning Parameters window appears (see the following figure). Select the changes on the window and press the Reconcile button.

Figure 16: Reconcile Tuning Parameters window OR If tuning changes have been made across multiple sheets, use the Reconcile operation found on the Control Buil der Tools -> Ope rations menu. The changes are saved from the database to the .svg file and the tuni ng changes that were made are incorporated into the control sheet.

32

APC_002

S

4

ECTION

Algorithm reference page format

IN THIS SECTION Using algorithm reference pages ...................................................................................... 33

4. 1

Using algorit hm reference

pages

Algorithm reference pages are provided for each algorithm in this manual. These pages are alphabetized and provide the following information about each algorithm (where applicable): 

Description - Describes the algorithm's operation.



Invalid Real Numbers and Quality



Functional Symbol - Illustrates (in pictorial form) the al gorithm's operation. Refer to Algorithm functional symbols (see page 34).



Al go ri th m Recor d Type (if r equ ir ed) - Defines the type and size of the record generated for storing parameters and other information necessary to the algorithm. (See Ovation Record Types Reference Manual.)



Al go ri th m Defi ni ti on s - Provides the following information on the algorithm: 

- Describes how quality is set.

Names of the parameters used.



Algorithm record field used by each tuning constant or data initialization parameter; also,



the type of entry required in this field (integer, byte, or real). Parameter types such as those described below:





Variable = Input or output signal to the algorithm (that is, analog or digital).



Tuning Constant = Fixed parameter that remains constant unless it is changed by the user at the Operator's Station or Control Builder.



Data Initialization Parameter = Fixed constant that cannot be changed by the user at the Operator's Station but can be changed by the Control Builder.



Selectable = Can be either a Tuning constant in an algorithm record field or a point record.



Reconcilable Constant = Parameter can be tuned and reconciled through a special, project-specific diagram.



Algorithm Initialization = Internal parameter that is exposed by the algorithm.

Definition of whether the parameter is required or optional. If the parameter is optional and not initialized by the user, it defaults to zero. If there areainput to for theanalog algorithm thatand areFALSE optionalfor and not initialized they have valuepoints of zero points digital inputs. by the user,

APC_002



Default value (if applicable).



Brief description of the parameter.

33

4.1 Using algorithm reference pages



Minimum point record required by each variable. Each algorithm defines the minimum size point record that can be used for each algorithm input or output. The quality of the points is set BAD when a detectable hardware failure is encountered. This information can be used in control strategies or for alarming purposes by detecting BAD quality using the QUALITYMON series of algorithms.



Function - Explains the algorithm's operation in terms of a mathematical equation.



Appl ic ati on Exampl e - Provides an example to demonstrate the use of the algorithm.



Miscella neous Sections - Applicable to a specific algorithm only.

4. 1.1 Algor ithm func tion al symb ols The following items are used in the algorithm functional symbols: 

Required Analog (LA record type) input or output (solid line and solid arrowhead).



Required Digital or Packed Digital (LD or LP record type) input or output (solid line and hollow arrowhead).



Required Algorithm (LC record type) input or output (solid line and line arrowhead).



Required Drop (DU) input or output (solid line and no arrowhead).



Optional or Selectable Analog (LA record type) input or output (dashed line and solid arrowhead).



Optional or Selectable Digital or Packed Digital (LD, LP record type) input or output (dashed line and hollow arrowhead).



Optional or Selectable Algorithm (LC record type) input or output (dashed line and line arrowhead



Optional or Selectable Drop (DU record type) input or output (dashed line and no arrowhead)

Note: Symbols portrayed in this manual only serve as an example and can be configured differently depending on the number and type of pins that are used. The Control Builder application may show various symbol configurations of the same algorithm and may not directly match what is shown in this document.

34

APC_002

S

ECTION

5

Using t he AR X Model algori thm

IN THIS SECTION What is the ARX model algorithm? ................................................................................... 35 ARX modeladvanced algorithm editing functional symbol 36 Accessing for the ARX........................................................................... model algorithm in the Control Builder ............36 ARX model algorithm operation with fuzzy logic algorithms .............................................39 ARX model algorithm tracking signals .............................................................................. 39 ARX model algorithm I/O pins........................................................................................... 40 ARX model algorithm definitions ....................................................................................... 40 ARX model algorithm auxiliary LC records ....................................................................... 45

5. 1

Wha t is the ARX model algorit hm? Note: The ARX algorithm can only be purchased as part of an engineered solution. The AutoRegressive with eXogenous input (ARX model) algorithm provides a multi-input and multi-output (MIMO) linear transfer function model. The algorithm is capable of capturing both the dynamics as well as the delay time between the outputs and related inputs. The ARX model can simulate up to six process variable (PV) outputs based on up to ten inputs. In the actual process variable being simulated, the inputs typically represent either manipulated variables (MV) or disturbance variables (DV). Regardless of what they physically represent in the process, the algorithm does not distinguish between MV and DV inputs. The model order is limited to four coefficients for each input signal and four coefficients for each output signal. The maximum delay supported by the model is limited to 80 loop times. All outputs values are limited in magnitude via user-defined limits for each output. Refer to the ARX algorithm output calculation (see page 360). To select the ARX model algorithm, refer to To add advanced algorithms using the pull-down menu.

APC_002

35

5.2 ARX model algorithm functional symbol

5. 2

ARX model algorithm

functional

symbol

5. 3

Accessi ng advanced Control Builder

editing for

the ARX model algorit hm in the

To access the Advanced Applications Studio for the ARX model algorithm, refer to To use the Advanced Applications Studio to view and edit advanced algorithms (see page 20). Note: No default tuning window is available for the ARX model algorithm in signal diagrams.

36

APC_002

5.3 Accessing advanced editing for the ARX model algorithm in the Control Builder

5. 3.1 ARX model a lgori thm Input/Output C

onfi guration tab

The Input/Output Configuration tab allows you to view configured algorithm input/output parameters for the ARX model algorithm. This tab is informational only. You cannot edit options from this dialog box or sort the columns in this table.

Figure 17 : ARX model algorithm

APC_002

Input/O utput Configuration t ab

37

5.3 Accessing advanced editing for the ARX model algorithm in the Control Builder

5.3 .2 ARX mod el algor ith m ARXModel Parameters

tab

The ARXModel Parameters tab displays the configurable parameters for the ARX model algorithm. It is also used to import and export models. Editable fields are indicated with a white background. To edit a value, left-click in the entry field to enter the new value. Once you enter the change, press the key on the keyboard or click inside another cell so that the change you made takes effect. Press OK to save the change.

Figure 18: ARXModel Parameters tab

38

APC_002

5.4 ARX model algorithm operation with fuzzy logic algorithms

5. 4

ARX model algorit hm operation

with fuzzy log ic algorit hms

It is possible for multiple ARX models to be combined to provide a non-linear model function. The idea is that a particular ARX algorithm is valid in a certain region of the process response. Since process dynamics typically do not change abruptly, it is necessary to provide a smooth transition between active models. This smooth transition can be realized using fuzzy logic. The multiple ARX models can be aggregated using fuzzy logic. In modes the FUZZIFIER algorithm is used. In this configuration, the PREV_OUTPUT updates with the global output from the FUZZIFIER algorithm. This allows the ARX algorithm to use the global output from the FUZZIFIER algorithm as the previous step output values(y(k-1) in the algorithm calculation.

5. 5

ARX model algorit hm tracki ng sign als External tracking and limiting are done through signals passed in the upper 16 bits of the third status word of the analog track points. This algorithm takes the following action in response to information found in the third status word of the analog input signal TRIN: ARX tr ack in g s ig nal s BIT

D ESCRIPTION

A CTION

TOUT S IGNAL

16

Track

Implemented

Not used

17

Track if lower

Implemented when not in Manual mode*

Not used

18

Track if higher

Implemented when not in Manual mode*

Not used

19

Lower inhibit

Implemented*

Not used

20 21

Raise inhibit Conditional Track

Implemented* See description of cascaded mode.

Not used Not used

22

Not used

No action

Not used

23

Deviation Alarm

No action

Not used

24

Local Manual mode

No action

Not used

25

Manual mode

No action

Not used

26

Auto mode

No action

Not used

27

Not Used

No action

Not used

28

Not Used

No action

Not used

29

Not Used

No action

Not used

30

Low limit reached

No action

Not used

31

High limit reached

No action

Not used

*Only when the track signal is not present. **Only when the track signal is not present; the signals are set according to the definitions given in Setting Tracking Signals in the Ovation Algorithm Reference Manual.

APC_002

39

5.6 ARX model algorithm I/O pins

5. 6

ARX model algorit hm I/ O pins IN - input variables (DV or MV - 10 element vector) PREV - output from previous loop time. These outputs are used when the previous output (y(k-1)) to be used in the calculation is not the calculated output of the algorithm. First example is when the algorithm is being used to predict the value of a process variable, and the actual measured values of the PV are to be used in the calculation. A second example is when the algorithm is being used with the Ovation Fuzzy Logic algorithms to provide a non-linear function. In both of these examples, the value to be used in the calculation should be connected to the PREV pin. OUT - Process Variable output values (6 element vector). These are the PV values being simulated TPSC - User-defined high limit for each output BTSC - User-defined low limit for each output

5. 7

ARX model algorit hm definit ions Note: Algorithm record type = LC ARX alg or ithm def init io ns

NA ME

L C AL G. R ECORD F IELD

DIAG

LU-Integer

TYPE

R EQUIRED / O PTIONAL

D EFAULT V A L UE

D ESCRIPTION

MIN. P OINT REC.

Data Init

Required

0

Tuning Diagram

-

Number

40

AUX1

G0-Integer

Data Init

Required

-

Model for first output

LC

AUX2

G1-Integer

Data Init

Required

-

Model for second output

LC

AUX3

G2-Integer

Data Init

Required

-

Model for third output

LC

AUX4

G3-Integer

Data Init

Required

-

Model for fourth output

LC

AUX5

G4-Integer

Data Init

Required

-

Model for fifth output

LC

AUX6

G5-Integer

Data Init

Required

-

Model for sixth output

LC

IN1

-

Variable

Required

-

Input1

LA

IN2

-

Variable

Optional

-

Input2

LA

IN3 IN4

-

Variable Variable

Optional Optional

-

Input3 Input4

LA LA

IN5

-

Variable

Optional

-

Input5

LA

APC_002

5.7 ARX model algorithm definitions

APC_002

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT V A L UE

D ESCRIPTION

MIN. P OINT REC.

IN6

-

Variable

Optional

-

Input6

LA

IN7

-

Variable

Optional

-

Input7

LA

IN8

-

Variable

Optional

-

Input8

LA

IN9

-

Variable

Optional

-

Input9

LA

IN10

-

Variable

Optional

-

Input10

LA

PREV1

-

Variable

Optional

-

Previous 1st output value

LA

PREV2

-

Variable

Optional

-

Previous 2nd output value

LA

PREV3

-

Variable

Optional

-

Previous 3rd output value

LA

PREV4

-

Variable

Optional

-

Previous 4th output value

LA

PREV5

-

Variable

Optional

-

Previous 5th output value

LA

PREV6

-

Variable

Optional

-

Previous 6th output value

LA

TRIN1

-

Variable

Optional

-

Tracking analog input variable1

LA

TRIN2

-

Variable

Optional

-

Tracking analog input variable2

LA

TRIN3

-

Variable

Optional

-

Tracking analog input variable3

LA

TRIN4

-

Variable

Optional

-

Tracking analog input variable4

LA

TRIN5

-

Variable

Optional

-

Tracking analog input variable5

TRIN6

-

Variable

Optional

-

Tracking analog input variable6

OUT1

-

Variable

Required

-

Analog Output Point1

LA

OUT2

-

Variable

Optional

-

Analog Output Point2

LA

OUT3

-

Variable

Optional

-

Analog Output Point3

LA

OUT4

-

Variable

Optional

-

Analog Output Point4

LA

OUT5

-

Variable

Optional

-

Analog Output Point5

LA

OUT6

-

Variable

Optional

-

Analog Output Point6

LA

LA

LA

41

5.7 ARX model algorithm definitions

NA ME

42

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT V A L UE

D ESCRIPTION

MIN. P OINT REC.

ERR

-

Variable

Optional

-

Error Status Point

LP

HOR

G6-Integer

Data Init

Optional

1

Simulation horizon specified in algorithm loop times

-

NOUT

G7-Integer

Data Init

Required

0

Number of outputs

TPSC1

R1 - Real

Selectable

Required

100.0

Maximum value of the output point 1

LA

BTSC1

R2 - Real

Selectable

Required

0.0

Minimum value of the output point 1

LA

TPSC2

R3 - Real

Selectable

Optional

100.0

Maximum value of the output point 2

LA

BTSC2

R4 - Real

Selectable

Optional

0.0

Minimum value of the output point 2

LA

TPSC3

R5 - Real

Selectable

Optional

100.0

Maximum value of the output point 3

LA

BTSC3

R6 - Real

Selectable

Optional

0.0

Minimum value of the output point 3

LA

TPSC4

R7 - Real

Selectable

Required

100.0

Maximum value of the output point 4

LA

BTSC4

R8 - Real

Selectable

Required

0.0

Minimum value of the output point 4

LA

TPSC5

R9 - Real

Selectable

Optional

100.0

Maximum value of the output point 5

LA

BTSC5

S1 - Real

Selectable

Optional

0.0

Minimum value of the output point 5

LA

TPSC6

S2 - Real

Selectable

Optional

100.0

Maximum value of the output point 6

LA

BTSC6

S3 - Real

Selectable

Optional

0.0

Minimum value of the output point 6

LA

ISTP1

X7 Byte Bit 1

Data Init

Required

NO_ACTIVE

Is active TPSC1 constrain 0-NO_ACTIVE 1-ACTIVE

-

ISTP2

X7 Byte Bit 2

Data Init

Optional

NO_ACTIVE

Is active TPSC2 constrain 0-NO_ACTIVE 1-ACTIVE

-

ISTP3

X7 Byte Bit 3

Data Init

Optional

NO_ACTIVE

Is active TPSC3 constrain 0-NO_ACTIVE 1-ACTIVE

-

APC_002

5.7 ARX model algorithm definitions

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT V A L UE

D ESCRIPTION

MIN. P OINT REC.

ISTP4

X7 Byte Bit 4

Data Init

Optional

NO_ACTIVE

Is active TPSC4 constrain 0-NO_ACTIVE 1-ACTIVE

-

ISTP5

X7 Byte Bit 5

Data Init

Optional

NO_ACTIVE

Is active TPSC5 constrain 0-NO_ACTIVE 1-ACTIVE

-

ISTP6

X7 Byte Bit 6

Data Init

Optional

NO_ACTIVE

Is active TPSC6 constrain 0-NO_ACTIVE 1-ACTIVE

-

ISBT1

X8 Byte Bit 1

Data Init

Required

NO_ACTIVE

Is active BTSC1 constrain 0-NO_ACTIVE 1-ACTIVE

-

ISBT2

X8 Byte Bit 2

Data Init

Optional

NO_ACTIVE

Is active BTSC2 constrain 0-NO_ACTIVE 1-ACTIVE

-

ISBT3

X8 Byte Bit 3

Data Init

Optional

NO_ACTIVE

Is active BTSC3 constrain 0-NO_ACTIVE 1-ACTIVE

-

ISBT4

X8 Byte Bit 4

Data Init

Optional

NO_ACTIVE

Is active BTSC4 constrain

-

0-NO_ACTIVE 1-ACTIVE ISBT5

X8 Byte Bit 5

Data Init

Optional

NO_ACTIVE

Is active BTSC5 constrain 0-NO_ACTIVE 1-ACTIVE

-

ISBT6

X8 Byte Bit 6

Data Init

Optional

NO_ACTIVE

Is active BTSC6 constrain 0-NO_ACTIVE 1-ACTIVE

-

DU1

S4-Real

Data Init

Required

5.0

Rate of change limit in units per step (for output 1)

-

DU2

S5-Real

Data Init

Optional

5.0

Rate of change limit in units per step (for output 2)

-

DU3

S6-Real

Data Init

Optional

5.0

Rate of change limit

-

DU4

S7-Real

Data Init

Optional

5.0

Rate of change limit in units per step (for output 4)

in units3) per step (for output

APC_002

-

43

5.7 ARX model algorithm definitions

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT V A L UE

DU5

S8-Real

Data Init

Optional

5.0

Rate of change limit in units per step (for output 5)

-

DU6

S9-Real

Data Init

Optional

5.0

Rate of change limit in units per step (for output 6)

-

ISDU1

YO Byte

Data Init

Required

NO_ACTIVE

Is active DU1

-

Bit 1

44

MIN. P OINT REC.

D ESCRIPTION

constrain 0-NO_ACTIVE 1-ACTIVE

ISDU2

YO Byte Bit 2

Data Init

Optional

NO_ACTIVE

Is active DU2 constrain 0-NO_ACTIVE 1-ACTIVE

-

ISDU3

YO Byte Bit 3

Data Init

Optional

NO_ACTIVE

Is active DU3 constrain 0-NO_ACTIVE 1-ACTIVE

-

ISDU4

YO Byte Bit 4

Data Init

Optional

NO_ACTIVE

Is active DU4 constrain 0-NO_ACTIVE 1-ACTIVE

-

ISDU5

YO Byte Bit 5

Data Init

Optional

NO_ACTIVE

Is active DU5 constrain 0-NO_ACTIVE 1-ACTIVE

-

ISDU6

YO Byte Bit 6

Data Init

Optional

NO_ACTIVE

Is active DU6 constrain 0-NO_ACTIVE 1-ACTIVE

-

STIME

XR-Integer

Data Init

Required

10000

Sample time

IQUAL

X1 Byte Bit 0

Data Init

Required

NO_ACTIVE

Ignore bad quality

IDPRE

X1 Byte Bit 1

Data Init

Required

NO_ACTIVE

Display prediction

APC_002

5.8 ARX model algorithm auxiliary LC records

5. 8

ARX model algorit hm auxiliary

LC records

Note: AUX1-AUX6 contains the model parameters for outputs 1-6. ARX Al go ri thm–A ux il iar y LC rec or ds

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

DIAG

LU-Integer

Tuning

Required

D EFAULT VA L UE XXX

constant

APC_002

D ESCRIPTION

Tuning Diagram Number

NIN

G0-Integer

Data Init

Required

0

Number of inputs

NB1

G1-Integer

Data Init

Optional

0

Order of input 1

NB2

G2-Integer

Data Init

Optional

0

Order of input 2

NB3

G3-Integer

Data Init

Optional

0

Order of input 3

NB4

G4-Integer

Data Init

Optional

0

Order of input 4

NB5

G5-Integer

Data Init

Optional

0

Order of input 5

NB6

G6-Integer

Data Init

Optional

0

Order of input 6

NB7

G7-Integer

Data Init

Optional

0

Order of input 7

NB8

G8-Integer

Data Init

Optional

0

Order of input 8

NB9

G9-Integer

Data Init

Optional

0

Order of input 9

NB10

B0-Integer

Data Init

Optional

0

Order of input 10

DEL1

B1-Integer

Data Init

Optional

0

Delay of input 1

DEL2

B2-Integer

Data Init

Optional

0

Delay of input 2

DEL3

YU-Integer

Data Init

Optional

0

Delay of input 3

DEL4

B4-Integer

Data Init

Optional

0

Delay of input 4

DEL5

B5-Integer

Data Init

Optional

0

Delay of input 5

DEL6

B6-Integer

Data Init

Optional

0

Delay of input 6

DEL7

B7-Integer

Data Init

Optional

0

Delay of input 7

DEL8

B8-Integer

Data Init

Optional

0

Delay of input 8

DEL9

B9-Integer

Data Init

Optional

0

Delay of input 9

DEL10

C0-Integer

Data Init

Optional

0

Delay of input 10

NA

C1-Integer

Data Init

Optional

0

Order of output

MAP

C2-Integer

Data Init

Required

1

Mapping which input is taken for this output. If the bit is set to 1 then the input is active.

INA1

D2 - Real

Data Init

Optional

0.0

Average (point of work) on input 1

45

5.8 ARX model algorithm auxiliary LC records

46

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

INA2

YP - Real

Data Init

INA3

D4 - Real

INA4

D EFAULT VA L UE

D ESCRIPTION

Optional

0.0

Average (point of work) on input 2

Data Init

Optional

0.0

Average (point of work) on input 3

D5 - Real

Data Init

Optional

0.0

Average (point of work) on input 4

INA5

D6 - Real

Data Init

Optional

0.0

Average (point of work) on input 5

INA6

YN - Real

Data Init

Optional

0.0

Average (point of work) on input 6

INA7

D8 - Real

Data Init

Optional

0.0

Average (point of work) on input 7

INA8

D9 - Real

Data Init

Optional

0.0

Average (point of work) on input 8

INA9

YM - Real

Data Init

Optional

0.0

Average (point of work) on input 9

INA10

YL - Real

Data Init

Optional

0.0

Average (point of work) on input 10

A1

YC - Real

Data Init

Optional

0.0

a1 coefficient

A2

Y9 - Real

Data Init

Optional

0.0

a2 coefficient

A3

E7 - Real

Data Init

Optional

0.0

a3 coefficient

A4

E8 - Real

Data Init

Optional

0.0

a4 coefficient

B11

Y8 - Real

Data Init

Optional

0.0

b0 coefficient

B12

Y7 - Real

Data Init

Optional

0.0

b1 coefficient

B13

Y6 - Real

Data Init

Optional

0.0

b2 coefficient

B14

XY - Real

Data Init

Optional

0.0

b3 coefficient

B21

XW - Real

Data Init

Optional

0.0

b0 coefficient

B22

F4 - Real

Data Init

Optional

0.0

b1 coefficient

B23

F5 - Real

Data Init

Optional

0.0

b2 coefficient

B24

F6 - Real

Data Init

Optional

0.0

b3 coefficient

B31

XV - Real

Data Init

Optional

0.0

b0 coefficient

B32

XU - Real

Data Init

Optional

0.0

b1 coefficient

B33

XR - Real

Data Init

Optional

0.0

b2 coefficient

B34

R1 - Real

Data Init

Optional

0.0

b3 coefficient

B41

R2 - Real

Data Init

Optional

0.0

b0 coefficient

B42

R3 - Real

Data Init

Optional

0.0

b1 coefficient

B43

R4 - Real

Data Init

Optional

0.0

b2 coefficient

B44

R5 - Real

Data Init

Optional

0.0

b3 coefficient

APC_002

5.8 ARX model algorithm auxiliary LC records

APC_002

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

B51

R6 - Real

Data Init

B52

R7 - Real

Data Init

B53

R8 - Real

B54

D EFAULT VA L UE

D ESCRIPTION

Optional

0.0

b0 coefficient

Optional

0.0

b1 coefficient

Data Init

Optional

0.0

b2 coefficient

R9 - Real

Data Init

Optional

0.0

b3 coefficient

B61

S1 - Real

Data Init

Optional

0.0

b0 coefficient

B62 B63

S2 - Real S3 - Real

Data Init Data Init

Optional Optional

0.0 0.0

b1 coefficient b2 coefficient

B64

S4 - Real

Data Init

Optional

0.0

b3 coefficient

B71

S5 - Real

Data Init

Optional

0.0

b0 coefficient

B72

S6 - Real

Data Init

Optional

0.0

b1 coefficient

B73

S7 - Real

Data Init

Optional

0.0

b2 coefficient

B74

S8 - Real

Data Init

Optional

0.0

b3 coefficient

B81

S9 - Real

Data Init

Optional

0.0

b0 coefficient

B82

T1 - Real

Data Init

Optional

0.0

b1 coefficient

B83

T2 - Real

Data Init

Optional

0.0

b2 coefficient

B84

T3 - Real

Data Init

Optional

0.0

b3 coefficient

B91

T4 - Real

Data Init

Optional

0.0

b0 coefficient

B92

T5 - Real

Data Init

Optional

0.0

b1 coefficient

B93 B94

T6 - Real T7 - Real

Data Init Data Init

Optional Optional

0.0 0.0

b2 coefficient b3 coefficient

B101

T8 - Real

Data Init

Optional

0.0

b0 coefficient

B102

T9 - Real

Data Init

Optional

0.0

b1 coefficient

B103

U1 - Real

Data Init

Optional

0.0

b2 coefficient

B104

U2 - Real

Data Init

Optional

0.0

b3 coefficient

OUTA

U3 - Real

Data Init

Required

1

Average (point of work) on output

47

S

ECTION

6

Using t he Dyn amic Ma tr ix Cont ro ll er (DMC) algorithm

IN THIS SECTION What is the DMC algorithm? ............................................................................................. 49 DMC algorithm functional symbol ..................................................................................... 50 Accessing advanced editing for the DMC algorithm in the Control Builder ......................50 DMC algorithm definitions ................................................................................................. 54 Auxiliary DMC algorithm definitions .................................................................................. 64 DMC algorithm status of optimization (STAT) output........................................................88 DMC algorithm tracking signals ........................................................................................ 88 DMC algorithm MV bump protection................................................................................. 89 DMC algorithm cascaded mode and conditional tracking.................................................93 Accessing the tuning window for the DMC algorithm in signal diagrams .......................103

6. 1

What is the DM C algorit hm? Note: The DMC algorithm can only be purchased as part of an engineered solution. The Dynamic Matrix Controller (DMC) algorithm provides a predictive Controller. The DMC can calculate five output signals (manipulated variables - MV) based on five disturbance variables (DV) and six control variables (CV). The output values are limited via user-defined limits for each output. The algorithm supports all Ovation system logic for each output separately. Refer to the DMC algorithm output calculation (see page 367). Note: All DMC algorithms in a single Controller must be in the same control task area. Normally, the DMC algorithm is placed in a control task area of 10 seconds or greater.

APC_002

49

6.2 DMC algorithm functional symbol

6. 2

DM C algorit hm func tion al symb ol

STPT 6

PV (CV-6)

DV (5) OUT_PREV

Internal Model HLIMIT1,2,3,4,5

Optimizer

LLIMIT1,2,3,4,5

TRIN1,2,3,4,5 OUT (MV-5)

STAT

ERR

Figure 19 : DMC algorithm f unction al symbol Where: Internal Model - step response model. Optimizer - Quadratic Programming (QP) problem solver with constraints.

50

APC_002

6.3 Accessing advanced editing for the DMC algorithm in the Control Builder

6. 3

Accessi ng advanced Control Builder

editing for

the DM C algori thm in the

You can make minor adjustments with the graphical interface tool available through the Control Builder. To access the Advanced Applications Studio for the DMC algorithm, refer to To use the Advanced Applications Studio to view and edit advanced algorithms (see page 20).

6. 3. 1 DMC Input/Output C

onfig uration tab

The Input/Output Configuration tab displays the algorithm's input and output configuration tab. This tab is informational only. You cannot edit options from this window or sort the columns in this table. Use the scroll bar to see the full listing. Check the Enable ToolTips check box for helpful descriptions when you hover the mouse cursor over various elements of the window.

Figure 20: DMC Input/Output Configuration tab

APC_002

51

6.3 Accessing advanced editing for the DMC algorithm in the Control Builder

6.3.2

DMC General Paramet ers tab The General Parameters tab displays the global parameters for the algorithm, which includes the model MV input constraints, gain and bias for setpoints and process variables, and parameters for prediction outputs. Editable fields are indicated with a white background in the Value or Active columns. To edit a value, left-click in the entry field to enter the new value. Once you enter the change, press the key on the keyboard or click inside another cell so that the change you made takes effect. Press OK to save the change. Values for gain setpoints must be > 0 to be valid.

Selectable Fields (Model MV Input Constraints) section This section allows you to define top and bottom limits and rate of change limits for each MV. Also, you can define a special design rate limit that will be achieved only after transition from MAN to AUTO in X steps, where X is also defined by the user as an SNL parameter. (Refer to DMC algorithm MV bump protection (see page 89).) An alog Fields s ect ion This section allows you to define gain and bias for setpoints and process variables. Prediction Outputs s ection This sectionisallows you to define CV number and timestamp of the predicted output. The timestamp defined in loops timethe (K+loops).

52

APC_002

6.3 Accessing advanced editing for the DMC algorithm in the Control Builder

6.3 .3 DMC Aux ili ary Parameters

tab

The Auxiliary Parameters tab contains two tabs: 

Model Parameters tab (see page 53).



Weighting Parameters tab (see page 54).

DMC Model Parameters tab The Model Parameters tab allows you to import a specific model for the algorithm to use.

Figure 21: DMC Model Parameters tab

APC_002

53

6.4 DMC algorithm definitions

DMC Weightin g Parameters tab The Weighting Parameters tab allows you to modify the weights of the MV inputs (R matrix) and CV outputs (Q matrix)

Figure 22: DMC Weightin g Parameters tab

6. 4

DM C algorit hm definit ions Note: Algorithm record type = LC DMC algorithm d efinitions

54

NA ME

L C AL G. R ECORD F IELD

DIAG

M I N. P OINT REC.

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

LU-Integer

Data Init

Required

153

Tuning Diagram Number

-

AUX1

G0-Integer

Auxiliary

Required

-

Matrix_D and piece of matrix Q

LC

AUX2

G1-Integer

Auxiliary

Required

-

Matrix_Delay and matrix R

LC

AUX3

G2-Integer

Auxiliary

Required

-

Model MV1 - CV(1,2)

LC

D ESCRIPTION

APC_002

6.4 DMC algorithm definitions

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

M I N. P OINT REC.

AUX4

G3-Integer

Auxiliary

Required

-

Model MV1 - CV(3,4)

AUX5

LC

G4-Integer

Auxiliary

Required

-

Model MV1 - CV(5,6)

LC

AUX6

G5-Integer

Auxiliary

Required

-

Model MV2 - CV(1,2)

LC

AUX7

G6-Integer

Auxiliary

Required

-

Model MV2 - CV(3,4)

LC

AUX8

G7-Integer

Auxiliary

Required

-

Model MV2 - CV(5,6)

LC

AUX9

G8-Integer

Auxiliary

Required

-

Model MV3 - CV(1,2)

LC

AUX10

G9-Integer

Auxiliary

Required

-

Model MV3 - CV(3,4)

LC

AUX11

B0-Integer

Auxiliary

Required

-

Model MV3 - CV(5,6)

LC

AUX12

B1-Integer

Auxiliary

Required

-

Model MV4 - CV(1,2)

LC

AUX13

B2-Integer

Auxiliary

Required

-

Model MV4 - CV(3,4)

LC

AUX14

YU-Integer

Auxiliary

Required

-

Model MV4 - CV(5,6)

LC

AUX15

B4-Integer

Auxiliary

Required

-

Model MV5 - CV(1,2)

LC

AUX16

B5-Integer

Auxiliary

Required

-

Model MV5 - CV(3,4)

LC

AUX17

B6-Integer

Auxiliary

Required

-

Model MV5 - CV(5,6)

LC

AUX18

B7-Integer

Auxiliary

Required

-

Model DV1 - CV(1,2)

LC

AUX19

B8-Integer

Auxiliary

Required

-

Model DV1 - CV(3,4)

LC

AUX20

B9-Integer

Auxiliary

Required

-

Model DV1 - CV(5,6)

LC

AUX21

C0-Integer

Auxiliary

Required

-

Model DV2 - CV(1,2)

LC

AUX22

C1-Integer

Auxiliary

Required

-

Model DV2 - CV(3,4)

LC

AUX23

C2-Integer

Auxiliary

Required

-

Model DV2 - CV(5,6)

LC

AUX24

C3-Integer

Auxiliary

Required

-

Model DV3 - CV(1,2)

LC

AUX25

C4-Integer

Auxiliary

Required

-

Model DV3 - CV(3,4)

LC

AUX26

C5-Integer

Auxiliary

Required

-

Model DV3 - CV(5,6)

LC

AUX27

C6-Integer

Auxiliary

Required

-

Model DV4 - CV(1,2)

LC

AUX28

C7-Integer

Auxiliary

Required

-

Model DV4 - CV(3,4)

LC

AUX29

C8-Integer

Auxiliary

Required

-

Model DV4 - CV(5,6)

LC

AUX30

YT-Integer

Auxiliary

Required

-

Model DV5 - CV(1,2)

LC

AUX31

D0-Integer

Auxiliary

Required

-

Model DV5 - CV(3,4)

LC

AUX32

D1-Integer

Auxiliary

Required

-

Model DV5 - CV(5,6)

LC

PRE1

-

Variable

Optional

-

The first predicted CV (controlled variable) for a given set of MVs (manipulated variables)

LA

and DVs (disturbance variables).

APC_002

55

6.4 DMC algorithm definitions

NA ME

L C AL G. R ECORD F IELD

PRE2

-

PRE3

M I N. P OINT REC.

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

Variable

Optional

-

The second predicted CV (controlled variable) for a given set of MVs (manipulated variables) and DVs (disturbance variables).

LA

-

Variable

Optional

-

The third predicted CV (controlled variable) for a given set of MVs (manipulated variables) and DVs (disturbance variables).

LA

PRE4

-

Variable

Optional

-

The fourth predicted CV (controlled variable) for a given set of MVs (manipulated variables) and DVs (disturbance variables).

LA

PRE5

-

Variable

Optional

-

The fifth predicted CV (controlled variable) for a given set of MVs (manipulated variables) and DVs (disturbance variables).

LA

PRE6

-

Variable

Optional

-

The sixth predicted CV (controlled variable) for a given set of MVs (manipulated variables)

LA

D ESCRIPTION

and DVs (disturbance variables).

56

PRE7

-

Variable

Optional

-

The seventh predicted CV (controlled variable) for a given set of MVs (manipulated variables) and DVs (disturbance variables).

LA

PRE8

-

Variable

Optional

-

The eighth predicted CV (controlled variable) for a given set of MVs (manipulated variables) and DVs (disturbance variables).

LA

PRE9

-

Variable

Optional

-

The ninth predicted CV (controlled variable) for a given set of MVs (manipulated variables) and DVs (disturbance variables).

LA

APC_002

6.4 DMC algorithm definitions

APC_002

NA ME

L C AL G. R ECORD F IELD

PRE10

-

STPT1 STPT2

M I N. P OINT REC.

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

Variable

Optional

-

-

Variable

Required

-

Set Point1

LA

-

Variable

Optional

-

Set Point2

LA

STPT3

-

Variable

Optional

-

Set Point3

LA

STPT4

-

Variable

Optional

-

Set Point4

LA

STPT5

-

Variable

Optional

-

Set Point5

LA

STPT6

-

Variable

Optional

-

Set Point6

LA

PV1

-

Variable

Required

-

Process variable1

LA

PV2

-

Variable

Optional

-

Process variable2

LA

PV3

-

Variable

Optional

-

Process variable3

LA

PV4

-

Variable

Optional

-

Process variable4

LA

PV5

-

Variable

Optional

-

Process variable5

LA

PV6

-

Variable

Optional

-

Process variable6

LA

DV1

-

Variable

Optional

-

DV 1

LA

DV2

-

Variable

Optional

-

DV 2

LA

DV3

-

Variable

Optional

-

DV 3

LA

DV4

-

Variable

Optional

-

DV 4

LA

DV5

-

Variable

Optional

-

DV 5

LA

PREV1

-

Variable

Optional

-

Previous 1st output value

LA

PREV2

-

Variable

Optional

-

Previous 2nd output value

LA

PREV3

-

Variable

Optional

-

Previous 3rd output value

LA

PREV4

-

Variable

Optional

-

Previous 4th output value

LA

PREV5

-

Variable

Optional

-

Previous 5th output value

LA

TRIN1

-

Variable

Optional

-

Tracking analog input variable1

LA

TRIN2

-

Variable

Optional

-

Tracking analog input

LA

TRIN3

-

Variable

Optional

-

variable2 Tracking analog input variable3

LA

D ESCRIPTION The tenth predicted CV (controlled variable) for a given set of MVs (manipulated variables) and DVs (disturbance variables).

LA

57

6.4 DMC algorithm definitions

NA ME

L C AL G. R ECORD F IELD

TRIN4

-

TRIN5

TYPE

D EFAULT VA L UE

Variable

Optional

-

Tracking analog input variable4

-

Variable

Optional

-

Tracking analog input variable5

OUT1

-

Variable

Required

-

Analog Output Point1

LA

OUT2

-

Variable

Optional

-

Analog Output Point2

LA

OUT3

-

Variable

Optional

-

Analog Output Point3

LA

OUT4

-

Variable

Optional

-

Analog Output Point4

LA

OUT5

-

Variable

Optional

-

Analog Output Point5

LA

STAT

-

Variable

Optional

-

Status of optimization

LP LP

D ESCRIPTION

LA

LA

ERR

-

Variable

Optional

-

Error Status Point

NMV

D2-Integer

Data Init

Required

0

Number of MV

-

NDV

YP-Integer

Data Init

Required

0

Number of DV

-

NCV

D4-Integer

Data Init

Required

0

Number of CV

-

N

D5-Integer

Data Init

Required

100

Horizon

-

NU

D6-Integer

Data Init

Required

10

Horizon MV

-

PVG1

YN - Real

Tuning constant

Required

1.0

Gain on process variable input 1. The gain on the set point should never be initialized to zero.

-

PVB1

D8 - Real

Tuning constant

Optional

0.0

Bias on process variable input 1

-

SPTG2

D9 - Real

Tuning constant

Optional

1.0

Gain on set point 2. The gain on the set point should never be initialized to zero.

-

SPTB2

YM - Real

Tuning constant

Optional

0.0

Bias on set point 2

-

PVG2

YL - Real

Tuning constant

Optional

1.0

Gain on process variable input 2. The gain on the set point should never be initialized to zero.

-

PVB2

E2 - Real

Tuning constant

Optional

0.0

Bias on process variable input 2

-

SPTG3

E3 - Real

Tuning

Optional

1.0

Gain on set point 3.

-

constant SPTB3

58

M I N. P OINT REC.

R EQUIRED / O PTIONAL

E4 - Real

Tuning constant

The gain on the setbe point should never initialized to zero. Optional

0.0

Bias on set point 3

-

APC_002

6.4 DMC algorithm definitions

NA ME

L C AL G. R ECORD F IELD

PVG3

YC - Real

Tuning constant

Optional

1.0

Gain on process variable input 3. The gain on the set point should never be initialized to zero.

-

PVB3

Y9 - Real

Tuning constant

Optional

0.0

Bias on process variable input 3

-

SPTG4

E7 - Real

Tuning constant

Optional

1.0

Gain on set point 4. The gain on the set point should never be initialized to zero.

-

SPTB4

E8 - Real

Tuning constant

Optional

0.0

Bias on set point 4

-

PVG4

Y8 - Real

Tuning constant

Optional

1.0

Gain on process variable input 4. The gain on the set point should never be initialized to zero.

-

PVB4

Y7 - Real

Tuning constant

Optional

0.0

Bias on process variable input 4

-

SPTG5

Y6 - Real

Tuning constant

Optional

1.0

Gain on set point 5. The gain on the set point should never be initialized to zero.

-

SPTB5

XY - Real

Tuning

Optional

0.0

Bias on set point 5

-

Optional

1.0

Gain on process variable input 5. The gain on the set point should never be initialized to zero.

-

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

M I N. P OINT REC.

constant PVG5

XW - Real

Tuning Constant

APC_002

PVB5

F4 - Real

Tuning constant

Optional

0.0

Bias on process variable input 5

-

SPTG6

F5 - Real

Tuning constant

Optional

1.0

Gain on set point 6. The gain on the set point should never be initialized to zero.

-

SPTB6

F6 - Real

Tuning constant

Optional

0.0

Bias on set point 6

-

PVG6

XV - Real

Tuning constant

Optional

1.0

Gain on process variable input 6. The gain on the set point should never be initialized to zero.

-

PVB6

XU - Real

Tuning constant

Optional

0.0

Bias on process variable input 6

-

59

6.4 DMC algorithm definitions

NA ME

L C AL G. R ECORD F IELD

TPSC1

S6 - Real

BTSC1

M I N. P OINT REC.

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

Selectable

Required

100.0

Maximum value of the output point 1

LA

R1 - Real

Selectable

Required

0.0

Minimum value of the output point 1

LA

TPSC2

R2 - Real

Selectable

Optional

100.0

Maximum value of the output point 2

LA

BTSC2

R3 - Real

Selectable

Optional

0.0

Minimum value of the output point 2

LA

TPSC3

R4 - Real

Selectable

Optional

100.0

Maximum value of the output point 3

LA

BTSC3

R5 - Real

Selectable

Optional

0.0

Minimum value of the output point 3

LA

TPSC4

R6 - Real

Selectable

Optional

100.0

Maximum value of the output point 4

LA

BTSC4

R7 - Real

Selectable

Optional

0.0

Minimum value of the output point 4

LA

TPSC5

R8 - Real

Selectable

Optional

100.0

Maximum value of the output point 5

LA

BTSC5

R9 - Real

Selectable

Optional

0.0

Minimum value of the output point 5

LA

ISTP1

X7 Byte Bit 1

Data Init

Required

NO_ACTIVE

Is active TPSC1 constrain:

-

D ESCRIPTION

0 - NO_ACTIVE

ISTP2

X7 Byte Bit 2

Data Init

Optional

NO_ACTIVE

1 - ACTIVE Is active TPSC2 constrain:

-

0 - NO_ACTIVE 1 - ACTIVE ISTP3

ISTP4

X7 Byte Bit 3

Data Init

X7 Byte Bit 4

Data Init

Optional

NO_ACTIVE

0 - NO_ACTIVE

-

1 - ACTIVE Optional

NO_ACTIVE

Is active TPSC4 constrain:

-

0 - NO_ACTIVE 1 - ACTIVE ISTP5

X7 Byte Bit 5

Data Init

Optional

NO_ACTIVE

Is active TPSC5 constrain:

-

0 - NO_ACTIVE 1 - ACTIVE

60

APC_002

6.4 DMC algorithm definitions

NA ME ISBT1

L C AL G. R ECORD F IELD X8 Byte Bit 1

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

Data Init

Required

NO_ACTIVE

D ESCRIPTION Is active BTSC1 constrain:

M I N. P OINT REC. -

0 - NO_ACTIVE 1 - ACTIVE ISBT2

X8 Byte Bit 2

Data Init

Optional

NO_ACTIVE

Is active BTSC2 constrain:

-

0 - NO_ACTIVE 1 - ACTIVE ISBT3

X8 Byte Bit 3

Data Init

Optional

NO_ACTIVE

Is active BTSC3 constrain:

-

0 - NO_ACTIVE 1 - ACTIVE ISBT4

X8 Byte Bit 4

Data Init

Optional

NO_ACTIVE

Is active BTSC4 constrain:

-

0 - NO_ACTIVE 1 - ACTIVE ISBT5

X8 Byte Bit 5

Data Init

Optional

NO_ACTIVE

Is active BTSC5 constrain:

-

0 - NO_ACTIVE 1 - ACTIVE DU1

S1 - Real

Tuning constant

Required

5.0

Rate of change limit in units per step (for output 1.)

-

DU2

S2 - Real

Tuning constant

Optional

5.0

Rate of change limit in units per step (for output 2.)

-

DU3

S3 - Real

Tuning constant

Optional

5.0

Rate of change limit in units per step (for output 3.)

-

DU4

S4 - Real

Tuning constant

Optional

5.0

Rate of change limit in units per step (for output 4.)

-

DU5

S5 - Real

Tuning constant

Optional

5.0

Rate of change limit in units per step (for output 5.)

-

ISDU1

Y0 Byte Bit 1

Data Init

Required

NO_ACTIVE

Is active DU1 constrain:

-

0 - NO_ACTIVE 1 - ACTIVE

APC_002

61

6.4 DMC algorithm definitions

NA ME ISDU2

L C AL G. R ECORD F IELD Y0 Byte Bit 2

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

Data Init

Optional

NO_ACTIVE

M I N. P OINT REC.

D ESCRIPTION Is active DU2 constrain:

-

0 - NO_ACTIVE 1 - ACTIVE ISDU3

Y0 Byte Bit 3

Data Init

Optional

NO_ACTIVE

Is active DU3 constrain:

-

0 - NO_ACTIVE 1 - ACTIVE ISDU4

Y0 Byte Bit 4

Data Init

Optional

NO_ACTIVE

Is active DU4 constrain:

-

0 - NO_ACTIVE 1 - ACTIVE ISDU5

Y0 Byte Bit 5

Data Init

Optional

NO_ACTIVE

Is active DU5 constrain:

-

0 - NO_ACTIVE 1 - ACTIVE MA1

T4 - Real

Tuning Constant

Optional

0.5

Rate of change limit in units per step (for output 1). Limit is activated after transition from MAN to AUTO. Limit is deactivated after SNL steps.

-

MA2

T5 - Real

Tuning Constant

Optional

0.5

Rate of change limit in units per step (for output 2). Limit is activated after transition from MAN to AUTO. Limit is deactivated after SNL steps.

MA3

T6 - Real

Tuning Constant

Optional

0.5

Rate of change limit in units per step (for output 3). Limit is activated after transition from MAN to AUTO. Limit is deactivated after SNL steps.

-

ISMA1

Y1 - Byte Bit 1

Data Init

Optional

NO ACTIVE

Determines is active MA1 is constrain:

-

-

0 - NO ACTIVE 1 - ACTIVE

62

APC_002

6.4 DMC algorithm definitions

NA ME ISMA2

L C AL G. R ECORD F IELD Y1 - Byte Bit 2

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

Data Init

Optional

NO ACTIVE

D ESCRIPTION Determines is active MA2 is constrain:

M I N. P OINT REC. -

0 - NO ACTIVE 1 - ACTIVE ISMA3

Y1 - Byte Bit 3

Data Init

Optional

NO ACTIVE

Determines is active MA3 is constrain:

-

0 - NO ACTIVE 1 - ACTIVE ISMA4

Y1 - Byte Bit 4

Data Init

Optional

NO ACTIVE

Determines is active MA4 is constrain:

-

0 - NO ACTIVE 1 - ACTIVE ISMA5

Y1 - Byte Bit 5

Data Init

Optional

NO ACTIVE

Determines is active MA5 is constrain:

-

0 - NO ACTIVE 1 - ACTIVE

APC_002

MQ61

T7-Real

Tuning Constant

Optional

0.0

Weight CV6/CV1

-

MQ62

T8-Real

Tuning Constant

Optional

0.0

Weight CV6/CV2

-

MQ63

T9-Real

Tuning Constant

Optional

0.0

Weight CV6/CV3

-

MQ64

U1-Real

Tuning Constant

Optional

0.0

Weight CV6/CV4

-

MQ65

U2-Real

Tuning Constant

Optional

0.0

Weight CV6/CV5

-

MQ66

U3-Real

Tuning Constant

Optional

0.0

Weight CV6/CV6

-

STIME

XR-Integer

Data Init

Required

10000

Sample time

-

IQUAL

X1 Byte Bit 0

Data Init

Required

NO_ACTIVE

Ignore Set quality to Bad

-

MR11

S8

Tuning Constant

Optional

1.0

Weight MV1/MV1

LA

MR22

S9

Tuning Constant

Optional

1.0

Weight MV2/MV2

LA

MR33

T1

Tuning Constant

Optional

1.0

Weight MV3/MV3

LA

MR44

T2

Tuning Constant

Optional

1.0

Weight MV4/MV4

LA

MR55

T3

Tuning Constant

Optional

1.0

Weight MV5/MV5

LA

63

6.5 Auxiliary DMC algorithm definitions

L C AL G. R ECORD F IELD

TYPE

IBQDV

X3 - Byte Bit 0

Data Init

Required

NO ACTIVE

Ignore DV signals when Bad quality.

--

IBQHL

X4 - Byte Bit 0

Data Init

Required

NO ACTIVE

Ignore HL signal when Bad quality.

--

IBQLL

X5 - Byte Bit 0

Data Init

Required

NO ACTIVE

Ignore LL signal when Bad quality.

--

NA ME

D EFAULT VA L UE

M I N. P OINT REC.

R EQUIRED / O PTIONAL

D ESCRIPTION

Note: Algorithm is using internal fields S7 bit0 — 0 OK; 1 sample time is incorrect Y3 — field to communication with interface. This value is satisfied by interface. This value informs the algorithm how many algorithms have to send trajectories data. If Y3 value is greater than 0, that algorithm sent trajectories data and decrements the Y3 value.

6. 5

Auxi liary DM C algori thm definit ions Auxiliary 1 Matrix D (the size of each vector coding the step response model) and Matrix Q matrix weight (only 30 elements of this Matrix can be located in this auxiliary record, the remaining six elements are located in main LC record). Au xi li ary DMC algo ri th m defi ni ti on s L C AL G. R ECORD AME

64

IELD

R EQUIRED / YPE

N MD11

F G0 - Integer

T Data Init

MD12

G1 - Integer

MD13

D EFAULT

PTIONAL

O

A L UE

V

ESCRIPTION

D Size of vector coding step response model (CV1/MV1)

Required

0

Data Init

Optional

0

Size of vector coding step response model (CV1/MV2)

G2 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV1/MV3)

MD14

G3 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV1/MV4)

MD15

G4 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV1/MV5)

MD21

G5 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV1/MV1)

MD22

G6 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV2/MV2)

MD23

G7 - Integer

Data Init

Optional

0

Size of vector coding step

MD24

G8 - Integer

Data Init

Optional

0

response model (CV2/MV3) Size of vector coding step response model (CV2/MV4)

APC_002

6.5 Auxiliary DMC algorithm definitions

APC_002

NA ME

L C AL G. R ECORD F IELD

TYPE

MD25

G9 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV2/MV5)

MD31

B0 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV3/MV1)

MD32

B1 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV3/MV2)

MD33

B2 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV3/MV3)

MD34

YU - Integer

Data Init

Optional

0

Size of vector coding step response model (CV3/MV4)

MD35

B4- Integer

Data Init

Optional

0

Size of vector coding step response model (CV3/MV5)

MD41

B5 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV4/MV1)

MD42

B6 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV4/MV2)

MD43

B7 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV4/MV3)

MD44

B8 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV4/MV4)

MD45

B9 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV4/MV5)

MD51

C0 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV5/MV1)

MD52

C1 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV5/MV2)

MD53

C2 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV5/MV3)

MD54

C3 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV5/MV4)

MD55

C4 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV5/MV5)

MD61

C5 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV6/MV1)

MD62

C6 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV6/MV2)

MD63

C7 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV6/MV3)

MD64

C8 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV6/MV4)

MD65

YT - Integer

Data Init

Optional

0

Size of vector coding step response model (CV6/MV5)

DD11

D0 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV1/DV1)

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

65

6.5 Auxiliary DMC algorithm definitions

66

NA ME

L C AL G. R ECORD F IELD

TYPE

DD12

YQ - Integer

Data Init

Optional

0

Size of vector coding step response model (CV1/DV2)

DD13

D2 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV1/DV3)

DD14

YP - Integer

Data Init

Optional

0

Size of vector coding step response model (CV1/DV4)

DD15

D4 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV1/DV5)

DD21

D5 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV2/DV1)

DD22

D6 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV2/DV2)

DD23

YN - Integer

Data Init

Optional

0

Size of vector coding step response model (CV2/DV3)

DD24

D8 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV2/DV4)

DD25

D9 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV2/DV5)

DD31

YM - Integer

Data Init

Optional

0

Size of vector coding step response model (CV3/DV1)

DD32

YL - Integer

Data Init

Optional

0

Size of vector coding step response model (CV3/DV2)

DD33

E2 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV3/DV3)

DD34

E3 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV3/DV4)

DD35

E4 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV3/DV5)

DD41

YC - Integer

Data Init

Optional

0

Size of vector coding step response model (CV4/DV1)

DD42

Y9 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV4/DV2)

DD43

E7 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV4/DV3)

DD44

E8 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV4/DV4)

DD45

Y8 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV4/DV5)

DD51

Y7 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV5/DV1)

DD52

Y6 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV5/DV2)

DD53

XY - Integer

Data Init

Optional

0

Size of vector coding step response model (CV5/DV3)

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

APC_002

6.5 Auxiliary DMC algorithm definitions

NA ME

APC_002

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

DD54

XW Integer

Data Init

Optional

0

Size of vector coding step response model (CV5/DV4)

DD55

F4 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV5/DV5)

DD61

F5 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV6/DV1)

DD62

F6 - Integer

Data Init

Optional

0

Size of vector coding step response model (CV6/DV2)

DD63

XV - Integer

Data Init

Optional

0

Size of vector coding step response model (CV6/DV3)

DD64

XU - Integer

Data Init

Optional

0

Size of vector coding step response model (CV6/DV4)

DD65

XR - Integer

Data Init

Optional

0

Size of vector coding step response model (CV6/DV5)

MQ11

R1- Real

Tuning constant

Required

0.0

Weight CV1/CV1

MQ12

R2- Real

Tuning constant

Optional

0.0

Weight CV1/CV2

MQ13

R3- Real

Tuning constant

Optional

0.0

Weight CV1/CV3

MQ14

R4- Real

Tuning constant

Optional

0.0

Weight CV1/CV4

MQ15

R5- Real

Tuning constant

Optional

0.0

Weight CV1/CV5

MQ16

R6- Real

Tuning constant

Optional

0.0

Weight CV1/CV6

MQ21

R7- Real

Tuning constant

Optional

0.0

Weight CV2/CV1

MQ22

R8- Real

Tuning constant

Optional

0.0

Weight CV2/CV2

MQ23

R9- Real

Tuning constant

Optional

0.0

Weight CV2/CV3

MQ24

S1- Real

Tuning constant

Optional

0.0

Weight CV2/CV4

MQ25

S2- Real

Tuning constant

Optional

0.0

Weight CV2/CV5

MQ26

S3- Real

Tuning constant

Optional

0.0

Weight CV2/CV6

MQ31

S4- Real

Tuning constant

Optional

0.0

Weight CV3/CV1

MQ32

S5- Real

Tuning constant

Optional

0.0

Weight CV3/CV2

MQ33

S6- Real

Tuning constant

Optional

0.0

Weight CV3/CV3

67

6.5 Auxiliary DMC algorithm definitions

68

NA ME

L C AL G. R ECORD F IELD

MQ34

S7- Real

MQ35

R EQUIRED / O PTIONAL

D EFAULT VA L UE

Tuning constant

Optional

0.0

Weight CV3/CV4

S8- Real

Tuning constant

Optional

0.0

Weight CV3/CV5

MQ36

S9- Real

Tuning constant

Optional

0.0

Weight CV3/CV6

MQ41

T1- Real

Tuning constant

Optional

0.0

Weight CV4/CV1

MQ42

T2- Real

Tuning constant

Optional

0.0

Weight CV4/CV2

MQ43

T3- Real

Tuning constant

Optional

0.0

Weight CV4/CV3

MQ44

T4- Real

Tuning constant

Optional

0.0

Weight CV4/CV4

MQ45

T5- Real

Tuning constant

Optional

0.0

Weight CV4/CV5

MQ46

T6- Real

Tuning constant

Optional

0.0

Weight CV4/CV6

MQ51

T7- Real

Tuning constant

Optional

0.0

Weight CV5/CV1

MQ52

T8- Real

Tuning constant

Optional

0.0

Weight CV5/CV2

MQ53

T9- Real

Tuning constant

Optional

0.0

Weight CV5/CV3

MQ54

U1- Real

Tuning constant

Optional

0.0

Weight CV5/CV4

MQ55

U2- Real

Tuning constant

Optional

0.0

Weight CV5/CV5

MQ56

U3- Real

Tuning constant

Optional

0.0

Weight CV5/CV6

NPCV

X1 - Integer

Data Init

Optional

0.0

Number of predicted CV

PMLB

X2 - Integer

Data Init

Optional

0.0

Prediction time low bits

PMHB

X3 - Integer

Data Init

Optional

0.0

Prediction time high bits

TYPE

D ESCRIPTION

APC_002

6.5 Auxiliary DMC algorithm definitions

Auxiliary 2 Matrix Delay (for each MV and DV) and Matrix R - matrix weight Au xi li ary DMC algo ri thm defi ni ti on s

APC_002

NA ME

L C A L G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

MDL11

G0 - Integer

Data Init

Required

0

Delay (CV1/MV1)

MDL12

G1 - Integer

Data Init

Optional

0

Delay (CV1/MV2)

MDL13

G2 - Integer

Data Init

Optional

0

Delay (CV1/MV3)

MDL14

G3 - Integer

Data Init

Optional

0

Delay (CV1/MV4)

MDL15

G4 - Integer

Data Init

Optional

0

Delay (CV1/MV5)

MDL21

G5 - Integer

Data Init

Optional

0

Delay (CV2/MV1)

MDL22

G6 - Integer

Data Init

Optional

0

Delay (CV2/MV2)

MDL23

G7 - Integer

Data Init

Optional

0

Delay (CV2/MV3)

MDL24

G8 - Integer

Data Init

Optional

0

Delay (CV2/MV4)

MDL25

G9 - Integer

Data Init

Optional

0

Delay (CV2/MV5)

MDL31

B0 - Integer

Data Init

Optional

0

Delay (CV3/MV1)

MDL32

B1 - Integer

Data Init

Optional

0

Delay (CV3/MV2)

MDL33

B2 - Integer

Data Init

Optional

0

Delay (CV3/MV3)

MDL34

YU - Integer

Data Init

Optional

0

Delay (CV3/MV4)

MDL35

B4 - Integer

Data Init

Optional

0

Delay (CV3/MV5)

MDL41

B5 - Integer

Data Init

Optional

0

Delay (CV4/MV1)

MDL42

B6 - Integer

Data Init

Optional

0

Delay (CV4/MV2)

MDL43

B7 - Integer

Data Init

Optional

0

Delay (CV4/MV3)

MDL44

B8 - Integer

Data Init

Optional

0

Delay (CV4/MV4)

MDL45

B9 - Integer

Data Init

Optional

0

Delay (CV4/MV5)

MDL51

C0 - Integer

Data Init

Optional

0

Delay (CV5/MV1)

MDL52

C1 - Integer

Data Init

Optional

0

Delay (CV5/MV2)

MDL53

C2 - Integer

Data Init

Optional

0

Delay (CV5/MV3)

MDL54

C3 - Integer

Data Init

Optional

0

Delay (CV5/MV4)

MDL55

C4 - Integer

Data Init

Optional

0

Delay (CV5/MV5)

MDL61

C5 - Integer

Data Init

Optional

0

Delay (CV6/MV1)

MDL62

C6 - Integer

Data Init

Optional

0

Delay (CV6/MV2)

MDL63

C7 - Integer

Data Init

Optional

0

Delay (CV6/MV3)

MDL64

C8 - Integer

Data Init

Optional

0

Delay (CV6/MV4)

MDL65

YT - Integer

Data Init

Optional

0

Delay (CV6/MV5)

DDL11

D0 - Integer

Data Init

Optional

0

Delay (CV1/DV1)

DDL12

YQ - Integer

Data Init

Optional

0

Delay (CV1/DV2)

D EFAULT V A L UE

D ESCRIPTION

69

6.5 Auxiliary DMC algorithm definitions

70

NA ME

L C A L G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

DDL13

D2 - Integer

Data Init

Optional

0

Delay (CV1/DV3)

DDL14

YP - Integer

Data Init

Optional

0

Delay (CV1/DV4)

DDL15

D4 - Integer

Data Init

Optional

0

Delay (CV1/DV5)

DDL21

D5 - Integer

Data Init

Optional

0

Delay (CV2/DV1)

DDL22

D6 - Integer

Data Init

Optional

0

Delay (CV2/DV2)

DDL23

YN - Integer

Data Init

Optional

0

Delay (CV2/DV3)

DDL24

D8 - Integer

Data Init

Optional

0

Delay (CV2/DV4)

DDL25

D9 - Integer

Data Init

Optional

0

Delay (CV2/DV5)

DDL31

YM - Integer

Data Init

Optional

0

Delay (CV3/DV1)

DDL32

YL - Integer

Data Init

Optional

0

Delay (CV3/DV2)

DDL33

E2 - Integer

Data Init

Optional

0

Delay (CV3/DV3)

DDL34

E3 - Integer

Data Init

Optional

0

Delay (CV3/DV4)

DDL35

E4 - Integer

Data Init

Optional

0

Delay (CV3/DV5)

DDL41

YC - Integer

Data Init

Optional

0

Delay (CV4/DV1)

DDL42

Y9 - Integer

Data Init

Optional

0

Delay (CV4/DV2)

DDL43

E7 - Integer

Data Init

Optional

0

Delay (CV4/DV3)

DDL44

E8 - Integer

Data Init

Optional

0

Delay (CV4/DV4)

DDL45

Y8 - Integer

Data Init

Optional

0

Delay (CV4/DV5)

DDL51

Y7 - Integer

Data Init

Optional

0

Delay (CV5/DV1)

DDL52

Y6 - Integer

Data Init

Optional

0

Delay (CV5/DV2)

DDL53

XY - Integer

Data Init

Optional

0

Delay (CV5/DV3)

DDL54

XW Integer

Data Init

Optional

0

Delay (CV5/DV4)

DDL55

F4 - Integer

Data Init

Optional

0

Delay (CV5/DV5)

DDL61

F5 - Integer

Data Init

Optional

0

Delay (CV6/DV1)

DDL62

F6 - Integer

Data Init

Optional

0

Delay (CV6/DV2)

DDL63

XV - Integer

Data Init

Optional

0

Delay (CV6/DV3)

DDL64

XU - Integer

Data Init

Optional

0

Delay (CV6/DV4)

DDL65

XR - Integer

Data Init

Optional

0

Delay (CV6/DV5)

MR11

R1- Real

Tuning constant

Required

0.0

Weight MV1/MV1

MR12

R2- Real

Tuning constant

Optional

0.0

Weight MV1/MV2

MR13

R3- Real

Tuning constant

Optional

0.0

Weight MV1/MV3

MR14

R4- Real

Tuning constant

Optional

0.0

Weight MV1/MV4

D EFAULT V A L UE

D ESCRIPTION

APC_002

6.5 Auxiliary DMC algorithm definitions

APC_002

NA ME

L C A L G. R ECORD F IELD

MR15

R5- Real

Tuning constant

Optional

0.0

Weight MV1/MV5

MR21

R6- Real

Tuning constant

Optional

0.0

Weight MV2/MV1

MR22

R7- Real

Tuning constant

Optional

0.0

Weight MV2/MV2

MR23

R8- Real

Tuning

Optional

0.0

Weight MV2/MV3

MR24

R9- Real

constant Tuning constant

Optional

0.0

Weight MV2/MV4

MR25

S1- Real

Tuning constant

Optional

0.0

Weight MV2/MV5

MR31

S2- Real

Tuning constant

Optional

0.0

Weight MV3/MV1

MR32

S3- Real

Tuning constant

Optional

0.0

Weight MV3/MV2

MR33

S4- Real

Tuning constant

Optional

0.0

Weight MV3/MV3

MR34

S5- Real

Tuning constant

Optional

0.0

Weight MV3/MV4

MR35

S6- Real

Tuning constant

Optional

0.0

Weight MV3/MV5

MR41

S7- Real

Tuning constant

Optional

0.0

Weight MV4/MV1

MR42

S8- Real

Tuning constant

Optional

0.0

Weight MV4/MV2

MR43

S9- Real

Tuning constant

Optional

0.0

Weight MV4/MV3

MR44

T1- Real

Tuning constant

Optional

0.0

Weight MV4/MV4

MR45

T2- Real

Tuning constant

Optional

0.0

Weight MV4/MV5

MR51

T3- Real

Tuning constant

Optional

0.0

Weight MV5/MV1

MR52

T4- Real

Tuning constant

Optional

0.0

Weight MV5/MV2

MR53

T5- Real

Tuning constant

Optional

0.0

Weight MV5/MV3

MR54

T6- Real

Tuning constant

Optional

0.0

Weight MV5/MV4

MR55

T7- Real

Tuning constant

Optional

0.0

Weight MV5/MV5

TYPE

R EQUIRED / O PTIONAL

D EFAULT V A L UE

D ESCRIPTION

71

6.5 Auxiliary DMC algorithm definitions

NA ME

L C A L G. R ECORD F IELD

SPTG1

T8 - Real

Tuning constant

Required

1.0

Gain on set point 1. The gain on the set point should never be initialized to zero.

SPTB1

T9 - Real

Tuning constant

Optional

0.0

Bias on set point 1

NPCB

X1 - Integer

Data Init

Optional

0.0

Number of predicted CV.

PMLB

X2 - Integer

Data Init

Optional

0.0

PMHB

X3 - Integer

Data Init

Optional

0.0

Prediction time high bits

MA4

U1 - Real

Tuning Constant

Optional

0.5

Rate of change limit in units per step (for output 4). Limit is activated after transition from MAN to AUTO. Limit is deactivated after SNL steps.

MA5

U2 - Real

Tuning Constant

Optional

0.5

Rate of change limit in units per step (for output 5). Limit is activated after transition from MAN to AUTO. Limit is deactivated after SNL steps.

SNL

U3 - Real

Tuning Constant

Required

0.0

Step number after MA limits are deactivated.

TYPE

R EQUIRED / O PTIONAL

D EFAULT V A L UE

D ESCRIPTION

Prediction time low bits

Note: Aux3 is for MV1/CV1 and MV1/CV2. Aux4 is for MV2/CV1 and MV2/CV2. Aux5 is for MV3/CV1 and MV3/CV2. Aux6 is for MV4/CV1 and MV4/CV2. Aux7 is for MV5/CV1 and MV5/CV2. Aux8 is for DV1/CV1 and DV1/CV2. Aux9 is for DV2/CV1 and DV2/CV2. Aux10 is for DV3/CV1 and DV3/CV2. Aux11 is for DV4/CV1 and DV4/CV2. Aux12 is for DV5/CV1 and DV5/CV2. Auxiliary 3 - 12 Influence MV and DV on first and second CV Au xi li ary DMC algo ri thm defi ni ti on s

72

NA ME

L C A L G. R ECORD F IELD

TYPE

1S1

G0 - Real

1S2

G1 - Real

R EQUIRED / O PTIONAL

D EFAULT V A L UE

Data Init

Required

0.0

Step response coefficient no. 1 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

Data Init

Optional

0.0

Step response coefficient no. 2 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

D ESCRIPTION

APC_002

6.5 Auxiliary DMC algorithm definitions

APC_002

NA ME

L C A L G. R ECORD F IELD

TYPE

1S3

G2 - Real

Data Init

Optional

0.0

Step response coefficient no. 3 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S4

G3 - Real

Data Init

Optional

0.0

Step response coefficient no. 4 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S5

G4 - Real

Data Init

Optional

0.0

Step response coefficient no. 5 CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S6

G5 - Real

Data Init

Optional

0.0

Step response coefficient no. 6 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S7

G6 - Real

Data Init

Optional

0.0

Step response coefficient no. 7 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S8

G7 - Real

Data Init

Optional

0.0

Step response coefficient no. 8 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S9

G8 - Real

Data Init

Optional

0.0

Step response coefficient no. 9 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S10

G9 - Real

Data Init

Optional

0.0

Step response coefficient no. 10 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S11

B0 - Real

Data Init

Optional

0.0

Step response coefficient no. 11 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S12

B1 - Real

Data Init

Optional

0.0

Step response coefficient no. 12 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S13

B2 - Real

Data Init

Optional

0.0

Step response coefficient no. 13 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S14

YU - Real

Data Init

Optional

0.0

Step response coefficient no. 14 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S15

B4 - Real

Data Init

Optional

0.0

Step response coefficient no. 15 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S16

B5 - Real

Data Init

Optional

0.0

Step response coefficient no. 16 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S17

B6 - Real

Data Init

Optional

0.0

Step response coefficient no. 17 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S18

B7 - Real

Data Init

Optional

0.0

Step response coefficient no. 18 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S19

B8 - Real

Data Init

Optional

0.0

Step response coefficient no. 19 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S20

B9 - Real

Data Init

Optional

0.0

Step response coefficient no. 20 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S21

C0 - Real

Data Init

Optional

0.0

Step response coefficient no. 21 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S22

C1 - Real

Data Init

Optional

0.0

Step response coefficient no. 22 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S23

C2 - Real

Data Init

Optional

0.0

Step response coefficient no. 23 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S24

C3 - Real

Data Init

Optional

0.0

Step response coefficient no. 24 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

R EQUIRED / O PTIONAL

D EFAULT V A L UE

D ESCRIPTION

73

6.5 Auxiliary DMC algorithm definitions

74

NA ME

L C A L G. R ECORD F IELD

TYPE

1S25

C4 - Real

Data Init

Optional

0.0

Step response coefficient no. 25 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S26

C5 - Real

Data Init

Optional

0.0

Step response coefficient no. 26 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S27

C6 - Real

Data Init

Optional

0.0

Step response coefficient no. 27 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S28

C7 - Real

Data Init

Optional

0.0

Step response coefficient no. 28

1S29

C8 - Real

Data Init

Optional

0.0

[CV1] [1,2,3,4,5MV,1,2,3,4,5DV] Step response coefficient no. 29 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S30

YT - Real

Data Init

Optional

0.0

Step response coefficient no. 30 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S31

D0 - Real

Data Init

Optional

0.0

Step response coefficient no. 31 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S32

YQ - Real

Data Init

Optional

0.0

Step response coefficient no. 32 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S33

D2 - Real

Data Init

Optional

0.0

Step response coefficient no. 33 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S34

YP - Real

Data Init

Optional

0.0

Step response coefficient no. 34 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S35

D4 - Real

Data Init

Optional

0.0

Step response coefficient no. 35 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S36

D5 - Real

Data Init

Optional

0.0

Step response coefficient no. 36

1S37

D6 - Real

Data Init

Optional

0.0

[CV1] [1,2,3,4,5MV,1,2,3,4,5DV] Step response coefficient no. 37 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S38

YN - Real

Data Init

Optional

0.0

Step response coefficient no. 38 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S39

D8 - Real

Data Init

Optional

0.0

Step response coefficient no. 39 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S40

D9 - Real

Data Init

Optional

0.0

Step response coefficient no. 40 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S41

YM - Real

Data Init

Optional

0.0

Step response coefficient no. 41 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S42

YL - Real

Data Init

Optional

0.0

Step response coefficient no. 42 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S43

E2 - Real

Data Init

Optional

0.0

Step response coefficient no. 43 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S44

E3 - Real

Data Init

Optional

0.0

Step response coefficient no. 44 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

1S45

E4 - Real

Data Init

Optional

0.0

Step response coefficient no. 45 [CV1] [1,2,3,4,5MV,1,2,3,4,5DV]

R EQUIRED / O PTIONAL

D EFAULT V A L UE

D ESCRIPTION

APC_002

6.5 Auxiliary DMC algorithm definitions

APC_002

NA ME

L C A L G. R ECORD F IELD

TYPE

2S1

YC - Real

Data Init

Optional

0.0

Step response coefficient no. 1 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S2

Y9 - Real

Data Init

Optional

0.0

Step response coefficient no. 2 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S3

E7 - Real

Data Init

Optional

0.0

Step response coefficient no. 3 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S4

E8 - Real

Data Init

Optional

0.0

Step response coefficient no. 4

2S5

Y8 - Real

Data Init

Optional

0.0

[CV2] [1,2,3,4,5MV,1,2,3,4,5DV] Step response coefficient no. 5 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S6

Y7 - Real

Data Init

Optional

0.0

Step response coefficient no. 6 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S7

Y6 - Real

Data Init

Optional

0.0

Step response coefficient no. 7 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S8

XY - Real

Data Init

Optional

0.0

Step response coefficient no. 8 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S9

XW - Real

Data Init

Optional

0.0

Step response coefficient no. 9 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S10

F4 - Real

Data Init

Optional

0.0

Step response coefficient no. 10 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S11

F5 - Real

Data Init

Optional

0.0

Step response coefficient no. 11 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S12

F6 - Real

Data Init

Optional

0.0

Step response coefficient no. 12

2S13

XV - Real

Data Init

Optional

0.0

[CV2] [1,2,3,4,5MV,1,2,3,4,5DV] Step response coefficient no. 13 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S14

XU - Real

Data Init

Optional

0.0

Step response coefficient no. 14 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S15

XR - Real

Data Init

Optional

0.0

Step response coefficient no. 15 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S16

R1 - Real

Data Init

Optional

0.0

Step response coefficient no. 16 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S17

R2 - Real

Data Init

Optional

0.0

Step response coefficient no. 17 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S18

R3 - Real

Data Init

Optional

0.0

Step response coefficient no. 18 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S19

R4 - Real

Data Init

Optional

0.0

Step response coefficient no. 19 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S20

R5 - Real

Data Init

Optional

0.0

Step response coefficient no. 20 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S21

R6 - Real

Data Init

Optional

0.0

Step response coefficient no. 21 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

R EQUIRED / O PTIONAL

D EFAULT V A L UE

D ESCRIPTION

75

6.5 Auxiliary DMC algorithm definitions

76

NA ME

L C A L G. R ECORD F IELD

TYPE

2S22

R7 - Real

Data Init

Optional

0.0

Step response coefficient no. 22 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S23

R8 - Real

Data Init

Optional

0.0

Step response coefficient no. 23 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S24

R9 - Real

Data Init

Optional

0.0

Step response coefficient no. 24 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S25

S1 - Real

Data Init

Optional

0.0

Step response coefficient no. 25 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S26

S2 - Real

Data Init

Optional

0.0

Step response coefficient no. 26 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S27

S3 - Real

Data Init

Optional

0.0

Step response coefficient no. 27 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S28

S4 - Real

Data Init

Optional

0.0

Step response coefficient no. 28 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S29

S5 - Real

Data Init

Optional

0.0

Step response coefficient no. 29 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S30

S6 - Real

Data Init

Optional

0.0

Step response coefficient no. 30 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S31

S7 - Real

Data Init

Optional

0.0

Step response coefficient no. 31 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S32

S8 - Real

Data Init

Optional

0.0

Step response coefficient no. 32 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S33

S9 - Real

Data Init

Optional

0.0

Step response coefficient no. 33 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S34

T1 - Real

Data Init

Optional

0.0

Step response coefficient no. 34 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S35

T2 - Real

Data Init

Optional

0.0

Step response coefficient no. 35 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S36

T3 - Real

Data Init

Optional

0.0

Step response coefficient no. 36 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S37

T4 - Real

Data Init

Optional

0.0

Step response coefficient no. 37 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S38

T5 - Real

Data Init

Optional

0.0

Step response coefficient no. 38 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S39

T6 - Real

Data Init

Optional

0.0

Step response coefficient no. 39 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S40

T7 - Real

Data Init

Optional

0.0

Step response coefficient no. 40 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S41

T8 - Real

Data Init

Optional

0.0

Step response coefficient no. 41 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S42

T9 - Real

Data Init

Optional

0.0

Step response coefficient no. 42 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S43

U1 - Real

Data Init

Optional

0.0

Step response coefficient no. 43 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

R EQUIRED / O PTIONAL

D EFAULT V A L UE

D ESCRIPTION

APC_002

6.5 Auxiliary DMC algorithm definitions

NA ME

L C A L G. R ECORD F IELD

TYPE

2S44

U2 - Real

Data Init

Optional

0.0

Step response coefficient no. 44 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

2S45

U3 - Real

Data Init

Optional

0.0

Step response coefficient no. 45 [CV2] [1,2,3,4,5MV,1,2,3,4,5DV]

NPCV

X1 - Integer

Data Init

Optional

0.0

Number of predicted CV

PMLB

X2 - Integer

Data Init

Optional

0.0

Prediction time low bits

PMHB

X3 - Integer

Data Init

Optional

0.0

Prediction time high bits

R EQUIRED / O PTIONAL

D EFAULT V A L UE

D ESCRIPTION

Note: Aux13 is for MV1/CV3 and MV1/CV4. Aux14 is for MV2/CV3 and MV2/CV4. Aux15 is for MV3/CV3 and MV3/CV4. Aux16 is for MV4/CV3 and MV4/CV4. Aux17 is for MV5/CV3 and MV5/CV4. Aux18 is for DV1/CV3 and DV1/CV4. Aux19 is for DV2/CV3 and DV2/CV4. Aux20 is for DV3/CV3 and DV3/CV4. Aux21 is for DV4/CV3 and DV4/CV4. Aux22 is for DV5/CV3 and DV5/CV4. Auxiliary 13 - 22 Influence MV and DV on third and fourth CV Au xi li ary DMC algo ri thm defi ni ti on s L C A L G. R ECORD NA ME

F IELD

TYPE

1S1

G0 - Real

Data Init

R EQUIRED /

D EFAULT

O PTIONAL

V A L UE

Optional

0.0

D ESCRIPTION Step response coefficient no. 1 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

1S2

G1 - Real

Data Init

Optional

0.0

Step response coefficient no. 2

1S3

G2 - Real

Data Init

Optional

0.0

Step response coefficient no. 3

1S4

G3 - Real

Data Init

Optional

0.0

Step response coefficient no. 4

1S5

G4 - Real

Data Init

Optional

0.0

Step response coefficient no. 5

1S6

G5 - Real

Data Init

Optional

0.0

Step response coefficient no. 6

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV] 1S7

G6 - Real

Data Init

Optional

0.0

Step response coefficient no. 7 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

1S8

G7 - Real

Data Init

Optional

0.0

Step response coefficient no. 8 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

APC_002

77

6.5 Auxiliary DMC algorithm definitions

NA ME

L C A L G. R ECORD F IELD

TYPE

1S9

G8 - Real

1S10

R EQUIRED / O PTIONAL

D EFAULT V A L UE

Data Init

Optional

0.0

Step response coefficient no. 9

G9 - Real

Data Init

Optional

0.0

Step response coefficient no. 10

1S11

B0 - Real

Data Init

Optional

0.0

Step response coefficient no. 11

1S12

B1 - Real

Data Init

Optional

0.0

Step response coefficient no. 12

1S13

B2 - Real

Data Init

Optional

0.0

Step response coefficient no. 13

1S14

YU - Real

Data Init

Optional

0.0

Step response coefficient no. 14

1S15

B4 - Real

Data Init

Optional

0.0

Step response coefficient no. 15

1S16

B5 - Real

Data Init

Optional

0.0

Step response coefficient no. 16

1S17

B6 - Real

Data Init

Optional

0.0

Step response coefficient no. 17 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

1S18

B7 - Real

Data Init

Optional

0.0

Step response coefficient no. 18

1S19

B8 - Real

Data Init

Optional

0.0

Step response coefficient no. 19

1S20

B9 - Real

Data Init

Optional

0.0

Step response coefficient no. 20

1S21

C0 - Real

Data Init

Optional

0.0

Step response coefficient no. 21

1S22

C1 - Real

Data Init

Optional

0.0

Step response coefficient no. 22

1S23

C2 - Real

Data Init

Optional

0.0

Step response coefficient no. 23

1S24

C3 - Real

Data Init

Optional

0.0

Step response coefficient no. 24

1S25

C4 - Real

Data Init

Optional

0.0

Step response coefficient no. 25

1S26

C5 - Real

Data Init

Optional

0.0

Step response coefficient no. 26

D ESCRIPTION

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

78

APC_002

6.5 Auxiliary DMC algorithm definitions

NA ME

L C A L G. R ECORD F IELD

TYPE

1S27

C6 - Real

1S28

R EQUIRED / O PTIONAL

D EFAULT V A L UE

Data Init

Optional

0.0

Step response coefficient no. 27

C7 - Real

Data Init

Optional

0.0

Step response coefficient no. 28

1S29

C8 - Real

Data Init

Optional

0.0

Step response coefficient no. 29 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

1S30

YT - Real

Data Init

Optional

0.0

Step response coefficient no. 30 [CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

1S31

D0 - Real

Data Init

Optional

0.0

Step response coefficient no. 31

1S32

YQ - Real

Data Init

Optional

0.0

Step response coefficient no. 32

1S33

D2 - Real

Data Init

Optional

0.0

Step response coefficient no. 33

1S34

YP - Real

Data Init

Optional

0.0

Step response coefficient no. 34

1S35

D4 - Real

Data Init

Optional

0.0

Step response coefficient no. 35

1S36

D5 - Real

Data Init

Optional

0.0

Step response coefficient no. 36

1S37

D6 - Real

Data Init

Optional

0.0

Step response coefficient no. 37

1S38

YN - Real

Data Init

Optional

0.0

Step response coefficient no. 38

1S39

D8 - Real

Data Init

Optional

0.0

Step response coefficient no. 39

1S40

D9 - Real

Data Init

Optional

0.0

Step response coefficient no. 40

1S41

YM - Real

Data Init

Optional

0.0

Step response coefficient no. 41

1S42

YL - Real

Data Init

Optional

0.0

Step response coefficient no. 42

1S43

E2 - Real

Data Init

Optional

0.0

Step response coefficient no. 43

1S44

E3 - Real

Data Init

Optional

0.0

Step response coefficient no. 44

D ESCRIPTION

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

APC_002

79

6.5 Auxiliary DMC algorithm definitions

NA ME

L C A L G. R ECORD F IELD

TYPE

1S45

E4 - Real

2S1

R EQUIRED / O PTIONAL

D EFAULT V A L UE

Data Init

Optional

0.0

Step response coefficient no. 45

YC - Real

Data Init

Optional

0.0

Step response coefficient no. 1

2S2

Y9 - Real

Data Init

Optional

0.0

Step response coefficient no. 2

2S3

E7 - Real

Data Init

Optional

0.0

Step response coefficient no. 3

2S4

E8 - Real

Data Init

Optional

0.0

Step response coefficient no. 4

2S5

Y8 - Real

Data Init

Optional

0.0

Step response coefficient no. 5

2S6

Y7 - Real

Data Init

Optional

0.0

Step response coefficient no. 6

2S7

Y6 - Real

Data Init

Optional

0.0

Step response coefficient no. 7

2S8

XY - Real

Data Init

Optional

0.0

Step response coefficient no. 8

2S9

XW - Real

Data Init

Optional

0.0

Step response coefficient no. 9

2S10

F4 - Real

Data Init

Optional

0.0

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV] Step response coefficient no. 10

2S11

F5 - Real

Data Init

Optional

0.0

Step response coefficient no. 11

2S12

F6 - Real

Data Init

Optional

0.0

Step response coefficient no. 12

2S13

XV - Real

Data Init

Optional

0.0

Step response coefficient no. 13

2S14

XU - Real

Data Init

Optional

0.0

Step response coefficient no. 14

2S15

XR - Real

Data Init

Optional

0.0

Step response coefficient no. 15

2S16

R1 - Real

Data Init

Optional

0.0

Step response coefficient no. 16

2S17

R2 - Real

Data Init

Optional

0.0

Step response coefficient no. 17

D ESCRIPTION

[CV3] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

80

APC_002

6.5 Auxiliary DMC algorithm definitions

NA ME

L C A L G. R ECORD F IELD

TYPE

2S18

R3 - Real

2S19

2S20

R EQUIRED / O PTIONAL

D EFAULT V A L UE

Data Init

Optional

0.0

Step response coefficient no. 18 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

R4 - Real

Data Init

Optional

0.0

Step response coefficient no. 19

R5 - Real

Data Init

Optional

0.0

Step response coefficient no. 20

D ESCRIPTION

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV] 2S21

R6 - Real

Data Init

Optional

0.0

Step response coefficient no. 21 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

2S22

R7 - Real

Data Init

Optional

0.0

Step response coefficient no. 22

2S23

R8 - Real

Data Init

Optional

0.0

Step response coefficient no. 23

2S24

R9 - Real

Data Init

Optional

0.0

Step response coefficient no. 24

2S25

S1 - Real

Data Init

Optional

0.0

Step response coefficient no. 25

2S26

S2 - Real

Data Init

Optional

0.0

Step response coefficient no. 26

2S27

S3 - Real

Data Init

Optional

0.0

Step response coefficient no. 27

2S28

S4 - Real

Data Init

Optional

0.0

Step response coefficient no. 28

2S29

S5 - Real

Data Init

Optional

0.0

Step response coefficient no. 29

2S30

S6 - Real

Data Init

Optional

0.0

Step response coefficient no. 30

Data Init

Optional

0.0

Step response coefficient no. 31 [CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV] 2S31

S7 - Real

2S32

S8 - Real

Data Init

Optional

0.0

Step response coefficient no. 32

2S33

S9 - Real

Data Init

Optional

0.0

Step response coefficient no. 33

2S34

T1 - Real

Data Init

Optional

0.0

Step response coefficient no. 34

2S35

T2 - Real

Data Init

Optional

0.0

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV] Step response coefficient no. 35

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

APC_002

81

6.5 Auxiliary DMC algorithm definitions

NA ME

L C A L G. R ECORD F IELD

TYPE

2S36

T3 - Real

2S37

R EQUIRED / O PTIONAL

D EFAULT V A L UE

Data Init

Optional

0.0

Step response coefficient no. 36

T4 - Real

Data Init

Optional

0.0

Step response coefficient no. 37

2S38

T5 - Real

Data Init

Optional

0.0

Step response coefficient no. 38

2S39

T6 - Real

Data Init

Optional

0.0

Step response coefficient no. 39

2S40

T7 - Real

Data Init

Optional

0.0

Step response coefficient no. 40

2S41

T8 - Real

Data Init

Optional

0.0

Step response coefficient no. 41

2S42

T9 - Real

Data Init

Optional

0.0

Step response coefficient no. 42

2S43

U1 - Real

Data Init

Optional

0.0

Step response coefficient no. 43

2S44

U2 - Real

Data Init

Optional

0.0

Step response coefficient no. 44

2S45

U3 - Real

Data Init

Optional

0.0

Step response coefficient no. 45

D ESCRIPTION

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV4] [1,2,3,4,5MV,1,2,3,4,5DV]

Note: Aux23 is for MV1/CV5 and MV1/CV6. Aux24 is for MV2/CV5 and MV2/CV6. Aux25 is for MV3/CV5 and MV3/CV6. Aux26 is for MV4/CV5 and MV4/CV6. Aux27 is for MV5/CV5 and MV5/CV6. Aux28 is for DV1/CV5 and DV1/CV6. Aux29 is for DV2/CV5 and DV2/CV6. Aux30 is for DV3/CV5 and DV3/CV6. Aux31 is for DV4/CV5 and DV4/CV6. Aux32 is for DV5/CV5 and DV5/CV6. Auxiliary 23 - 32 Influence MV and DV on fifth and sixth CV Au xi li ary DMC algo ri thm defi ni ti on s

NA ME

L C A L G. R ECORD F IELD

TYPE

1S1

G0 - Real

Data Init

R EQUIRED / O PTIONAL Optional

D EFAULT VA L UE 0.0

D ESCRIPTION Step response coefficient no. 1 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

82

APC_002

6.5 Auxiliary DMC algorithm definitions

NA ME

L C A L G. R ECORD F IELD

TYPE

1S2

G1 - Real

Data Init

Optional

0.0

Step response coefficient no. 2

1S3

G2 - Real

Data Init

Optional

0.0

Step response coefficient no. 3

1S4

G3 - Real

Data Init

Optional

0.0

Step response coefficient no. 4

1S5

G4 - Real

Data Init

Optional

0.0

Step response coefficient no. 5

1S6

G5 - Real

Data Init

Optional

0.0

Step response coefficient no. 6

1S7

G6 - Real

Data Init

Optional

0.0

Step response coefficient no. 7

1S8

G7 - Real

Data Init

Optional

0.0

Step response coefficient no. 8

1S9

G8 - Real

Data Init

Optional

0.0

Step response coefficient no. 9

1S10

G9 - Real

Data Init

Optional

0.0

Step response coefficient no. 10

1S11

B0 - Real

Data Init

Optional

0.0

Step response coefficient no. 11

1S12

B1 - Real

Data Init

Optional

0.0

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV] Step response coefficient no. 12

1S13

B2 - Real

Data Init

Optional

0.0

Step response coefficient no. 13

1S14

YU - Real

Data Init

Optional

0.0

Step response coefficient no. 14

1S15

B4 - Real

Data Init

Optional

0.0

Step response coefficient no. 15

1S16

B5 - Real

Data Init

Optional

0.0

Step response coefficient no. 16

1S17

B6 - Real

Data Init

Optional

0.0

Step response coefficient no. 17

1S18

B7 - Real

Data Init

Optional

0.0

Step response coefficient no. 18

1S19

B8 - Real

Data Init

Optional

0.0

Step response coefficient no. 19

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

APC_002

83

6.5 Auxiliary DMC algorithm definitions

NA ME

L C A L G. R ECORD F IELD

TYPE

1S20

B9 - Real

Data Init

Optional

0.0

Step response coefficient no. 20

1S21

C0 - Real

Data Init

Optional

0.0

Step response coefficient no. 21

1S22

C1 - Real

Data Init

Optional

0.0

Step response coefficient no. 22

1S23

C2 - Real

Data Init

Optional

0.0

Step response coefficient no. 23

1S24

C3 - Real

Data Init

Optional

0.0

Step response coefficient no. 24

1S25

C4 - Real

Data Init

Optional

0.0

Step response coefficient no. 25

1S26

C5 - Real

Data Init

Optional

0.0

Step response coefficient no. 26

1S27

C6 - Real

Data Init

Optional

0.0

Step response coefficient no. 27

1S28

C7 - Real

Data Init

Optional

0.0

Step response coefficient no. 28

1S29

C8 - Real

Data Init

Optional

0.0

Step response coefficient no. 29 [CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

1S30

YT - Real

Data Init

Optional

0.0

Step response coefficient no. 30

1S31

D0 - Real

Data Init

Optional

0.0

Step response coefficient no. 31

1S32

YQ - Real

Data Init

Optional

0.0

Step response coefficient no. 32

1S33

D2 - Real

Data Init

Optional

0.0

Step response coefficient no. 33

1S34

YP - Real

Data Init

Optional

0.0

Step response coefficient no. 34

1S35

D4 - Real

Data Init

Optional

0.0

Step response coefficient no. 35

1S36

D5 - Real

Data Init

Optional

0.0

Step response coefficient no. 36

1S37

D6 - Real

Data Init

Optional

0.0

Step response coefficient no. 37

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

84

APC_002

6.5 Auxiliary DMC algorithm definitions

NA ME

L C A L G. R ECORD F IELD

TYPE

1S38

YN - Real

Data Init

Optional

0.0

Step response coefficient no. 38

1S39

D8 - Real

Data Init

Optional

0.0

Step response coefficient no. 39

1S40

D9 - Real

Data Init

Optional

0.0

Step response coefficient no. 40

1S41

YM - Real

Data Init

Optional

0.0

Step response coefficient no. 41

1S42

YL - Real

Data Init

Optional

0.0

Step response coefficient no. 42

1S43

E2 - Real

Data Init

Optional

0.0

Step response coefficient no. 43

1S44

E3 - Real

Data Init

Optional

0.0

Step response coefficient no. 44

1S45

E4 - Real

Data Init

Optional

0.0

Step response coefficient no. 45

2S1

YC - Real

Data Init

Optional

0.0

Step response coefficient no. 1

2S2

Y9 - Real

Data Init

Optional

0.0

Step response coefficient no. 2

2S3

E7 - Real

Data Init

Optional

0.0

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV] Step response coefficient no. 3

2S4

E8 - Real

Data Init

Optional

0.0

Step response coefficient no. 4

2S5

Y8 - Real

Data Init

Optional

0.0

Step response coefficient no. 5

2S6

Y7 - Real

Data Init

Optional

0.0

Step response coefficient no. 6

2S7

Y6 - Real

Data Init

Optional

0.0

Step response coefficient no. 7

2S8

XY - Real

Data Init

Optional

0.0

Step response coefficient no. 8

2S9

XW - Real

Data Init

Optional

0.0

Step response coefficient no. 9

2S10

F4 - Real

Data Init

Optional

0.0

Step response coefficient no. 10

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV5] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

APC_002

85

6.5 Auxiliary DMC algorithm definitions

NA ME

L C A L G. R ECORD F IELD

TYPE

2S11

F5 - Real

Data Init

Optional

0.0

Step response coefficient no. 11

2S12

F6 - Real

Data Init

Optional

0.0

Step response coefficient no. 12 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

2S13

XV - Real

Data Init

Optional

0.0

Step response coefficient no. 13

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV] 2S14

XU - Real

Data Init

Optional

0.0

Step response coefficient no. 14 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

2S15

XR - Real

Data Init

Optional

0.0

Step response coefficient no. 15

2S16

R1 - Real

Data Init

Optional

0.0

Step response coefficient no. 16

2S17

R2 - Real

Data Init

Optional

0.0

Step response coefficient no. 17

2S18

R3 - Real

Data Init

Optional

0.0

Step response coefficient no. 18 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

2S19

R4 - Real

Data Init

Optional

0.0

Step response coefficient no. 19

2S20

R5 - Real

Data Init

Optional

0.0

Step response coefficient no. 20

2S21

R6 - Real

Data Init

Optional

0.0

Step response coefficient no. 21

2S22

R7 - Real

Data Init

Optional

0.0

Step response coefficient no. 22

2S23

R8 - Real

Data Init

Optional

0.0

Step response coefficient no. 23

2S24

R9 - Real

Data Init

Optional

0.0

Step response coefficient no. 24

2S25

S1 - Real

Data Init

Optional

0.0

Step response coefficient no. 25

2S26

S2 - Real

Data Init

Optional

0.0

Step response coefficient no. 26

2S27

S3 - Real

Data Init

Optional

0.0

Step response coefficient no. 27

2S28

S4 - Real

Data Init

Optional

0.0

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV] Step response coefficient no. 28

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

86

APC_002

6.5 Auxiliary DMC algorithm definitions

NA ME

L C A L G. R ECORD F IELD

TYPE

2S29

S5 - Real

Data Init

Optional

0.0

Step response coefficient no. 29

2S30

S6 - Real

Data Init

Optional

0.0

Step response coefficient no. 30

Data Init

Optional

0.0

Step response coefficient no. 31 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV] 2S31

S7 - Real

2S32

S8 - Real

Data Init

Optional

0.0

Step response coefficient no. 32 [CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

2S33

S9 - Real

Data Init

Optional

0.0

Step response coefficient no. 33

2S34

T1 - Real

Data Init

Optional

0.0

Step response coefficient no. 34

2S35

T2 - Real

Data Init

Optional

0.0

Step response coefficient no. 35

2S36

T3 - Real

Data Init

Optional

0.0

Step response coefficient no. 36

2S37

T4 - Real

Data Init

Optional

0.0

Step response coefficient no. 37

2S38

T5 - Real

Data Init

Optional

0.0

Step response coefficient no. 38

2S39

T6 - Real

Data Init

Optional

0.0

Step response coefficient no. 39

2S40

T7 - Real

Data Init

Optional

0.0

Step response coefficient no. 40

2S41

T8 - Real

Data Init

Optional

0.0

Step response coefficient no. 41

2S42

T9 - Real

Data Init

Optional

0.0

Step response coefficient no. 42

2S43

U1 - Real

Data Init

Optional

0.0

Step response coefficient no. 43

2S44

U2 - Real

Data Init

Optional

0.0

Step response coefficient no. 44

2S45

U3 - Real

Data Init

Optional

0.0

Step response coefficient no. 45

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

[CV6] [1,2,3,4,5MV,1,2,3,4,5DV]

APC_002

87

6.6 DMC algorithm status of optimization (STAT) output

6. 6

DM C algorit hm status

of opti mization

(S TAT ) outp ut

Status of optimization (STAT) informs you about optimization. For each output (MV) signal, three bits are used to indicate status. See the following table: STAT info rmation MV

6. 7

NUMBER

MIN

MAX

MAX

MV1

0

1

2

MV2

3

4

5

MV3

6

7

8

MV4

9

10

11

MV5

12

13

14

DM C algorit hm trackin g sign als Note: The TOUT signal is not used. It is not possible to keep the setpoint when the object is MIMO and the number of outputs from the algorithm is different than the number of inputs to the algorithm. The DMC Controller works as the upstream Controller only. External tracking and limiting are done through signals passed in the upper 16 bits of the third status word of the analog track points. This algorithm takes the following action in response to information found in the third status word of the analog input signal TRIN: BIT

88

D ESCRIPTION

A CTION

TOUT S IGNAL

16

Track

Implemented

Not used

17

Track if lower

Implemented when not in Manual mode*

Not used

18

Track if higher

Implemented when not in Manual mode*

Not used

19

Lower inhibit

Implemented*

Not used

20

Raise inhibit

Implemented*

Not used

21

Conditional Track

See description of cascaded mode.

Not used

22

Not used

No action

Not used

23

Deviation Alarm

No action

Not used

24

Local Manual mode

No action

Not used

25

Manual mode

No action

Not used

26

Auto mode

No action

Not used

27

Not Used

No action

Not used

28

Not Used

No action

Not used

APC_002

6.8 DMC algorithm MV bump protection

BIT

D ESCRIPTION

A CTION

29

Not Used

No action

TOUT S IGNAL Not used

30

Low limit reached

No action

Not used

31

High limit reached

No action

Not used

*Only when the Track signal is not present. **Only when the Track signal is not present; the signals are set according to the definitions given in Setting Tracking Signals in the Ovation Algorithm Reference Manual.

The high and low limit flags, the mode, and the tracking signals from the algorithm are output to TOUT to be used for display and by upstream algorithms.

6. 8

DM C algorit hm MV bump prot ection The MV bump protection mechanism is designed to protect DMC output against the large signal variations that can happen when a downstream algorithm transitions from MAN to AUTO and stops tracking. Normally, this is only a problem when a DV signal changes value a few steps before transition from MAN to AUTO. The DMC controller tries to compensate for the DV changes by making a very strong and fast MV signal change. Sometimes, this may cause a disruption to whatever process the DMC is controlling. This is known as the "bump effect." Due to the nature of the DMC process and how it is implemented in Ovation, the bump effect cannot be eliminated altogether. However, it can be reduced by a special rate limiter implemented for this particular issue. MV bump protection will only be activated after transition from MAN to AUTO in X steps, where X is defined by user. Note: The bump effect can be controlled though the standard limiters built into the DMC. Emerson recommends that the standard limiters not be used to fix this particular problem, simply because solving for the bump effect will restrict their overall accuracy and usefulness.

APC_002

89

6.8 DMC algorithm MV bump protection

6. 8.1 DM C algorith m MV bump prot ection exa mple The following figure presents a situation where the MV signal is not constrained after a transition from MAN to AUTO. (The standard rate limit or MV Bump Protection is not active in this example.) The DMC algorithm attempts to compensate for changes to the DV signal by rapidly changing the MV signal at the moment when the downstream algorithm is put in AUTO. The large spike in the MV signal is the DMC over-compensating (the bump effect) and what the MV bump protection mechanism was designed to prevent.

Figure 23 : No con straints fo r MV signal

90

APC_002

6.8 DMC algorithm MV bump protection

The figure below represents a situation when only the standard rate limit is applied. The DMC algorithm attempts to over-compensate for the change in the DV signal and the MV signal is limited by the standard rate limit. This approach can eliminate the bump effect, but rate limit has to be set so low that it is not useful for normal operation.

Figure 24 : Standard constraints

APC_002

for MV signal

91

6.8 DMC algorithm MV bump protection

The following figure shows the situation when MV Bump Protection is used. The DMC algorithm attempts to over-compensate for the change to the DV signal, but the change of the MV signal is limited by a special rate limit (MV Bump Protection). This special rate limit is activated after the transition from MAN to AUTO, and it is only applied for a period of time defined by the user. This eliminates the bump effect and will not impact the MV signal in normal operation conditions.

Figure 25 : Specially designed cons

traints for MV signal

6. 8.2 To confi gure MV bump protectio

n

Use the following procedure to configure the MV Bump Protection:

92

1.

Access the DMC Advanced Editor window (see page 20).

2.

Select the General Parameter tab, and go to the Selectable Fields section (see page 52).

3.

Set the MA(1-5) parameters to ACTIVE and enter a rate limit for each signal, as needed.

4.

After one (or more) rate limit(s) are set to ACTIVE, then the SNL parameter will become editable. Enter a set number of steps for which the MA(1-5) parameter(s) will be active. SNL should not be longer than the length of the DV’s history. This special rate limit should be less than the standard rate limit.

5.

If necessary, tune these values in the signal diagram (see page 28).

APC_002

6.9 DMC algorithm cascaded mode and conditional tracking

6. 9

DM C algorit hm cascaded

mod e and cond itio nal trackin g

The DMC Controller offers an option of working in a cascaded mode. It must be working as the upper module ONLY. Conditional tracking is a scheme that allows tighter control of the process variable when the cascaded control strategy is implemented. Basically, the conditional tracking scheme allows the upstream controller to have immediate influence on the final output when the error between the process variable and the setpoint changes direction while the downstream controller is in a saturation condition. Without this scheme, the upstream controller would first have to move enough to zero the error on the downstream controller before having any effect on the process. This would introduce additional dead-time in the controller response and in the case of processes with slow dynamics (such as, temperature control), this additional dead-time may be significant. Example Cascaded control structure for the control of steam temperature is illustrated in the picture below:

APC_002

93

6.9 DMC algorithm cascaded mode and conditional tracking

Ab br evi ati on s T1 – auxillary process value T1s – setpoint for auxillary process value T2 – main process value T2s – setpoint for main process value Assume an initial steady-state (T2 = T2s; T1 = T1s = 800F; valve open on 20%), then T2 starts to drop. DMC controller with increase T1s to keep T2 close to T2s. This causes the valve to close. When the DMC valve controller is completely closed, T1 eventually stopitincreasing. However, if T2 keeps dropping, will continue to will increase T1s until hits the upper limit. When T2 is starting to increase and eventually the error between T2 and T2s changes direction, DMC controller will decrease T1s to keep T2 close to T2s. However, due to the BIG GAP, DMC controller would first have to move T1s enough to zero the error between T1s and T1 before the valve starts to open again. This would introduce additional dead time.

Conditional tracking is a scheme designed to solve the “BIG GAP” problem when the downstream controller is in a saturation condition. When two controllers are arranged in cascaded configuration, the TYPE parameter should be set to “cascade” in the downstream controller ONLY. It is not necessary to configure the upstream controller in the cascaded configuration. When the downstream controller is configured in the cascaded mode, it operates as a conventional PID controller so long as downstream controller is not in a saturation condition. However, if the downstream controller output is saturated at the HI or LO limit, or if the upstream controller receives an inhibit signal from a downstream algorithm, the behavior of the cascaded pair is as follows: 1.

94

The downstream controller asserts the conditional track bit in its output tracking point along the applicable limit or inhibit bit. The downstream controller also calculates a track output value which, if applied as a setpoint input, yields an error of MARGIN in General Parameters, where MARGIN is a non-negative real number.

APC_002

6.9 DMC algorithm cascaded mode and conditional tracking

Note: MAR1 - MAR5 are defined independently for each output. Therefore, MAR1 is MARGIN for output 1, MAR2 is MARGIN for output 2, and so forth. 2.

When the upstream controller sees the conditional track bit set, it adjusts its output as follows: If the error signal causes the upstream controller output to move against the inhibit signal (for example, output attempts to increase when the algorithm is receiving a raise inhibit bit), then the upstream controller sets its output equal to the track input + MARGIN value, or track input – MARGIN value, if raise inhibit or lower inhibit bit is received from downstream, respectively.

3.

Only the downstream controller configured to be in cascaded model asserts the conditional track bit. The upstream controller does not pass the conditional track bit in its track output.

Example Using the same example as discussed previously, when the valve is fully closed (PID controller output = 0), DMC controller output T1s will become T1 + MARGIN. When T2 is starting to increase and eventually the error between T2 and T2s changes direction, the conditional track bit will be deactivated. T1s will be calculated from the DMC controller again. DMC controller will decrease T1s to keep T2 close to T2s. Instead of the BIG GAP observed previously, a smaller gap of size MARGIN is observed. DMC controller would first have to move T1s enough to zero the much smaller error (MARGIN) between T1s and T1 before the valve starts to open again. This would introduce a much smaller dead time, hence allowing tighter control of T2.

APC_002

95

6.9 DMC algorithm cascaded mode and conditional tracking

6.9 .1 DMC mul ti-vari able con tro l exampl e A common way to illustrate MIMO (Multiple Input, Multiple Output) or multi-variable control is to use the shower in your home as an example. Refer to the following diagram. In this example, the goal is to maintain water flow and temperature at the spray head within a comfortable range. Flow and temperature are considered our controlled variables, or CVs in the diagram. To obtain water flow, the supply valves (shower faucets) must be throttled open. To attain a specific water temperature, hot water and cold water must be mixed in the appropriate proportions--again, using the hot and cold water supply valves. Because the supply valves are used to manipulate how much hot and cold water is wanted at the shower head, they are referred to as the manipulated variables, or MVs. The example home also includes other systems, or loads, that use hot and cold water. These other water users are considered as DVs, or disturbance variables, to the shower. In the diagram, the DVs are represented by a flushing toilet and a filling washing machine. The use of water at the DVs affect the flow and temperature at the spray head, but they can not be directly controlled while you are in the shower. You can, however, sense that they are using water since you can hear the toilet flushing or the washing machine filling.

Figure 26: Commo n MIMO example

96

APC_002

6.9 DMC algorithm cascaded mode and conditional tracking

In a normal home (one not using an Ovation Controller loaded with the DMC algorithm) you would react in a certain way to knowing that water is suddenly being used elsewhere in the home. In the case of the toilet flushing, you might open the cold water faucet a little more and throttle down a bit on the hot water. You know from experience that the tank fills shortly and you must return the faucets to the srcinal settings soon so that you can maintain a comfortable shower experience. If you sense that the washing machine is starting to fill, you know that something different is about to happen. You only wash in hot water, so if you do nothing, hot water will be diverted from the shower to fill the washing machine, the shower flow will drop, and the water will get cooler. To compensate, you must open the hot water faucet to maintain temperature and flow in the shower. When the washer fill cycle is complete, you must remember to throttle down on the hot water faucet to prevent being scalded. Now consider the shower where you can install an Ovation Controller to maintain your desired comfort range in the shower. The Ovation Controller uses the DMC algorithm to adjust the MVs to maintain the CVs within the desired range. Without such an algorithm, the Controller would not be able to manipulate the MVs until the CVs strayed beyond their range setpoints. This means that the values of the CVs overshoots or undershoot their desired setpoints for some period of time until the Controller can effectively respond and bring the system back into range. The DMC algorithm overcomes this problem by using a predictive control matrix and results in maintaining closer control of the CV setpoints. The simplified control matrix diagram illustrates (below) what happens to the CV parameters as each variable experiences an “open” step change in isolation of changes in the other valves.

APC_002

97

6.9 DMC algorithm cascaded mode and conditional tracking

Figure 27 : Simplified contr ol matrix diagram

98

APC_002

6.9 DMC algorithm cascaded mode and conditional tracking

Assuming an initial steady state condition for your shower and the water flow and temperature issuing from the spray head to be at desired values, notice what happens as each variable allows more water flow than its present condition. If the cold water MV opens, the temperature CV (water coming out of the spray head) initially remains constant, then decreases slowly until it reaches a new steady state condition at a lower temperature. The small period of time where the parameter remains constant is due to the time lag in the system, which is a result of the distance of piping between the faucet and the shower head and the thermal inertia of the piping and fixtures. Concurrently, the flow of water exiting the spray head increases because of the increased volume of water entering through the valve. Contrast this behavior with what happens when the toilet flushes. Temperature at the spray head increases because cold water is suddenly diverted away to fill the fixture's tank. Simultaneously, the flow rate decreases for the same reason. The tank fills quickly and the cold water flow to the toilet is abruptly stopped. This enables the temperature and flow at the shower head to quickly return to your comfort level. However, the bump in the matrix illustrates the period where you would either be uncomfortable in the shower or fiddling with the faucet to compensate. With an accurate control matrix, the DMC algorithm enables the Ovation Controller to anticipate corrections to the positions of the faucets (MVs) in response to changes in the toilet (DV) before those changes adversely affect the shower quality (CVs). In other words, the Controller may open the cold water MV a little more, throttle the hot water MV a little in the closed position or perform some combination of each to counteract the effects of the flushing toilet. The DMC algorithm uses the control matrix to build a predictive model for how to handle the MVs in response to any combination of conditions of the DVs. The goal of the algorithm is to counteract the effect of the DVs on your shower experience. The algorithm does this by using the control matrix to inject feedforward variables, or FFs, into the system. The FFs job is to negate the effects of the DVs. The result is that you take a shower in total comfort regardless of flushing toilets and laundry activity. The FFs enable the Ovation Controller to eliminate wide swings in the CV parameters and maintain tight control on the fluctuations in flow and temperature at the shower head. The DMC algorithm can do the same thing in your plant on a much more complex scale. It is important to note that any applications of this control algorithm require thorough testing, since the quality and accuracy of the control matrix is directly related to final system performance.

APC_002

99

6.9 DMC algorithm cascaded mode and conditional tracking

6. 9.2 Using DM C cont rol in a power plant--e

xamples

This section shows examples of how to use DMC control in a power plant setting to control steam temperature. The following diagram depicts a classic control structure dedicated to control steam temperature.

Figure 28: DMC control in power plant--Example 1 This classic structure can be replaced by the DMC Controller as illustrated in the following figure.

Figure 29: DMC control in power plant--Example 2

100

APC_002

6.9 DMC algorithm cascaded mode and conditional tracking

In this example, a DMC Controller is used instead of upper PID with a feed-forwards module. Generally, DMC can be used instead of several upper PID Controllers and feed-forwards modules. The following figure presents a more complex case:

Figure 30: DMC control in power plant--Example 3

APC_002

101

6.9 DMC algorithm cascaded mode and conditional tracking

In this case the steam line is more complex and the Controllers must maintain two temperatures, T3 and T5. There are two main problems with this situation: 

The first PIDS cascade does not know about second PIDS cascade.



Feed-forward is not effective for fast (not delay) disturbances signals.

Note: In this example, T5 is the more important temperature parameter. T5 should be o o o maintained at 1004 F. T3 is an auxiliary temperature and should be maintained at 870 -878 F by materials constraints. These two problems can be solved by using a multi-variable Controller. A control schema based on DMC control is illustrated in the following figure:

Figure 31: DMC control in power plant--Example 4 The DMC Controller knows that temperature T3 can be controlled by MV1 only, while the temperature at T5 is controlled by MV1 and MV2. If the second spray is closed before T5 is at its setpoint, then this condition may result in reduced effectiveness of the system. The DMC Controller in this case increases T3 temperature above its setpoint (SETPOINT I) which helps maintain T5 at the correct temperature. Additionally, this approach minimizes the use of spray water. The following parameters can be used as DV signals in this example:  

102

Fuel Steam flow



Temperature before spray I and spray II



Oil

APC_002

6.10 Accessing the tuning window for the DMC algorithm in signal diagrams

6. 10 Accessin g the tuni ng window for the D diagrams

MC algorit hm in signal

To access advanced editing in signal diagrams, see To access the Advanced Tuning window for APC Toolkit algorithms in signal diagrams (see page 28).

6.1 0.1 DMC Trajector

ies tab

The Trajectories tab displays the trajectories of MVs and CVs in the first section of the window. Trajectories of MVs are received from the optimization directly. Based on MV prediction trajectories and a history of MVs and DVs, the Controller calculates a prediction of CV trajectories, which are based on the internal model.

Figure 32: DMC Trajectories tab The Plot Selections area lists the input and output signals and provides connection status. The Tuning Parameters tab stores the tuning parameters.

APC_002

103

6.10 Accessing the tuning window for the DMC algorithm in signal diagrams

6.1 0.2 DMC Tunin g Parameters t ab On this tab you can change the weight of MVs and CVs in the R and Q matrices, respectively. Only positive values are valid. You can also set input constraints for MV signals. This is available when constraints are selected (set as active) in the Control Builder interface.

Figure 33: DMC T unin g Parameters tab

104

APC_002

S

ECTION

7

Using t he Dynamic Predicto r algor ith m (DPA)

IN THIS SECTION What is the Dynamic Predictor algorithm?...................................................................... 105 DPA Symbol .................................................................................................. 106 DPA Functional Limits and Anti-Windup........................................................................................... 106 DPA Force to Stable State function ................................................................................ 107 DPA Time Constants....................................................................................................... 108 DPA Gain ........................................................................................................................ 109 DPA Tracking.................................................................................................................. 109 DPA Quality..................................................................................................................... 110 Accessing advanced editing for DPA in the Control Builder ...........................................111 DPA algorithm definitions ................................................................................................ 112 DPA Use Cases .............................................................................................................. 113

7. 1

What is the Dynamic

Pre dict or algorit hm?

The Dynamic Predictor Algorithm (DPA) models single input and single output (SISO) processes. This algorithm can be used as a predictor of the process and can be utilized in an advanced control structure as an internal model or as a feedforward module. For computational reasons, the DPA algorithm can be divided into three module components: LEADLAG1, LEADLAG2, and LAG3. Each module needs the previous module's value in order to calculate its own value. IN --> LEADLAG1 --> LEADLAG2 --> LAG3 --> GAIN --> OUT Each module needs the previous module's value in order to calculate its own value. Note: The Dynamic Predictor algorithm is available for Ovation releases 3.3.1 and 3.4.0 only.

APC_002

105

7.2 DPA Functional Symbol

7. 2

DP A Functio nal Symbol

Figure 34 : Dynamic Predictor Alg orithm (DPA) functional symbo l

106

APC_002

7.3 DPA Limits and Anti-Windup

7. 3

DP A Limi ts and Anti -W indu p Limits are defined by the High Limit (HLIM) and Low Limit (LLIM) parameters. If the OUT value is calculated higher or lower than its respective limit, the OUT pin is set to that limit. The Track out pin (TOUT) will set the HIGH/LOW Limit flags to alert the upstream algorithms. Since the Dynamic Predictor Algorithm must save previous values (Prev_X or Prev_LAG) to calculate the LAG for all three stages, there is a potential for windup to happen with this algorithm’s output. In this case, an optional anti-windup (AWIND) parameter can be used. Once the OUT value is calculated, the high and low limits are checked against it. If the value is out of bounds, the OUT value and all the previous values used to calculate the LAG3 (Prev_X and Prev_LAG) will be set to the Limit’s value. This will prevent windup better than simply cutting off the OUT value at the top or bottom limit: The following figure represents the output signal when the limit is active and the AWIND option is OFF and ON.

There case, where and LEADLAG2 are values also affected by the option.is a If special R1 or R2 is set to 0, LEADLAG1 then the Prev_X and Prev_LAG in memory willAWIND be set to the OUT value as well.

7. 4

DP A Force to Sta ble State func tion In the event that the DPA is forced into an erratic state because of windup or another issue, the OUT value can be forced into a stable state again by setting the F2SS pin true.

APC_002

107

7.5 DPA Time Constants

7.5

DPA Time Const ants The time constant nominator (R1/R2) and the dominator (T1/T2/T3) parameters determine the shape of the algorithm’s model. The values can be dynamic if they are connected by pins, or they can be constant if they are entered as parameters in the algorithm record itself. The time constant nominator (R1/R2) and the dominator (T1/T2/T3) parameters determine the shape of the algorithm's model. The values can be dynamic if they are connected by pins or constant if entered as parameters in the algorithm record itself. 

If R1/R2 is set less than zero, it will be set to zero internally.



If R1/R2 is set less than the sheet time, but higher than zero, it will be set to the sheet time





internally. If T1/T2/T3 is set to less than or equal to zero, the entire module will be set to the value of Q1 for LEADLAG1, Q2 for LEADLAG2, 1 for LAG3. (Example: If T1=-2 then LEADLAG1 would equal Q1.) In this event, the R value with the same number will internally equal 0 as well. If T1/T2/T3 is set to a value between the sheet time and zero, T will be set to the sheet time.

This high order transfer function allows you to model almost any shape of response. Two typical non-trivial models like “non-minimum phase” response and “derivative response” are presented in the following figure. Non-minimum phase model The arrows on the picture show the direction of the changes that occur when the values of the T1, T2, and R1 parameters increase.

108

APC_002

7.6 DPA Gain

Derivative model The arrows on the picture show the direction of the changes that occur when the T1 and R1 parameters increase.

7.6

DPA Gain The GAIN value is not introduced until all other values have been calculated. Gain can only be higher than 0.001 or lower than -0.001. When the value is between 0 and 0.001, GAIN will automatically be set internally to 0.001. When the value is between a -0.001 and 0, it will be set to -0.001.

7.7

DPA Tracki ng Tracking and limiting are done through signals passed in the upper 16 bits of the third status word of the analog track point. This algorithm takes the following action in response to the information found in the analog input signal TRKIN: BIT

APC_002

D ESCRIPTION

A CTION

TOUT S IGNAL

16

Track

Implemented

Passed through

17

Track if lower

No action

Passed through*

18 19

Track if higher Lower inhibit

No action Implemented

Passed through* Passed through**

20

Raise inhibit

Implemented

Passed through**

21

Conditional Track

No action

Not used

109

7.8 DPA Quality

BIT

D ESCRIPTION

A CTION

22

Not used

No action

TOUT S IGNAL Not used

23

Deviation Alarm

No action

Not used

24

Local Manual mode

No action

Not used

25

Manual mode

No action

Not used

26

Auto mode

No action

Not used

27

Not used

No action

Not used

28

Not used

No action

Not used

29

Not used

No action

Not used

30

Low limit reached

No action

Low limit reached

31

High limit reached

No action

High limit reached

* Only when the Track signal is not present. ** Only when the Track signal is not present; the signals are set according to the definition given in the Special Case Rules below.

Special Case Rules: 1.

In the situation where Q1 or Q2 is set to zero, the TOUT value is set to zero and flags will not be passed upstream.

2.

If TRKIN has the RAISE INHIBIT flag set, the maximal OUT value cannot be bigger than the TRKIN value until the flag is active. If TRKIN has the LOWER INHIBIT flag set, then the minimal OUT value cannot be lower than the TRKIN value until the flag is active.

3. changed When thetoTRACKING pinbased is set,on thethe previous values (Prev_X Prev_LAG values) are a stable state newly calculated TOUTand value. a) Prev_X = Prev_LAG = TOUT b) Prev_X = Prev_LAG = TOUT * Q1 c) 4.

7.8

for LEADLAG1 for LEADLAG2

Prev_X = Prev_LAG = TOUT * Q1 * Q2 for LAG3

When (GAIN * Q1 * Q2) < 0, the INHIBIT and TRACK IF flags coming from downstream will be reversed before being assigned to TOUT. For example, if TRKIN has the RAISE_INHIBIT flag set and (GAIN * Q1 * Q2) is less than 0, then TOUT’s LOWER_INHIBIT flag will be set. This rule only applies if TRACKING on TRKIN is not set.

DPA Qualit y The OUT pin’s quality will be set to the same value as the lowest quality input pin. For example, if the IN pin quality is FAIR, GAIN’s quality is BAD, and all other quality is GOOD, then the OUT quality is set to BAD. If the algorithm receives an invalid value as an input or calculates an invalid value as the OUT or TOUT pin, the drop is placed into alarm. In these situations, TOUT and OUT will not be updated until the error is corrected. If the F2SS pin is engaged, and the quality of the point is BAD, the algorithm will ignore the request.

110

APC_002

7.9 Accessing advanced editing for DPA in the Control Builder

7. 9

Accessi ng advanced

editing for

DP A in the Control Builder

DPA does not use advanced edits and does not have any parameters that appear in the Advanced Applications Studio. For DPA, all parameters are defined through the Control Builder Property Editor. See To use the Property Editor to edit advanced algorithms (see page 19) for more information. To identify parameters, hover the mouse pointer over the entries in the Property Editor. The parameter name appears as a tooltip. For information on valid parameter values, see DPA algorithm definitions (see page 112). The following figure shows an example of the Property Editor for the DPA algorithm.

Figure 35 : DPA algorithm paramete rs sh own in the Property Editor Note: No default tuning window is available for the DPA algorithm in signal diagrams.

APC_002

111

7.10 DPA algorithm definitions

7. 10 DP A algorit hm definit ions Al go ri th m Definit io ns

NA ME

L C AL G. R ECORD F IELD

DIAG

LU - Integer

GAIN

TYPE

D EFAULT V A L UE

D ESCRIPTION

Data Init

Required

120

Tuning Diagram Number

R1

Dual Input

Optional

1.0

Process dependent GAIN value

LA

T1

R2

Dual Input

Optional

20.0

Process dependent T1 constant

LA

T2

R3

Dual Input

Optional

20.0

Process dependent T2 constant

LA

T3

R4

Dual Input

Optional

20.0

Process dependent T3 constant

LA

R1

R5

Dual Input

Optional

0.0

Process dependent R1 constant

LA

R2

R6

Dual Input

Optional

0.0

Process dependent R2 constant

LA

HLIM

R7

Dual Input

Optional

100

Maximum value of the output point

LA

LLIM

R8

Dual Input

Optional

0

Minimum value of the output point

LA

F2SS

-

Variable

Optional

-

If TRUE, then the Output is forced to stable state (for current input value)

LD

IN

G1 - SSID

Variable

Required

-

Input Variable

LA

TOUT

-

Variable

Required

-

Tracking OUT

LA

OUT

G2 - SSID

Variable

Required

-

Output variable

LA

TRKIN

-

Variable

Optional

-

Tracking IN

LA

AWIND

X5 - Byte Bit 0

Tuning Constant

Required

0

0 - anti-windup not active

-

X6 - Byte Bit 0, 1

Tuning Constant

Required

Q1

Q2

112

MI N. P OINT R ECORD

R EQUIRED / O PTIONAL

X7 - Byte Bit 0, 1

Tuning Constant

-

1 anti-windup active

Required

1

1

Q1 sign - can be 1, 0, -1 

00 - 1



01 - 0



10 - (-1)

Q2 sign - can be 1, 0, -1 

00 - 1



01 - 0



10 - (-1)

-

-

APC_002

7.11 DPA Use Cases

7.11 DPA Use Cases The following example discusses how the MODEL algorithm can be used in control structures. This example does not define parameter values because each case is independent. Only a general idea is presented. Example 1: Internal Model The Internal Model structure is designed to increase robustness of the control structure. The idea is to use the model as a process variable predictor and to control differences between a real process variable and a value predicted by model. This structure allows you to tune the PID algorithm strongly (big Gain, short integration time) and keep high process variable precision.

APC_002

113

7.11 DPA Use Cases

Example 2: Feedforward model The Feedforward structure is designed to eliminate disturbance variables influence. The idea is to use this model as an invert process transfer function and to calculate the correction of the MV signal so that the DV signal impact will be eliminated (or limited). This structure can only be used when the dynamic of the DV signals is slower than the dynamic of the MV signal.

114

APC_002

S

ECTION

8

Using th e EDEVICE algor it hm

IN THIS SECTION What is the EDEVICE algorithm?.................................................................................... 115 EDEVICE functional symbol............................................................................................ 116 Operating modes............................................................................................................. 116 Emergency commands ................................................................................................... 117 Device ready input signal (DRDY) .................................................................................. 117 Permissive inputs ............................................................................................................ 117 Changing the direction of move ...................................................................................... 117 Feedback inputs .............................................................................................................. 118 Auxiliary inputs ................................................................................................................ 118 Digital output signals ....................................................................................................... 118 Trip and timeout sensing................................................................................................. 118 Lack of MCC power sensing ........................................................................................... 118 MCC test mode and permission override function..........................................................119 Configurations for different EDEVICE applications.........................................................119 Operation details of the EDEVICE Algorithm..................................................................121 Accessing advanced editing for EDEVICE in the Control Builder...................................137 EDEVICE algorithm definitions ....................................................................................... 138

8.1

What is the ED EVI CE algo ri thm ? The EDEVICE algorithm is designed to control all typical devices such as solenoids, motors, bi-directional motors, and two-speed motors. Configuration for each case is achieved by connecting individual inputs and outputs to the EDEVICE algorithm. The following functions are supported: 

Mode selection (Auto, Manual, Local, Tagout).



Device readiness sensing.



Permissions to perform operation (MR - Move to Right, ML - Move to Left, ST - Stop).



Separate inputs for MR/ML/ST commands in Auto and Manual modes.



Emergency commands for each MR/ML/ST operation.



Timing and trip sensing circuits.



Device command reissue after short device power break.



Feedback signals including right and left limit switches and right, left and stop motor center contact relays.

APC_002

115

8.2 EDEVICE functional symbol

8.2

EDE VIC E fu nct io nal sym bol

Figure 36: ED EVICE fun ctio nal sym bol

8. 3

Ope rating

modes

The EDEVICE algorithm operates in one of the following four modes: 

Auto (see page 116)



Manual (see page 117)



Local (see page 117)



Tagout (see page 117)

The REQA (Request Auto Mode), REQM (Request Manual Mode), REQL (Request Local Mode) and REQT (Request Tagout Mode) inputs are used to place the algorithm in each of the operating modes. The algorithm can be placed in Tagout mode only when the device is stopped in Manual or Local mode. Switching to Auto mode is possible only in Manual mode, when the algorithm is not blocked. The MODA, MODM, and MODL bits in the PSTA status word indicate that the EDEVICE is actually placed in Auto, Manual, or Local mode respectively. When none of those bits are set to True, the algorithm is in Tagout mode.

116

APC_002

8.4 Emergency commands

8. 3.1 Auto comm ands Auto commands (AUTR, AUTS and AUTL) are accepted only in Auto mode to initiate a Move to Right, Stop, or Move to Left operation.

8.3 .2 Manual com mands Manual commands (MANR, MANS and MANL) are accepted only in Manual mode to initiate a Move to Right, Stop, or Move to Left operation.

8. 3.3 Local and tagout modes In Local mode, the EDEVICE algorithm does not execute any commands (with exception of emergency STOP command) and does not recognize trip and timeout errors. No command is executed in Tagout mode (including emergency STOP). The EDEVICE algorithm can be placed in Tagout mode only when the device is stopped. The algorithm switches from Local or Tagout mode to Manual mode after a REQM (Request Manual Mode) command is issued. If the LLCL parameter (Leave Local Mode) is set to 'GO MANUAL,' the EDEVICE automatically returns to Manual mode from Local mode immediately after the REQL (Request Local Mode) input signal becomes inactive.

8. 4

Emergency

comm ands

Emergency commands (EMRR, EMRS and EMRL) are accepted in both Auto and Manual modes to initiate Move to Right, Stop, or Move to Left operations. The Emergency Stop (EMRS) command is also accepted in Local mode.

8.5

Device ready inp ut sig nal (DR DY ) The DRDY digital input is used to connect a device ready signal. When the DRDY input is set to true or is not connected, the algorithm operates normally. When the DRDY input is false, manual and auto LEFT and RIGHT commands are ignored. The STOP command is executed in any case unless the algorithm is in tagout mode. Emergency commands are executed even when the DRDY input is reset.

8. 6

Pe rmi ssiv e inpu ts Permissive inputs (PERR, PERS and PERL) should be set to True to accept auto and manual commands. Emergency commands are issued despite permission inputs. Input signals for command RIGHT (AUTR, MANR and EMRR) are ignored when a Right Limit Switch feedback signal is connected and active. Input signals for command LEFT (AUTL, MANL and EMRL) are ignored when Left Limit Switch feedback signal is connected and active.

8. 7

Cha ngin g the directi on of move When a command changing direction of move (command RIGHT in Move to Left operation or command LEFT in Move to Right operation) is issued, operation Stop is automatically executed before changing direction.

APC_002

117

8.8 Feedback inputs

8.8

Fee dback inp uts The FBCR, FBCS and FBCL inputs (MCC right, stop and left contact relay status respectively) are used to recognize status of a motor control center. When the FBCS signal is not connected, it is assumed to be active when both FBCR and FBCL are inactive (or one of them is not connected and the other is inactive). The FBLR and FBLL inputs are used to determine the status of right and left limit switches.

8. 8.1 Fe edback signals filtering Feedback signals filtering logic has been implemented for FBCR, FBCS, FBCL, FBLR and FBLL inputs. When the value of a feedback signal changes, it is assumed to be uncertain and is not taken into account in recognition of the state of device for the amount of time specified by the parameter, adequate for a given input signal. Consistency of the value with values of other feedback signals is not checked by this time. The amount of time after which the value is assumed to be stable is specified by DBCR, DBCS, DBCL, DBLR and the DBLL parameters respectively.

8. 9

Auxiliary

inputs

The IN1 and IN2 inputs are used to pass general-purpose signals to bits within the PSTA packed output point to use them in macro or window graphics (see PSTA bits table (see page 130) for more details).

8. 10 Digital

outp ut sign als

The digital outputs of the EDEVICE (CMDR, CMDS, and CMDL) are used to issue RIGHT, STOP, and LEFT commands respectively to the device.

8. 11 Trip a nd timeout se

nsin g

The EDEVICE algorithm recognizes trip (unexpected change of device status) and operation execution timeout. The algorithm can be set to block itself in case of a trip, in case of a trip or operation timeout, or set to continue to operate accordingly to the option chosen via the BLK (Blocking Condition) parameter. A blocked algorithm resumes operation after an ACKT (Trip Acknowledge) command is issued. If the BLK parameter is set to 'NO,' the algorithm is not blocked after a trip or timeout error. In this configuration, the algorithm does not stop the device in case of any error.

8.1 2 Lack of MCC pow er sensi ng In some cases, a device trip is caused by a temporary lack of MCC power supply. If such a case is identified through NPWR (No MCC Power) input and power are restored within the period defined via the PWR parameter, the algorithm automatically reissues the last command to restore the status of the device upon power return. If the break in power supply lasts longer than the time constant defined via PWR parameter, the device stops after the power return.

118

APC_002

8.13 MCC test mode and permission override function

8. 13 MC C test mode

and permiss ion overri

de func tion

If the MCC (Switch Gear) center has a test position/mode where MCC may operate without starting a physical device, the signal identifying such mode should be connected to the TMOD (Test Mode) input. Emergency and permission signals are overridden to allow operation in test mode. When the TMOD input is active, permission signals are skipped and emergency commands are ignored for the amount of time specified by the OVR parameter after transition of the TOVR (Test Override Mode) input signal from False to True. When the permissions override function is active, the TOVP bit in PSTA status word is set to True.

8. 14 Configur

ations for diff

erent ED EV IC E applicatio

ns

Configurations of connected inputs and outputs of the EDEVICE for different applications are shown in the following table. Note that only one input for each command - RIGHT (INCR), STOP (INCS), and LEFT (INCL) - is shown in the table. Such input should be understood as respective Manual command in Manual mode, Auto command in Auto mode, or Emergency command. Other inputs and outputs - DRDY, REQA, REQM, REQL, REQT, NPWR, ACKT, TMOD, IN1, IN2, STAT, DERR, and PSTA can be used in any configuration according to your needs. Only the inputs actually used for the device control should be connected. Constant values should not be connected to any of the inputs. If the algorithm is configured to sustain output command during the entire operation (the KCMD parameter is set to 'CONSTANT') and the device stops automatically after deactivation of the signal, then the output STOP command can be left unconnected. In the following tables, 'R' means that a given signal is required in a given configuration, and 'O' means that the signal is optional. EDEVICE configurations M OTOR / PUMP

B I-

S OLENOID W / 1 LIMIT

B I-

B I-

NOT

DIRECTION

DIRECTION

DIRECTION

CONNECTED

AL OR

SWITCH

AL VAL VE

AL VAL VE

RECOGNIZED

W / OUT

W / STOP

AS

2-

SPEED

MOTOR

STOP

Right contact feedback signal

FBCR

R

R

R

O

O

Output RIGHT command is activated for the time specified by TR6C parameter

Stop contact feedback signal

FBCS

R

R

R

O

O

Signal will be derived from right or left contact signals if any of those is connected

APC_002

119

8.14 Configurations for different EDEVICE applications

M OTOR / PUMP

B I-

S OLENOID W / 1 LIMIT

B I-

B I-

NOT

DIRECTION

DIRECTION

DIRECTION

CONNECTED

AL OR

SWITCH

AL VAL VE

AL VAL VE

RECOGNIZED

W / OUT

W / STOP

AS

2-

SPEED

MOTOR

120

STOP

Left contact feedback signal

FBCL

-

R

-

O

O

Output LEFT command is activated for the time specified by TL8C parameter

Right limit switch feedback signal

FBLR

-

-

-

R

R

Move to Right operation persists until other command is issued.

Left limit switch feedback signal

FBLL

-

-

-

R

R

Move to Left operation persists until other command is issued.

Combined input RIGHT command

INCR

R

R

R

R

R

RIGHT command cannot be issued

Combined input STOP command

INCS

R

R

R

-

R

STOP command cannot be issued

Combined input LEFT command

INCL

-

R

-

R

R

LEFT command cannot be issued

Actual output RIGHT command

CMDR

R

R

R

R

R

Missing output signal

Actual output STOP command

CMDS

R

R

R

O

R

The device can not be stopped. The direction of motion cannot be changed.

Actual output LEFT command

CMDL

-

R

-

R

R

One speed, unidirectional device.

APC_002

8.15 Operation details of the EDEVICE Algorithm

8.1 5 Operation detail

s of the ED EVI CE Alg ori thm

On Controller startup, the EDEVICE algorithm is placed in manual mode and the device state tracking subroutine is initiated.

8.1 5.1 Device st ate track ing The algorithm starts device state tracking subroutine after Controller startup, when Manual or Local mode is left and after an unexpected change of device state (unless it is configured to stop the device). In this subroutine, the algorithm recognizes the status of the device based on feedback signals. The device is recognized as stopped if any of the contact feedback signals is connected and contact feedback signals coherently indicate that the device is stopped. It is also recognized as stopped if contact feedback signals are not connected and the feedback signal from one of the limit switches is active. The device is also recognized as stopped when the period defined as the greater of the values of the TR7R and TL9L parameters (maximum time of transition from one limit switch to another). If the algorithm cannot recognize the state of the device based on feedback signals, an “unrecognized state of device” alarm is reported. The alarm is automatically reset when the state of the device is recognized. If the algorithm cannot recognize the state of the device and output STOP command is connected, activating an input LEFT or RIGHT command causes a STOP command to be issued before the actual direction command (STOP and LEFT Operation or STOP and RIGHT Operation is triggered). If the output STOP command is not connected and the device state is not recognized, the operator must acknowledge the “unrecognized state of device” alarm before the LEFT or RIGHT command executes. After the acknowledgement, commands execute without issuing the STOP command. When the state of the device is recognized, one of subroutines — “Device Stopped,” “Move to Right,” or “Move to Left” starts. If a trip has been reported and the algorithm is configured to not stop the device in case of such an error, the algorithm will not leave the Device State Tracking subroutine until the operator performs an action, issues a command, acknowledges the error, or switches the algorithm to Auto mode. There are six outputs from the EDEVICE algorithm. CMDR (move right), CMDS (stop) and CMDL(move left) are the digital command outputs to be used to control the device in the field (they may be connected to hardwired outputs or used in the Controller for further processing). Output command behavior (IMPULSE versus CONTINUOUS) is selected through the KCMD configuration parameter. The remaining outputs DERR (analog), STAT (analog), and PSTA (packed) provide algorithm status information.

APC_002

121

8.15 Operation details of the EDEVICE Algorithm

Status (STAT) analog output The STAT analog output carries the code of the internal status of the algorithm - currently executed subroutine and subsequent step of the execution. Possible values of this point are described in the following table. Possible STAT codes

122

CODE

D ESCRIPTION

100

Device State Tracking

104

Device State Tracking - the device is recognized as stopped after maximal transition time

111

Device State Tracking - device error detected, wait for operator action

200

Device Stopped

204

Device Stopped - feedback signals from limits not inspected

201

Device Stopped - Left Limit Switch feedback signal active

202

Device Stopped - Right Limit Switch feedback signal active

203

Device Stopped - limit switch feedback signals inactive

300

STOP Command Execution

304

STOP Command Execution - wait minimum command time

305

STOP Command Execution - wait for contact signals reply

310

STOP Command Execution - command execution timeout

311

STOP Command Execution - canceling previous command

400

STOP and RIGHT Operation

404

STOP and RIGHT Operation - wait minimum command time

405

STOP and RIGHT Operation - wait for contact signals reply

411

STOP and RIGHT Operation - canceling previous command

500

STOP and LEFT Operation

504

STOP and LEFT Operation - wait minimum command time

505

STOP and LEFT Operation - wait for contact signals reply

511

STOP and LEFT Operation - canceling previous command

600

RIGHT Command Execution

605

RIGHT Command Execution - wait for contact signals reply

610

RIGHT Command Execution - command execution timeout, input command is still active

611

RIGHT Command Execution - canceling previous command

612

RIGHT Command Execution - command execution timeout, activation of input

700

command will repeat command execution Move to Right Operation

706

Move to Right Operation - wait for deactivation of Left Limit Switch signal

APC_002

8.15 Operation details of the EDEVICE Algorithm

CODE

D ESCRIPTION

707

Move to Right Operation - wait for activation of Right Limit Switch signal

708

Move to Right Operation - wait for deactivation of Right Contact signal

710

Move to Right Operation - Right Limit Switch signal activation timeout

712

Move to Right Operation - Right Contact signal deactivation timeout

800

LEFT Command Execution

805

LEFT Command Execution - wait for contact signals reply

810

LEFT Command Execution - command execution timeout

811

LEFT Command Execution - cancelling previous command, input command is still active

812

LEFT Command Execution - cancelling previous command, activation of input command will repeat command execution

900

Move to Left Operation

906

Move to Left Operation - wait for deactivation of Right Limit Switch signal

907

Move to Left Operation - wait for activation of Left Limit Switch signal

908

Move to Left Operation - wait for deactivation of Left Contact signal

910

Move to Left Operation - Left Limit Switch signal activation timeout

912

Move to Left Operation - Left Contact signal deactivation timeout

Device error (DERR) analog output (combined) The DERR analog output is set to the numeric code of the algorithm error. The DERR analog output is set when the error is reported and can be reset to zero when the error is acknowledged by activating the ACKT input point. All errors including, timeouts, trips and inconsistency of feedback signals have priority over alarms. If any error occurs after an alarm has been reported, the DERR output is set to the code of the error. 1.

ALARM (Codes 50-51) - Bits of PSTA output point are not changed.

2.

TIMEOUT (Codes 2-10) - When a timeout error is reported, the UTMT bit of the PSTA status word is set to logic TRUE. The bit is reset to logic FALSE when the error is acknowledged with the ACKT input. If the BLK parameter is set to 'TIMEOUT,' the algorithm is blocked in case of a timeout error. If another timeout error happens before the first one is acknowledged, the DERR output keeps the numeric code of the first error. If any unexpected change of device state error or inconsistency of feedback signals error happens before a timeout error is acknowledged, those errors have priority and the DERR output is set to the code of the latter error. If feedback signals are inconsistent, the error code is not reset before the input signals inconsistency disappears.

3.

APC_002

TRIP (101-104, 107-110) - The algorithm reports unexpected change of device state (trip) in the following conditions: 

During Move to Right or after the device stops on Right Limit: if a Left Limit Switch feedback signal activates or a Right Limit Switch feedback signal deactivates.



During Move to Left or after the device stops on Left Limit: if a Right Limit Switch feedback signal activates or a Left Limit Switch feedback signal deactivates.

123

8.15 Operation details of the EDEVICE Algorithm



When the device is stopped and the last issued input command was STOP command or no command was issued since the last return from Local or Tagout mode: if either of the limit switch signals changes in any way.



Reporting of a trip error is delayed by the time defined by the TRP parameter. If feedback signals returns to the expected state within this time, a trip error is not reported.

A trip error is indicated by setting the UTRP bit of the PSTA status word to logic TRUE. The bit is set back to logic FALSE when the trip is acknowledged with the ACKT input. The DERR analog output is set to the numeric code of the error. The DERR analog output can be reset to zero by activating an ACKT input point. If any other error happens before the first one is acknowledged, the DERR output keeps the numeric code of the first error. When the trip error is reported, the algorithm is switched to Manual mode. If the BLK parameter is set to 'TRIP' or 'TIMEOUT,' the device is stopped and the algorithm is blocked. 4.

INCONSISTENCY (100, 101, 112) - Reporting of an inconsistency of feedback signals error is delayed by the time defined by the TRP parameter. If the feedback signals become consistent before this time passes, the error is not reported. The error is indicated by setting CERR and UCMP bits of the PSTA status word to logic TRUE. The CERR bit is set to logic FALSE when feedback signals become consistent. The UCMP bit is set to logic FALSE when the error is acknowledged with the ACKT input. The DERR output is set to the numeric code of the error. The DERR output is reset to zero when the error is acknowledged with an ACKT input and the feedback signals become consistent. If any other error happens before the first error is acknowledged and feedback signal become consistent, the DERR output keeps the numeric code of the first error. When the time defined by the CMPL parameter passes and the error condition is still active and the error was not acknowledged by the ACKT input, the algorithm behaves as if a trip error was reported. The UTRP bit of the PSTA status word is set to logic TRUE and the algorithm is switched to Manual mode. If the BLK parameter is set to 'TRIP' or 'TIMEOUT,' the device is stopped and the algorithm is blocked. If the error is acknowledged before the time defined by the CMPL parameter passes, the inconsistency is ignored. The DERR output is not set to zero and the CERR bit of a PSTA status word is not set to FALSE until the error condition disappears. If the feedback signals are still inconsistent after the error is acknowledged, but the code of the error is different, the DERR output is set to the code of the actual error, rather than the first error. Execution of the commands is impossible or very limited when feedback signals work faulty; (for example, if a Right Contact feedback signal is constantly active), execution of a STOP command always ends with a timeout error, because the device is not recognized as stopped if feedback signals from contacts are inconsistent.

124

APC_002

8.15 Operation details of the EDEVICE Algorithm

EDEVICE algorit hm alarms The DERR analog output is set to a numeric code of the alarm. Bits of PSTA output point are not changed. The DERR analog output can be reset to zero by activating the ACKT input point. All errors including, timeouts, trips and inconsistency of feedback signals have priority over alarms. If any error occurs after an alarm has been reported, the DERR output is set to the code of the error. EDEVICE Alarm errors CODE

TYPE

D ESCRIPTION

E XPLANATION

50

ALARM

Undefined state of the device

The algorithm cannot determine the state of the device based on feedback signals. If an output STOP command signal is not connected, the operator must acknowledge the alarm to be able to issue a RIGHT or LEFT command. If the output STOP command signal is connected, issuing a RIGHT or LEFT command causes initiation of a Stop and Right or Stop and Left operation. This alarm is automatically cleared when the algorithm is able to determine the state of the device.

51

ALARM

Device is not stopped

This alarm is reported if the algorithm leaves the Local or Tagout mode and the device is not stopped.

EDEVICE algorithm timeout errors The DERR analog output is set to the numeric code of the error. The DERR analog output can be reset to zero by activating the ACKT input point. If another timeout error happens before the first one is acknowledged, the DERR output keeps the numeric code of the first error. If any unexpected change of device state error or inconsistency of feedback signals error happens before a timeout error is acknowledged, those errors have priority and the DERR output is set to the code of the latter error. When a timeout error is reported, the UTMT bit of the PSTA status word is set to logic TRUE. The bit is reset to logic FALSE when the error is acknowledged with the ACKT input. If the BLK parameter is set to 'TIMEOUT,' the algorithm is blocked in case of a timeout error. EDEVICE Timeout errors E RROR CODE

TYPE

D ESCRIPTION

E XPLANATION

2

TIMEOUT

Exceeded time of execution of STOP command

The Stop Contact feedback signal did not activate within the time defined by the TS3X, TS5X or TS4X parameter respectively for the STOP Command Execution, STOP and RIGHT Operation or STOP and LEFT Operation from the time when the output STOP command signal was activated.

APC_002

125

8.15 Operation details of the EDEVICE Algorithm

126

E RROR CODE

TYPE

D ESCRIPTION

E XPLANATION

3

TIMEOUT

Exceeded time of execution of LEFT command

The Left Contact feedback signal did not activate within the time defined by the TL8C parameter since activation of an output LEFT command signal. The algorithm stops the device unless the BLK parameter is set to 'NO BLOCK'.

4

TIMEOUT

Exceeded time of deactivation of right limit switch feedback signal

The Right Limit Switch feedback signal did not deactivate within the time defined by the TL9R parameter from the time when a Left Contact feedback signal activated.

5

TIMEOUT

Exceeded time of activation of left limit switch feedback signal

The Left Limit Switch feedback signal did not activate within the time defined by the TL9L parameter since activation of an output LEFT command or since Move to Left Operation was initiated. The algorithm stops the device unless the BLK parameter is set to 'NO BLOCK.'

6

TIMEOUT

Exceeded time of deactivation of left contact feedback signal

The Left Contact feedback signal did not deactivate within the time defined by the TL9S parameter since a Left Limit Switch feedback signal activated.

7

TIMEOUT

Exceeded time of execution of RIGHT command

The Right Contact feedback signal did not activate within the time defined by the TR6C parameter since activation of an output RIGHT command signal. The algorithm stops the device unless the BLK parameter is set to 'NO BLOCK.'

8

TIMEOUT

Exceeded time of deactivation of left limit switch feedback signal

The Left Limit Switch feedback signal did not deactivate within the time defined by the TR7L parameter from the time when the Right Contact feedback signal activated.

9

TIMEOUT

Exceeded time of activation of right limit switch feedback signal

The Right Limit Switch feedback signal did not activate within the time defined by the TR7R parameter since the activation of an output RIGHT command or since a Move to Right Operation was initiated. The algorithm stops the device unless the BLK parameter is set to 'NO BLOCK.'

10

TIMEOUT

Exceeded time of deactivation of right contact feedback signal

The Right Contact feedback signal did not deactivate within the time defined by the TR7S parameter since a Right Limit Switch feedback signal activated.

APC_002

8.15 Operation details of the EDEVICE Algorithm

EDEVICE algorithm unexpected change of device state (trip) errors The algorithm reports unexpected change of device state (trip) in the following conditions: 

During Move to Right or after the device stops on Right Limit: if a Left Limit Switch feedback signal activates or a Right Limit Switch feedback signal deactivates.



During Move to Left or after the device stops on Left Limit: if a Right Limit Switch feedback signal activates or a Left Limit Switch feedback signal deactivates.



When the device is stopped and the last issued input command was STOP command or no command was issued since the last return from Local or Tagout mode: if either of the limit switch signals changes in any way.

Reporting of a trip error is delayed by the time defined by the TRP parameter. If feedback signals returns to the expected state within this time, a trip error is not reported. A trip error is indicated by setting the UTRP bit of the PSTA status word to logic TRUE. The bit is set back to logic FALSE when the trip is acknowledged with the ACKT input. The DERR analog output is set to the numeric code of the error. The DERR analog output can be reset to zero by activating an ACKT input point. If any other error happens before the first one is acknowledged, the DERR output keeps the numeric code of the first error. When the trip error is reported, the algorithm is switched to Manual mode. If the BLK parameter is set to 'TRIP' or 'TIMEOUT,' the device is stopped and the algorithm is blocked. Unexpe cted change of device state errors CODE

TYPE

D ESCRIPTION

E XPLANATION

102

TRIP

Unexpected activation of left contact feedback signal

The Left Contact feedback signal is activated during a RIGHT Command Execution or a Move to Right Operation. The error is not reported if the feedback signals from contact relays are inconsistent; an inconsistency of feedback signals error is reported instead.

103

104

TRIP

TRIP

Unexpected activation of right contact feedback signal

The Right Contact feedback signal activated during the LEFT Command Execution or a Move to Left Operation.

Unexpected activation of stop contact feedback signal

The Stop Contact feedback signal activated (or Right or Left Contact feedback signal deactivated) during a Move to Left or a Move to Right Operation.

The error is not reported if feedback signals from contact relays are inconsistent; an inconsistency of feedback signals error is reported instead.

The error is not reported if the feedback signals from the contact relays are inconsistent; an inconsistency of feedback signals error is reported instead. 107

TRIP

Unexpected deactivation of stop contact feedback signal

The Stop Contact feedback signal deactivated (or Right or Left Contact feedback signal activated) when the device was stopped. The error is not reported if the feedback signals from the contact relays are inconsistent; an inconsistency of feedback signals error is reported instead.

APC_002

127

8.15 Operation details of the EDEVICE Algorithm

CODE

TYPE

D ESCRIPTION

E XPLANATION

108

TRIP

Unexpected activation of left limit switch feedback signal

The Left Limit Switch feedback signal is unexpectedly activated when the device was stopped or during a Move to Right. The error is not reported if the feedback signals from the contact relays are inconsistent; an inconsistency of feedback signals error is reported instead.

109

TRIP

Unexpected activation of right limit switch feedback signal

The Right Limit Switch feedback signal is unexpectedly activated when the device was stopped or during a Move to Left. The error is not reported if the feedback signals from the contact relays are inconsistent; inconsistency of feedback signals error is reported instead.

128

110

TRIP

Unexpected deactivation of left limit switch feedback signal

The Left Limit Switch feedback signal is unexpectedly deactivated when the device was stopped.

111

TRIP

Unexpected deactivation of right limit switch feedback signal

The Right Limit Switch feedback signal is unexpectedly deactivated when the device was stopped.

113

TRIP

Left excessive torque signaled

The Left Torque Switch feedback signal (connected to FBCL input) is deactivated. This error code can only be reported when the TORQ parameter is set to TORQUE or TORQUE AUTO ACK.

114

TRIP

Right excessive torque signaled

The Right Torque Switch feedback signal (connected to FBCR input) is deactivated. This error code can only be reported when the TORQ parameter is set to TORQUE or TORQUE AUTO ACK.

APC_002

8.15 Operation details of the EDEVICE Algorithm

EDEVICE algorithm incons istency of feedba ck s ignal errors Reporting of an inconsistency of feedback signals error is delayed by the time defined by the TRP parameter. If the feedback signals become consistent before this time passes, the error is not reported. The error is indicated by setting CERR and UCMP bits of the PSTA status word to logic TRUE. The CERR bit is set to logic FALSE when feedback signals become consistent. The UCMP bit is set to logic FALSE when the error is acknowledged with the ACKT input. The DERR output is set to the numeric code of the error. The DERR output is reset to zero when the error is acknowledged with an ACKT input and the feedback signals become consistent. If any other error happens before the first error is acknowledged and feedback signal become consistent, the DERR output keeps the numeric code of the first error. When the time defined by the CMPL parameter passes and the error condition is still active and the error was not acknowledged by the ACKT input, the algorithm behaves as if a trip error was reported. The UTRP bit of the PSTA status word is set to logic TRUE and the algorithm is switched to Manual mode. If the BLK parameter is set to 'TRIP' or 'TIMEOUT,' the device is stopped and the algorithm is blocked. If the error is acknowledged before the time defined by the CMPL parameter passes, the inconsistency is ignored. The DERR output is not set to zero and the CERR bit of a PSTA status word is not set to FALSE until the error condition disappears. If the feedback signals are still inconsistent after the error is acknowledged, but the code of the error is different, the DERR output is set to the code of the actual error, rather than the first error. Execution of the commands is impossible or very limited when feedback signals work faulty; (for example, if a Right Contact feedback signal is constantly active), execution of a STOP command always ends with a timeout error, because the device is not recognized as stopped if feedback signals from contacts are inconsistent. EDEVICE algorithm incons istency o f feedback sign al errors CODE

TYPE

D ESCRIPTION

E XPLANATION

100

INCONSISTENCY

Both right limit switch and left limit switch signals are active

Both limit switches are active.

101

INCONSISTENCY

Both right contact and left contact feedback signals are active

Both contact switches are active.

112

INCONSISTENCY

Both left or right contact feedback signals inconsistent with stop contact feedback signal

The Stop Contact feedback signal is connected and neither the Stop Right nor Left Contact feedback signal is active, OR The Stop Contact feedback signal is active and Right or Left Contact feedback signal is active.

APC_002

129

8.15 Operation details of the EDEVICE Algorithm

PSTA packed output Use the bits of the current digital value bits (A2) field and the 16 higher bits (bits 16-31) of the second packed status (2W) field of PSTA point to indicate status of the algorithm. Use the lower bits of the 2W field according to the Ovation Record Types Reference Manual. Current digital value bits of

PSTA output

N UMBER

NAME

D ESCRIPTION

0

LCMR

Last issued command - RIGHT

1

LCMS

Last issued command - STOP

2

LCML

Last issued command - LEFT

3

MODA

EDEVICE in Auto mode

4

MODM

EDEVICE in Manual mode

5

MODL

EDEVICE in Local mode

6

OPER

Device operational (that is, device ready, algorithm not blocked, device in manual or auto mode)

7

UTRP

Unacknowledged TRIP

8

UTMT

Unacknowledged TIMEOUT

9

CMDP

Command execution pending

10

TOVP

Test mode with permissions/emergency override

11

CERR

Feedback inputs inconsistent error

12

UCMP

Unacknowledged feedback inputs inconsistent error

13

INAR

Copy of AUTR input

14

INAS

Copy of AUTS input

15

INAL

Copy of AUTL input

Packed point s econd status bits of PSTA output

130

N UMBER

NAME

D ESCRIPTION

0-15

---

Bits set according to the Ovation Record Types Reference Manual

16

FICR

Filtered FBCR input

17

FICS

Filtered FBCS input

18

FICL

Filtered FBCL input

19

FILR

Filtered FBLR input

20

FILL

Filtered FBLL input

21

INPR

Copy of PERR input

22

INPS

Copy of PERS input

23

INPL

Copy of PERL input

APC_002

8.15 Operation details of the EDEVICE Algorithm

N UMBER

NAME

D ESCRIPTION

24

INER

Copy of EMRR input

25

INES

Copy of EMRS input

26

INEL

Copy of EMRL input

27

INDR

Copy of DRDY input

28

INNP

Copy of NPWR input

29

INTM

Copy of TMOD input

30

INA1

Copy of INP1 input

31

INA2

Copy of INP2 input

8.1 5.2 Device sto pped When the device is stopped, the algorithm does not inspect the limit switch feedback signals for the time defined by the TS2M parameter. When this time elapses, the change of state of limit switch signals is treated as trip. If an input STOP command signal, MANS, AUTS (adequate to operating mode), or EMRS is continuously active, the output STOP command signal is continuously activated even if the device is recognized as stopped. STOP command execution This subroutine is activated by issuing an input STOP command. The algorithm automatically executes this subroutine when a trip is detected or when the allowed time of operation is exceeded, if it is configured to stop the device in case of an error. During execution of this subroutine, the output STOP command signal (CMDS) is activated. Minimum required duration of the output STOP command is specified by the TS3M parameter. If any of the contact feedback signals are connected, the output STOP command signal is not deactivated until feedback signals indicate that the device is stopped. If the device does not stop within the time defined by the TS3X parameter, a timeout is reported. If this parameter has a value of 0, duration of the STOP command is not limited. If a RIGHT or LEFT command comes during execution of a STOP command and there is no unacknowledged trip or timeout error, the algorithm starts the STOP and LEFT or STOP and RIGHT operation. If a RIGHT or LEFT command comes before a STOP command takes effect and the device is reported to move in the same direction as requested by command, the STOP command is cancelled (even if time defined by TS3M did not elapse) and the incoming command is executed. If the maximum allowed time of execution of the STOP command is exceeded, the output STOP command remains active until the device stops or an error is acknowledged. Repetition of a STOP command after the command execution timeout causes a restart of the subroutine. RIGHT and LEFT commands are not executed until a command execution timeout is acknowledged.

APC_002

131

8.15 Operation details of the EDEVICE Algorithm

STOP and RIGHT operation The STOP and RIGHT operation subroutine is activated by issuing a RIGHT command during execution of a LEFT command, STOP command, STOP and LEFT operation or during Move to Left. During execution of this subroutine, an output STOP command signal (CMDS) is activated. The subroutine is executed the same way as a STOP command execution. Parameter TS5M is used instead of TS3M as a minimum required duration of an output STOP command. A maximum allowed time of execution of a command is defined by parameter TS5X instead of TS3X. When the device stops, the RIGHT command execution subroutine is initiated. The STOP and RIGHT operation is cancelled in the same way that the STOP command execution is cancelled. If contact feedback signals consistently indicate that the device is moving left and a STOP command did not take effect, activation of an input LEFT command causes deactivation of an output STOP command signal and execution of a LEFT command. If an input STOP command comes during execution of a STOP and RIGHT operation, the algorithm passes to the STOP command execution subroutine. If the input LEFT command comes during execution of a STOP and RIGHT operation, the algorithm passes to STOP and LEFT operation (unless conditions previously described are met and the operation is cancelled). If the maximum allowed time of execution of the STOP command is exceeded, the algorithm does not initiate a RIGHT command execution. STOP and LEFT Opera tio n The STOP and LEFT operation subroutine can be activated by issuing a LEFT command during execution of a RIGHT command, STOP command, STOP and RIGHT operation or during Move to Right. During execution of this subroutine, the output STOP command signal (CMDS) is activated. The subroutine is executed the same way as a STOP command execution. Parameter TS4M is used instead of TS3M as a minimum required duration of the output STOP command. Maximum allowed time of execution of the command is defined by parameter TS4X instead of TS3X. When the device stops, the LEFT command execution subroutine is initiated. The STOP and LEFT operation can be cancelled the same way as a STOP command execution. If the contact feedback signals consistently indicate that the device is moving right and the STOP command did not take effect, activation of the input RIGHT command causes deactivation of an output STOP command signal and execution of a RIGHT command. If an input STOP command comes during execution of the STOP and LEFT operation, the algorithm passes to a STOP command execution subroutine. If an input RIGHT command comes during execution of a STOP and LEFT operation, the algorithm passes to a STOP and RIGHT operation (unless conditions described above are met and operation is cancelled). If a maximum allowed time of execution of a STOP command is exceeded, the algorithm does not initiate a LEFT command execution.

132

APC_002

8.15 Operation details of the EDEVICE Algorithm

Al go ri th m block in g The algorithm is blocked after reporting a trip error if the BLK parameter is set to 'TRIP' or 'TIMEOUT.' The algorithm is blocked after reporting a timeout error if the BLK parameter is set to 'TIMEOUT.' When the algorithm is blocked, it is switched to Manual mode and the device stops. Blocked algorithm cannot be switched to Auto mode. Manual LEFT and RIGHT commands are ignored. A Manual STOP command is executed. Emergency commands are executed. The algorithm is unblocked when the error is acknowledged with the ACKT input.

8.1 5.3 LEFT comm and execu tio n The LEFT command execution subroutine is activated by issuing a LEFT command when the device stops or as a consecutive step after a STOP and LEFT operation. During execution of this subroutine, the output LEFT command signal (CMDL) activates. Output LEFT command remains active until the LEFT contact feedback signal activates and all contact feedback signals become consistent. If a feedback signal from a LEFT contact relay does not activate within the time defined by the TL8C parameter, a timeout error is reported. If the algorithm is configured to stop the device in case of a timeout error, the STOP command execution subroutine is initiated, unless the output STOP command signal is not connected or an emergency LEFT command is continuously active. When the LEFT contact feedback signal activates, an output LEFT command is deactivated and a Move to Left subroutine is initiated. If the LEFT contact feedback signal is not connected, a subroutine executes differently, the TL8C parameter defines the actual duration of an output LEFT command signal. The algorithm activates this signal, waits the amount of time defined by parameter TL8C, deactivates this signal and initiates a Move to Left subroutine.

APC_002

133

8.15 Operation details of the EDEVICE Algorithm

Move to Left operation A Move to Left operation subroutine is activated after a successful execution of a LEFT command or from the Device State Tracking subroutine, if the algorithm recognizes, based on feedback input signals, that the device is moving left. If a KCMD parameter is set to 'KEEP COMMAND,' an output LEFT command signal (CMDL) is sustained during the whole move, until a limit switch is reached or other command is issued. The algorithm expects that within the time defined by the TL9R parameter, from activating the Left Contact feedback signal or from initiating the subroutine (if it was initiated from a subroutine other than LEFT command execution), the Right Limit Switch feedback signal becomes inactive. If this limit is exceeded, a timeout error is reported. In that case, the device is not stopped unless the algorithm is configured to block the device in case of a timeout error. This condition is not checked if a Right Limit Switch signal is not connected or the TL9R parameter is set to 0. The TL9L parameter defines the maximum time of transition to a Left Limit Switch. If a Left Limit Switch feedback signal does not activate within this time, a timeout error is reported and the device stops, unless the algorithm is configured to not stop the device in case of a timeout error or an emergency LEFT command is continuously active. This condition is not checked if a Left Limit Switch signal is not connected or the TL9L parameter is set to 0. After a Left Limit Switch feedback signal activates, the device should stop and a Left Contact feedback signal should deactivate within the time defined by the TL9S parameter. If a Left Contact feedback signal does not deactivate, a timeout error is reported and the device is stopped, unless the algorithm is configured to not stop the device in case of a timeout error or an emergency LEFT command is continuously active. This condition is not checked if the TL9S parameter is set to 0. If a Left Contact feedback signal is not connected, a Device Stopped subroutine is initiated immediately after the activation of a Left Limit Switch feedback signal. When the device stops after reaching the Left Limit, execution of any input RIGHT command incoming within the time defined by the TS3M parameter is delayed until this time elapses. Issuing an input RIGHT command in a Move to Left operation initiates a STOP and RIGHT operation. If an output STOP command signal is not connected, the algorithm cannot stop the device and a timeout error is reported.

134

APC_002

8.15 Operation details of the EDEVICE Algorithm

8.1 5.4 RIG HT com mand execut ion The RIGHT command execution subroutine can be activated by issuing a RIGHT command when the device stops or as a consecutive step after a STOP and RIGHT operation. During execution of this subroutine, an output a RIGHT command signal (CMDR) is activated. An output RIGHT command remains active until a RIGHT contact feedback signal activates and all contact feedback signals become consistent. If a feedback signal from a RIGHT contact relay does not activate within the time defined by the TR6C parameter, a timeout error is reported. If the algorithm is configured to stop the device in case a timeout signal error, the STOP command execution subroutine is initiated,isunless an output STOPofcommand is not connected or an emergency RIGHT command continuously active. When the RIGHT contact feedback signal activates, an output RIGHT command is deactivated and a Move to Right subroutine is initiated. If a RIGHT contact feedback signal is not connected, a subroutine is executed differently - the TR6C parameter defines actual duration of an output RIGHT command signal. The algorithm activates this signal, waits for the amount of time defined by parameter TR6C, deactivates this signal and initiates a Move to Right subroutine.

APC_002

135

8.15 Operation details of the EDEVICE Algorithm

Move to Right operation A Move to Right operation subroutine is activated after a successful execution of a RIGHT command or from a Device State Tracking subroutine, if the algorithm recognizes, based on feedback input signals, that the device is moving right. If the KCMD parameter is set to KEEP COMMAND, an output RIGHT command signal (CMDR) is sustained during whole move - until limit switch is reached or other command issued. The algorithm expects that within a time defined by the TR7L parameter, from activating a Right Contact feedback signal or from initiating the subroutine (if it was initiated from the subroutine other than the RIGHT command execution), the Left Limit Switch feedback signal becomes inactive. If this limit is exceeded, a timeout error is reported. In that case, the device is not stopped unless the algorithm is configured to block the device in case of a timeout error. This condition is not checked if the Left Limit Switch signal is not connected or the TR7L parameter is set to 0. The TR7R parameter defines the maximum time of a transition to the Right Limit Switch. If a Right Limit Switch feedback signal does not activate within this time, a timeout error is reported and the device stops, unless the algorithm is configured to not stop the device in case of a timeout error or an emergency RIGHT command is continuously active. This condition is not checked if a Right Limit Switch signal is not connected or the TR7R parameter is set to 0. After a Right Limit Switch feedback signal activates, the device should stop and the Right Contact feedback signal should deactivate within the time defined by the TR7S parameter. If a Right Contact feedback signal does not deactivate, a timeout error is reported and the device stops, unless the algorithm is configured to not stop the device in case of a timeout error or an emergency RIGHT command is continuously active. This condition is not checked if the TR7S parameter is set to 0. If a Right Contact feedback signal is not connected, the Device Stopped subroutine is initiated immediately after activation of a Right Limit Switch feedback signal. When the device stops after reaching the Right Limit, an execution of any input LEFT command incoming within time defined by the TS4M parameter is delayed until this time elapses. Issuing an input LEFT command in a Move to Right operation initiates a STOP and LEFT operation. If an output STOP command signal is not connected, the algorithm cannot stop the device and a timeout error is reported.

136

APC_002

8.16 Accessing advanced editing for EDEVICE in the Control Builder

8. 16 Accessi ng advanced e

diti ng for EDE VI CE in the Control Bui

lder

EDEVICE does not use advanced edits and does not have any parameters that appear in the Advanced Applications Studio. For EDEVICE, all parameters are defined through the Control Builder Property Editor. See To use the Property Editor to edit advanced algorithms (see page 19) for more information. To identify parameters, hover the mouse pointer over the entries in the Property Editor. The parameter name appears as a tooltip. For information on valid parameter values, see EDEVICE algorithm definitions (see page 138). The following figure shows an example of the Property Editor for the EDEVICE algorithm.

Figure 37: EDEVICE algorithm parameters shown in Property Editor Note: No default tuning window is available for the EDEVICE algorithm in signal diagrams.

APC_002

137

8.17 EDEVICE algorithm definitions

8.1 7 ED EVI CE algor it hm defin iti ons Note: Algorithm record type = LC EDEVICE algorithm definitions

NA ME

L C AL G. REC. F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

M I N. P OINT REC.

DIAG

LU -

Data Init

Optional

120

Tuning Diagram Number

-

Tuning Constant

Required

TRIP

Selects EDEVICE behavior when an error is encountered:

-

Integer BLK

X2 - Byte



TRIP (0) - stops the device and blocks the algorithm in case of a trip. Stops the device in case of an operation timeout.



TIMEOUT (1) - stops the device and blocks the algorithm in case of any error.



NO (2) - does not stop the device and does not block the algorithm in case of any error.



STOP (3) - stops the device but does not block



EMERGENCY (4) emergency drive - never stop the device or block the algorithm in case of any error, instead repeat the last command. Always try to restore the required state.

the algorithm in case of any error.

KCMD

138

X3 - Byte

Tuning Constant

Required

IMPULS

Selects EDEVICE output type:

-



IMPULS (0) - impulse commands.



CONSTANT (1) constant commands.



TRACK_IN_LOCAL (2) constant commands, track feedback signals in local mode.

APC_002

8.17 EDEVICE algorithm definitions

NA ME

L C AL G. REC. F IELD

LLCL

X4 - Byte

SNPW

LSTO

TORQ

X5 - Byte

X6 - Byte

X7 - Byte

TYPE

Tuning Constant

Tuning Constant

Tuning Constant

Tuning Constant

R EQUIRED / O PTIONAL

D EFAULT VA L UE

Required

KEEP_ LOCAL

Required

Required

Required

DONT_ STOP

OUTPUT

CONTACTS

D ESCRIPTION

Selects EDEVICE options when local mode request disappears: 

KEEP_LOCAL (0) - stay in local mode.



GO_MANUAL (1) - return to manual mode.

Stop after power failure longer than PWR. 

DONT_STOP (0)



STOP (1)

Status indication (bit 0-3 of PSTA) type: 

OUTPUT (0) - based on last issued command.



INTERNAL (1) - based on internal algorithm state.



FEEDBACK (2) - based on feedback signals.

Torque switch: 

CONTACTS (0) - not torque switch; contact signals are connected to FBCx inputs.



TORQUE (1) - torque

M I N. P OINT REC.

-

-

-

-

switch signals are connected to FBCx inputs.

DSCL

APC_002

X8 - Byte

Tuning Constant

Required

NO



TORQUE_AUTO_ACK (2) - torque switch signals are connected to FBCx inputs; errors caused by torque switch signals are automatically acknowledged.



DISCONNECT (3) - do not use FBCx inputs.

Disconnect limit switch: 

NO (0)



YES (1)

-

139

8.17 EDEVICE algorithm definitions

NA ME

L C AL G. REC. F IELD

AACK

X9 - Byte

TYPE

Tuning Constant

R EQUIRED / O PTIONAL

D EFAULT VA L UE

Required

NO

M I N. P OINT REC.

D ESCRIPTION

Alarm acknowledge: 

NO (0)



ACK_BY_ALARM (1) algorithm error is automatically acknowledged when DERR point alarm is acknowledged from alarm list.  ACK_BY_ACKT (2) acknowledge DERR point alarm when algorithm error is acknowledged. 

BOTH (3)

TS2M

R1- Real

Tuning constant

Required

2

Time before state of limit switches is tested after the device stops. If the value is 0, change of state of limit switches will not be detected.

-

TS3M

R2 - Real

Tuning constant

Required

2

Minimum required length of STOP command.

-

TS3X

R3 - Real

Tuning constant

Required

5

Maximum allowed time between activation of STOP command output and activation of Stop Contact

-

feedback if the valuesignal. is 0. Not limited TS4M

R4 - Real

Tuning constant

Required

2

Minimum required length of stop command in transition from Move to RIGHT to Move to LEFT.

-

TS4X

R5 - Real

Tuning constant

Required

5

Maximum allowed length of stop command in transition from Move to RIGHT. Not limited if the value is 0.

-

TS5M

R6 - Real

Tuning constant

Required

2

Minimum length of stop command in transition from Move to LEFT to Move to RIGHT.

-

TS5X

R7 - Real

Tuning constant

Required

5

Maximum allowed length of STOP command in transition from Move to LEFT to Move to RIGHT.

-

Not limited if the value is 0.

140

APC_002

8.17 EDEVICE algorithm definitions

APC_002

NA ME

L C AL G. REC. F IELD

TR6C

R8- Real

Tuning constant

Required

4

Maximum allowed time between activation of RIGHT command output and activation of Right contact feedback signal.

-

TR7L

R9 - Real

Tuning constant

Required

4

Maximum allowed time between activation of Right Contact feedback signal and deactivation of Left Limit Switch feedback signal. If Right Contact feedback is not connected, maximum time between activation of RIGHT command output and deactivation of Left Limit Switch signal. Not limited if the value is 0.

-

TR7R

S1- Real

Tuning constant

Required

60

Maximum allowed time between activation of RIGHT command output and activation of Right Limit Switch feedback signal. Parameter ignored if Right Limit Switch feedback signal is not connected. Not limited if the value is 0.

-

TR7S

S2 - Real

Tuning constant

Required

4

Maximum allowed time between activation of Right Limit Switch feedback signal and deactivation of Right Contact feedback signal. Parameter ignored if one of those signals is not connected. Not limited if the value is 0.

-

TL8C

S3 - Real

Tuning constant

Required

4

Maximum allowed between activation of LEFT command output and activation of Left Contact feedback signal.

-

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

M I N. P OINT REC.

141

8.17 EDEVICE algorithm definitions

NA ME

L C AL G. REC. F IELD

TL9R

S4 - Real

TYPE

Tuning constant

R EQUIRED / O PTIONAL

D EFAULT VA L UE

Required

4

M I N. P OINT REC.

D ESCRIPTION

Maximum allowed time between activation of Left Contact feedback signal and deactivation of Right Limit Switch feedback signal. If Left Contact feedback is not connected, maximum time between

-

activation of LEFTand command output deactivation of Right Limit Switch signal. Not limited if the value is 0. TL9L

S5 - Real

Tuning constant

Required

60

Maximum allowed time between activation of Left Limit Switch feedback signal. Parameter ignored if Left Limit Switch feedback signal is not connected. Not limited if the value is 0.

-

TL9S

S6 - Real

Tuning constant

Required

4

Maximum allowed time between activation of Left Limit Switch feedback signal and deactivation of Left Contact feedback signal. Parameter ignored if one of these signals is not connected. Not limited if the

-

PWR

S7 - Real

Tuning constant

Required

3

Maximum length of interruption of MCC power to reissue command and restore device state.

-

TRP

S8 - Real

Tuning constant

Required

1

Defines amount of time that elapses before TRIP is to be reported. If feedback signals return to expected state before the time elapses, the TRIP will not be reported.

-

DBCR

S9 - Real

Tuning constant

Required

1

Rebound filtering time for Right Contact feedback signal.

-

DBCS

T1 - Real

Tuning constant

Required

1

Rebound filtering time for Stop Contact feedback

-

DBCL

T2 - Real

Tuning constant

Required

1

value is 0.

142

signal. Rebound filtering time for Left Contact feedback signal.

-

APC_002

8.17 EDEVICE algorithm definitions

NA ME

L C AL G. REC. F IELD

DBLR

T3 - Real

Tuning constant

Required

1

Rebound filtering time for Right Limit Switch feedback signal.

-

DBLL

T4 - Real

Tuning constant

Required

1

Rebound filtering time for Left Limit Switch feedback signal.

-

OVR

T5 - Real

Tuning

Required

30

Emergency and permission

-

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

constant CMPL

APC_002

T6 - Real

Tuning constant

DRDY

-

REQA

-

REQM REQL

D ESCRIPTION

M I N. P OINT REC.

override window time in MCC test mode Required

10

Delay for reporting feedback signals inconsistency as a TRIP.

-

Variable

Optional

-

Device ready input signal.

LD, LP

Variable

Optional

-

Request AUTO mode

LD, LP

-

Variable

Optional

-

Request MANUAL mode

LD, LP

-

Variable

Optional

-

Request LOCAL mode

LD, LP

REQT

-

Variable

Optional

-

Request Tagout mode

LD, LP

FBCR

-

Variable

Optional

-

Right contact feedback signal.

LD, LP

FBCS

-

Variable

Optional

-

Stop contact feedback signal.

LD, LP

FBCL

-

Variable

Optional

-

Left contact feedback

LD, LP

signal. Right limit Switch feedback signal.

LD, LP

FBLR

-

Variable

Optional

-

FBLL

-

Variable

Optional

-

Left limit Switch feedback signal.

LD, LP

PERR

-

Variable

Optional

-

Permission for RIGHT command

LD, LP

PERS

-

Variable

Optional

-

Permission for STOP command

LD, LP

PERL

-

Variable

Optional

-

Permission for LEFT command

LD, LP

MANR

-

Variable

Optional

-

RIGHT command in MANUAL mode

LD, LP

MANS

-

Variable

Optional

-

STOP command in MANUAL mode

LD, LP

MANL

-

Variable

Optional

-

LEFT command in

LD, LP

AUTR

-

Variable

Optional

-

MANUAL mode RIGHT command in AUTO mode

LD, LP

143

8.17 EDEVICE algorithm definitions

144

NA ME

L C AL G. REC. F IELD

AUTS

M I N. P OINT REC.

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

-

Variable

Optional

-

STOP command in AUTO mode

LD, LP

AUTL

-

Variable

Optional

-

LEFT command in AUTO mode

LD, LP

EMRR

-

Variable

Optional

-

RIGHT command in EMERG mode

LD, LP

EMRS

-

Variable

Optional

-

STOP command in EMERG mode

LD, LP

EMRL

-

Variable

Optional

-

LEFT command in EMERG mode

LD, LP

NPWR

-

Variable

Optional

-

Interrupt in MCC power signal

LD, LP

ACKT

-

Variable

Optional

-

TRIP or TIMEOUT acknowledge

LD, LP

TMOD

-

Variable

Optional

-

Device MCC in TEST mode

TOVR

-

Variable

Optional

-

Emergency and permissions override request in MCC Test mode.

LD, LP

INP1

-

Variable

Optional

-

Aux. INPUT 1

LD, LP

INP2

-

Variable

Optional

-

Aux. INPUT 2

LD, LP

CMDR

-

Variable

Optional

-

Output RIGHT command

LD, LP

CMDS CMDL

-

Variable Variable

Optional Optional

-

Output STOP command Output LEFT command

LD, LP LD, LP

STAT

-

Variable

Optional

-

Algorithm state numeric code.

LA

D ESCRIPTION

LD, LP

DERR

-

Variable

Optional

-

Error numeric code.

LA

PSTA

-

Variable

Optional

-

Status word

LP

APC_002

S

ECTION

9

Using Fuz zy algo rit hms

IN THIS SECTION What are the Ovation fuzzy logic algorithms?.................................................................145 What algorithm?...................................................................................... 145 What is is the the Fuzzifier Fuzzy PID (FPID) algorithm?....................................................................... 168 Fuzzy algorithm global output calculation ....................................................................... 193

9. 1

What are the Ova tio n fuzzy logi c algorit hms? The Ovation Fuzzy Logic algorithms offer a manageable, systematic approach to handling non-linear loops. These include two algorithms:

9. 2



Fuzzifier - The Fuzzifier is a general purpose fuzzy algorithm that allows you to define process regions. However, it does not embed Ovation PID algorithms. The Fuzzifier provides a maximum of 64 regions using up to three fuzzy variables.



FuzzyPID - The FuzzyPID algorithm embeds up to four standard Ovation PID algorithms. The algorithm allows the process to be segmented into four regions based on either one or two fuzzy variables.

What is the Fuzz ifi er algorit hm? Note: The Fuzzifier algorithm can only be purchased as part of an engineered solution. The Fuzzifier algorithm enables a fuzzy set of rules effective for different plant operation points. The operating range is defined by selecting the fuzzifying signals and defining the shape of the membership function. For each range you must define a rule that will be effective for this range. On the basis of the current values of fuzzifying signals, the Fuzzifier algorithm calculates the active ranges and calculates the final rule. The final output is limited to the upper and lower value defined by the user. The maximum number of fuzzifying signals is three. The maximum number of ranges is 64 for a three-dimensional case (4x4x4=64), 36 for a two-dimensional case (6x6=36) and 12 for a one-dimensional case. There are also two types of membership functions available (Trapezoid and Zadeh) and two types of defuzzification (COG and MOM). Refer to Fuzzifier output calculation (see page 357) for details.

APC_002

145

9.2 What is the Fuzzifier algorithm?

9. 2. 1 Fuzz ifier algorith m funct ional symb ol

Figure 38 : Fuzz ifier Algorith m funct ional symbo l Note: Symbols may appear differently in Solaris and Windows because optional pins can be added and deleted at will on the Windows platform. The functionality of the symbols should match.

146

APC_002

9.2 What is the Fuzzifier algorithm?

9. 2.2 Examples of using the

Fuzz ifier a lgori thm

Example : Fuzzifie r algorithm w ith a 4-Dimensional Output The Fuzzifier algorithm can be used to dynamically adapt the tuning parameters of a classic PID Controller. To do this, select an algorithm with a VECT region type. For each region, define settings for a PID Controller (stored as a four-element vector). Depending on the value of the fuzzifying variable, the algorithm calculates the current PID algorithm parameter values. The approach is presented in the following figure:

Figure 39: Example - F uzzifier wit h 4D outpu t Note: A Fuzzifier algorithm with a four-dimension output is dedicated to tuning the PID Controller. The Fuzzifier algorithm ignores the tracking input and output signals in this configuration. When the Fuzzifier algorithm is used in the vector configuration, it is functionally similar to the FuzzyPID. The difference is that the FuzzyPID aggregates the output values of each PID assigned to an active region. The Fuzzifier, when operating in vector mode, aggregates the PID tuning parameters from all active regions to form a global output vector of PID parameters. These global output values become the algorithm output and can then be presented to the tuning parameter pins on the Ovation PID.

APC_002

147

9.2 What is the Fuzzifier algorithm?

Example: Fuzzifier algorithm with Ovation PID In a two-region (POINT) Fuzzifier algorithm, the point values are calculated by external algorithms:

Figure 40: Fuzzifier with Ovation PID -- example

148

APC_002

9.2 What is the Fuzzifier algorithm?

9. 2.3 Accessi ng advanced Builder

editing for the F

uzzifier algorithm in the Control

To access the Advanced Applications Studio in the Control Builder for the Fuzzifier algorithm, refer to To use the Advanced Applications Studio to view and edit advanced algorithms (see page 20) Fuzzifier Input/O utput Configuration tab The Input/Output Configuration tab displays the Fuzzifier algorithm input and output details. This tab is informational only. You cannot edit options from this dialog box and you cannot sort the columns in this table.

Figure 41: Fuz zifier Input/O utput Configuration tab

APC_002

149

9.2 What is the Fuzzifier algorithm?

Fuzzifier General Parameters tab The General Parameters tab displays the field parameters for the Fuzzifier algorithm. You can only edit the Value column in this tab. To edit a value, double-click inside the Value cell. Enter the change and press the key on the keyboard or click inside another cell so that the change you made takes effect. Press OK to save the change.

Figure 42: Fuzzifier General Parameters tab Fuzzifier Fuzzy Paramete rs tab The Fuzzy Parameters tab contains two additional tabs:

150



Membership Function Definition tab (see page 151).



Rule Base tab (see page 152).

APC_002

9.2 What is the Fuzzifier algorithm?

Fuzzy Parameters tab -- Membership Function Definition tab The Membership Function Definition tab displays the fuzzy signal properties.

Figure 43: Fuzzy Parameters tab -- Membership Function Definition tab Membership Function tab field description

s

F IELD

D EFINITION

Signal(s)

Selects the signal to view.

Number of Membership Functions

Selects the number of membership functions for the selected signal: 2 - 12.

Membership Function Type

Selects the membership function type: Trapezoid or Zadeh.

Membership Function Parameters

Displays the membership function parameters.

Membership Function Shape

Displays a graphical representation of the set membership functions.

1.

Select the signal from the Signal(s) field.

2.

Select the number of membership functions to be included in the signal.

3.

Select the membership function type for the signal.

4.

Edit the membership function parameters.

APC_002

151

9.2 What is the Fuzzifier algorithm?

Edit the membership function parameters either through the Membership Function Parameters field or by dragging the VE nodes in the Membership Function Shape canvas. 

Membership Function Parameters - Edit the region labels and values in this field. To edit, double-click in the appropriate cell. Sort the table by clicking on a heading. Click to sort in ascending order, or press the key and click to sort in descending order.



Membership Function Shape - Edit the membership function values by dragging the points on the graphical representation.

Use the Membership Function Shape graphic to view and edit the membership function parameters. The x-axis displays the range of engineering unit (EU) values covered by all ranges. The Tick field shows the scale for the EU. The regions and their vector encoding (VE) shape are color-coded for quick reference.

To edit an EU value, click on the EU axis near the VE shape label and drag the cursor to the desired value. The Tick field shows which value is being edited.

Figure 44: Fuzzifier--C hangin g EU values To view detailed values on the EU scale, click inside the scale.

Figure 45: Fuzz ifier--Viewing detailed s cale

152

APC_002

9.2 What is the Fuzzifier algorithm?

Fuzzy Pa rameters t ab -- Rule Base tab The Rule Base tab displays the rules for the regions. 1.

Select the de-fuzzification type by selecting the appropriate radio button. 

Center of Gravity (see page 194)



Middle of Maxim (see page 195)

Figure 46: Fuzzifier Rule Base tab 2.

Select the Consequence value: 

Constant Value



Point Name



APC_002

Vector

153

9.2 What is the Fuzzifier algorithm?

Note: When Vector is a consequence, you can click on Edit Vector in the Vector column to invoke the Edit Vector dialog box.

Figure 47: Fuzzifier - Edit Vector window 3.

Once you have edited all regions, click the OK button to save the changes and return to the Control Builder. Use the Cancel button to discard all changes and close the Advanced Application Studio.

9. 2.4 Fuzz ifier algorith m definitio ns Note: Algorithm record type = LC Fuzzifier Algorithm definitions L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

DIAG

LU - Integer

-

Required

123

Tuning diagram number

-

AUX1

-

Auxiliary

Required

-

*Regions 1 - 8

LC

AUX2

-

Auxiliary

Required

-

Auxiliary Record *Regions 9 - 16 Auxiliary Record

LC

NA ME

154

D ESCRIPTION

M I N. P OINT R ECORD

APC_002

9.2 What is the Fuzzifier algorithm?

L C AL G. R ECORD F IELD

AUX3

M I N. P OINT R ECORD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

-

Auxiliary

Required

-

*Regions 17 - 24 Auxiliary Record

LC

AUX4

-

Auxiliary

Required

-

*Regions 25 - 32 Auxiliary Record

LC

AUX5

-

Auxiliary

Required

-

*Regions 33 - 40 Auxiliary Record

LC

AUX6

-

Auxiliary

Required

-

*Regions 41 - 48

LC

NA ME

D ESCRIPTION

Auxiliary Record

APC_002

AUX7

-

Auxiliary

Required

-

*Regions 49 - 56 Auxiliary Record

LC

AUX8

-

Auxiliary

Required

-

*Regions 57 - 64 Auxiliary Record

LC

FZ1

-

Variable

Required

-

Fuzzy Input 1

LA

TOUT

-

Variable

Optional

-

Track Output Point

LA

FZ2

-

Variable

Optional

-

Fuzzy Input 2

LA

FZ3

-

Variable

Optional

-

Fuzzy Input 3

LA

PT1

-

Variable

Optional

-

Input Point 1

LA

PT2

-

Variable

Optional

-

Input Point 2

LA

PT3

-

Variable

Optional

-

Input Point 3

LA

PT4

-

Variable

Optional

-

Input Point 4

LA

PT5

-

Variable

Optional

-

Input Point 5

LA

PT6

-

Variable

Optional

-

Input Point 6

LA

PT7

-

Variable

Optional

-

Input Point 7

LA

PT8

-

Variable

Optional

-

Input Point 8

LA

PT9

-

Variable

Optional

-

Input Point 9

LA

PT10

-

Variable

Optional

-

Input Point 10

LA

PT11

-

Variable

Optional

-

Input Point 11

LA

PT12

-

Variable

Optional

-

Input Point 12

LA

PT13

-

Variable

Optional

-

Input Point 13

LA

PT14

-

Variable

Optional

-

Input Point 14

LA

PT15

-

Variable

Optional

-

Input Point 15

LA

PT16

-

Variable

Optional

-

Input Point 16

LA

PT17

-

Variable

Optional

-

Input Point 17

LA

PT18

-

Variable

Optional

-

Input Point 18

LA

PT19

-

Variable

Optional

-

Input Point 19

LA

PT20

-

Variable

Optional

-

Input Point 20

LA

PT21

-

Variable

Optional

-

Input Point 21

LA

155

9.2 What is the Fuzzifier algorithm?

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

M I N. P OINT R ECORD

PT22 PT23

-

Variable

Optional

-

Input Point 22

LA

-

Variable

Optional

-

Input Point 23

LA

PT24

-

Variable

Optional

-

Input Point 24

LA

PT25

-

Variable

Optional

-

Input Point 25

LA

PT26

-

Variable

Optional

-

Input Point 26

LA

PT27

-

Variable

Optional

-

Input Point 27

LA

PT28

-

Variable

Optional

-

Input Point 28

LA

PT29

-

Variable

Optional

-

Input Point 29

LA

PT30

-

Variable

Optional

-

Input Point 30

LA

PT31

-

Variable

Optional

-

Input Point 31

LA

PT32

-

Variable

Optional

-

Input Point 32

LA

PT33

-

Variable

Optional

-

Input Point 33

LA

PT34

-

Variable

Optional

-

Input Point 34

LA

PT35

-

Variable

Optional

-

Input Point 35

LA

PT36

-

Variable

Optional

-

Input Point 36

LA

PT37

-

Variable

Optional

-

Input Point 37

LA

PT38

-

Variable

Optional

-

Input Point 38

LA

PT39

-

Variable

Optional

-

Input Point 39

LA

PT40

-

Variable

Optional

-

Input Point 40

LA

PT41

-

Variable

Optional

-

Input Point 41

LA

PT42

-

Variable

Optional

-

Input Point 42

LA

PT43

-

Variable

Optional

-

Input Point 43

LA

PT44

-

Variable

Optional

-

Input Point 44

LA

PT45

-

Variable

Optional

-

Input Point 45

LA

PT46

-

Variable

Optional

-

Input Point 46

LA

PT47

-

Variable

Optional

-

Input Point 47

LA

PT48

-

Variable

Optional

-

Input Point 48

LA

PT49

-

Variable

Optional

-

Input Point 49

LA

PT50

-

Variable

Optional

-

Input Point 50

LA

PT51

-

Variable

Optional

-

Input Point 51

LA

PT52

-

Variable

Optional

-

Input Point 52

LA

PT53

-

Variable

Optional

-

Input Point 53

LA

PT54

-

Variable

Optional

-

Input Point 54

LA

PT55

-

Variable

Optional

-

Input Point 55

LA

PT56

-

Variable

Optional

-

Input Point 56

LA

NA ME

156

APC_002

9.2 What is the Fuzzifier algorithm?

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

M I N. P OINT R ECORD

PT57 PT58

-

Variable

Optional

-

Input Point 57

LA

-

Variable

Optional

-

Input Point 58

LA

PT59

-

Variable

Optional

-

Input Point 59

LA

PT60

-

Variable

Optional

-

Input Point 60

LA

PT61

-

Variable

Optional

-

Input Point 61

LA

PT62

-

Variable

Optional

-

Input Point 62

LA

PT63

-

Variable

Optional

-

Input Point 63

LA

PT64

-

Variable

Optional

-

Input Point 64

LA

OUT

-

Variable

Required

-

Analog Output Point - Gain if a vector input

LA

TRIN

-

Variable

Optional

-

Tracking analog input variable

LA

OUT2

-

Variable

Optional

-

Integral output if a vector input

LA

OUT3

-

Variable

Optional

-

Time Constant if a vector input

LA

OUT4

-

Variable

Optional

-

Derivative if a vector input

LA

FTYPE

X5 - Byte Bits 0 and 1

Algorithm Init

Required

FPID

TYPE of Fuzzy Control

-

NA ME

0 - FPID 1 - FF OPT

X5 - Byte Bits 2 and 3

Data Init

Required

COG

Option

-

0 - COG (Center Of Gravity) 1 - MOM (Middle Of Maxim)

SIG

B0 - Integer

Data Init

Required

0

Number of fuzzy signals

-

REG1

B1 - Integer

Data Init

Required

2

Number of regions 1st function

-

REG2

B2 - Integer

Data Init

Optional

2

Number of regions 2nd function

-

REG3

YU - Integer

Data Init

Optional

2

Number of regions 3rd function

-

FFT1

X6 - Byte Bits 0 and 1

Data Init

Required

TRAPEZOI D

Fuzzy Function Type 1st function:

-

0 - TRAPEZOID 1 - ZADEH

APC_002

157

9.2 What is the Fuzzifier algorithm?

NA ME

L C AL G. R ECORD F IELD

FFT2

X6 - Byte

M I N. P OINT R ECORD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

Data Init

Optional

TRAPEZOI D

Fuzzy Function Type 2nd Function:

Bits 2 and 3

-

0 - TRAPEZOID 1 - ZADEH FFT3

X6 - Byte

Data Init

Optional

Bits 4 and 5

TRAPEZOI D

Fuzzy Function Type 3rd Function:

-

0 - TRAPEZOID 1 - ZADEH FSO1

X7 - Byte

Internal Use

-

-

Bit is set on when the value from the first fuzzy signal is out of range.

-

Internal Use

-

-

Bit is set on when the value from the second fuzzy signal is out of range.

-

Internal Use

-

-

Bit is set on when the value from the third fuzzy signal is out of range.

-

ISOLATE - user defines the active region number. This must be changed in the Point Builder and then downloaded to the drop.

-

Bit 0

FSO2

X7 - Byte Bit 1

FSO3

X7 - Byte Bit 2

ISO1

G8 - Integer

Tuning constant

Required

0

HI1

*** B4 Integer

Tuning constant

Required

100

HI2

*** B5 -Integer

Tuning constant

Required

200

High Integral Limit if vector

-

HI3

*** B6 Integer

Tuning constant

Required

300

High Time Constant Limit if vector

-

HI4

*** B7 Integer

Tuning constant

Required

400

High derivative limit if vector

-

LO1

*** B8 Integer

Tuning constant

Required

-10

Low Limit

-

*** B9 -

Tuning

Required

Integer

constant

*** C0 Integer

Tuning constant

LO2

LO3

158

High Limit

-

High Limit on Gain if vector

Low Limit on Gain if vector -20

Low Integral Limit if

-

vector Required

-30

Low Time Constant Limit if vector

-

APC_002

9.2 What is the Fuzzifier algorithm?

L C AL G. R ECORD F IELD

TYPE

LO4

*** C1 Integer

VS1

M I N. P OINT R ECORD

R EQUIRED / O PTIONAL

D EFAULT VA L UE

Tuning constant

Required

-40

Low derivative limit if vector

-

R1 - Real

Data Init

Required

0

**Vector encoding shape of membership 1

-

VS2

R2 - Real

Data Init

Required

43

**Vector encoding shape of

-

VS3

R3 - Real

Data Init

Optional

57

VS4

R4 - Real

Data Init

Optional

100

**Vector encoding shape of membership 4

-

VS5

R5 - Real

Data Init

Optional

0

**Vector encoding shape of membership 5

-

VS6

R6 - Real

Data Init

Optional

0

**Vector encoding shape of membership 6

-

VS7

R7 - Real

Data Init

Optional

0

**Vector encoding shape of membership 7

-

VS8

R8 - Real

Data Init

Optional

0

**Vector encoding shape of membership 8

-

VS9

R9 - Real

Data Init

Optional

0

**Vector encoding shape of membership 9

-

VS10

S1 - Real

Data Init

Optional

43

**Vector encoding shape of membership 10

-

VS11

S2 - Real

Data Init

Optional

57

**Vector encoding shape of membership 11

-

VS12

S3 -Real

Data Init

Optional

100

**Vector encoding shape of membership 12

-

VS13

S4 -Real

Data Init

Optional

0

**Vector encoding shape of membership 13

-

VS14

S5 - Real

Data Init

Optional

43

**Vector encoding

-

VS15

S6 - Real

Data Init

Optional

57

NA ME

D ESCRIPTION

membership 2 **Vector encoding shape of membership 3

-

shape of membership 14

APC_002

**Vector encoding shape of membership 15

-

159

9.2 What is the Fuzzifier algorithm?

NA ME

L C AL G. R ECORD F IELD

VS16

M I N. P OINT R ECORD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

S7 - Real

Data Init

Optional

100

**Vector encoding shape of membership 16

-

VS17

S8 - Real

Data Init

Optional

0

**Vector encoding shape of membership 17

-

VS18

S9 - Real

Data Init

Optional

43

**Vector encoding shape of membership 18

-

VS19

T1 - Real

Data Init

Optional

57

**Vector encoding shape of membership 19

-

VS20

T2 - Real

Data Init

Optional

100

**Vector encoding shape of membership 20

-

VS21

T3 - Real

Data Init

Optional

0

**Vector encoding shape of membership 21

-

VS22

T4 - Real

Data Init

Optional

0

**Vector encoding shape of membership 22

-

VS23

T5 - Real

Data Init

Optional

0

**Vector encoding shape of membership 23

-

VS24

T6 -Real

Data Init

Optional

0

**Vector encoding

-

D ESCRIPTION

shape of membership 24 * FF Aux LC - Auxiliary 1 - 8 these must be initialized for each of the eight regions that are defined. ** Only when the track signal is no t present; the signals are set according to the definitions given in Setting Tracking Signals in the Ovation Algorithms Reference Manual. *** Shows an integer interpretation of a floating point value during a Reconcile Operation in the Developer Studio.

160

APC_002

9.2 What is the Fuzzifier algorithm?

9. 2.5 Fuzz ifier algorithm a uxili ary definit ions Fuzzifier Algorithm auxiliary definition

s

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT V A L UE

D ESCRIPTION

DIAG

LU-Integer

Data Init

Required

124

Tuning Diagram Number

RT1

G0 – Integer Bit 4

Data Init

Optional

Const

Region Type 1st, 9th, 17th, 25th, 33rd, 41st, 49th, and 57th region: 0 = CONST - constant in G7 1 = POINT - SID in G1 3 = VECT - constants in G7, G8, G9 and B0

CON1

G7 - Integer

Data Init

Optional

1.0

Constant if G0 = 1,

ING1

G8 - Integer

Data Init

Optional

1.2

If G0 = 3, integral

TC1

G9 - Integer

Data Init

Optional

1.4

If G0 = 3, time constant

DE1

B0 - Integer

Data Init

Optional

1.6

If G0 = 3, derivative

RT2

B1- Integer Bit 4

Data Init

Required

Const 5

Region Type 2nd, 10th, 18th, 26th, 34th, 42nd, 50th and 58th region

Gain if G0 = 3

0 = CONST - constant in B8 1 = POINT - SID in B2 3 = VECT - constants in B8, B9, C0 and C1 CON2

B8 - Integer

Data Init

Optional

2.0

Constant if B1 = 1,

ING2

B9 - Integer

Data Init

Optional

2.2

If B1 = 3, integral

TC2

C0 - Integer

Data Init

Optional

2.4

If B1 = 3, time constant

DE2

C1 - Integer

Data Init

Optional

2.6

If B1 = 3, derivative

RT3

C2 – Integer Bit 4

Data Init

Optional

Const

Region Type 3rd, 11th, 19th, 27th, 35th, 43rd, 51st, and 59th region

Gain if B1 = 3

0 = CONST - constant in YT 1 = POINT - SID in C3 3 = VECT - constants in YT, D0, YQ and D2 CON3

YT - Integer

Data Init

Optional

3.0

Constant if C2 = 1,

ING3

D0 - Integer

Data Init

Optional

3.2

If C2 = 3, integral

Gain if C2 = 3

APC_002

161

9.2 What is the Fuzzifier algorithm?

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT V A L UE

D ESCRIPTION

TC3

YQ - Integer

Data Init

Optional

3.4

If C2 = 3, time constant

DE3

D2 - Integer

Data Init

Optional

3.6

If C2 = 3, derivative

RT4

YP – Integer Bit 4

Data Init

Optional

Const

Region Type 4th, 12th, 20th, 28th, 36th, 44th, 52nd and 60th region 0 = CONST - constant in YM 1 = POINT - SID in D4 3 = VECT - constants in YM, YL, E2 and E3

CON4

YM - Integer

Data Init

Optional

4.0

Constant if YP = 1,

ING4

YL -Integer

Data Init

Optional

-4.2

If YP = 3, integral

TC4

E2 -Integer

Data Init

Optional

4.4

If YP = 3, time constant

DE4

E3 -Integer

Data Init

Optional

4.6

If YP = 3, derivative

RT5

E4 – Integer Bit 4

Data Init

Optional

Const

Region Type 5th, 13th, 21st, 29th, 37th, 45th, 53rd and 61st region

Gain if YP = 3

0 - CONST - constant in Y6 1 = POINT - SID in YC 3 = VECT - constants in Y6, XY, XW and F4 CON5

Y6 - Integer

Data Init

Optional

5.0

Constant if E4 = 1, Gain if E4 = 3

ING5

XY - Integer

Data Init

Optional

5.2

If E4 = 3, integral

TC5

XW - Integer

Data Init

Optional

5.4

If E4 = 3, time constant

DE5

F4 - Integer

Data Init

Optional

5.6

If E4 = 3, derivative

RT6

F5 – Integer Bit 4

Data Init

Optional

Const

Region Type 6th, 14th, 22nd, 30th, 38th, 46th, 54th and 62nd region 0 = CONST - constant in R3 1 = POINT - SID in F6 3 = VECT - constants in R3, R4, R5 and R6

CON6

R3 - Integer

Data Init

Optional

6.0

Constant if F5 = 1,

ING6

R4 - Integer

Data Init

Optional

6.2

If F5 = 3, integral

TC6

R5 - Integer

Data Init

Optional

6.4

If F5 = 3, time constant

DE6

R6 - Integer

Data Init

Optional

6.6

If F5 = 3, derivative

Gain if F5 = 3

162

APC_002

9.2 What is the Fuzzifier algorithm?

NA ME RT7

L C AL G. R ECORD F IELD R7 – Integer Bit 0

TYPE

R EQUIRED / O PTIONAL

D EFAULT V A L UE

Data Init

Optional

Const

D ESCRIPTION Region Type 7th, 15th, 23rd, 31st, 39th, 47th, 55th and 63rd regions 0 = CONST - constant in S5 1 = POINT - SID in R8 3 = VECT - constants in S5, S6, S7 and S8

CON7

S5 - Integer

Data Init

Optional

7.0

Constant if R7 = 1, Gain if R7 = 3

ING7

S6 - Integer

Data Init

Optional

7.2

If R7 = 3, integral

TC7

S7 - Integer

Data Init

Optional

7.4

If R7 = 3, time constant

DE7

S8 - Integer

Data Init

Optional

7.6

If R7 = 3, derivative

RT8

S9 – Integer Bit 0

Data Init

Optional

Const

Region Type 8th, 16th, 24th, 32nd, 40th, 48th, 56th, and 64th regions 0 = CONST - constant in T7 1 = POINT - SID in T1 3 = VECT - constants in T7, T8, T9 and U1

CON8

T7 - Integer

Data Init

Optional

8.0

Constant if S9 = 1, Gain if S9 = 3

ING8 TC8

T8 - Integer T9 - Integer

Data Init Data Init

Optional Optional

8.2 8.4

If S9 = 3, integral If S9 = 3, time constant

DE8

U1 - Integer

Data Init

Optional

8.6

If S9 = 3, derivative

9. 2.6 Fuzz ifier algorithm tracking signals External tracking and limiting is done through signals passed in the upper 16 bits of the third status word of the analog track points. This algorithm takes the following action in response to information found in the third status word of the analog input signal TRIN: Fuzzifier Tracking Signals B IT

APC_002

D ESCRIPTION

A CTION

TOUT S IGNAL

16

Track

Implemented

Passed through

17

Track if lower

No action

Not used

18

Track if higher

No action

Not used

19

Lower inhibit

Implemented*

Passed through**

163

9.2 What is the Fuzzifier algorithm?

B IT

D ESCRIPTION

A CTION

TOUT S IGNAL

20

Raise inhibit

Implemented*

Passed through**

21

Conditional Track

Not used

Not used

22

Not used

No action

Not used

23

Deviation Alarm

No action

Not used

24

Local Manual mode

No action

Not used

25

Manual mode

No action

Not used

26

Auto mode

No action

Not used

27

Not Used

No action

Not used

28

Not Used

No action

Not used

29

Not Used

No action

Not used

30

Low limit reached

No action

Low limit reached

31

High limit reached

No action

High limit reached

* Only when the Track signal is not present. ** Only when the Track signal is not present; the signals are set according to the definitions given in Setting Tracking Signals in the Ovation Algorithms Reference Manual.

The High and Low limit flags, the mode, and the tracking signals from the algorithm are output to TOUT to be used for display and by upstream algorithms.

164

APC_002

9.2 What is the Fuzzifier algorithm?

9. 2.7 Accessi ng the tunin g window for the

Fuzz ifier a lgori thm in signal diagra

ms

To access advanced editing in signal diagrams, see To access the Advanced Tuning window for APC Toolkit algorithms in signal diagrams (see page 28). Fuzzifier tuning window -- Genera l Information tab The General Information tab displays the global parameters of the Fuzzifier. This includes the global PID parameters as well as the global fuzzy logic parameters and region definitions.

Figure 48: Fuzzifier Tuning window - General Information tab

APC_002

165

9.2 What is the Fuzzifier algorithm?

Fuzzifier tuning w indow -- Membership Functions

and Signals tab

The Membership Functions and Signals tab contains the actual value of membership function for each region. Note: For the Fuzzifier tuning diagram, if one fuzzy signal is attached, the tab on the window reads "Regions and Signals." If two or more fuzzy signals are attached, the tab on the window reads "Membership Functions and Signals." The following figure shows an example with the Membership Functions and Signals tab.

Figure 49 : Fuzz ifier Tuning win dow - Membership Functions

166

and Signals tab

APC_002

9.2 What is the Fuzzifier algorithm?

Click on the details button to display the Signals window. The Signals window displays a graph of the membership functions defined for the signal. The actual value of fuzzifying the signal also displays, together with an indicator on the graph (vertical grey line), which shows the regions you are currently in.

Figure 50: Fuzzifier Tuning - Signal window

APC_002

167

9.3 What is the Fuzzy PID (FPID) algorithm?

9.3

What is the Fuzzy PID (FP ID) algo rit hm? Note: The Fuzzy PID algorithm can only be purchased as part of an engineered solution. The FPID algorithm provides a non-linear fuzzy region Controller. The non-linear control action is accomplished by utilizing fuzzy logic to aggregate the outputs of multiple linear PID Controllers based on the operating point of the process. The process operating point is determined by one or two fuzzy input variables. The fuzzy variables define the process operating range and thus all possible operating points. A region refers to a local partition of the operating range that defines a particular operating point. It is assumed that at each region the process dynamics are similar. The region boundaries are described using fuzzy rules and membership functions. This algorithm supports up to four user-defined regions. Each region can have a PID Controller, an input point or a constant value. The resulting value is called the Region Output value. In the case of a PID algorithm, region output is the output of the PID algorithm. It is typical to assign a PID Controller to each region. For the purposes of this manual it is assumed that PID algorithms are assigned to each region. However, all concepts apply equally to both constant values and points. The algorithm output is the fuzzy aggregation of the individual outputs of each fuzzy region. The internal PID algorithms are a parallel PID implementation that utilizes internal tracking signals for bumpless transfer. The output value is limited via a user-defined limit. Anti-reset windup is handled internally. Refer to Fuzzy PID use guidelines (see page 358) for output calculations for the the FPID algorithm.

168

APC_002

9.3 What is the Fuzzy PID (FPID) algorithm?

9. 3.1 FP ID algorith m func tional sym bol Note: Symbols may appear differently in Solaris and Windows because optional pins can be added and deleted at will on the Windows platform. The functionality of the symbols should match. Where PID internal algorithms are the same as the Ovation PID algorithm, the symbol appears as shown in the following figure:

Figure 51: FPID functional symbol #2

APC_002

169

9.3 What is the Fuzzy PID (FPID) algorithm?

9. 3.2 Accessi ng advanced e diti ng for the Fuz zy P ID algorithm in th Builder

e Control

To access the Advanced Applications Studio in the Control Builder for the Fuzzy PID algorithm, refer to To use the Advanced Applications Studio to view and edit advanced algorithms (see page 20). FPID Input/Output Configuration tab The Input/Output Configuration tab displays the algorithm input and output details. This tab is informational only. You cannot edit the options from this dialog box, and you cannot sort the columns in this table.

Figure 52: Fuzzy PID Input/Output Configuration tab

170

APC_002

9.3 What is the Fuzzy PID (FPID) algorithm?

FPID General Parameters tab The General Parameters tab displays the field parameters for the algorithm. Only the Value column can be edited in this tab. To edit a value, double-click inside the Value cell and select from the pull-down menu. Enter the change and press the key on the keyboard or click inside another cell so that the change you made takes effect. Press OK to save the change.

Figure 53: Fuzzy PID G eneral Parameters tab Bit Value Fie ld Options B I T V A L U E F IELD

O PTIONS

Type

Normal ESG ESI

ACTN

Indirect

CASC

Normal

Direct

Cascaded

APC_002

171

9.3 What is the Fuzzy PID (FPID) algorithm?

B I T V A L U E F IELD

O PTIONS

DACT

Normal Setpoint Process

DOPT

Inner only No deadbands Both inner and outer

FPID Fuzzy Parameters tab The Fuzzy Parameters tab contains two tabs: 

Membership Function Definition (see page 172).



Rule Base (see page 173).

FPID Membership Function Definition tab The Membership Function Definition tab displays the fuzzy signal properties.

Figure 54: Fuzz y PID -- Membership Functi on Definit ion t ab

172

APC_002

9.3 What is the Fuzzy PID (FPID) algorithm?

Membership Function Definition tab window field definitio F IELD

ns

D EFINITION

Signal(s)

Selects the signal to view.

Number of Membership Functions

Selects the number of membership functions for the selected signal: 2 - 4.

Membership Function Type

Selects the membership function type: Trapezoid or Zadeh.

Membership Function Parameters

Displays the membership function parameters.

Membership Function Shape

A graphical representation of the set membership function.

1.

Select the signal from the signal(s) field.

2.

Select the number of member functions to be included in the signal.

3.

Select the membership function type for the signal.

4.

Edit the membership function parameters either through the Membership Function Parameters field or by dragging VE nodes in the Membership Function Shape canvas.



Membership Function Parameters - Edit the membership function labels and values in this field. To edit, double-click in the appropriate cell. Sort the table by clicking on a heading. Click to sort in ascending order, or press the key and click to sort in descending order.



Membership Function Shape - Edit the membership function values by dragging the points on the graphical representation.

The Membership Function Shape graphic can be used to view and edit the membership function parameters. The x-axis displays the range of Engineering Unit (EU) Values covered by all ranges. The Tick field shows the scale for the EU. The regions and their Vector Encoding (VE) Shape are color-coded for quick reference.

Figure 55: Fuzzy PID Re gio n Shape To edit an EU value, click on the EU axis near the VE shape label and drag the cursor to the desired value. The Tick field shows which value is being edited. To view detailed values on the EU scale, click inside the scale.

APC_002

173

9.3 What is the Fuzzy PID (FPID) algorithm?

To use t he FPID Rule Base tab The Rule Base tab displays the rules for the regions. 1.

Select the de-fuzzification type by selecting the appropriate radio button. 

Center of Gravity (see page 194)



Middle of Maxim (see page 195)

Figure 56: Fuzzy PID Rule Base tab Note: The region representation graphic appears elongated for one fuzzy signal. 2.

Select the consequence value: 

Constant Value



Point Name



174

PID

APC_002

9.3 What is the Fuzzy PID (FPID) algorithm?

If PID is selected, Edit PID displays in the PID column. Double click the PID cell to launch the Region edit dialog box.

Figure 57: Fuzzy PID - Edit PID windo w 3. 4.

APC_002

Edit the PID value and select Close to return to the rule base window. Once all regions have been edited, click the OK button to save the changes and return to the Control Builder. The Cancel button discards all changes and closes the Advanced Application Studio.

175

9.3 What is the Fuzzy PID (FPID) algorithm?

9. 3.3 Fuzz yPID algorith m definiti ons Note: Algorithm record type = LC FuzzyPID algorithm definitions

176

NA ME

L C AL G. R ECORD F IELD

DIAG

LU - Integer

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

Data Init

Required

122

Tuning Diagram Number

M I N. P OINT R ECORD

-

AUX1

-

Auxiliary

Required

-

Fuzzy Auxiliary PID1

LC

AUX2

-

Auxiliary

Required

-

Fuzzy PID2

LC

AUX3

-

Auxiliary

Required

-

Fuzzy PID3

LC

AUX4

-

Auxiliary

Required

-

Fuzzy PID4

LC

FZ1

-

Variable

Required

-

Fuzzy Input 1

LA

FZ2

-

Variable

Optional

-

Fuzzy Input 2

LA

PV

-

Variable

Required

-

Process variable

LA

STPT

-

Variable

Required

-

Set Point

LA

PT1

-

Variable

Optional

-

First Input Point

LA

PT2

-

Variable

Optional

-

Second Input Point

LA

PT3

-

Variable

Optional

Third Input Point

LA LA

PT4

-

Variable

Optional

-

Fourth Input Point

TOUT

-

Variable

Required

-

Track Output Point

LA

OUT

-

Variable

Required

-

Analog Output Point

LA

TRIN

-

Variable

Optional

-

Tracking analog input variable

LA

DEVA

-

Variable

Optional

-

Error between process variable and setpoint for PID

LA

OUT1

S4

Variable

Selectable

-

Output from region 1

LA

OUT2

S5

Variable

Selectable

-

Output from region 2

LA

OUT3

S6

Variable

Selectable

-

Output from region 3

LA

OUT4

S7

Variable

Selectable

-

Output from region 4

LA

MEM1

S8

Variable

Selectable

-

Membership in region 1

LA

MEM2

S9

Variable

Selectable

-

Membership in region 2

LA

MEM3

T1

Variable

Selectable

-

Membership in region 3

MEM4

T2 - Real

Selectable

Optional

-

Membership in region 4

LA LA

APC_002

9.3 What is the Fuzzy PID (FPID) algorithm?

NA ME

FTYPE

L C AL G. R ECORD F IELD

TYPE

X5 - Byte Bits 0 and 1

X5 - Byte Bits 2 and 3

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

Algorithm Init

Required

FPID

TYPE of Fuzzy Control:

Data Init

Required

M I N. P OINT R ECORD

-

0 - FPID 1 - FF

OPT

COG

Type of PID Controller

-

0 - COG (Center Of Gravity) 1 - MOM (Middle Of Maxim)

SIG

B0 - Integer

Data Init

Required

0

Number of fuzzy signals

-

REG1

B1 - Integer

Data Init

Required

2

Number of regions 1st function

-

REG2

B2 - Integer

Data Init

Required

2

Number of regions 2nd function

-

FFT1

X6 - Byte Bits 0 and 1

Data Init

Required

TRAPEZOID

Fuzzy Function Type: 1st function

-

0 - TRAPEZOID 1 - ZADEH FFT2

X6 - Byte Bits 2 and 3

Data Init

Required

TRAPEZOID

Fuzzy Function Type: 2nd Function

-

0 - TRAPEZOID 1 - ZADEH FSO1

X7 - Byte Bit 0

Internal Use

-

-

Bit is set to 1 when the value from the first fuzzy signal is out of range.

-

FSO2

X7 - Byte Bit 1

Internal Use

-

-

Bit is set to 1 when the value from the first fuzzy signal is out of range.

-

ISO

X8 - Byte

Tuning constant

Required

0

ISOLATE - user defines the active region. Only selected Controller work in all area.

-

VS1

R1 - Real

Data Init

Required

0

Vector encoding shape of membership 1

-

VS2

R2 - Real

Data Init

Required

42

Vector encoding shape of membership 2

-

VS3

R3 - Real

Data Init

Required

57

Vector encoding shape

-

of membership 3 VS4

APC_002

R4 - Real

Data Init

Required

100

Vector encoding shape of membership 4

-

177

9.3 What is the Fuzzy PID (FPID) algorithm?

NA ME

L C AL G. R ECORD F IELD

VS5

M I N. P OINT R ECORD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

R5 - Real

Data Init

Optional

0

Vector encoding shape of membership 5

-

VS6

R6 - Real

Data Init

Optional

42

Vector encoding shape of membership 6

-

VS7

R7 - Real

Data Init

Optional

57

Vector encoding shape of membership 7

-

VS8

R8 - Real

Data Init

Optional

100

Vector encoding shape of membership 8

-

RT1

YU - Integer Bit 0

Data Init

Required

CONST

Region Type 1st Region

-

D ESCRIPTION

0 = CONST - R9 contains the constant 1 = POINT - B0 contains the point Sid 2 = PID Tuning constants in the corresponding LC record

RT2

B4 - Integer Bit 0

Data Init

Required

CONST

Region Type 2nd Region

-

0 = CONST - S1 contains the constant 1 = POINT - B1 contains the point Sid 2 = PID turning constants in the corresponding LC record

RT3

B5 - Integer Bit 0

Data Init

Optional

CONST

Region Type 3rd Region

-

0 = CONST - S2 contains the constant 1 = POINT - B2 contains the point Sid. 2 = PID turning constants in the corresponding LC record

RT4

B6 - Integer Bit 0

Data Init

Optional

CONST

Region Type 4th Region

-

0 = CONST - S3 contains the constant 1 = POINT -YU contains the point Sid 2 = PID turning constants in the corresponding LC record

178

APC_002

9.3 What is the Fuzzy PID (FPID) algorithm?

NA ME

L C AL G. R ECORD F IELD

CON1

M I N. P OINT R ECORD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

R9 - Real

Data Init

Optional

0.0

Constant value if YU = CONST

-

CON2

S1 - Real

Data Init

Optional

0.0

Constant value if B4 = CONST

-

CON3

S2 - Real

Data Init

Optional

0.0

Constant value if B5 = CONST

-

CON4

S3 - Real

Data Init

Optional

0.0

Constant value if B6 = CONST

-

SPTG

T3 - Real

Tuning constant

Required

1.0

Gain on set point. The gain on the set point should never be set to zero.

-

SPTB

T4 - Real

Tuning constant

Optional

0.0

Bias on set point

-

PVG

T5 - Real

Tuning constant

Required

1.0

Gain on process variable input. The gain on the set point should never be set to zero.

-

PVB

T6 - Real

Tuning constant

Optional

0.0

Bias on process variable input

-

TPSC

T7 - Real

Tuning constant

Required

100.0

Maximum value of the output point

-

BTSC

T8 - Real

Tuning

Required

0.0

Minimum value of the

-

constant TYPE

X9 Byte Bits 1 and 0

Data Init

D ESCRIPTION

output point Required

NORMAL

Type of PID Controller:

-

NORMAL: Regular PID control ESG: PID control with error squared on the proportional gain term ESI: PID control with error squared on the integral term

ACTN

X9 Byte Bit 2

Data Init

Required

INDIRECT

Direction Flag:

-

INDIRECT: Error = SP - PV DIRECT: Error = PV - SP

CASC

X9 Byte Bit 3

Data Init

Required

NORMAL

Controller is downstream

-

in a cascaded configuration NORMAL: Normal PID action CASCADED

APC_002

179

9.3 What is the Fuzzy PID (FPID) algorithm?

NA ME

DACT

L C AL G. R ECORD F IELD

X9 Byte Bit 4 - 5

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

Data Init

Required

NORMAL

Type of Derivative action

M I N. P OINT R ECORD

-

Normal Derivative applied to change in error Set point Derivative applied to change in set point Process Derivative applied to change in process variable

DOPT

X9 Byte Bit 6 - 7

Data Init

Required

SINGLE

0 - Single or Inner Deadband only

-

1 - No deadbands 2 - Both inner and outer deadband

9. 3.4 Fuzz yPID auxiliary a lgori thm definitions Note: If the FuzzyPID algorithm - Auxiliary 1 - 4 exists in a region, then the corresponding FuzzyPID Auxiliary LC record must exist. FuzzyPID Auxiliary Algorithm Definitions

180

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

DIAG

LU - Integer

Data Init

Required

38

Tuning Diagram Number

DBND

S3 - Real

Tuning constant

Required

0.0

PID error Deadband

ERRD

S4 - Real

Tuning constant

Required

0.0

PID error Deadband gain

PGAIN

R8 - Real

Tuning constant

Required

1.0

PID proportional gain. If the proportional gain equals zero, the proportional part will not be included in the output.

INTG

R9 - Real

Tuning constant

Required

10.0

PID integral time in seconds per repeat. If the integral time equals zero, the integral part will not be included in the output.

APC_002

9.3 What is the Fuzzy PID (FPID) algorithm?

NA ME

L C AL G. R ECORD F IELD

DGAIN

S1- Real

DRAT

S2 - Real

R EQUIRED / O PTIONAL

D EFAULT VA L UE

Tuning constant

Required

0.0

PID derivative gain. If the derivative gain equals zero, the derivative part will not be included in the output.

Tuning constant

Required

0.0

PID derivative rate decay constant in seconds.

TYPE

D ESCRIPTION

This parameter will default to half of the control task period if the value of the parameter is less than the control task period divided by 2.

APC_002

TRAT

R7- Real

Data Init

Required

2.5

Track ramp rate (units per second)

ODBND

S7 - Real

Tuning constant

Required

0.0

PID outer error Deadband

181

9.3 What is the Fuzzy PID (FPID) algorithm?

9.3 .5 Funct ion al operati on of PID

182

APC_002

9.3 What is the Fuzzy PID (FPID) algorithm?

9. 3.6 Using F PI D trackin g sign als External tracking and limiting is done through signals passed in the upper 16 bits of the third status word of the analog track points. This FuzzyPID takes the following action in response to information found in the third status word of the analog input signal TRIN: BIT

D ESCRIPTION

A CTION

TOUT S IGNAL

16

Track

Implemented

Passed through

17

Track if lower

Implemented*

Not used

18

Track if higher

Implemented*

Not used

19 20

Lower inhibit Raise inhibit

Implemented* Implemented*

Passed through** Passed through**

21

Conditional track

See Cascaded Mode and Conditional Tracking (see page 184) for a detailed description

Passed through if in the cascaded mode

22

Not used

No action

Not used

23

Deviation alarm

No action

Not used

24

Local manual mode

No action

Not used

25

Manual mode

No action

Not used

26

Auto mode

No action

Not used

27

Not used

No action

Not used

28

Not used

No action

Not used

29

Not used

No action

Not used

30

Low limit reached

No action

Set by FuzzyPID based on most active region***

31

High limit reached

No action

Set by FuzzyPID based on most active region***

* Only when the track signal is not present. **Only when the track signal is not present; the signals are set according to the definitions given in the Ovation Algorithms Reference Manual. ***The HI and LOW limit bits in TOUT are designed to be local to the algorithm in which they srcinate. They are based on the PID that is assigned to the region that is currently most active.

The high and low limit flags, the mode, and the tracking signals from the algorithm are output to TOUT to be used for display and by upstream algorithms. In the FPID algorithm, TOUT value (status) is equal to the value from the most active PID Controller.

APC_002

183

9.3 What is the Fuzzy PID (FPID) algorithm?

9. 3.7 Ca scaded mode and condi tional tracking

Figure 58 : Cascade d mod e and conditi onal tracking Conditional tracking is a scheme that allows tighter control of the process variable when the control strategy is implemented using cascaded Controllers. Essentially, the conditional tracking scheme allows the upstream Controller to have immediate influence on the final output when the error between the process variable and the set point changes direction while the downstream Controller is in a saturation condition. Conditional tracking is incorporated when the downstream Controller (Controller “B” above) operates in cascaded mode. The purpose of cascaded mode is to allow two PID algorithms to be used in a cascaded configuration where the output of one PID is the set point for another. When you need to arrange two PID Controllers in this configuration, the type parameter should be set to cascade in the downstream Controller only. It is not necessary to configure the upstream Controller in the cascaded configuration. When the downstream Controller is configured in the cascaded mode, the Controller operates as a conventional PID Controller if the Controller is not in a saturation condition. However, if the Controller output is saturated at the HI or LO limit or if the Controller receives an inhibit signal from a downstream algorithm, the behavior of the cascaded pair is as follows: 

The downstream Controller (Controller “B”) asserts the conditional track signal in its output tracking point along the applicable limit or inhibit bit. The downstream Controller also calculates a track output value which, if applied as a setpoint input, yields a Controller error of zero (see Equation 1 in the previous figure).



When the upstream Controller sees the conditional track bit set, it adjusts its output as follows:  If the error signal causes the Controller output to move against the inhibit signal (for example, output attempts to increase when the algorithm is receiving a raise inhibit), then the algorithm sets its output equal to the track input received from downstream.

184

APC_002

9.3 What is the Fuzzy PID (FPID) algorithm?



If the error signal causes the output to move away from the inhibit signal, the algorithm sets its output equal to the track input and begin controlling.



Without this mode, the upstream Controller would first have to move enough to zero the error on the downstream Controller before having any effect on the process. This would introduce additional dead time in the Controller response, and in the case of processes with slow dynamics (for example, temperature control), this additional dead time may be significant.



Only the PID algorithm configured in cascaded mode asserts the conditional track bit. The upstream Controller (Controller “A”) will not pass the conditional track bit in its track output.

Note: The execution order of the upper and lower PID algorithms and any algorithm in between is of principle importance. The execution order should be from the upstream Controller sequentially through each algorithm in between to the downstream Controller.

9.3 .8 Fuzzy regio ns The fuzzy membership functions are used to define the region boundaries. Since you can define up to four membership functions for the two fuzzy variables, if a single fuzzy variable is used, then you can assign up to four membership functions to this fuzzy variable. If two fuzzy variables are used, then you can assign two membership functions to each fuzzy variable. The fuzzy rules that comprise the region boundaries are implicit in the definition of the membership functions. Each fuzzy variable can have simultaneous non-zero membership values in a maximum of two membership functions per fuzzy variable. The fuzzy regions are then defined using the membership functions that are defined for the fuzzy variable(s). In the case of a single fuzzy variable, the fuzzy region space is one-dimensional and thus the region boundaries and the membership function boundaries are identical. The process operating point is determined by the membership of the fuzzy variable(s) in particular region(s). It should be noted that the fundamental concept of fuzzy logic allows membership in multiple regions simultaneously (though with different degrees of membership in each region). The FPID algorithm uses fuzzy logic to provide a mechanism to switch between multiple PID Controllers as the process moves from one region to another. Instead of switching abruptly from one PID Controller to the next, fuzzy logic provides an interpolative-like function that allows the PID outputs to transition from one PID to another. The speed of this transition is a function of the overlap of adjacent regions. Note: If the amount of fuzzy signals changes, the Advanced Editor window must be opened and applied prior to saving the sheet.

APC_002

185

9.3 What is the Fuzzy PID (FPID) algorithm?

9.3 .9 Definin g the FPID regio ns The FPID is useful in loops where the process dynamics vary significantly at different operating points. These operating points can be thought of as regions. These regions typically exhibit some amount of overlap and a well-defined boundary does not exist. The dynamics do not change abruptly between adjacent regions. The power of Fuzzy Logic is in visualizing and defining these regions as well as the transition between regions. The dynamics of a control loop can vary for multiple reasons including, variations in process gain, time constants, and dead time. These example variations can occur individually or in any combination. An example of a variation in process gain would be if at one operating point a 5% change in control effort (for example, valve position or motor speed) results in a 10% change in process variable. In another operating region, the same loop may exhibit dynamics so that the same 5% change in control effort results in a 3% change in the process variable. In most applications, this change in process dynamics is not abrupt. A result of this is that control schemes that involve binary switching between multiple control loops are, in general, difficult to develop. A binary switching scheme refers to a scheme where only one of multiple Controllers is active at any particular time. In Ovation, this would typically be accomplished using TRANSF algorithms and digital switching signals generated using signal monitors.

The previous graph shows typical fuzzy region definitions. The x-axis is the variable that is used to the regions. Thesignal signal(s) used to define the regions referred as the fuzzy signals. In define this example the fuzzy is unit load (measured in MW).are The regionstocan be defined using a maximum of two fuzzy variables for the Fuzzy PID and three fuzzy signals for the Fuzzifier algorithm. In this example, all regions are defined to be a function of a single fuzzy variable - unit load. Each region can be given a name. In this example, the region names are Low, Medium, and High. For each MW value, the corresponding y-axis coordinate is a value that refers to the degree of membership (μF) of the MW value in the various regions. This value quantifies how much a particular MW value belongs to a particular region. A membership value of 1 indicates full membership (the value belongs 100% to the region). A membership value of 0 indicates no membership at all. Any region that has a membership value greater than zero is termed to be active. For example, a MW value shown by the 'X' in the above graphic would yield partial membership in both the Low and Medium regions. The actual membership is about 0.5. This particular MW value has no membership in the High region.

186

APC_002

9.3 What is the Fuzzy PID (FPID) algorithm?

The region boundaries are tunable parameters. You have the ability to explicitly specify any of the boundary points. Thus, process knowledge and engineering judgment can be used in the design of the region boundaries. The user interface provides a graphical means for defining the region boundaries. You have the ability to manipulate the shape and boundaries of the various regions using a graphical representation similar to the previous figure. You can manually manipulate the region shapes by clicking and dragging the lines using the mouse.

9.3 .10 FPI D regio n t uni ng In most operating conditions, the output of the FuzzyPID algorithm is an aggregation of the individual PID(s) that are active. The contribution of each active PID to the global output is based on the degree of membership of the region to which that particular PID is assigned. In order to tune a particular PID, the global output should be determined solely by the particular PID to be tuned. Obviously, this is the case if the process operating point has exactly 100% membership in the region in which the PID under consideration is assigned. It is not always possible or necessary for the operating point to have exactly 100% membership in this region. Tuning is accomplished by tuning each PID separately when the process is operating inside the region that particular PID is assigned to. Ideally the process should have sole membership in that region (the process is not operating where multiple regions overlap). The “X” 's are examples of operating points where the PID associated with each region can be tuned. Note that in each instance the operating point is exclusive to a particular region.

The algorithm has a built-in mechanism to isolate an individual PID Controller. This causes the algorithm output to equal the output of the isolated PID. This also allows the control engineer to tune each Controller in the same manner that the individual PID algorithm would be tuned. The recommended method of tuning an individual PID is as follows: 1.

Move the operating point of the process so that it is as close as possible to 100% membership in the region where the PID to be tuned is assigned. Note that the actual membership value for each active region is dynamically displayed in the FPID tuning window.

2.

In the ISOLATE subsection of the tuning window, select the button that corresponds to the PID that is to be tuned.

3.

Once the tuning is complete, select the No Isolation button to allow the FuzzyPID algorithm to return to normal operation.

Refer to Accessing the tuning window for the Fuzzy PID algorithm in signal diagrams (see page 189). Also, tuning is discussed in detail in the Ovation Operator Station User Guide.

APC_002

187

9.3 What is the Fuzzy PID (FPID) algorithm?

9.3 .11 Error deadband and

deadband g ain

You can configure the FuzzyPID to use a deadband region in the Controller error signal. This deadband region is used to modify the error signal that is presented to the PID equation (separately for each Controller in region). The Controller error signal is calculated as the difference between the normalized process variable and normalized set point and is passed as the input to the local PID equation. If the local algorithm is configured to use an error deadband, the error that is presented to the PID equation is Error = Error x Error Deadband Gain. There are three deadband modes that use the error deadband gain to calculate the error that is presented to the PID equation: Single Deadband, Double Deadband, or No Deadband. Single deadband (inner only) Configure the Single Deadband mode by selecting the Single Deadband configuration and initializing the Deadband (DBND) field to a non-zero value. This parameter is defined separately for each embedded PID region. This value represents the normalized Controller error signal to be used as the deadband region. The deadband is applied bilaterally with respect to zero. For example, if the DBND field is equal to 5, then the deadband region is between -5% and +5%. If the Controller error signal is within the deadband, then the actual error that is presented to the PID equation is the product of the error signal and the error deadband gain. The Deadband Gain (ERRD) field contains the value of the error deadband gain. The valid values for this field are any real numbers between zero and one [0-1]. As an example, consider the following: DBND is 5 and ERRD is 0.5. For a normalized Controller error signal of 2%, the actual error signal that is applied to the PID equation is 2% x 0.5 = 1%. In general, for these example values of DBND and ERRD, any normalized error signal between -5% and +5% is reduced by 50% before being applied to the PID equation. Derivative action is disabled when the algorithm is operating within the deadband region. Double deadband (inner and out

er)

Configure the Double Deadband mode by selecting the Double Deadband (ODBND) configuration and initializing the ODBND field to a non-zero value. The Double Deadband mode is only to be used when a noisy signal is seen as an input to the process variable. When noise is introduced into the Process Variable signal, it can cause fluctuations in the magnitude of the signal. These swings in magnitude, in turn, cause the error calculation to change proportionally. This causes the Controller error signal to fluctuate in and out of the deadband region (DBND) defined by the user. To remedy this problem, a second outer deadband region (ODBND) can be defined by the user that should be larger than the inner deadband region (DBND). More specifically, the outer deadband should be defined as equal to, or larger than the noise seen in the signal PLUS the inner deadband region. For example, if the DBND field is equal to 5, then that deadband region will be between -5% and +5%. Once the Controller error signal reaches this inner deadband region of ±5%, a noise in the signal with a peak of ±3% could push the Controller error signal back out of the inner deadband region up to ±8% on the next scan. Therefore, the outer deadband should be set larger than ±8% to compensate for noise. If the outer deadband region is less than the defined inner deadband region, then the outer deadband region will be set equal to the inner deadband value.

188

APC_002

9.3 What is the Fuzzy PID (FPID) algorithm?

No deadband The PID has the option of being in a no deadband mode. When the No Deadband mode is selected in the template, the deadband region will not be used, regardless of what value may be present in the inner deadband or outer deadband fields. Note: When the algorithm is configured as a deadband Controller (Single or Double), transitions into and out of the inner deadband region (DBND) are smoothed internally by utilizing a hold and track operation. During this transition cycle, the Controller output is set to its previous value and the integral term is re-calculated to account for the different Controller dynamics of the new region. This effectively eliminates the abrupt change in the proportional term due to the deadband transition. Derivative action is disabled when the algorithm is operating within the deadband region.

APC_002

189

9.3 What is the Fuzzy PID (FPID) algorithm?

9. 3.12 Accessi ng th e tuning w indow for th e Fuz zy PI D a lgori thm in signal diagrams To access advanced editing in signal diagrams, see To access the Advanced Tuning window for APC Toolkit algorithms in signal diagrams (see page 28). Fuzzy PID tuning window -- General Information tab The General Information tab displays the global parameters of the Fuzzy PID. This includes the global PID parameters as well as the global fuzzy logic parameters and region definitions.

Figure 59: Fuzz y PID tuni ng d iagram - Gene ral Infor mation tab

190

APC_002

9.3 What is the Fuzzy PID (FPID) algorithm?

Fuzzy PID tuning window -- Regions and Signals tab The Regions and Signals tab displays the number of regions and PIDs that are connected to the Fuzzy PID. It also shows general information about the functions of the Fuzzy PID. Note: For the Fuzzy PID tuning diagram, if one fuzzy signal is attached, the tab on the window reads "Regions and Signals." If two or more fuzzy signals are attached, the tab on the window reads "Membership Functions and Signals." The following figure shows an example with the Regions and Signals tab.

Figure 60: Fuzz y PID tuni ng di agram - Re gio ns and Sign als tab

APC_002

191

9.3 What is the Fuzzy PID (FPID) algorithm?

Click on the details button to display the Signals window. The Signals window displays a graph of the membership functions defined for the signal. The actual value of fuzzifying the signal also displays, together with an indicator on the graph (vertical grey line), which shows the regions you are currently in.

Figure 61: Fuzzy PI D - Sign al Details wind ow

192

APC_002

9.4 Fuzzy algorithm global output calculation

Click on the Edit PID button to display an auxiliary PID tuning window. Once a PID is isolated, this window is used to adjust the parameters.

Figure 62: Fuzz y PID - Auxili ary PID tuni ng wi ndo w

9. 4

Fuz zy algorit hm glob al outp ut calculatio

n

The final output of the Fuzzy algorithms is called the global output. The global output is calculated as an aggregation of the outputs of all active regions. The amount that each active region contributes is a function of the membership value of the Controller in its assigned region. Defuzzification is the operation of calculating the global output. There are many methods of defuzzification that have been devised. Each method differs in the mathematical details. The Ovation Fuzzy logic algorithms support two methods. These supported methods are the Center Of Gravity (COG) and the Middle Of Maximum (MOM).

APC_002

193

9.4 Fuzzy algorithm global output calculation

9. 4.1 Ce nter of gravity

defuzzification

The center of gravity (COG) defuzzification method is essentially a weighted average of all the contributing PID Controllers (that is, PID Controller outputs from each active region). This weighted average provides a smooth interpolative Controller output as the process transitions between regions.

where: = the number of regions = The membership of the i(th) region = Output of the i-th local algorithm (CONST VALUE, or POINT from the system)

For example (three PIDs in one FuzzyPID algorithm): Consider the region definitions. Suppose the process is operating at a point where the active regions are Low and Medium where the Low membership value is 0.25 and the Medium membership value is 0.75. The PID assigned to the Low region is calculating an output of 25% and the PID assigned to the Medium region is calculating an output of 30%. The global output is calculated as follows:

As stated previously, individual PID outputs are 25% and 30%. However, once these PID outputs are aggregated together using fuzzy logic, the global output is calculated to be 28.3%. This is the output from the FuzzyPID algorithm.

194

APC_002

9.4 Fuzzy algorithm global output calculation

9. 4.2 Middle of maximum defuzz

ific ation

The middle of maximum (MOM) defuzzification method yields a more aggressive transition between regions as compared to the COG defuzzification method. The global output is equal to the output of the PID which is assigned to the most active region (that is, the region with the largest membership value). If all membership values are equal, the global output is calculated as follows:

where: = the number of regions with equal membership value (only regions with equal membership value are included in summation.) = The membership of the i(th) region

= Output value of the i(th) region

Using the example from above, if the medium region membership value is 0.75 and the low region membership value is 0.25 then the global output would be equal to the PID assigned to the medium region. The global output would continue to be equal to the output of the medium region PID as long as the medium region has the largest membership value of any active region. Continuing with the above example, if the membership value of both regions is equal to 0.5, and the PID outputs are 25% and 30% respectively, then the global output is calculated as follows.

APC_002

195

9.4 Fuzzy algorithm global output calculation

There is an additional modification made to the mathematics of each PID assigned to the FPID algorithm. After the global output is calculated, an adjustment is made to the integral term in every PID. The integral term is adjusted so that the sum of the proportional, integral and derivative terms equals the global output. This adjusts each PID algorithm so that mathematically it appears as though each algorithm actually calculated the global output. In the next loop time, each PID calculates a new output by starting from the current global output. This provides a smooth, interpolative global output as the process operating point migrates between regions. It also ensures that the individual PID(s) do not windup (since they all have different tuning parameters). As a result of this step, the FPID algorithm provides a truly non-linear PID function as opposed to just a simple weighted average aggregation of the outputs of multiple PID algorithms. This mathematical step also ensures that if the process operating point moves into a region that now includes a particular PID that was previously not contributing to the output, that PID will start from the current global output. Again this enforces the smooth, interpolative properties of the FuzzyPID.

196

APC_002

S

ECTION

10

Using t he Neura l Netwo rk Mult i-La yer Pe rceptr on (NNMLP) general mod el alg or it hm

IN THIS SECTION What is the Neural Network Multi-Layer Perceptron (NNMLP) algorithm?.....................198 NNMLP algorithm functional symbol ............................................................................... 199 NNMLP algorithm functionality details ............................................................................ 200 Accessing advanced editing for the NNMLP algorithm in the Control Builder ................202 NNMLP algorithm tracking signals .................................................................................. 207 NNMLP algorithm input/output pins ................................................................................ 208 NNMLP main algorithm definitions.................................................................................. 208 Accessing the tuning window for the NNMLP algorithm in signal diagrams ...................217

APC_002

197

10.1 What is the Neural Network Multi-Layer Perceptron (NNMLP) algorithm?

10. 1 What is the algorithm?

Neural N etwor k Multi -Layer P ercept ron (NNM LP)

Note: The Neural Network Multi-Layer Percepatator algorithm can only be purchased as part of an engineered solution. Neural networks can be used to model or control processes. You can build the model through the Ovation Modeler by providing it with process input and output data. Once the model is developed, it can be exported from the Ovation Modeler and imported to the Controller through the Control Builder--then the model can be used as an estimator or a predictor based on the real-time process input data. For instance, neural network models can be used to perform the following:   

Predict equipment malfunction. Calculate boiler heat section absorption to determine sootblowing requirements. Function as a soft-sensor to estimate data not normally directly measured in real-time (for instance, loss on ignition).

The neural network in this algorithm is a multilayer perceptron with a maximum of two hidden layers. The network supports a maximum of 25 inputs and 3 outputs. Additionally, the network supports up to 50 neurons in the first hidden layer and a maximum of 10 neurons in the second hidden layer. All neurons in the hidden layers implement a hyperbolic tangent activation function and all neurons in the output layer implement a linear activation function. All of the outputs of the algorithm implement user-defined limits. High and low limits are supported as well as a rate of change limit. The algorithm supports delays defined as delays in presenting inputs to the neural network. The delay is always an integer multiple of the loop time. The algorithm sets quality for the outputs according to the quality setting mode parameter in byte field (X6). If the X6 field is set to zero (0), the quality of the outputs is always GOOD. If the X6 field is set to one (1) the quality of the outputs is set to worst quality of all the inputs. Input with quality BAD is not considered in the calculation. The algorithm holds the value for that input to the last good value and reports this by setting bit 2 of STATUS to one (1). Note: The values of the analog inputs to the algorithm are checked for invalid real numbers. If the value of an input is invalid, that input is considered to have BAD quality. The algorithm implements tracking for each output. When the track request is present (the 3W_TRACK bit is set) the algorithm sets the value of the corresponding output to the value of the track input. When the track request is removed the algorithm resumes the normal calculation of that input according to the track rate limit bit in byte fiel d (X6) for that particular output. If any of track rate limit bits in X6 field is set to zero (0), the corresponding outputs immediately move to the new calculated value in a single loop time. If any of the bits in the X6 field is set to one (1), the movement of the corresponding outputs is limited by the rate of change limit.

198

APC_002

10.2 NNMLP algorithm functional symbol

10 .2 NN MLP algorit hm func tion al symb ol

Figure 63 : Neura l Network algorithm fun ctional symbo l

APC_002

199

10.3 NNMLP algorithm functionality details

10 .3 NN MLP algorit hm functio

nality deta

ils

The algorithm stores values and qualities of intermediate input samples to realize delays in presenting inputs to the neural network. Total sum of delays (number of stored input samples) is limited to 750 and none of the delay values can exceed 80. The algorithm stores the value and quality of the last sample with non BAD quality for each input. These values are used in case the quality of the common input sample is BAD. The algorithm uses the STATUS output to indicate status of the algorithm: Bit 0 – model was loaded. Bit 1 – neural network structure is valid (inconsistent with loaded model.) Bit 2 – one or more algorithm input has BAD quality. During algorithm initialization required elements in the buffer for intermediate input samples are set to the common value and quality of connected inputs. The algorithm uses STATE output to indicate that all required elements in buffer for intermediate input samples are updated after initialization. To work properly, the algorithm requires that you import a model of the neural network from an XML file. Import and export is done through the Control Builder user interface. The following diagram is of one layer (hidden or output) of a neural network:

200

APC_002

10.3 NNMLP algorithm functionality details

Figure 64: Neural Network diagram

APC_002

201

10.4 Accessing advanced editing for the NNMLP algorithm in the Control Builder

The output value of each neuron is defined as:

10 .4 Accessi ng advanced Control Builder

editing fo

r the N NM LP a lgor ithm i n the

The NNMLP algorithm is configured using the Ovation Control Builder. To access the Advanced Applications Studio for the NNMLP algorithm, refer to To use the Advanced Applications Studio to view and edit advanced algorithms (see page 20). It is possible to enter individual values for each model parameter (weights and biases) through the user interface. However, due to the complexity of the model, typically, your Emerson project engineer will implement these models. For more information, contact your Emerson project engineer.

202

APC_002

10.4 Accessing advanced editing for the NNMLP algorithm in the Control Builder

10.4 .1 NN MLP algorithm

Input/Output

Configur ation tab

The Input/Output Configuration tab is used to view/edit values for the input/output to the algorithm. CAUTION! It is best to avoid changing neural network values through the NNMLP user interface. If values need to be adjusted, contact your Emerson project engineer.

Figure 65: NN MLP algorith m - Input/O utput Configuration tab

APC_002

203

10.4 Accessing advanced editing for the NNMLP algorithm in the Control Builder

NNMLP algorithm input/output values E LEMENT

D ESCRIPTION

INPUTS section Inputs number

Used to display number of connected inputs NIN (byte field X1). This control should be read-only.

INx delay

Used to display delay of corresponding input DELx (fields G0-C4). All these controls should be read-only. Only first NIN edit boxes should be enabled; the rest of the edit boxes should be disabled (grayed). Note: Input signals can be connected only to consecutive input pins; otherwise, invalid configuration is reported.

OUTPUTS section Outputs number

Used to display number of connected outputs NOUT (byte field X4). This control should be read-only.

OUTx high limit

Used to edit high limit TPSCx for corresponding output. Buttons on the right side of control (depending on value of ISTPx) determine whether high limit is active or not. Note: High limit can be defined either by the parameter or by the signal. If a signal is connected, the edit box is used to display only the name of the signal (in example “201-00001-TPSC1”). SID of the connected signal is stored in the TPxS field.

OUTx low limit

Used to edit low limit BTSCx for corresponding output. Buttons on the right side of control (depending on value of ISBTx) determine whether low limit is active or not. Note: Low limit can be defined either by the parameter or by the signal. If a signal is connected edit box is used to display only the name of the signal (in example “201-00002-BTSC1”). SID of the connected signal is stored in the BTxS field.

OUTx change of rate

Used to edit change of rate limit CRSCx for corresponding output. Buttons on the right side of control (depending on value of ISCRx) determine whether change of rate limit is active or not. Note: Change of rate limit can be defined either by the parameter or by the signal. If a signal is connected, the edit box is used to display only the name of the signal (in example “201-00003-CRSC1”). SID of the connected signal is stored in the CRxS field.

OUTx track rate limit

Buttons OUTx track rate limit (depending on value of TRKLx) determine whether track rate limit is active or not. Only first NOUT output sections should be enabled; the rest should be disabled (grayed). Note: Output signals can be connected only to consecutive output pins; otherwise, invalid configuration is reported.

204

APC_002

10.4 Accessing advanced editing for the NNMLP algorithm in the Control Builder

E LEMENT

D ESCRIPTION

LAYERS section Layers number

Used to display the number of neural network layers. This control should be read-only. Number of neural network layers is defined a s following:

if( X2 > 0 ) { if( X3 > 0 ) num_layers = 3; else num_layers = 2; } else num_layers = 1; st

1st hidden layer size

Used to display size of 1 should be read-only.

1st hidden layer function

Used to display activation function for 1 hidden layer. Currently only hyperbolic tangent function “tanh” is available. This control should be read-only.

2nd hidden layer size

Used to display size of 2 should be read-only.

2nd hidden layer function

hidden layer NNHL1 (byte field X2). This control

st

nd

hidden layer NNHL2 (byte field X3). This control nd

Used to display activation 2 hidden Forshould now only hyperbolic tangent functionfunction “tanh” isfor available. Thislayer. control be read-only. Output layer size

Used to display size of output layer NOUT (byte field X4). This control should be read-only.

Output layer function

Used to display activation function for output layer. For now only linear function “linear” is available. This control should be read-only.

CONFIGURATION section

APC_002

Is model imported

Used to report if model of neural network is imported (byte field X5 bit 0). This control should be read-only.

Is model valid

Used to report if model of neural network is valid (byte field X5 bit 1). This control should be read-only.

205

10.4 Accessing advanced editing for the NNMLP algorithm in the Control Builder

10. 4.2 NNMLP algor ith m Neural Netwo

rk tab

The Neural Network tab is used to import models and view the algorithm parameters.

Figure 66: NN MLP algo rith m - Neural Network tab

206

APC_002

10.5 NNMLP algorithm tracking signals

10.4 .3 NNM LP algorit hm Structu re of Ne urons tab The NNMLP algorithm is used to view the parameters of the algorithm's hidden layers and the output layer.

Figure 67: NNMLP algorithm - Structure of Neurons tab

10 .5 NN MLP algorit hm tracking signals External tracking and limiting are done through signals passed in the upper 16 bits of the third status word of the analog track points. This algorithm takes the following action in response to information found in the third status word of the analog input signal TRIN: Ac ti on s t aken by NNMLP alg or it hm

APC_002

BIT

D ESCRIPTION

A CTION

TOUT S IGNAL

16

Track

Implemented

Not used

17

Track if lower

No action

Not used

18

Track if higher

No action

Not used

19

Lower inhibit

Implemented*

Not used

207

10.6 NNMLP algorithm input/output pins

BIT

D ESCRIPTION

A CTION

TOUT S IGNAL

20

Raise inhibit

Implemented*

Not used

21

Conditional Track

No action

Not used

22

Not used

No action

Not used

23

Deviation Alarm

No action

Not used

24

Local Manual mode

No action

Not used

25

Manual mode

No action

Not used

26

Auto mode

No action

Not used

27 28

Not used Not used

No action No action

Not used Not used

29

Not used

No action

Not used

30

Low limit reached

No action

Not used

31

High limit reached

No action

Not used

* Only when the Track signal is not present.

10 .6 NN MLP algorit hm inpu t/outpu t pins IN1 - IN25 = inputs OUT1 - OUT3 = outputs TPSC1 - TPSC3 = high limits for outputs BTSC1 - BTSC3 = low limits for outputs CRSC1 - CRSC3 = change rate limits for outputs TRIN1 - TRIN3 = tracking signals for outputs STATE = state of buffer for delays realization STATUS = status of the algorithm

208

APC_002

10.7 NNMLP main algorithm definitions

10 .7 NN MLP main a lgor ithm definit

ions

Note: Algorithm record type = LC NNMLP ma in algorith m definition s

APC_002

NA ME

A L G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

DIAG

LU

Data Init.

Required

156

AUX1

LC

-

Required

AUX2

LC

-

Required

AUX3

LC

-

AUX4

LC

AUX5

D EFAULT VA L UE

D ESCRIPTION

M I N. P OINT REC.

Tuning Diagram Number

-

-

Auxiliary LC record

-

-

Auxiliary LC record

-

Required

-

Auxiliary LC record

-

-

Required

-

Auxiliary LC record

-

LC

-

Required

-

Auxiliary LC record

-

AUX6

LC

-

Required

-

Auxiliary LC record

-

AUX7

LC

-

Required

-

Auxiliary LC record

-

AUX8

LC

-

Required

-

Auxiliary LC record

-

AUX9

LC

-

Required

-

Auxiliary LC record

-

AUX10

LC

-

Required

-

Auxiliary LC record

-

AUX11

LC

-

Required

-

Auxiliary LC record

-

AUX12

LC

-

Required

-

Auxiliary LC record

-

AUX13 AUX14

LC LC

-

Required Required

-

Auxiliary LC record Auxiliary LC record

-

AUX15

LC

-

Required

-

Auxiliary LC record

-

AUX16

LC

-

Required

-

Auxiliary LC record

-

AUX17

LC

-

Required

-

Auxiliary LC record

-

AUX18

LC

-

Required

-

Auxiliary LC record

-

AUX19

LC

-

Required

-

Auxiliary LC record

-

AUX20

LC

-

Required

-

Auxiliary LC record

-

AUX21

LC

-

Required

-

Auxiliary LC record

-

NIN

X1 – Byte

Data Init.

Required

0

Number of inputs

-

NNHL1

X2 – Byte

Data Init.

Required

0

Number of neurons in first hidden layer

-

NNHL2

X3 – Byte

Data Init.

Required

0

Number of neurons in second hidden layer

-

NOUT

X4 – Byte

Data Init.

Required

0

Number of outputs

-

209

10.7 NNMLP main algorithm definitions

NA ME ISIMP

A L G. R ECORD F IELD X5 – Byte Bit 0

TYPE

R EQUIRED / O PTIONAL

Data Init.

Required

D EFAULT VA L UE 0

D ESCRIPTION Is neural network imported

M I N. P OINT REC. -

0 – no 1 – yes ISVLD

X5 – Byte Bit 1

Data Init.

Required

0

Is neural network valid

-

0 – no 1 – yes QUAL

TRKL1

X6 – Byte Bit 0

Data Init.

X7 – Byte Bit 0

Tuning Constant

Required

0

Quality setting mode

-

0 – worst of all inputs 1 – always GOOD Required

0

Track rate limit for OUT1

-

0 – not limited 1 – limited to change rate limit TRKL2

X7 – Byte Bit 1

Tuning Constant

Optional

0

Track rate limit for OUT2

-

0 – not limited 1 – limited to change rate limit TRKL3

X7 – Byte Bit 2

Tuning Constant

Optional

0

Track rate limit for OUT3

-

0 – not limited 1 – limited rate limit to change ISTP1

ISTP2

ISTP3

ISBT1

ISBT2

ISBT3

210

Y0 – Byte Bit 0

Tuning Constant

Required

Y0 – Byte Bit 1

Tuning Constant

Optional

Y0 – Byte Bit 2

Tuning Constant

Optional

Y1 – Byte Bit 0

Tuning Constant

Required

Y1 – Byte Bit 1

Tuning Constant

Optional

Y1 – Byte Bit 2

Tuning Constant

Optional

0

Is TPSC1 limit active

-

0 – not active 1 – active 0

Is TPSC2 limit active

-

0 – not active 1 – active 0

Is TPSC3 limit active

-

0 – not active 1 – active 0

Is BTSC1 limit active

-

0 – not active 1 – active 0

Is BTSC2 limit active

-

0 – not active 1 – active 0

Is BTSC3 limit active

-

0 – not active 1 – active

APC_002

10.7 NNMLP main algorithm definitions

A L G. R ECORD F IELD

TYPE

Y2 – Byte Bit 0

Tuning Constant

Required

Y2 – Byte Bit 1

Tuning Constant

Optional

Y2 – Byte

Tuning

Optional

Bit 2

Constant

STTP

Y3 - Byte

Data Init.

Required

0

Status of high limits for OUT 1-3

-

STBT

Y4 - Byte

Data Init.

Required

0

Status of low limits for OUT 1-3

-

STCR

Y5 – Byte

Data Init.

Required

0

Status of change rate limits for OUT 1-3

-

DEL01

G0 – Integer

Tuning Constant

Required

0

Delay of input 01

-

DEL02

G1 – Integer

Tuning Constant

Required

0

Delay of input 02

-

DEL03

G2 – Integer

Tuning Constant

Required

0

Delay of input 03

-

DEL04

G3 – Integer

Tuning Constant

Required

0

Delay of input 04

-

DEL05

G4 – Integer

Tuning Constant

Required

0

Delay of input 05

-

DEL06

G5 – Integer

Tuning Constant

Required

0

Delay of input 06

-

DEL07

G6 – Integer

Tuning Constant

Required

0

Delay of input 07

-

DEL08

G7 – Integer

Tuning Constant

Required

0

Delay of input 08

-

DEL09

G8 – Integer

Tuning Constant

Required

0

Delay of input 09

-

DEL10

G9 – Integer

Tuning Constant

Required

0

Delay of input 10

-

DEL11

B0 – Integer

Tuning Constant

Required

0

Delay of input 11

-

DEL12

B1 – Integer

Tuning Constant

Required

0

Delay of input 12

-

DEL13

B2 – Integer

Tuning Constant

Required

0

Delay of input 13

-

DEL14

YU – Integer

Tuning Constant

Required

0

Delay of input 14

-

NA ME ISCR1

ISCR2

ISCR3

APC_002

R EQUIRED / O PTIONAL

D EFAULT VA L UE 0

D ESCRIPTION Is CRSC1 limit active

M I N. P OINT REC. -

0 – not active 1 – active 0

Is CRSC2 limit active

-

0 – not active 1 – active 0

Is CRSC3 limit active

-

0 – not active 1 – active

211

10.7 NNMLP main algorithm definitions

A L G. R ECORD F IELD

TYPE

DEL15

B4 – Integer

Tuning Constant

Required

0

Delay of input 15

-

DEL16

B5 – Integer

Tuning Constant

Required

0

Delay of input 16

-

DEL17

B5 – Integer

Tuning Constant

Required

0

Delay of input 17

-

DEL18

B7 – Integer

Tuning Constant

Required

0

Delay of input 18

-

DEL19

B8 – Integer

Tuning Constant

Required

0

Delay of input 19

-

DEL20

B9 – Integer

Tuning Constant

Required

0

Delay of input 20

-

DEL21

C0 – Integer

Tuning Constant

Required

0

Delay of input 21

-

DEL22

C1 – Integer

Tuning Constant

Required

0

Delay of input 22

-

DEL23

C2 – Integer

Tuning Constant

Required

0

Delay of input 23

-

DEL24

C3 – Integer

Tuning Constant

Required

0

Delay of input 24

-

DEL25

C4 – Integer

Tuning Constant

Required

0

Delay of input 25

-

TP1S

C5 – Integer

Data Init.

Required

0

SID of TPSC1

-

BT1S

C6 – Integer

Data Init.

Required

0

SID of BTSC1

-

CR1S

C7 – Integer

Data Init.

Required

0

SID of CRSC1

-

TP2S

C8 – Integer

Data Init.

Required

0

SID of TPSC2

-

BT2S

YT – Integer

Data Init.

Required

0

SID of BTSC2

-

CR2S

D0 – Integer

Data Init.

Required

0

SID of CRSC2

-

TP3S

YQ – Integer

Data Init.

Required

0

SID of TPSC3

-

BT3S

D2 – Integer

Data Init.

Required

0

SID of BTSC3

-

CR3S

YP – Integer

Data Init.

Required

0

SID of CRSC3

-

IN1

-

Variable

Required

-

Input 1 (analog)

LA

IN2

-

Variable

Optional

-

Input 2 (analog)

LA

IN3

-

Variable

Optional

-

Input 3 (analog)

LA

NA ME

212

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

M I N. P OINT REC.

APC_002

10.7 NNMLP main algorithm definitions

APC_002

NA ME

A L G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

IN4

-

Variable

Optional

-

Input 4 (analog)

LA

IN5

-

Variable

Optional

-

Input 5 (analog)

LA

IN6

-

Variable

Optional

-

Input 6 (analog)

LA

IN7

-

Variable

Optional

-

Input 7 (analog)

LA

IN8

-

Variable

Optional

-

Input 8 (analog)

LA

IN9

-

Variable

Optional

-

Input 9 (analog)

LA

IN10

-

Variable

Optional

-

Input 10 (analog)

LA

IN11

-

Variable

Optional

-

Input 11 (analog)

LA

IN12

-

Variable

Optional

-

Input 12 (analog)

LA

IN13

-

Variable

Optional

-

Input 13 (analog)

LA

IN14

-

Variable

Optional

-

Input 14 (analog)

LA

IN15

-

Variable

Optional

-

Input 15 (analog)

LA

IN16

-

Variable

Optional

-

Input 16 (analog)

LA

IN17

-

Variable

Optional

-

Input 17 (analog)

LA

IN18

-

Variable

Optional

-

Input 18 (analog)

LA

IN19

-

Variable

Optional

-

Input 19 (analog)

LA

IN20

-

Variable

Optional

-

Input 20 (analog)

LA

IN21

-

Variable

Optional

-

Input 21 (analog)

LA

IN22

-

Variable

Optional

-

Input 22 (analog)

LA

IN23

-

Variable

Optional

-

Input 23 (analog)

LA

IN24

-

Variable

Optional

-

Input 24 (analog)

LA

IN25

-

Variable

Optional

-

Input 25 (analog)

LA

OUT1

-

Variable

Required

-

Output 1 (analog)

LA

OUT2

-

Variable

Optional

-

Output 2 (analog)

LA

OUT3

-

Variable

Optional

-

Output 3 (analog)

LA

TRIN1

-

Variable

Optional

-

Track input 1

LA

TRIN2

-

Variable

Optional

-

Track input 2

LA

TRIN3

-

Variable

Optional

-

Track input 3

LA

TPSC1

R1 – Real

Selectable

Required

100.0

High limit for OUT1 (analog)

LA

BTSC1

R2 – Real

Selectable

Required

0.0

Low limit for OUT1 (analog)

LA

CRSC1

R3 – Real

Selectable

Required

1.0

Rate of Change limit for OUT1 (analog)

LA

TPSC2

R4 – Real

Selectable

Optional

100.0

High limit for OUT2 (analog)

LA

D EFAULT VA L UE

D ESCRIPTION

M I N. P OINT REC.

213

10.7 NNMLP main algorithm definitions

NA ME

A L G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

BTSC2

R5 – Real

Selectable

Optional

0.0

Low limit for OUT2 (analog)

LA

CRSC2

R6 – Real

Selectable

Optional

1.0

Rate of Change limit for OUT2 (analog)

LA

TPSC3

R7 – Real

Selectable

Optional

100.0

High limit for OUT3 (analog)

LA

BTSC3

R8 – Real

Selectable

Optional

0.0

Low limit for OUT3 (analog)

LA

CRSC3

R9 – Real

Selectable

Optional

1.0

Rate of Change limit for OUT3 (analog)

LA

STATE

-

Variable

Optional

-

Buffer State

LD

STAT

-

Variable

Optional

-

Algorithm status

LP

D EFAULT VA L UE

M I N. P OINT REC.

D ESCRIPTION

Auxiliary LC records from 1 to 21 are similar. The only difference is that consequent LC records contain consequent weights of the neural network. In auxiliary LC record 21 only the first 43 integer fields are used.

10. 7.1 NNMLP auxil iary defi nit ion s Note: Algorithm record type = LC NNMLP auxiliary definitions 1 – 21 L C AL G.

214

M I N.

NA ME

ECORD R F IELD

TYPE

EQUIRED R O PTIONAL /

EFAULT D V A L UE

OINT P R ECORD

DIAG

LU

Data Init.

Optional

0

Tuning Diagram Number

-

W01

G0 – Real

Data Init.

Required

0.0

NN weight 01

-

W02

G1 – Real

Data Init.

Required

0.0

NN weight 02

-

W03

G2 – Real

Data Init.

Required

0.0

NN weight 03

-

W04

G3 – Real

Data Init.

Required

0.0

NN weight 04

-

W05

G4 – Real

Data Init.

Required

0.0

NN weight 05

-

W06

G5 – Real

Data Init.

Required

0.0

NN weight 06

-

W07

G6 – Real

Data Init.

Required

0.0

NN weight 07

-

W08

G7 – Real

Data Init.

Required

0.0

NN weight 08

-

W09

G8 – Real

Data Init.

Required

0.0

NN weight 09

-

W10

G9 – Real

Data Init.

Required

0.0

NN weight 10

-

W11

B0 – Real

Data Init.

Required

0.0

NN weight 11

-

W12

B1 – Real

Data Init.

Required

0.0

NN weight 12

-

W13

B2 – Real

Data Init.

Required

0.0

NN weight 13

-

D ESCRIPTION

APC_002

10.7 NNMLP main algorithm definitions

APC_002

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

W14

YU – Real

Data Init.

W15

B4 – Real

W16

M I N. P OINT R ECORD

D EFAULT V A L UE

D ESCRIPTION

Required

0.0

NN weight 14

-

Data Init.

Required

0.0

NN weight 15

-

B5 – Real

Data Init.

Required

0.0

NN weight 16

-

W17

B5 – Real

Data Init.

Required

0.0

NN weight 17

-

W18

B7 – Real

Data Init.

Required

0.0

NN weight 18

-

W19

B8 – Real

Data Init.

Required

0.0

NN weight 19

-

W20

B9 – Real

Data Init.

Required

0.0

NN weight 20

-

W21

C0 – Real

Data Init.

Required

0.0

NN weight 21

-

W22

C1 – Real

Data Init.

Required

0.0

NN weight 22

-

W23

C2 – Real

Data Init.

Required

0.0

NN weight 23

-

W24

C3 – Real

Data Init.

Required

0.0

NN weight 24

-

W25

C4 – Real

Data Init.

Required

0.0

NN weight 25

-

W26

C5 – Real

Data Init.

Required

0.0

NN weight 26

-

W27

C6 – Real

Data Init.

Required

0.0

NN weight 27

-

W28

C7 – Real

Data Init.

Required

0.0

NN weight 28

-

W29

C8 – Real

Data Init.

Required

0.0

NN weight 29

-

W30

YT – Real

Data Init.

Required

0.0

NN weight 30

-

W31

D0 – Real

Data Init.

Required

0.0

NN weight 31

-

W32

YQ – Real

Data Init.

Required

0.0

NN weight 32

-

W33

D2 – Real

Data Init.

Required

0.0

NN weight 33

-

W34

YP – Real

Data Init.

Required

0.0

NN weight 34

-

W35

D4 – Real

Data Init.

Required

0.0

NN weight 35

-

W36

D5 – Real

Data Init.

Required

0.0

NN weight 36

-

W37

D6 – Real

Data Init.

Required

0.0

NN weight 37

-

W38

YN – Real

Data Init.

Required

0.0

NN weight 38

-

W39

D8 – Real

Data Init.

Required

0.0

NN weight 39

-

W40

D9 – Real

Data Init.

Required

0.0

NN weight 40

-

W41

YM –Real

Data Init.

Required

0.0

NN weight 41

-

W42

YL – Real

Data Init.

Required

0.0

NN weight 42

-

W43

E2 – Real

Data Init.

Required

0.0

NN weight 43

-

W44

E3 – Real

Data Init.

Required

0.0

NN weight 44

-

W45

E4 – Real

Data Init.

Required

0.0

NN weight 45

-

W46 W47

YC – Real Y9 – Real

Data Init. Data Init.

Required Required

0.0 0.0

NN weight 46 NN weight 47

-

W48

E7 – Real

Data Init.

Required

0.0

NN weight 48

-

215

10.7 NNMLP main algorithm definitions

216

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

W49

E8 – Real

Data Init.

Required

0.0

NN weight 49

-

W50

Y8 – Real

Data Init.

Required

0.0

NN weight 50

-

W51

Y7 – Real

Data Init.

Required

0.0

NN weight 51

-

W52

Y6 – Real

Data Init.

Required

0.0

NN weight 52

-

W53

XY – Real

Data Init.

Required

0.0

NN weight 53

-

W54

XW –Real

Data Init.

Required

0.0

NN weight 54

-

W55

F4 – Real

Data Init.

Required

0.0

NN weight 55

-

W56

F5 – Real

Data Init.

Required

0.0

NN weight 56

-

W57

F6 – Real

Data Init.

Required

0.0

NN weight 57

-

W58

XV – Real

Data Init.

Required

0.0

NN weight 58

-

W59

XU – Real

Data Init.

Required

0.0

NN weight 59

-

W60

XR – Real

Data Init.

Required

0.0

NN weight 60

-

W61

R1 – Real

Data Init.

Required

0.0

NN weight 61

-

W62

R2 – Real

Data Init.

Required

0.0

NN weight 62

-

W63

R3 – Real

Data Init.

Required

0.0

NN weight 63

-

W64

R4 – Real

Data Init.

Required

0.0

NN weight 64

-

W65

R5 – Real

Data Init.

Required

0.0

NN weight 65

-

W66

R6 – Real

Data Init.

Required

0.0

NN weight 66

-

W67

R7 – Real

Data Init.

Required

0.0

NN weight 67

-

W68

R8 – Real

Data Init.

Required

0.0

NN weight 68

-

W69

R9 – Real

Data Init.

Required

0.0

NN weight 69

-

W70

S1 – Real

Data Init.

Required

0.0

NN weight 70

-

W71

S2 – Real

Data Init.

Required

0.0

NN weight 71

-

W72

S3 – Real

Data Init.

Required

0.0

NN weight 72

-

W73

S4 – Real

Data Init.

Required

0.0

NN weight 73

-

W74

S5 – Real

Data Init.

Required

0.0

NN weight 74

-

W75

S6 – Real

Data Init.

Required

0.0

NN weight 75

-

W76

S7 – Real

Data Init.

Required

0.0

NN weight 76

-

W77

S8 – Real

Data Init.

Required

0.0

NN weight 77

-

W78

S9 – Real

Data Init.

Required

0.0

NN weight 78

-

W79

T1 – Real

Data Init.

Required

0.0

NN weight 79

-

W80

T2 – Real

Data Init.

Required

0.0

NN weight 80

-

W81 W82

T3 – Real T4 – Real

Data Init. Data Init.

Required Required

0.0 0.0

NN weight 81 NN weight 82

-

W83

T5 – Real

Data Init.

Required

0.0

NN weight 83

-

D EFAULT V A L UE

D ESCRIPTION

M I N. P OINT R ECORD

APC_002

10.8 Accessing the tuning window for the NNMLP algorithm in signal diagrams

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

W84

T6 – Real

Data Init.

Required

0.0

NN weight 84

-

W85

T7 – Real

Data Init.

Required

0.0

NN weight 85

-

W86

T8 – Real

Data Init.

Required

0.0

NN weight 86

-

W87

T9 – Real

Data Init.

Required

0.0

NN weight 87

-

W88

U1 – Real

Data Init.

Required

0.0

NN weight 88

-

W89

U2 – Real

Data Init.

Required

0.0

NN weight 89

-

W90

U3 – Real

Data Init.

Required

0.0

NN weight 90

-

10 .8 Accessi ng the tuni ng windo w for the diagrams

D EFAULT V A L UE

D ESCRIPTION

M I N. P OINT R ECORD

NN MLP algorit hm in signal

To access advanced editing in signal diagrams, see To access the Advanced Tuning window for APC Toolkit algorithms in signal diagrams (see page 28).

Figure 68: NNMLP algorithm - Signal Diagram Tuning window

APC_002

217

S

ECTION

11

Using t he Prog rammable Block (PBLO CK) algori thm

IN THIS SECTION What is the PBLOCK algorithm?..................................................................................... 219 Who can use PBLOCK algorithm?............................................................................ 219 How does thethe PBLOCK programming language differ from standard C? ......................220 PBLOCK supported functions ......................................................................................... 221 PBLOCK program source code structure ....................................................................... 224 PBLOCK array handling.................................................................................................. 225 To define input/output pins for the symbol ...................................................................... 230 Writing to output points ................................................................................................... 231 PBLOCK wait() or sleep() functionality ........................................................................... 233 To create a PBLOCK algorithm....................................................................................... 234

11 .1 What is the P BLOCK algorit hm? Note: The PBLOCK algorithm can only be purchased as part of an engineered solution. The Programmable Block (PBLOCK) algorithm provides a means to write an algorithm in modified C programming language and load it into the Controller.

11 .2 Who ca n use the

PBLOC K a lgor ithm ?

The PBLOCK algorithm can be used by programmers proficient in C programming language. The programming language for PBLOCK is based upon Standard ANSI C. Programmers must also understand the structure of an Ovation Algorithm, including memory spaces, input/output handling, input/output point record status handling, and Ovation record structures.

APC_002

219

11.3 How does the PBLOCK programming language differ from standard C?

11 .3 How does the P BLOCK prog rammin g language standard C?

diff er from

The programming language for the PBLOCK algorithm is actually standard ANSI C minus some C language functionality. Thus, the language has been nicknamed “C-“. “C-“ supports subroutines, functions, data structures, macros, looping (for/while), if-then-else statements, local and global variables, standard C data types, constants, bit operations, switch statements, break, continue, etc. In addition, two forms of source code comments are supported: /*

A comment between the stars */

and // a double slash.

The functionalities were removed from standard ANSI C to ensure that the program operates within its own program space. These restrictions prevent things like programs directly accessing memory in the Controller and corrupting it, dynamic allocation of memory, and any kind of I/O operations. These restrictions are: 

Variables cannot be declared as pointers by reference (pointers).



Ar ray s, as used in “C” are not supported. No brackets [ ] are allowed. PBLOCK does provide an array implementation, which is discussed in PBLOCK array handling (see page 225).



No STDLIB fu nctions are supported . This includes calls such as malloc(), printf(), fopen(), strcpy{}, sprintf(), strncat(), memcpy(), etc.

; however, values may be passed to subroutines

Other “C-“ program limitations: 

The maximum number of constants that can be defined is 4095.



Local variable memory space cannot exceed 8192 bytes.



Global variable memory space cannot exceed 8192 bytes.



Local memory (extern) variable memory space cannot exceed 384 bytes.

11. 3.1 Extern variabl es Variables declared as "externs" are local memory variables whose values are "persistent," meaning their values are retained and updated across sheet execution cycles. There can be 384 total bytes of extern variables declared within a single PBLOCK algorithm. Note: Extern variables are supported in the Ovation software release 3.0.0 and later. If variables are declared as "externs" in an Ovation version prior to 3.0.0, a compiler error occurs.

220

APC_002

11.4 PBLOCK supported functions

11 .4 PBLOC K supp orted func tio ns The following are prototype declarations for supported standard functions. These functions are the standard trigonometric functions described in the Kernighan/Ritchie "C" manual. doubl e cos ( doubl e ) ; doubl e si n ( doubl e ); doubl e tan ( doubl e ); doubl e acos ( doubl e ) ; doubl e asi n ( doubl e ) ; doubl e at an ( doubl e ); doubl e l og ( doubl e ) ;

/ * nat ural l og */

doubl e l og10 ( doubl e ) ; doubl e sqr t ( doubl e ); doubl e f abs ( doubl e ); doubl e exp ( doubl e ) ; doubl e pow ( doubl e f , doubl e xpnnt ) ;

/*

f **xp nnt

doubl e f mod ( doubl e x, doubl e y ) ;

/*

= r emai nder of x/ y

*/ */

doubl e fl oor ( doubl e ); doubl e cei l

( doubl e ) ;

Detecting the first execution pass of an algorithm is a standard requirement of Ovation algorithms. The firstPassFlag is used in the Ovation algorithm to detect when the Controller was powered on or when the Controller failed over. Typically, the algorithms perform any initialization on first pass. i nt f i rst Pass Fl ag ( voi d ) ;

The return value is zero if the algorithm is not in the first pass; otherwise the algorithm is in the first pass. In APC 3.2 and later, the PBlock supports special macros that help the programmer distinguish between first pass conditions. i nt f i rst Pass = get Fi rst PassF l ags() ; i f ( PB_FI RST_PASS_PWR_UP( f i r st Pass) ) { / / … Cont r ol l er power - up }

APC_002

221

11.4 PBLOCK supported functions el se i f ( PB_FI RST_PASS_FAI LOVR( f i r st Pass) ) { / / …Contr ol l er f ai l over f ro m part ner } el se i f ( PB_FI RST_PASS_PWRor FAI L( f i r st Pass) ) { / / … Cont r ol l er power - up or

f ai l over

} el se i f ( PB_SHEET_UPDATED( f i r st Pass) ) { / / … The sheet i s bei ng l oaded or r el oaded }

These macros help the programmer plan for startup and failover situations. Examples of can be found in Example PBLOCK program with optional parameters and first pass macros (see page 244). Every PBLOCK algorithm created automatically has an algorithm record associated with it. These two routines allow the programmer to read and write fields (lcread and lcwrite) of the LC record. The three defines that are required to call the routine are as follows: #def i ne PB_BYTE_TYPE SHC_ BYTE_RF #def i ne PB_LONG_ TYPE SHC_LONG_ RF #def i ne PB_FLOAT_TYPE SHC_ FLOAT_RF i nt i nt

l cWr i t e ( ch ar * p ChSt r i ng, i nt f i el dType, voi d * pLCf i el dDat a ) ; l cRead ( ch ar * p ChSt r i ng, i nt f i el dType, voi d * pLCf i el dDat a ) ;

Here is an example of reading the XR field of the algorithm: i nt xrF i el dVal ; l cRead ( " XR”, PB_LONG_TYPE, &xrFi el dVal ) ;

These routines allow the PBLOCK algorithm to read and write Ovation points associate with the algorithm via the Control Builder symbol’s pin. The user program must declare a point record structure. The structure is provided in the standard header file, std_pb_hdr.h. voi d ReadI nput ( i nt pi nNum, Poi nt Dynami cVal * pPt Recor d) ; voi d ReadOut put ( i nt pi nNum, Poi nt Dynami cVal * pPt Record) ; voi d Wr i t eOutput ( i nt pi nNum, Poi nt Dynami cVal * pPt Recor d) ;

222

APC_002

11.4 PBLOCK supported functions

The following two functions are used together to provide "wait()" or "sleep()" functionality in a PBLOCK algorithm. voi d get St ar t Ti me ( unsi gned i nt * st ar t Ti me ); voi d getEl apsedTi me ( unsi gned i nt st art Ti me, unsi gned i nt * el apsedTi me ) ;

It is important that the unsigned integer "startTime" used in getStartTime() is declared as an extern variable so its value can be preserved across sheet executions. The function elapsedTime is returned in milliseconds and should be a local variable Note: These functions are supported in Ovation 3.0.3 and later. If you declare these functions in the PBLOCK source code in an Ovation version prior to 3.0.3, a compiler error occurs.

APC_002

223

11.5 PBLOCK program source code structure

11 .5 PBLOC K program source code

stru ctur e

“C-“ source code files use “.c” as their extension. 

The header file “std_pb_hdr.h” must always be included in a source file.



It is highly recommended that you implement the firstPassFlag() function in your algorithm (discussed in PBLOCK supported functions (see page 221).)



The last line in a source file should be a blank line (newline character) otherwise a compiler warning is generated.



These (two) defines must always appear in a source file. They define the number of input and output points associated with the algorithm: #define NUM_INPUT_PINS … #define NUM_OUTPUT_PINS ….

The following sample program demonstrates basic program structure. ############################################################ #def i ne NUM_ I NPUT_PI NS 0 #def i ne NUM_ OUTPUT_PI NS 0 #i ncl ude " st d_pb_hdr . h" / / Gl obal ( Heap) var i abl es decl ar ed here mai n ( ) { / * Set up Pi n def i ni t i ons f or t he t empl at e */ / * ( Ri ght - Cl i ck and i nsert Templ ate C omment Li nes) */

/ * Speci al p roce ssi ng on t he f i rst e xecut i on of / * t he al gor i t hm upon power up.

*/ */

i f ( f i rstP ass Fl ag() ) { / / I ni ti al i ze l ocal (ex te rn ) vari abl es } / / Al gori t hm Code r et ur n 0; } ############################################################

224

APC_002

11.6 PBLOCK array handling

11. 6 PBLOCK array handl ing The PBLOCK algorithm implements arrays via a special set of API functions, which provide tight control for accessing array elements. This eliminates the “array out of bounds” problem, which could potentially corrupt data within the program as well as in Controller memory. CAUTION! Each array data type uses a predefined block of memory. These variables will use local (stack) and/or global (heap) space quickly. Use the smallest array data type. Array types support three data types only: Integer, Float, and Doubles. (Structures cannot be used in arrays.) Each array type contains a pre-determined fixed maximum number of elements, which vary from small to medium to a large number of items. The intent is to try and minimize the amount of memory used. You do not have to use every element in each array type. Use only what you need. The array data types are: 

SmallIArray – Up to 10 integer elements. Each variable of this type requires 40 bytes.



SmallFArray – Up to 10 floating point elements. Each variable of this type requires 40 bytes.



SmallDArray – Up to 10 double precision elements. Each variable of this type requires 80 bytes.



MedIArray – Up to 100 integer elements. Each variable of this type requires 400 bytes.



MedFArray – Up to 100 floating point elements. Each variable of this type requires 400 bytes.



MedDArray – Up to 100 double precision elements. Each variable of this type requires 800 bytes.



LargeIArray – Up to 1000 integer elements. Each variable of this type requires 4000 bytes.



LargeFArray – Up to 1000 floating point elements. Each variable of this type requires 4000 bytes.



LargeDArray – Up to 500 double precision elements. Each variable of this type requires 4000 bytes.

The typical procedure when using these array types consists of: 

Declaring the array type variable.



Setting the number of elements you intend to use ( up to the maximum).



Retrieving the elements defined in the previous Set call ( for looping).



Get(Retrieve) / Set(Update) Individual Array Elements.

Here are the prototypes for these API: Header File: “PBSmallIArray.h”. int GetSmallIArraySize(SmallIArray * sai.) int GetSmallIArrayVal( int idx , SmallIArray * sai.) void SetSmallIArrayVal( int idx , int newVal, SmallIArray * sai.) void SetSmallIArraySize(int size, int init_val, int bInit, SmallIArray * sia.) Note: If bInit == TRUE, then the array is initialized to init_val. This also increases the number of runtime instructions.

APC_002

225

11.6 PBLOCK array handling

Header File: “PBSmallFArray.h” int GetSmallFArraySize(SmallFArray * sai.) int GetSmallFArrayVal( int idx , SmallFArray * sai.) void SetSmallFArrayVal( int idx , int newVal, SmallFArray * sai.) void SetSmallFArraySize(int size, int init_val, int bInit, SmallFArray * sia.) Note: If bInit == TRUE, then the array is initialized to init_val. This also increases the number of runtime instructions. Header File: “PBSmallDArray.h.” int GetSmallDArraySize(SmallDArray * sai.) int GetSmallDArrayVal( int idx , SmallDArray * sai.) void SetSmallDArrayVal( int idx , int newVal, SmallDArray * sai.) void SetSmallDArraySize(int size, int init_val, int bInit, SmallDArray * sia.) Note: If bInit == TRUE, then the array is initialized to init_val. This also increases the number of runtime instructions. If you substitute “Med” and “Large” for Small in the above prototypes, the same prototypes apply for the following header files: Header File: Header File: Header File: Header File: Header File: Header File:

226

“PBMedIArray.h.” “PBMedFArray.h.” “PBMedDArray.h.” “PBLargeIArray.h.” “PBLargeFArray.h.” “PBLargeDArray.h.”

APC_002

11.6 PBLOCK array handling

The following is a sample demonstrating the array API. ####################################################### #i #i #i #i #i #i #i #i #i

ncl ncl ncl ncl ncl ncl ncl ncl ncl

ude ude ude ude ude ude ude ude ude

"PBSmal l I Ar r ay. h" " PBMedI Ar r ay. h" " PBLar geI Ar r ay. h" " PBSmal l FAr r ay. h" " PBMedFAr r ay. h" "PBLarge FAr r ay. h" " PBSmal l DAr r ay. h" " PBMedDAr r ay. h" " PBLar geDAr r ay. h"

#def i ne NUM_ I NPUT_PI NS 0 #def i ne NUM_ OUTPUT_PI NS 0

#i ncl ude " st d_pb_hdr . h"

mai n( ) { i nt i ndex; i nt i sum; f l oat f sum; doubl e dsum; Smal l I Arr ay si a; Smal l FAr r ay sf a; Smal l DAr r ay sda; MedI Ar r ay mi a; MedFAr r ay mf a; MedDArr ay mda; Larg eI Arr ay l i a; Lar geFAr r ay l f a; Large DAr r ay l da; / / Def i ne how many el ement s we ar e usi ng f or each Set Smal l I Ar r aySi ze( 10, 99, TRUE, &si a) ; / / Use 10, i ni t i al i ze el ement s t o 99 Set Smal l FAr r aySi ze( 5, 1. 0, TRUE, &sf a) ; / / Use 5, i ni t i al i ze el ement s t o 1. 0 Set Smal l DAr r aySi ze( 2, 0. 0, FALSE, &sda) ; / / Use 2, do not i ni t i al i ze SetMedI Ar r aySi ze(10 0, 99, TRUE, &mi a); / / Use 100, i ni t i al i ze el ement s t o 99 SetMedFAr r aySi ze(50 , 1. 0, TRUE, &mf a); / / Use 50, i ni t i al i ze el ement s t o 1. 0 SetMedDAr r aySi ze(20 , 0. 0, FALSE, &mda); / / Use 20, do not i ni t i al i ze Set Lar geI Ar r aySi ze( 1000, 99, TRUE, &l i a) ; / / Use 1000, i ni t i al i ze el ement s t o 99 Set Lar geFAr r aySi ze( 500, 1. 0, TRUE, &l f a) ; / / Use 500, i ni t i al i ze el ement s t o 1. 0 Set Lar geDAr r aySi ze( 200, 0. 0, FALSE, &l da) ; / / Use 200, do not i ni t i al i ze

APC_002

227

11.6 PBLOCK array handling / / Loop t hr u and sum al l t he val ues, Set el ement [ 0] t o t he sum i sum = 0; f or ( i ndex=0; i ndex< Get Smal l I Ar r aySi ze( &si a) ; i ndex++) i sum += GetSmal l I Ar r ayVal ( i ndex, &si a); Set Smal l I Ar r ayVal ( 0, i sum, &si a) ;

/ / St or e i n el ement 0

f sum = 0. 0; f or ( i ndex=0; i ndex< Get Smal l FAr r aySi ze( &sf a) ; i ndex++) f sum += GetSmal l FAr r ayVal ( i ndex, &sf a); SetSmal l FAr r ayVal ( 0, f sum, &sf a);

/ / St ore i n el ement 0

dsum = 0. 0; f or ( i ndex=0; i ndex< Get Smal l DAr r aySi ze( &sda) ; i ndex++) dsum += Get Smal l DAr r ayVal ( i ndex, &sda) ; Set Smal l DAr r ayVal ( 0, dsum, &sda) ;

/ / St ore i n el ement 0

i sum = 0; f or ( i ndex=0; i ndex< Get MedI Ar r aySi ze( &mi a) ; i ndex++) i sum += Get MedI Ar r ayVal ( i ndex, &mi a) ; SetMedI Ar r ayVal ( 0, i sum, &mi a) ;

/ / St ore i n el ement 0

f sum = 0. 0; f or ( i ndex=0; i ndex< Get MedFAr r aySi ze( &mf a) ; i ndex++) f sum += Get MedFAr r ayVal ( i ndex, &mf a) ; Set MedFAr r ayVal ( 0, f sum, &mf a) ;

/ / St ore i n el ement 0

dsum = 0. 0; f or ( i ndex=0; i ndex< Get MedDAr r aySi ze( &mda) ; i ndex++) dsum += Get MedDAr r ayVal ( i ndex, &mda) ;

228

APC_002

11.6 PBLOCK array handling Set MedDAr r ayVal ( 0, dsum, &mda) ;

/ / St or e i n el ement 0

i sum = 0; f or ( i ndex=0; i ndex< GetLar geI Ar r aySi ze( &l i a); i ndex++) i sum += Get Lar geI Ar r ayVal ( i ndex, &l i a) ; Set Lar geI Ar r ayVal ( 0, i sum, &l i a) ;

/ / St or e i n el ement 0

f sum = 0. 0; f or ( i ndex=0; i ndex< Get Large FAr r aySi ze( &l f a) ; i ndex++) f sum += GetLar geFAr r ayVal ( i ndex, &l f a); Set Lar geFAr r ayVal ( 0, f sum, &l f a) ;

/ / St or e i n el ement 0

dsum = 0. 0; f or ( i ndex=0; i ndex< Get Lar geDAr r aySi ze( &l da) ; i ndex++) dsum += Get Lar geDAr r ayVal ( i ndex, &l da) ; Set Large DAr r ayVal ( 0, dsum, &l da) ;

/ / St ore i n el ement 0

r et ur n 0; } #######################################################

APC_002

229

11.7 To define input/output pins for the symbol

11 .7 To define inpu t/outpu t pins for the

symb ol

Defining input/output pins to build a symbol for your algorithm is implemented within the PBLOCK source file. Each pin definition is encapsulated within a “template comment line”; similar to the way Java self-documents using JavaDoc. There should be one template comment line for each input/output pin. For each input/output pin that does not have a template comment line, a default pin definition is generated which uses a random pin name. To save time and ensure proper formatting, there are convenience functions within the PBLOCK editor to insert a template comment line, which you can then customize. Note: Currently there is no limit to the number of inputs/outputs you can define. The limit is determined at algorithm runtime. Template comment lines can appear anywhere in the source code. Here are examples of an input and output comment line: /*

@I NPUT

/*

@OUTPUT

@PI N: 1 @ PI N: 1

@ NAME: HAAC

@RT: LA

@DESC:" "

@REQUI RED: YES

*/

@NAME: HAAD @RT: LA

@ DESC:" "

@REQUI RED: YES

*/

There are five fields that need to be defined: 

@INPUT/ @OUTPUT specifies the type of pin you are defining



@PIN: specifies the pin number



@NAME: pin name which appears on the symbol (four characters maximum)



@RT: one of LA,DA,LD,DD,LP,DP , the supported record types



@DESC: in quotes, maximum 34 characters.



@REQUIRED: [YES or NO] A pin’s connection can be required [YES] or optional [NO]. The default setting is [YES]. In APC Toolkit versions prior to 3.2, all pins for PBLOCK required a connection and did not have this parameter.

The pin numbers should match the pin numbers used in these support functions, which are described in an earlier section: void ReadInput ( int pinNum, PointDynamicVal * pPtRecord); void ReadOutput ( int pinNum, PointDynamicVal * pPtRecord); void WriteOutput ( int pinNum, PointDynamicVal * pPtRecord); Note: WriteInPoint is used only in special circumstances by Emerson personnel to change the startup flags on migrated systems. This function should only be used by advanced users. void WriteInPoint ( int pinNum, PointDynamicVal * pPtRecord);

230

APC_002

11.8 Writing to output points

The following is a list of pin names that are reserved by PBLOCK: 

INUM



ONUM



INST



CNUM



0000 – FFFF ( Alphanumerically Hex, 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)



G000 - GFFF ( Alphanumerically Hex, 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)

In APC 3.2 and later, you have the choice to make some pin connections NOT required (that is, the programmer defines an input/output in such a way that the Control builder user has the choice of connecting pinisornot not). Programmers advantage of this feature must plan for possibility thatthe a pin connected by usingthat thetake PB_ISDUMMYSID macro. Rememeber thatthe the PB_ISDUMMYSID macro will not work if it is called before ReadInput() and ReadOutput() are used. See Example PBLOCK program with optional parameters and first pass macros (see page 244) for an example how to use this macro.

11 .8 Writing to

output points

In Ovation, algorithms are not permitted to update all fields of a point record. Some fields of the record are "owned" by other software, such as I/O scanning. The point record fields that can be modified are described in the following tables. Refer to Ovation Records Types Reference Manual for specific information about each field. Ovation uses a masking value to determine which record fields may be updated by the algorithm. In PBLOCK, the mask settings are inside the algorithm. The following tables show the masks for PBLOCK and their meanings.

An alog r eco rd mas ks (for LA and DA p oi nt rec or ds ) P OINT R ECORD .firstStatus = 0x01803340

D ESCRIPTION Bit 6:

Cut out for alarm checking.

Bit 8 and 9: Quality of the analog point. Bit 12:

Limit checking is off.

Bit 13:

Alarm checking is off.

Bit 23:

Reasonability range checking off.

Bit 24:

Engineering range checking off.

.secondStatus = 0xFFFF0000

"Reason" bits in the 2W field may be modified. These bits indicate conditions that are affecting the point record.

.thirdStatus = 0xFFFF8104

Bit 2:

Tagged-Out

Bit 8:

Algorithm

Bit 15: Commissioned (0 = commissioned, 1 = not commissioned) Bit 16-31: Tracking bits. .value = 1

APC_002

The algorithm may modify the value or AV field of the record.

231

11.8 Writing to output points

Digital record masks (for LD and DD point records) P OINT R ECORD

D ESCRIPTION

.firstStatus = 0x00002341

Bit 0:

Digital value

Bit 6:

Cut out for alarm checking.

Bit 8 and 9: Quality of the analog point. Bit 13: .secondStatus = 0 .thirdStatus = 0xFFFF8104

Alarm checking off.

The 2W field cannot be modified. Bit 2:

Tagged-Out

Bit 8: Algorithm Bit 15: Commissioned (0 = commissioned, 1 = not commissioned) Bit 16-31: Tracking bits.

Packed dig ital record masks (for LP and DP point records) P OINT R ECORD

D ESCRIPTION

.firstStatus = 0x00002040

Bit 6:

Cut out for alarm checking.

Bit 13:

Alarm checking is off.

.secondStatus = 0

The 2W field cannot be modified.

.thirdStatus = 0xFFFF8104

Bit 2:

Tagged-Out

Bit 8:

Algorithm

Bit 15: Commissioned (0 = commissioned, 1 = not commissioned) Bit 16-31: Tracking bits valueBits = 0x0000FFFF

The value bits in the A2 field can be modified.

invalidBits = 0x0000FFFF

The quality bits in the A3 field can be modified.

seconds = _ALL_BITS_

Time of scan – in seconds

nanoseconds = _ALL_BITS_

Time of scan – in nanoseconds

Note: All of the fields above can be changed if they are related to an output pin. However, if the programmer is writing to an input field, then only the commissioned bit in the Third Status Word can be changed by the user.

232

APC_002

11.9 PBLOCK wait() or sleep() functionality

11 .9 PBLOC K wait()

or sleep()

func tio nality

The getStartTime() and getElapsedTime() functions work together to provide a "wait()" or "sleep()" functionality across sheet executions. These functions are supported in Ovation versions 3.0.3 and later. The function getStartTime() is called initially, storing the starting time. Successive calls to getElapsedTime() are made, comparing the amount of elapsed time (in milliseconds) until the desired interval has passed before executing a section of code. Below is a code snippet which demonstrates the use of these functions: // / / The i ni t i al st art t i me MUST BE DECLARED as ext ern / / si nce i t must be per si st ent across a l gor i t hm ( sheet ) ex ecut i ons // ext er n unsi gned i nt st art Ti me;

mai n ( ) { unsi gned i nt el apTi me; // / / Wai t a tot al of 30 seconds upon al gor i t hm st ar t up / / bef or e doi ng any al gor i t hm wor k //

/ * Speci al p roce ssi ng on t he f i rst e xecut i on of / * t he al gor i t hm upon power up.

*/ */

i f ( f i rstP ass Fl ag() ) { / / I ni t i al i ze l ocal memor y ( ext er n) var i abl es

/ / St ore th e i ni t i al St art Ti me getSt art Ti me(&st art Ti me); }

APC_002

233

11.9 PBLOCK wait() or sleep() functionality / / Has 30 seconds passed si nce we st art i ng execut i ng? get El apsedTi me( st art Ti me, &el apTi me) ; i f ( el apTi me >= 30000) / / Remember, t i me i s i n mi l l i sec' s { / / Do Al gor i t hm Wor k! } el se { / / do somet i ng el se or not hi ng at al l ! }

r et ur n 0; }

234

APC_002

11.10 To create a PBLOCK algorithm

11. 10 To c reate a PBLOCK alg 1.

ori thm

Start the PBlock Editor/Compiler by typing pblock from any command prompt. Press . When the user interface is initially invoked, it appears as shown in the following figure. PBLOCK source file rules are summarized in the main window.

2.

APC_002

Select File > New to create a new algorithm, or File > Open to edit a previously created on e.

235

11.10 To create a PBLOCK algorithm

3.

Use the floating menus or the keyboard to create the code. Floating menus are displayed by right-clicking anywhere inside the editor window.

4.

When you have finished creating the code, save the source file.

5.

Select Compile Code to compile the code.

6.

236



After a successful compilation, the Results window turns green and informs you the number of MIPS instructions generated (current maximum number is 65536). Two other files are also created with a successful compile; these files have .map and .pbs extensions. These are debug files that Emerson may request if you are experiencing problems with the algorithm's compilation or execution.



If a compilation is successful, but there were warnings, the Results window turns yellow and displays the warning(s).



If there are errors in the compilation, the Results window turns red and displays the errors. The corresponding areas of the code in the editor window are also highlighted in red. See PBLOCK algorithm runtime error codes (see page 248) for a description of the error(s).

If there were no errors, press Create Template button.

APC_002

11.10 To create a PBLOCK algorithm

7.

Create a Control Builder symbol for the simple program. Add only the INP and OUT parameters as pins.

Note: When adding pins, the pin list also shows the instruction's four-letter pin name. These should not be added to the symbol. 8.

Create a sheet.

9.

Save and load the Controller.

“Expert Mode” is disabled when the user interface is initially invoked. When you are NOT in expert mode, the tooltips for GUI widgets display. Also, more detail is added to the template comment line headers. After you become more familiar with this user interface, you may wish to Enable Expert Mode. Template header with expert mode off: /* name (4 char max), rt (one of LA,DA,LD,DD,LP,DP), desc (in quotes, max 34 chars), req (connection req[yes]/opt[no]) * @INPUT @PIN:0 @REQUIRED:YES */

@NAME:HAAA

@RT:LA

@DESC:""

@RT:LA

@DESC:""

Template header with expert mode on: /* @INPUT @PIN:0 @REQUIRED:YES */

APC_002

@NAME:HAAB

237

11.10 To create a PBLOCK algorithm

11.1 0. 1

To create a cust om algorithm

symb ol

1.

Access the Control Builder (see page 16).

2.

From the main Control Builder window, pull down the File menu and select New. Pull right on the New item to display another menu. Select Al go ri th m Sym bo l. The New Algorithm dialog box appears.

Figure 69 : New Algorithm win dow 3.

Choose an algorithm type from the dialog box. Expand the folder and select the algorithm that will get the new symbol. Select the Ok button.

Note: You can only create a symbol for an existing algorithm. A blank canvas appears ready for you to create the symbol. 4.

Pull down the Draw menu and use the first six items to create the symbol. The first six items are rectangle, polygon, ellipse, curve, line, and text.

5.

Add the desired pins to the symbol: a) Pull down the Draw menu and select Ad d Cont rol Pin. (You can also use the Add Control Pin icon.) The Select Parameter dialog box appears. b) Select the desired pins from the provided list. Note that these pins are specifically applicable to the algorithm you selected in Step 2. c)

Select the location where you want to attach the pin(s) to the symbol.

d) Continue adding items to your symbol (static text, algorithm values, document values, 6.

238

and so forth) When the symbol is complete, pull down the File menu and select Save. A Browse For Folder dialog box appears.

APC_002

11.10 To create a PBLOCK algorithm

7.

In the Browse For Folder dialog box, select either the Network or System folder. By default, control functions are stored in a directory under the Unit directory. However, symbols should be stored in a folder that is above the control functions directory, at a higher level folder such as the Network or System level. In this way, these symbols can be shared by many units.

8.

After you select a folder, typically in the Network directory, select the Ok button on the Browse For Folder dialog box. The system creates the necessary Symbols directory in the Network directory and saves the symbol.

9.

When you access the Add Algorithm dialog box, the new symbol appears as a choice for the appropriate algorithm and can be placed on a control sheet. If the new symbol does not appear in the dialog box, hit the Refresh button on the Add Algorithms dialog box. The new symbol also appears in the Symbol Builder.

10. You can modify the symbol by going to the Symbols directory and finding the .svg file for the symbol. Open the symbol in the Control Builder and edit as desired. Note: If you open a symbol in which the contents were deleted, an invalid file format message appears. You will not be able to add any pins to that symbol. An empty symbol cannot be edited.

APC_002

239

11.10 To create a PBLOCK algorithm

11.1 0. 2

Sample code for a typi cal algorith m

/ * I nput and out put pi n count speci f i cat i on i s r equi r ed. / * Ther e must be at l east 1 i nput pi n. / * For t hi s exampl e t here ar e 8 i nput pi ns and 4 out put pi ns. #def i ne NUM_ I NPUT_PI NS #def i ne NUM_ OUTPUT_PI NS

*/ */ */

8 4

#i ncl ude " st d_pb_hdr . h" #def i ne f l oat 1 33. 33 #def i ne i nt 1 33 const f l oat f l oat 2 = 33. 33; const i nt i nt 2 = 33; / * Thi s i s an exampl e of a ' def i ne' t hat wi l l mask of f t he pr evi ous val ue / * f i el d of a di gi t al poi nt . Thi s can i mprov e rea dabi l i t y. Al so not i ce / * the use of conti nuat i on. i . e. ' \ ' #def i ne mai nBr kr Pr evVal ue

*/ */ */

\

( mai nBr eaker . t ype. di gi t al . f i r st St at us & _1 W_PREV_DI GI TAL_VALUE) i nt cal cTest Val ( Poi nt Dynami cVal *, Poi nt Dynami cVal * ) ; mai n ( ) { f l oat f l oat 3=33. 34; i nt i nt 3=34; i nt a ; f l oat b , c, d;

/ * Decl ar e i nput poi nt s.

*/

Poi nt Dynami cVal st eamP; Poi nt Dynami cVal mai nBr eaker ; / * etc. */

/ * Decl ar e out put poi nt s.

*/

Poi nt Dynami cVal aver ageSt eam; Poi nt Dynami cVal st eamPl us; Poi nt Dynami cVal t estVa l ; Poi nt Dynami cVal t estFl ag;

240

APC_002

11.10 To create a PBLOCK algorithm / * etc. */

/ * Updat e i nput poi nt st r uctures . */ / * Pi n number must not exceed NUM_I NPUT_PI NS. */ /* */

@I NPUT

@PI N: 1

@NAME: STMP

@RT: LA

@DESC: " St eam Pr essur e" @REQUI RED: YES

@RT: LD

@DESC: " Mai n Breaker " @REQUI RED: YES

*/

/ * Get l ast val ue of out put poi nt . */ / * @OUTPUT @PI N: 1 @NAME: AVGS @RT: LA

@DESC:" Average St eam" @REQUI RED: YES

*/

ReadI nput ( 1, &st eamP) ; /*

@I NPUT

@PI N: 2

@NAME: MBRK

ReadI nput ( 2, &mai nBr eaker ) ; / * etc. */

ReadOut put ( 1, &aver ageSt eam) ; /*

@OUTPUT

@PI N: 4

@NAME: TFLG

@RT: LD

@DESC: " Test Fl ag" @REQUI RED: YES

*/

ReadOut put ( 4, &t est Fl ag) ;

/ * Thi s shows how t o do speci al pr ocessi ng on t he f i r st exe cut i on of / * t he al gori t hm upon power up.

*/ */

i f ( f i rstP ass Fl ag() ) { / * etc. */ }

/ * Ar i t hmet i c exampl es. */ a = i nt 1+i nt 2+i nt 3;

/ * a = 100 */

b = f l oat 1+f l oat 2+f l oat 3;

/ * b = 100. 0 */

/ * I n t hi s exampl e Aver ageSt eam l ags st eamP. Noti ce t hat out put qual i t y */ / * i s not mani pul at ed. The pr evi ous qual i t y i s wr i t t en at t he end of */ / * t hi s pr ogram. */ aver ageSt eam. t ype. anal og. val ue = ( aver ageSt eam. t ype. anal og. val ue * 0. 90 ) + ( st eamP. t ype. anal og. val ue * 0. 10 ) ; / * I n t hi s exampl e ' st eamPl us' i s set t o cos( b) as l ong as ' mai nBr eaker ' */ /* /* /* /* /*

APC_002

i s not changi ng st at e. Qual i t y i s not mani pul at ed. I f a st at e change i s det ect ed, ' st eamPl us' i s set t o 1800. 0 and qual i ty i s set to ' Poor' . The pr evi ous st at e of ' mai nBr eaker ' was made more r eadabl e i n a pr evi ous ' def i ne' st at ement .

*/ */ */ */ */

241

11.10 To create a PBLOCK algorithm i f ( ( mai nBr eaker . t ype. di gi t al . f i r st St atus & _1W_DI GI TAL_VALUE) == ( mai nBr krPr evVal ue)

)

st eamPl us. t ype. anal og. val ue += cos( b) ; el se { st eamPl us. t ype. anal og. val ue = 1800. 0; st eamPl us. t ype. anal og. f i r st St at us = ( st eamPl us. t ype. anal og. f i r st St at us & ( _1W_QUALI TY_BI TS ^ 0xFFFF) ) + _ 1W_POOR_QUALI TY ; }

/ * Ar i t hmet i c exampl es. */ a += ( i nt ) b;

/ * a = 200 */

b += ( f l oat ) a;

/ * b = 300. 0 */

/ * Cal l user f uncti on. */ / * t est Fl ag coul d be modi f i ed ei t her i nsi de, or ou t si de, t he user f uncti on. */ / * I n t hi s exampl e, we arbi t r ari l y chose t o modi f y i t based on t he r etur ned */ /* val ue. */ i f ( cal cTestV al ( &t estFl ag, &t estV al ) ) t est Fl ag. t ype. di gi t al . f i r st St at us | =_1W_DI GI TAL_VALUE;

/ * set */

el se t estFl ag. t ype. di gi t al . f i r st St atus &= ( _1W_DI GI TAL_VALUE ^ 0xFFFF) ;

/ * cl ear

*/

/ * Updat e out put poi nt s. */ Wr i t eOut put ( 1, &aver ageSt eam) ; Wr i t eOut put ( 2, &st eamPl us) ; Wr i t eOut put ( 4, &t est Fl ag) ; / * etc. */ r et ur n 0; } i nt cal cTest Val ( Poi nt Dynami cVal *pTest Fl ag, Poi nt Dynami cVal *pTest Val ) {

242

APC_002

11.10 To create a PBLOCK algorithm i f ( pTest Val - >t ype. anal og. val ue >= 120. 0 ) pTest Val - >t ype. anal og. val ue = 120. 0; i f ( pTest Val - >t ype. anal og. val ue t ype. anal og. val ue = - 20. 0; i f ( pTest Fl ag- >t ype. di gi t al . f i r st St at us | _1W_DI GI TAL_VALUE ) { i ncrea si ng */

/*

pTest Val - >t ype. anal og. val ue += 12. 3; i f ( pTest Val - >t ype. anal og. val ue > 100. 0 ) r et ur n ( 1 ) ;

/ * cont i nue t o i ncrea se */

el se r et ur n ( 0 ) ;

/ * swi t ch t o decrea si ng */

} el se { pTest Val - >t ype. anal og. val ue - = 13. 6;

/ * decr easi ng */

i f ( pTest Val - >t ype. anal og. val ue < 0. 0 ) retu rn ( 1 ) ;

/ * swi t ch t o i ncre asi ng */

el se r et ur n ( 0 ) ;

/ * cont i nue t o decrea se */

} }

APC_002

243

11.10 To create a PBLOCK algorithm

11.1 0. 3 Example PBLOC K progr am with optio nal parame ters and firs t pass macros The following example takes an analog value from the IN1 pin, then adds the value to a running total in local memory. That local memory value is then assigned to the OUT1 pin. Both pins will be required by the Control Builder for the sheet to compile. Also, included in this program are the IN2 and OUT2 pins. IN2 is an optional digital input, that will reset OUT1 to zero if it is set true. When IN2 is not connected, PBLOCK will reset the OUT1 pin every 30 samples. OUT2 is an optional analog output pin, that will display the number of samples that were counted when a pin is attached to the output. In addition, this example shows how the First Pass macros can make PBLOCK code more stable in startup and failover. ############################################################ #def i ne NUM_ I NPUT_PI NS 2 #def i ne NUM_ OUTPUT_PI NS 2 #i ncl ude " st d_pb_hdr . h" / / Local Memor y val ues ext er n f l oat l mem_t otal _val ue; / / OUT1’ s val ue and t he sum of al l sampl es ext er n i nt l mem_num_s ampl es; / / OUT2’ s val ue and t he number of sampl es ext er n i nt l mem_i n2_connect ed; / / save i f I N2 was co nnect ed l ast t ask cycl e. mai n ( ) { i nt fi rstP ass ; / **************************

**********/

/ * Decl ar e i nput and out put poi nt s. */ / **************************

**********/

Poi ntDynami cVal I N1, I N2; Poi nt Dynami cVal OUT1, OUT2; /*

@I NPUT

@PI N: 1

@NAME: I N1

@RT: LA

@DESC:" SAMPLE VALUE"

@NAME: I N2

@RT: LD

@DESC:" RESET"

@REQUI RED: YES * /

ReadI nput ( 1, &I N1) ; /*

@I NPUT

@PI N: 2

@ REQUI RED: NO

*/

ReadI nput ( 2, &I N2) ;

/ * Get l ast val ue of out put poi nt . */ /*

244

@OUTPUT

@ PI N: 1

@NAME: OUT1 @RT: LA

@DESC:" TOTAL SAMPLES"

@REQUI RED: YES

*/

APC_002

11.10 To create a PBLOCK algorithm ReadOut put ( 1, &OUT1) ; /*

@OUTPUT

@ PI N: 2

@NAME: OUT2

@RT: LA

@DESC:" NUMOF SAMPLES"

@REQUI RED: NO

ReadOut put ( 2, &OUT2) ;

/ **************************

**********/

/ * Fi rst Pass I nf ormat i on. / **************************

*/ **********/

f i rst Pass = get Fi rst PassF l ags() ; i f ( PB_SHEET_UPDATED( f i r st Pass) ) { / / The sheet has been modi f i ed, check t o see i f I N2 / / was connect ed or di sconnect ed. l mem_i n2_c onnect ed = ! __ PB_I SDUMMYSI D__ ( I N2) ; } el se i f ( PB_FI RST_PASS_FAI LOVR( f i r st Pass) ) { / / Cont ro l l er f ai l over t o part ner. / / I f t he contr ol l er f ai l s over to i ts p art ner, t hen / / you can use t he val ues st ored i n l ocal memory t o / / r ecover . ( Not e: Local memory i s updat ed more of f en / / t hen systemp oi nt s. )

OUT1. t ype. anal og. val ue = l mem_t ot al _val ue; OUT2. t ype. anal og. val ue = ( f l oat ) l mem_num_s ampl es; l mem_i n2_c onnect ed = ! __ PB_I SDUMMYSI D__ ( I N2) ; } el se i f ( PB_FI RST_PASS_PWR_UP( f i r st Pass) ) { / / Cont r ol l er power- up.

APC_002

245

*/

11.10 To create a PBLOCK algorithm / / Setup t he st art i ng val ues f or t he l ocal memor y. l mem_t ot al _val ue = 0; l mem_ num_sampl es = 0; l mem_i n2_c onnect ed = ! __ PB_I SDUMMYSI D__ ( I N2) ; }

/ **************************

**********/

/ * Cal cul at i ons. / **************************

*/ **********/

/ / Check t o see i f val ue i f ( l mem_i n2_connect ed) { / / I N2 i s connect ed. i f ( I N2. t ype. di gi t al . f i r st St at us & _1W_DI GI TAL_VALUE) { / / RESET i f i nput i s t rue l mem_ num_ sampl es = 0; l mem_t ot al _val ue = 0; } el se { l mem_ num_ sampl es++; l mem_t ot al _val ue += I N1. t ype. anal og. val ue; } } el se { / / I N2 i s NOT connect ed. i f ( l mem_ num_ sampl es => 30) / / RESET i f we have 30 sampl es

246

APC_002

11.10 To create a PBLOCK algorithm { l mem_ num_ sampl es = 0; l mem_t otal _val ue = I N1. t ype. anal og. val ue; } el se { l mem_ num_ sampl es++; l mem_t ot al _val ue += I N1. t ype. anal og. val ue; } } / **************************

**********/

/ * Out put i nf or mat i on. / **************************

*/ **********/

/ / Wr i t e to OUT1 because i t i s a req ui r ed out put . OUT1. t ype. anal og. val ue = l mem_t ot al _val ue; Wr i t eOut put ( 1, &OUT1) ; / / Wr i t e t o OUT2 onl y i f i t i s connect ed. i f ( ! __ PB_I SDUMMYSI D__ ( OUT2) ) { OUT2. t ype. anal og. val ue = ( f l oat ) l mem_num_s ampl es; Wr i t eOut put ( 2, &OUT2) ; } r et ur n 0; } ############################################################

APC_002

247

11.10 To create a PBLOCK algorithm

11.1 0. 4

PBLOC K algorithm

runti me error codes

Once the PBLOCK algorithm is loaded into the Controller, runtime errors may occur. The Ovation system reports error messages through the general message display (GMD) (in Solaris) or the Error Log (in Windows.) When any of these errors occur, the PBLOCK algorithm aborts execution. Below is the C-language name of the error code and its value. PBLOCK algorithm runt ime error codes E RROR C O D E INVALID_PIN_ACCESS

V A L UE 1

D ESCRIPTION The program has attempted to read an unused or undefined or has pin, attempted write to an unused or pin, undefined or has to attempted to write to the pin from an uninitialized point record.

248

INVALID_SYSCALL

2

The mechanism used to call library functions includes an enumerated type specifying the function. If the function is not supported, this error is generated. Normally, this error would not occur unless the user mixes revisions of source code and the algorithm so that an unsupported library function is called.

ARRAY_BOUNDS_ERROR

3

The programmer attempted to access an array element outside of the actual array.

INVALID_OPCODE

4

The MIPs instruction is not supported by the algorithm. TRAP instructions, MIPs 64, and MIPsREV II are not supported.

JUMP_OUT_OF_RANGE

5

A jump instruction will take the program to an invalid location. This does not occur unless the programmer has erroneously calculated a target address.

DIVIDE_BY_ZERO

6

The denominator of allisdivide instructions is tested before the instruction executed.

INSTRUCTION_COUNT_EXCEEDED

7

To prevent the programmer from consuming excessive duty cycle, the count of instructions executed is limited. You can adjust the available duty cycle within the sheet by modifying the XR field in the algorithm.

ARG_NOT_MIPS_INSTRUCTION

8

The MIPs instruction pointer is set to an argument that is not a MIPs instruction. This could be the result of an incorrect jump or branch.

LOAD_ERR_NO_SENTINEL

9

At the end of the MIPs program is a signature. If there is some kind of load error, or the program is too large, and the signature, or sentinel is not detected, the program will not run.

ILLEGAL_SQRT

10

The program has attempted to calculate the square root of a negative number.

UNSUPPORTED_FMT

11

MIPs instructions can operate on 32-bit float, 64-bit float ( double), and 32-bit fixed point. The compiler has generated an instruction specifying a different format.

APC_002

11.10 To create a PBLOCK algorithm

E RROR C O D E

APC_002

V A L UE

D ESCRIPTION

STACK_VIOLATION

12

As with most processors, when a subroutine is called, the stack is adjusted to make room for variables. In the case of Ovation algorithms, all variables are on the stack, s o it is possible to adjust the stack outside of the valid range. This error can also occur if the programmer creates a recursive routine but does not properly return from it.

VARIABLE_ADDR_VIOLATION

13

Each access of a variable is tested to ensure that the variable is within the algorithm memory. This error indicates the program data space is too large, or that an address calculation is not correct.

LC_RECORD_ACCESS_ERROR

14

One of the support functions allows you to access fields of the LC record. This error is generated if the LC record does not exist, or if there is any other error locating or accessing the LC record.

249

S

ECTION

12

Using th e Ovation Se quence C oor din ator algori thm package

IN THIS SECTION What is the Ovation Sequence Coordinator algorithm package? ...................................251 What is the SCTask algorithm?....................................................................................... 254 What are the SCStep and SCStepNA algorithms?.........................................................277 What is the SCAction algorithm? .................................................................................... 297

12 .1 What is the O vation Se quence C oord inator algori

thm package?

The Ovation Sequence Coordinator algorithm package contains a set of interacting algorithms: 

SCTask (see page 254) -- entry point for the sequential control function to be performed and directs all subsequent steps to execute.



SCStep (see page 277) -- defines a single step to complete a portion of a task.



SCStepNA (see page 277) -- similar to SCStep, but does not support SCActions.



SCAction (see page 297) -- defines a single action that needs to be taken to complete a portion of a step.

The Ovation Sequence Coordinator algorithm package starts with an overall task which defines a sequential control function that needs to be performed. You can complete the task by defining individual actions and controlling those actions via steps.

APC_002

251

12.1 What is the Ovation Sequence Coordinator algorithm package?

12.1 .1 Rules for

usin g th e Ova tion Sequence Coordinator

algorith m package

Use the following rules when using the Ovation Sequence Coordinator algorithm package. WARNING! When changing a step or action, or the point names of a task, step, or action, the corresponding task, step or action must be in a finished state before loading the Controller. Failure to do so could cause the task to post an error to the Error Log which will require the task to be aborted. 

You must have an Ovation software release of 3.2 or later in order to support the Ovation Sequence Coordinator algorithm package



Use the SCTask communicates toalgorithm SCSteps.as the top-level control function to be performed. SCTask only



Each SCTask can have up to three sequence modes. These sequence modes are a group of steps connected together. They are called Sequence 1, Sequence 2, and Abort.



SCStep and SCStepNA algorithms communicate to SCTask algorithms. Only SCStep algorithms communicate with SCAction algorithms.



Up to 50 SCStep or SCStepNA algorithms can be connected to one SCTask for any given sequence mode.



Each SCStep and SCStepNA algorithm must be assigned a user-defined point name.



SCAction algorithms communicate to SCStep algorithms.



Up to eight SCAction algorithms can be driven from a single SCStep algorithm, for a possible total of 400 SCActions for one sequence mode per SCTask.



Each SCAction must be assigned a user-defined point name.



When populating the description fields, double quotation marks will cause an error in the Sequence Coordinator Previewer.



Each SCStep can be connected to four other SCSteps or four other SCStepNAs or a



combination of the two. Each SCStepNA can be connected to four other SCSteps or four other SCStepsNAs or a combination of the two.



One SCStep can communicate with multiple SCActions.



A single SCStep or SCStepNA can be connected to multiple SCTasks.



A single SCAction can be connected to multiple SCSteps.

Note: All connected SC algorithms must reside in the same Controller and in the same control task area.

252

APC_002

12.1 What is the Ovation Sequence Coordinator algorithm package?

12.1 .2 Visual interpr

etation of

Ovation Sequence Coordinator

algorith ms

The following figure shows a visual interpretation of the Ovation Sequence Coordinator algorithms and how they work together.

Figure 70 : Sequence Coordinator algorith

APC_002

ms

253

12.2 What is the SCTask algorithm?

12. 2 What is the SCT ask algor it hm? The SCTask algorithm is the entry point for the sequential control function to be performed. This algorithm directs all subsequent steps to execute. The SCTask collects status information from the current running SCStep and passes this information as outputs from the SCTask. SID information for each SCStep will be passed from all downstream SCSteps up to the SCTask. This allows the SCTask and currently active SCStep status information to be viewed from the SCTask level. You must provide a user-defined point name for each SCTask.

12. 2.1 Task desc rip tio n You may provide a description for each SCTask (DESC parameter) using the Property Editor in the Control Builder. The DESC field is not tunable from signal diagrams. The description can be a maximum of 80 characters.

12.2 .2 Historic al i nform ation A historical record of the SCStep sequence for a particular task execution is stored in the SCTask for the user to view. The last 50 running steps will be retained for historical purposes. This information will be stored until the user switches sequences or the SCTask has finished and has been restarted. Note: A step is placed into the history table when it starts. If the step does not complete, it will still appear in the history table.

254

APC_002

12.2 What is the SCTask algorithm?

12. 2.3 SCT ask operati on Ready The SCTask has a READY pin that must be set in order for the SCTask to start. If the pin is reset and the SCTask has not already been started, the SCTask is considered to be disabled and will not accept start commands. If the SCTask is started when the ready pin is reset, it will not be disabled until the entire SCTask has finished. If the task is finished, the ready bit will set TRUE in the STAT point to indicate that the task is ready to be started again. If the ready pin is not connected, by default the SCTask will assume that it is ready. Sequence 1 and Sequenc e 2 You can configure two independent sequences using the FSSQ1 (First Step Sequence 1) and FSSQ2 (First Step Sequence 2) pins. Sequence 1 executes when the STRT1 pin is set. STRT1 should be a pulsed input. When the STRT1 pin is set, if sequence 2 is running, the current running step immediately resets all associated action state pins and stops executing. Sequence 1 then executes. Once the first step in Sequence 1 is finished, the transition conditional of the first step will be evaluated, and the SCTask will continue with all subsequent steps. You may also use the CST1 (Conditional Start 1), and the PST1 (Permissive Start 1) pins. These pins are used together. If the CST1 pin is set, Sequence 1 will start only if PST1 is also set. If PST1 is not connected, it will default to 1. STRT1 and STRT2 have priority over the CST1 and PST1 pins. Sequence 2 executes when the STRT2 pin is set and the FSSQ2 pin is connected to a step. If both STRT1 and STRT2 are set at the same time, Sequence 1 will take priority. When the STRT2 pin is set and if Sequence 1 is running, the current running step will immediately reset all associated action state pins and stop executing. Sequence 2 will then execute. Once the first step in Sequence 2 is finished, the transition conditional of the first step will be evaluated and the SCTask will continue with all subsequent steps. You may also use the CST2 (Conditional Start 2), and the PST2 (Permissive Start 2) pins. These pins are used together. If the CST2 pin is set, Sequence 2 will start only if PST2 is also set. If PST2 is not connected, it will default to 1. STRT1 and STRT2 have priority over the CST2 and PST2 pins. Hold Once started, you may HOLD the SCTask. Upon holding the SCTask, if the current step is in SERIAL mode, it will stop executing once the current action has completed. If in PARALLEL mode, the current step will wait for all actions to complete before holding. Once the SCTask completes a hold, the HELD pin will set true. The SCTask will not continue until the HOLD pin is unset. Once unheld, the HELD pin will reset and the SCTask will continue from where it was held. Override If the task is in a stall due to a step or action stall, you may override the stall by setting the OVRD pin true. If the task is not currently stalled, the task will ignore the OVRD pin, unless the SOVRD parameter is configured to YES. If SOVRD is YES, you may override the step anytime the step is in the transition state.

APC_002

255

12.2 What is the SCTask algorithm?

If an override is activated, this will skip the current action, regardless of state, and move to the next action conditional if the SCStep is in serial mode. If in parallel mode, override will skip all remaining actions and evaluate the transition conditional defined in the step. In both cases, once the step completes the transition conditional, all associated actions will reset. Activating an override during a step transition will cause the step to transition to the first transition step. Ab or t The ABORT pin, when set, will abort the SCTask, and the current running step will reset all associated action states and stop executing. If an abort handler step (FSAH – First Step Abort Handler) is defined, the Abort Handler step will execute. Once the initial Abort Handler Step is finished, the transition conditional of the Abort Handler step will be evaluated and the SCTask will continue with all subsequent steps. A subsequent abort request will abort the current abort step and finish the task without rerunning the abort handler sequence. Once an abort is activated, the Abort Mode bit in the STAT2 point will be set. Manual and Au to Modes The SCTask may run in AUTO or MANUAL mode. In AUTO mode, the SCTask will automatically start the next step and continue with each subsequent step until the SCTask is finished. In MANUAL mode, the SCTask will wait for user input (MSTEP) before starting any subsequent step. The SCTask will indicate a waiting condition by setting the STALL pin true and setting the STALL status bit in the packed STAT point. If the Emergency Auto (EAUTO) parameter is set to yes, and the task is engaged using the STRT1, STRT2, or ABORT pins, then the algorithm will set its mode to AUTO and start the sequence. This parameter does not apply when using the CST1, CST2, PST1, PST2 pins.

12. 2.4 Stall p in for SCT ask The Stall pin will be set when the task, step, or action is in a Stall state. The Stat pin will display which kind of stall (task, step, or action) has occurred. There are two kinds of task stall: 1.

A task will stall when it cannot take control over the current step. The current step is being controlled by another task.

2.

A task will stall when in Manual mode, and when the current step is finished transitioning. The task will wait for user input (MSTEP) before starting any subsequent step. The Stall pin will be set until the MSTEP command is issued.

12. 2.5 Error stat us The following conditions can cause the error bit to be set in the STAT packed output point. Please check the error log for the specific error that has occurred.

256

1. 2.

The task cannot access local memory for the current active step. The task attempted to communicate with an algorithm that is not a step algorithm.

3.

The task exceeds the maximum number of steps in the current selected sequence.

APC_002

12.2 What is the SCTask algorithm?

12.2 .6 SC Ta sk Advanced

Applic ation Studio

Ad vanced Prev iew You can preview the existing step configuration while in the Control Builder by selecting the Preview button from the SCTask Advanced Application Studio. The Preview window shows the flow path of the algorithms from start to finish. Ad vanced Onlin e Graphi c An advanced graphic shows the active step and possible future steps depending on plant conditions at the moment. It also shows the last 50 steps that have run. This graphic can be accessed by using the Signal Diagram application by selecting the SCTask algorithm. Operator Graphics The SCTask algorithm stores SIDs for up to 50 connected SCSteps into fields (STPx) for each connected sequence. Sequence 1 is stored in AUX3, Sequence 2 in AUX4, and Abort Handler in AUX 5. This allows you to create a graphic for their application and only access a single SID to get operator information.

12.2 .7 SC Task func tional symb ol

APC_002

257

12.2 What is the SCTask algorithm?

12.2 .8 SC Task algorith m definiti ons Note: Algorithm record type = LC SCTask algorith m definitio ns NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

AUX1

C3

Auxiliary

Required

AUX2

C4

Auxiliary

AUX3

C5

Auxiliary

AUX4

C6

AUX5

C7

D EFAULT VA L UE

D ESCRIPTION

M I N. P OINT REC.

-

SCTask Auxiliary Record

LC

Required

-

SCTask Auxiliary Record

LC

Required

-

SCTask Auxiliary Record

LC

Auxiliary

Required

-

SCTask Auxiliary Record

LC

Inputs:

Auxiliary

Required

-

SCTask Auxiliary Record

LC

READY

-

Variable

Optional

-

When TRUE, current SCTask is enabled.

LD, LP

STRT1

* CN – Bit 9

Variable

Optional

-

Start Sequence 1

LD, LP

STRT2

* CN – Bit 8

Variable

Optional

-

Start Sequence 2

LD, LP

ABORT

* G1 – Bit0

Variable

Optional

-

Finishes current Action then stops the SCTask from proceeding. Will initiate Abort Handler Step if defined.

LD, LP

MAN

*Bit CN 13–

Variable

Optional

-

Manual – User controls Mode each step.

LD, LP

AUTO

* CN – Bit12

Variable

Optional

-

Auto Mode – SCTask automatically starts next step.

LD, LP

HOLD

* G5 – Bit 0 - Hold

Variable

Optional

-

Holds SCTask after current Action is completed.

LD, LP

Variable

Optional

-

Manual Mode Only. When user sets to 1, the SCTask will start the next step when the current step is finished. This field is only applicable when step is waiting to transition.

LD, LP

G6 - Bit 0 Unhold MSTEP

258

* G3 – Bit 0

APC_002

12.2 What is the SCTask algorithm?

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

OVRD

* G2 – Bit 0

Variable

Optional

D EFAULT VA L UE

-

D ESCRIPTION

M I N. P OINT REC.

Active step will evaluate next action conditional if in SERIAL mode.

LD, LP

Active step will evaluate transition conditional if in PARALLEL mode. CST1

* G7 - Bit 0

Variable

Optional

-

Conditional Sequence 1 Start

LD, LP

CST2

* G8 - Bit 0

Variable

Optional

-

Conditional Sequence 2 Start

LD, LP

PST1

-

Variable

Optional

-

Permissive Sequence 1 Start

LD, LP

PST2

-

Variable

Optional

-

Permissive Sequence 2 Start

LD, LP

FSSQ1

C0 - Bit 0

Variable

Required

-

First step sequence 1

LC (SID)

FSSQ2

C1 - Bit 0

Variable

Optional

-

First step sequence 2

LC (SID)

FSAH

C2 - Bit 0

Variable

Optional

-

First step abort handler. If configured, when the user aborts the SCTask, the SCTask will execute the configured step.

LC (SID)

STALL

E3

Variable

Optional

-

SCTask Stalled – Set TRUE when active Step action or transition conditional is not satisfied when evaluated or action does not execute.

LD, LP

HELD

E4

Variable

Optional

-

When HOLD pin is set true, SCTask will allow current Action to finish, then set HELD pin TRUE

LD, LP

BUSY

YC

Variable

Optional

-

When SCTask is active, BUSY pin is set TRUE

LD, LP

STEP

Y9

Variable

Optional

-

Current Active Step Sid

PD

STEPT

R1

Variable

Optional

-

Amount of time current step has been running (sec). Resets after 24 hours.

LA

STEPD

R2

Variable

Optional

-

Amount of delay time left in step (sec).

LA

Outputs:

APC_002

259

12.2 What is the SCTask algorithm?

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

STAT

E8

Variable

Optional

STAT2

Y8

Variable

D EFAULT VA L UE

-

Optional

-

D ESCRIPTION

M I N. P OINT REC.

Status and related bit number:

LP



Disabled - 0



Ready - 1



Started - 2



Hold - 3



Unhold - 4



Error - 5



Finished - 6



Sequence 1 Request - 7



Sequence 2 Request - 8



Abort Request - 9



Man/Auto Mode - 10



Emergency Auto - 11



Stall - Action - 12



Stall - Step - 13



Stall - Task - 14

Status and related bit number:

LP



Sequence 1 Mode - 0



Sequence 2 Mode - 1



Abort Mode - 2

Params: DESC

TT

Data Init.

Optional

TASKT

R3

Alg. Init.

Variable

RMOD

D0

Alg. Init.

Variable

-

User defined description of this SCTask.

-

0

Amount of time current task has been running (sec). Resets after 24 hours.

-

0

Run Mode:

-

0 – Sequence 1 1 – Sequence 2 2 – Abort Sequence TSTAL

YQ

Alg. Init.

Variable

0

Task Stall Code:

-

1 – Current Step is Busy with another Task. 2 – Waiting for MSTEP.

260

APC_002

12.2 What is the SCTask algorithm?

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

SSTAL

D2

Alg. Init.

Variable

0

Step Stall Code:

M I N. P OINT REC. -

1 – Associated Action is Busy. 2 – Current Action Conditional is not satisfied. 3 – No Transition. Conditional is satisfied. ASTAL

YP

Alg. Init.

Variable

0

Action Stall Code: 1 – Ready pin is not set TRUE.

-

2 – PASS pin is not set TRUE within EST. IPINS

B0

Alg. Init.

Variable

0

Task Input Pin Signals: Ready – Bit 0, Strt1 – Bit 1, Cst1 – Bit 2, Pst1 – Bit 3, Strt2 – Bit 4, Cst2 – Bit 5, Pst2 – Bit 6, Abort – Bit 7, Auto – Bit 8, Man – Bit 9, Hold – Bit 10, Mstep – Bit 11, Ovrd – Bit 12

OVRDA

D4

Alg. Init

Variable

0

Override Available

-

0 – No, 1 - Yes * The asterisk indicates that this is a command field, not a feedback field. A command field can be used as a user-interface to the algorithm. It drives the algorithm to perform a function.

12.2 .9 Auxil iary SCTa sk algorith m d efinitio ns No. 1 NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

DIAG

LU

Data Init

Required

0

Tuning Diagram Number

EAUTO

X1

Data Init.

Required

0

0 – Off – Auto mode will not engage automatically 1 – On – Auto mode will engage when STRT1, STRT2, and ABORT pins are used.

SOVRD

X3

Data Init.

Required

0

Step Override 0 – No – Only override during stall 1 – Yes – Override anytime during transition

STH1

APC_002

B0

Alg. Init.

Variable

0

Step History – 1st step – current running step

261

12.2 What is the SCTask algorithm?

262

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

STH2

B1

Alg. Init.

Variable

0

Step History – 2nd step

STH3

B2

Alg. Init.

Variable

0

Step History – 3rd step

STH4

YU

Alg. Init.

Variable

0

Step History – 4th step

STH5

B4

Alg. Init.

Variable

0

Step History – 5th step

STH6

B5

Alg. Init.

Variable

0

Step History – 6th step

STH7

B6

Alg. Init.

Variable

0

Step History – 7th step

STH8

B7

Alg. Init.

Variable

0

Step History – 8th step

STH9

B8

Alg. Init.

Variable

0

Step History – 9th step

STH10

B9

Alg. Init.

Variable

0

Step History – 10th step

STH11

C0

Alg. Init.

Variable

0

Step History – 11th step

STH12

C1

Alg. Init.

Variable

0

Step History – 12th step

STH13

C2

Alg. Init.

Variable

0

Step History – 13th step

STH14

C3

Alg. Init.

Variable

0

Step History – 14th step

STH15

C4

Alg. Init.

Variable

0

Step History – 15th step

STH16

C5

Alg. Init.

Variable

0

Step History – 16th step

STH17

C6

Alg. Init.

Variable

0

Step History – 17th step

STH18

C7

Alg. Init.

Variable

0

Step History – 18th step

STH19

C8

Alg. Init.

Variable

0

Step History – 19th step

STH20

YT

Alg. Init.

Variable

0

Step History – 20th step

STH21

D0

Alg. Init.

Variable

0

Step History – 21st step

STH22

YQ

Alg. Init.

Variable

0

Step History – 22nd step

STH23

D2

Alg. Init.

Variable

0

Step History – 23rd step

STH24

YP

Alg. Init.

Variable

0

Step History – 24th step

STH25

D4

Alg. Init.

Variable

0

Step History – 25th step

STH26

D5

Alg. Init.

Variable

0

Step History – 26th step

STH27

D6

Alg. Init.

Variable

0

Step History – 27th step

STH28

YN

Alg. Init.

Variable

0

Step History – 28th step

STH29

D8

Alg. Init.

Variable

0

Step History – 29th step

STH30

D9

Alg. Init.

Variable

0

Step History – 30th step

STH31

YM

Alg. Init.

Variable

0

Step History – 31st step

STH32

YL

Alg. Init.

Variable

0

Step History – 32nd step

STH33 STH34

E2 E3

Alg. Init. Alg. Init.

Variable Variable

0 0

Step History – 33rd step Step History – 34th step

STH35

E4

Alg. Init.

Variable

0

Step History – 35th step

APC_002

12.2 What is the SCTask algorithm?

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

STH36

YC

Alg. Init.

Variable

0

Step History – 36th step

STH37

Y9

Alg. Init.

Variable

0

Step History – 37th step

STH38

E7

Alg. Init.

Variable

0

Step History – 38th step

STH39

E8

Alg. Init.

Variable

0

Step History – 39th step

STH40

Y8

Alg. Init.

Variable

0

Step History – 40th step

STH41

Y7

Alg. Init.

Variable

0

Step History – 41st step

STH42

Y6

Alg. Init.

Variable

0

Step History – 42nd step

STH43

XY

Alg. Init.

Variable

0

Step History – 43rd step

STH44

XW

Alg. Init.

Variable

0

Step History – 44th step

STH45

F4

Alg. Init.

Variable

0

Step History – 45th step

STH46

F5

Alg. Init.

Variable

0

Step History – 46th step

STH47

F6

Alg. Init.

Variable

0

Step History – 47th step

STH48

XV

Alg. Init.

Variable

0

Step History – 48th step

STH49

XU

Alg. Init.

Variable

0

Step History – 49th step

STH50

XR

Alg. Init.

Variable

0

Step History – 50th step

12.2 .1 0

Auxi liary SC Ta sk algorith m definiti ons No. 2 NA ME

L A L G. ECORD RC F IELD

TYPE

EQUIRED R O PTIONAL /

STH1

B0

Alg. Init.

Variable

EFAULT D VA L UE

0

D ESCRIPTION

Step History – 1st step disable/override

I N. M P OINT R ECORD

-

Bit 0 – Step Disabled Bit 1 – Action 1 Override Bit 2 – Action 2 Override Bit 3 – Action 3 Override Bit 4 – Action 4 Override Bit 5 – Action 5 Override Bit 6 – Action 6 Override Bit 7 – Action 7 Override Bit 8 – Action 8 Override Bit 9 – Transition Override Bit 10 – MSTEP activated Bit 11 – Step Aborted STH2

APC_002

B1

Alg. Init.

Variable

0

Step History – 2nd step

-

263

12.2 What is the SCTask algorithm?

NA ME

264

L C A L G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

M I N. P OINT R ECORD

STH3

B2

Alg. Init.

Variable

0

Step History – 3rd step

-

STH4

YU

Alg. Init.

Variable

0

Step History – 4th step

-

STH5

B4

Alg. Init.

Variable

0

Step History – 5th step

-

STH6

B5

Alg. Init.

Variable

0

Step History – 6th step

-

STH7

B6

Alg. Init.

Variable

0

Step History – 7th step

-

STH8

B7

Alg. Init.

Variable

0

Step History – 8th step

-

STH9

B8

Alg. Init.

Variable

0

Step History – 9th step

-

STH10

B9

Alg. Init.

Variable

0

Step History – 10th step

-

STH11

C0

Alg. Init.

Variable

0

Step History – 11th step

-

STH12

C1

Alg. Init.

Variable

0

Step History – 12th step

-

STH13

C2

Alg. Init.

Variable

0

Step History – 13th step

-

STH14

C3

Alg. Init.

Variable

0

Step History – 14th step

-

STH15

C4

Alg. Init.

Variable

0

Step History – 15th step

-

STH16

C5

Alg. Init.

Variable

0

Step History – 16th step

-

STH17

C6

Alg. Init.

Variable

0

Step History – 17th step

-

STH18

C7

Alg. Init.

Variable

0

Step History – 18th step

-

STH19

C8

Alg. Init.

Variable

0

Step History – 19th step

-

STH20

YT

Alg. Init.

Variable

0

Step History – 20th step

-

STH21

D0

Alg. Init.

Variable

0

Step History – 21st step

-

STH22

YQ

Alg. Init.

Variable

0

Step History – 22nd step

-

STH23

D2

Alg. Init.

Variable

0

Step History – 23rd step

-

STH24

YP

Alg. Init.

Variable

0

Step History – 24th step

-

STH25

D4

Alg. Init.

Variable

0

Step History – 25th step

-

STH26

D5

Alg. Init.

Variable

0

Step History – 26th step

-

STH27

D6

Alg. Init.

Variable

0

Step History – 27th step

-

STH28

YN

Alg. Init.

Variable

0

Step History – 28th step

-

STH29

D8

Alg. Init.

Variable

0

Step History – 29th step

-

STH30

D9

Alg. Init.

Variable

0

Step History – 30th step

-

STH31

YM

Alg. Init.

Variable

0

Step History – 31st step

-

STH32

YL

Alg. Init.

Variable

0

Step History – 32nd step

-

STH33

E2

Alg. Init.

Variable

0

Step History – 33rd step

-

STH34 STH35

E3 E4

Alg. Init. Alg. Init.

Variable Variable

0 0

Step History – 34th step Step History – 35th step

-

STH36

YC

Alg. Init.

Variable

0

Step History – 36th step

-

APC_002

12.2 What is the SCTask algorithm?

NA ME

L C A L G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

STH37

Y9

Alg. Init.

Variable

0

Step History – 37th step

-

STH38

E7

Alg. Init.

Variable

0

Step History – 38th step

-

STH39

E8

Alg. Init.

Variable

0

Step History – 39th step

-

STH40

Y8

Alg. Init.

Variable

0

Step History – 40th step

-

STH41

Y7

Alg. Init.

Variable

0

Step History – 41st step

-

STH42

Y6

Alg. Init.

Variable

0

Step History – 42nd step

-

STH43

XY

Alg. Init.

Variable

0

Step History – 43rd step

-

STH44

XW

Alg. Init.

Variable

0

Step History – 44th step

-

STH45

F4

Alg. Init.

Variable

0

Step History – 45th step

-

STH46

F5

Alg. Init.

Variable

0

Step History – 46th step

-

STH47

F6

Alg. Init.

Variable

0

Step History – 47th step

-

STH48

XV

Alg. Init.

Variable

0

Step History – 48th step

-

STH49

XU

Alg. Init.

Variable

0

Step History – 49th step

-

STH50

XR

Alg. Init.

Variable

0

Step History – 50th step

-

12.2 .1 1

D EFAULT VA L UE

D ESCRIPTION

M I N. P OINT R ECORD

Auxi liary SC Ta sk algorith m definiti ons No. 3 - 5 NA ME

L C AL G. R ECORD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

F IELD

M I N. P OINT R ECORD

Note: Ea ch auxili ary record co ntains all th e SIDs for each conn ected step in a sequence. Aux. 3 is for Sequence 1 , Aux. 4 is for Sequence 2, and Aux. 5 is for Abort.

APC_002

STP1

B0

Alg. Init.

Variable

0

Initial Step

-

STP2

B1

Alg. Init.

Variable

0

Transition Step

-

STP3

B2

Alg. Init.

Variable

0

Transition Step

-

STP4

YU

Alg. Init.

Variable

0

Transition Step

-

STP5

B4

Alg. Init.

Variable

0

Transition Step

-

STP6

B5

Alg. Init.

Variable

0

Transition Step

-

STP7

B6

Alg. Init.

Variable

0

Transition Step

-

STP8

B7

Alg. Init.

Variable

0

Transition Step

-

STP9

B8

Alg. Init.

Variable

0

Transition Step

-

STP10

B9

Alg. Init.

Variable

0

Transition Step

-

STP11

C0

Alg. Init.

Variable

0

Transition Step

-

STP12

C1

Alg. Init.

Variable

0

Transition Step

-

STP13

C2

Alg. Init.

Variable

0

Transition Step

-

265

12.2 What is the SCTask algorithm?

266

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

M I N. P OINT R ECORD

STP14

C3

Alg. Init.

Variable

0

Transition Step

-

STP15

C4

Alg. Init.

Variable

0

Transition Step

-

STP16

C5

Alg. Init.

Variable

0

Transition Step

-

STP17

C6

Alg. Init.

Variable

0

Transition Step

-

STP18

C7

Alg. Init.

Variable

0

Transition Step

-

STP19

C8

Alg. Init.

Variable

0

Transition Step

-

STP20

YT

Alg. Init.

Variable

0

Transition Step

-

STP21

D0

Alg. Init.

Variable

0

Transition Step

-

STP22

YQ

Alg. Init.

Variable

0

Transition Step

-

STP23

D2

Alg. Init.

Variable

0

Transition Step

-

STP24

YP

Alg. Init.

Variable

0

Transition Step

-

STP25

D4

Alg. Init.

Variable

0

Transition Step

-

STP26

D5

Alg. Init.

Variable

0

Transition Step

-

STP27

D6

Alg. Init.

Variable

0

Transition Step

-

STP28

YN

Alg. Init.

Variable

0

Transition Step

-

STP29

D8

Alg. Init.

Variable

0

Transition Step

-

STP30

D9

Alg. Init.

Variable

0

Transition Step

-

STP31

YM

Alg. Init.

Variable

0

Transition Step

-

STP32

YL

Alg. Init.

Variable

0

Transition Step

-

STP33

E2

Alg. Init.

Variable

0

Transition Step

-

STP34

E3

Alg. Init.

Variable

0

Transition Step

-

STP35

E4

Alg. Init.

Variable

0

Transition Step

-

STP36

YC

Alg. Init.

Variable

0

Transition Step

-

STP37

Y9

Alg. Init.

Variable

0

Transition Step

-

STP38

E7

Alg. Init.

Variable

0

Transition Step

-

STP39

E8

Alg. Init.

Variable

0

Transition Step

-

STP40

Y8

Alg. Init.

Variable

0

Transition Step

-

STP41

Y7

Alg. Init.

Variable

0

Transition Step

-

STP42

Y6

Alg. Init.

Variable

0

Transition Step

-

STP43

XY

Alg. Init.

Variable

0

Transition Step

-

STP44

XW

Alg. Init.

Variable

0

Transition Step

-

STP45 STP46

F4 F5

Alg. Init. Alg. Init.

Variable Variable

0 0

Transition Step Transition Step

-

STP47

F6

Alg. Init.

Variable

0

Transition Step

-

APC_002

12.2 What is the SCTask algorithm?

NA ME

L C AL G. R ECORD F IELD

STP48

XV

Alg. Init.

Variable

0

Transition Step

-

STP49

XU

Alg. Init.

Variable

0

Transition Step

-

STP50

XR

Alg. Init.

Variable

0

Transition Step

-

12.2 .1 2

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

M I N. P OINT R ECORD

Accessi ng advanced editing for the SCTask algorith m in the Control

Builder To access the Advanced Applications Studio for the SCTask algorithm, refer to To use the Advanced Applications Studio to view and edit advanced algorithms (see page 20). SCTask algorithm I/OConfiguration tab The Input/Output Configuration tab allows you to view configured algorithm input/output parameters for the SCTask algorithm. This tab is informational only. You cannot edit options from this dialog box or sort the columns in this table.

Figure 71 : Adv anced editor wi ndow for SCT ask algorithm -- I/O Configur ation tab The Previewer button displays a window that gives you a visual representation of a task and how the steps and actions are connected. Refer to Using the SCTask algorithm Previewer window (see page 269) for more information.

APC_002

267

12.2 What is the SCTask algorithm?

SCTask algorithm General Information tab The General Information tab allows you to configure the Emergency Auto Mode (EAUTO) and the Step Override Mode (SOVRD) parameters. For more information on EAUTO and SOVRD, refer to SCTask operation (see page 255). Make the desired selections for the parameters and select the OK button to save your choices and close the window. Select the Close button to close the window without saving any changes.

Figure 72 : Advanced editor window for SCT ask algorithm - General Information tab The Previewer button displays a window that gives you a visual representation of a task and how the steps and actions are connected. Refer to Using the SCTask algorithm Previewer window (see page 269) for more information.

268

APC_002

12.2 What is the SCTask algorithm?

12.2 .1 3

Using the SC Ta sk algorith m Pre viewer windo w

Select the Previewer button on the Sequence Coordinator Task Editor window and the Previewer window appears showing the Task that you have displayed on the Control Builder canvas. See the following figure.

Figure 73: Pre viewer window The Previewer window provides a visual summary of everything that is associated with a task. The window can be configured to show different colors and line types, and can be changed to show the different sequences associated with a task. The following table lists and describes the options found on the File menu. Previewer window -- File menu op tions M ENU I T E M

APC_002

D ESCRIPTION

Configure

Displays the Configuration window that allows you to change the colors associated with steps and line styles.

Print

Prints the task that is shown on the Previewer window.

269

12.2 What is the SCTask algorithm?

M ENU I T E M

D ESCRIPTION

Errors

If there is an error in the file, this option displays the error message and the line that contains the error.

Exit

Quits the Previewer window.

Note: You can access another menu by right-clicking on the white space of the Previewer window. See Understanding the Previewer window right-click menu (see page 273). Understanding the Previe wer Configuration w indow The Previewer Configuration window allows you to define different colors and line styles for each step of a task sequence. You can also choose between a white or a black background color. To use the Pre viewer C onfigu ration window 1.

Select the Previewer button on the Sequence Coordinator Task Editor window. The Previewer window appears.

2.

Pull down the File menu, and select Configure . The Previewer Configuration window appears.

Figure 74 : Previewe r - Configur ation wind ow 3.

270

Select a sequence from the tabs at the top of the window.

APC_002

12.2 What is the SCTask algorithm?

4.

To change a color for a step, double-click in the row in the Selected Color column that is beside the step that you want to change. The Select color window appears.

Figure 75 : Sele ct co lor win dow -- accessed from Previewe r Configuration window 5.

Select a color from the Basic colors palette or define different colors using the custom colors

information at the bottom of the window. 6. Once you have selected a color, press the OK button to accept the color and exit the Select color window. Press the Cancel button to exit the window without selecting any color. 7.

To set the same color for all the steps, select Set All Colors button on the Previewer Configuration window. The Select color window appears. See Steps 5 and 6.

8.

To change a line style for a step, double-click in the row in the Line Style column that is beside the step that you want to change. A menu of list styles appears. Select a line style from the menu.

APC_002

271

12.2 What is the SCTask algorithm?

9.

To set the same line style for all the steps, select Set All Lines button on the Previewer Configuration window. The line style menu appears. Select a line style.

Figure 76: Line Style menu 10. To set the colors and line styles back to the last saved settings, select the Reset button. 11. Select a background color for the Preview window, by choosing either the White or Black radio button in the Default Background section of the window. 12. Select the Ok button to save your changes and exit the window. Select the Cancel button to exit the window without saving any changes.

272

APC_002

12.2 What is the SCTask algorithm?

Understanding the Previe wer window right-click m enu The Previewer window right-click menu allows you to select different sequences to appear on the window. You can also show or hide different lines in a step sequence.

Figure 77: Previewer - Right-click menu The following table lists and describes the options found on the right-click menu. Previewer window -- Right- click m enu option s

APC_002

M ENU I T E M

D ESCRIPTION

Sequence 1

If selected, Sequence 1 appears on the Previewer window. A checkmark appears and the text is grayed out.

Sequence 2

If selected, Sequence 2 appears on the Previewer window. A checkmark appears and the text is grayed out.

Abort

If selected, the Abort sequence appears on the Previewer window. A checkmark appears and the text is grayed out.

Activate (Show) All Step Lines (per configuration)

If selected, all of the step lines for this sequence appear on the Previewer window.

273

12.2 What is the SCTask algorithm?

M ENU I T E M

D ESCRIPTION

De-activate (Hide) All Unselected Lines

If selected, hides any step lines in the sequence that are not selected on the Previewer window. This allows clear visibilty of one step path to be shown on the window.

De-activate (Hide) All Lines

If selected, hides all of the step lines for this sequence in the Previewer window.

White

If selected, the background color of the Previewer window will be white.

Black

If selected, the background color of the Previewer window will be black.

12.2 .1 4 Accessi ng the Advanced Signal Diagrams

Tuning wind ow for the SC Ta sk algorith m in

To access advanced editing in signal diagrams, see To access the Advanced Tuning window for APC Toolkit algorithms in signal diagrams (see page 28). SCTask advanced tuning window -- Selected Step tab From a signal diagram, right-click on an SCTask algorithm, and select Advanced Tuning from the menu that displays. The Advanced Tuning window for SCTask appears (see the following figure).

Figure 78 : Advanced tu ning window in sig nal diagrams for SCTask algorith m -- Selected Step tab

274

APC_002

12.2 What is the SCTask algorithm?

The previous figure shows the information for the Selected Step tab. The Selected Step tab shows you all the steps for the task you selected. You may modify any field that has a white background. Fields that have a background shaded with a color cannot be edited. The exception to this is for the CS column (Conditional Statement). This column cannot be edited, even though the background is white. If the text appears in red, it means that the conditional evaluates to false. If the text appears in green, the conditional evalutes to true. Notice on the left side of the Advanced Tuning window there is a hierarchy of sequence modes. You can expand or collapse the hierarchy by clicking on the "+" or "-" signs. By expanding the hierarchy, you can access different steps in different sequences. SCTask advanced tu ning window -- Selecte d Acti ons tab From a signal diagram, right-click on an SCTask algorithm, and select Advanced Tuning from the menu that displays. The Advanced Tuning window for SCTask appears (see the following figure).

Figure 79 : Advanced tu ning window in sig nal diagrams for SCTask algorith m -- Selected Ac ti on s t ab The figure above shows the information for the Selected Actions tab. The Selected Actions tab shows you all the actions associated with the step you selected in the hierarchy. You can expand or collapse the hierarchy by clicking on the "+" or "-" signs. By expanding the hierarchy, you can access different steps or actions in different sequences. Note that you may modify any field that has a white background. Fields that have a background shaded with a color cannot be edited.

APC_002

275

12.2 What is the SCTask algorithm?

SCTask advanced tuni ng win dow -- History tab From a signal diagram, right-click on an SCTask algorithm, and select Advanced Tuning from the menu that displays. The Advanced Tuning window for SCTask appears (see the following figure).

Figure 80 : Advanced tunin g wind ow in signal diagrams for

SCTask algorith m -- History tab

The figure above shows the information for the History tab. The History tab shows the last 50 steps that were running for this task. The fields cannot be edited. Notice on the left side of the Advanced Tuning window there is a hierarchy of sequence modes. You can expand or collapse the hierarchy by clicking on the "+" or "-" signs. By expanding the hierarchy, you can access different steps in different sequences.

276

APC_002

12.3 What are the SCStep and SCStepNA algorithms?

12. 3 What a re the SC Step a nd SC StepNA algo rit hms ? The SCStep and the SCStepNA algorithms define a single step to complete a portion of a task. There can be up to 50 total steps per SCTask sequence, which can be a combination of SCStep and SCStepNA algorithms. The difference between the SCStep and SCStepNA algorithms is that the SCStepNA algorithm does not support SCActions or the eight AUX records associated with the actions. The pins that SCStep uses to support SCAction functions are not applicable for the SCStepNA algorithm. Note: Throughout this section, most of the information applies to both the SCStep and the SCStepNA algorithms. When a feature only applies to the SCStep algorithm, it will be clearly noted. You may provide a description for each step (DESC parameter) using the Property Editor in the Control Builder. The DESC field is tunable from signal diagrams. The description can be a maximum of 80 characters. For the SCStep algorithm, each step can control up to eight actions. Note: The SCStepNA algorithm is available for Ovation releases 3.3.1 and 3.4.0 only.

12.3 .1 Busy Signal and

Communic ation

Once the SCStep/SCStepNA receives a command from an SCTask, it determines if it is busy or not. The SCStep/SCStepNA is busy any time another SCTask is communicating with it and sets the BUSY signal pin to TRUE. When busy, the SCStep/SCStepNA will communicate to the SCTask that it is busy. The SCTask will then set the STALL pin TRUE. The SCTask will continue to request the SCStep/SCStepNA until the Step is not busy. Once it is not busy, the SCStep/SCStepNA will start. The SCTASK parameter is set with the SID of the current controlling SCTask when SCStep/SCStepNA is busy. This field is cleared after the controlling SCTask is done with the algorithm. The step time pin (STEPT) counts the seconds that a SCStep/SCStepNA is busy.

APC_002

277

12.3 What are the SCStep and SCStepNA algorithms?

12.3 .2 Acti on c ondit ionals and qualifi

ers for SC Step

Configuration The SCStep sends commands to SCActions if an action conditional is satisfied. Action conditionals are defined using a logic generator (Conditional window) accessed through the Advanced Applications Studio in the Control Builder. The Conditional window allows you to use logical ORs and ANDs in order to program a conditional. The order of evaluation will be left to right, and no grouping is allowed. See Creating a conditional for the SCStep algorithm (see page 294). Operation When the step starts, it determines if any attached Action is Busy (see SCAction (see page 297)). If any action is determined to be busy, the Step will set the STALL pin true and will evaluate the status of the SCActions again during the next control cycle. If all of the actions are not busy, the SCStep will take control of all attached actions and begin to evaluate the action conditionals. There can be up to eight action conditionals per step. The action conditional will evaluate up to eight digital inputs (C1 – C8) that are connected to the SCStep. If the action conditional is not satisfied, then the Step is stalled, and the SCTask will set the STALL pin TRUE. If the action conditional is satisfied, the step will communicate to the associated action connected to the appropriate Action SID (ASIDx) pin. For example, if Action Conditional 1 is satisfied, then the action connected to ASID1 will execute, if Action Conditional 2 is satisfied, then the action connected to ASID2 will execute, and so forth. If an Action Conditional is not defined, the step will immediately execute the attached action. If there is no action attached to the corresponding ASIDx pin, the step will proceed to its transition conditional. This means that actions must be connected consecutively. If there are actions connected to ASID1 through ASID3, then ASID4 is not connected, but if ASID 5 is connected, the step will only execute ASID1 through ASID3. ASID5 will be ignored. Once the action conditional is satisfied, the SCStep will communicate to the SCAction about what State Pin (1-4) it should set and what action qualifier it should use. You may not attempt to set the same state pin in the same action more than one time in the same step. Action Qualifiers may be one of the following:

278



Start w ithout Reset – Delays Start using ADLY parameter. Starts the appropriate State, and leaves it TRUE until the step finishes.



Start then Reset – Delays Start using ADLY parameter. Starts the appropriate State, then leaves it TRUE for configured number of seconds using AEST parameter.



Start th en wait for PASS – Delays Start using ADLY parameter, then Starts appropriate State. When PASS (SCAction) is TRUE, Action will Reset State pin. If PASS is not true within AEST, then STALL flag will be set and step will not continue until PASS is set TRUE.



Delay Acti on – Delay using ADLY parameter, but don’t set any state pins.

APC_002

12.3 What are the SCStep and SCStepNA algorithms?

12. 3.3 Serial and p arallel m odes for SCS tep You may configure the SCStep in two different modes: SERIAL or PARALLEL. In SERIAL mode, only one action conditional is evaluated at a time in sequential order. When the action conditional is satisfied, the Step will communicate the current Action and Action Qualifier. Once the Action Qualifier has finished, the Step will proceed to the next action conditional to be evaluated or to the transition conditional if there are no more action conditionals to evaluate. In PARALLEL mode, only one action conditional is evaluated for the entire step. Once the action conditional is satisfied, the Step will communicate all configured Actions and Action Qualifiers. When all Action Qualifiers have finished, the Step will proceed to the transition conditional.

12.3 .4 Transitioni

ng to next step

After the actions have finished, the SCStep will go into a transition state. (The SCStepNA algorithm will go into a transition state immediately upon starting.) The transition state will wait for the transition ready pin (TRDY) to be set before evaluating the transition conditionals. If the TRDY pin is not connected, it will default to a 1. If the Transition Wait Time (TWT) parameter is configured, the step will not evaluate any transition conditionals until the ready pin is set and the transition wait time has expired. The transition wait time does not cound down until the transition ready pin is set. Once the TWT has expired, the transition will set the Transition Active (TACT) pin true, and the transition conditionals will be evaluated. If the disabled pin is set, the TWT will be ignored. If the Transition Monitoring Time (TMT) parameter is configured and the step is currently waiting for the ready pin to be set or for a transition conditional to be satisfied, the step will not declare itself as stalled until the transition time is greater than the transition monitoring time. You must define a transition conditional in order to determine the next step to be executed. The transition conditional can evaluate any analog or digital point (TPx) in the Ovation system using the following operators: For Analogs: 

Greater than.



Less Than.



Equal To.



Greater than or Equal to.



Less than or Equal to.



Not equal to.

For Digitals:

APC_002



Set.



Reset.

279

12.3 What are the SCStep and SCStepNA algorithms?

Up to four points can be evaluated. Only one transition will be permitted to activate, so if two or more conditionals are satisfied during the same control cycle, then the lower numbered transitional will be selected. The satisfied transition will set its corresponding transition pin true, and communicate to the SCTask the next step to be executed. (For SCStep only -- When the current active step is released by the SCTask, the step will reset all associated SCActions.) If no transition step is defined, the SCTask will finish. Transition Steps are defined using the Step Sid (SSIDx) input pins. SSID1 is associated with Transition 1; SSID2 is associated with Transition 2, and so forth. If no transition conditional is satisfied at the time of evaluation, then the Step will communicate to the SCTask that it is stalled, and the SCTask will set the STALL pin TRUE dependent on the Transition Monitoring Time (TMT) parameter. If no transition conditional is defined (NONE), the Step will not attempt to evaluate any points. Instead, the transition will communicate the transition step to the SCTask as the next step to be executed. If the transition conditional is DO NOT EVALUATE, the step will ignore the transition. If a conditional other than DO NOT EVALUATE is defined and no transition steps are defined, the SCTask will finish.

12. 3.5 Disabli ng the Step You can disable the step by setting the DSABL pin true. For SCStep, if the DSABL pin is set true after a step has started, it will not disable the step until the step has finished all of its actions and the transition conditional has been evaluated. Note: Since SCStepNA does not support actions, if the DSABL pin is set true after a step has started, it will not disable the step until the step has finished evaluating the transition conditionals. When the step is disabled, the SCStep/SCStepNA will set the DSABD output pin true to reflect its current state. For SCStep, once the DSABD pin is set, the step will not evaluate any action conditionals or execute any actions. The transition conditional will not be evaluated, instead the step will immediately transition to Step 1 (SSID1). For SCStepNA, once the DSABD pin is set, the transition conditional is then evaluated to determine what the next step should be.

12. 3.6 Stall p in for SCS tep and SCS tepNA There are three kinds of Step stall for SCStep: 1.

When it cannot take control over all of the associated actions. The current actions are being controlled by another step.

2.

When the current action conditional is not satisfied.

3.

When none of the transitional conditionals are satisfied while in the transition state.

There is only one kind of Step stall for SCStepNA: 

280

When none of the transitional conditionals are satisfied while in the transition state.

APC_002

12.3 What are the SCStep and SCStepNA algorithms?

12.3 .7 SC Step fun ctio nal symb ol

APC_002

281

12.3 What are the SCStep and SCStepNA algorithms?

12.3 .8 SC StepN A func tional symb ol

12. 3.9 SCS tep and SCStepNA a

lgo rit hm def ini tio ns

Note: Algorithm Record Type = LC. For more information on record types, refer to Ovation Record Types Reference Manual. In the following table, the " * " beside the parameter name indicates that this parameter is only used for SCStep; not for SCStepNA. SCStep algorithm definitions NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

AUX1

B4

Auxiliary

Required

AUX2 *

B5

Auxiliary

AUX3 *

B6

AUX4 *

D EFAULT VAL UE

D ESCRIPTION

MIN. P OINT REC.

-

Auxiliary Record 1 (used for both SCStep and SCStepNA).

LC

Required

-

Action Conditional 2 Auxiliary Record (for SCStep)

LC

Auxiliary

Required

-

Action Conditional 3 Auxiliary Record (for SCStep)

LC

B7

Auxiliary

Required

-

Action Conditional 4 Auxiliary Record (for SCStep)

LC

AUX5 *

B8

Auxiliary

Required

-

Action Conditional 5 Auxiliary Record (for SCStep)

LC

AUX6 *

B9

Auxiliary

Required

-

Action Conditional 6 Auxiliary

LC

AUX7 *

C0

Auxiliary

Required

-

Record (for SCStep) Action Conditional 7 Auxiliary Record (for SCStep)

LC

Inputs:

282

APC_002

12.3 What are the SCStep and SCStepNA algorithms?

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

AUX8 *

C1

Auxiliary

Required

AUX9 *

C2

Auxiliary

DSABL

YM C3 - SID

C1 * C2 *

D ESCRIPTION

MIN. P OINT REC.

-

Action Conditional 8 Auxiliary Record (for SCStep)

LC

Required

-

Action Conditional 9 Auxiliary Record (for SCStep)

LC

Variable

Optional

-

Disable Step

LD, LP

YL

Variable

Optional

-

Action Condition 1 (for SCStep)

LD, LP

E2

Variable

Optional

-

Action Condition 2 (for SCStep)

LD, LP

C3 *

E3

Variable

Optional

-

Action Condition 3 (for SCStep)

LD, LP

C4 *

E4

Variable

Optional

-

Action Condition 4 (for SCStep)

LD, LP

C5 *

YC

Variable

Optional

-

Action Condition 5 (for SCStep)

LD, LP

C6 *

Y9

Variable

Optional

-

Action Condition 6 (for SCStep)

LD, LP

C7 *

E7

Variable

Optional

-

Action Condition 7 (for SCStep)

LD, LP

C8 *

E8

Variable

Optional

-

Action Condition 8 (for SCStep)

LD, LP

TRDY

Y8 C4 - SID

Variable

Optional

-

Transition Ready

LD, LP

TP1

R1 C5 - SID

Variable

Optional

-

Transition Point 1

LA, LD

TP2

R2 C6 - SID

Variable

Optional

-

Transition Point 2

LA, LD

TP3

R3

Variable

Optional

-

Transition Point 3

LA, LD

TP4

C7 - SID R4 C8 - SID

Variable

Optional

-

Transition Point 4

LA, LD

ASID1 *

-

ASID2 * ASID3 *

-

Optional

Variable Variable

-

Optional

Optional

SCAction 1 Point Name (for SCStep) -

-

SCAction 2 Point Name (for SCStep) SCAction 3 Point Name (for SCStep)

LC (SID) LC (SID) LC (SID)

ASID4 *

-

Variable

Optional

-

SCAction 4 Point Name (for SCStep)

LC (SID)

ASID5 *

-

Variable

Optional

-

SCAction 5 Point Name (for SCStep)

LC (SID)

ASID6 *

-

Variable

Optional

-

SCAction 6 Point Name (for SCStep)

LC (SID)

ASID7 *

-

Variable

Optional

-

SCAction 7 Point Name (for

LC (SID)

ASID8 * -

APC_002

Variable

D EFAULT VAL UE

Variable

Optional

-

SCStep) SCAction 8 Point Name (for SCStep)

LC (SID)

283

12.3 What are the SCStep and SCStepNA algorithms?

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

SSID1

G9

Variable

Optional

SSID2

B0

Variable

SSID3

B1

SSID4

B2

D EFAULT VAL UE

D ESCRIPTION

MIN. P OINT REC.

-

SCStep/SCStepNA 1 Point Name

LC (SID)

Optional

-

SCStep/SCStepNA 2 Point Name

LC (SID)

Variable

Optional

-

SCStep/SCStepNA 3 Point Name

LC (SID)

Variable

Optional

-

SCStep/SCStepNA 4 Point

LC (SID)

Name Outputs:

284

DSABD

YT Y7 - SID

Variable

Optional

-

Step Disabled – Set true when DSABL pin is set and Action is not Busy. SCTask will skip step when true, but will still evaluate transition conditional.

LD, LP

TACT

D8 Y6 - SID

Variable

Optional

-

Transition Active

LD, LP

T1

D0 XY - SID

Variable

Optional

-

Set TRUE when transitioning to SSID1.

LD, LP

T2

YQ XW - SID

Variable

Optional

-

Set TRUE when transitioning to SSID2.

LD, LP

T3

D2 F4 - SID

Variable

Optional

-

Set TRUE when transitioning to SSID3.

LD, LP

T4

YP F5 - SID

Variable

Optional

-

Set TRUE when transitioning to SSID4.

LD, LP

STEPT

R5 F6 - SID

Variable

Optional

-

Amount of time current step has been running (sec). Resets after 24 hours.

LA

ACTDT *

R6 XV - SID

Variable

Optional

-

Time left in Action Delay (sec). (SERIAL MODE ONLY) (for SCStep).

LA

ACTRT *

R7 XU - SID

Variable

Optional

-

Action Run Time (sec) (SERIAL MODE ONLY). Resets after 24 hours (for SCStep).

LA

BUSY

YN XR - SID

Variable

Optional

-

Set TRUE when SCStep/ SCStepNA is processing commands

LD, LP

APC_002

12.3 What are the SCStep and SCStepNA algorithms?

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

STAT

G3 D9 - SID

Variable

Optional

D EFAULT VAL UE

-

D ESCRIPTION

MIN. P OINT REC.

Status and related bit number:

LP



0 - Inactive. Step is not being used.



1 - Disabled. Step has been disabled.



2 - Started. Step is active.



3 - Held. The "HOLD" pin was set from the controlling



SCTask. 4 - Transition. In the Transition phase.



5 - Transition. The transition cannot be completed. (TWT is not done; TRDY pin is not set, and so forth.



6 - Transition Complete. The next step has been selected and there is a transition.



7 - Error. Not visible to user.



8 - Finished. The step is complete.



9 * - Action Stall. This is only used for SCStep.



10 - Step Stall. See Stall pin (see page 280).



11 * - Serial Mode. This is only used for SCStep.



12 * - Parallel Mode. This is only used for SCStep.

Note: Bit 11 of SCSTEPNA can only be shown as Serial since there are no actions associated with SCStepNA. Params: DESC

TT

Data Init.

Optional

-

User-defined description of this step.

-

DESC2

AJ

Data Init.

Optional

-

Auxiliary description – 8 char limit

-

CTASK

G1

Alg Init.

Variable

0

Current Controlling Task SID

CCOND *

G2

Alg Init.

Variable

0

Current Action Conditional (serial mode only) (for SCStep).

NTRAN

G4

Alg Init.

Variable

0

Current Next Transition Number

-

* Indicates that this parameter is not used for the SCStepNA algorithm.

APC_002

285

12.3 What are the SCStep and SCStepNA algorithms?

12.3 .1 0

Auxi liary SC Step and SCStepN A algorith m definiti ons No. 1 NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

DIAG

LU

Data Init

Required

0

Tuning Diagram Number

MODE *

G0

Data Init.

Required

0

0 – Serial Action Mode

T1OP

G1

Data Init.

Required

7

Transition 1 Operator

1 – Parallel Action Mode

0 – None 1 – Greater Than 2 – Less Than 3 – Equals 4 – Greater Than or Equal 5 – Less Than or Equal 6 – Not Equal 7 – SET 8 – RESET 9 – Do Not Evaluate T2OP

G2

Data Init.

Required

9

Transition 2 Operator 0 – None 1 – Greater Than 2 – Less Than 3 – Equals 4 – Greater Than or Equal 5 – Less Than or Equal 6 – Not Equal 7 – SET 8 – RESET 9 – Do Not Evaluate

286

APC_002

12.3 What are the SCStep and SCStepNA algorithms?

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

T3OP

G3

Data Init.

Required

D EFAULT VA L UE

9

D ESCRIPTION

Transition 3 Operator 0 – None 1 – Greater Than 2 – Less Than 3 – Equals 4 – Greater Than or Equal 5 – Less Than or Equal 6 – Not Equal 7 – SET 8 – RESET 9 – Do Not Evaluate

T4OP

G4

Data Init.

Required

9

Transition 4 Operator 0 – None 1 – Greater Than 2 – Less Than 3 – Equals 4 – Greater Than or Equal 5 – Less Than or Equal 6 – Not Equal 7 – SET 8 – RESET 9 – Do Not Evaluate

APC_002

T1VAR

R1

Data Init.

Required

0

Transition 1 Variable

T2VAR

R2

Data Init.

Required

0

Transition 2 Variable

T3VAR

R3

Data Init.

Required

0

Transition 3 Variable

T4VAR

R4

Data Init.

Required

0

Transition 4 Variable

TWT

C0

Tuning Constant

Required

0

Transition Wait Time – Amount of time step should be transitioning and ready before transition to next step is allowed.

TMT

C1

Tuning Constant

Required

0

Transition Monitoring Time – Amount of time step can run in Transition state before declaring a stall if TRDY pin is not set or no transition conditional is satisfied.

T1STP T2STP

G5 G6

Alg Init. Alg Init.

Variable Variable

0 0

Transition 1 Step Sid Transition 2 Step Sid

T3STP

G7

Alg Init.

Variable

0

Transition 3 Step Sid

287

12.3 What are the SCStep and SCStepNA algorithms?

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

T4STP

G8

Alg Init.

Variable

D EFAULT VA L UE

0

D ESCRIPTION

Transition 4 Step Sid

*This parameter is not used for the SCStepNA algorithm.

12.3 .1 1

Auxi liary SC Step algorith m definiti ons No. 2

The following parameters are only used for the SCStep algorithm. NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VAL UE

D ESCRIPTION

DIAG

LU

Data Init

Required

0

Tuning Diagram Number

ATVAR

G0

Data Init

Required

0

Total Variables in Action Conditional

ACOP1

X1

Data Init

Required

0

Conditional Operator 1

ACOP2

X2

Data Init

Required

0

Conditional Operator 2

ACOP3

X3

Data Init

Required

0

Conditional Operator 3

ACOP4

X4

Data Init

Required

0

Conditional Operator 4

ACOP5

X5

Data Init

Required

0

(0 – None, 1 – OR, 2 – AND) Conditional Operator 5

ACOP6

X6

Data Init

Required

0

Conditional Operator 6

ACOP7

X7

Data Init

Required

0

Conditional Operator 7

AVAR1

G1

Data Init

Required

0

1st Conditional Pin to Evaluate (1 – 8)

(0 – None, 1 – OR, 2 – AND)

(0 – None, 1 – OR, 2 – AND)

(0 – None, 1 – OR, 2 – AND)

(0 – None, 1 – OR, 2 – AND)

(0 – None, 1 – OR, 2 – AND)

(0 – None, 1 – OR, 2 – AND)

0 – NONE, 1 – C1, 2 – C2, 3 – C3, 4 – C4, 5 – C5, 6 – C6, 7 – C7, 8 – C8 AVAR2

G2

Data Init

Required

0

2nd Conditional Pin to Evaluate (1 – 8) 0 – NONE, 1 – C1, 2 – C2, 3 – C3, 4 – C4, 5 – C5, 6 – C6, 7 – C7, 8 – C8

288

APC_002

12.3 What are the SCStep and SCStepNA algorithms?

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

AVAR3

G3

Data Init

Required

D EFAULT VAL UE

0

D ESCRIPTION

3rd Conditional Pin to Evaluate (1 – 8) 0 – NONE, 1 – C1, 2 – C2, 3 – C3, 4 – C4, 5 – C5, 6 – C6, 7 – C7, 8 – C8

AVAR4

G4

Data Init

Required

0

4th Conditional Pin to Evaluate (1 – 8) 0 – NONE, 1 – C1, 2 – C2, 3 – C3, 4 – C4, 5 – C5, 6 – C6, 7 – C7, 8 – C8

AVAR5

G5

Data Init

Required

0

5th Conditional Pin to Evaluate (1 – 8) 0 – NONE, 1 – C1, 2 – C2, 3 – C3, 4 – C4, 5 – C5, 6 – C6, 7 – C7, 8 – C8

AVAR6

G6

Data Init

Required

0

6th Conditional Pin to Evaluate (1 – 8) 0 – NONE, 1 – C1, 2 – C2, 3 – C3, 4 – C4, 5 – C5, 6 – C6, 7 – C7, 8 – C8

AVAR7

G7

Data Init

Required

0

7th Conditional Pin to Evaluate (1 – 8) 0 – NONE, 1 – C1, 2 – C2, 3 – C3, 4 – C4, 5 – C5, 6 – C6, 7 – C7, 8 – C8

AVAR8

G8

Data Init

Required

0

8th Conditional Pin to Evaluate (1 – 8) 0 – NONE, 1 – C1, 2 – C2, 3 – C3, 4 – C4, 5 – C5, 6 – C6, 7 – C7, 8 – C8

DRSLT

Y5

Data Init

Required

0

Desired Result of Action Conditional 0 - RESET 1 - SET

ASID

C0

Alg. Init

Variable

0

Action Conditional Action Sid

ASPIN

C1

Data Init

Required

0

Action State Pin to Activate (0 – 4) 0 – State Pin 1 1 – State Pin 2 2 – State Pin 3 3 – State Pin 4

APC_002

289

12.3 What are the SCStep and SCStepNA algorithms?

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

AQUAL

C2

Data Init

Required

D EFAULT VAL UE

0

D ESCRIPTION

Action Qualifier (0 – 4) 0 – None 1 – Start without Reset 2 – Start then Reset 3 – Start then Reset when PASS is TRUE 4 – Delay Only

290

ADLY

C3

Tuning Constant

Required

0

Action Delay (sec)

AEST

C4

Tuning Constant

Required

1

Expected Start Time (sec)

APC_002

12.3 What are the SCStep and SCStepNA algorithms?

12. 3.1 2 Acc essi ng advanced editi ng for the SCS tep and SCS tepNA algorithms in the Control Builder To access the Advanced Applications Studio for the SCStep and SCStepNA algorithms, see To use the Advanced Applications Studio to view and edit advanced algorithms (see page 20). SCStep and SCS tepNA algori thm s - I/O Confi gur ation tab The Input/Output Configuration tab allows you to view configured algorithm input/output parameters for the SCStep/SCStepNA algorithms. This tab is informational only. You cannot edit options from this dialog box or sort the columns in this table.

Figure 81 : Advanced editor window for SCS tep algorithm - I/O Configuration tab

APC_002

291

12.3 What are the SCStep and SCStepNA algorithms?

SCStep algorithm - Action Condi tional tab The Action Conditional tab provides a list of conditional statements that have been defined for step. Through this window, you can also access the Conditional window allowing you to define or edit conditionals. Note: The Action Conditional tab is grayed out and not available for use with the SCStepNA algorithm. The information in the Action Condition tab can be viewed in two different modes: 

Serial Mode -- only one action conditional is evaluated at a time in sequential order.



Parallel Mode -- only one action conditional is evaluated for the entire step.

Refer to Serial and parallel modes (see page 279) for more information.

Figure 82 : Advanced editor window for SCS tep algorithm - Action Conditi onal tab (Se rial Mode)

292

APC_002

12.3 What are the SCStep and SCStepNA algorithms?

Figure 83 : Advanced editor window for SCS tep algorithm - Action Conditi onal tab (Pa rallel Mode) The figure above shows the information for the Action Conditional tab. You may modify any field that has a white background. Fields that have a background shaded with a color cannot be edited. The following table discusses the Action Conditional tab fields. F IELD

D ESCRIPTION

Conditional Statement

Conditional Statement column only shown when Serial Mode is selected. For serial mode, all conditionals are shown since they are executing in a sequential order. For Parallel mode, one conditional appears at the top of the window since the actions are executing all at the same time, based on that conditional. Select an item in the Conditional Statement column or click on the Conditional Statement field and the Conditional window (see page 294) appears allowing you to create or modify a c onditional.

Action Point Name

Point name associated with the action.

Action Qualifier

Determines what the state pin should do. The options are available in a drop-down menu. See Action conditionals and qualifiers (see page 278) for more information.

State Pin

States associated with the action. Every action has four state pins. The options are State Pin 1 - 4 and can be accessed from a drop-down menu.

Action Delay

The amount of time in seconds that the action will be delayed. This is based on the setting for the Action Qualifier.

Expected Start Time

For the "Start then Reset" qualifier, this is the amount of time in seconds that a state pin (S1 - S4) will be set True. For the "Start then wait for PASS qualifier," (PASS1 it is the amount of time thedoes stepnot willhappen wait before actionof receives feedback - PASS4). If this in thethe amount time defined, the step stalls.

Once you have made the desired changes, select the OK button to save the changes and close the window. Select the Close button to quit the window without saving any changes.

APC_002

293

12.3 What are the SCStep and SCStepNA algorithms?

Creating a cond itional for the SC Step algorithm The Conditional window provides a user friendly way to create conditionals. You select an Action Condition (C1 - C8), a Conditional Operator (OR or AND), and a desired result (TRUE or FALSE). Note: The Conditional window is not available for use with the SCStepNA algorithm. Once you are satisfied with your conditional, select one of the following buttons:

294



OK -- saves the conditional and closes the window.



Reset -- clears all the window entry fields. Note that if you only want to clear part of the conditional, highlight the last desired section, and press the Clear From This Poi nt button.



Close -- exits the window without saving any changes.

APC_002

12.3 What are the SCStep and SCStepNA algorithms?

SCStep and SCS tepNA algori thm s - Step Transit ion t ab The Step Transition tab determines how the step transitions to the next step. Refer to Transitioning to next step (see page 279) for more information.

Figure 84 : Advanced editor window for SCS tep algorithm - Step Transition t ab The figure above shows the information for the Step Transition tab. You may modify any field that has a white background. Fields that have a background shaded with a color cannot be edited. The following table discusses the Step Transition tab fields.

APC_002

F IELD

D ESCRIPTION

Transition Point

Digital output point associated with the transition. Up to four transition points (TP1 - TP4) can be defined.

Type

Type of Ovation transition point (Digital/Analog). This field is read-only.

Operator

Type of operators. See Transitioning to next step (Jump Template) (see page 279) for a complete list of operators.

Variable

Variable associated with the operator. For example, if the operator is "greater than or equal to" and the variable "3," then if the transition point is greater than or equal to 3, then it will proceed to the next step.

Next Step

Point name of the next step that will execute if the conditional is met.

Digital Transition Output

Digital output point that is set if the transition is made.

Transition Wait Time

Amount of time the step should be transitioning and ready before transition to the next step is allowed.

Transition Monitoring Time

Amount of time a step can run in Transition state before declaring a stall if the TRDY pin is not set or no transition conditional is satisfied.

295

12.3 What are the SCStep and SCStepNA algorithms?

12.3 .1 3 Accessi ng the Advanced Signal Diagrams

Tuning wind ow for the SC Step algorith m in

To access advanced editing in signal diagrams, see To access the Advanced Tuning window for APC Toolkit algorithms in signal diagrams (see page 28). SCStep and SCS tepNA advanced tu nin g win dow -- Se lected Step tab From a signal diagram, right-click on an SCStep or SCStepNA algorithm, and select Advanced Tuning from the menu that displays. The A dvanced Tuning window for SCStep/SCStepNA appears (see the following figure).

Figure 85 : Adv anced tuning window in s ignal diagrams for SCS tep/S CStepNA algorithm -Selected Step tab The previous figure shows the information for the Selected Step tab. The Selected Step tab shows you all the information for the step you selected. You may modify any field that has a white background. Fields that have a background shaded with a color cannot be edited.

296

APC_002

12.3 What are the SCStep and SCStepNA algorithms?

SCStep advanced tuning window -- Action Information t ab From a signal diagram, right-click on an SCStep algorithm, and select Ad vanced Tunin g from the menu that displays. The Advanced Tuning window for SCStep appears (see the following figure) The Action Information tab shows you all the actions associated with the step you selected. The fields on this window are read-only and cannot be edited. Note: The Action Information tab is not available for use with the SCStepNA algorithm.

Figure 86 : Advanced tunin g wind ow in signal diagrams for Information tab

APC_002

SCStep algorithm -- Action

297

12.4 What is the SCAction algorithm?

12 .4 What is the SC Acti on a lgor ith m? The SCAction algorithm defines a single action which needs to be taken to complete a portion of a step. Each action can process up to four different states. You must assign a user-defined point name to each action conditional.

12.4 .1 Actio n and action st

ate descript ions f or SCAction algori

thm

You may provide a description for each action (DESC) using the APC Toolkit editor window inside the Control Builder. This field will not be tunable from a signal diagram. The description can be a maximum of 80 characters. You will be able to provide a description for each action state using the Advanced Applications Studio in the Control Builder. This will be stored in the AJ, AK, AL, AM record fields and will have an eight-character limit. See Ovation Record Types Reference Manual for more information on record fields.

12.4 .2 Busy sign al and comm unicatio n Once the action receives a command from a SCStep, it will determine if it is busy or not. The SCAction will be busy any time a Step is communicating with it. If busy, the SCAction will communicate to the SCStep that it is busy. The SCStep will communicate to the SCTask that it is stalled. The SCTask will then set the STALL pin TRUE. The SCStep will continue to request the Action until the Action is not busy. Once not busy, the Action will activate the requested state.

12. 4.3 Operation The Action will first determine if the requested state is ready by evaluating the appropriate RDY input pin for that state. By default, if the RDYx pins are not connected, the action will assume the state is ready. If the RDY pin is not true, then the Action will communicate to the Step that it is stalled, the Step will communicate to the SCTask that it is stalled and the STALL pin will be set TRUE. If the RDY input pin is true, the action will then use the appropriate action qualifier communicated by the SCStep.

12.4 .4 Stall pin

for SC Acti on

There are two kinds of Action stall:

298

1.

When Step requests a state pin (Sx) to start, but the ready pin (RDYx) for the state is not TRUE.

2.

When using Action Qualifier 3, if the PASS pin is not TRUE within the configured EST period.

APC_002

12.4 What is the SCAction algorithm?

12.4 .5 SC Actio n algorit hm fu ncti onal symb ol

12.4 .6 SC Actio n algor ithm definiti ons Note: Algorithm Record Type = LC SCAction algorithm definitio NA ME

ns

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

-

Variable

Optional

-

Variable

RDY3

-

RDY4

D EFAULT VA L UE

D ESCRIPTION

M I N. P OINT R ECORD

-

The device/process controlled by state 1 being is ready when TRUE.

LD, LP

Optional

-

The device/process being controlled by state 2 is ready when TRUE.

LD, LP

Variable

Optional

-

The device/process being controlled by state 3 is ready when TRUE.

LD, LP

-

Variable

Optional

-

The device/process being controlled by state 4 is ready when TRUE.

LD, LP

PASS1

-

Variable

Optional

-

The device/process being controlled by state 1 has finished when TRUE.

LD, LP

PASS2

-

Variable

Optional

-

The device/process being controlled by state 2 has finished when TRUE.

LD, LP

PASS2

-

Variable

Optional

-

The device/process being controlled by state 3 has finished when TRUE.

LD, LP

Inputs: RDY1

RDY2

APC_002

299

12.4 What is the SCAction algorithm?

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

M I N. P OINT R ECORD

PASS4

-

Variable

Optional

-

The device/process being controlled by state 4 has finished when TRUE.

LD, LP

S1

-

Variable

Optional

-

Set TRUE when state 1 is activated.

LD, LP

S2

-

Variable

Optional

-

Set TRUE when state 2 is

LD, LP

activated. Set TRUE when state 3 is activated.

LD, LP

Outputs:

S3

-

Variable

Optional

-

S4

-

Variable

Optional

-

Set TRUE when state 4 is activated.

LD, LP

BUSY

C0

Variable

Optional

-

Set TRUE when SCAction is processing commands.

LD, LP

STAT

C1

Variable

Optional

-

Status and related bit number:

LP



State1 - Ready = 0



State2 - Ready = 1



State3 - Ready = 2



State4 - Ready = 3



State1 - Active = 4



State2 - Active = 5



State3 - Active = 6



State4 - Active = 7



State1 - Pass = 8



State2 - Pass = 9



State3 - Pass = 10



State4 - Pass = 11



State1 - Stall = 12



State2 - Stall = 13



State3 - Stall = 14



State4 - Stall = 15

Params:

300

CSTEP

G1

Alg. Init.

Variable

-

Current controlling step SID.

-

AQ1

G2

Alg. Init.

Variable

-

Current qualifier for state pin 1

-

AQ2

G3

Alg. Init.

Variable

-

Current qualifier for state pin 2

-

AQ3

G4

Alg. Init.

Variable

-

Current qualifier for state pin 3

-

AQ4

G5

Alg. Init.

Variable

-

Current qualifier for state pin 4

-

APC_002

12.4 What is the SCAction algorithm?

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

M I N. P OINT R ECORD

ADLY1

R1

Alg. Init.

Variable

-

Current delay for state pin 1

-

ADLY2

R2

Alg. Init.

Variable

-

Current delay for state pin 2

-

ADLY3

R3

Alg. Init.

Variable

-

Current delay for state pin 3

-

ADLY4

R4

Alg. Init.

Variable

-

Current delay for state pin 4

-

AEST1

R5

Alg. Init.

Variable

-

Current expected start time for state pin 1.

-

AEST2

R6

Alg. Init.

Variable

-

Current expected start time for state pin 2.

-

AEST3

R7

Alg. Init.

Variable

-

Current expected start time for state pin 3.

-

AEST4

R8

Alg. Init.

Variable

-

Current expected start time for state pin 4.

-

DESC

TT

Data Init.

Optional

-

User-defined description of this action.

-

S1DES

AJ

Data Init.

Optional

-

User-defined description for State 1.

-

S2DES

AK

Data Init.

Optional

-

User-defined description for State 2.

-

S3DES

AL

Data Init.

Optional

-

User-defined description for State 3.

-

S4DES

AM

Data Init.

Optional

-

User-defined description for State 4.

-

12.4 .7 Accessi ng advanced editing f Builder

or the SCAction algor

ithm in th e C ontro l

To access the Advanced Applications Studio in the Control Builder for the SCAction algorithm, refer to To use the Advanced Applications Studio to view and edit advanced algorithms (see page 20). Note: No default tuning window is available for the SCAction algorithm in signal diagrams.

APC_002

301

S

ECTION

13

Using the S ootblo wer a lgori thms

IN THIS SECTION What are the Sootblower algorithms? ............................................................................. 304 Using algorithm ............................................................................................. 305 Using the the Blower SBSequence algorithm ................................................................................... 312 Using the SBScheduler algorithm ................................................................................... 329 Using the SBMaster algorithm ........................................................................................ 333

APC_002

303

13.1 What are the Sootblower algorithms?

13 .1 Wha t a re the S ootb lower a lgor ith ms? The Sootblower program is comprised of sequential logic, which is implemented in an Ovation Advanced Controller. Sootblowing control is performed through the execution of a master sequence, in the Cascade (Auto) Mode, or through the activation of a sequence in either Continuous or Once Modes on the individual sequence level. The Ovation APC Sootblower algorithm suite contains four algorithms which perform sequencing related to: 

Each individual sootblower in the plant (Blower (see page 305)).



Defining a sequence of blowers to be used (SBSequence (see page 312)).



Scheduling these sequences (SBScheduler (see page 329)). Providing an overall ability to manipulate and change sequences and schedules (SBMaster (see page 333)).



Note: All Sootblower algorithms in a single Controller must be in the same control task area. The overall ability provides up to 99 sequences each of which can have up to 99 steps, allowing for extreme flexibility in how the sootblowing is achieved. In addition, the algorithms provide an interface for the Ovation Smart Process Sootblowing Optimization to automatically detect the cleanliness of sections of the boiler and establish a corresponding cleaning sequence to minimize losses associated with sootblowing. The Blower algorithm interfaces with and stores information about the individual sootblower. The Sequence algorithm allows the operator to activate any of the sequences to either run once and then stop (Once Mode ) or run repeatedly until aborted (Continuous Mode ). Each sequence is comprised of up to 99 user-defined blowing actions (Steps ) that are implemented in sequential order until all are finished, at which point the sequence is complete. These sequences are defined or modified by the Operator before they are implemented in a sootblowing process. A step is a predefined sootblowing action that determines the sootblower to be blown at that time. Up to four sootblowers can run at the same time in one step. The Scheduler algorithm interfaces with the Blower algorithms and the Sequence algorithms to make sure the total amount of air, water, steam, and so forth, would not be exceeded if the blower ran. The Master algorithm controls the sequences when they are in Auto mode. CAUTION! Stop all logic connected to any Blower, Master, or Sequence currently running before doing an incremental load of any related control sheets.

304

APC_002

13.2 Using the Blower algorithm

13 .2 Using the Blow er algorit hm Note: The Blower algorithm can only be purchased as part of an engineered solution. The Blower algorithm serves as a packed point decoder for a sootblower whose ID number is stored in NUM, whose logic group number is stored in GRPID, and whose initial priority is stored in PRITY. The algorithm can start the related blower and detect when a blowing cycle finishes. There is a minimum idle time (MINT), in seconds. There must be at least one second between starts of the same blower. If the blower is running slower than one second area, MINT is the control area frequency. There is also a running percentage (RUNPC) for the blower. For example, RUNPC=25% means the blower should run one time out of four non-manual requests. Note: Running percentages that do not divide into 100 evenly will be rounded down to the nearest integer. For example, if the running percentage is set to 75 (100/75 = 1.33, which is rounded to 1), the blower will run one time for every one request. The following are additional examples: 100% means the blower will run one out of every one request. 50% means the blower will run one out of every two requests. 33% means the blower will run one out of every three requests. 25% means the blower will run one out of every four requests.

13.2 .1 Blower algori

thm f unct ional sym bol

Figure 8 7: Blower Algorithm functi

APC_002

onal symbol

305

13.2 Using the Blower algorithm

13.2 .2 Blower algor

ithm func tionalit y details

The Blower algorithm monitors the blower input (BLWIN). When the bit corresponding to the blower number is set and idle time and running percentage allows blowing, the algorithm sets the START output pin. When the blower starts, the number of starts (NUMST) is incremented. However, if the minimum time has not expired when the corresponding BLWIN bit is set, the BLWIN bit is immediately reset. If the running percentage does not allow blowing, the BLWIN bit is immediately reset and the waiting number (WAIT) is updated. After the START output pin is set, the algorithm starts monitoring the IDLE input pin. When IDLE is set, the algorithm resets the bit in the packed point corresponding to the blower number. In each control loop while the blower is blowing, the number of control loops (NUMLP) increases and the actual blowing time (TTTIM) in seconds updates. When the reset input becomes TRUE, the NUMST and WAIT fields zero out. If the blower is in idle, the idle timer (IDLET) increases. If the scheduler is running in priority queue mode, the initial blower priority (PRITY) determines this blower's initial priority. The higher the number, the higher the priority. Refer to the SBScheduler algorithm (see page 329) for further details. If the TAGOT (tag out) input pin is set to TRUE, the TGDOT output pin is also set to TRUE and the START pin will not be set for this blower. The SBSequence algorithm skips this blower and moves on to the next pass of the current step or the next step. If, however, the START pin is set before the TAGOT pin is set, the TGDOT pin will not be set TRUE for this blower. Once the START pin is unset, if TAGOT is still set, TGDOT will be set TRUE. Once the TAGOT pin is set to FALSE, the TGDOT output pin is set FALSE, and the START pin is able to be set. Note: For intelligent sootblowing applications, the DSABL and DSABD pins perform the same functions and work the same way as the TAGOT/TGDOT pins. The Blower algorithm contains all the information about the blower. This includes the ID number (NUM), the name (Name1, Name2), the blowing resource requirements such as medium type (MEDTY), medium resource requirements (MEDRQ), the holding register starting address (HRSTR) and the logic group number (GRPID). The Blower algorithm makes sure that the holding register corresponding to this blower contains its own system identification. This information is needed by the other sootblower algorithms. Since the holding registers are not broadcast on the Ovation network, all of the SBScheduler and SBSequence algorithms must reside with the related Blower algorithms on the same Ovation Controller and in the same control area. The Blower algorithm also receives manual start requests and then communicates with the SBScheduler algorithm to determine if a manual start satisfies both medium and mutual exclusion constraints. The manual start request is continuously sent to the SBScheduler algorithm until the permission is granted. Manual start is not restricted by running percent (RUNPC) and minimum idle time (MINT) values, and is considered as the highest priority request in the SBScheduler. If a user makes a manual start request using the MANST pin while the MLO (manual latch option) is enabled and the blower is already started, then the manual start request will be stored and will attempt to start the blower when it completes its current task.

306

APC_002

13.2 Using the Blower algorithm

13.2 .3 Accessi ng advanced editing f

or the Blo wer algorith

m in th e C ontro l Buil der

The Blower algorithm does not use advanced edits and does not have any parameters that appear in the Advanced Applications Studio. For the Blower algorithm, all parameters are defined through the Control Builder Property Editor. See To use the Property Editor to edit advanced algorithms (see page 19) for more information. To identify parameters, hover the mouse pointer over the entries in the Property Editor. The parameter name appears as a tooltip. For information on valid parameter values, see Blower algorithm definitions (see page 308). The following figure shows an example of the Property Editor for the Blower algorithm.

Figure 88 : Blower algorithm

APC_002

parame ters shown in Property Editor

307

13.2 Using the Blower algorithm

13.2 .4 Blower algorithm

definiti ons

Blower algorithm definitions

308

NA ME

L C AL G. R ECORD F IELD

TYPE

DIAG

LU - Integer

Data Init

R EQUIRED / O PTIONAL

D EFAULT VAL UE

D ESCRIPTION

M I N. P OINT REC.

Required

154

Tuning diagram number.

-

BLWIN

-

-

Required

-

Blower input for 1 blower.

LP

IDLE

-

-

Required

-

Done signal when this blower is done.

LD/LP

RESET

-

-

Required

-

Reset.

LD/LP

MANST

-

-

Optional

-

Manual start request.

LD/LP

START

-

-

Required

-

Start output.

LD/LP

SQPCT

-

-

Optional

-

Sequence completed signal.

LD/LP

NAME1

G0 - Integer

Data Init

Required

-

Blower name -- 1st two characters.

-

NAME2

G1 - Integer

Data Init

Required

-

Blower name -- 2nd two characters.

-

NUM

G2 - Integer

Data Init

Required

0

Blower number (1-999).

-

HRSTR

G3 - Integer

Data Init

Required

0

Holding register start (default value).

-

MEDRQ

R1 - Real

Data Init

Required

0

Amount of medium required.

-

MEDTY

G7 - Integer

Data Init

Required

1

Medium type: 1-4.

-

GRPID

G8 - Integer

Data Init

Required

1

Logic group ID (1-8).

-

NUMST

G4 - Integer

Alg. Init

--

0

Number of starts.

-

NUMLP

G5 - Integer

Alg. Init

--

0

Number of loops running.

-

TTTIM

R5 - Real

Alg. Init

--

0

Actual blowing time (in seconds).

-

IDLET

R8 - Real

Alg. Init

--

0

Current idle time (in seconds).

-

WAIT

G6 - Integer

Alg. Init

--

0

Number of start request to bypass.

-

LASTRT

T1 - Real

Alg. Init

--

0

Last runtime value. This is the amount of time it took in seconds for the blower to run, the last time it ran.

--

APC_002

13.2 Using the Blower algorithm

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VAL UE

D ESCRIPTION

M I N. P OINT REC.

Note: The following parameters -- TSSEC, TSMIN, TSHR, TSDAY, TSMTH, AND TSYR -- are listed as separate fields but operate as one parameter. These times are shown in Greenwich Mean Time (GMT). TSSEC

F4 - Integer

Alg. Init

--

0

This is the time that the blower started running.

--

TSMIN

F5 - Integer

Alg. Init

--

0

This is the time that the blower started running.

--

TSHR

F6 - Integer

Alg. Init

--

0

This is the time that the blower started running.

--

TSDAY

XV - Integer

Alg. Init

--

0

This is the time that the blower started running.

--

TSMTH

XU - Integer

Alg. Init

--

0

This is the time that the blower started running.

--

TSYR

XR - Integer

Alg. Init

--

0

This is the time that the blower started running.

--

RUNPC

R6 - Real

Tuning constant

Required

100

Running percentage (min=0, max=100).

-

MINT

R7 - Real

Tuning constant

Required

1

Minimum required idle time (in seconds).

-

PRITY

G9 - Integer

Tuning constant

Required

1

Initial priority value.

-

EXRT

S1 - Real

Tuning

Required

0

Expected run time (in

-

EXST

S2 - Real

constant Tuning constant

Required

0

seconds). Expected start time (in seconds).

-

MLO

X2 - Byte

Data Init

Required

0

Manual latch option.

-

0 = On - Blower will store the MANST request if the request comes in when the blower is started. 1 = Off - Blower will not store the MANST request.

APC_002

RUNFB

-

Variable

Optional

-

Feedback signal from the blower into the BLOWER algorithm.

LD

RUNTM

-

Variable

Optional

-

Used with RUNFB, reports the actual running time of the

LA

IDLTM

-

Variable

Optional

-

blower in seconds. Used with RUNFB, reports the actual idle time of the blower in seconds.

LA

309

13.2 Using the Blower algorithm

NA ME

L C AL G. R ECORD F IELD

RTED

D EFAULT VAL UE

M I N. P OINT REC.

TYPE

R EQUIRED / O PTIONAL

Variable

Optional

-

Used with RUNFB, reports TRUE if the actual run time exceeds the expected run time.

LD

D ESCRIPTION

STMAL

-

Variable

Optional

-

Used with RUNFB, reports TRUE if the running feedback signal does not start within a user-defined expected start time.

LD

TAGOT

-

Variable

Optional

-

Use to "tag out" the blower for maintenance.

LD

TRUE = Blower tagged out FALSE=Blower not tagged out TGDOT

-

Variable

Optional

-

If TAGOT is set TRUE, this pin is set to TRUE. The SBSequence algorithm will skip this blower and move on to the next pass of the current step or the next step. Once TAGOT is set to FALSE, TGDOT is set to FALSE also.

LD

DSABL

-

Variable

Optional

-

Use in intelligent

LD

sootblowing to "disable" the blower. TRUE = Blower disabled FALSE=Blower not disabled DSABD

310

-

Variable

Optional

-

In intelligent sootblowing, if DSABL is set TRUE, this pin is set to TRUE. The SBSequence algorithm skips this blower and moves on to the next pass of the current step or the next step. Once DSABL is set to FALSE, DSABD is set to FALSE also.

LD

APC_002

13.2 Using the Blower algorithm

13.2 .5 Accessi ng the tuning w

indow f or the Blower algorith

m in sign al diagra ms

To access advanced editing in signal diagrams, see To access the Advanced Tuning window for APC Toolkit algorithms in signal diagrams (see page 28). Blower tuning window The Blower tuning window is a read-only diagnostic window. No tuning can be performed from this window.

Figure 8 9: Blower tuning win dow

APC_002

311

13.3 Using the SBSequence algorithm

13 .3 Using the

SBS equence

algorit hm

Note: The SBSequence algorithm can only be purchased as part of an engineered solution. The SBSequence algorithm represents a user-defined sootblower operation sequence and controls the starts of the individual sootblowers in the sequence. The sequence ID number is stored in SEQNM (between 1 and 99). One sequence can control up to 99 blowing steps. The number of the actual blowing steps is specified in STPNM (between 1 and 99). Each blowing step consists of up to four blowers that can run at the same time if both medium and mutual exclusion constraints are satisfied. You can configure each blowing step with desired blower ID numbers (between 1 and 999) and specify desired time-delay between steps.

13.3 .1 SBSe quence algorit

hm func tional symb ol

Figure 90 : SBSe quence functio nal symbo l

312

APC_002

13.3 Using the SBSequence algorithm

13.3 .2 SBSe quence algorit

hm func tionalit y details

There are three basic operating modes for each sequence: 

Once Mode : Upon your manual request, the sequence runs once and then stops.



Continuous Mode : Upon your manual request, the sequence runs continuously.



Auto Mod e: The sequence is controlled by the SBMaster.

You can switch modes using the keyboard. The current operating mode displays in the G0 field of the algorithm record MODE. There are four basic (1-RUNNING, 2-HELD, 3-FINISHED 4-REST) eachAsequence. The current status is states displayed in the STAT algorithm field or the and EXTR2 outputfor point. number of external events, for example, keyboard actions or commands from SBMaster, can trigger the switching of status. Note: The default state for the SBSequence is ONCE mode. If using the SBMaster algorithm the priority sequence must be in AUTO mode to function.

13.3 .3 Accessi ng advanced editin Builder

g for the SBSe quence algorith

m in the Control

To access the Advanced Applications Studio in the Control Builder for the SBSequence algorithm, refer to To use the Advanced Applications Studio to view and edit advanced algorithms (see page 20). Note: No default tuning window is available for the SBSequence algorithm in signal diagrams.

APC_002

313

13.3 Using the SBSequence algorithm

SBSequence algorithm Input/Output Config

uration tab

The Input/Output Configuration tab allows you to view configured algorithm input/output parameters for the SBSequence algorithm. This tab is informational only. You cannot edit options from this dialog box or sort the columns in this table.

Figure 91: SBSe quence Input/Output Config

314

uration tab

APC_002

13.3 Using the SBSequence algorithm

SBSequenc e algorit hm General Pa rameters tab The General Parameters tab displays the defined algorithm general (global) parameters for the Sequencer algorithm. Only the Value column can be edited in this tab. Integer values must be between 1-99. To edit a value, double-click inside the value cell. Enter the change and press the key on the keyboard or click inside another cell so that the change you made takes effect. Press OK to save the change.

Figure 92: SBSequence General Paramete rs t ab

APC_002

315

13.3 Using the SBSequence algorithm

SBSequence algorithm Auxiliary Paramete rs tab The Auxiliary Parameters tab allows you to define the algorithm auxiliary (step) parameters. To define the step parameters: 1.

Select the tab which contains the step you want to define.

2.

Double-click inside the value cell you want to edit. Left-click to enter a value. Right-click to get a pull-down of valid values. Once the change is entered, press OK to post the change. The integer value for this field must be between 0-999, where 0 = not in use.

Figure 93: SBSequence Auxiliary Parameters tab

316

APC_002

13.3 Using the SBSequence algorithm

13.3 .4 How do es the SBSe quence algori

thm work ?

1.

When a sequence finishes, either normally or because of an abort, the SBSequence algorithm sends out a one-shot type of signal from the SQCPT pin, which is used by the SBMaster algorithm.

2.

There are four types of holding situations. You can identify what causes the current holding situation from the four output pins: 



Manual Hold (HLDMN) - Operator hold from the keyboard. The operator must cli ck UNHLD to continue the sequence. If the sequence is in AUTO mode, then both HLDMN and UNHLD have no effect on the sequence. Schedulaer Hold (HLDRS) - Scheduler hold because of unsatisfied restrictions. Before starting sootblower in a step, the SBSequence algorithm sends a request to the related SBScheduler algorithm to determine if the required amount of the blowing medium is available and if the mutual exclusion condition is satisfied. If either of the two constraints is violated, the SBSequence holds the sequence and sets the HLDRS pin until permission is granted.



Time Delay Hold (HLDTD) - The minimum time delays between sequences or between steps or between blowers in a step have not been met. The sequence sets HLDTD and keeps it set until the related time delay has been met.



Master Hold (HLDPR) - The SBMaster algorithm has requested a hold. There are two reasons for this hold:

a) The sequence is running in AUTO mode and the master has requested a HOLD (MSHLD) set in the master and all sequence inputs are set to -2. b) The following three conditions must be met: 

PROPT is set to 2 - hold for a priority sequence.



The current sequence is not the priority sequence.



The master has requested the priority sequence to run. If the current sequence is in AUTO, it resumes when the priority request has finished. If the current sequence is in manual (either once or continuous mode) the operator must click UNHLD to continue the sequence. If PROPT is set to 1 - ignore priority, the master request of the priority sequence has no effect on the current sequence. The priority sequence must be in AUTO mode and runs whenever the master requests it to run. 3.

APC_002

In each step, the SBSequence algorithm starts the first blower by setting the corresponding blower bit in the packed points. The SBSequence algorithm starts each blower sequentially with a time delay before starting the next blower. Each of these time delays can be initialized separately in TD12, TD23 and TD34. Before starting any sootblower, the SBSequence algorithm checks if the blowing medium, mutual exclusion and the minimum idle time requirement have been met.

317

13.3 Using the SBSequence algorithm

While one or more blowers are running, the SBSequence algorithm is continually monitoring the bits corresponding to the running blowers to determine whether the blowers are done. When all the blowers for this step are finished (the packed point bit corresponding to the blower has been reset), the SBSequence algorithm moves to the next step until the last step finishes. You can specify desired minimum time-delay between each step in the related (TDSi) fields. However, these values are overwritten by the value from the Master Idle Time between Steps (MDSTP) input pin if it is used or by the value given in the ADVTD from SBMaster if it is used. You can also specify desired minimum time-delay between the starts of the same sequence in (TDSEQ). However, it can be overwritten by the value from the Master Idle Time between Sequences (MDSEQ) input pin if it is used. If either the TGDOT (tagged out) pin or the DSABD (disabled) pin is set TRUE, SBSequence skips that blower. SBSequence continues with the next step or the next pass of the current 4.

step. An SBSequence algorithm should connect to all the SBScheduler algorithms available in the system using medium pins 1 (MDID1 - MDID4) through 4.

5.

The current step number is displayed on the Extra Pin (EXTR1) pin while the current status is displayed on the EXTR2 pin (1-RUNNING, 2-HELD, 3-FINISHED, 4-REST and 5-ABORTING). EXTR1 and EXTR2 are used for graphics only. EXTR3 shows the current mode of the sequencer (1-Once, 2-Continuous, 3-Auto). EXTR4 shows a countdown timer until the next requested blower start.

6.

The values in the Start Holding Register (HRSTR) fields of all the SBSequence, SBScheduler and Blower algorithms must be the same.

7.

The sequence running status can be monitored by reading the values of the (CSTP/C3, CBLW1/C4, CBLW2/C5, CBLW3/C6, CBLW4/C7, MODE/G0, STAT/G1, SEQTM/R1, STPTM/R2 and BLW/R3) fields in Ovation Point Information.

8.

The input pins of ONCE, CONT, AUTO, START, ABORT, HOLD, and UNHLD are normally connected to a keyboard algorithm.

9.

All of the PKx input pins should be connected to Input Connectors to which packed digital points are assigned. PK1 must always be connected. All packed points (PK1-PK64) are input points to the sequence algorithm.

10. All the time units are in seconds. The algorithm checks up to nine auxiliary LC records to determine which blower to start. Steps 1 12 are defined in Auxiliary 1, steps 13 - 24 in Auxiliary 2, and so forth. The actual blower number (1-999) determines the packed bits that are set and checked by the SBSequence algorithm by using the following equations: packed word = (blower number -1)/16; packed bit = remainder of (blower number -1)/16 holding register offset

318

= (blower number -1) * 2.

APC_002

13.3 Using the SBSequence algorithm

For example, in Step 3, Blower 5, 35, 65 and 128 are used. Then the B0, B1, B2 and YU fields in the algorithm point record should be 5, 35, 65 and 128 respectively. The packed word/bit/ holding register combinations are shown in the following table: Packed word/bit Holding

Register comb inations

A LGORITHM F IELD

VA L UE

PACK ED W OR D

PACKED BIT

H OLDING O FFSET

B0

5

0

4

8

B1 B2

35 65

2 4

2 0

68 128

YU

128

7

15

254

13.3 .5 SBS equence algori

R EGISTER

thm definiti ons

Note: Algorithm record type = LC SBSequence a lgorith m definition s

APC_002

NA ME

L C AL G. R ECORD F IELD

DIAG

M I N. P OINT R ECORD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

LU - Integer

Data Init

Required

142

Tuning Diagram Number

-

AUX1

B4 - Integer

Data Init

Required

-

SID for AUX 1

LC

AUX2

B5 - Integer

Data Init

Required

-

SID for AUX 2

LC

AUX3

B6 - Integer

Data Init

Required

-

SID for AUX 3

LC

AUX4

B7 - Integer

Data Init

Required

-

SID for AUX 4

LC

AUX5

B8 - Integer

Data Init

Required

-

SID for AUX 5

LC

AUX6

B9 - Integer

Data Init

Required

-

SID for AUX 6

LC

AUX7

B0 - Integer

Data Init

Required

-

SID for AUX 7

LC

AUX8

B1- Integer

Data Init

Required

-

SID for AUX 8

LC

AUX9

B2 - Integer

Data Init

Required

-

SID for AUX 9

LC

SEQ1

-

Variable

Required

-

First Sequence to run

LA

SEQ2

-

Variable

Optional

-

Second Sequence to run

LA

SEQ3

-

Variable

Optional

-

Third Sequence to run

LA

SEQ4

-

Variable

Optional

-

Fourth Sequence to run

LA

SEQ5

-

Variable

Optional

-

Fifth Sequence to run

LA

SEQ6

-

Variable

Optional

-

Sixth Sequence to run

LA

D ESCRIPTION

319

13.3 Using the SBSequence algorithm

NA ME

L C AL G. R ECORD F IELD

SEQ7

-

SEQ8 SEQ9

M I N. P OINT R ECORD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

Variable

Optional

-

Seventh Sequence to run

LA

-

Variable

Optional

-

Eighth Sequence to run

LA

-

Variable

Optional

-

Ninth Sequence to run

LA

PSEQ

-

Variable

Optional

-

Priority Sequence to run

LA

AUTO

-

Variable

Required

-

If true, switch to AUTO mode

LD/LP

CONT

-

Variable

Required

-

If true, switch to CONTINUOUS mode

LD/LP

ONCE

-

Variable

Required

-

If true, switch to ONCE mode

LD/LP

START

-

Variable

Required

-

Manually start the sequence

LD/LP

ABORT

-

Variable

Required

-

Manually abort the sequence

LD/LP

HOLD

-

Variable

Required

-

Manually hold the sequence

LD/LP

UNHLD

-

Variable

Required

-

Manually unhold the sequence

LD/LP

MDID1

-

Variable

Optional

-

Sid of the scheduler for medium type 1

PD

MDID2

-

Variable

Optional

-

Sid of the scheduler for medium type 2

PD

MDID3

-

Variable

Optional

-

Sid of the scheduler for medium type 3

PD

MDID4

-

Variable

Optional

-

Sid of the scheduler for medium type 4

PD

ADVTD

-

Variable

Optional

-

Time delay set by master

LP

MDSEQ

-

Variable

Optional

-

Master Min. IdleTime Btw Sequence

LA

MDSTP

-

Variable

Optional

-

Master Min. IdleTime Btw steps

LA

PK1

-

Variable

Required

-

Long packed point blowers 1 -16

LP

PK2

-

Variable

Optional

-

Long packed point blowers 17 -32

LP

PK3

-

Variable

Optional

-

Long packed point -

LP

D ESCRIPTION

blowers 33 - 48 PK4

320

-

Variable

Optional

-

Long packed point blowers 49 --64

LP

APC_002

13.3 Using the SBSequence algorithm

APC_002

NA ME

L C AL G. R ECORD F IELD

PK5

-

PK6

M I N. P OINT R ECORD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

Variable

Optional

-

Long packed point blowers 65 - 80

LP

-

Variable

Optional

-

Long packed point blowers 81--96

LP

PK7

-

Variable

Optional

-

Long packed point blowers 97 -- 112

LP

PK8

-

Variable

Optional

-

Long packed point blowers 113 -- 128

LP

PK9

-

Variable

Optional

-

Long packed point blowers 129 - 144

LP

PK10

-

Variable

Optional

-

Long packed point blowers 145 -- 160

LP

PK11

-

Variable

Optional

-

Long packed point blowers 161 - 176

LP

PK12

-

Variable

Optional

-

Long packed point blowers 177 -- 192

LP

PK13

-

Variable

Optional

-

Long packed point blowers 193 - 208

LP

PK14

-

Variable

Optional

-

Long packed point blowers 209 - 224

LP

PK15

-

Variable

Optional

-

Long packed point blowers 225 - 240

LP

PK16

-

Variable

Optional

-

Long packed point blowers 241 -- 256

LP

PK17

-

Variable

Optional

-

Long packed point blowers 257 - 272

LP

PK18

-

Variable

Optional

-

Long packed point blowers 273 - 288

LP

PK19

-

Variable

Optional

-

Long packed point blowers 289 - 304

LP

PK20

-

Variable

Optional

-

Long packed point blowers 305 -- 320

LP

PK21

-

Variable

Optional

-

Long packed point blowers 321 - 336

LP

PK22

-

Variable

Optional

-

Long packed point blowers 337 -- 352

LP

PK23

-

Variable

Optional

-

Long packed point blowers 353 - 368

LP

PK24

-

Variable

Optional

-

Long packed point blowers 369 -- 384

LP

PK25

-

Variable

Optional

-

Long packed point blowers 385 - 400

LP

PK26

-

Variable

Optional

-

Long packed point blowers 401 -- 416

LP

D ESCRIPTION

321

13.3 Using the SBSequence algorithm

NA ME

L C AL G. R ECORD F IELD

PK27

-

PK28

TYPE

D EFAULT VA L UE

Variable

Optional

-

Long packed point blowers 417 - 432

LP

-

Variable

Optional

-

Long packed point blowers 433 -- 448

LP

PK29

-

Variable

Optional

-

Long packed point blowers 449 - 464

LP

PK30

-

Variable

Optional

-

Long packed point blowers 465 -- 480

LP

PK31

-

Variable

Optional

-

Long packed point blowers 481 - 496

LP

PK32

-

Variable

Optional

-

Long packed point blowers 497 -- 512

LP

PK33

-

Variable

Optional

-

Long packed point blowers 513 - 528

LP

PK34

-

Variable

Optional

-

Long packed point blowers 529 -- 544

LP

PK35

-

Variable

Optional

-

Long packed point blowers 545 - 560

LP

PK36

-

Variable

Optional

-

Long packed point blowers 561 -- 576

LP

PK37

-

Variable

Optional

-

Long packed point blowers 577 - 592

LP

PK38

-

Variable

Optional

-

Long packed point -

LP

blowers 593 -- 608 Long packed point blowers 609 - 624

LP

D ESCRIPTION

PK39

-

Variable

Optional

-

PK40

-

Variable

Optional

-

Long packed point blowers 625 -- 640

LP

PK41

-

Variable

Optional

-

Long packed point blowers 641 - 656

LP

PK42

-

Variable

Optional

-

Long packed point blowers 657 -- 672

LP

PK43

-

Variable

Optional

-

Long packed point blowers 673 - 688

LP

PK44

-

Variable

Optional

-

Long packed point blowers 689 -- 704

LP

PK45

-

Variable

Optional

-

Long packed point blowers 705 - 720

LP

PK46

-

Variable

Optional

-

Long packed point -

LP

-

blowers 721 -- 736 Long packed point blowers 737 -- 752

LP

PK47

322

M I N. P OINT R ECORD

R EQUIRED / O PTIONAL

-

Variable

Optional

APC_002

13.3 Using the SBSequence algorithm

APC_002

NA ME

L C AL G. R ECORD F IELD

PK48

-

PK49

M I N. P OINT R ECORD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

Variable

Optional

-

Long packed point blowers 753 -- 768

LP

-

Variable

Optional

-

Long packed point blowers 769 - 784

LP

PK50

-

Variable

Optional

-

Long packed point blowers 785 -- 800

LP

PK51

-

Variable

Optional

-

Long packed point blowers 801 - 816

LP

PK52

-

Variable

Optional

-

Long packed point blowers 817 -- 832

LP

PK53

-

Variable

Optional

-

Long packed point blowers 833 - 848

LP

PK54

-

Variable

Optional

-

Long packed point blowers 849 -- 864

LP

PK55

-

Variable

Optional

-

Long packed point blowers 865 - 880

LP

PK56

-

Variable

Optional

-

Long packed point blowers 881 -- 896

LP

PK57

-

Variable

Optional

-

Long packed point blowers 897 - 912

LP

PK58

-

Variable

Optional

-

Long packed point blowers 913 -- 928

LP

PK59

-

Variable

Optional

-

Long packed point blowers 929 - 944

LP

PK60

-

Variable

Optional

-

Long packed point blowers 945 -- 960

LP

PK61

-

Variable

Optional

-

Long packed point blowers 961 - 976

LP

PK62

-

Variable

Optional

-

Long packed point blowers 977 -- 992

LP

PK63

-

Variable

Optional

-

Long packed point blowers 993 - 1008

LP

PK64

-

Variable

Optional

-

Long packed point blowers 1009 -- 1024

LP

SQCPT

-

Variable

Required

-

Sequence Complete

LD/LP

HLDRS

-

Variable

Optional

-

Hold for resources

LD/LP

HLDTD

-

Variable

Optional

-

Hold for time-delay

LD/LP

HLDMN

-

Variable

Optional

-

Hold due to local demand

LD/LP

HLDPR

-

Variable

Optional

-

Master hold

LD/LP

EXTR1

-

Variable

Optional

-

Current Step Number

LA

D ESCRIPTION

323

13.3 Using the SBSequence algorithm

NA ME

L C AL G. R ECORD F IELD

EXTR2

-

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

Variable

Optional

-

M I N. P OINT R ECORD

D ESCRIPTION Current Sequence Status:

LA

1 = Running 2 = Held 3 = Finished 4 = Rest 5 = Aborting EXTR3

-

Variable

Optional

-

Current mode of the

LA

sequencer: 1 = Once 2 = Continuous 3 = Auto EXTR4

-

Variable

Optional

-

Time until next start. Shows a countdown timer until the next requested blower start.

LA

EXTR5

-

Variable

Optional

-

Reserved

LA

Output point SEQNM

CO - Integer

Data Init

Required

STPNM

C1- Integer

Data Init

Required

HRSTR

C2 - Integer

Data Init

Required

CSTP

C3 - Integer

Alg. Init

Required

CBLW1

C4 - Integer

Alg. Init

CBLW2

C5 - Integer

CBLW3

0

Sequence Number (1-99)

-

0

Number of steps (1-99)

-

0

Start Holding Register Number (>=0)

-

1

Currently running step number

-

Required

0

Blower No.1: 1 - running 0 - stopped

-

Alg. Init

Required

0

Blower No.2: 1 - running 0 - stopped

-

C6 - Integer

Alg. Init

Required

0

Blower No.3: 1 - running 0 - stopped

-

CBLW4

C7 - Integer

Alg. Init

Required

0

Blower No.4: 1 = running 0 = stopped

-

MODE

G0 - Integer

Alg. Init

Required

1

Mode type:

-

1 = Once, 2 = Continuous, 3 = Auto STAT

324

G1- Integer

Alg. Init

Required

3

SB Sequence Status: 1 = run 2 = held 3 = finished 4 = rest

-

APC_002

13.3 Using the SBSequence algorithm

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

M I N. P OINT R ECORD

SEQTM

R1 - Real

Alg. Init

Required

0

Sequence Timer

-

STPTM BLWTM

R2 - Real

Alg. Init

Required

0

Step Timer

-

R3 - Real

Alg. Init

Required

0

Blower Timer

-

TD12

G2 - Integer

Tuning constant

Required

1

Time Delay (seconds) between 1st and 2nd blowers

-

TD23

G3 - Integer

Tuning constant

Required

1

Time Delay (seconds) between 2nd and 3rd blowers

-

TD34

G4 - Integer

Tuning constant

Required

1

Time Delay (seconds) between 3rd and 4th blowers

-

TDSEQ

G5 - Integer

Tuning constant

Required

1

Min. IdleTime (seconds) Btw Sequence

-

PROPT

G6 - Integer

Tuning constant

Required

1

1 = Ignore priority 2 = Hold for priority

-

Note: Valid sequence numbers are 1 - 99.

13.3 .6 SBS equence auxiliary

algorithm

definiti ons

In addition to the following algorithm description, there are eight more auxiliaries defined for Steps 13-24, 25-36, 37-48, 49-60, 61-72, 73-84, 85-96, and 97-108. Au xi li ary SBSequen ce al go ri th m No. 1 – No. 9 (only No. 1 is sh ow n)

NA ME

LC ALG R ECORD F IELD

R EQUIRED / O PTIONAL

D EFAULT VAL UE

D ESCRIPTION

DIAG

LU - Integer

Reconcilable Constant

Required

0

Tuning Diagram Number

S1B1

G0 - Integer

Reconcilable Constant

Required

0

Step 1 Blower 1

S1B2

G1 - Integer

Reconcilable Constant

Optional

0

Step 1 Blower 2

S1B3

G2 - Integer

Reconcilable Constant

Optional

0

Step 1 Blower 3

S1B4

G3 - Integer

Reconcilable

Optional

0

Step 1 Blower 4

G4 - Integer

Constant Reconcilable Constant

Optional

0

Delay (seconds) between step 1 and step 2

S1TD

APC_002

TYPE

325

13.3 Using the SBSequence algorithm

NA ME

LC ALG R ECORD F IELD

R EQUIRED / O PTIONAL

D EFAULT VAL UE

D ESCRIPTION

S2B1

G5 - Integer

Reconcilable Constant

Optional

0

Step 2 Blower 1

S2B2

G6 - Integer

Reconcilable Constant

Optional

0

Step 2 Blower 2

S2B3

G7 - Integer

Reconcilable Constant

Optional

0

Step 2 Blower 3

S2B4

G8 - Integer

Reconcilable Constant

Optional

0

Step 2 Blower 4

S2TD

G9 - Integer

Reconcilable Constant

Optional

0

Delay (seconds) between step 2 and step 3

S3B1

B0 - Integer

Reconcilable Constant

Optional

0

Step 3 Blower 1

S3B2

B1- Integer

Reconcilable Constant

Optional

0

Step 3 Blower 2

S3B3

B2 - Integer

Reconcilable Constant

Optional

0

Step 3 Blower 3

S3B4

YU - Integer

Reconcilable Constant

Optional

0

Step 3 Blower 4

S3TD

B4 - Integer

Reconcilable Constant

Optional

0

Delay (seconds) between step 3 and step 4

S4B1

B5 - Integer

Reconcilable Constant

Optional

0

Step 4 Blower 1

S4B2

B6 - Integer

Reconcilable

Optional

0

Step 4 Blower 2

TYPE

Constant

326

S4B3

B7 - Integer

Reconcilable Constant

Optional

0

Step 4 Blower 3

S4B4

B8 - Integer

Reconcilable Constant

Optional

0

Step 4 Blower 4

S4TD

B9 - Integer

Reconcilable Constant

Optional

0

Delay (seconds) between step 4 and step 5

S5B1

C0 - Integer

Reconcilable Constant

Optional

0

Step 5 Blower 1

S5B2

C1 - Integer

Reconcilable Constant

Optional

0

Step 5 Blower 2

S5B3

C2 - Integer

Reconcilable Constant

Optional

0

Step 5 Blower 3

S5B4

C3 - Integer

Reconcilable Constant

Optional

0

Step 5 Blower 4

S5TD

C4 - Integer

Reconcilable Constant

Optional

0

Delay (seconds) between step 5 and step 6

S6B1

C5 - Integer

Reconcilable Constant

Optional

0

Step 6 Blower 1

APC_002

13.3 Using the SBSequence algorithm

APC_002

NA ME

LC ALG R ECORD F IELD

R EQUIRED / O PTIONAL

D EFAULT VAL UE

D ESCRIPTION

S6B2

C6 - Integer

Reconcilable Constant

Optional

0

Step 6 Blower 2

S6B3

C7 - Integer

Reconcilable Constant

Optional

0

Step 6 Blower 3

S6B4

C8 - Integer

Reconcilable Constant

Optional

0

Step 6 Blower 4

S6TD

YT - Integer

Reconcilable Constant

Optional

0

Delay (seconds) between step 6 and step 7

S7B1

D0 - Integer

Reconcilable Constant

Optional

0

Step 7 Blower 1

S7B2

YQ - Integer

Reconcilable Constant

Optional

0

Step 7 Blower 2

S7B3

D2 - Integer

Reconcilable Constant

Optional

0

Step 7 Blower 3

S7B4

YP - Integer

Reconcilable Constant

Optional

0

Step 7 Blower 4

S7TD

D4 - Integer

Reconcilable Constant

Optional

0

Delay (seconds) between step 7 and step 8

S8B1

D5 - Integer

Reconcilable Constant

Optional

0

Step 8 Blower 1

S8B2

D6 - Integer

Reconcilable Constant

Optional

0

Step 8 Blower 2

S8B3

YN - Integer

Reconcilable

Optional

0

Step 8 Blower 3

S8B4

D8 - Integer

Constant Reconcilable Constant

Optional

0

Step 8 Blower 4

S8TD

D9 - Integer

Reconcilable Constant

Optional

0

Delay (seconds) between step 8 and step 9

S9B1

YM - Integer

Reconcilable Constant

Optional

0

Step 9 Blower 1

S9B2

YL - Integer

Reconcilable Constant

Optional

0

Step 9 Blower 2

S9B3

E2 - Integer

Reconcilable Constant

Optional

0

Step 9 Blower 3

S9B4

E3 - Integer

Reconcilable Constant

Optional

0

Step 9 Blower 4

S9TD

E4 - Integer

Reconcilable Constant

Optional

0

Delay (seconds) between step 9 and step 10

S10B1

YC - Integer

Reconcilable Constant

Optional

0

Step 10 Blower 1

S10B2

Y9 - Integer

Reconcilable Constant

Optional

0

Step 10 Blower 2

TYPE

327

13.3 Using the SBSequence algorithm

NA ME

LC ALG R ECORD F IELD

R EQUIRED / O PTIONAL

D EFAULT VAL UE

D ESCRIPTION

S10B3

E7 - Integer

Reconcilable Constant

Optional

0

Step 10 Blower 3

S10B4

E8 - Integer

Reconcilable Constant

Optional

0

Step 10 Blower 4

S10TD

Y8 - Integer

Reconcilable Constant

Optional

0

Delay (seconds) between step 10 and step 11

S11B1

Y7 - Integer

Reconcilable

Optional

0

Step 11 Blower 1

S11B2

Y6 - Integer

Constant Reconcilable Constant

Optional

0

Step 11 Blower 2

S11B3

XY - Integer

Reconcilable Constant

Optional

0

Step 11 Blower 3

S11B4

XW - Integer

Reconcilable Constant

Optional

0

Step 11 Blower 4

S11TD

F4 - Integer

Reconcilable Constant

Optional

0

Delay (seconds) between step 11 and step 12

S12B1

F5 - Integer

Reconcilable Constant

Optional

0

Step 12 Blower 1

S12B2

F6 - Integer

Reconcilable Constant

Optional

0

Step 12 Blower 2

S12B3

XV - Integer

Reconcilable Constant

Optional

0

Step 12 Blower 3

S12B4

XU - Integer

Reconcilable

Optional

0

Step 12 Blower 4

XR - Integer

Constant Reconcilable Constant

Optional

0

Delay (seconds) between step 12 and step 13

S12TD

328

TYPE

APC_002

13.4 Using the SBScheduler algorithm

13 .4 Using the

SBS cheduler a lgor ithm

Note: The SBScheduler algorithm can only be purchased as part of an engineered solution. The SBScheduler algorithm serves as a resource distributor that, based on certain rules (such as priority-based FIFO), allocates a type of blowing medium (for example, steam) among a group of sootblowers. Each SBScheduler algorithm handles only one type of medium. In a power plant, those sootblowers are assigned to different blowing sequences that may run simultaneously, and as a result, the sootblowers compete for the blowing medium when they try to start blowing at the same time. Meanwhile, there are some operation rules, such as only one blower among a group of blowers can run at a time, which is called a mutual exclusion constraint. To determine which sootblower should run first and which ones should be held in order to avoid any violation in the medium constraint and the mutual exclusion constraint, the SBScheduler algorithm is used as a coordinator. Basically, the SBScheduler algorithm maintains a dynamic queue of the sootblowers waiting for start permissions, and then starts those sootblowers in such an order that the desired scheduling performance is achieved. The maximum medium constraint is always satisfied and results in no violation of the mutual exclusion constraint. CAUTION! Use the SBScheduler algorithm with the SBSequence algorithms and the Blower algorithms. Those algorithms must be located on the same Ovation Advanced Controller and within the same control area. Since each SBScheduler algorithm deals with only one type of blowing medium, there could be multiple SBScheduler algorithms implemented in one project. For example, if you have two mediums (for example, air and water) used in the plant, two SBScheduler algorithms need to be added to the control strategy. Currently, up to four different types of blowing medium can be handled in the system. Remember, there should be ONE AND ONLY ONE SBScheduler algorithm for each type of medium in the Ovation Controller. Two scheduling methods are currently implemented: Priority Queue and First in First Out (FIFO). 

Priority Queue (default) was introduced because some of the blowers might never run in the FIFO queue. In the Priority Queue system, each blower is assigned an initial priority.The queue always tries to start the blower with the highest priority value, and then goes to the next. In each looptime, the priorities of all the blowers in the queue increase by 1. When the value reaches over a certain threshold (MXPRI), the scheduler starts that blower first and holds other requests in the queue.



First In First Out (FIF O) is the simplest way. For example, at time 0, there are two new requests in the Input Buffer of the SBScheduler for steam: Sequence 1 wants to start IK17 and Sequence 9 wants to start IK2. The SBScheduler algorithm adds those two items, {SEQ1, BLW17} and {SEQ9, BLW2}, to the empty queue. At time 1, there are another two new requests in the Input Buffer: Sequence 5 wants to start IK7 and Sequence 39 wants to start IK2. The SBScheduler algorithm then adds those two items, {SEQ5, BLW7} and {SEQ39, BLW2}, to the end of the queue. Now we have four items in the queue: {SEQ1, BLW17}, {SEQ9, BLW2}, {SEQ5, BLW7} and {SEQ39, BLW2}, from top to bottom.

APC_002

329

13.4 Using the SBScheduler algorithm

When the FIFO scheduling method is used, the SBScheduler algorithm always tries to start the blower at the top of the queue. If the medium and the mutual exclusion rule allow, the algorithm grants the permission to {SEQ1, BLW17} and then checks the next blower, {SEQ9, BLW23}, in the queue, which, by then, is moved to the top. If the medium is not allowed to start {SEQ1, BLW17}, the algorithm holds all the blowers in the queue. Therefore, the blower at the top of the queue always starts before the other blowers in the queue. Note that all sequences with the same blower starts at the same time when the first instance of this blower number is allowed to run. In this example, these are two sequences trying to start the same blower: {SEQ9, BLW2} and {SEQ39, BLW2}. When the algorithm allows {SEQ9, BLW2} to start, it automatically checks the rest of the queue and starts all the requests with BLW2, in this case, {SEQ39, BLW2} so both sequences starts simultaneously. The SBScheduler algorithm also provides a function to evaluate the manual start request sent from a blower. The manual start request is treated like a highest priority request. The same method applies to the priority sequence. All the blowers in the priority sequence are assigned the highest priority and runs as soon as possible.

13.4 .1 SBSche duler algor

ithm func tion al symb ol

Figure 9 4: SBScheduler Algorithm func

330

tional symbo l

APC_002

13.4 Using the SBScheduler algorithm

13.4 .2 Accessi ng advanced editin Builder

g for the SBSche duler algori

thm i n th e Control

The SBScheduler algorithm does not use advanced edits and does not have any parameters that appear in the Advanced Applications Studio. For the SBScheduler algorithm, all parameters are defined through the Control Builder Property Editor. See To use the Property Editor to edit advanced algorithms (see page 19) for more information. To identify parameters, hover the mouse pointer over the entries in the Property Editor. The parameter name appears as a tooltip. For information on valid parameter values, see SBScheduler algorithm definitions (see page 331). The following figure shows an example of the Property Editor for the SBScheduler algorithm.

Figure 95 : SBSche duler algorith m paramete rs sh own in Property Editor Note: No default tuning window is available for the SBScheduler algorithm in signal diagrams.

APC_002

331

13.4 Using the SBScheduler algorithm

13.4 .3 SBSche duler algorithm

definiti ons

SBScheduler definition s

NA ME

L C AL G. R ECORD F IELD

DIAG

LU-Integer

MXMED

-

TYPE

R EQUIRED / O PTIONAL

D EFAULT VAL UE

Data Init

Required

0

Variable

Required

-

M I N. P OINT R ECORD

D ESCRIPTION Tuning Diagram Number

-

Maximum blowing

LA

medium PSEQ

-

Variable

Optional

-

Priority Sequence Number

LA

TOKN1

-

Variable

Optional

-

Maximum Token Number for Group 1

LA

TOKN2

-

Variable

Optional

-

Maximum Token Number for Group 2

LA

TOKN3

-

Variable

Optional

-

Maximum Token Number for Group 3

LA

TOKN4

-

Variable

Optional

-

Maximum Token Number for Group 4

LA

TOKN5

-

Variable

Optional

-

Maximum Token Number for Group 5

LA

TOKN6

-

Variable

Optional

-

Maximum Token Number for Group 6

LA

TOKN7

-

Variable

Optional

-

Maximum Token

LA

Number for Group 7 Maximum Token Number for Group 8

LA

TOKN8

-

Variable

Optional

-

SIDNM

-

Variable

Required

-

SID number of the SBScheduler

PD

HRSTR

Y6 - Integer

Data Init

Required

0

Start Holding Register Number

-

MEDTY

XY - Integer

Data Init

Required

1

Medium type: 1, 2, 3 or 4

-

SCHTY

XW - Integer

Data Init

Required

1

Scheduling method:

-

1: for Priority-Based Method 2: FIFO MXPRI

332

Y7 - Integer

Tuning Constant

Required

600

Maximum Priority Threshold

-

APC_002

13.5 Using the SBMaster algorithm

13 .5 Using the

SBMa ster a lgor ithm

Note: The SBMaster algorithm can only be purchased as part of an engineered solution. The SBMaster algorithm defines multiple sequence groups and determines which sequence or sequence group to run. It allows you to define up to nine groups of sequences. Each sequence group consists of up to 99 sequences already built. Sequences defined in the same group are executed sequentially. Sequences defined in different groups can be active at the same time. The SBMaster algorithm has 10 analog output pins. The output of each pin is the sequence number, which is sent to the downstream SBSequence algorithm. When an analog number is zero at any specific pin, no sequence is being dispatched from this pin. The analog pin retains its value while the sequence is active (either running or waiting to run). The SBMaster algorithm resets the number to zero when the connected sequence is finished. The 10th sequence output represents the priority sequence. The groups are zero terminated so that no sequences beyond the first zero in any group is processed. Also, notice that the priority mode and no mode selected operate exactly the same way if a priority sequence has been defined. Note: All sequences being controlled by the master should be in AUTO mode.

13.5 .1 SBMa ster algori

thm func tional s ymbo l

Figure 96 : SBMaster Algorith m funct ional symbo l

APC_002

333

13.5 Using the SBMaster algorithm

13.5 .2 SBMa ster algori

thm func tionalit y d etails

The SBMaster mode determines how the algorithm functions. The modes are 1-7 as shown in the following table: Modes 1 - 7 descriptions #

MODE

D ESCRIPTION

1

Single group sequence

All sequences in this mode run once and then stop. The sequences run one by one.

2

Multiple group sequence

All groups selected in this mode run simultaneously and then stop.

3

Continuous single group sequence

After the single group sequence mode (mode 1) finishes, it repeats.

4

Continuous multiple group sequence

All groups selected in this mode run simultaneously. Each group repeats when it finishes.

5

Synchronized continuous multiple group sequence

All groups selected in this mode run simultaneously. Each group repeats when it finishes. At any time when any sequence in any group finishes, it will not jump to the next sequence until all currently running sequences in other groups finishes.

6

Priority

You designate one of the 99 sequences as the priority sequence. When an external condition (PRIOR) (such as the load in certain range, or time in certain range, or a button pushed by the user) is TRUE, the selected priority sequence start. Meanwhile, all other sequences in Auto mode are on hold. All existing running sequences in Manual can continue to run.

7

Advisory

The output sequence numbers and their associated time-delay (seconds) in between steps come from advisory program. If the advisory condition (ADVON) is FALSE, this mode is ignored.

To engage the SBMaster algorithm, the input pin ENBL has to be TRUE. If at any time during the operation the ENBL input drops to FALSE, then the algorithm resets all analog outputs (OUT1-OUT9 and OUTP) to zero. When PRIOR is TRUE, then the priority sequence number is dispatched to the OUTP. Otherwise, the output from OUTP is zero. A non-zero number can be dispatched to OUTP in any mode except the Advisory mode. If the operation mode is also chosen as “advisory” and ADVON is TRUE, then the advisory mode is engaged. The four analog inputs ADV1, ADV2, ADV3, and ADV4 specify the advisory sequence numbers when in advisory mode. When operated in advisory mode, the advisory sequence numbers show up in the first four sequence output pins (OUT1-OUT4), but not necessarily in the same order. All other sequence output pins are set to zero. There is also an optional Packed Digital Output Point (ADVDL) which specifies the time-delay (seconds) between steps within a sequence. The lower eight bits contain an analog number that represents a sequence, and the upper eight bits contain an analog number that represents the corresponding time-delay. The ADVDL is for advisory mode use only. When the operation mode is not selected as “advisory” or “priority," pushing the START button is required to initiate modes 1-5. If the system is already running in any of modes 1-5, then the START signal is ignored. The START signal is assumed to be a one-shot signal.

334

APC_002

13.5 Using the SBMaster algorithm

When RSET input signal is TRUE, then the algorithm resets. All sequence output analog numbers (OUT1-OUT9 and OUTP) are set to -1. The previous mode selection is kept. START must be present to run it again. If there is any mode change during an active running mode, the SBMaster algorithm may reset. It is a good practice to reset the current running mode first, and then select a different operation mode. The Master Hold (MSHLD) input determines whether the SBMaster algorithm is on hold or whether the hold is released. When this signal is TRUE, the master operation is on hold. All sequence number output pins (OUT1-OUT9, and OUTP) are set to -2. When this signal returns to FALSE, the operation resumes and picks up from where it left. No START button push is required. The long packed input pins IN1 - IN7 provide 99 bits which show the running status of each down stream SBSequence algorithm. A TRUE value in any given bit indicates the corresponding sequence is finished. At any given time, only one of the modes can be selected for operation, except that the Priority mode can stay active at all times. The Group Step (GxSTP) is the actual step for each defined sequence group. The B4 field stores the group selection information (BIT0 -Bit8). A bit value of 1 indicates the corresponding group is selected. A group may be defined but does not have to be selected. On the other hand, a selected group has to be defined first. In the case of multiple sequences being active simultaneously among different groups, a priority level is set for each sequence/group. This is necessary both at kick-off and during the run, since more blowers may compete for the same time slot. The priority rule is now set that, among all competing sequences, the sequence which is in the group with a smaller group number gets the higher priority. Since the group number is ordered from 1 to 9 in the master table, the sequences and groups with higher priorities should be placed first in (on the left of) the master sequence table. It is important to have time delay between sequences in each group. In this way, sequences in the lower priority groups can have an opportunity to run.

APC_002

335

13.5 Using the SBMaster algorithm

13.5 .3 Accessi ng advanced editin Builder

g fo r the SBMa ster algorit

hm in the Control

To access the Advanced Applications Studio for the SBMaster algorithm, refer to To use the Advanced Applications Studio to view and edit advanced algorithms (see page 20). Note: No default tuning window is available for the SBMaster algorithm in signal diagrams. SBMaster Input/O utput Configuration tab The Input/Output Configuration tab allows you to view the algorithm configuration input/output parameters for the SBMaster algorithm. This tab is informational only. You cannot edit the options from this dialog box or sort the columns in this table.

Figure 97: SBM aster Input/O utput Configuration tab

336

APC_002

13.5 Using the SBMaster algorithm

SBMaster General Pa rameters t ab The General Parameters tab displays the defined general parameters for the Master algorithm. You can edit only the Value column in this tab. To edit a value, left-click in the Value field to enter a value. Enter the change and press the key on the keyboard or click inside another cell so that the change you made takes effect. Press OK to save the change. The integer value for this field must be greater than or equal to zero. For mode-related integer fields, all of the rows in the Value cell contain a pull-down menu. The choices are as follows: 

No Mode Selected.



Single Group.



Multiple Group.



Continuous Single Group.



Continuous Multiple Group.



Synchronized Continuous Multiple Group.



Priority Sequence.



Advisory.

Figure 98: SBMaster General Parameters tab

APC_002

337

13.5 Using the SBMaster algorithm

SBMaster Auxiliary Parameters tab The Auxiliary Parameters tab defines the auxiliary algorithm (group sequence) parameter for the master algorithm. 1.

Click each tab to define auxiliary records Group x Sequences 1-99. Sequences can be used more than once.

2.

Only the cells with a white background are editable. Right-click anywhere to get a pull-down menu of valid values.

3.

Press the button to select the sequence. 

Blue - represents the current selection.



Green - sequence is unused.



Red - sequence is used at least once.

Figure 99: SBMaster Auxiliary Parameters tab

338

APC_002

13.5 Using the SBMaster algorithm

13.5 .4 SBMa ster algorith m definiti ons Note: Algorithm record type = LC SBMaster definitions

APC_002

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VAL UE

D ESCRIPTION

M I N. P OINT REC.

DIAG

LU - Integer

Data Init

Optional

140

Tuning Diagram Number.

-

ENBL PRIOR

-

Variable Variable

Required Required

-

Enable Input. Priority condition input.

LD/LP LD/LP

ADVON

-

Variable

Optional

-

Advisory mode condition input.

LD/LP

START

-

Variable

Required

-

Start one of the master modes 1,2,3,4,5.

LD/LP

RSET

-

Variable

Required

-

Reset priority and master modes 1,2,3,4,5.

LD/LP

MSHLD

-

Variable

Required

-

When set as true, send out -2 on all sequence pins.

LD/LP

IN1

-

Variable

Required

-

1-16 SEQ complete input.

LP

IN2

-

Variable

Optional

-

17-32 SEQ complete input.

LP

IN3

-

Variable

Optional

-

33-48 SEQ complete

LP

input. 49-64 SEQ complete input.

LP

IN4

-

Variable

Optional

-

IN5

-

Variable

Optional

-

65-80 SEQ complete input.

LP

IN6

-

Variable

Optional

-

81-96 SEQ complete input.

LP

IN7

-

Variable

Optional

-

97-99 SEQ complete input.

LP

TDS1

-

Variable

Optional (Input)

-

Time delay between adjacent sequence start (If used, it overrides tuning field TDS.)

LA

ADV1

-

Variable

Optional

-

1st advisory sequence.

LA

ADV2

-

Variable

Optional

-

2nd advisory sequence.

LA

ADV3

-

Variable

Optional

-

3rd advisory sequence.

LA

ADV4

-

Variable

Optional

-

4th advisory sequence.

LA

ADVDL

-

Variable

Optional

-

Advisory sequence number and inter step time delay.

LP

339

13.5 Using the SBMaster algorithm

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VAL UE

D ESCRIPTION

M I N. P OINT REC.

OUT1

-

Variable

Required

-

1st SEQ Output.

LA

OUT2 OUT3

-

Variable

Optional

-

2nd SEQ Output.

LA

-

Variable

Optional

-

3rd SEQ Output.

OUT4

LA

-

Variable

Optional

-

4th SEQ Output.

LA

OUT5

-

Variable

Optional

-

5th SEQ Output.

LA

OUT6

-

Variable

Optional

-

6th SEQ Output.

LA

OUT7

-

Variable

Optional

-

7th SEQ Output.

LA

OUT8

-

Variable

Optional

-

8th SEQ Output.

LA

OUT9

-

Variable

Optional

-

9th SEQ Output.

LA

OUTP

-

Variable

Optional

-

Priority SEQ Output.

LA

AUX1

G1 - Integer

Variable

Required

-

SID for AUX1 (for display.)

LC

AUX2

G2 - Integer

Variable

Required

-

SID for AUX2.

LC

AUX3

G3 - Integer

Variable

Required

-

SID for AUX3.

LC

AUX4

G4 - Integer

Variable

Required

-

SID for AUX4.

LC

AUX5

G5 - Integer

Variable

Required

-

SID for AUX5.

LC

AUX6

G6 - Integer

Variable

Required

-

SID for AUX6.

LC

AUX7

G7 - Integer

Variable

Required

-

SID for AUX7.

LC

AUX8

G8 - Integer

Variable

Required

-

SID for AUX8.

LC

AUX9

G9 - Integer

Variable

Required

-

SID for AUX9.

LC

AUX10

G0 - Integer

Variable

Required

-

SID for AUX10.

LC

AUX11

XR - Integer

Variable

Required

-

SID for AUX11.

LC

AUX12

XU - Integer

Variable

Required

-

SID for AUX12.

LC

AUX13

XV - Integer

Variable

Required

-

SID for AUX13.

LC

AUX14

F6 - Integer

Variable

Required

-

SID for AUX14.

LC

AUX15

F5 - Integer

Variable

Required

-

SID for AUX15.

LC

AUX16

F4 - Integer

Variable

Required

-

SID for AUX16.

LC

AUX17

XW - Integer

Variable

Required

-

SID for AUX17.

LC

AUX18

XY - Integer

Variable

Required

-

SID for AUX18.

LC

TDS

C0 - Integer

Tuning constant

Required

0

Time delay between adjacent sequence start (in loops.)

-

SEQS

C1 - Integer

Tuning

Required

0

Total number of groups

-

constant

340

defined.

APC_002

13.5 Using the SBMaster algorithm

NA ME

L C AL G. R ECORD F IELD

MODE

C2 - Integer

TYPE Tuning constant

R EQUIRED / O PTIONAL

D EFAULT VAL UE

Required

0

D ESCRIPTION

M I N. P OINT REC.

Mode type:

-

1 = Single group 2 = Multiple group 3 = Continuous single group 4 = Continuous multiple group 5 = Synchronized continuous multiple group 6 = Priority sequence 7 = Advisory

MODEP

-

Variable

Optional

0

Shows the current mode of the master:

-

1 = Single group 2 = Multiple group 3 = Continuous single group 4 = Continuous multiple group 5 = Synchronized continuous multiple group 6 = Priority sequence 7 = Advisory Start holding register number.

HRSTR

C3 - Integer

Data Init

Required

0

-

G1STP

YQ - Integer

Alg. Init

Required

0

Current step in the 1st group queue.

-

G2STP

D2 - Integer

Alg. Init

Required

0

Current step in the 2nd group queue.

-

G3STP

YP - Integer

Alg. Init

Required

0

Current step in the 3rd group queue.

-

G4STP

D4 - Integer

Alg. Init

Required

0

Current step in the 4th group queue.

-

G5STP

D5 - Integer

Alg. Init

Required

0

Current step in the 5th group queue.

-

G6STP

D6 - Integer

Alg. Init

Required

0

Current step in the 6th group queue.

-

G7STP

YN - Integer

Alg. Init

Required

0

Current step in the 7th

-

group queue. G8STP

APC_002

D8 - Integer

Alg. Init

Required

0

Current step in the 8th group queue.

-

341

13.5 Using the SBMaster algorithm

NA ME

L C AL G. R ECORD F IELD

G9STP

D9 - Integer

SSEL

M I N. P OINT REC.

TYPE

R EQUIRED / O PTIONAL

D EFAULT VAL UE

Alg. Init

Required

0

Current step in the 9th group queue.

-

D0 - Integer

Tuning constant

Required

0

Selected group for single group mode (1-9.)

-

GSEL

B4 - Integer

Tuning constant

Required

0

Checked group for multi-group mode (BIT 0-8.

-

PSEQ

B0 - Integer

Tuning constant

Required

0

Selected sequence for priority sequence mode (1-99.)

-

D ESCRIPTION

13. 5.5 SBMaster algor ith m defin iti on (Aux1,3,5, 7,9 ,11 ,13 ,15 ,17 ) Note: Algorithm record type = LC SBMaster auxiliary sequence

342

NA ME

L C AL G. R ECORD F IELD

R EQUIRED / O PTIONAL

D EFAULT V A L UE

D ESCRIPTION

DIAG

LU - Integer

Reconcilable Constant

Required

0

Tuning Diagram Number

SQ01

G0 - Integer

Reconcilable Constant

Required

0

1st Sequence in group x

SQ02

G1 - Integer

Reconcilable Constant

Optional

0

2nd Sequence in group x

SQ03

G2 - Integer

Reconcilable Constant

Optional

0

3rd Sequence in group x

SQ04

G3 - Integer

Reconcilable Constant

Optional

0

4th Sequence in group x

SQ05

G4 - Integer

Reconcilable Constant

Optional

0

5th Sequence in group x

SQ06

G5 - Integer

Reconcilable Constant

Optional

0

6th Sequence in group x

SQ07

G6 - Integer

Reconcilable Constant

Optional

0

7th Sequence in group x

SQ08

G7 - Integer

Reconcilable Constant

Optional

0

8th Sequence in group x

SQ09

G8 - Integer

Reconcilable Constant

Optional

0

9th Sequence in group x

SQ10

G9 - Integer

Reconcilable Constant

Optional

0

10th Sequence in group x

TYPE

APC_002

13.5 Using the SBMaster algorithm

APC_002

NA ME

L C AL G. R ECORD F IELD

R EQUIRED / O PTIONAL

D EFAULT V A L UE

D ESCRIPTION

SQ11

B0 - Integer

Reconcilable Constant

Optional

0

11th Sequence in group x

SQ12

B1 - Integer

Reconcilable Constant

Optional

0

12th Sequence in group x

SQ13

B2 - Integer

Reconcilable Constant

Optional

0

13th Sequence in group x

SQ14

YU - Integer

Reconcilable Constant

Optional

0

14th Sequence in group x

SQ15

B4 - Integer

Reconcilable Constant

Optional

0

15th Sequence in group x

SQ16

B5 - Integer

Reconcilable Constant

Optional

0

16th Sequence in group x

SQ17

B6 - Integer

Reconcilable Constant

Optional

0

17th Sequence in group x

SQ18

B7 - Integer

Reconcilable Constant

Optional

0

18th Sequence in group x

SQ19

B8 - Integer

Reconcilable Constant

Optional

0

19th Sequence in group x

SQ20

B9 - Integer

Reconcilable Constant

Optional

0

20th Sequence in group x

SQ21

C0 - Integer

Reconcilable Constant

Optional

0

21st Sequence in group x

SQ22

C1 - Integer

Reconcilable Constant

Optional

0

22nd Sequence in group x

SQ23

C2 - Integer

Reconcilable Constant

Optional

0

23rd Sequence in group x

SQ24

C3 - Integer

Reconcilable Constant

Optional

0

24th Sequence in group x

SQ25

C4 - Integer

Reconcilable Constant

Optional

0

25th Sequence in group x

SQ26

C5 - Integer

Reconcilable Constant

Optional

0

26th Sequence in group x

SQ27

C6 - Integer

Reconcilable Constant

Optional

0

27th Sequence in group x

SQ28

C7 - Integer

Reconcilable Constant

Optional

0

28th Sequence in group x

SQ29

C8 - Integer

Reconcilable Constant

Optional

0

29th Sequence in group x

SQ30

YT - Integer

Reconcilable Constant

Optional

0

30th Sequence in group x

SQ31

D0 - Integer

Reconcilable Constant

Optional

0

31st Sequence in group x

SQ32

YQ - Integer

Reconcilable Constant

Optional

0

32nd Sequence in group x

TYPE

343

13.5 Using the SBMaster algorithm

344

NA ME

L C AL G. R ECORD F IELD

R EQUIRED / O PTIONAL

D EFAULT V A L UE

D ESCRIPTION

SQ33

D2 - Integer

Reconcilable Constant

Optional

0

33rd Sequence in group x

SQ34

YP - Integer

Reconcilable Constant

Optional

0

34th Sequence in group x

SQ35

D4 - Integer

Reconcilable Constant

Optional

0

35th Sequence in group x

SQ36

D5 - Integer

Reconcilable Constant

Optional

0

36th Sequence in group x

SQ37

D6 - Integer

Reconcilable Constant

Optional

0

37th Sequence in group x

SQ38

YN - Integer

Reconcilable Constant

Optional

0

38th Sequence in group x

SQ39

D8 - Integer

Reconcilable Constant

Optional

0

39th Sequence in group x

SQ40

D9 - Integer

Reconcilable Constant

Optional

0

40th Sequence in group x

SQ41

YM - Integer

Reconcilable Constant

Optional

0

41st Sequence in group x

SQ42

YL - Integer

Reconcilable Constant

Optional

0

42nd Sequence in group x

SQ43

E2 - Integer

Reconcilable Constant

Optional

0

43rd Sequence in group x

SQ44

E3 - Integer

Reconcilable Constant

Optional

0

44th Sequence in group x

SQ45

E4 - Integer

Reconcilable Constant

Optional

0

45th Sequence in group x

SQ46

YC - Integer

Reconcilable Constant

Optional

0

46th Sequence in group x

SQ47

Y9 - Integer

Reconcilable Constant

Optional

0

47th Sequence in group x

SQ48

E7 - Integer

Reconcilable Constant

Optional

0

48th Sequence in group x

SQ49

E8 - Integer

Reconcilable Constant

Optional

0

49th Sequence in group x

SQ50

Y8 - Integer

Reconcilable Constant

Optional

0

50th Sequence in group x

SQ51

Y7 - Integer

Reconcilable Constant

Optional

0

51st Sequence in group x

SQ52

Y6 - Integer

Reconcilable Constant

Optional

0

52nd Sequence in group x

SQ53

XY - Integer

Reconcilable Constant

Optional

0

53rd Sequence in group x

SQ54

XW - Integer

Reconcilable Constant

Optional

0

54th Sequence in group x

TYPE

APC_002

13.5 Using the SBMaster algorithm

NA ME

L C AL G. R ECORD F IELD

R EQUIRED / O PTIONAL

D EFAULT V A L UE

D ESCRIPTION

SQ55

F4 - Integer

Reconcilable Constant

Optional

0

55th Sequence in group x

SQ56

F5 - Integer

Reconcilable Constant

Optional

0

56th Sequence in group x

SQ57

F6 - Integer

Reconcilable Constant

Optional

0

57th Sequence in group x

SQ58

XV - Integer

Reconcilable Constant

Optional

0

58th Sequence in group x

SQ 59

XU - Integer

Reconcilable Constant

Optional

0

59th Sequence in group x

SQ60

XR - Integer

Reconcilable Constant

Optional

0

60th Sequence in group x

TYPE

Note: The SBMaster Auxiliary Sequence algorithm stores the sequence numbers (1-99) for each sequence group defined by the user. For each master algorithm, there are up to 18 corresponding master auxiliary algorithms. The 1st auxiliary algorithm stores the first 60 sequence numbers in group 1. The 2nd auxiliary algorithm stores the remaining 39 sequence numbers in group 1. The 3rd auxiliary algorithm stores the first 60 sequence numbers in group 2. The 4th auxiliary algorithm stores the remaining 39 sequence numbers in group 2. The 5th auxiliary algorithm stores the first 60 sequence numbers in group 3. The 6th auxiliary algorithm stores the remaining 39 sequence numbers in group 3. The 7th auxiliary algorithm stores the first 60 sequence numbers in group 4. The 8th auxiliary algorithm stores the remaining 39 sequence numbers in group 4. The 9th auxiliary algorithm stores the first 60 sequence numbers in group 5. The 10th auxiliary algorithm stores the remaining 39 sequence numbers in group 5. The 60 sequence numbers in group 6. The 11th 12th auxiliary auxiliary algorithm algorithm stores stores the the first remaining 39 sequence numbers in group 6. The 13th auxiliary algorithm stores the first 60 sequence numbers in group 7. The 14th auxiliary algorithm stores the remaining 39 sequence numbers in group 7. The 15th auxiliary algorithm stores the first 60 sequence numbers in group 8. The 16th auxiliary algorithm stores the remaining 39 sequence numbers in group 8. The 17th auxiliary algorithm stores the first 60 sequence numbers in group 9. The 18th auxiliary algorithm stores the remaining 39 sequence numbers in group 9.

APC_002

345

13.5 Using the SBMaster algorithm

13. 5.6 SBMaster algor ith m defin iti on (Aux2,4,6, 8,1 0,1 2,1 4,1 6,1 8) Note: Algorithm record type = LC SBMaster auxiliary sequence c

346

ontinued

NA ME

L C AL G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

DIAG

LU - Integer

Reconcilable

Required

0

Tuning Diagram Number

SQ01

G0 - Integer

Constant Reconcilable Constant

Optional

0

61st Sequence in group x

SQ02

G1 - Integer

Reconcilable Constant

Optional

0

62nd Sequence in group x

SQ03

G2 - Integer

Reconcilable Constant

Optional

0

63rd Sequence in group x

SQ04

G3 - Integer

Reconcilable Constant

Optional

0

64th Sequence in group x

SQ05

G4 - Integer

Reconcilable Constant

Optional

0

65th Sequence in group x

SQ06

G5 - Integer

Reconcilable Constant

Optional

0

66th Sequence in group x

SQ07

G6 - Integer

Reconcilable Constant

Optional

0

67th Sequence in group x

SQ08

G7 - Integer

Reconcilable

Optional

0

68th Sequence in group x

SQ09

G8 - Integer

Constant Reconcilable Constant

Optional

0

69th Sequence in group x

SQ10

G9 - Integer

Reconcilable Constant

Optional

0

70th Sequence in group x

SQ11

B0 - Integer

Reconcilable Constant

Optional

0

71st Sequence in group x

SQ12

B1 - Integer

Reconcilable Constant

Optional

0

72nd Sequence in group x

SQ13

B2 - Integer

Reconcilable Constant

Optional

0

73rd Sequence in group x

SQ14

YU - Integer

Reconcilable Constant

Optional

0

74th Sequence in group x

SQ15

B4 - Integer

Reconcilable Constant

Optional

0

75th Sequence in group x

SQ16

B5 - Integer

Reconcilable Constant

Optional

0

76th Sequence in group x

SQ17

B6 - Integer

Reconcilable Constant

Optional

0

77th Sequence in group x

APC_002

13.5 Using the SBMaster algorithm

APC_002

NA ME

L C AL G. R ECORD F IELD

R EQUIRED / O PTIONAL

D EFAULT VA L UE

D ESCRIPTION

SQ18

B7 - Integer

Reconcilable Constant

Optional

0

78th Sequence in group x

SQ19

B8 - Integer

Reconcilable Constant

Optional

0

79th Sequence in group x

SQ20

B9 - Integer

Reconcilable Constant

Optional

0

80th Sequence in group x

SQ21

C0 - Integer

Reconcilable Constant

Optional

0

81st Sequence in group x

SQ22

C1 - Integer

Reconcilable Constant

Optional

0

82nd Sequence in group x

SQ23

C2 - Integer

Reconcilable Constant

Optional

0

83rd Sequence in group x

SQ24

C3 - Integer

Reconcilable Constant

Optional

0

84th Sequence in group x

SQ25

C4 - Integer

Reconcilable Constant

Optional

0

85th Sequence in group x

SQ26

C5 - Integer

Reconcilable Constant

Optional

0

86th Sequence in group x

SQ27

C6 - Integer

Reconcilable Constant

Optional

0

87th Sequence in group x

SQ28

C7 - Integer

Reconcilable Constant

Optional

0

88th Sequence in group x

SQ29

C8 - Integer

Reconcilable Constant

Optional

0

89th Sequence in group x

SQ30

YT - Integer

Reconcilable Constant

Optional

0

90th Sequence in group x

SQ31

D0 - Integer

Reconcilable Constant

Optional

0

91st Sequence in group x

SQ32

YQ - Integer

Reconcilable Constant

Optional

0

92nd Sequence in group x

SQ33

D2 - Integer

Reconcilable Constant

Optional

0

93rd Sequence in group x

SQ34

YP - Integer

Reconcilable Constant

Optional

0

94th Sequence in group x

SQ35

D4 - Integer

Reconcilable Constant

Optional

0

95th Sequence in group x

SQ36

D5 - Integer

Reconcilable Constant

Optional

0

96th Sequence in group x

SQ37

D6 - Integer

Reconcilable Constant

Optional

0

97th Sequence in group x

SQ38

YN - Integer

Reconcilable Constant

Optional

0

98th Sequence in group x

SQ39

D8 - Integer

Reconcilable Constant

Optional

0

99th Sequence in group x

TYPE

347

S

ECTION

14

Using th e TEMPRO (Temp erature Prof il e) algor it hm

IN THIS SECTION What is the TEMPRO algorithm?.................................................................................... 349 TEMPRO 349 TEMPRO operation......................................................................................................... functional symbol ............................................................................................ 353 Accessing advanced editing for the TEMPRO algorithm in the Control Builder .............354 TEMPRO algorithm definitions........................................................................................ 355

14. 1 What is the TE MPR O algo rit hm ? The TEMPRO algorithm is designed for temperature monitoring. It collects and processes data from up to 32 thermocouples that measure temperature. The maximum input number that is taken into consideration is determined by the tuning parameter NUMTC. If the number of thermocouples actually connected to the inputs is greater than NUMTC, all inputs having a number above NUMTC are ignored. Similarly, if the number of connected inputs is less than NUMTC, then only the connected ones are used in the calculations. Acquired measurements are sorted in descending order, and the two highest and three lowest values are returned as outputs together with corresponding thermocouple indices -- input numbers. In addition, the algorithm calculates the average and median for all collected temperature values. Note: Although the TEMPRO algorithm is designed for thermocouple monitoring and sorting, it accepts any valid input value for processing.

14.2 TEMP RO op erati on There are three main operations for the TEMPRO algorithm: 

Ordering measurement values.



Calculating average temperature.



Calculating median temperature calculation.

APC_002

349

14.2 TEMPRO operation

14. 2.1 Orderin g th e measurement v

alues

The values for up to 32 (one required and 31 optional) analog inputs are sorted in descending order. Note that all BAD quality inputs are rejected in the sorting calculation. The outputs from the algorithm are: 

Highest temperature value.



Second highest temperature value.



Lowest temperature value.



Second lowest temperature value.



Third lowest temperature value.

The outputs from the algorithm correspond to the following input indices: 

Highest temperature index.



Second highest temperature index.



Lowest temperature index.



Second lowest temperature index.



Third lowest temperature index.

Inputs A1 ... A32

o

Thermocouple values ( F) (only inputs having a number not greater than NUMTC are processed)

Outputs o

TCH1

Highest TC value ( F) TCH2

350

o

Second highest TC value ( F) o

TCL1

Lowest TC value ( F)

TCL2

Second lowest TC value ( F)

TCL3

Third lowest TC value ( F)

IDH1

Highest TC index

IDH2

Second highest TC index

IDL1

Lowest TC index

IDL2

Second lowest TC index

IDL3

Third lowest TC index

o

o

APC_002

14.2 TEMPRO operation

If none of the inputs are connected, the algorithm returns zeros. The same is true if there is an insufficient number of inputs. For example, for only two inputs, there is no third lowest value. Therefore, the corresponding output is set to zero. If the input is in BAD quality, the value of that point is not used in the average and median calculations, nor is it used in the index. If two or more inputs are of the same value and are also the highest or lowest values, then the inputs are weighted according to their input number from lowest to highest. Therefore, if input A1 and input A2 both have the same value and the value was the highest value, then the values of the highest and second highest values would be the same. In addition, due to weighting, input A1 would be listed as the highest index and input A2 would be listed as the second highest index. In the case of the lowest values and indices, the higher input number would be the lower index.

14.2.2 Average temperature calculation Any input that satisfies the following conditions is excluded from the Average calculation: 1.

The highest

2.

The lowest

3.

Those of bad quality

4.

Values at least TTKCO (the tunable parameter -- by default equal to 500 F) less than the second highest input (that is, values < [TCH_2 - TTKCO]). The second highest input is used here since the highest input is rejected from the average calculation.

o

Averaging is done according to the formula:

where: Inputs which remain after rejecting the average calculation conditions (that is, highest, lowest, bad quality, values at least TTKCO less than the s econd highest input.

N

Number of inputs taken into consideration.

Inputs A1 ... A32

o

Thermocouple values ( F) (only inputs having a number not greater than NUMTC are processed)

Outputs TTXC

o

Average temperature ( F)

If the number of inputs remaining after rejection of those satisfying the above mentioned conditions is equal to zero, the algorithm sets the average to zero.

APC_002

351

14.2 TEMPRO operation

14. 2.3 Median temperatu

re calcu latio n

All BAD quality inputs are rejected and the median is calculated for the remaining measurements according to the following defintion: Median is the middle value of the given numbers or distribution in their ascending order. Median is the average value of the two middle elements when the size of the distribution is even. Inputs A1 ... A32

o

Thermocouple values ( F) (only inputs having a number not greater than NUMTC are processed)

Outputs TTXM

o

Median temperature ( F)

Similarly, as in the case of calculation average, if the number of inputs having something other than BAD quality is zero, the median is set to zero.

352

APC_002

14.3 TEMPRO functional symbol

14. 3 TEM PRO fun cti onal sym bol

Figure 100: T EMPRO func tion al symb ol

APC_002

353

14.4 Accessing advanced editing for the TEMPRO algorithm in the Control Builder

14 .4 Accessi ng advanced e Control Builder

diti ng for th e T EM PR O algorit hm in th e

TEMPRO does not use advanced edits and does not have any parameters that appear in the Advanced Applications Studio. For TEMPRO, all parameters are defined through the Control Builder Property Editor. See To use the Property Editor to edit advanced algorithms (see page 19) for more information. To identify parameters, hover the mouse pointer over the entries in the Property Editor. The parameter name appears as a tooltip. For information on valid parameter values, see TEMPRO algorithm definitions (see page 355). The following figure shows an example of the Property Editor for the TEMPRO algorithm. Note: No default tuning window is available for the TEMPRO algorithm in signal diagrams.

Figure 101: TEMPRO algorithm parameters shown in Property Editor

354

APC_002

14.5 TEMPRO algorithm definitions

14 .5 TE MP RO algorit hm definiti

ons

Note: Algorithm record type = LC Al go ri th m Definit io ns

APC_002

NA ME

L C A L G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT V A L UE

D ESCRIPTION

MIN. P OINT REC.

A1

--

Variable

Required

--

TC analog input (pos. 1)

LA

A2 A3

---

Variable Variable

Optional Optional

---

TC analog input (pos. 2) TC analog input (pos. 3)

LA LA

A4

--

Variable

Optional

--

TC analog input (pos. 4)

LA

A5

--

Variable

Optional

--

TC analog input (pos. 5)

LA

A6

--

Variable

Optional

--

TC analog input (pos. 6)

LA

A7

--

Variable

Optional

--

TC analog input (pos. 7)

LA

A8

--

Variable

Optional

--

TC analog input (pos. 8)

LA

A9

--

Variable

Optional

--

TC analog input (pos. 9)

LA

A10

--

Variable

Optional

--

TC analog input (pos. 10)

LA

A11

--

Variable

Optional

--

TC analog input (pos. 11)

LA

A12

--

Variable

Optional

--

TC analog input (pos. 12)

LA

A13

--

Variable

Optional

--

TC analog input (pos. 13)

LA

A14

--

Variable

Optional

--

TC analog input (pos. 14)

LA

A15

--

Variable

Optional

--

TC analog input (pos. 15)

LA

A16

--

Variable

Optional

--

TC analog input (pos. 16)

LA

A17

--

Variable

Optional

--

TC analog input (pos. 17)

LA

A18

--

Variable

Optional

--

TC analog input (pos. 18)

LA

A19

--

Variable

Optional

--

TC analog input (pos. 19)

LA

A20

--

Variable

Optional

--

TC analog input (pos. 20)

LA

A21

--

Variable

Optional

--

TC analog input (pos. 21)

LA

A22

--

Variable

Optional

--

TC analog input (pos. 22)

LA

A23

--

Variable

Optional

--

TC analog input (pos. 23)

LA

A24

--

Variable

Optional

--

TC analog input (pos. 24)

LA

A25

--

Variable

Optional

--

TC analog input (pos. 25)

LA

A26

--

Variable

Optional

--

TC analog input (pos. 26)

LA

A27

--

Variable

Optional

--

TC analog input (pos. 27)

LA

A28

--

Variable

Optional

--

TC analog input (pos. 28)

LA

A29

--

Variable

Optional

--

TC analog input (pos. 29)

LA

A30

--

Variable

Optional

--

TC analog input (pos. 30)

LA

355

14.5 TEMPRO algorithm definitions

NA ME

L C A L G. R ECORD F IELD

TYPE

R EQUIRED / O PTIONAL

D EFAULT V A L UE

D ESCRIPTION

MIN. P OINT REC.

A31

--

Variable

Optional

--

TC analog input (pos. 31)

LA

A32

--

Variable

Optional

--

TC analog input (pos. 32)

LA

TCH1

--

Variable

Required

--

Highest TC value (analog output)

LA

TCH2

--

Variable

Required

--

Second highest TC value (analog output)

LA

TCL1

--

Variable

Required

--

Lowest TC value (analog output)

LA

TCL2

--

Variable

Required

--

Second lowest TC value (analog output)

LA

TCL3

--

Variable

Required

--

Third lowest TC value (analog output)

LA

IDH1

--

Variable

Required

--

Highest TC index (analog output)

LA

IDH2

--

Variable

Required

--

Second highest TC index (analog output)

LA

IDL1

--

Variable

Required

--

Lowest TC index (analog output)

LA

IDL2

--

Variable

Required

--

Second lowest TC index (analog output)

LA

IDL3

--

Variable

Required

--

Third lowest TC index (analog output)

LA

TTXC

--

Variable

Required

--

Average temperature

LA

(analog output) TTXM

--

Variable

Required

--

Median temperature (analog output)

LA

ACTTC

G2 - Integer

Variable

Optional

--

Actual number of thermocouples used in the temperature calculation.

LA

NUMTC

G1 - Integer

Tuning Constant

Required

1

Number of thermocouple inputs to be monitored (must be consecutive).

--

For example, if a minimum of 10 inputs are to be monitored and this parameter is set to 10, then you can only use the first 10 inputs of the algorithm. TTKCO

356

R2 - Real

Tuning Constant

Required

500.00

Temperature average low reject constant

--

APC_002

S

15

ECTION

Algorithm equation reference

IN THIS SECTION Fuzzy algorithm equations .............................................................................................. 357 ARX algorithm calculation ......................................................................... 360 DMC model algorithm output output calculation ................................................................................... 367

15 .1 Fuz zy algorit hm e quation s The following sections discuss Fuzzy algorithm equations.

15.1 .1 Fuzz ifier outpu t calculation The output (which is in either engineering units or percent and limited by the high and low limits specified) equals the result of the Fuzzifier algorithm:

where: L

= the number of partitions = The force of starting the i-th rule = Output of the i-th local region (CONST VALUE, or POINT from the system)

Except: 

When the algorithm is directed to track, the output equals the track input when the tracking signal is present. The output ramps at the user-specified track rate, from the track input back to the controlled value when the tracking signal is removed.



When a raise inhibit or lower inhibit signal is present, it may prevent the Fuzzifier algorithm from controlling. 

APC_002

If the Fuzzifier algorithm receives a raise inhibit signal or a lower inhibit signal, the signal is transmitted to upstream algorithms. The value of the OUT signal is stopped and set to the value from the previous loop.

357

15.1 Fuzzy algorithm equations



If the algorithm calculates an invalid real number for the output, the quality of the output is set to BAD. Consequently, if an invalid value is entered as an input to the algorithm, or if the algorithm generates an invalid value for the output, the drop is placed into alarm. In all cases, the output is set to the last GOOD value.



If you select any region by ISOLATE option, then the global output is equal to the output from the selected region.

15. 1.2 Fuzzy PID use

gui delin es

Process Variable (PV) GAIN and PV BIAS must be used to normalize the process variable inputs to a 0 to 100 percent value. (PV x PV GAIN) + PV BIAS = PV percent. Thus:

Set Point (STPT) GAIN and STPT BIAS must be used to normalize the set point to a 0 to 100 percent value. If set point input units are not 0 to 100 percent, then: (STPT x STPT GAIN) + STPT BIAS = set point percent. Thus:

Determine set point high and low limits with these equations: Set point high limit = (100 - STPT BIAS)/STPT GAIN Set point low limit = (0 - STPT BIAS)/STPT GAIN

15. 1.3 Fuzzy PID out put calcu latio n The output (which is in either engineering units or percent and limited by the high and low limits specified) equals the result of the FPID:

where: L

= the number of partitions = the force of starting the i-th rule

358

APC_002

15.1 Fuzzy algorithm equations

= the output of the i-th local PID algorithm (CONST VALUE or system POINT)

Except: 

When the algorithm is directed to track, the output equals the track input when the tracking signal is present. The output ramps at the user-specified track rate, from the track input back to the controlled value when the tracking signal is removed.



When a raise inhibit or lower inhibit signal is present, it may prevent the PID Controller from controlling.



If the algorithm calculates an invalid real number for the output, the quality of the output is set to BAD. Consequently, an invalid is entered as an input to the into algorithm, algorithm generates an ifinvalid valuevalue for the output, the drop is placed alarm. or In ifallthe cases, the output is set to the last GOOD value.



If the algorithm generates an invalid track output value, the set point input value is used as the track output, unless it is invalid. The track output value is not updated if both the calculated track output and the set point input values are invalid.



If you select any region by ISOLATE option, then the global output is equal to the output from the selected region. In this case, FPID works as a normal PID Controller (with the tuning parameters from selected region).

It is important to realize that all PIDs operate continuously regardless of whether they are assigned to an active region or not. If they are not assigned to an active region then the output is not included in the calculation of the global output. The exceptions to this are where the algorithm is requested to track and where an individual PID is isolated for tuning purposes. In the later case, all unselected PIDs track the isolated one. There are mathematical steps taken to ensure that any PID that is not included in the calculation of the global output does not windup.

APC_002

359

15.2 ARX model algorithm output calculation

15 .2 ARX model a lgor ithm outpu

t calculatio

n

The output equals the result of the ARX model calculation performed during each loop time. During execution of the algorithm, a MIMO model is treated as multiple MISO models, In other words, each output is considered separately.

The number of inputs is defined independently for each output. Likewise, both the input order and output order for each output are defined independently as well. Each yi output in k time step is calculated separately as follows:

where: i-output index; l-input index

-number of inputs for i-th output;

360

APC_002

15.2 ARX model algorithm output calculation

-offset for i-th output;

-Predicted output value

where:

-

i-th output order;

-

Order of the l-th input of the i-th output;

-

Delay time (specified in loop times) between l-th input

and i-th output;

APC_002

-

Operating point value of the l-th input of the i-th output

-

Operating point value of the i-th output

361

15.2 ARX model algorithm output calculation

Note: You can think of the operating point values as a sort of average value for a particular variable. The Ovation Model Builder calculates these average values during the model identification process. Note that the user can also specify these operating points. The identification process consists of two steps. In the first step, the application calculates the operating point values for all inputs and outputs associated with the model. Once the operating point values are calculated, the model coefficients are calculated according to the previous equation. Example Consider an ARX model with three input signals and two outputs signals. The general representation of this model is illustrated below.

This representation implies that each output depends on all inputs. This is a convenient representation since in the actual process the multiple outputs typically have some relationship to each other that causes these particular outputs to be considered collectively. However, during the formulation of the mathematics each output is considered separately.

362

APC_002

15.2 ARX model algorithm output calculation

The design assumption is that each output depends on inputs that are defined by the user. As a result of this assumption, a separate ARX model is used for each output. As an example, consider the case where the first output depends on the first and second input and a second output depends on the second and third input. These examples are depicted here:

APC_002

363

15.2 ARX model algorithm output calculation

The overall model in this example is a MIMO model with three inputs and two outputs. However, each output depends on two inputs only. Calculation Consider model parameters as follows: First output

— order of first output signal;

— first coefficient - NOTE: always equal 1.00 (not editable);

— second coefficient;

— third coefficient; First input to first output

— order of first input signal for first output;

— delay between first input signal and first output;

— first coefficient;

— second coefficient;

— third coefficient;

— fourth coefficient; Second input to first output

— order of second input signal for first output;

— delay between second input signal and first output;

— first coefficient;

364

APC_002

15.2 ARX model algorithm output calculation

— second coefficient; Second output

— order of second output signal;

— first coefficient Note: Always equal 1.00 (not editable); First input to second output

— order of first input signal for second output;

— delay between first input signal and second output;

— first coefficient;

— second coefficient;

— third coefficient; Second input to second output

— order of second input signal for second output;

— delay between second input signal and second output;

— first coefficient;

Each output is calculated using the following general equation:

APC_002

365

15.2 ARX model algorithm output calculation

For the first output:

For the second output:

The default prediction horizon for the algorithm is one time step ahead (that is, k+1 time step). However, it is possible to extend that time horizon to up to h time steps ahead (that is, k+h). When the prediction horizon is extended beyond the default of one time step ahead the calculation of each time step (that is, k = 1…h) is performed as shown below:

366

APC_002

15.2 ARX model algorithm output calculation

Note: The deviations of each input and output variable from its associated operating point (

;

)aresavedinlocalmemory.

If k+h-delay > 0 then the calculation requires inputs from future timesteps. In this case all inputs from future timesteps are assumed to be equal to their values are the current time step. When using prediction horizons greater than one time step ahead, the resulting calculation may require input values from “future” timesteps. In this situation all “future” inputs are assumed to be equal to the previous input - that is they are assumed to be unchanging. When the algorithm is told to track, the output equals the track input when the tracking signal is present. Tracking value minus of output values is saved in track the local output from ARX algorithm. Theaverage output ramps at the user-specified ratememory (subject as to the the last maximum rate of change limit), from the track input back to the actual value when the tracking signal is removed. When a raise inhibit signal is present, the high limit in ARX algorithm is set on active and value of high limit is set on the last output value. This approach guarantees that output value does not rise until raise inhibit signal is present. When a lower inhibit signal is present, the low limit in ARX algorithm is set on active and the value of the low limit is set on the last output value. This approach guarantees that the output value does not decrease until lower inhibit signal is present. If the algorithm calculates an invalid real number for the output, the quality of the output is set to BAD. Consequently, if an invalid value is entered as an input to the algorithm, or if the algorithm generates an invalid value for the output, the drop is placed into alarm. In all cases, the output is set to the last GOOD value. The Ovation Model Builder exports the model parameters along with the sample time that was used to estimate the model. If the sampling time that was used to estimate the model parameters in the Model Builder and the control area execution time are different, then the outputs are set to last GOOD output values. The default action is to set the quality of the outputs to BAD. However, the IQUAL (Ignore Set Quality to Bad) parameter allows the algorithm to be configured to NOT set the output to BAD in this condition. This information is also written to the ERR pin of the algorithm.

APC_002

367

15.3 DMC algorithm output calculation

15 .3 DM C algorit hm output ca

lcul ation

The output (which is in either engineering units or percent and limited by the high and low limits specified) equals the result of the DMC (the result optimization Quadratic Programming problem):

subject to the constraints:

define:

where:

368

APC_002

15.3 DMC algorithm output calculation

The optimization problem becomes a Quadratic Programming problem:

subject to the following constraints:

Except (for each outputs (MV) individually): 

When the algorithm is directed to track, the output equals the track input when the tracking signal is present. The DMC problem is solved with constraints (bottom and lower limit) setting on track input value in this case. The constraint for change value is not active in this case this approach always finds a solution.



When a raise inhibit or lower inhibit signal is present, it may prevent the DMC Controller from controlling. If a raise inhibit signal is present, the top constraint is set on the current output value. This is a guarantee that the next output value will not be bigger than the current output value. If a lower inhibit signal is present then the lower constraint is set on the current output value. This is a guarantee that the next output value will not be smaller than the current output value.



When a raise inhibit and _3W_CONDTRK signal is present (cascade mode - the downstream Controller is PID) then the bottom limit is setting on track input value. This is a guarantee that the next output value will not be bigger than the track input value (but it can be smaller).



When a lower inhibit and _3W_CONDTRK signal is present (cascade mode - the downstream Controller is PID) then the lower limit is setting on track input value. This is a guarantee that the next output value will not be smaller than the track input value (but it can be bigger).



If the algorithm calculates an invalid real number for the output, the quality of the output is set to BAD. Consequently, if an invalid value is entered as an input to the algorithm, or if the algorithm generates an invalid value for the output, the drop is placed into alarm. In all cases, the output is set to the last GOOD value.



If the sampling time and area execution time are different, then the output is set to the last GOOD output values. Quality of the output is set to BAD. You can set flag ITIME (Ignore Sampling Time) and quality of the output is not changed, but output value is set to the GOOD last values.

Note: Information about differences between sampling time and area execution time is sent to the S7 field in the algorithm record and on the output (ERR) pin if the output point is connected.

APC_002

369

Index A Accessing advanced editing for DPA in the Control Builder • 111 Accessing advanced editing for EDEVICE in the Control Builder • 137 Accessing advanced editing for the ARX model algorithm in the Control Builder • 36 Accessing advanced editing for the Blower algorithm in the Control Builder • 307 Accessing advanced editing for the DMC algorithm in the Control Builder • 51 Accessing advanced editing for the Fuzzifier algorithm in the Control Builder • 149 Accessing advanced editing for the Fuzzy PID algorithm in the Control Builder • 170 Accessing advanced editing for the NNMLP algorithm in the Control Builder • 202 Accessing advanced editing for the SBMaster algorithm in the Control Builder • 336 Accessing advanced editing for the SBScheduler algorithm in the Control Builder • 331 Accessing advanced editing for the SBSequence algorithm in the Control Builder • 313 Accessing advanced editing for the SCAction algorithm in the Control Builder • 301 Accessing advanced editing for the SCStep and SCStepNA algorithms in the Control Builder • 291 Accessing advanced editing for the SCTask algorithm in the Control Builder • 267 Accessing advanced editing for the TEMPRO algorithm in the Control Builder • 354 Accessing the Advanced Tuning window for the SCStep algorithm in Signal Diagrams • 296 Accessing the Advanced Tuning window for the SCTask algorithm in Signal Diagrams • 274 Accessing the Control Builder • 16 Accessing the Control Builder in a Windows-based Ovation system • 16 Accessing the tuning window for the Blower algorithm in signal diagrams • 311 Accessing the tuning window for the DMC algorithm in signal diagrams • 103

APC_002

Accessing the tuning window for the Fuzzifier algorithm in signal diagrams • 165 Accessing the tuning window for the Fuzzy PID algorithm in signal diagrams • 190 Accessing the tuning window for the NNMLP algorithm in signal diagrams • 217 Action conditionals and qualifiers for SCStep • 278 Adding advanced algorithms to a control sheet • 17 Advanced Process Control (APC) ToolKit • 1 Algorithm blocking (EDEVICE) • 133 Algorithm equation reference • 357 Algorithm functional symbols • 34 Algorithm reference page format • 33 Algorithm symbols - creating • 238 Analog Fields section • 52 ARX model algorithm • 35 ARX model algorithm ARXModel Parameters tab • 38 ARX model algorithm auxiliary LC records • 45 ARX model algorithm definitions • 40 ARX model algorithm functional symbol • 36 ARX model algorithm I/O pins • 40 ARX model algorithm Input/Output Configuration tab • 37 ARX model algorithm operation with fuzzy logic algorithms • 39 ARX model algorithm output calculation • 360 ARX model algorithm tracking signals • 39 Auto commands (EDEVICE) • 117 Auxiliary DMC algorithm definitions • 64 Auxiliary inputs (EDEVICE) • 118 Auxiliary SCStep algorithm definitions No. 2 • 288 Auxiliary SCStep and SCStepNA algorithm definitions No. 1 • 286 Auxiliary SCTask algorithm definitions No. 1 • 261 Auxiliary SCTask algorithm definitions No. 2 • 263 Auxiliary SCTask algorithm definitions No. 3 - 5 • 265 Average temperature calculation (TEMPRO) • 351

B Blower algorithm • 305

371

Index Blower algorithm definitions • 308 Blower algorithm functional symbol • 305 Blower algorithm functionality details • 306 Blower tuning window • 311 Busy Signal and Communication • 277, 298

C Cascaded mode and conditional tracking (FPID) • 184 Center of gravity defuzzification (FPID) • 194 Changing the direction of move (EDEVICE) • 117 Configuration and programming tools (APC Toolkit) • 1 for different EDEVICE Configurations applications • 119 Copyright Notice • 2 Creating a conditional for the SCStep algorithm • 294

D Defining input/output pins for the symbol (PBLOCK) • 230 Defining the FPID regions • 186 Device error (DERR) analog output (combined) (EDEVICE) • 123 Device ready input signal (DRDY) (EDEVICE) • 117 Device state tracking (EDEVICE) • 121 Device stopped (EDEVICE) • 131 Digital output signals (EDEVICE) • 118 Disabling the Step (SCStep) • 280 DMC 49 DMC algorithm algorithm •cascaded mode and conditional tracking • 93 DMC algorithm definitions • 54 DMC algorithm functional symbol • 50 DMC algorithm MV bump protection • 89 DMC algorithm MV bump protection example • 90 DMC algorithm output calculation • 368 DMC algorithm status of optimization (STAT) output • 88 DMC algorithm tracking signals • 88 DMC Auxiliary Parameters tab • 53 DMC General Parameters tab • 52 DMC Input/Output Configuration tab • 51 DMC Model Parameters tab • 53 DMC multi-variable control example • 96 DMC Trajectories tab • 103 DMC Tuning Parameters tab • 104 DMC Weighting Parameters tab • 54 Double deadband (inner and outer) (FPID) • 188 DPA algorithm definitions • 112 DPA Force to Stable State function • 107 DPA Functional Symbol • 106

372

DPA Gain • 109 DPA Limits and Anti-Windup • 107 DPA Quality • 110 DPA Time Constants • 108 DPA Tracking • 109 DPA Use Cases • 113

E EDEVICE algorithm • 115 EDEVICE Algorithm (operation details) • 121 EDEVICE algorithm alarms • 125 EDEVICE algorithm definitions • 138 EDEVICE algorithm inconsistency of feedbackalgorithm signal errors • 129 EDEVICE timeout errors • 125 EDEVICE algorithm unexpected change of device state (trip) errors • 127 EDEVICE functional symbol • 116 Editing advanced algorithm parameters in the Control Builder • 19 Emergency commands (EDEVICE) • 117 Error deadband and deadband gain (FPID) • 188 Error status (SCTask) • 256 Example PBLOCK program with optional parameters and first pass macros • 244 Extern variables (PBLOCK) • 220

F Feedback inputs (EDEVICE) • 118 Feedback signals filtering (EDEVICE) • 118 FPID algorithm functional symbol • 169 FPID Parameters tab • 172 FPID Fuzzy General Parameters tab • 171 FPID Input/Output Configuration tab • 170 FPID Membership Function Definition tab • 172 FPID region tuning • 187 FPID tracking signals (using) • 183 Functional operation of PID • 182 Fuzzifier algorithm • 145 Fuzzifier algorithm (examples of use) • 147 Fuzzifier algorithm auxiliary definitions • 161 Fuzzifier algorithm definitions • 154 Fuzzifier algorithm functional symbol • 146 Fuzzifier algorithm tracking signals • 163 Fuzzifier algorithm with a 4-Dimensional Output Example • 147 Fuzzifier algorithm with Ovation PID Example • 148 Fuzzifier Fuzzy Parameters tab • 150 Fuzzifier General Parameters tab • 150 Fuzzifier Input/Output Configuration tab • 149 Fuzzifier output calculation • 357 Fuzzifier tuning window -- General Information tab • 165

APC_002

Index Fuzzifier tuning window -- Membership Functions and Signals tab • 166 Fuzzy algorithm equations • 357 Fuzzy algorithm global output calculation • 193 Fuzzy logic algorithms • 145 Fuzzy Parameters tab -- Membership Function Definition tab • 151 Fuzzy Parameters tab -- Rule Base tab • 153 Fuzzy PID (FPID) algorithm • 168 Fuzzy PID output calculation • 358 Fuzzy PID tuning window -- General Information tab • 190 Fuzzy PID tuning window -- Regions and Signals tab • 191 Fuzzy PID use guidelines • 358 Fuzzy regions (FPID) • 185 FuzzyPID algorithm definitions • 176 FuzzyPID auxiliary algorithm definitions • 180

H Historical information (SCTask) • 254

I Inserting a drop point • 10 Inserting Advanced Controller drops • 7 Installing the algorithms • 12 Installing the algorithms on a database server • 12 Installing the algorithms on an Engineer or Operator drop • 13 Installing the• APC base software on Windows 5 Installing the APC software on a Windows-based Ovation system • 5 Installing the APC ToolKit • 5 Introduction to the Advanced Process Control (APC) ToolKit • 1

L Lack of MCC power sensing (EDEVICE) • 118 LEFT command execution (EDEVICE) • 133 Loading sheets to the Controller • 26 Local and tagout modes (EDEVICE) • 117

M

Move to right operation (EDEVICE) • 136

N Neural Network Multi-Layer Perceptron (NNMLP) algorithm • 198 NNMLP algorithm functional symbol • 199 NNMLP algorithm functionality details • 200 NNMLP algorithm Input/Output Configuration tab • 203 NNMLP algorithm input/output pins • 208 NNMLP algorithm Neural Network tab • 206 NNMLP algorithm Structure of Neurons tab • 207 NNMLP tracking signals NNMLP algorithm auxiliary definitions • 214 • 207 NNMLP main algorithm definitions • 209 No deadband (FPID) • 189

O Online help system • 23 Operating modes (EDEVICE) • 116 Operation (SCAction) • 298 Ordering the measurement values (TEMPRO) • 350 Ovation Advanced Controller • 3 Ovation Model Builder • 4 Ovation Sequence Coordinator algorithm package • 251 Ovation Sequence Coordinator algorithm package (rules for using) • 252 Ovation Sequence Coordinator algorithms (visual interpretation) • 253

P PBLOCK algorithm • 219 PBLOCK algorithm (who can use it) • 219 PBLOCK algorithm runtime error codes • 248 PBLOCK array handling • 225 PBLOCK program source code structure • 224 PBLOCK programming language (how it differs from standard C) • 220 PBLOCK supported functions • 221 PBLOCK wait() or sleep() functionality • 233 Permissive inputs (EDEVICE) • 117 Prediction Outputs section • 52 PSTA packed output (EDEVICE) • 130

Manual commands (EDEVICE) • 117 MCC test mode and permission override function (EDEVICE) • 119

R

Median temperature calculation (TEMPRO) • 352 Middle of maximum defuzzification (FPID) • 195 Move to left operation (EDEVICE) • 134

Controller and the database for Windows-based Ovation systems • 30 Reconciling tuning changes in a Windows-based Ovation system • 30

APC_002

Reconciling tuning changes between the

373

Index RIGHT command execution (EDEVICE) • 135 Role of the Ovation Control Builder with the APC Toolkit • 2

S Sample code for a typical algorithm (PBLOCK) • 240 SBMaster algorithm • 333 SBMaster algorithm definition (Aux1,3,5,7,9,11,13,15,17) • 342 SBMaster algorithm definition (Aux2,4,6,8,10,12,14,16,18) • 346 SBMaster • 339 • 333 SBMaster algorithm algorithm definitions functional symbol SBMaster algorithm functionality details • 334 SBMaster Auxiliary Parameters tab • 338 SBMaster General Parameters tab • 337 SBMaster Input/Output Configuration tab • 336 SBscheduler algorithm • 329 SBScheduler algorithm definitions • 332 SBScheduler algorithm functional symbol • 330 SBsequence algorithm • 312 SBSequence algorithm (how it works) • 317 SBSequence algorithm Auxiliary Parameters tab • 316 SBSequence algorithm definitions • 319 SBSequence algorithm functional symbol • 312 SBSequence algorithm functionality details • 313 SBSequence algorithm General Parameters tab • 315 SBSequence algorithm Input/Output Configuration tab • 314 SBSequence auxiliary algorithm definitions • 325 SCAction algorithm • 298 SCAction algorithm (action and action state descriptions) • 298 SCAction algorithm definitions • 299 SCAction algorithm functional symbol • 299 SCAction Stall pin • 298 SCStep advanced tuning window -- Action Information tab • 297 SCStep algorithm - Action Conditional tab • 292 SCStep and SCStepNA advanced tuning window -- Selected Step tab • 296 SCStep and SCStepNA algorithm definitions • 282 SCStep and SCStepNA algorithms - I/O Configuration tab • 291

374

SCStep and SCStepNA algorithms - Step Transition tab • 295 SCStep functional symbol • 281 SCStepNA functional symbol • 282 SCTask Advanced Application Studio • 257 SCTask advanced tuning window -- History tab • 276 SCTask advanced tuning window -Selected Actions tab • 275 SCTask advanced tuning window -Selected Step tab • 274 SCTask algorithm • 254 SCTask algorithm definitions • 258 SCTask algorithm General Information tab • 268 SCTask algorithm I/OConfiguration tab • 267 SCTask functional symbol • 257 SCTask operation • 255 SCTask Stall pin • 256 Selectable Fields (Model MV Input Constraints) section • 52 Serial and parallel modes for SCStep • 279 Signal diagrams (accessing from Ovation Applications window) • 27 Single deadband (inner only) (FPID) • 188 Sootblower algorithms • 304 Stall pin for SCStep and SCStepNA • 280 Status (STAT) analog output (EDEVICE) • 122 STOP and LEFT Operation (EDEVICE) • 132 STOP and RIGHT operation (EDEVICE) • 132 STOP command execution (EDEVICE) • 131 Summary of Changes • 3

T Task description (SCTask) • 254 TEMPRO algorithm • 349 TEMPRO algorithm definitions • 355 TEMPRO functional symbol • 353 TEMPRO operation • 349 To access the Advanced Tuning window for APC Toolkit algorithms in signal diagrams • 29 To configure MV bump protection • 92 To create a PBLOCK algorithm • 235 To load sheets in a Windows-based Ovation system • 26 To reconcile tuning changes between the database and the Control Builder • 31 To use the Previewer Configuration window • 270 Transitioning to next step • 279 Trip and timeout sensing (EDEVICE) • 118

APC_002

Index

U Understanding the Previewer Configuration window • 270 Understanding the Previewer window right-click menu • 273 Using advanced algorithms in your control scheme • 15 Using advanced algorithms on a control sheet • 15 Using algorithm reference pages • 33 Using DMC control in a power plant--examples • 100 Using algorithms • 145 Using Fuzzy the Advanced Applications Studio to view and edit advanced algorithms • 21 Using the ARX Model algorithm • 35 Using the Dynamic Matrix Controller (DMC) algorithm • 49 Using the Dynamic Predictor algorithm (DPA) • 105 Using the EDEVICE algorithm • 115 Using the FPID Rule Base tab • 174 Using the Neural Network Multi-Layer Perceptron (NNMLP) general model algorithm • 197 Using the Ovation Sequence Coordinator algorithm package • 251 Using the Programmable Block (PBLOCK) algorithm • 219 Using the Property Editor to edit advanced algorithms • 19 Using the SCTask algorithm Previewer window • 269 Using the Sootblower algorithms • 303 Using the TEMPRO (Temperature Profile) algorithm • 349

V Viewing advanced algorithms in Signal Diagrams • 27

W What are the SCStep and SCStepNA algorithms? • 277 What is the Dynamic Predictor algorithm? • 105 Writing to output points (PBLOCK) • 231

APC_002

375

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF