You are on page 1of 347

Function Blocks Programmer's Reference and User's Guide

278589 Rev. A

Refer to this publication for complete and accurate information that helps you better operate and service Metso Automation equipment. Your comments and suggestions are welcome. Metso Automation 1180 Church Road Lansdale, PA 19446 Attention: Manager, Technical Publications

Copyright 2004 by Metso Automation MAX Controls Inc. Printed in the United States of America All Rights Reserved

Metso Automation 278589

Contents
PREFACE ............................................................................................................................III CHAPTER 1 ...................................................................................................................... 1-1
Introduction .................................................................................................................................................................1-1 Overview ...................................................................................................................................................................1-1 Understanding Atomic Blocks and Buffers .......................................................................................................1-1 Configuring Atomic Blocks and Buffers ...........................................................................................................1-1 Using maxDPUTools.........................................................................................................................................1-2 Using the Graphical Configurator .....................................................................................................................1-2 Atomic block Categories .......................................................................................................................................1-3 Atomic block/Buffer Overview by Category.........................................................................................................1-4 Alarm Tag Atomic Blocks.................................................................................................................................1-4 Analog Math Function.......................................................................................................................................1-5 Buffers ...............................................................................................................................................................1-5 Modulating Control Logic .................................................................................................................................1-5 Discrete Logic....................................................................................................................................................1-5 Grouping Atomic Blocks...................................................................................................................................1-6 State Logic.........................................................................................................................................................1-6 Steam Compensation .........................................................................................................................................1-6 Understanding Attributes.......................................................................................................................................1-6 Attribute Categories...........................................................................................................................................1-6 Using Referencing to Interconnect Controls .........................................................................................................1-8 Referencing by Attribute Category....................................................................................................................1-8 Reference Subscriptions ....................................................................................................................................1-8 Reference Syntax...............................................................................................................................................1-9 Understanding Data Types ..................................................................................................................................1-10 Boolean............................................................................................................................................................1-10 Integer..............................................................................................................................................................1-10 Enumerated......................................................................................................................................................1-10 Float.................................................................................................................................................................1-11 String ...............................................................................................................................................................1-11 Absolute Time .................................................................................................................................................1-11 Relative Time...................................................................................................................................................1-11 Commands ...........................................................................................................................................................1-11 COMMAND function blocks ..........................................................................................................................1-11 Edge Trigger function block command outputs ..............................................................................................1-12 Complex Data Type.............................................................................................................................................1-12 Standard Complex Data...................................................................................................................................1-12 Forceback ........................................................................................................................................................1-12 Incremental Control Data ................................................................................................................................1-12 Family Ties ......................................................................................................................................................1-13 Using Buffers to Define Hardware ......................................................................................................................1-13

Metso Automation 278589

Function Blocks and Buffers Programmer's Reference and User's Guide


I/O Addressing................................................................................................................................................ 1-13 Creating or Editing the I/O Inventory............................................................................................................. 1-14 I/O Module Types and Associated Signals......................................................................................................... 1-14 Digital Input Modules..................................................................................................................................... 1-14 Digital Output Modules .................................................................................................................................. 1-14 High Level Analog Input Modules ................................................................................................................. 1-15 Thermocouple/Millivolt Analog Input Module .............................................................................................. 1-15 Resistance Temperature Detector (RTD) Input Module................................................................................. 1-15 Analog Output Modules ................................................................................................................................. 1-15 Four-channel Position Adjusting Type (PAT)................................................................................................ 1-15 Counter/Timer (Pulse) Module ....................................................................................................................... 1-16 Positioning Modules ....................................................................................................................................... 1-16 Using Buffers to Create Simulated I/O Environment ......................................................................................... 1-16 Using Hierarchical Groups ................................................................................................................................. 1-17 Copying and Pasting Groups .......................................................................................................................... 1-17 Group Attributes ............................................................................................................................................. 1-17 Setting Atomic block and Group Execution Rates and Priorities ....................................................................... 1-17 Selecting Execution Rate ................................................................................................................................ 1-18 Selecting Execution Priority ........................................................................................................................... 1-19 Executing Blocks Using Priority Order .......................................................................................................... 1-19 Executing Blocks Using Hierarchical Order................................................................................................... 1-19 Using Hierarchical Scheduling with Absolute Priorities ................................................................................ 1-20 Using the DpuAtomList Utility ...................................................................................................................... 1-21 Using Custom blocks To Create Custom Applications ...................................................................................... 1-22 Understanding Standard Objects ........................................................................................................................ 1-23 Objects That Monitor Functions ..................................................................................................................... 1-23 DPU Battery Related Object........................................................................................................................... 1-24 DPU Fan Related Object................................................................................................................................. 1-24 Alarm Related Objects.................................................................................................................................... 1-25 Security Related Objects................................................................................................................................. 1-26 _timesync Object ............................................................................................................................................ 1-26 Using Alarm-Related Atomic Blocks and Buffers to Configure Alarming ........................................................ 1-26 Buffer Alarming.............................................................................................................................................. 1-26 Viewing Alarms in a maxSTATION .............................................................................................................. 1-27 Base Attributes................................................................................................................................................ 1-28 Table 1-5. Common Abbreviations Used in Attribute Tables ........................................................................ 1-29

CHAPTER 2 ...................................................................................................................... 2-1


Atomic block Category: Analog Math Functions (AnlFunc).................................................................................. 2-1 Overview .................................................................................................................................................................. 2-1 Math (ADD, MUL, DIV, ABS, EXP, POW, SQRT, MOD) .................................................................................... 2-2 Overview .................................................................................................................................................................. 2-2 Quality Component Flags Bad or Worst Quality.............................................................................................. 2-3 Attributes .................................................................................................................................................................. 2-3 Calculator (CALC) ..................................................................................................................................................... 2-4 Overview .................................................................................................................................................................. 2-4 Critical Behaviors ..................................................................................................................................................... 2-5 Detailed Descriptions................................................................................................................................................ 2-5 Attributes .................................................................................................................................................................. 2-7 Signal Selector (SIGSEL)........................................................................................................................................... 2-9

Metso Automation 278589

Contents
Overview ...................................................................................................................................................................2-9 Detailed Description ................................................................................................................................................2-10 Transition Smoothing ......................................................................................................................................2-10 Output Quality .................................................................................................................................................2-10 Attributes .................................................................................................................................................................2-11 Totalizer ( TOTL)......................................................................................................................................................2-13 Overview .................................................................................................................................................................2-13 Critical Behaviors ....................................................................................................................................................2-13 Detailed Description ................................................................................................................................................2-14 Alternate Applications .....................................................................................................................................2-15 Output Quality .................................................................................................................................................2-15 Attributes .................................................................................................................................................................2-16 Lead/Lag (LEADLAG) .............................................................................................................................................2-18 Overview .................................................................................................................................................................2-18 Critical Behaviors ....................................................................................................................................................2-18 Detailed Description ................................................................................................................................................2-18 Attributes .................................................................................................................................................................2-20

CHAPTER 3 ...................................................................................................................... 3-1


Buffers (Bufs) ...............................................................................................................................................................3-1 Overview ...................................................................................................................................................................3-1 Analog Input Buffer (AIB) .........................................................................................................................................3-3 Overview ...................................................................................................................................................................3-3 Creating Simulated Points .................................................................................................................................3-3 Attributes ...................................................................................................................................................................3-4 Analog Output Buffer (AOB) .....................................................................................................................................3-9 Overview ...................................................................................................................................................................3-9 Creating Simulated Points .................................................................................................................................3-9 Attributes .................................................................................................................................................................3-10 Counter Timer Buffer (CB) ......................................................................................................................................3-14 Overview .................................................................................................................................................................3-14 Attributes .................................................................................................................................................................3-15 Critical Behaviors ....................................................................................................................................................3-16 Digital Input Buffer (DIB) ........................................................................................................................................3-18 Overview .................................................................................................................................................................3-18 Creating Simulated Points ...............................................................................................................................3-18 Attributes .................................................................................................................................................................3-19 Digital Output Buffer (DOB)....................................................................................................................................3-22 Overview .................................................................................................................................................................3-22 Creating Simulated Points ...............................................................................................................................3-22 Attributes .................................................................................................................................................................3-23 Output Driver Buffer (OD).......................................................................................................................................3-26 Overview .................................................................................................................................................................3-26 Creating Simulated Points ...............................................................................................................................3-27 Attributes .................................................................................................................................................................3-27

Function Blocks and Buffers Programmer's Reference and User's Guide


Configuration Download ................................................................................................................................ 3-31 Configuration Notes: .............................................................................................................................................. 3-32 Positioning Buffer (PB) ............................................................................................................................................ 3-35 Overview ................................................................................................................................................................ 3-35 Creating Simulated Points .............................................................................................................................. 3-35 Attributes ................................................................................................................................................................ 3-35 Pulse I/O Buffer (PLSIO)......................................................................................................................................... 3-38 Overview ................................................................................................................................................................ 3-38 Creating Simulated Points .............................................................................................................................. 3-38 Attributes ................................................................................................................................................................ 3-39 Quad Pulse Adjusting Type Buffer (QPAT) .......................................................................................................... 3-44 Overview ................................................................................................................................................................ 3-44 Creating Simulated Points .............................................................................................................................. 3-44 Attributes ................................................................................................................................................................ 3-45 Resistance Temperature Detector Buffer (RTD) ................................................................................................... 3-49 Overview ................................................................................................................................................................ 3-49 Creating Simulated Points .............................................................................................................................. 3-49 Attributes ................................................................................................................................................................ 3-50 Serial Buffer .............................................................................................................................................................. 3-54 Attributes ................................................................................................................................................................ 3-55 Binary PLC Interface .............................................................................................................................................. 3-59 Using TestSerial program ....................................................................................................................................... 3-59 Thermocouple Buffer (TC) ...................................................................................................................................... 3-63 Overview ................................................................................................................................................................ 3-63 Creating Simulated Points .............................................................................................................................. 3-63 Attributes ................................................................................................................................................................ 3-64

CHAPTER 4 ...................................................................................................................... 3-1


Atomic block Category: Modulating Control Logic (ModLog) ............................................................................. 4-1 Overview .................................................................................................................................................................. 4-1 Basic Atomic Blocks: Use These Atomic Blocks to Configure a Basic Control Loop ........................................ 4-1 Setting up Output Control................................................................................................................................. 4-2 Setting up Setpoint Control............................................................................................................................... 4-2 Configuring PID Control Action ...................................................................................................................... 4-3 Adding Feedforward Control Action................................................................................................................ 4-4 Incremental Control Action .............................................................................................................................. 4-4 Using Pulse Adjusting Type Output ..................................................................................................................... 4-4 Drive Unit Motor Operation ............................................................................................................................. 4-5 Pulse On-Time Calculation............................................................................................................................... 4-5 Output Logic Functions .................................................................................................................................... 4-5 Backlash Accommodation ................................................................................................................................ 4-5 Position Feedback Monitoring.......................................................................................................................... 4-6 Drive Unit Operation Monitor .......................................................................................................................... 4-6 Using Participation-Related Atomic Blocks ......................................................................................................... 4-6 Controller Combining ....................................................................................................................................... 4-7 Using Special Control Function Atomic Blocks................................................................................................... 4-7 Control Selection / Auctioneering .................................................................................................................... 4-7

Metso Automation 278589

Contents
Cascade Control with Wild Variable Demand ..................................................................................................4-7 Control Command Characterization ..................................................................................................................4-8 Modulating Control Atomic Blocks Communication Complex Variables .........................................................4-8 Sources of complex variables: ...........................................................................................................................4-9 Processing Simple Variables referenced for Complex Variable Inputs.............................................................4-9 Processing Complex Variables referenced for Simple Variable Inputs...........................................................4-10 Forceback Initiators: ........................................................................................................................................4-10 Auto/Manual (AutoMan) ..........................................................................................................................................4-11 Overview .................................................................................................................................................................4-11 Critical Behaviors ....................................................................................................................................................4-11 Detailed Description ................................................................................................................................................4-12 Modulating Control AUTOMAN Application ................................................................................................4-12 Configuration...................................................................................................................................................4-12 Value Outputs ..................................................................................................................................................4-14 LOGIC OUTPUTS ..........................................................................................................................................4-15 Attributes .................................................................................................................................................................4-16 Limiter (LIMITER)...................................................................................................................................................4-19 Overview .................................................................................................................................................................4-19 Critical Behaviors ....................................................................................................................................................4-19 Detailed Description ................................................................................................................................................4-20 Modulating Control LIMITER Application ....................................................................................................4-20 Configuration...................................................................................................................................................4-22 Attributes .................................................................................................................................................................4-23 Proportional, Integral, and Derivative (PID)..........................................................................................................4-26 Overview .................................................................................................................................................................4-26 Critical Behaviors ....................................................................................................................................................4-26 Detailed Description ................................................................................................................................................4-28 Modulating Control PID Application ..............................................................................................................4-28 Configuration...................................................................................................................................................4-28 Tuning..............................................................................................................................................................4-30 Noise Filtering .................................................................................................................................................4-30 Tuning Procedure ....................................................................................................................................................4-33 Attributes .................................................................................................................................................................4-34 Feedforward (FEEDFWD) .......................................................................................................................................4-37 Overview .................................................................................................................................................................4-37 Critical Behaviors ....................................................................................................................................................4-37 Detailed Description ................................................................................................................................................4-38 Modulating Control Feedforward Application ................................................................................................4-38 Configuration...................................................................................................................................................4-38 Tuning..............................................................................................................................................................4-39 Adaptive Tuning Connections .........................................................................................................................4-40 Noise Filtering .................................................................................................................................................4-40 Attributes .................................................................................................................................................................4-41 Pulse Adjusting Type Output (PATOUT)...............................................................................................................4-43 Overview .................................................................................................................................................................4-43 Critical Behaviors ....................................................................................................................................................4-43 Detailed Description ................................................................................................................................................4-44 Modulating Control PATOut Application .......................................................................................................4-46 Configuration...................................................................................................................................................4-46 Tuning..............................................................................................................................................................4-46

vii

Function Blocks and Buffers Programmer's Reference and User's Guide


Monitor Adjustments ...................................................................................................................................... 4-48 Tuning Procedure ................................................................................................................................................... 4-48 Determine response to minimum on-time:...................................................................................................... 4-49 Determine response to full on-time (1/2 second)............................................................................................ 4-49 Determine response linearity. ......................................................................................................................... 4-50 Determine rate of response for continuous on-time........................................................................................ 4-51 Test PAT Positioning...................................................................................................................................... 4-51 Feedback Applications:................................................................................................................................... 4-52 Backlash application. ...................................................................................................................................... 4-53 Attributes ................................................................................................................................................................ 4-54 Participation Member (PARTMEM)...................................................................................................................... 4-57 Overview ................................................................................................................................................................ 4-57 Critical Behaviors ................................................................................................................................................... 4-57 Detailed Description ............................................................................................................................................... 4-58 Modulating Control PARTMEM Application ................................................................................................ 4-58 Configuration.................................................................................................................................................. 4-58 Equalizing Tuning .......................................................................................................................................... 4-59 Operation ........................................................................................................................................................ 4-59 Attributes ................................................................................................................................................................ 4-60 Participation Master (PARTMSTR)....................................................................................................................... 4-63 Overview ................................................................................................................................................................ 4-63 Critical Behaviors ................................................................................................................................................... 4-63 Description of Distribution ............................................................................................................................. 4-63 Attributes ................................................................................................................................................................ 4-64 Controller Combining (CTLCOMB) ...................................................................................................................... 4-66 Overview ................................................................................................................................................................ 4-66 Critical Behaviors ................................................................................................................................................... 4-66 Detailed Description ............................................................................................................................................... 4-67 Modulating Control CTLCOMB Application ................................................................................................ 4-67 Configuration.................................................................................................................................................. 4-67 Tuning Procedure ................................................................................................................................................... 4-68 Determine PID Control Action (Direction) .................................................................................................... 4-68 Determine Relative Effects ............................................................................................................................. 4-68 Tune Dominant PID with Non-dominant frozen ............................................................................................ 4-68 Tune Non-dominant PID (with Dominant Active) ......................................................................................... 4-69 Attributes ................................................................................................................................................................ 4-69 Control Math Set (CTLADD, CTLMUL, CTL1DIV2, CTL2DIV1) .................................................................. 4-72 Overview ................................................................................................................................................................ 4-72 Critical Behaviors ................................................................................................................................................... 4-72 Detailed Description ............................................................................................................................................... 4-73 Attributes ................................................................................................................................................................ 4-73 Control Selector (CTLSEL)..................................................................................................................................... 4-75 Overview ................................................................................................................................................................ 4-75 Critical Behaviors ................................................................................................................................................... 4-75 Attributes ................................................................................................................................................................ 4-76 Function Generator (FUNCGEN)........................................................................................................................... 4-78 Overview ................................................................................................................................................................ 4-78 Critical Behaviors ................................................................................................................................................... 4-78 Detailed Description ............................................................................................................................................... 4-78

Metso Automation 278589

Contents
Value Function Generator Application............................................................................................................4-78 Characterization for Modulating Control Application.....................................................................................4-79 Attributes .................................................................................................................................................................4-79 Complex Variable Test Atomic block (CMPT).......................................................................................................4-82 Overview .................................................................................................................................................................4-82 Critical Behaviors ....................................................................................................................................................4-82 Detailed Description ................................................................................................................................................4-82 Output Quality .................................................................................................................................................4-82 Attributes .................................................................................................................................................................4-83

CHAPTER 5 ...................................................................................................................... 5-1


Discrete Logic (DisLog)...............................................................................................................................................5-1 Combinatorial ....................................................................................................................................................5-1 FlipFlop .............................................................................................................................................................5-1 Trigger ...............................................................................................................................................................5-1 Compare.............................................................................................................................................................5-2 Timing ...............................................................................................................................................................5-2 Special ...............................................................................................................................................................5-2 Logic (AND, OR, XOR, NOT)....................................................................................................................................5-3 Overview ...................................................................................................................................................................5-3 Output Quality ...................................................................................................................................................5-3 Attributes ...................................................................................................................................................................5-3 Flip Flop (SETDOM, RESETDOM, NODOM) ........................................................................................................5-5 Overview ...................................................................................................................................................................5-5 Detailed Description ..................................................................................................................................................5-5 Using Setdom ....................................................................................................................................................5-5 Using Resetdom.................................................................................................................................................5-5 Using Nodom.....................................................................................................................................................5-6 Operator Commands..........................................................................................................................................5-6 Attributes ...................................................................................................................................................................5-6 Trigger (EDGERISE, EDGEFALL, EDGEANY) ....................................................................................................5-7 Overview ...................................................................................................................................................................5-7 Attributes ...................................................................................................................................................................5-7 Compare (GT, LT, EQ, NE) .......................................................................................................................................5-9 Overview ...................................................................................................................................................................5-9 Critical Behaviors ......................................................................................................................................................5-9 Attributes .................................................................................................................................................................5-10 Time Function (TON, TOFF, TPULSE)..................................................................................................................5-11 Overview .................................................................................................................................................................5-11 Detailed Description ................................................................................................................................................5-11 Using the TON Atomic block..........................................................................................................................5-11 Using the TOFF Atomic block ........................................................................................................................5-11 Using the TPULSE Atomic block ...................................................................................................................5-11 Attributes .................................................................................................................................................................5-12 BitPack .......................................................................................................................................................................5-13 Overview .................................................................................................................................................................5-13

ix

Function Blocks and Buffers Programmer's Reference and User's Guide


Attributes ................................................................................................................................................................ 5-13 BitUnPack.................................................................................................................................................................. 5-14 Overview ................................................................................................................................................................ 5-14 Attributes ................................................................................................................................................................ 5-14 Timer.......................................................................................................................................................................... 5-16 Description.............................................................................................................................................................. 5-16 Attributes ................................................................................................................................................................ 5-16 Counter ...................................................................................................................................................................... 5-18 Description.............................................................................................................................................................. 5-18 Attributes ................................................................................................................................................................ 5-18 Clock .......................................................................................................................................................................... 5-20 Description.............................................................................................................................................................. 5-20 Attributes ................................................................................................................................................................ 5-20

CHAPTER 6 ...................................................................................................................... 6-1


Group........................................................................................................................................................................... 6-1 Group(GRP)................................................................................................................................................................ 6-1 Overview .................................................................................................................................................................. 6-1 Copying and Pasting Groups ............................................................................................................................ 6-2 Adding a Group ................................................................................................................................................ 6-2 Group Attributes ............................................................................................................................................... 6-2 User Object (USROBJ) .............................................................................................................................................. 6-4 Overview .................................................................................................................................................................. 6-4 Alarm Reporter (ALMREP)...................................................................................................................................... 6-5 Overview .................................................................................................................................................................. 6-5 Desc/Atldesc Text Appears In Alarm Summary Or Event Log....................................................................... 6-5 Critical Behaviors ............................................................................................................................................. 6-6 Configuring Alarm Behavior ............................................................................................................................ 6-6 Logging Behavior ............................................................................................................................................. 6-6 Creating a Snooze Alarm.................................................................................................................................. 6-6 Reducing Nuisance Alarms .............................................................................................................................. 6-7 Attributes .................................................................................................................................................................. 6-8

CHAPTER 7 ...................................................................................................................... 7-1


Tagable (AlmTag)....................................................................................................................................................... 7-1 Analog Tagger (ATAG).............................................................................................................................................. 7-2 Overview .................................................................................................................................................................. 7-2 TagName Reporting.......................................................................................................................................... 7-2 Configuring Filtering ........................................................................................................................................ 7-3 Configuring Alarm Behavior ............................................................................................................................ 7-3 Logging Behavior ............................................................................................................................................. 7-5 Delta Alarming ................................................................................................................................................. 7-5 Creating a Snooze Alarm.................................................................................................................................. 7-5

Metso Automation 278589

Contents
Reducing Nuisance Alarms ...............................................................................................................................7-5 Using Mode to Force an Output Value..............................................................................................................7-5 Creating Custom Alarm Text.............................................................................................................................7-5 Attributes ...................................................................................................................................................................7-6 Digital Tagger (DTAG) .............................................................................................................................................7-10 Overview .................................................................................................................................................................7-10 TagName Reporting ........................................................................................................................................7-10 Configuring Alarm Behavior...........................................................................................................................7-11 Logging Behavior ............................................................................................................................................7-11 Creating a Snooze Alarm.................................................................................................................................7-11 Reducing Nuisance Alarms .............................................................................................................................7-11 Using Mode to Force an Output Value............................................................................................................7-12 Creating Custom Alarm Text...........................................................................................................................7-12 Attirbutes .................................................................................................................................................................7-12

CHAPTER 8 ...................................................................................................................... 8-1


State Logic (StLog) ......................................................................................................................................................8-1 Sequence Attribute Application.................................................................................................................................8-1 A Single Linear Sequence .....................................................................................................................................8-1 Adding Text.......................................................................................................................................................8-2 Sequence Operation Modes ...............................................................................................................................8-2 Operator Actions................................................................................................................................................8-3 Step Progression Options...................................................................................................................................8-4 Output Options ..................................................................................................................................................8-4 Alarms ...............................................................................................................................................................8-6 Non-Linear Sequences...........................................................................................................................................8-6 Sequence Initiation Interlocks ...............................................................................................................................8-7 Multiple Sequences................................................................................................................................................8-7 Device Logic (DEVLOG) ............................................................................................................................................8-9 Overview ...................................................................................................................................................................8-9 Critical Behaviors ....................................................................................................................................................8-10 Detailed Description ................................................................................................................................................8-10 Device Type.........................................................................................................................................................8-10 Operation Strategy...............................................................................................................................................8-12 Lockout............................................................................................................................................................8-12 Mode................................................................................................................................................................8-12 Fail Actions......................................................................................................................................................8-13 Override Priority..............................................................................................................................................8-13 Track................................................................................................................................................................8-13 Application ..........................................................................................................................................................8-13 Feedback..........................................................................................................................................................8-13 Interlocks .........................................................................................................................................................8-14 Auto Operation ................................................................................................................................................8-14 Alarm Reset .....................................................................................................................................................8-14 Outputs ................................................................................................................................................................8-14 Device Status ...................................................................................................................................................8-14 Device Logic Command Status .......................................................................................................................8-15 Device Logic Mode Status...............................................................................................................................8-15 Device Logic Monitor Status...........................................................................................................................8-15 Attributes .................................................................................................................................................................8-15

xi

Function Blocks and Buffers Programmer's Reference and User's Guide


Command .................................................................................................................................................................. 8-19 Overview ................................................................................................................................................................ 8-19 Attributes ................................................................................................................................................................ 8-20 Sequence Master (SEQMSTR) ................................................................................................................................ 8-22 Sequence Master (SEQMSTR) ................................................................................................................................ 8-22 Overview ................................................................................................................................................................ 8-22 Critical Behaviors ................................................................................................................................................... 8-23 Detailed Description ............................................................................................................................................... 8-23 Attributes ................................................................................................................................................................ 8-23 Sequence Step (SEQSTEP) ...................................................................................................................................... 8-26 Overview ................................................................................................................................................................ 8-26 Critical Behaviors ................................................................................................................................................... 8-26 Detailed Description ............................................................................................................................................... 8-26 Attributes ................................................................................................................................................................ 8-27 First Out (FSTOUT)................................................................................................................................................. 8-29 Overview ................................................................................................................................................................ 8-29 FirstOut Stores the Five Most Recent Trips and Trip Times .......................................................................... 8-29 Viewing Trip Status ........................................................................................................................................ 8-30 Using Reset Options ....................................................................................................................................... 8-30 Attributes ................................................................................................................................................................ 8-30 Quality Force (QUALFRCE)................................................................................................................................... 8-33 Overview ................................................................................................................................................................ 8-33 Attributes ................................................................................................................................................................ 8-33

CHAPTER 9 ...................................................................................................................... 9-1


Steam Compensation .................................................................................................................................................. 9-1 STMPROP ........................................................................................................................................................ 9-1 LVLCOMP ....................................................................................................................................................... 9-1 FLOWCOMP.................................................................................................................................................... 9-1 List of Available Functions................................................................................................................................... 9-2 Saturated Properties .............................................................................................................................................. 9-3 Superheated Properties ......................................................................................................................................... 9-3 Wet Steam Property .............................................................................................................................................. 9-4 Compressed Liquid ............................................................................................................................................... 9-4 Steam Property Accuracy ..................................................................................................................................... 9-4 Steam Property (STMPROP) .................................................................................................................................... 9-6 Overview .................................................................................................................................................................. 9-6 Critical Behaviors ..................................................................................................................................................... 9-6 Detailed Description ................................................................................................................................................. 9-6 Attributes .................................................................................................................................................................. 9-6 Level Compensation (LVLCOMP) ........................................................................................................................... 9-8 Overview .................................................................................................................................................................. 9-8 Critical Behaviors ..................................................................................................................................................... 9-8 Detailed Description ................................................................................................................................................. 9-9 Parameter Application Notes .......................................................................................................................... 9-10 Level Compensation Equation Derivation...................................................................................................... 9-11

Metso Automation 278589

Contents
Level Measurement Compensation Results.....................................................................................................9-12 Attributes .................................................................................................................................................................9-13 Flow Compensation (FLOWCOMP) .......................................................................................................................9-15 Overview .................................................................................................................................................................9-15 Critical Behaviors ....................................................................................................................................................9-15 Detailed Description ................................................................................................................................................9-15 Attributes .................................................................................................................................................................9-17

CHAPTER 10 .................................................................................................................. 10-1


maxMAXDPU Standard Function Blocks ..............................................................................................................10-1 Proportional, Integral, and Derivative (PID) Control ...........................................................................................10-1 Overview .................................................................................................................................................................10-1 Detailed Description ................................................................................................................................................10-1 Attributes .................................................................................................................................................................10-2 Cascade ((2) PID plus Feedforward) Control .........................................................................................................10-5 Overview .................................................................................................................................................................10-5 Detailed Description ................................................................................................................................................10-5 Attributes .................................................................................................................................................................10-6 Steam Power Algorithm Blocks..............................................................................................................................10-10 Overview ...............................................................................................................................................................10-10 Energy Demand .......................................................................................................................................................10-11 Overview ...............................................................................................................................................................10-11 Critical Behaviors ..................................................................................................................................................10-11 Detailed Description ..............................................................................................................................................10-12 Attributes ...............................................................................................................................................................10-13 Servo .........................................................................................................................................................................10-15 Overview ...............................................................................................................................................................10-15 Critical Behaviors ..................................................................................................................................................10-15 Detailed Description ..............................................................................................................................................10-16 Attributes ...............................................................................................................................................................10-16 Demand Limit Regulator ........................................................................................................................................10-18 Overview ...............................................................................................................................................................10-18 Critical Behaviors ..................................................................................................................................................10-18 Detailed Description ..............................................................................................................................................10-18 Attributes ...............................................................................................................................................................10-19 Hard Runback .........................................................................................................................................................10-21 Overview ...............................................................................................................................................................10-21 Critical Behaviors ..................................................................................................................................................10-21 Detailed Description ..............................................................................................................................................10-22 Attributes ...............................................................................................................................................................10-23 Heat Release .............................................................................................................................................................10-25 Overview ...............................................................................................................................................................10-25 Critical Behaviors ..................................................................................................................................................10-25 Detailed Description ..............................................................................................................................................10-25

xiii

Function Blocks and Buffers Programmer's Reference and User's Guide


Attributes .............................................................................................................................................................. 10-26

Metso Automation 278589

Preface

This publication presents a detailed listing of attributes for more than 60 associated atomic blocks and buffers. Use atomic blocks and buffers to create point databases implementing specific process control strategy. An atomic block is a software object that encapsulates specific engineering functionality, such as a PID, an Auto/Manual toggle switch, or an AND gate. Atomic Blocks and buffers are only available with maxDPU-based systems. To configure atomic blocks and buffers, use maxDPUTools and the maxVUE Editor Graphical Configurator. Earlier DPU4A and DPU4B systems use Control and Data Blocks to construct a process control strategy. These systems do not use atomic blocks and buffers. To configure a point database using these earlier DPU versions, use maxTOOLS. For related information, refer to the following publications: Book No. 278590 278597 278605 278606 278704 Title Model PDP Series 200 maxDPU Installation, Preparation, and Adjustment maxDPUTools User's Guide maxDPU Auxiliary Functions, a User's Guide Graphical Configurator User's Guide MaxPAC Positioning Module Programming Guide

Metso Automation 278589

Chapter 1
Introduction
Overview
Understanding Atomic Blocks and Buffers
This reference guide provides descriptions for more than 60 atomic blocks and buffers available with maxDPU based systems. Use atomic blocks and buffers to create point databases implementing specific process control strategy. Use atomic blocks for control and data acquisition. Use buffers to define the I/O inventory and specify signal conditioning and linearizations or create a simulation database. An atomic block is a software object that encapsulates specific engineering functionality, such as a PID, an Auto/Manual toggle switch, or an AND gate. Atomic Blocks are normally grouped into larger objects to encapsulate increased functionality. Groups of atomic blocks constitute a custom function block object. Custom function blocks can be applied in hierarchical levels (HID levels) to form increasing levels of control system functionality. These HID levels can then be assigned to a particular DPU. Atomic Blocks, buffers, and custom function blocks are part of a DPMS (Distributed Point Management System), a Microsoft Access-style database and client/server that composes a Distributed Processing Unit (DPU). The DPMS manages its point database, provides master scheduling, and executes the objects composing its database, among its various functions. A large process control application may be composed of multiple DPMS residing in as many DPUs.

Configuring Atomic Blocks and Buffers


Use two maxDNA software products to create a point database incorporating atomic blocks and buffers, maxDPUTools and the Graphical Configurator. maxDPUTools is a software utility that allows you to create a Microsoft Access-style database in offline mode. To configure points in an online environment, use the maxVUE Graphical Configurator, a separate software product available with the maxVUE Editor software.

Metso Automation 278589

Function Blocks and Buffers Programmer's Reference and User's Guide


Using maxDPUTools
Use maxDPUTools to: Create one or more configurations consisting of points and buffers Install the configuration(s) and load them into their respective DPUs

Use maxDPUTools to install an entire configuration at one time (full installation) or to install any part of the configuration down to a single atomic block, an incremental installation. See Publication 278595, maxDPUTools User's Guide.

Using the Graphical Configurator


The Graphical Configurator, available through the maxVUE Editor, allows you to represent a point database graphically in the form of logic diagrams positioned on printable sheets. Use the Graphical Configurator application to: Create graphical representations of point databases Make online edits to a configuration Edit tagnames Add and delete atomic blocks and groups online Document and print graphical representations of configurations

A point configuration, represented graphically, consists of diagrams representing all or portions of groups associated with a selected configuration. Groups are drawn on A size (8.5 in x 10 in) (21.6 cm x 25.4 cm) or B size (11 in x 17 in) (27.9 cm x 43.2 cm) sheets, which can be printed on any default printer accommodating these two paper formats. Logic diagrams appearing on sheets consist of a collection of boxes representing atomic blocks or custom blocks. In a point configuration, atomic blocks and custom block elements are connected or wired to attributes associated with other controls (atomic blocks, groups, custom blocks) using reference pointers. To show referencing graphically, logic diagrams show interconnecting lines entering and leaving boxes. Lines entering a box on the left are inputs and lines leaving a box on the right are outputs. An output emerging from one control may become another control's input. You may use the Graphical Configurator to make online changes to a configuration as you experiment with new wiring schemes. As you rearrange the objects, add, delete or otherwise change wiring, their positions are stored back into the DPMS. You may also make changes to the DPMS point configurations. Select individual controls, such as atomic blocks, groups, and elements within custom blocks to change attribute values. Other configurator tools let you add and delete atomic blocks and groups in a configuration on line.

1-2

Metso Automation 278589

Introduction
These become permanent parts of the online DPMS but are not part of the offline database unless uploaded. To retain any online edits or organization changes, the DPMS must be uploaded to the offline database using maxDPUTools or the next install will return the DPMS to its unorganized state. The current release of Graphical Configurator cannot be used to: Copy and paste atomic blocks Upload and download a DPU Create a custom block (molecule/block)

Consult the most current maxDPU release notes.

Atomic block Categories


This reference guide describes more than 60 individual atomic block and buffer types using descriptive text and tables. Atomic Blocks are organized by chapter under the following eight broad categories: Analog math functions; see Chapter 2. Buffers; see Chapter 3 Modulating control logic; see Chapter 4 Discrete logic; see Chapter 5. Groups; see Chapter 6. include with Tagging and Alarming State logic; see Chapter 8. Steam compensation; see Chapter 9. Tagging and alarming; see Chapter 7.

In addition to these eight general categories, the analog math functions, modulating control logic and discrete logic categories contain subcategories. The following table lists atomic blocks by categories and subcategories.

Metso Automation 278589

1-3

Function Blocks and Buffers Programmer's Reference and User's Guide


Table 1-1. Atomic Blocks Table
Analog Math Functions (AnlFunc) Subcategory Math ABS ADD MUL DIV MOD EXP POW SQRT Subcategory Special functions TOTL CALC SIGSEL LEADLAG Buffers (Bufs) AIB AOB CB DIB DOB OD PB PLSIO QPAT RTD TC Modulating Control Logic (ModLog) Subcategory: Basic AUTOMAN LIMITER PID FEEDFWD Subcategory Participation PARTMEM PARTMSTR CTLCOMB Subcategory PATOUT PATOUT Forceback Subcategory Special: CTLSEL CTLADD CTLMUL CTLDIV1 CTLDIV2 FUNCGEN Subcategory Test CMPT QUALFRCE Discrete Logic (DesLog) Subcategory Basic Gates NOT AND OR XOR Subcategory Comparisons GT LT EQ NE Subcategory Flip Flops RESETDOM SETDOM NODOM Subcategory Timers TON TOFF TPULSE Subcategory Triggers EDGEANY EDGEFALL EDGERISE Subcategory Pack/unpack Bitpack Bit/unpack AlarmTag related ATAG DTAG Group ALMREP GRP USROBJ

Device Logic (DevLog) DEVLOG SEQMSTR SEQSTEP FSTOUT

Steam STMPROP FLOWCOMP LVLCOMP

Atomic block/Buffer Overview by Category


The chapters that follow this introductory chapter describe atomic blocks and buffers by the categories listed in Table 1-1. Refer to this section for brief descriptions of each category.

Alarm Tag Atomic Blocks


Tagable atomic blocks consist of

1-4

Metso Automation 278589

Introduction
Analog Tagger (ATAG) Digital Tagger (DTAG) Use the Analog Tagger (ATAG) atomic block to assign a tagname, scaling, alarming, and value forcing capability to any analog point, and use the Digital Tagger atomic block to apply similar capabilities to digital points. These atomic blocks are typically used to assign tagnames and alarming capabilities to individual signals entering buffers and to points related to PID-related atomic blocks. See Chapter 3, "Atomic block Category: Buffers," and Chapter 4, "Atomic block Category: Modulating Control Logic." Chapter 7 discusses key features of each atomic block, such as value forcing using the Mode and ForcedVal parameters, configuring a snooze alarm, creating custom alarm text, and other features. Parameters included with this atomic block allow you to assign a tagname to a point, set alarm and range high and low limits, range clamping, and various alarm behaviors.

Analog Math Function


Use the math related atomic blocks to perform basic mathematical operations, consisting of addition, (Add atomic block), multiplication, (Mul atomic block), Division, (Div atomic block), absolute value, (Abs atomic block), exponential (Exp atomic block), power (Pow atomic block), square root (SQRT atomic block) and (MOD atomic block). See Chapter 2.

Buffers
Use buffers to define the I/O inventory and specify signal conditioning and linearizations. Most currently available I/O modules are represented by an associated buffer type. See also, "Using Buffers to Define Hardware."

Modulating Control Logic


These consist of complex atomic blocks that are central to most process control strategies. Atomic Blocks discussed in this chapter are grouped by the following subcategories: Basic, Pulse Adjusting Type Output, Participation, and Special:
Basic AUTOMAN LIMITER PID FEEDFWD Pulse Adjusting Type Output PATOUT Participation PARTMEM PARTMSTR CTLCOMP Special CTLSEL CTLADD CTLMUL CTLDIV2 CTLDIV1 FUNCGEN Test CMPT

See Chapter 4 for a full discussion of complex atomic blocks.

Discrete Logic

Metso Automation 278589

1-5

Function Blocks and Buffers Programmer's Reference and User's Guide


This chapter defines six sets of general purpose discrete logic atomic blocks and two special purpose atomic blocks. Most of these atomic blocks use boolean parameters that are set to true or false to derive the expected results. See Chapter 5.

Grouping Atomic Blocks


This chapter discusses atomic block types used for grouping other atomic blocks. Atomic Blocks in this category are used to define hierarchical structures (Group atomic block), to create custom atomic block groups (User Object), or to alarm similar elements within a custom control group (Alarm Reporter atomic block). See Chapter 6.

State Logic
This consists of atomic blocks that provide controls for on/off devices and sequence operation.

Steam Compensation
This consists of atomic blocks that provide steam property values or apply steam properties for process measurement compensations. (The flow compensation atomic blocks also provide compensation for air and gas flows.)

Understanding Attributes
The data stored in an atomic block is organized as a set of attributes. For each atomic block and buffer, this reference guide presents a collection of tables listing attributes. Tables are organized by various attribute categories, such as inputs, output, parameters, and so forth. See next section. The tabular detail shows three informational columns, listing the name of each attribute, data types associated with each attribute, and a brief description of the attribute. All atomic blocks have some attributes in common. All attributes have subattributes. Subattributes include category, description, reference, and several others. Some of the others are attrwriteable, attrreadable attrminval etc.

Attribute Categories
Attributes may be divided into the following categories: General All atomic blocks have required foundation attributes.

1-6

Metso Automation 278589

Introduction
Inputs Parameters Inputs are values that are usually obtained by referencing another attribute. Parameters are similar to inputs except it is expected that referencing other attributes is unlikely and that the local value is used. They are predominantly used to configure the atomic block. Outputs are values that are the result of the function or operation with which they are associated. They are predominantly used to generate data for other atomic blocks to use. These are similar to outputs except it is not expected that these are connected to inputs. They are predominantly used to monitor the atomic blocks execution. When defining a user object you are free to define your own attributes. They can be categorized as any of the above or you may define your own categories for your own purposes. All attributes have the sub-attribute Quality. The behavior of atomic blocks may be based on the Quality of its inputs. Use the QualityForce atomic block to force a quality change on a value as it is passed through. 0 = good data quality 1 = doubtful data quality 2 = substitute data quality 3 = bad data quality Methods direct an atomic block to perform a special function. Methods include commands to change mode or target value, etc. Because pure method values do not exist after the method is executed, they cannot be read back. Attributes that are used to receive commands from the HMI that will initiate some action within the atomic blocks algorithm.

Outputs

Status

Custom

Quality

Methods

Commands

Table 1-2 lists attribute categories listed in this publication for each atomic block. Categories, such as General and Quality, are common to all atomic blocks and are not listed with each atomic block type. The table lists information about referencing, read/write characteristics and configuration information. Most of these attribute categories are viewable in configuration utilities, such as maxDPUTools, Graphical Configurator, and Point Browser. Table 1-2. Attribute Categories and Characteristics

Metso Automation 278589

1-7

Function Blocks and Buffers Programmer's Reference and User's Guide


Attribute Categories Input Output Parameter Status Command Has Reference Normally does No for atomic blocks, Normally Does for groups Normally does not No for atomic blocks, Normally Does for groups Normally does not Is Referenced Normally is not Normally is Normally is not Normally is not No Optimized Subscription Yes Yes Normally Not Normally Not Yes Read Yes Yes Yes Yes Normally Not Write Yes No Yes No Yes Seen in Point Browser Yes Yes Yes Yes Normally Is Not Shown in Graphical Configurator When Referenced* When Referenced When Referenced When Referenced When Referenced

*Attribute is shown on the Graphical Configurator as a quill protruding from the atomic block bit map in Detail Mode before any attributes are referenced or exposed.

Using Referencing to Interconnect Controls


Use references to connect (or "soft wire") a control with other controls within a single configuration or across multiple configurations. Enter a reference in a control to read attributes data. The referenced attribute is normally an output, but may, under certain circumstances, be a parameter, or status of a DPMS object. See Table 1-2 and the next section.

Referencing by Attribute Category


Input: Input attributes are intended to be wired most of the time and receive data from a source outside the atomic block. They are predominantly used to get data from other atomic blocks for use in the internal algorithm. Output attributes are intended to be wired most of the time and receive data from the algorithm within the atomic block. They are predominantly used to generate data for other atomic blocks to use. Parameter attributes are not intended to be wired most of the time. They are normally static values configured and/or tuned to set the systems operational performance. Status attributes are not intended to be wired most of the time and receive data from the algorithm within the atomic block.

Output:

Parameter:

Status:

Use referencing: to read an attribute within the same control containing the reference to read attributes within other controls to read attributes within controls located in other configurations

Reference Subscriptions

1-8

Metso Automation 278589

Introduction
All inputs have several sub-attributes to represent their data. The local (default) value and the reference pointer fields are configurable. The working value is always retrieved by following the reference pointer. The following three cases apply to input references: 1. When a reference pointer is not specified, the default for the pointer is to point to the local value. 2. Optimized subscriptions use the reference pointer to pick a value in the DPU database (local memory) eliminating the need to subscribe to the Software Backplane. This takes the same amount of processor time as retrieving a local value. See Table 1-2. 3. Unoptimized subscriptions use the pointer to pick a value from a location, which must be interpreted. These would include - points outside the DPMS (including peer to peer communication), - references to attributes of a different type (e.g. time type input referenced to a floating point value), - some status type attributes that are not stored, and - (at least at present) sub-attributes of input attributes. Values by unoptimized subscriptions may not update every scan during periods of high DPU activity.

Reference Syntax
The meaning of the following characters describes the construction of a reference field entry. See Publication 278597, maxDPUTools Users Guide, Using Referencing to Interconnect Controls, for a more extensive discussion of reference syntax. Character / # . .. Character Description Slash Number Sign Single Dot Double Dot Meaning Hierarchical level separator Designates the beginning of a relative ID number My child (also designates the beginning of an attribute name) Sibling (child of my parent) (note that ../../ designates an aunt/uncle (child of my grandparent)) The next hierarchical level above with a child whose name matches the generic name following the next slash (/) Follow the reference of the attribute

Caret

Follow

Metso Automation 278589

1-9

Function Blocks and Buffers Programmer's Reference and User's Guide


referenced. This reference construct is not recommended because it resolves on download only, does not reconstruct the connection for any subsequent edits in the DPU database.

Understanding Data Types


To configure an atomic block, you must assign a value (or reference) to each atomic block attribute you intend to use. While it is more efficient for the DPU to process all values in real or floating point data, by necessity, atomic blocks and their attributes use a variety of data types. For example, logic gate-related atomic blocks, by their nature, tend to use many Boolean values. Additionally, virtually all atomic blocks use attributes that require text string entries. The Type column appearing for each atomic block's tabular detail display indicates which data type must be used for a specific attribute. Single value data is often passed down the line without regard to source, use, or range. An associated attribute to such data is quality, which is, in fact, associated with all data. Value data functions in several formats: Boolean Integer Complex Enumerated Float Long Relative time Text Time

Boolean
Boolean data can only have the values True and False. It represents two state conditions such as: active/not active; on/off; alarm/no alarm.

Integer
Integers are whole numbers with no fractional component. They may be range-restricted according to use.

Enumerated
Enumerated data is another variation of Integer or Boolean where there is a meaning assigned to a list of values, which is severely restricted to those having special meaning to the function.

1-10

Metso Automation 278589

Introduction
Example: mode in the auto/manual atomic block may be set to 0=manual 1= auto

Float
Real or floating point data is used to represent a value in a continuum of a range of possible values. They are not restricted to whole values and may differ from other floats by very small increments. (Behind the scenes, most data is actually stored in this format. Consequently, you may occasionally see fields where integer and even Boolean values are sometimes misrepresented as floats).

String
Generally used for text.

Absolute Time
Absolute time is a special type of data, displayed in a standard time format. It is derived from the local clock, synchronized to the system master clock.

Relative Time
Relative time is another variation of float that enables it to be read by a standard input reference.

Commands
Commands are a special type of input to a function block that causes an action by the block when the command is written. To initiate this one time (scan) action, the command value is time stamped. The value represents an enumerated input to command one of a set of actions or a floating input to set a value entry (the input determines the application of the value). Normally the input is written by maxVUE functions (that includes the time stamp for the write event). But the input could be referenced to a COMMAND function block output (.OUT01 - .OUT16) or an edge trigger (EDGEANY, EDGEFALL, EDGERISE) function block command output (.CMDOUT).

COMMAND function blocks


The COMMAND function block combines (up to four command inputs) and translates the commands to values that match the requirements of the inputs that reference its outputs while passing the time stamp of the active input command. Its inputs are also normally written by maxVUE functions but could also be referenced.

Metso Automation 278589

1-11

Function Blocks and Buffers Programmer's Reference and User's Guide


Edge Trigger function block command outputs
The command outputs of the edge trigger function blocks are for commands generated by maxDPU logic (not written by maxVUE). The output is the configured command value with a time stamp related to the edge for a single scan (of the edge detection).

Complex Data Type


It is often necessary to provide supplementary data along with a principle value. Such supplements are in themselves values (with quality). This need is met by special hybrid data types referred to as complex data. Three types of complex data share a common structure of six basic values: Aref, Rhi, Rlo, Rst, Stat, and Val. No one type uses all of them.

Standard Complex Data


Standard requirement of data associated with a range. The primary components are Range Hi, Range Lo, and the Value. These attributes are used in all complex variables. RHI RLO VAL

Forceback
To avoid having upstream components run away (wind up) when the downstream components are unable to respond a concept called forceback is used to impose limits on the master source. The special value Status is used to describe the limit being imposed. RHI RLO VAL STAT

Incremental Control Data


This is a special case of data coming from a PID representing the requested output change for the drive unit. The data is actually the increment or delta by which the output is to be changed. Two special values of Reset component and auctioneering reference are useful in special situations. RHI RLO VAL RST AREF

1-12

Metso Automation 278589

Introduction
Family Ties
Two special connections of atomic blocks require a special means of complex and even bi-directional communication. Participation master and members must be able to keep tabs on one another that they do through the master demand connection. Sequence master and steps have to pass status and active state information to one another, which they do through the chain--complex connection.

Using Buffers to Define Hardware


The DPU processes analog and digital input/output signals via the family of parallel input/output modules. These modules provide the physical connection point for the input/output wiring of signals to and from a process. All plant data signals and control signals pass through these units. Use maxDPUTools to assign I/O modules to the Distributed Processing Units. As noted, buffers are used to define the desired input or output modules. Each module has 1 to 16 channels, each corresponding to a signal. Use Atag and Dtag atomic blocks to assign tag names to each signal. Analog inputs to I/O modules may represent thermocouple and resistance temperature detector (RTD) readings, among others. Digital signals may represent AC or DC signals derived from contact closures or voltage level outputs from devices such as pressure switches and pushbuttons. I/O modules provide varying levels of signal conditioning, data conversion, and alarming (with validity, limit, and error checking) before passing information onto the high-speed parallel I/O bus for further processing by a DPU. Use digital and analog buffers to configure digital and high level analog signals coming from I/O modules. Use thermocouple and RTD buffers to specify linearizations. Atomic Blocks may be configured to point to analog and digital I/O buffers or to input modules to obtain conditioned signals as input data. Atomic Blocks, in turn, may output processed data to other atomic blocks or to an output buffer or to an output module connected to a field device.

I/O Addressing
Up to 45 I/O Modules or up to 255 I/O addresses may be assigned to each DPU. I/O addresses are used to access I/O modules or channels of I/O modules. Each digital I/O module supports 16 bits with one address. Analog modules generally use one address per channel. I/O Analog and Digital

Metso Automation 278589

1-13

Function Blocks and Buffers Programmer's Reference and User's Guide


Modules and associated signals are defined and configured and become part of a DPU I/O inventory list.

Creating or Editing the I/O Inventory


The number of channels associated with a module varies from one, for an Output Driver, to 16, for DI and DO modules. The number of channels created need not be a multiple of a module count; when the channels are allocated to modules, the spares may be left unnamed. For DPUs configured as a backup pair, I/O may be shared or redundant to each DPU. The default is for the I/O modules to be entered as shared. If you require redundant I/O, select the redundant option appearing in buffers. Some modules can be specified to be redundant while other modules connected to a DPU backup pair can be specified as shared. A hardware device called a Parallel I/O Backup Adapter provides this functionality; it is not configured as part of the I/O Inventory.

I/O Module Types and Associated Signals


Refer to the following for a list of I/O module types that you may define along with their associated signal types.

Digital Input Modules


16 discrete inputs per module Four voltage input types 24 VAC/VDC 48 VAC/VDC 120 VAC/VDC 240 VAC/VDC Solid-state inputs can be scanned 1000 times per second for 1 ms SOE applications

Digital Output Modules


16 discrete outputs per module unless otherwise noted Four voltage output types 24/48 VDC 120 VAC 125 VDC 240 VAC

1-14

Metso Automation 278589

Introduction
Two relay output types 240 VAC, 130 VDC Form A relay 10 channel 240 VAC, 130 VDC Form C relay

High Level Analog Input Modules


16 inputs per module Three input ranges 4 to 20 mA 0 to 6 VDC 0 to 10 VDC

Thermocouple/Millivolt Analog Input Module


16 inputs per module Inputs isolated from each other, from ground, and from module logic Each input individually configurable as thermocouple or millivolt Type B, C, D, E, G, J ,K, N, R, S, T, Platinel II thermocouples 10, 25, 60, 100, 250, +600/-250 mV spans Automatic RJ compensation on field wiring terminal board

Resistance Temperature Detector (RTD) Input Module


8 inputs per module Inputs isolated from each other, from ground, and from module logic Three-wire or four-wire RTDs Each input individually configurable 10, 50, 100 CU 25 NI 10, 25, 100, 1000 PT

Analog Output Modules


Eight-channel Current Adjusting Type (CAT) 4 to 20 mA or 0 to 16 mA outputs Two-wire or three-wire outputs

Four-channel Position Adjusting Type (PAT)


Solid-state switched single phase outputs for 120 VAC reversing motors Slidewire (1 to 5 volt) or two-wire (4 to 20 mA) position feedback signals

Metso Automation 278589

1-15

Function Blocks and Buffers Programmer's Reference and User's Guide


Counter/Timer (Pulse) Module
Can be used as an input or output module Eight-channels with two inputs/outputs per channel Uses adjacent DI or DO modules for signal conditioning 16 configurable counting and timing functions Simple and up/down pulse counting Simple and up/down pulse timing Pulse width and pulse interval measurements Frequency and frequency ratio measurements (both single and two-phase inputs) Pulse train and timed outputs Duration outputs Frequency outputs (both single and two-phase outputs)

Positioning Modules
Customizable control via program language. Each module has 8 digital inputs, 8 digital outputs, 4 analog inputs, and 4 analog outputs, along with a selection of termination module types available for various types of signal conditioning. Refer to the maxPAC Positioning Module Programming Guide and the maxPAC Hardware Reference Guide for additional details.

Using Buffers to Create Simulated I/O Environment


While buffers are normally used to define real I/O for a real working process control environment, buffers may also be used to create a simulated I/O environment for logic and control strategy checkout. Use buffers to create a simulation database that runs on virtual DPUs. A virtual DPUs runs as an application in a Windows workstation, simulating the functionality of a real DPU. Actual DPU hardware and physical connection to actual I/O are not required. Multiple virtual DPUs may run in a single NT workstation to simulate plant operation. To create a simulation database, configure the simulation attributes available with each buffer type. Simulation related points begin with the character string sim. Buffers feature a SimST attribute, which when set to 1, causes the DPU to use entered simulated point values rather than actual values from attached I/O. SimStatus, another simulation parameter, is used to simulate hardware problems.

1-16

Metso Automation 278589

Introduction

Using Hierarchical Groups


DPMS composed of large point databases are normally organized in a multilevel hierarchical structure. Use the Group atomic block to define a node in the hierarchical structure. See Chapter 6, "Adding a Group." A hierarchical organization may contain up to eight levels. The highest level of organization, which may represent an overall area of a control environment, may be labeled Unit1. Unit1 may have a subgroup called Control. Control may have subgroups, such as Boiler Control, Generation Control, etc. Using a configuration tool, such as maxDPUTools, it is best to define group hierarchies before defining individual atomic blocks. When you open maxDPUTools and define a configuration name, you may begin to establish desired group hierarchies under the DPU tab. The left pane of maxDPUTools shows a configuration tree structure similar to Windows Explorer. Each time you add a group, the new group appears in the tree structure. A group is placed at the level of the hierarchy that is currently selected. The selected level is the parent." When you add a group to the parent level, a new child group is placed under the parent. Controls placed in the same group are called siblings. Groups may be referenced by relative index number. When you add a group, the relative index is selected incrementally by default, which you may manually change The Relative index for each group or control must be unique within a group. See Publication 278595, maxDPUTools User's Guide.

Copying and Pasting Groups


All or part of a hierarchical structure may be copied and pasted elsewhere. For example, a power plant containing three coal pulverizers could be configured by building the first pulverizer as, say, Unit1/Pulverizer#1 then copying it as a starting point for the other two. The Pulverizer group would be renamed Pulverizer#2, etc. See Publication 278595, maxDPUTools User's Guide, Chapter 2,"Tree View Editing Features."

Group Attributes
The Group atomic block uses only parameter and general attributes. The Gname parameter is already configured when you open the newly created atomic block, showing the name you entered when you created the group. You may also give the group a tagname and description.

Setting Atomic block and Group Execution Rates and Priorities


Function Blocks include a scheduling capability that controls their execution rate (ServiceTimeBase attribute) and their order of execution (ServicePriority

Metso Automation 278589

1-17

Function Blocks and Buffers Programmer's Reference and User's Guide


and ScheduleType attributes). For a discussion of execution rate, see the next section, Selecting Execution Rate. Configurations may use one of two execution orders, hierarchical or prioritybased. Configurations created using Release 2.0 or later software use a hierarchical scheduling order. Configurations created prior to Release 2.0 use a priority-based execution order. See Selecting Execution Priority. Scheduling attributes are configured with default settings that you may change in maxDPUTools during database configuration or online using Point Browser. These attributes taken together create a point database scheduling table. Changing the service priority, service time base, schedule type or committing a Function Block causes the schedule tables to be rebuilt. All Atomic Function Block execution is halted while the schedule tables are re-built (20 to 70 milliseconds). Atomic Function Block execution resumes immediately after the schedule tables are rebuilt. Use the DpuAtomList utility, accessible from the maxSTATION, to read the schedule tables from a DPU, present them on screen and save them to a file. The utility lists Atomic Function Blocks in execution order for each time class. This tool only works with DPU version 2.0 or later. See Using the DpuAtomList Utility.

Selecting Execution Rate


The ServiceTimeBase attribute lets you configure a three-tier execution rate for each group and each atomic block within a group, consisting of Normal, High, and Critical. The default schedule rates are 500ms, 100ms, and 40ms, respectively. You may also configure a fourth category, inherent. A Custom or Atomic Function Block with inherit time base will use the time base of its parent when instantiated. Time base is configurable from 20 milliseconds to 500. The critical time class must less than or equal to the high time class that must be less than or equal to the normal time class. The three time classes execute independently of one another. Atomic Function Block execution gets a configurable percentage of available CPU time to insure that processing time is available to handle SBP requests. Overloading a time class will cause slower execution of that time class. The following table shows the attributes that control the schedule times:
Schedule Queue Normal High Critical Inherit ServiceTimeBase 3 2 1 0 Default Period Settable DPMS Attribute 500 msec NormalTimer 100 msec HighTimer 40 msec CriticalTimer Inherits parent HID Levels time base

1-18

Metso Automation 278589

Introduction
Selecting Execution Priority
Use the ServicePriority attribute to establish an execution order for groups and individual atomic blocks within groups. DPMS Function Block scheduling consists of two execution orders: priority and hierarchical. Execution order is hierarchical by default in version 2.0. To change the execution order set the ScheduleType attribute in the DPMS object to 0 for priority order or 1 for hierarchical order. With either execution order, you may set the ServicePriority attribute to 0 to remove a group and all of its children from the schedule tables. Additionally, setting an Atomic Function Block to priority 0 causes it to be removed from the schedule table. This may be useful when you need to disable a part of a configuration temporarily while adding new functionality to an active DPU. maxDPUTools will no longer default group priority to zero.

Executing Blocks Using Priority Order


With priority execution order, all Atomic Function Blocks in the DPU are executed in service priority order with priority 1 Atomic Function Blocks executed first and priority 100 Atomic Function Blocks executed last. To establish an execution order, enter a number for the ServicePriority attribute associated with a Function Block from 1 to 100. The ServicePriority setting for group nodes and Custom Functions is ignored. All of the Atomic Function Blocks of a group with a high priority will be executed before all of the Atomic Function Blocks of a group with lower priority. All of the Atomic Function Blocks of a Custom Function Block will be executed together (in priority order within the Custom Function Block.

Executing Blocks Using Hierarchical Order


Hierarchical execution uses the ServicePriority attribute in combination with HID structure to determine an execution order. Additionally, hierarchical execution may also incorporate absolute priorities that take precedence over the hierarchical position. See next section, Using Hierarchical Scheduling with Absolute Priorities. Hierarchical execution looks at all of the Atomic Function Block children and group children one level down from the parent. Groups and Atomic Function Blocks with a higher priority are executed before groups and Atomic Function Blocks with a lower priority. All branches of the tree are scheduled in this manner. The result is that a group with high priority will have all of its children execute before the children of a lower priority group. Hierarchical execution is illustrated in the following figure and the accompanying table. See Figure 1-1 for an illustration of a configuration using absolute priorities. Note: all groups and Atomic Function Blocks are assumed to be in the normal time class.

Metso Automation 278589

1-19

Function Blocks and Buffers Programmer's Reference and User's Guide

Root Priority 50

Group A Priority 50

Group B Priority 20

Group C Priority 40

Atom 1 Priority 21

Atom 2 Priority 20

Atom 3 Priority 70

Atom 4 Priority 40

Atom 5 Priority 41

Figure 1-1. Illustration depicts a configuration using hierarchical execution. See figure 1-for an illustration depicting a configuration using absolute priorities.

Table 1-3. Execution order of this configuration


DPMS Atomic Function Block 3 Group B Atomic Function Block 4 Atomic Function Block 5 Group C Atomic Function Block 2 Atomic Function Block 1 Group A Root Pri 1 Pri 70 Pri 20 Pri 40 Pri 41 Pri 40 Pri 20 Pri 21 Pri 50 Pri 50

Note that DPMS always runs first in the normal time class. Children of a group always execute before the group. This example shows the importance of the group priority attribute. In pre-2.0 versions of the DPU the group ServicePriority attribute was ignored.

Using Hierarchical Scheduling with Absolute Priorities


In the hierarchical schedule mode, priorities 1 to 10 and 90 to 100 are absolute. Absolute priorities take precedence over the hierarchical position. Priorities 1 to 10 are always executed first. Priorities 90 to 100 are executed last. Priorities 11 to 89 are executed in the middle using the hierarchical rules shown above. Absolute priorities allow inputs to be scheduled first and outputs last regardless of where they are in the hierarchy. Atomic Function Blocks with the same absolute priority are scheduled in service handle order. This insures the same schedule order for DPUs that are downloaded, warmed-up or warm restarted. The following figure and accompanying table illustrates scheduling using absolute priorities.

1-20

Metso Automation 278589

Introduction

Root Priority 50

Group A Priority 50

Group B Priority 20

Group C Priority 40

Atom 1 Priority 21

Atom 2 Priority 99

Atom 3 Priority 70

Group D Priority 1

Atom 4 Priority 41

Atom 5 Priority 60 Figure 1-2. hierarchical scheduling using absolute priorities.

Atom 6 Priority 50

Table 1-4. Execution order of this configuration


DPMS Atomic Function Block 6 Atomic Function Block 5 Group D Atomic Function Block 3 Group B Atomic Function Block 4 Group C Atomic Function Block 1 Group A Root Atomic Function Block 2 Pri 1 Pri 50 Pri 60 Pri 1 Pri 70 Pri 20 Pri 41 Pri 40 Pri 21 Pri 50 Pri 50 Pri 99

Note that the children of Group D are executed first since it has an absolute priority. When non-absolute priorities are the same, the following are used to resolve the hierarchical execution order: X position on the Graphical configuration sheet, then relative index, then service handle.

Using the DpuAtomList Utility


Use the DPUAtomList utility to read the currently configured schedule tables of the selected maxDPU (version 2.0 or later). Atomic Function Blocks from each schedule table (critical, high, and normal) are listed in the order that they will be executed by the DPU.

Metso Automation 278589

1-21

Function Blocks and Buffers Programmer's Reference and User's Guide


To access this utility from the Windows desktop, click the Start button on the Task Bar, point to Programs, maxDNA, maxDPU Utilities and click DPUAtomList. The following dialog appears:

To view the execution rates and priorities for points within a selected DPU: 1. Click the down arrow next to the maxDPU list field to view a list of available DPUs created from the DPUlist.ini file. 2. After selecting a DPU, click the Get Block List button to start the schedule acquisition process. Since the program reads at a leisurely pace, it may take 20 or 30 seconds for the schedule data to be presented. The data is listed with the first block to be executed at the top and the last executed block at the bottom. The type of block, its tag, and service priority is shown. 3. To save the data read from a DPU, click the Write To File button. The schedule data will be written to a file in the c:\temp folder. The file will be named atomlist_[dpu ip address].txt. If a file for this DPU already exists, it is overwritten.

Using Custom blocks To Create Custom Applications


Use Custom blocks to create your own custom applications that may be used multiple times in a single configuration or across multiple configurations. Once created, Custom blocks, which are named entities, are added to the list of controls where they may be selected like any other control. See Publication 278595, maxDPUTools User's Guide, Chapter 3, "Creating Custom Controls Using Custom blocks."

1-22

Metso Automation 278589

Introduction
At its simplest, a Custom block may implement a frequently used subroutine. At its most complex, a Custom block may consist of numerous combinations of native atomic blocks (standard atomic block types that come with the maxDPU) or custom controls that implement a fully developed PID control, a multi-step sequencer, and so forth. Custom blocks may consist of the following: One or more custom controls with their own attributes. Combinations of existing native atomic blocks Combinations of existing native atomic blocks and custom controls.

Custom controls may be nested up to four levels deep as part of a hierarchical structure. A Custom block is defined as part of a user object, to which you assign a name during the configuration process. When you create and name the user object, the name appears in maxDPUTools tree directory pane where you may click on it, similar to a group node, to reveal its contents.

Understanding Standard Objects


When the DPU is started, it automatically creates a collection of standard objects that may be viewed using Point Browser. See Publication, 278605, maxDPU Auxiliary Functions Users Guide, Chapter 1, for a full of discussion of Point Browser. User objects appear in the tree directory under the Service by Station subfolder as follows: _AlmEvtText _AlmTagText _p(BattAlarm) _p(Fan Alarm) _p(NetAlarm) _pQueOvrn) _DPMS _DPMS.Root (GRP) _Backup _Security_Custom (Security) _Security_MCS (Security) _TimeSync (TimeSync)

These objects, which contain preconfigured values, are a standard part of all configurations. Their associated attributes should not be edited.

Objects That Monitor Functions

Metso Automation 278589

1-23

Function Blocks and Buffers Programmer's Reference and User's Guide


Objects such as the following are typically used to monitor various functions and diagnose problems. _p(BattAlarm) _p(Fan Alarm) _p(NetAlarm) _pQueOvrn) _DPMS _DPMS.Root (GRP)

DPU Battery Related Object


The DPU Battery Alarm block tests the DPU battery when the DPU is started/reset, and once an hour thereafter. The actual DPU battery test takes one minute to perform. During the test the DPU Battery light (LED) is set to yellow. At the completion of the test, the DPU Battery light (LED) is set to red, if the test failed, or green if the test passed. If the test fails, the DPU Battery Alarm Block generates a DPU Battery Problem alarm. The point name for the DPU Battery Alarm Block consists of DPU station name (or last 2 digits of its network address) followed by BAT and _s or _p (for secondary or primary). The following is a Point Browser display of a DPU Battery Alarm Block while the battery is bad.

DPU Fan Related Object


The DPU Fan Alarm block tests the DPUs CPU Fan status to determine if it still running. If the test fails, the DPU Fan Alarm Block generates a DPU CPU Fan Problem alarm. The point name for the DPU Fan Alarm Block is DPU station name (or the last 2 digits of its network address) followed by FAN and _s or _p (for secondary or primary).

1-24

Metso Automation 278589

Introduction
The following is a Point Browser display of a DPU Fan Alarm Block while the fan is bad.

The following is an example of the DPU Events dialog with both DPU Fan and DPU Battery alarms.

Alarm Related Objects


The first two listed objects, _AlmEvtText and _AlmTagText, contain the standard message text which appears on event and alarm related displays as various events and alarms are triggered.

Metso Automation 278589

1-25

Function Blocks and Buffers Programmer's Reference and User's Guide


Security Related Objects
The security related objects, _Security_Custom and _Security_MCS, contain the settings for a downloaded security schemes database. See Publication 278609, System Resources Users Guide, Chapter 4, to learn how to set up a security schemes database.

_timesync Object The _timesync standard object is the control center of the time
synchronization process. The family of utilities that support time synchronization reference attributes that are members of the _timesync object. See Publication, 278605, maxDPU Auxiliary Functions Users Guide, Chapter 5, for a full of discussion of time synchronization.

Using Alarm-Related Atomic Blocks and Buffers to Configure Alarming


Three atomic block types (analog tagger, the digital tagger and the alarm reporter), and all buffer types may be used to set up alarming capabilities. Atomic Blocks and buffers configured for alarming show up on maxVUE Alarm Lists and Alarm Summary Displays by tagname if conditions trigger an alarm or event. When you use any of the alarm-related atomic blocks to set up atomic blocks with alarming, if the atomic block set up for alarming was given a tagname that Tagname will be used in the alarm list. If the atomic block does not have a Tagname the alarm parent group Tagname will be used in the alarm last. Another possibility is that the HID and generic name of the point may show up in the alarm list. One atomic block capable of alarming will only have at most one entry in the alarm list. A group may present more than one alarm to the list if it has more than one un-tagged alarm reporter calling it the alarm parent.

Buffer Alarming
Buffers may also produced alarms when associated I/O cards experience a problem. Each I/O buffer has a FailoverTyp attribute used to determine the action taken if the DPU can no longer communicate with the associated I/O card. Three possible FailoverTyp settings are: non-critical (0), normal (1), critical (2). All buffers will be in one of these classifications. The default is non-critical.

1-26

Metso Automation 278589

Introduction
Three attributes in the backup object determine what action is taken for card failures in each classification (ThreshNonCrit, ThreshNormal, and ThreshCritical). Each of these three attributes has five possible actions based on exceeding the threshold. The following are the possible codes and actions:
Threshold Value 0 Action Fail More Than One Description Default for Classification Normal

If two or more cards in this group fail, alert the inactive DPU of the failed mode. The inactive DPU will take control if its state is healthy, otherwise the original DPU will remain active and control with the operational I/O. 1 Fail One If any card in this group fails, alert the inactive DPU of the failed mode. The inactive DPU will take control if its state is healthy, otherwise the original DPU will remain active and control with the operational I/O. Fatal More Than One If two or more cards in this group fail, the DPU stops 2 ** all algorithm execution and stops scanning I/O. The backup DPU will take over. Fatal One If any card in this group fails, the DPU stops all Critical 3 ** algorithm execution and stops scanning I/O. The backup DPU will take over. 4 Do Nothing Take no action. Non-Critical ** Caution in this mode, if neither DPU can access the defined I/O cards, all control action will cease.

ThreshNonCrit (default value = 4 Do Nothing) can be set to one of the five threshold values shown in the above table. The action will only pertain to the I/O cards where FailoverTyp is set to the default of non-critical (0). ThreshNormal (default value = 0 Fail More Than One) can be set to one of the five threshold values shown in the above table. That action will only pertain to the I/O cards where FailoverTyp is set to Normal (1). ThreshCritical (default value = 3 Fatal One) can be set to one of the five threshold values shown in the above table. That action will only pertain to the I/O cards where FailoverTyp is set to Critical (2).

Viewing Alarms in a maxSTATION


To view alarms in a maxSTATION environment, two OCX controls and several other alarm-related programs need to be set up. In the maxVUE Editor, use the Alarm Lists Control and Alarm Summary Control to configure alarm displays which operators may view in maxVUE Runtime viewable from multiple maxSTATIONs. Because the Alarm List typically appears in any number of display locations in maxVUE, it is recommended that you establish one or two maxSTATIONs as Alarm List Servers to reduce network traffic. Only these stations will collect the Alarm Lists from the active DPMSs. All other maxSTATIONs

Metso Automation 278589

1-27

Function Blocks and Buffers Programmer's Reference and User's Guide


will go to these servers for Alarm Lists. Use a Registry Editor entry to designate which maxSTATIONs should be servers. Two programs, MaxMergeDpuAlm.exe (for maxDPU systems), and MaxMergeAlm.exe (for DBM based systems), produce a merged alarm list derived from multiple DPU or DBMs. To activate these programs, you must configure the MergeAlm.ini file and edit the \mcs\sbp\Startup.ini file to include the MaxMergeDpuAlm.exe and MaxMergeAlm.exe programs. Refer to the most current maxDPU release notes for setup instructions.

Base Attributes
All atomic blocks include base attributes that are generally not configurable. Attributes appearing on the following list that are configurable are ServicePriority and ServiceTimeBase. See "Setting Atomic block and Group Execution Rates and Priorities." The base attributes are listed here for reference.
Attribute Name _COMMIT AltDescp AnyAlarm AttrBadRef AttrBool AttrCmd AttrCnt AttrEnum AttrExternRef AttrFlags AttrHasRef AttrMaxVal AttrMinVal AttrNormRef AttrOptRef AttrOptRefCnt AttrOptRefId AttrReadable AttrState AttrWireable AttrWriteable BaseAttrCnt Category Data DataIdx DELSVC Descp EngrSec Idx INHERIT MARKDEL Name ObjType OperSec Quality Ref RefTurn SbpQuality Data Type VAR_EMPTY VAR_PCHAR VAR_FLOAT VAR_LONG VAR_LONG VAR_LONG VAR_LONG VAR_PCHAR VAR_LONG VAR_LONG VAR_LONG VAR_LONG VAR_LONG VAR_LONG VAR_LONG VAR_LONG VAR_PCHAR VAR_LONG VAR_LONG VAR_LONG VAR_LONG VAR_LONG VAR_PCHAR VAR_LONG VAR_LONG VAR_EMPTY VAR_PCHAR VAR_LONG VAR_LONG VAR_EMPTY VAR_EMPTY VAR_PCHAR VAR_PCHAR VAR_LONG VAR_LONG VAR_PCHAR VAR_PVARIANT VAR_LONG Description Commit A Service Attribute Alternate Description No Alarm=0 Alarm=1 Attribute has bad ref Attribute is boolean Attribute is a command Count of Attributes Attribute enumerations Attribute has external ref Attribute Flags: RWONXBWBSCH Attribute is referred to Attribute maximum value Attribute minimum value Attribute has normal ref Attribute has optimized ref Attribute optimized refcount Attribute opt ref client Id Attribute is readable Attribute is stateful Attribute is wireable Attribute is writeable Count of Base Attributes Attribute Category Attribute Data Attribute Data Index Delete A Service Attribute English Description Attr engineer security level Attribute Index Inherit Parent SvcProperties Mark A Service for Delete Attribute Name Object Type Attr operator security level Attribute Quality Attribute Reference Attribute Reference Turns Attribute Quality in detail Category Method Subattr General Subattr Subattr Subattr Status Subattr Subattr Subattr Subattr Subattr Subattr Subattr Subattr Subattr Subattr Subattr Subattr Subattr Subattr Status Subattr Subattr Subattr Method Subattr Subattr Subattr Method Method Subattr Standard Subattr Subattr Subattr Subattr Subattr

1-28

Metso Automation 278589

Introduction
SCHEDULE Service SvcCntBrowse SvcCntInputs SvcCntOutputs SvcHandle SvcParent SvcPassword SvcPntTickCnt SvcPriority SvcRelIdx SvcSecLevel SvcStatus SvcTimeBase SvcType SvcUpdateTime SvcVersion SvcX SvcY Type UNSCHEDULE VAR_EMPTY VAR_PCHAR VAR_LONG VAR_LONG VAR_LONG VAR_LONG VAR_LONG VAR_LONG VAR_LONG VAR_LONG VAR_LONG VAR_LONG VAR_LONG VAR_LONG VAR_PCHAR VAR_LONG VAR_FLOAT VAR_LONG VAR_LONG VAR_LONG VAR_EMPTY Schedule A Service Universal name for Object Count of Output Members Count of Input Members Count of Output Members Service Handle Service Parent Handle Service Password Service Load Factor Service Priority Service relative ParentIndex Service Security Level Service Commited Status Service Time Base for SchdQue Service Type Service Last Update Time Service Version Service X loc on Page Service Y loc on Page Attribute Type UnSchedule A Service Method Status General General General General General General General Standard Standard General General Standard General General General General General Subattr Method

Table 1-5. Common Abbreviations Used in Attribute Tables


Abbreviations Ack Actv Alm Alt Auto Bufr Cls Clsd Cmd Cnt Ctl Dec Dev En Fdbk Fwd In Inc Incr Inh Inv Lim Man Max Min Msg Op Opn Out Pct Pmt Definition Acknowledge Active Alarm Alternate Automatic Buffer Close Closed Command Count Control Decrease Deviation Enable Feedback Forward Generic input Increase Increment Inhibit, Block Invert attribute value (digital only) Limit Manual Maximum Minimum Message Operator command Open Generic output Percent Permit

Metso Automation 278589

1-29

Function Blocks and Buffers Programmer's Reference and User's Guide


Abbreviations Press Qual Rls Rmt Rng Rqd Rst Sel Sev SP Svc Temp Tgt Tim Txt Definition Pressure Quality Release Remote Range Required Reset Select Severity Set Point Service Temperature Target Time Text

1-30

Metso Automation 278589

Chapter 2
Atomic block Category: Analog Math Functions (AnlFunc)
Overview
These atomic blocks provide for basic mathematical operations and manipulations of simple value data. Math ADD, MUL, DIV, MOD, ABS, EXP, POW, SQRT Calculator - CALC Signal Selector - SIGSEL Totalizer - TOTL

The math atomic blocks perform basic mathematical operations, consisting of addition, (ADD atomic block), multiplication, (MUL atomic block), division, (DIV atomic block), absolute value, (ABS atomic block), exponential (EXP atomic block), power (POW atomic block), square root, (SQRT atomic block) and division remainder (MOD atomic block). These discrete operation atomic blocks permit blockwise construction of mathematical calculations. The calculator atomic block performs the same basic mathematical operations (plus others) to permit expression construction of mathematical calculations. The signal selector atomic block permits switching value data. The Totalizer atomic block integrates value data.

Metso Automation 278589

Function Blocks and Buffers Programmer's Reference and User's Guide

Math (ADD, MUL, DIV, ABS, EXP, POW, SQRT, MOD)


Atomic block Category: Analog Math Functions

DIV
In 1 In 2 O ut

Graphical Configurator Diagram

Overview
Use the math related atomic blocks to perform basic mathematical operations, consisting of addition, (Add atomic block), multiplication, (Mul atomic block), Division, (Div atomic block), absolute value, (Abs atomic block), exponential (Exp atomic block), power (Pow atomic block), square root (SQRT atomic block) and (MOD atomic block). Each atomic block uses two inputs to produce a single output. With any of these atomic blocks, you may include scaling factors, (parameters K1 and K2) to scale inputs one and two, respectively. For instance, you may enter a K1 value of 2 multiplied by input 1 to double the size of the input to reflect a pump capacity that is two times the capacity of input 2. Math atomic blocks have the following characteristics: ADD The output equals scaled input1 added to scaled input2. Subtraction is implemented by scaling with negative value. This atomic block solves the following equation:

Output value = (I1 * K1) + (I2 * K2) MUL The output equals scaled input1multiplied by scaled input2. This atomic block solves the following equation:

Output value = (I1 * K1) x (I2 * K2) DIV The output equals scaled input1divided by scaled input2. This atomic block solves the following equation:

Output value = (I1 * K1) / (I2 * K2) ABS The output is the absolute value of scaled input1.

2-2

Metso Automation 278589

Function block Category: Analog Math Functions (AnlFunc)


Output value =|(I1 * K1)| EXP POW The output is the exponential of scaled input1. The output equals scaled input1 raised to the power of scaled input2.

Output value =(I1 * K1) ^ (I2 * K2) SQRT The output is the square root of scaled input1. Square root of a negative number returns minus the square root of the absolute value of the number.

MOD The output equals floating point remainder of scaled input1divided by scaled input2.

Quality Component Flags Bad or Worst Quality


The math-related atomic blocks include a quality component to flag bad or worst quality during output calculation. For instance, division by zero gives maximum value with sign of input1 Q=bad, except when input 1 is 0 then out = 0 and Q= worst of qualities of the two inputs.

Attributes
Outputs Name Out Type Float Status N/A Inputs Name In1 In2 Type Float Float Description Input 1 Input 2 Description Output

Parameters Name K1 K2 Type Float Float Description Scalar 1 Scalar 2

Commands N/A

Metso Automation 278589

2-3

Function Blocks and Buffers Programmer's Reference and User's Guide

Calculator (CALC)
Atomic block Category: Analog Math Functions

Graphical Configurator Diagram

Overview
Use this atomic block to perform complex calculations using expressions. Use the OutExpr (Output expression) parameter to calculate the main output (Out). Use expression parameters Y1 Expr through Y6 Expr to calculate intermediate values Y1 through Y6. The order of calculation is Y1, Y2 through Y6, and Out. So if Y2Expr = Y1-Y3, Y1Expr = A (i.e. Y1 = InA), and Y3Expr = A, Y2 would equal the difference of InA this scan and InA last scan. Y1 is calculated before Y2 and Y3 is calculated after Y2. Constant values can be entered directly into the calculation or set any of the inputs to the desired value and then use that input in the desired calculation. Examples of valid expressions: -(A+B)*Y1 -Y1 A+B*C No parenthesis are needed around B*C. However, the correct result would be produced if you added the parenthesis. Adding the parenthesis would add a slight inefficiency to the execution of the algorithm though. A+-B; As above, no parentheses are required. Summary of operators: MATH: +, -, *, /, MIN, MAX, AVG, LIM, MED, SQRT, LN, LOG, EXP, SIN, COS, ABS, PI, RUP, RDN, TRN, FRC, ^, %, IF,T. WORD LOGIC: |, &, ~ BOOLEAN LOGIC: NOT, AND, OR, >, <, >=, <=, =, ==, <>

2-4

Metso Automation 278589

Function block Category: Analog Math Functions (AnlFunc)

Critical Behaviors
Equations can be up to 40 characters long. Use parentheses in an expression to determine precedence. The algorithm uses a recursive function call based on the number of sets of parentheses used. Extra and unnecessary parentheses reduce execution speed somewhat. To prevent stack overflow the number of nested parenthesis is limited to 10 (10 left parenthesis in a row).

Detailed Descriptions
The atomic block supports the following operations by converting single precision values (24 bit mantissa) to double precision (53 bit mantissa), performing the calculations, and then storing the result of operations in single precision: MATH + * / MIN(v1,v2 ...vN) MAX(v1,v2 ...vN) AVG(v1,v2) AVG(v1,v2,v3) LIM(v1,v2,v3) MED(v1,v2,v3) SQRT() LN() LOG() EXP() SIN(radians) COS(radians) ABS() PI T RUP() RDN() TRN() FRC() Operations resulting in a floating point value. Add Subtract or Negation (minus sign in front of a value (-A)). Multiply Divide Perform minimum of 2 to N values Perform maximum of 2 to N values Perform Mean of 2 or 3 values Perform Limit or Median operation (Same Result) Square root of single value. Negative argument gives negative result of absolute value. Logarithm (natural base) of value. Zero or negative argument returns value with bad quality. See EXP. Logarithm (base 10) of value. Zero or negative argument returns value with bad quality. See ^ (Power Function). e raised to the power of the argument. EXP(LN(A)) returns A (within the accuracy of the operations). Returns SIN value of argument (in radians) Returns COS value of argument (in radians) Returns absolute value of argument Provides 3.14159 i.e. COS(PI) as an expression will produce 1 as an output. Provides the elapsed scan time since the last execution cycle as a floating point value in units of seconds. Returns next largest integer of argument Round Up: RUP(-4.5) = -5.0. Returns next smallest integer of argument Round Down: RDN(-4.5) = -4.0. Truncates argument: TRN(-4.5) = -4.0 Returns fraction of argument: FRC(-4.5) = -0.5.

Metso Automation 278589

2-5

Function Blocks and Buffers Programmer's Reference and User's Guide


^ % IF(b1,vt,vf) Power function. A^B returns A raised to the power B. 10^(LOG(A)) returns A (within the accuracy of the operations). Modulus. A % B returns the remainder of A divided by B. Conditional selects between two values: When the b1 value is not zero (can be boolean true (1.0) or floating point value), vt (the true value) is returned, else vf (the false value) is returned. Bitwise operations on values that result in an integer value output. Floating-point values are converted to unsigned long integers (truncated) for these operations. Binary OR (Preceding and following values converted to unsigned long and then ORed as bits.) Binary AND (Preceding and following values converted to unsigned long and then ANDed as bits.) Bitwise Inversion resulting in a 32bit inversion of bits of an unsigned long integer (truncation) of the following value. (Note calculations are made in double precision, which has a large mantissa that can represent 32 bits. The value should be masked by another operation (& function) in the same expression or else the stored mantissa of 24 bits will loose the least significant 8 bits) Operations resulting in output either 1.0 (True) or 0.0 (False) Negation of boolean or value equal zero. AND of two booleans (or non-zero values) OR of two booleans (or non-zero values) Preceding value greater than following value Preceding value less than following value Preceding value greater than or equal to following value Preceding value less than or equal to following value Preceding value equal to following value. Either notation returns the same result. Preceding value NOT equal to following value

WORD LOGIC | & ~

BOOLEAN LOGIC NOT AND OR > < >= <= =, == <>

The operator precedence has been set as follows (last operations at the beginning of the list): Binary Addition: |,OR Binary Multiply: &,AND Compares: >,<,>=,<=,<>,=,==
2-6 Metso Automation 278589

Function block Category: Analog Math Functions (AnlFunc)


Addition/Subtraction: +,Multiplication/Division: *,/,% Exponent: ^ Prefix/Functions: -,+,NOT LN(),LOG(),ABS(),SQRT(),EXP(),SIN(),COS(),RUP(),RDN()TRN(),FRC(), MAX(),MIN(),AVG(), LIM(),MED(),IF() Note: Parenthesis may be added to change or clarify binding. Values may be any of the following: A,B,C,D,E,F Inputs A through F Y1,Y2,Y3,Y4,Y5,Y6 Partials one through six OUT Output value PI The value of PI to a resolution of a double precision float T The value of seconds since last scan in floating point Numeric constants These may be expressed as integers, floats or E format floats

Attributes
Output Name Out Type Float Status Name Y1 Y2 Y3 Y4 Y5 Y6 Type Float Float Float Float Float Float Description Intermediate result 1 Intermediate result 2 Intermediate result 3 Intermediate result 4 Intermediate result 5 Intermediate result 6 Description Main result

Metso Automation 278589

2-7

Function Blocks and Buffers Programmer's Reference and User's Guide

Input Name InA InB InC InD InE InF Type Float Float Float Float Float Float Parameters Name InATxt InBTxt InCTxt InDTxt InETxt InFTxt OutExpr OutTxt Y1Expr Y1Txt Y2Expr Y2Txt Y3Expr Y3Txt Y4Expr Y4Txt Y5Expr Y5Txt Y6Expr Y6Txt Type String String String String String String String String String String String String String String String String String String String String Description Input A text Input B text Input C text Input D text Input E text Input F text Main expression Main result text Intermediate expression 1 Intermediate result 1 text Intermediate expression 2 Intermediate result 2 text Intermediate expression 3 Intermediate result 3 text Intermediate expression 4 Intermediate result 4 text Intermediate expression 5 Intermediate result 5 text Intermediate expression 6 Intermediate result 6 text Description Input A Input B Input C Input D Input E Input F

Commands N/A.

2-8

Metso Automation 278589

Function block Category: Analog Math Functions (AnlFunc)

Signal Selector (SIGSEL)


Atomic block Category: Analog Math Functions

ManSelect SelAuto SelStrat MaxInputs In1 Cutout1

SigSel

Out SeldIn ActvCnt

In16 Cutout16

Overview
Use this atomic block to select an instrumentation strategy, either manually or automatically, to implement an appropriate response to a given control condition. Select one input from among 16 using a chosen strategy. To implement a manual strategy, this atomic block may be wired to another atomic block, such as Auto/Manual, PID, or a Limiter. To use the Auto/Manual atomic block for auto/manual selection, for instance, wire the InCtl input to selected input identifier (.SeldIn) to update operator selection during automatic operation. To implement automatic operation, configure the SelAuto and SelStrat parameters. Use SelStrat to select from one of the following options: Lowest input Highest input Median input (Lower or Higher median when active count is even number) Average of inputs

When you configure auto selection, use MaxInputs to specify the number of inputs configured. Use cutout inputs to remove selected inputs. This could be used, say, to override the quality attribute or when an instrument wired to a specific input is being taken out of service.

Metso Automation 278589

2-9

Function Blocks and Buffers Programmer's Reference and User's Guide


Output will slew to new value based on the TranSlew rate (Engineering units/sec.) if there is a change in selection. Use the MaxTranSlew parameter to configure an acceptable rate to eliminate the possibility of a bump. There is no slew resulting from a change of input value. A combination of change of selection and a change of input value of the newly selected input will result in a lead function if the value changes faster than the TranSlew rate in the opposing direction. Inputs and output are simple values ( range is not considered )

Detailed Description
Manual mode provides selection of single input (identified by manual select integer) or average of all inputs that are not cutout (manual select integer = zero) for output. Automatic mode provides output by selection strategy: Average, Least, Greatest, Low Median or High Median. (Low or High Median designates the selection of the median value input of an even number of inputs.)

Transition Smoothing
Changes that result from change in input selection can be smoothed (rate controlled) by setting the transition slew rate greater than zero. When a discrete selection is changed (either manually or by automatic auctioneering or median selection) or when an input cutout state is changed when averaging, a transition register is initialized to the difference between the last output and the newly selected/average value. This transition register is added to the selected/average value so that there is zero initial change. Subsequently the transition register is reduced to zero by the slew rate (where it remains until the next change is detected). If there is a very large value in the transition register and its least significant place value is greater than the value of the slewing change (in a single scan), the transition register is slewed at the rate of its least significant place value per scan. The transition register is set to zero when the slew rate is zero. The transition register slewing has an alternative behavior selected by the TransSlewBhvr attribute. When the attribute is set to 1.0, the output will only change in the direction of slew while the transition register is not zero. Selected input changes in the opposite direction will simply reduce the transition register instead of causing a change in output.

Output Quality
The Output Quality is set by logic according to the selection function:

2-10

Metso Automation 278589

Function block Category: Analog Math Functions (AnlFunc)


Manual mode (and not averaging): Output Quality equals Quality of selected input. Averaging: Output Quality equals the worst Quality of any of the not cutout inputs. Automatic Selection (Auctioneering or Median): Output Quality equals the worst Quality of the selected input or DOUBTFUL Quality if the Quality of any of the not selected, not cutout inputs is not GOOD. Automatic mode and automatic selection strategy not valid: Output Quality is BAD (and output value is not updated).

Attributes
Outputs Name ActvCnt Out SeldIn Type Integer Float Integer Status Description Quantity of not cutout inputs Output Identification of input

N/A
Inputs Name Cutout1 Cutout10 Cutout11 Cutout12 Cutout13 Cutout14 Cutout15 Cutout16 Cutout2 Cutout3 Cutout4 Cutout5 Cutout6 Cutout7 Cutout8 Cutout9 In1 In10 In11 In12 In13 In14 In15 In16 In2 In3 In4 In5 In6 Type Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Float Float Float Float Float Float Float Float Float Float Float Float Float Description Not select input 1 if true Not select input 10 if true Not select input 11 if true Not select input 12 if true Not select input 13 if true Not select input 14 if true Not select input 15 if true Not select input 16 if true Not select input 2 if true Not select input 3 if true Not select input 4 if true Not select input 5 if true Not select input 6 if true Not select input 7 if true Not select input 8 if true Not select input 9 if true Input 1 Input 10 Input 11 Input 12 Input 13 Input 14 Input 15 Input 16 Input 2 Input 3 Input 4 Input 5 Input 6

Metso Automation 278589

2-11

Function Blocks and Buffers Programmer's Reference and User's Guide


In7 In8 In9 ManSelect MaxInputs SelAuto Float Float Float Integer Integer Boolean Parameters Name SelStrat TransSlew Type Integer Float Description Automatic selection strategy Rate of transition Input 7 Input 8 Input 9 Manual selected input id Maximum number of inputs Apply SelStrat when true

Commands

N/A

2-12

Metso Automation 278589

Function block Category: Analog Math Functions (AnlFunc)

Totalizer ( TOTL)

TOTL
In Start Stop Reset Out TotalHi TotalMax ResetVal ResetTime

Overview
This atomic block produces a totaled floating-point output that is the integration of its input over time.

Critical Behaviors
Totalizing scaled by selection of one of the following timebases: 0, second 1, minute 2, hour 3, day 4, week Minimum Input parameter cuts off integration of insignificant input values. Scaling parameter multiplies input. Start Offset parameter provides integration starting point for reset. High Limit detection Max Limit with optional actions when maximum detected: (enumeration values in parenthesis) Continue (0) Reset (next scan, so detection output true one scan) (1) Clamp (2) SubTotal (3) Logic inputs and operator command to control integration: (enumeration values in parenthesis) Reset (0) Stop (2) Start (1) SubTotal (3)
Metso Automation 278589 2-13

Function Blocks and Buffers Programmer's Reference and User's Guide


Input Quality test with optional actions when Quality worse than limit (enumeration values in parenthesis) Reset (default) (0) Continue with last good input (1) Continue (no action) (2)

Detailed Description
A floating-point value usually representing flow is integrated per its scaling time base (lbm/hr would be integrated using the hour time base) to get its accumulation in its quantity engineering units (lbm). The scaling parameter would be applied if the accumulation value were desired in other engineering units such as tons (scaler set to 0.0005 (1/2000 (2000lbm/ton))). The minimum input parameter would be applied to suppress integration of noise of flow measurement at zero flow. The Reset, Stop, and Start command logic inputs have dominance in order they are listed. When one of these commands exist, the status of the integration is changed (to the command state) and will not change again until a different command is true (by the order of dominance). If the Start command is set true, the integration could be totally controlled by manipulation of the Reset and Stop commands; integrating when neither is true. The SubTotal command is effective regardless of the other command states and does not change the integration status (though it will change the output). The command logic input is edge detected; must be reset and returned to true to repeat its effect. Stop input command might be applied for logic conditions when the integration is not valid. Start would reinitiate the integration. Reset input command might be applied to reset the accumulation (to the start offset) and would reset the ResetVal if sustained for more than one scan. The StartOffset (value used to resume integration actually applied by the reset command) would be used to initiate the integration at a specific value. (The StartOffset value could be preset before the reset command without changing the integration in progress.) Start input command is applied to resume integration following the Stop and/or Reset commands (and may be set continuously true to resume when both of the other commands are false). SubTotal input command might be applied on a periodic basis such as a day or shifts (eight hours) detected by timing atomic blocks. The accumulation value at the time of (last) SubTotal reset and time of (last) SubTotal reset is retained for indication/recording. The SubTotalActv output (a single scan boolean) can be used to multiply the SubTotalVal for accumulation by a calculator (the accumulation would only add the value the scan it was set). A calculator is recommended because three expressions should be applied to continue the accumulation with double precision: Y1 - the double precision accumulation: Y3+Y2+A*B

2-14

Metso Automation 278589

Function block Category: Analog Math Functions (AnlFunc)


Y2 - double / single difference: Y3+Y2+A*B-Y1 Y3 - the accumulation in single precision: Y1 Where InA is referenced to SubTotalVal and InB is referenced to SubTotalActv. Reset (or SubTotal) when maximum detected could be configured to drive a higher range of accumulation by counting maximum rollovers (counting the number of times TotalatMAX is true (true only one scan each rollover because of integration value reset)).

Alternate Applications
Set input equal to 1 to establish a timer controlled by the Start, Stop, and Reset commands. Reference the input to a logic condition (0.0 or 1.0) to time the condition. Reference the input to an edge trigger of a logic condition to count events. Reference the input to an ADD atomic block calculating the difference between two inputs for input/output integration. Reference the inputs of the ADD atomic block to logic conditions for an up/down timer, servo operator.

Output Quality
The Output Quality latches input DOUBTFUL or SUBSTITUTE Quality conditions (because it is an accumulation over time), but handles the input Quality BAD condition differently. When the input quality is BAD, but has not been BAD for a significant time period relative to the elapsed time for the value accumulation, the Output Quality is latched DOUBTFUL. When the input quality is BAD for a significant time period, the Output Quality is set equal to BAD When the input quality is NOT BAD, but has been BAD for a significant time period, the Output Quality is latched DOUBTFUL. The Quality of the output (and status TotalHi, TotalMax, and ResetVal (when reset)) is the worst of the following conditions: DOUBTFUL input Quality (latched until reset) SUBSTITUTE input Quality (latched until reset) DOUBTFUL latched when BAD input Quality for less than significant time relative to Elapsed Time. BAD when BAD input Quality during time accumulated more than significant time relative to Elapsed Time.

Metso Automation 278589

2-15

Function Blocks and Buffers Programmer's Reference and User's Guide


DOUBTFUL latch when Not BAD input Quality, but previous BAD input Quality.

Attributes
Outputs Name Out Type Float Status Name AltTUOM ElapsedTime QualActnActv ResetTime ResetVal Status TotalAtHi TotalAtMax TUOM Type Text Time Float Time Float Float Float Float Text Inputs Name In Reset Start Stop Type Float Float Float Float Parameters Name AltDesc AltEngUnitsTxt AltShDesc Desc DpuReset EngUnitsTxt GName HiLimit K MaxCutOff MaxLimit MinQual QualActn ShDesc StartOffset TagName TimeBase ZeroCutOff Type Text Text Text Text Float Text Text Float Float Float Float Float Float Text Float Text Float Float Description Alternate Description In Engineering Units Alt. Text Alternate Short Description Description Actn On Soft DPU Rset(1 reset) In Engineering Units Text Generic Name Value At Which TotalAtHi Is Set Input Scaling Multiplier Actn On TotalAtMax Set Value At Which TotalAtMax Is Set Wrst In Qual Alwd In Total In Qual Worse Than MinQual Actn Short Description Start Offset TagName Time Base For Totaling Value Where In Is Assumed Zero Description Input To Total Reset Totalizer if 1 Start Totaling if 1 Stop Totaling if 1 Description Out Units Of Measure Alt. Text Elapsed Totaling Time Quality action active Time Of Last Reset Total At Last Reset Totalizer Status Total Is At High Limit Total Is At Maximum Limit Out Units Of Measure Text Description Output Total

2-16

Metso Automation 278589

Function block Category: Analog Math Functions (AnlFunc)


Commands Name OpCmd Type Float Description Operator Start, Stop, Or Reset

Metso Automation 278589

2-17

Function Blocks and Buffers Programmer's Reference and User's Guide

Lead/Lag (LEADLAG)

LeadLag
PropIn RateIn Freeze Init TransReg Out

Overview
Function output is result of Lag and/or Rate Functions applied to an input variable(s).

Critical Behaviors
Proportional input times gain plus change (since last scan) in Rate input times (rate) gain is lagged twice (two series lag functions), then has an ALF filter applied for the result (output).. Initialize input logical forces result to equal result as if all time functions zero and all memory registers initialized accordingly. Freeze input logical forces result to hold at last calculated value, all memory registers initialized accordingly, and offset register initialized to difference between result and result when all time functions zero for bumpless return to normal operation. Offset register decays to zero when not initialize or freeze. Separate proportional and rate inputs permit calculation of Energy Flow + Energy Storage Rate of Change (Heat Release). Amplitude limiting filter applied to result.

Detailed Description
The following diagrams the LeadLag calculations for normal operation

2-18

Metso Automation 278589

Function block Category: Analog Math Functions (AnlFunc)

PropIn Multiply PropGain Change since last scan

RateIn RateGain Lag1Time

Multiply

Sum

Lag

Lag2Time

Lag Transition Register and Slew not shown.

ALFBand ALF ALFTime Out

The rate input is actually added into the first lag output, with the sum used as the output last of the lag for its next scans calculation. This provides a step output for step rate input proportioned by the rate gain, with subsequent rise in the rate contribution to the output by the first lag time for continuing rate of change. Functions provided by combinations of parameter settings and input application:
Function Single Lag Double Lag Rate (only) Step Lag [6] Prop + Rate Inverse Rate RateIn PropIn RateIn PropIn RateIn PropIn RateIn Inputs Connected PropIn PropIn PropGain 1.0 [1] 1.0 [1] 0.0 1.0 [1] Adjust Adjust RateGain 0.0 0.0 Adjust [5] Adjust < 1.0 Adjust > 1.0 [5] Adjust < 0.0 Lag1Time Adjust Adjust Adjust [5] Adjust Adjust [5] Adjust Lag2Time 0.0 Adjust = Lag1Time [3] 0.0 [4] 0.0 [4] 0.0 [4] 0.0 [4] TransSlew 0.0 [2] 0.0 [2] 0.0 [2] 0.0 [2] 0.0 [2] 0.0[2] 0.0[2]

Rate 0.0 1.0[7] 0.0 Adjust Measure RateIn [1] Can adjust for through value gain. [2] May apply for reduced bump on transfer from freeze to normal operation

Metso Automation 278589

2-19

Function Blocks and Buffers Programmer's Reference and User's Guide


[3] Could be different from Lag1Time, but equal lag times provide most apparent deadtime in response. [4] Can adjust for additional lag/damping. [5] RateGain times Lag1Time establishes the RateTime. [6] Both inputs connected to the same variable. [7] 1.0 provides per second rate of change measurement; adjust for other scaling (e.g. 60 for per minute, 3600 for per hour). Note that any time filtering must be applied by Lag2Time or note [5] applies.

ALF provides additional filtering for all functions by equation: ALF.Out = ALF.In ALF.Storage where ALF.Storage = ALF.In ALF.In.Last + Beta * ALF.Storage a decaying (by ALFTime) value of the ALF input change. ALF.Storage is clamped to +/- ALFBand so that initially an ALF input change is effectively canceled by subtraction of the change in the storage register. Then the input change becomes apparent at the output when the storage register decays to zero. ALF input changes greater than the ALF band have no delay because the storage register is clamped (so it will not cancel change beyond the band).

Attributes
Output Name Out TransReg Type Boolean Float Status N/A Input Name Freeze Init PropIn RateIn Type Boolean Boolean Float Float Parameters Name ALFBand ALFTime Lag1Time Lag2Time PropGain RateGain TransSlew Type Float Rel Time Rel Time Rel Time Float Float Float Description Amplitude Limiting Filter band Amplitude Limiting Filter time First lag time Second lag time Longterm gain of prop. input Rate of gain change Rate of transition Description Hold output at last value Cause output to assume value Input for sustained output Rate of change output Description Whole value of the function Smoothing bias for transition

2-20

Metso Automation 278589

Function block Category: Analog Math Functions (AnlFunc)

Commands N/A

Metso Automation 278589

2-21

Chapter 3
Buffers (Bufs)
Overview
Buffers are the interface between the software and hardware components of the system. Analog or digital input/outputs represent signals processed through the Model IOP family of input/output modules. Analog inputs may represent thermocouple and resistance temperature readings. Digital signals may represent AC or DC signals derived from contact closures or voltage level outputs from pressure switches or pushbuttons. From I/O modules, signals may enter the following buffer types each representing an available I/O module:

Analog Input Buffer (AIB) Analog Output Buffer (AOB) Counter Timer Buffer (CB) Digital Input Buffer (DIB) Digital Output Buffer (DOB) Output Driver Buffer (OD) Positioner Buffer (PB) Pulse I/O Counter/Timer Buffer (PLSIO - 564 only) Quad Position Adjusting Type (QPAT) Resistance Temperature Detector (RTD) Serial Thermocouple (TC)

Digital and high level (4-20 ma.) analog signals may be entered into digital and analog buffers, respectively. Analog Buffers may be configured to specify linearizations and related signal conditioning. Buffers represent all the available signals associated with any given I/O module. An Analog Input Module, for instance consists of up to 16 channels, each of which are assigned a signal span type. The entire buffer may be tagged and referenced through graphics displays. To tag an individual signal, use an Atag or Dtag atomic block. The Release 1.8 maxDPU supports two families of I/O cards the older Model 564 I/O and the new maxPAC series. The main difference in the families is that the maxPAC I/O is more compact, allowing up to 8 modules per I/O chassis, and maxPAC has convenient Phoenix block type wire termination. The following are the major differences:

Metso Automation 278589

Function Blocks and Buffers Programmer's Reference and User's Guide


maxPAC Analog Input and Thermocouple Input cards contain 16 channels instead of 15. maxPAC RTD Input card contains 8 channels instead of 7. maxPAC AI, TC, and RTD only consume 2 I/O bus addresses. maxPAC AO Output card has a new feature of read back to allow detection of open loop. Note: The maxPAC Counter Timer card is a replacement for the 564 PLSIO card with similar input functions, but without any output timing functions. Note: the AIBS should not be used any more. The AIB has a configuration option for the older 564 I/O. The AIB, AOB, RTD, and TC buffers now contain a new attribute that is used to configure the type of I/O installed. The attribute is called maxPAC. The following table summarizes the configuration options for these buffers.
Buffer Configuration Setup Buffer AIB AOB TC RTD AIBS maxPAC Attribute Value 0 1 2 0 1 0 1 0 1 Description Burst maxPAC NonBurst 564 (old style) maxPAC (new style) 564 (old style) maxPAC (new style) 564 (old style) maxPAC (new style) # Addrs. 2 2 16 8 8 16 2 8 2 # Chnls 15 16 15 8 8 15 16 7 8 Comment 564 IHLAI maxPAC AI Other 564 AI 564 AO maxPAC with Read Back 564 TC maxPAC TC 564 RTD maxPAC RTD Use AIB in NonBurst Mode

3-2

Metso Automation 278589

Function block Category: Buffers

Analog Input Buffer (AIB)


Atomic block Category: Buffers

Overview
Use the Analog Input Buffer to make analog values from analog input cards available to other atomic blocks for their use. To configure this buffer, specify span types for up to 16 channels. Use the type parameters (Tyxx) to specify the following available types:
1 4 to 20 mA 2 20 to4 mA 3 0 to 20 mA 4 20 to 0 mA 10 - Custom

When you enter a span type per channel, maxDPUTools automatically fills in high and low range counts. To enter your own custom span type, use 10 for custom. For custom AI types, Ty0X = 10, calibrate methods can be used to place a milliampere setting into the Low Count (LoCnt0X) and High Count (HiCnt0X) range parameters. When a calibrate method is invoked, via a write from the HMI, the raw count (Rcnt0X) value is placed into the corresponding range parameter. The outputs of the buffer are values with a range of 0 to 100 i.e. percent. Each output quality is normally good, set to bad when: 1. The buffer cannot communicate with the module (all outputs bad quality). 2. The module detects a signal greater than its measurement range . 3. AI types 4-20 mA or 20-4 mA signal input is less than 100 counts (approximately 0.1 mA).

Creating Simulated Points


This atomic block also includes a set of simulation parameters to allow you to create a simulated point environment for system checkout and testing. When you set the SimST parameters to 1, the DPU uses entered simulated point values rather than actual values from attached I/O. SimStatus, another simulation parameter, lets you simulate hardware problems. In addition, the buffer includes the following other parameters: Addr Enter a buffer address.

Metso Automation 278589

3-3

Function Blocks and Buffers Programmer's Reference and User's Guide


AltShDesc AltDesc Desc Gname Mode Enter an alternate short description in another language if necessary. Enter an alternate long description in another language if necessary. Enter a long description to identify the buffer on other displays. Enter a generic name for the buffer if it will be configured as part of a point hierarchy. The mode is set to 1 to allow the DPU to actively scan the associated I/O module. Set the parameter to 0 for off scan when you need to take the module offline for maintenance. Set this parameter to 1 if the associated module is part of a redundant configuration; otherwise, set the parameter to 0 for non-redundant I/O. Enter a short description to appear on display logs where space is limited. Enter a tagname to identify the buffer in other locations, such as in a maxVUE graphics display. Note that the tagname applies to all the signals associated with the buffer. To tag an individual signal, use an Atag atomic block.

RedundantIO

ShDesc Tagname

Attributes
Attribute Alm_Ack SHCnt01 SHCnt02 SHCnt03 SHCnt04 SHCnt05 SHCnt06 SHCnt07 SHCnt08 SHCnt09 SHCnt10 SHCnt11 SHCnt12 SHCnt13 SHCnt14 SHCnt15 SHCnt16 SLCnt01 SLCnt02 SLCnt03 SLCnt04 Category Command Command Command Command Command Command Command Command Command Command Command Command Command Command Command Command Command Command Command Command Command Description Clears Unacknowledged state Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Data Type Boolean Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer

3-4

Metso Automation 278589

Function block Category: Buffers


SLCnt05 SLCnt06 SLCnt07 SLCnt08 SLCnt09 SLCnt10 SLCnt11 SLCnt12 SLCnt13 SLCnt14 SLCnt15 AI01 AI02 AI03 AI04 AI05 AI06 AI07 AI08 AI09 AI10 AI11 AI12 AI13 AI14 AI15 AI16 Addr AltDesc AltShDesc Cabinet Card Defeat Desc FailoverTyp GName HiCnt01 HiCnt02 HiCnt03 HiCnt04 HiCnt05 HiCnt06 HiCnt07 HiCnt08 HiCnt09 HiCnt10 HiCnt11 HiCnt12 HiCnt13 HiCnt14 HiCnt15 HiCnt16 LoCnt01 Command Command Command Command Command Command Command Command Command Command Command Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Value of AI 1 Value of AI 2 Value of AI 3 Value of AI 4 Value of AI 5 Value of AI 6 Value of AI 7 Value of AI 8 Value of AI 9 Value of AI 10 Value of AI 11 Value of AI 12 Value of AI 13 Value of AI 14 Value of AI 15 Value of AI 16 Buffer Address Alternate Description Alternate Short Description Cabinet ID Card ID Disable alarming when true (DPU4F only) Description Noncritical = 0 Normal = 1 Critical = 2 Generic Name High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts Low Range Counts Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Integer String String String Integer Boolean String Float String Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer

Metso Automation 278589

3-5

Function Blocks and Buffers Programmer's Reference and User's Guide


LoCnt02 LoCnt03 LoCnt04 LoCnt05 LoCnt06 LoCnt07 LoCnt08 LoCnt09 LoCnt10 LoCnt11 LoCnt12 LoCnt13 LoCnt14 LoCnt15 LoCnt16 maxPAC Mode Rack RedundantIO ShDesc SIMAI01 SIMAI02 SIMAI03 SIMAI04 SIMAI05 SIMAI06 SIMAI07 SIMAI08 SIMAI09 SIMAI10 SIMAI11 SIMAI12 SIMAI13 SIMAI14 SIMAI15 SIMAI16 SimST SimStatus TagName Ty01 Ty02 Ty03 Ty04 Ty05 Ty06 Ty07 Ty08 Ty09 Ty10 Ty11 Ty12 Ty13 Ty14 Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts 0 =Burst 1= maxPAC style 3 = NonBurst 1 = On Scan, 0 = Off Scan Rack ID Using Redundant I/O if True Short Description Value of Sim AI 1 Value of Sim AI 2 Value of Sim AI 3 Value of Sim AI 4 Value of Sim AI 5 Value of Sim AI 6 Value of Sim AI 7 Value of Sim AI 8 Value of Sim AI 9 Value of Sim AI 10 Value of Sim AI 11 Value of Sim AI 12 Value of Sim AI 13 Value of Sim AI 14 Value of Sim AI 15 Value of Sim AI 16 Sim State: 1 = On, 0 = Off Sim Status: 0 = Good, 1 = Bad TagName Channel 1 Span Type Channel 2 Span Type Channel 3 Span Type Channel 4 Span Type Channel 5 Span Type Channel 6 Span Type Channel 7 Span Type Channel 8 Span Type Channel 9 Span Type Channel 10 Span Type Channel 11 Span Type Channel 12 Span Type Channel 13 Span Type Channel 14 Span Type Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Boolean Integer Boolean String Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Boolean Boolean String Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer

3-6

Metso Automation 278589

Function block Category: Buffers


Ty15 Ty16 UserRef Acked AlarmText AlmTime AltAlarmText CardType Checksum Date RawCnt01 RawCnt02 RawCnt03 RawCnt04 RawCnt05 RawCnt06 RawCnt07 RawCnt08 RawCnt09 RawCnt10 RawCnt11 RawCnt12 RawCnt13 RawCnt14 RawCnt15 RawCnt16 Status Tmode TypeRead Parameter Parameter Parameter Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Channel 15 Span Type Channel 16 Span Type User Obj supplying Alarm Text Acknowledged state of alarm Alarm description Alarm occurrence time Alt Alarm description Card Type index Checksum of the revision Date of the revision Raw Counts from card Raw Counts from card Raw Counts from card Raw Counts from card Raw Counts from card Raw Counts from card Raw Counts from card Raw Counts from card Raw Counts from card Raw Counts from card Raw Counts from card Raw Counts from card Raw Counts from card Raw Counts from card Raw Counts from card Raw Counts from card Board Status Text Mode Card type read data Integer Integer Integer Float String Time String Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer String Integer

Enumerated Attributes:
Mode: 0 Off Scan 1 On Scan RedundantIO: 0 Not Using Redundant I/O 1 Using Redundant I/O SimST: 0 Not In Simulation Mode 1 In Simulation Mode SimStatus: 0 Simulated Good Card Status 1 Simulated Bad Card Status

Status:

00000 No Errors 10005 Parity Error on Read of Low Byte 10006 Parity Error on Read of High Byte

Metso Automation 278589

3-7

Function Blocks and Buffers Programmer's Reference and User's Guide


20001 XACK Expected But Not Present 20002 Error on XACK Not Released 20004 ACK and not MACK Expected But Not Detected 20005 Multiple addresses (MACK) detected 20006 ACK and not MACK and not XACK Expected But Not Detected 20008 Error on ACK or MACK Not Released 60001 Error on Bus Address 60002 Error on DI Bus Address 60004 Error on Data Low Byte 70000 DI Address Mask Error Detected 80000 Next DI Address Error 90000 Burst AI Address Error B0000 Error Detected in First Part of Chained Command C0000 Error on Data High Byte Test D0000 Error Detected in Deselect Operation D10001 Buffer Rev Stuck D10002 Buffer Status Stuck D10003 Buffer Schedule Error D10004 Buffer not Able to Schedule D10005 Buffer not Scheduled D10006 Buffer not Being Updated D10007 Buffer to Module Mismatch D10008 Buffer Address Conflict

TyXX: 1 4 to 20 mA 2 20 to4 mA 3 0 to 20 mA 4 20 to 0 mA 10 - Custom

3-8

Metso Automation 278589

Function block Category: Buffers

Analog Output Buffer (AOB)


Atomic block Category: Buffers

Overview
Use the Analog Output Buffer to make analog values from the atomic block algorithms available to the field. To configure this buffer, specify span types for up to 8 channels. Use the type parameters (Tyxx) to specify the following available types:
1 4 to 20 mA 2 20 to4 mA 10 - Custom

When you enter a span type per channel, maxDPUTools automatically fills in high and low range counts. To enter your own custom span type, use 10 for custom (Ty0X = 10 parameter). For custom AO types, you must enter your own high and low range counts. calibrate methods can be used to place a milliampere setting into the Low Count (LoCnt0X) and High Count (HiCnt0X) range parameters. When a calibrate method is invoked, via a write from the HMI, the count value in SLCntX or in SHCntX is placed into the corresponding range parameter. The inputs of the buffer are values with a range of 0 to 100 i.e. percent.

Creating Simulated Points


This atomic block also includes a set of simulation parameters to allow you to create a simulated point environment for system checkout and testing. When you set the SimST parameters to 1, the DPU uses entered simulated point values rather than actual values from attached I/O. SimStatus, another simulation parameter, lets you simulate hardware problems. In addition, the buffer includes the following other parameters: Addr Alt ShDesc AltDesc Desc Enter a buffer address Enter an alternate short description in another language if necessary. Enter an alternate long description in another language if necessary. Enter a long description to identify the buffer on other displays.

Metso Automation 278589

3-9

Function Blocks and Buffers Programmer's Reference and User's Guide


Gname Mode Enter a generic name for the buffer if it will be configured as part of a point hierarchy. The mode is set to 1 to allow the DPU to actively scan the associated I/O module. Set the parameter to 0 for off scan when you need to take the module offline for maintenance. Set this parameter to 1 if the associated module is part of a redundant configuration; otherwise, set the parameter to 0 for non-redundant I/O. Enter a short description to appear on display logs where space is limited. Enter a tagname to identify the buffer in other locations, such as in a maxVUE graphics display. Note that the tagname applies to all the signals associated with the buffer. To tag an individual signal, use an Atag atomic block.

RedundantIO ShDesc Tagname

Attributes
Attribute Alm_Ack SLCnt01 SLCnt02 SLCnt03 SLCnt04 SLCnt05 SLCnt06 SLCnt07 SLCnt08 SHCnt01 SHCnt02 SHCnt03 SHCnt04 SHCnt05 SHCnt06 SHCnt07 SHCnt08 AO01 AO02 AO03 AO04 AO05 AO06 AO07 AO08 AI01 AI02 AI03 AI04 AI05 AI06 Category Command Command Command Command Command Command Command Command Command Command Command Command Command Command Command Command Command Input Input Input Input Input Input Input Input Output Output Output Output Output Output Description Clears Unacknowledged state Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Contains Value of AO01 Contains Value of AO02 Contains Value of AO03 Contains Value of AO04 Contains Value of AO05 Contains Value of AO06 Contains Value of AO07 Contains Value of AO08 Contains Value of AI01 Contains Value of AI02 Contains Value of AI03 Contains Value of AI04 Contains Value of AI05 Contains Value of AI06 Data Type Boolean Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Float Float Float Float Float Float Float Float Float Float Float Float Float Float

3-10

Metso Automation 278589

Function block Category: Buffers


AI07 AI08 FailoverTyp maxPAC UserRef Mode SimST Addr Cabinet Rack Card Defeat Ty01 Ty02 Ty03 Ty04 Ty05 Ty06 Ty07 Ty08 LoCnt01 LoCnt02 LoCnt03 LoCnt04 LoCnt05 LoCnt06 LoCnt07 LoCnt08 HiCnt01 HiCnt02 HiCnt03 HiCnt04 HiCnt05 HiCnt06 HiCnt07 HiCnt08 SimAO01 SimAO02 SimAO03 SimAO04 SimAO05 SimAO06 SimAO07 SimAO08 TagName GName SimStatus Desc ShDesc AltDesc Output Output Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Contains Value of AI07 Contains Value of AI08 Noncritical = 0 Normal = 1 Critical = 2 0 =Burst 1= maxPAC style 3 = NonBurst User Obj supplying Alarm Text 1 = On Scan, 0 = Off Scan Sim State: 1 = On, 0 = Off Buffer Address Cabinet ID Rack ID Card ID Disable alarming when true (DPU4F only) Span Type Span Type Span Type Span Type Span Type Span Type Span Type Span Type Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts High Range Counts Contains Value of AO01 Contains Value of AO02 Contains Value of AO03 Contains Value of AO04 Contains Value of AO05 Contains Value of AO06 Contains Value of AO07 Contains Value of AO08 TagName Generic Name Sim Status: 0 = OK, 1 = Bad Description Short Description Alternate Description Float Float Float Integer Integer Boolean Boolean Integer String Integer Integer Boolean Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Float Float Float Float Float Float Float Float String String Boolean String String String

Metso Automation 278589

3-11

Function Blocks and Buffers Programmer's Reference and User's Guide


AltShDesc RedundantIO TypeRead AIRawCnt01 AIRawCnt02 AIRawCnt03 AIRawCnt04 AIRawCnt05 AIRawCnt06 AIRawCnt07 AIRawCnt08 AlarmText AltAlarmText AlmTime Acked Status RawCnt01 RawCnt02 RawCnt03 RawCnt04 RawCnt05 RawCnt06 RawCnt07 RawCnt08 FreezeAO01 FreezeAO02 FreezeAO03 FreezeAO04 FreezeAO05 FreezeAO06 FreezeAO07 FreezeAO08 AO01Compare AO02Compare AO03Compare AO04Compare AO05Compare AO06Compare AO07Compare AO08Compare TMode Parameter Parameter Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Alternate Short Description Using Redundant I/O if True Card type read data Raw Counts from Card Raw Counts from Card Raw Counts from Card Raw Counts from Card Raw Counts from Card Raw Counts from Card Raw Counts from Card Raw Counts from Card Alarm description Alt Alarm description Alarm occurrence time Acknowledged state of alarm Board Status Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Freeze AO01 if TRUE Freeze AO02 if TRUE Freeze AO03 if TRUE Freeze AO04 if TRUE Freeze AO05 if TRUE Freeze AO06 if TRUE Freeze AO07 if TRUE Freeze AO08 if TRUE Frozen VAlue of AO01 Frozen VAlue of AO02 Frozen VAlue of AO03 Frozen VAlue of AO04 Frozen VAlue of AO05 Frozen VAlue of AO06 Frozen VAlue of AO07 Frozen VAlue of AO08 Text Mode String Boolean Integer Integer Integer Integer Integer Integer Integer Integer Integer String String Time Float Integer Integer Integer Integer Integer Integer Integer Integer Integer Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Float Float Float Float Float Float Float Float String

Enumerated Attributes:
Mode: 0 Off Scan 1 On Scan RedundantIO: 0 Not Using Redundant I/O 1 Using Redundant I/O SimST:

3-12

Metso Automation 278589

Function block Category: Buffers


0 Not In Simulation Mode 1 In Simulation Mode SimStatus: 0 Simulated Good Card Status 1 Simulated Bad Card Status Status:

00000 No Errors 10005 Parity Error on Read of Low Byte 10006 Parity Error on Read of High Byte 20001 XACK Expected But Not Present 20002 Error on XACK Not Released 20004 ACK and not MACK Expected But Not Detected 20005 Multiple addresses (MACK) detected 20006 ACK and not MACK and not XACK Expected But Not Detected 20008 Error on ACK or MACK Not Released 60001 Error on Bus Address 60002 Error on DI Bus Address 60004 Error on Data Low Byte 70000 DI Address Mask Error Detected 80000 Next DI Address Error 90000 Burst AI Address Error B0000 Error Detected in First Part of Chained Command C0000 Error on Data High Byte Test D0000 Error Detected in Deselect Operation D10001 Buffer Rev Stuck D10002 Buffer Status Stuck D10003 Buffer Schedule Error D10004 Buffer not Able to Schedule D10005 Buffer not Scheduled D10006 Buffer not Being Updated D10007 Buffer to Module Mismatch D10008 Buffer Address Conflict

TyXX: 1 4 to 20 mA 2 20 to4 mA 10 - Custom

Metso Automation 278589

3-13

Function Blocks and Buffers Programmer's Reference and User's Guide

Counter Timer Buffer (CB)


Atomic block Category: Buffers
Graphical Configurator Diagram

SendReset01 08

Counter Module Buffer

In01 08 InDelta01 08

Overview
This module buffer combination supports up to eight pulse input channels. Each channel can be independently configured for both function type and debounce time. The functions supported are: Mode 1 Frequency Input Frequency in counts per second in input1. Input 2 is not used. The following timebase mode selections for frequency measurement: 20 msecs, 50 msecs, 100 msecs, 250 msecs, 500 msecs, and 1 second. For the selected timebase, the Pulse I/O module measures frequency for the specified duration and normalizes each measurement to cycles per second. The measurement is updated at the end of each interval and the counts read by the DPU when the module is scanned represent the average of the last four measurements in cycles/second. The scan rate of the DPU is asynchronous from the scan rate by the module. The accuracy of the frequency measurement is +/-1 count for the one-second timebase. The accuracy for the other timebases is approximately the normalizing multiplier divided by 4. Thus for the shortest timebase (20 msecs), the accuracy is reduced to approximately +/-12 counts. In applications requiring fast frequency measurements, a period measurement (mode 7) can also be used to measure frequency. Since each count in the period measurement corresponds to 0.5 microseconds, the inverse of the period will yield a fast frequency

3-14

Metso Automation 278589

Function block Category: Buffers


measurement with an accuracy of 0.1% for a 2000Hz input and 0.25% for a 5000Hz. Mode 2 Simple Event Counter (default configuration) 32 bit accumulation of OFF-to-ON transitions in input1. Input2 provides an external accumulator reset. Mode 3 Up/Down Event Counter Net counts of OFF to ON transitions in input1 and input2. Input1 counts up and input2 counts down. Mode 4 On-Time Timer The timebase frequency (0.5 usec/count) is counted while input1 = ON. Input 2 provides an external reset. Mode 5 Up/Down Pulse Timer Counts corresponding to the on-time difference in input1 and input2. The timebase frequency (0.5 usec/count) is counted up while input1 = ON and counted down while input2 is ON. Mode 6 Pulse Width ON time of last detected pulse in input1, based on the timebase frequency (0.5 usec/count). Input2 is not used. The measurement is updated at the end of each detected pulse (ON to OFF transition). Counts read by DPU represent the average of the last four measurements. Mode 7 Period Time duration between the last onset of input1and the previous onset of input1. The timebase frequency (0.5 usec/count) is counted during this time. Input2 is not used. The measurement is updated at the end of each detected period. Counts read by DPU represent the average of the last four measurements.

Attributes
Attribute SendReset01 08 In01 In08 InDelta01InDelta08 Preset01 Preset08 HiCnt01 HiCnt08 Category Input Output Output Parameter Parameter Description/Application Send channel reset Actual value from Pulse Module Difference between the previous (scan 1) value returned by the module and the current retrieved value. Preset Value to apply per channel High count value for conversion. If both the HiCnt and LoCnt are 0 then the output will be unscaled raw counts. Type Boolean Float Float Float Long

Metso Automation 278589

3-15

Function Blocks and Buffers Programmer's Reference and User's Guide


LoCnt01 LoCnt08 FailOverTyp Mode Addr RedundantIO SIMIn01 SIMIn08 SimST SimStatus InMode01 InMode08 InBounce101 InBounce108 InBounce201 InBounce208 AlmAck Defeat GName TagName ShDesc Desc AltDesc Cabinet Rack Card AlarmText AltAlarmText AlmTime Acked Tmode Status CardType Revision Date Checksum TypeRead ChannelStats InputWord LastCount01 08 ResetRTime01ResetRTime08 Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Low count value for conversion Non-Critical = 0, Normal = 1, Critical = 2 1 = On Scan, 0 = Off Scan Buffer Address Using Redundant I/O if True Raw Counts for Sim CB 1 - 8 Sim State: 0 = Off, 1 = On, 2 = EU Sim Status: 0 = Good, other = Bad See Configuration word See Configuration word. 1 to 255 milliseconds debounce. 0 is no debounce See Configuration word. 1 to 255 milliseconds debounce. 0 is no debounce Acknowledge Alarm Defeate alarms Generic Name TagName Short Description Description Alternate Description Cabinet ID Rack ID Card ID Alarm Description Alternate Alarm Description Time of alarm State of Alarm Acknowledge Text Mode Board Status Module model number Revision level of module firmware Day and Month of the revision of the module firmware Checksum of the firmware in the module Value returned by the module in response to a type read Indicator of channel reset status inputs Digital Input states in a word Reset Counts Relative time of the reset within atom execution detection Long Enum Enum Long Boolean Float Enum Enum Long Time Time Boolean Boolean Text Text Text Text Text Text Long Long String String Time Boolean String Long Long Long Long Long Long Long Long Long Time

Critical Behaviors
Outputs can be reset from an external signal. When a reset occurs, a bit will be set in the status word and the output value prior to the reset will be stored in an item addressable location. The DPU can indicate that it has been requested to reset the channel by writing a one in the appropriate bit location to the second half of the Status word.

3-16

Metso Automation 278589

Function block Category: Buffers


Each execution will read all channels using the high-speed burst and the Status word for resets. If a reset is indicated two item reads will be scheduled to read the reset channel and an item write to clear the bit indicating the reset information has been retrieved. Also with each execution a read of one of the configuration words or preset values will be retrieved and compared with the current value. If this does not match then the current value at the DPU will be written to the module. In sequence with the reads of the configuration data will be reads of the module identification information. This includes Model No., Revision, Checksum, and Date of revision. This is the same technique used for scanning the TC and RTD modules currently.

Metso Automation 278589

3-17

Function Blocks and Buffers Programmer's Reference and User's Guide

Digital Input Buffer (DIB)


Atomic block Category: Buffers
Graphical Configurator Diagram

Overview
Use the Digital Input Buffer to make digital values from digital input cards available to other atomic blocks for their use. To configure this buffer, specify a relative debounce time for up to 16 channels using the DBTMxx parameter, where xx is the channel number from 01 to 16. The value of a DIXX output will not change unless the incoming field value remains in the changed state for a time equal to its debounce time.

Creating Simulated Points


This atomic block also includes a set of simulation parameters to allow you to create a simulated point environment for system checkout and testing. When you set the SimST parameters to 1, the DPU uses entered simulated point values rather than actual values from attached I/O. SimStatus, another simulation parameter, lets you simulate hardware problems. In addition, the buffer includes the following other parameters: Addr Alt ShDesc AltDesc Desc Gname Mode Enter a buffer address Enter an alternate short description in another language if necessary. Enter an alternate long description in another language if necessary. Enter a long description to identify the buffer on other displays. Enter a generic name for the buffer if it will be configured as part of a point hierarchy. The mode is set to 1 to allow the DPU to actively scan the associated I/O module. Set the parameter to 0 for off scan when you need to take the module offline for maintenance. Set this parameter to 1 if the associated module is part of a redundant configuration; otherwise, set the parameter to 0 for non-redundant I/O.

RedundantIO

3-18

Metso Automation 278589

Function block Category: Buffers


ShDesc Tagname Enter a short description to appear on display logs where space is limited. Enter a tagname to identify the buffer in other locations, such as in a maxVUE graphics display. Note that the tagname applies to all the signals associated with the buffer. To tag an individual signal, use an Atag atomic block.

Attributes
Attribute Alm_Ack DI01 DI02 DI03 DI04 DI05 DI06 DI07 DI08 DI09 DI10 DI11 DI12 DI13 DI14 DI15 DI16 Addr AltDesc AltShDesc Cabinet Card DBTM01 DBTM02 DBTM03 DBTM04 DBTM05 DBTM06 DBTM07 DBTM08 DBTM09 DBTM10 DBTM11 DBTM12 DBTM13 DBTM14 DBTM15 DBTM16 Defeat Desc FailoverTyp Category Command Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Description Clears Unacknowledged state Value of input 01 Value of input 02 Value of input 03 Value of input 04 Value of input 05 Value of input 06 Value of input 07 Value of input 08 Value of input 09 Value of input 10 Value of input 11 Value of input 12 Value of input 13 Value of input 14 Value of input 15 Value of input 16 Buffer Address Alternate Description Alternate Short Description Cabinet ID Card ID Debounce time for DI01 Debounce time for DI02 Debounce time for DI03 Debounce time for DI04 Debounce time for DI05 Debounce time for DI06 Debounce time for DI07 Debounce time for DI08 Debounce time for DI09 Debounce time for DI10 Debounce time for DI11 Debounce time for DI12 Debounce time for DI13 Debounce time for DI14 Debounce time for DI15 Debounce time for DI16 Disable alarming when true (DPU4F only) Description Noncritical = 0 Normal = 1 Data Type Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Integer String String String Integer Rel Time Rel Time Rel Time Rel Time Rel Time Rel Time Rel Time Rel Time Rel Time Rel Time Rel Time Rel Time Rel Time Rel Time Rel Time Rel Time Boolean String Float

Metso Automation 278589

3-19

Function Blocks and Buffers Programmer's Reference and User's Guide


Critical = 2 Generic Name On Scan = 1 Off Scan = 0 Rack ID Using Redundant I/O if True Short Description Value of Simulated input 01 Value of Simulated input 02 Value of Simulated input 03 Value of Simulated input 04 Value of Simulated input 05 Value of Simulated input 06 Value of Simulated input 07 Value of Simulated input 08 Value of Simulated input 09 Value of Simulated input 10 Value of Simulated input 11 Value of Simulated input 12 Value of Simulated input 13 Value of Simulated input 14 Value of Simulated input 15 Value of Simulated input 16 Sim State: 1 = On, 0 = Off Sim Status: 0 = Good, 1 = Bad Contains state of SimDI bits Is this a Slow scan DI TagName User Obj supplying Alarm Text Acknowledged state of alarm Alarm description Alarm occurrence time Alt Alarm description Contains state of DI bits Dtag svc handle for input 01 Dtag svc handle for input 02 Dtag svc handle for input 03 Dtag svc handle for input 04 Dtag svc handle for input 05 Dtag svc handle for input 06 Dtag svc handle for input 07 Dtag svc handle for input 08 Dtag svc handle for input 09 Dtag svc handle for input 10 Dtag svc handle for input 11 Dtag svc handle for input 12 Dtag svc handle for input 13 Dtag svc handle for input 14 Dtag svc handle for input 15 Dtag svc handle for input 16 Board Status Text Mode

GName Mode Rack RedundantIO ShDesc SimDI01 SimDI02 SimDI03 SimDI04 SimDI05 SimDI06 SimDI07 SimDI08 SimDI09 SimDI10 SimDI11 SimDI12 SimDI13 SimDI14 SimDI15 SimDI16 SimST SimStatus SimWord SlowDIs TagName UserRef Acked AlarmText AlmTime AltAlarmText DIWord DtagHan01 DtagHan02 DtagHan03 DtagHan04 DtagHan05 DtagHan06 DtagHan07 DtagHan08 DtagHan09 DtagHan10 DtagHan11 DtagHan12 DtagHan13 DtagHan14 DtagHan15 DtagHan16 Status TMode

Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status

String Integer Integer Boolean String Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Integer Boolean Integer Integer String Integer Float String Time String Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer String

3-20

Metso Automation 278589

Function block Category: Buffers


TypeRead Status Card type read data Integer

Enumerated Attributes:
Mode: 0 Off Scan 1 On Scan RedundantIO: 0 Not Using Redundant I/O 1 Using Redundant I/O SimST: 0 Not In Simulation Mode 1 In Simulation Mode SimStatus: 0 Simulated Good Card Status 1 Simulated Bad Card Status Status:

00000 No Errors 10005 Parity Error on Read of Low Byte 10006 Parity Error on Read of High Byte 20001 XACK Expected But Not Present 20002 Error on XACK Not Released 20004 ACK and not MACK Expected But Not Detected 20005 Multiple addresses (MACK) detected 20006 ACK and not MACK and not XACK Expected But Not Detected 20008 Error on ACK or MACK Not Released 60001 Error on Bus Address 60002 Error on DI Bus Address 60004 Error on Data Low Byte 70000 DI Address Mask Error Detected 80000 Next DI Address Error 90000 Burst AI Address Error B0000 Error Detected in First Part of Chained Command C0000 Error on Data High Byte Test D0000 Error Detected in Deselect Operation D10001 Buffer Rev Stuck D10002 Buffer Status Stuck D10003 Buffer Schedule Error D10004 Buffer not Able to Schedule D10005 Buffer not Scheduled D10006 Buffer not Being Updated D10007 Buffer to Module Mismatch D10008 Buffer Address Conflict

Metso Automation 278589

3-21

Function Blocks and Buffers Programmer's Reference and User's Guide

Digital Output Buffer (DOB)


Atomic block Category: Buffers
Graphical Configurator Diagram

Overview
Use the Digital Output Buffer to make digital values from the atomic block algorithms available to the field.

Creating Simulated Points


This atomic block also includes a set of simulation parameters to allow you to create a simulated point environment for system checkout and testing. When you set the SimST parameters to 1, the DPU uses entered simulated point values rather than actual values from attached I/O. SimStatus, another simulation parameter, lets you simulate hardware problems. In addition, the buffer includes the following other parameters: Addr Alt ShDesc AltDesc Desc Gname Mode Enter a buffer address Enter an alternate short description in another language if necessary. Enter an alternate long description in another language if necessary. Enter a long description to identify the buffer on other displays. Enter a generic name for the buffer if it will be configured as part of a point hierarchy. The mode is set to 1 to allow the DPU to actively scan the associated I/O module. Set the parameter to 0 for off scan when you need to take the module offline for maintenance. Set this parameter to 1 if the associated module is part of a redundant configuration; otherwise, set the parameter to 0 for non-redundant I/O. Enter a short description to appear on display logs where space is limited.

RedundantIO ShDesc

3-22

Metso Automation 278589

Function block Category: Buffers


Tagname Enter a tagname to identify the buffer in other locations, such as in a maxVUE graphics display. Note that the tagname applies to all the signals associated with the buffer. To tag an individual signal, use an Atag atomic block.

Attributes
Attribute Alm_Ack DO01 DO02 DO03 DO04 DO05 DO06 DO07 DO08 DO09 DO10 DO11 DO12 DO13 DO14 DO15 DO16 UserRef Mode SimST FailoverTyp Addr SimWord Cabinet Rack Card Defeat TagName GName SimStatus SimDO01 SimDO02 SimDO03 SimDO04 SimDO05 SimDO06 SimDO07 SimDO08 SimDO09 SimDO10 SimDO11 SimDO12 SimDO13 Category Command Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Description Clears Unacknowledged state Value of output 1 Value of output 2 Value of output 3 Value of output 4 Value of output 5 Value of output 6 Value of output 7 Value of output 8 Value of output 9 Value of output 10 Value of output 11 Value of output 12 Value of output 13 Value of output 14 Value of output 15 Value of output 16 User Obj supplying Alarm Text 1 = On Scan, 0 = Off Scan Sim State: 1 = On, 0 = Off Noncritical = 0 Normal = 1 Critical = 2 Buffer Address Contains state of SimDO bits Cabinet ID Rack ID Card ID Disable alarming when true (DPU4F only) TagName Generic Name Sim Status: 0 = Good, 1 = Bad Simulated Value of output 1 Simulated Value of output 2 Simulated Value of output 3 Simulated Value of output 4 Simulated Value of output 5 Simulated Value of output 6 Simulated Value of output 7 Simulated Value of output 8 Simulated Value of output 9 Simulated Value of output 10 Simulated Value of output 11 Simulated Value of output 12 Simulated Value of output 13 Data Type Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Integer Boolean Boolean Float Integer Integer String Integer Integer Boolean String String Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean

Metso Automation 278589

3-23

Function Blocks and Buffers Programmer's Reference and User's Guide


SimDO14 SimDO15 SimDO16 Desc ShDesc AltDesc AltShDesc RedundantIO AlarmText AltAlarmText AlmTime Acked DOWord TypeRead Status FreezeDO01 FreezeDO02 FreezeDO03 FreezeDO04 FreezeDO05 FreezeDO06 FreezeDO07 FreezeDO08 FreezeDO09 FreezeDO10 FreezeDO11 FreezeDO12 FreezeDO13 FreezeDO14 FreezeDO15 FreezeDO16 DO01Compare DO02Compare DO03Compare DO04Compare DO05Compare DO06Compare DO07Compare DO08Compare DO09Compare DO10Compare DO11Compare DO12Compare DO13Compare DO14Compare DO15Compare DO16Compare TMode Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Simulated Value of output 14 Simulated Value of output 15 Simulated Value of output 16 Description Short Description Alternate Description Alternate Short Description Using Redundant I/O if True Alarm description Alt Alarm description Alarm occurrence time Acknowledged state of alarm Contains state of DO bits Card type read data Board Status Freeze DO01 if TRUE Freeze DO02 if TRUE Freeze DO03 if TRUE Freeze DO04 if TRUE Freeze DO05 if TRUE Freeze DO06 if TRUE Freeze DO07 if TRUE Freeze DO08 if TRUE Freeze DO09 if TRUE Freeze DO10 if TRUE Freeze DO11 if TRUE Freeze DO12 if TRUE Freeze DO13 if TRUE Freeze DO14 if TRUE Freeze DO15 if TRUE Freeze DO16 if TRUE DO01 if FreezeDO01 TRUE DO02 if FreezeDO02 TRUE DO03 if FreezeDO03 TRUE DO04 if FreezeDO04 TRUE DO05 if FreezeDO05 TRUE DO06 if FreezeDO06 TRUE DO07 if FreezeDO07 TRUE DO08 if FreezeDO08 TRUE DO09 if FreezeDO09 TRUE DO10 if FreezeDO10 TRUE DO11 if FreezeDO11 TRUE DO12 if FreezeDO12 TRUE DO13 if FreezeDO13 TRUE DO14 if FreezeDO14 TRUE DO15 if FreezeDO15 TRUE DO16 if FreezeDO16 TRUE Text Mode Boolean Boolean Boolean String String String String Boolean String String Time Float Integer Integer Integer Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean String

Enumerated Attributes:
Mode: 0 Off Scan

3-24

Metso Automation 278589

Function block Category: Buffers


1 On Scan RedundantIO: 0 Not Using Redundant I/O 1 Using Redundant I/O SimST: 0 Not In Simulation Mode 1 In Simulation Mode SimStatus: 0 Simulated Good Card Status 1 Simulated Bad Card Status Status:

00000 No Errors 10005 Parity Error on Read of Low Byte 10006 Parity Error on Read of High Byte 20001 XACK Expected But Not Present 20002 Error on XACK Not Released 20004 ACK and not MACK Expected But Not Detected 20005 Multiple addresses (MACK) detected 20006 ACK and not MACK and not XACK Expected But Not Detected 20008 Error on ACK or MACK Not Released 60001 Error on Bus Address 60002 Error on DI Bus Address 60004 Error on Data Low Byte 70000 DI Address Mask Error Detected 80000 Next DI Address Error 90000 Burst AI Address Error B0000 Error Detected in First Part of Chained Command C0000 Error on Data High Byte Test D0000 Error Detected in Deselect Operation D10001 Buffer Rev Stuck D10002 Buffer Status Stuck D10003 Buffer Schedule Error D10004 Buffer not Able to Schedule D10005 Buffer not Scheduled D10006 Buffer not Being Updated D10007 Buffer to Module Mismatch D10008 Buffer Address Conflict

Metso Automation 278589

3-25

Function Blocks and Buffers Programmer's Reference and User's Guide

Output Driver Buffer (OD)


Atomic block Category: Buffers

InDrv PVDisplay PosDisplay SetDisplay StatDisplay SimAI

Output Driver Buffer

Out FrcbkOut SetterFBOut IntfcStatus ElemStatus ModeCommand SimOut OutType

Graphical Configurator Diagram

Overview
The Output Driver Buffer provides the interface with the Output Driver Hardware Module to control field devices when a hand/auto station is required providing:

Output Control by MaxDPU Configuration atoms Display values for Output Driver Control Stations Commands for Output Driver operations and indications Forceback for atoms operating the Output Driver Operation coordination between Output Driver Control Station and Graphics operation for Element Demand, Mode, and Control Setpoint or Bias. Configuration parameters download MaxDPU Configuration control status download. Output Driver and controlled device Status Indication Trigger DPU Failover predicated on Output Driver Status

This buffer uses complex inputs and outputs with multibit combined values. Custom Function Blocks using the BitPack, BitUnPack, and CMPT atomic blocks (to translate and construct the complex attributes) should be designed to drive this module.

3-26

Metso Automation 278589

Function block Category: Buffers


Creating Simulated Points
This atomic block includes a set of simulation parameters to allow you to create a simulated point environment for system checkout and testing. When you set the SimST parameter to 1 (to use raw counts from 0 to 16384) or 2 (to work with Output% from 0 to 100%), the DPU uses simulated values rather than actual values from an I/O module. SimStatus lets you simulate hardware problems as Good (0) or Bad (1).

Attributes
Outputs Name Out FrcbkOut Type Float Complex Description/Application = Actual position feedback from Output Driver for OD Type PAT or DIAT = InDrvVAL (input) for OD Type CAT or DAT (See Configuration Notes below) Forceback for Output operation indicates current conditions in the module. VAL = Output Driver Module Output% target (CAT/PAT/DAT) from InDrvVAL = Output Driver module Actual position (DIAT) (See Configuration Notes below) RLO, RHI = 0, 100 STAT = Directional blocks and Value forceback (no velocity limits): Directional blocks = combined conditions from directional block bits in InDrvSTAT and module limit switches or Range Limits.. (Inc = 4bit, Dec = 8bit) Value Forceback (16bit) is set in response to Manual Request, Output Change Flag, or Overrides. RST = 0 except 1 when Output Change Flag (to distinguish from Manual request) AREF = 0 TYPE = 17 Forceback for Setter (Setpoint or Bias) Operation VAL = SetDisplay input when not Setter Change Flag = Output Driver Setter when Setter Change Flag true RLO, RHI = SetLoLim, SetHiLim parameters STAT = Value Forceback when Setter Change Flag RST = 0 except 1 when Setter Change Flag AREF = 0 TYPE = 17 Output Driver Item D1 Status Word (Read by BitUnPack block in custom control function) Output Driver Status Word (Read by BitUnPack block in custom control function) Discrete alarm conditions Mode Change Command time stamped for use as a command in other Functions.. Value: Auto = 1, Manual = 0. Command time stamp is reiterated until the ModeChngRst bit of InDrv (bit3) is turned on. It will act as a one shot if the bit is left on. Interface Status Word (IntfcStatus) Manual request from hand station Local Switch, Calibrate mode, both inc and dec Blocks, both overrides, or pulsed on return from Sim mode. Mode change flag is set by pushing either mode button on hand station and cleared by ModeChngRst bit in InDrvStat (bit3) Request auto mode indicates which mode button was last pressed 0 = Manual 1 = Auto.

SetterFBOut

Complex

IntfcStatus ElemStatus AlarmCode ModeCommand

Integer Integer Integer Integer

Bit01 Bit02 Bit03

Metso Automation 278589

3-27

Function Blocks and Buffers Programmer's Reference and User's Guide


Bit04 Bit05 Bit06 Bit07 Bit08 Bit09 Bit10 Bit11 Bit12 Bit13 Bit14 Bit15 Slot alarm Setter bias selected (not setpoint) [S10-3] OD type used with bit 7 CAT/DAT = 0, PAT/DIAT = 1 OD type used with bit 6 CAT/DIAT = 0, PAT/DAT = 1 Send configuration pulsed on return from SimSt or Calibrate Mode Output high limit set by Hi Limit switch, IncBlock Bit in InDrvStat, or Current limit Output low limit set by Lo Limit switch, DecBlock Bit in InDrvStat, or Current limit Inhibit setter routine [S10-8] Inhibit PV write [S10-7] Remote alarm [conditional on S10-1] Local switch set. Setter change flag set by pressing a setter change button, indicating the setter value is no longer being written from the SetDisplay input. It will self-clear if the setter value and SetDisplay value become equal again as a result of: 1. change is reversed by opposite button press sequence or 2. custom function driver causes the SetDisplay to track the setter or 3. seting SetterChngRst bit in InDrvStat (bit9) which will allow the ODBuffer to write the SetDisplay value to the Setter. Output change flag set by pressing an output change button while ODMan is true, cleared by OutputChngRst bit in InDrvStat (bit4). This blocks the ODBuffer from sending new output requests from InDrv. For bumpless transfer the custom function driver should cause InDrvVAL to track the FrcBkOut at this time.

Bit16

Bit01 Bit02 Bit03 Bit04 Bit05 Bit06 Bit07 Bit08 Bit09 Bit10 Bit11 Bit12 Bit13 Bit14 Bit15 Bit16

Element Status Word (ElemStatus): Increase block (digital input) Decrease block (digital input) Increase override (digital input) Decrease override (digital input) OD manual mode (status) OD auto mode (status) PAT not responding (5 seconds and movement less than deadband) Drive unit available (both limit switches open) Output Inc or Dec pushbutton depressed. (Valid reguardless of OD Mode so it can be used to trigger default change to manual if desired.) PAT feedback fail Calibrate mode CAT output fail Inc limit contact open (Not used for CAT or DAT) Dec limit contact open (Not used for CAT or DAT) Any fuse blown N/A Status Description/Application Time of last alarm Output Driver rotary switch setting value. Text Mode Board Status Current Alarm Message Acknowledged State of Alarm 0 = not Ackd, 1 = Ackd

Name AlmTime SetterSlotNum TMode Status AlarmText Acked

Type Time Integer Text Long Text Integer

3-28

Metso Automation 278589

Function block Category: Buffers


Defeat FreezeOut Boolean Enum Disable alarming when true (DPU4F only) Use to freeze output before downloading a configuration change. Unlike most stati, this attribute can be written to (but not referenced.) As a protection, this attribute is set automaticly when a new reference is entered for InDrv. Inputs Name InDrv Type Complex Description/Application Output Driver Element Demand (Or On-Time Change for DIAT operation) with VAL = 0-100 Demand (or MOVE value for DIAT) RLO, RHI = 0, 100 STAT = per following table (Construct with BitPack block in custom control function) RST = 0 (or MOVE value for DIAT) AREF = 0 (or MOVETEST value for DIAT) TYPE = 17 (or 19 for DIAT) (Built by BitPack and CMPT in custom control function for Element control) Written to output driver when NOT Local Switch Set and NOT Output Change Flag. VAL = Process Variable display value (in engineering units) (-9999. to 9999.) 0 100 Position display value (optional DIAT application) (-199.9 to 199.9) Write conditional on DIAT operation. Display conditional on S10-9 switch status in DPU. Setter input display value (in engineering units) Updated to output driver several times per minute when NOT Setter Change Flag true For optional Output Driver Control Station pushbutton light indications per following table (Construct with BitPack block in custom control function) Note: Limit Lights write conditional on S10-5 ON Note: Modes Lights write conditional on S10-6 ON Simulated Module Input (see SimSt parameter) InDrv Status Word Table AutoMan block Auto Mode AutoMan block Auto Active 1 = Reset Mode Change Flag 1 = Reset Output Change Flag Block Output Driver Increase Operation Block Output Driver Decrease Operation Increase Override to Output Driver Decrease Override to Output Driver 1 = Reset Setter Change Flag StatDisplay Table Output Driver (optional) Auto Pushbutton Light Operation Output Driver (optional) Manual Pushbutton Light Operation Output Driver (optional) Increase Pushbutton Light Operation (for limit indication) Output Driver (optional) Decrease Pushbutton Light Operation (for limit indication)

PVDisplay PosDisplay SetDisplay StatDisplay

Float Float Float Integer

SimAI

AutoMode AutoActive ModeChngRst OutputChngRst IncBlock DecBlock IncOvrd DecOvrd SetterChngRst AutoLite ManLite IncLite DecLite

Bit01 Bit02 Bit03 Bit04 Bit05 Bit06 Bit07 Bit08 Bit09 Bit01 Bit02 Bit03 Bit04

Metso Automation 278589

3-29

Function Blocks and Buffers Programmer's Reference and User's Guide


Configuration Parameters Description/Application Buffer Address 1 = On Scan, 0 = Off Scan Use when you need to take the module offline for maintenance. MAX1 PAT Tuning Increase 0 to 100 Travel Time (Sec) Default 5 Sec but should be tuned for optimum behavior. MAX1 PAT Tuning Decrease 100 to 0 Travel Time (Sec) Default 5 Sec but should be tuned for optimum behavior. MAX1 PAT Deadband (%) within which no further output adjustment will be attempted. (Default 1 %, minimum effective value = 0.1%) Output Driver Demand Inc and Dec Rate Limit (%/Sec) (for CAT, PAT, DAT) Default 10 %/Sec (Value is expressed as value between 0 and 1,00 i.e. 0.10 = 10 %/sec) MAX1 PAT Tuning Minimum Inc On-Time (Secs) Default 0.050 Sec MAX1 PAT Tuning Minimum Dec On-Time (Secs) Default 0.050 Sec Part of Setter Pushbutton Acceleration calculation, Not used if Setter is Bias Default 100 Part of Setter Pushbutton Acceleration calculation, Not used if Setter is Bias Default 0 Block Output Driver Increase Operation On Time (Sec.) Default 0 Sec (Disabled) Values should be slightly larger than a multiple of SvcTimeBase scan time in order to be effective with CAT. Block Output Driver Decrease Operation On Time (Sec.) Default 0 Sec (Disabled) Values should be slightly larger than a multiple of SvcTimeBase scan time in order to be effective with CAT. Block Output Driver Decrease Operation On Time Default 0 Sec (Disabled) With Pat sets pulse widthValues should be slightly larger than a multiple of SvcTimeBase scan time in order to be effective with CAT. Block Output Driver Decrease Operation On Time Default 0 Sec (Disabled) Values should be slightly larger than a multiple of SvcTimeBase scan time in order to be effective with CAT. Block Output Driver Decrease Operation On Time Default 0.55 Sec. Values should be slightly larger than a multiple of SvcTimeBase scan time in order to Prevent blinking. Output Driver (optional) Manual Pushbutton Light Operation On Time Default 0.55 Sec. Values should be slightly larger than a multiple of SvcTimeBase scan time in order to Prevent blinking. Output Driver (optional) Increase Pushbutton Light Operation Default 0.55 Sec. Values should be slightly larger than a multiple of SvcTimeBase scan time in order to Prevent blinking. Output Driver (optional) Decrease Pushbutton Light Operation Default 0.55 Sec. Values should be slightly larger than a multiple of SvcTimeBase scan time in order to Prevent blinking. Sim State: 0 = Off, 1 = On using raw counts simulation, 2 On using Output% Sim Status: 0 = Good, 1 = Bad

Name Addr Mode IncStrokeTime DecStrokeTime Deadband RateLimit MinIncPls MinDecPls SetHiLim SetLoLim IncBlockOnTm* DecBlockOnTm* IncOvrdOnTm* DecOvrdOnTm* AutoLiteOnTm ManLiteOnTm IncLiteOnTm DecLiteOnTm SimSt SimStatus

Type Long Enum Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Enum Enum

* Times for blocks and overrides are usually used as multiples of the scan time (SvcTimePeriod) to extend the condition after the initiating bit is turned off. Times, less than one scan, are ineffective for CAT since the output demand from InDrv is immediately written to the output of the module after the time expires. PAT can use the shorter times for the Ovrd condition to attenuate the override rate i.e. shorter pulses than would be used for contiuous override. In either case forceback tracking should be used in the custom function driver to prevent a bounce back after the override-input clears.

3-30

Metso Automation 278589

Function block Category: Buffers


Command Description/Application Acknowledge Alarm Download Configuration parameter values to module (use when parameter values are changed to request immediate download, preempting the lower priority parameter update that is performed several times per minute.)

Name AlmAck DnLdConfig

Type Enum Enum

Configuration Download
Configuration Parameters written to Output Driver: IncMinOnTim DecMinOnTim IncStrokeTime DecStrokeTime Deadband OutHiLim OutLoLim SetHiLim SetLoLim RateLimit General/Standard Description/Application Service Security Scheme Service Priority Service Relative Index Service Time Base for Schd Que HMI Text Parameters Description/Application Generic Name for the buffer as part of the point hierarchy. TagName to directly identify the buffer in other locations, such as in a maxVUE graphics display. Note that for alarming purposes the tagname applies to the buffers communication status with the module and not the values. To tag an individual signal, use an ATag atomic block. Long description to identify the buffer on other displays. Short Description to appear on display logs where space is limited. Alternate long description in another language if necessary. Alternate short description in another language if necessary. Cabinet ID Rack ID Card ID

Name SvcSecScheme SvcPriority SvcRelIdx SvcTimeBase

Type Long Long Long Enum

Name GName TagName

Type Text Text

Desc ShDesc AltDesc AltShDesc Cabinet Rack Card

Text Text Text Text Text Long Long

Enumerated Attributes:
FreezeOut: 0 Working 1 Frozen Mode: 0 Off Scan 1 On Scan SimST:

Metso Automation 278589

3-31

Function Blocks and Buffers Programmer's Reference and User's Guide


0 Not In Simulation Mode 1 In Simulation Mode using Raw Counts 2 In Simulation Mode using Engineering Units SimStatus: 0 Simulated Good Card Status 1 Simulated Bad Card Status SvcTimeBase: 0 Normal 1 High 2 Critical Status: (values given in Hexadecimal)

00000 No Errors 10005 Parity Error on Read of Low Byte 10006 Parity Error on Read of High Byte 20000 Card Not Present/Total Communication Failure 20001 XACK Expected But Not Present 20002 Error on XACK Not Released 20004 ACK and not MACK Expected But Not Detected 20005 Multiple addresses (MACK) detected 20006 ACK and not MACK and not XACK Expected But Not Detected 20008 Error on ACK or MACK Not Released 60001 Error on Bus Address 60002 Error on DI Bus Address 60004 Error on Data Low Byte 70000 DI Address Mask Error Detected 80000 Next DI Address Error 90000 Burst AI Address Error B0000 Error Detected in First Part of Chained Command C0000 Error on Data High Byte Test D0000 Error Detected in Deselect Operation D10001 Buffer Rev Stuck D10002 Buffer Status Stuck D10003 Buffer Schedule Error D10004 Buffer not Able to Schedule D10005 Buffer not Scheduled D10006 Buffer not Being Updated D10007 Buffer to Module Mismatch D10008 Buffer Address Conflict

Configuration Notes:
Outputs
Out = Actual feedback Position for OD Type = PAT or DIAT = InDrvVAL (input) for OD Type CAT or DAT Note: there is a case, when DIAT operation and OD S10-9 set true, where the OD Control Station Position Display follows PosDisplay input. For this case configuration functions that would have used Out must be redirected to the source of PosDisplay by the configuration because Out is not updated to match PosDisplay.IntfcStatus = Output Driver Status Word ElemStatus = Output Driver Block Override Word

3-32

Metso Automation 278589

Function block Category: Buffers


Forceback (FrcBkOut) is constructed as a complex output as follows: Value = Actual Position for OD Type = DIAT = Position Demand for OD Type = CAT, DAT, or PAT Note: there is a case for DIAT operation and OD S10-9 set true where the OD Control Station Position Display follows PosDisplay input. For this case Forceback must be reconstructed in the configuration (with a CMPT block) using the source of PosDisplay because the ODBuffer does not update the Forceback value to match PosDisplay. High Range = 100 Low Range = 0 Auctioneering Reference = 0 Reset = Output Change Flag (makes the signal available without additional input reference)
Status = composite of:

1. 2. 3. 4. 5.

Increase Velocity Limt = 0 Decrease Velocity Limit = 0 Increase Block = Increase Block OR Output High Limit Decrease Block = Decrease Block OR Output Low Limit Value Forceback = Manual Request, Output Change Flag, OR either Override

For applications of OD Type = CAT, DAT, or PAT (positioning to demand) the above forceback signal is referenced by the FrcbkIn of the Output Demand Limiter. For PAT Outputs via OD Type = DIAT the PATOut Freeze logic should include Local Switch Set or ODPushbutton Operation to cause value forceback for the PAT loop during OD manual operation. (When OD Type = DIAT, the Output Change Flag is not set by the Control Station manual operation.)
Setter Forceback (SetterFBOut) is constructed as a complex output as follows: Value = SetDisplay or value from Setter

High Range = SetHiLim parameter Low Range = SetLoLim parameter Auctioneering Reference = 0 Reset = Setter Change Flag
Status = Value Forceback (16) if Setter Change Flag is true

If there is no other forceback application, the above forceback signal is referenced by the FrcbkIn of the Setter Limiter (or Setter AutoMan if no Limiter applied) and no Setter Change Flag Reset logic is required. If there is other forceback application to the DPU setter value, this forceback must be merged with the other forceback conditional on the tracking option(s) selected for the DPU setter value and its condition (AutoActv or ValueForceback). The Setter Change Flag Reset input to the OD Buffer should be true when the DPU setter is not permitted to follow the OD Control Station operation (ValueForceback and ValueForceback track option or AutoActv and Auto track option). The logic status will have to be wired from the setter molecule to the element output control molecule to be combined with the InCtl STAT field.

Inputs
Use CMPT Block to build an OutDrv attribute to be read by InDrv Output Control: For CAT, PAT, DAT InDrvVAL is 0 100% Provide for scaling and constraints in driver Note: while Output Change Flag true, the Output Driver is controling the Output. The buffer then reads it for forceback. For DIAT operation: InDrvRST and AREF fields are used as Move and MoveTest from PATOut Block. Check Output Driver programming for scaling and constraints.

Metso Automation 278589

3-33

Function Blocks and Buffers Programmer's Reference and User's Guide


Mode Change Coordination Use BitPack to assemble the bits for the Force_Status parameter of the CMPT being used to build the OutDrvSTAT attribute The AutoMode (1bit) will control the Module ODAuto/ODMan (32bit and 16bit in the ElemStatus). The light behind the auto button ill come on if the AutoActive (2bit) is also True. The InDrvSTAT ModeChngRst (4bit) shoule be set equal to ModeChange input to confirm complete configuration. (the mode change should be reset to prevent remembered mode change request when the mode change is blocked.) Derive the other ChngRst bits and the logic bits as appropriate to your control strategy.

3-34

Metso Automation 278589

Function block Category: Buffers

Positioning Buffer (PB)


Atomic block Category: Buffers

Overview
The PB buffer is used for communicating with the positioning module, and provides configuration parameters, inputs, outputs, and status related to the module. Note that the PB buffer is supported only in the DPU4F model of the maxDPU. The Positioning module executes custom logic prepared in a programming language that is first compiled and then downloaded via serial cable to flash memory. This custom logic when combined with one of a family of Termination cards implements an application such as Turbine Valve control. Refer to the maxPAC Positioning Module Programming Guide and the maxPAC Hardware Reference Guide.

Creating Simulated Points


This atomic block also includes a set of simulation parameters to allow you to create a simulated point environment for system checkout and testing. When you set the SimST parameters to 1, the DPU uses entered simulated point values rather than actual values from attached I/O. Additional atributes exist to enter simulated values.

Attributes
Configuration Parameters: Attribute Category Addr SvcPriority SvcTimeBase FailOverTyp Mode Personality AParam01 08 FAParam01 02 DParam01 08 FDParam01 08 Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Type Long Long Enum Enum Enum Enum Float Float Boolean Boolean Description/Application Bus Address: 2 254 (even multiple of 2), 258 unassigned. Service Priority: 0 100. Execution Time Base: 1 Critical, 2 High, 3 Normal. DPU failover type: 0 NonCritical, 1 Normal, 2 Critical. I/O Bus Scan Mode: 0 Off, 1 On. Index selection of stored logic to execute (0-8). Analog parameters sent to the module as inputs to the logic. Fast analog parameters sent to the module as inputs to the logic. Digital parameters sent to the module as inputs to the logic. Fast digital parameters sent to the module as inputs to the logic.

Metso Automation 278589

3-35

Function Blocks and Buffers Programmer's Reference and User's Guide

HMI Parameters: Attribute Gname TagName Desc ShDesc AltDesc AltShDesc Cabinet Rack Card I/O and Status: Attribute AI01 04 DI01 08 AO01 04 DO01 08 AStat01 08 FAStat01 02 DStat01 08 FDStat01 08 Identity Version Overruns Alarming: Attribute Alm_Ack AlarmText AltAlarmText AlmTime Acked AnyAlarm Defeat Simulation: Attribute SimST SimStatus SimAI01 04 SimAO01 04 SimAStat01 08 SimFAStat01- 02 SimDIDOWord SimDStatWord Misc. Status: Attribute Status CardType

Category Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter

Type Text Text Text Text Text Text Text Long Long

Description/Application Generic Name TagName Description Short Description Alternate Description Alternate Short Description Cabinet ID Rack ID Card ID

Category Status Status Status Status Status Status Status Status Status Status Status

Type Float Boolean Float Boolean Float Float Boolean Boolean Text Text Text

Description/Application Physical input values read on the module, scaled as 0 100%. Physical input values read on the module. Analog output values written from the logic to the AOs , scaled as 0 100%. Digital output values written from the logic to the DOs. Analog status values written by the logic. Fast analog status values written by the logic. Digital status values written by the logic. Fast digital status values written by the logic. Object file Name text of Personality object selected Object file date of Personality object selected. Count of logic execution cycle overruns.

Category Command Status Status Status Status Status Parameter

Type Boolean Text Text Time Boolean Boolean Boolean

Description/Application Acknowledge Alarm Alarm Description Alternate Alarm Description Time of alarm State of Alarm Acknowledge 0 No Alarm, 1 Alarm Disable alarming when true

Category Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter

Type Enum Enum Float Float Float Float Float Float

Description/Application Simulation State: 0 Off, 1 On Simulation Quality Status: 0 Good, 1 Bad Simulation values for the AIs. Simulation values for the AOs. Simulation values for the AStats. Simulation values for the FAStats. Bit packed simulation values for the DI / DO. Bit packed simulation values for the FDStats / DStats.

Category Status Status

Type Long Long

Description/Application Board Status Module model number

3-36

Metso Automation 278589

Function block Category: Buffers


Revision Date Checksum Status Status Status Long Long Long Revision level of module firmware Day and Month of the revision of the module firmware Checksum of the firmware in the module

Special note: The 4 sets of attributes labeled FAParam, FDParam, FAStat, and FDStat are denoted as Fast. The meaning of this is related to the SvcTimeBase attribute value assignment. When set to Critical these select attribute values are exchanged with the module at the DPMS CriticalTimer rate matching the buffer execution rate. All other values are exchanged no faster than the HighTimer rate, based on the SvcTimeBase assignment, even when Critical is selected. However, caution should be exercised in making this assignment, as the total complement of I/O cards assignable to a DPU may become limited by the I/O bus load capability. Refer to the I/O Bus Configuration Tool for estimating load capacity.

Metso Automation 278589

3-37

Function Blocks and Buffers Programmer's Reference and User's Guide

Pulse I/O Buffer (PLSIO)


Atomic block Category: Buffers

WriteRa1 through Ra8

I/O Pulse Buffer

Ra1 through Ra8

WriteRb1 through Rb8

Rb1 through Rb8

WriteRa1Bufr through Ra8

WriteRb1Bufr through Rb8

Graphical Configurator Diagram

Overview
Use this buffer to perform:

Up/down pulse counting and timing Pulse width and pulse interval measurements. Frequency and frequency ratio measurements. Pulse train outputs. Timed outputs. Duration Adjusting Type Outputs. Single phase and two phase frequency outputs.

Creating Simulated Points

3-38

Metso Automation 278589

Function block Category: Buffers


This atomic block also includes a set of simulation parameters to allow you to create a simulated point environment for system checkout and testing. When you set the SimST parameters to 1, the DPU uses entered simulated point values rather than actual values from attached I/O. SimStatus, another simulation parameter, lets you simulate hardware problems. In addition, the buffer includes the following other parameters: Addr Alt ShDesc AltDesc Desc Gname Mode Enter a buffer address Enter an alternate short description in another language if necessary. Enter an alternate long description in another language if necessary. Enter a long description to identify the buffer on other displays. Enter a generic name for the buffer if it will be configured as part of a point hierarchy. The mode is set to 1 to allow the DPU to actively scan the associated I/O module. Set the parameter to 0 for off scan when you need to take the module offline for maintenance. Set this parameter to 1 if the associated module is part of a redundant configuration; otherwise, set the parameter to 0 for non-redundant I/O. Enter a short description to appear on display logs where space is limited. Enter a tagname to identify the buffer in other locations, such as in a maxVUE graphics display. Note that the tagname applies to all the signals associated with the buffer. To tag an individual signal, use an Atag atomic block.

RedundantIO ShDesc Tagname

Attributes
Attribute Alm_Ack SloCntRa01 SLoCntRa02 SLoCntRa03 SLoCntRa04 SLoCntRa05 SLoCntRa06 SLoCntRa07 SLoCntRa08 SLoCntRb01 SLoCntRb02 SLoCntRb03 SLoCntRb04 SLoCntRb05 SLoCntRb06 SLoCntRb07 SLoCntRb08 Category Command Command Command Command Command Command Command Command Command Command Command Command Command Command Command Command Command Description Clears Unacknowledged state Calibrate Lo Rng Cnts for Ra 01 Calibrate Lo Rng Cnts for Ra 02 Calibrate Lo Rng Cnts for Ra 03 Calibrate Lo Rng Cnts for Ra 04 Calibrate Lo Rng Cnts for Ra 05 Calibrate Lo Rng Cnts for Ra 06 Calibrate Lo Rng Cnts for Ra 07 Calibrate Lo Rng Cnts for Ra 08 Calibrate Lo Rng Cnts for Rb 01 Calibrate Lo Rng Cnts for Rb 02 Calibrate Lo Rng Cnts for Rb 03 Calibrate Lo Rng Cnts for Rb 04 Calibrate Lo Rng Cnts for Rb 05 Calibrate Lo Rng Cnts for Rb 06 Calibrate Lo Rng Cnts for Rb 07 Calibrate Lo Rng Cnts for Rb 08 Data Type Boolean Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer

Metso Automation 278589

3-39

Function Blocks and Buffers Programmer's Reference and User's Guide


SHiCntRa01 SHiCntRa02 SHiCntRa03 SHiCntRa04 SHiCntRa05 SHiCntRa06 SHiCntRa07 SHiCntRa08 SHiCntRb01 SHiCntRb02 SHiCntRb03 SHiCntRb04 SHiCntRb05 SHiCntRb06 SHiCntRb07 SHiCntRb08 WriteRa1 WriteRa2 WriteRa3 WriteRa4 WriteRa5 WriteRa6 WriteRa7 WriteRa8 WriteRb1 WriteRb2 WriteRb3 WriteRb4 WriteRb5 WriteRb6 WriteRb7 WriteRb8 WriteRa1Bufr WriteRa2Bufr WriteRa3Bufr WriteRa4Bufr WriteRa5Bufr WriteRa6Bufr WriteRa7Bufr WriteRa8Bufr WriteRb1Bufr WriteRb2Bufr WriteRb3Bufr WriteRb4Bufr WriteRb5Bufr WriteRb6Bufr WriteRb7Bufr WriteRb8Bufr Ra1 Ra2 Ra3 Ra4 Ra5 Command Command Command Command Command Command Command Command Command Command Command Command Command Command Command Command Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Output Output Output Output Output Calibrate Hi Rng Cnts for Ra 01 Calibrate Hi Rng Cnts for Ra 02 Calibrate Hi Rng Cnts for Ra 03 Calibrate Hi Rng Cnts for Ra 04 Calibrate Hi Rng Cnts for Ra 05 Calibrate Hi Rng Cnts for Ra 06 Calibrate Hi Rng Cnts for Ra 07 Calibrate Hi Rng Cnts for Ra 08 Calibrate Hi Rng Cnts for Rb 01 Calibrate Hi Rng Cnts for Rb 02 Calibrate Hi Rng Cnts for Rb 03 Calibrate Hi Rng Cnts for Rb 04 Calibrate Hi Rng Cnts for Rb 05 Calibrate Hi Rng Cnts for Rb 06 Calibrate Hi Rng Cnts for Rb 07 Calibrate Hi Rng Cnts for Rb 08 Write to I/O Register a1 if true Write to I/O Register a2 if true Write to I/O Register a3 if true Write to I/O Register a4 if true Write to I/O Register a5 if true Write to I/O Register a6 if true Write to I/O Register a7 if true Write to I/O Register a8 if true Write to I/O Register b1 if true Write to I/O Register b2 if true Write to I/O Register b3 if true Write to I/O Register b4 if true Write to I/O Register b5 if true Write to I/O Register b6 if true Write to I/O Register b7 if true Write to I/O Register b8 if true Write to Ra1 if WriteRa1 true Write to Ra2 if WriteRa2 true Write to Ra3 if WriteRa3 true Write to Ra4 if WriteRa4 true Write to Ra5 if WriteRa5 true Write to Ra6 if WriteRa6 true Write to Ra7 if WriteRa7 true Write to Ra8 if WriteRa8 true Write to Rb1 if WriteRb1 true Write to Rb2 if WriteRb2 true Write to Rb3 if WriteRb3 true Write to Rb4 if WriteRb4 true Write to Rb5 if WriteRb5 true Write to Rb6 if WriteRb6 true Write to Rb7 if WriteRb7 true Write to Rb8 if WriteRb8 true I/O Register a Channel 1 I/O Register a Channel 2 I/O Register a Channel 3 I/O Register a Channel 4 I/O Register a Channel 5 Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float

3-40

Metso Automation 278589

Function block Category: Buffers


Ra6 Ra7 Ra8 Rb1 Rb2 Rb3 Rb4 Rb5 Rb6 Rb7 Rb8 UserRef FailoverTyp Mode SimST Addr Cabinet Rack Card TagName GName Defeat LoCntRa01 LoCntRa02 LoCntRa03 LoCntRa04 LoCntRa05 LoCntRa06 LoCntRa07 LoCntRa08 LoCntRb01 LoCntRb02 LoCntRb03 LoCntRb04 LoCntRb05 LoCntRb06 LoCntRb07 LoCntRb08 HiCntRa01 HiCntRa02 HiCntRa03 HiCntRa04 HiCntRa05 HiCntRa06 HiCntRa07 HiCntRa08 HiCntRb01 HiCntRb02 HiCntRb03 HiCntRb04 HiCntRb05 HiCntRb06 HiCntRb07 Output Output Output Output Output Output Output Output Output Output Output Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter I/O Register a Channel 6 I/O Register a Channel 7 I/O Register a Channel 8 I/O Register b Channel 1 I/O Register b Channel 2 I/O Register b Channel 3 I/O Register b Channel 4 I/O Register b Channel 5 I/O Register b Channel 6 I/O Register b Channel 7 I/O Register b Channel 8 User Obj supplying Alarm Text Noncritical = 0 Normal = 1 Critical = 2 1 = On Scan, 0 = Off Scan Sim State: 1 = On, 0 = Off Buffer Address Cabinet ID Rack ID Card ID TagName Generic Name Disable alarming when true (DPU4F only) Low Range Counts for Ra 01 Low Range Counts for Ra 02 Low Range Counts for Ra 03 Low Range Counts for Ra 04 Low Range Counts for Ra 05 Low Range Counts for Ra 06 Low Range Counts for Ra 07 Low Range Counts for Ra 08 Low Range Counts for Rb 01 Low Range Counts for Rb 02 Low Range Counts for Rb 03 Low Range Counts for Rb 04 Low Range Counts for Rb 05 Low Range Counts for Rb 06 Low Range Counts for Rb 07 Low Range Counts for Rb 08 High Range Counts for Ra 01 High Range Counts for Ra 02 High Range Counts for Ra 03 High Range Counts for Ra 04 High Range Counts for Ra 05 High Range Counts for Ra 06 High Range Counts for Ra 07 High Range Counts for Ra 08 High Range Counts for Rb 01 High Range Counts for Rb 02 High Range Counts for Rb 03 High Range Counts for Rb 04 High Range Counts for Rb 05 High Range Counts for Rb 06 High Range Counts for Rb 07 Float Float Float Float Float Float Float Float Float Float Float Integer Float Boolean Boolean Integer String Integer Integer String String Boolean Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer

Metso Automation 278589

3-41

Function Blocks and Buffers Programmer's Reference and User's Guide


HiCntRb08 SimRa1 SimRa2 SimRa3 SimRa4 SimRa5 SimRa6 SimRa7 SimRa8 SimRb1 SimRb2 SimRb3 SimRb4 SimRb5 SimRb6 SimRb7 SimRb8 SimStatus Desc ShDesc AltDesc AltShDesc RedundantIO AlarmText AltAlarmText AlmTime Acked TypeRead Status RawCntRa01 RawCntRa02 RawCntRa03 RawCntRa04 RawCntRa05 RawCntRa06 RawCntRa07 RawCntRa08 RawCntRb01 RawCntRb02 RawCntRb03 RawCntRb04 RawCntRb05 RawCntRb06 RawCntRb07 RawCntRb08 TMode Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status High Range Counts for Rb 08 Simulated Pulse Count Input a1 Simulated Pulse Count Input a2 Simulated Pulse Count Input a3 Simulated Pulse Count Input a4 Simulated Pulse Count Input a5 Simulated Pulse Count Input a6 Simulated Pulse Count Input a7 Simulated Pulse Count Input a8 Simulated Pulse Count Input b1 Simulated Pulse Count Input b2 Simulated Pulse Count Input b3 Simulated Pulse Count Input b4 Simulated Pulse Count Input b5 Simulated Pulse Count Input b6 Simulated Pulse Count Input b7 Simulated Pulse Count Input b8 Sim Status: 0 = Good, 1 = Bad Description Short Description Alternate Description Alternate Short Description Using Redundant I/O if True Alarm description Alt Alarm description Alarm occurrence time Acknowledged state of alarm Card type read data Board Status Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Raw Counts sent to card Text Mode Integer Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Boolean String String String String Boolean String String Time Float Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer String

Enumerated Attributes:
Mode: 0 Off Scan 1 On Scan

3-42

Metso Automation 278589

Function block Category: Buffers


RedundantIO: 0 Not Using Redundant I/O 1 Using Redundant I/O SimST: 0 Not In Simulation Mode 1 In Simulation Mode SimStatus: 0 Simulated Good Card Status 1 Simulated Bad Card Status Status:

00000 No Errors 10005 Parity Error on Read of Low Byte 10006 Parity Error on Read of High Byte 20001 XACK Expected But Not Present 20002 Error on XACK Not Released 20004 ACK and not MACK Expected But Not Detected 20005 Multiple addresses (MACK) detected 20006 ACK and not MACK and not XACK Expected But Not Detected 20008 Error on ACK or MACK Not Released 60001 Error on Bus Address 60002 Error on DI Bus Address 60004 Error on Data Low Byte 70000 DI Address Mask Error Detected 80000 Next DI Address Error 90000 Burst AI Address Error B0000 Error Detected in First Part of Chained Command C0000 Error on Data High Byte Test D0000 Error Detected in Deselect Operation D10001 Buffer Rev Stuck D10002 Buffer Status Stuck D10003 Buffer Schedule Error D10004 Buffer not Able to Schedule D10005 Buffer not Scheduled D10006 Buffer not Being Updated D10007 Buffer to Module Mismatch D10008 Buffer Address Conflict

Metso Automation 278589

3-43

Function Blocks and Buffers Programmer's Reference and User's Guide

Quad Pulse Adjusting Type Buffer (QPAT)


Atomic block Category: Buffers
Graphical Configurator Diagram

Overview
Use the Quad Pulse Adjusting Type buffer to send on-time values to field devices that require timed outputs. To configure this buffer, specify span types for up to 4 channels. Use the type parameters (AITyxx) to specify the following available types:
1 4 to 20 mA 2 20 to4 mA 3 0 to 20 mA 4 20 to 0 mA 10 Custom

When you enter a span type per channel, maxDPUTools automatically fills in high and low range counts. To enter your own custom span type, use 10 for custom (AITyxx = 10). For custom QPAT types, you must enter your own high and low range counts. Use calibrate methods to place a milliampere setting into the Low Count (AILloCnt0x) and High Count (AIHiCnt0x) range parameters. When a calibrate method is invoked, via a write from the HMI, the count value in AISLCnt0x or in AISHCnt0x (command attributes) is placed into the corresponding range parameter.

Creating Simulated Points


This atomic block also includes a set of simulation parameters to allow you to create a simulated point environment for system checkout and testing. When you set the SimST parameters to 1, the DPU uses entered simulated point values rather than actual values from attached I/O. SimStatus, another simulation parameter, lets you simulate hardware problems. Enter values for SIMAIxx, SimMove (position change based on any simulated stroke time), and SimStrokeTimexx (the time needed to open and close a valve). SimStatus, another simulation parameter, lets you simulate hardware problems. In addition, the buffer includes the following other parameters:

3-44

Metso Automation 278589

Function block Category: Buffers


Addr Alt ShDesc AltDesc Desc Gname Mode Enter a buffer address Enter an alternate short description in another language if necessary. Enter an alternate long description in another language if necessary. Enter a long description to identify the buffer on other displays. Enter a generic name for the buffer if it will be configured as part of a point hierarchy. The mode is set to 1 to allow the DPU to actively scan the associated I/O module. Set the parameter to 0 for off scan when you need to take the module offline for maintenance. Set this parameter to 1 if the associated module is part of a redundant configuration; otherwise, set the parameter to 0 for non-redundant I/O. Enter a short description to appear on display logs where space is limited. Enter a tagname to identify the buffer in other locations, such as in a maxVUE graphics display. Note that the tagname applies to all the signals associated with the buffer. To tag an individual signal, use an Atag atomic block.

RedundantIO ShDesc Tagname

Attributes
Attribute Alm_Ack AISLCnt01 AISLCnt02 AISLCnt03 AISLCnt04 AISHCnt01 AISHCnt02 AISHCnt03 AISHCnt04 Move01 Move02 Move03 Move04 MoveTest01 MoveTest02 MoveTest03 MoveTest04 AI01 AI02 AI03 AI04 UserRef FailoverTyp Mode SimST Category Command Command Command Command Command Command Command Command Command Input Input Input Input Input Input Input Input Output Output Output Output Parameter Parameter Parameter Parameter Description Clears Unacknowledged state Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate Low Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Calibrate High Range Counts Stroke time 1 from positioner Stroke time 2 from positioner Stroke time 3 from positioner Stroke time 4 from positioner Positioner index 1 Positioner index 2 Positioner index 3 Positioner index 4 Value of AI 1 Value of AI 2 Value of AI 3 Value of AI 4 User Obj supplying Alarm Text Noncritical = 0 Normal = 1 Critical = 2 1 = On Scan, 0 = Off Scan Sim State: 1 = On, 0 = Off Data Type Boolean Integer Integer Integer Integer Integer Integer Integer Integer Float Float Float Float Integer Integer Integer Integer Float Float Float Float Integer Float Boolean Boolean

Metso Automation 278589

3-45

Function Blocks and Buffers Programmer's Reference and User's Guide


Addr Cabinet Rack Card TagName SimStrokeTim01 SimStrokeTim02 SimStrokeTim03 SimStrokeTim04 AITy01 AITy02 AITy03 AITy04 AILoCnt01 AILoCnt02 AILoCnt03 AILoCnt04 AIHiCnt01 AIHiCnt02 AIHiCnt03 AIHiCnt04 SIMAI01 SIMAI02 SIMAI03 SIMAI04 GName SimMove01 SimMove02 SimMove03 SimMove04 SimStatus Desc ShDesc AltDesc AltShDesc RedundantIO AlarmText AltAlarmText AlmTime Acked Defeat Status TypeRead Out01 Out02 Out03 Out04 AIRawCnt01 AIRawCnt02 AIRawCnt03 AIRawCnt04 FreezeOut01 Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Status Status Status Status Parameter Status Status Status Status Status Status Status Status Status Status Status Buffer Address Cabinet ID Rack ID Card ID TagName Simulated stroke time 1 Simulated stroke time 2 Simulated stroke time 3 Simulated stroke time 4 Span Type Span Type Span Type Span Type Low Range Counts Low Range Counts Low Range Counts Low Range Counts High Range Counts High Range Counts High Range Counts High Range Counts Value of Sim AI 1 Value of Sim AI 2 Value of Sim AI 3 Value of Sim AI 4 Generic Name Pos chng based on SimStrokeTim01 Pos chng based on SimStrokeTim02 Pos chng based on SimStrokeTim03 Pos chng based on SimStrokeTim04 Sim Status: 0 = Good, 1 = Bad Description Short Description Alternate Description Alternate Short Description Using Redundant I/O if True Alarm description Alt Alarm description Alarm occurrence time Acknowledged state of alarm Disable alarming when true (DPU4F only) Board Status Card type read data Pulse time 1 Pulse time 2 Pulse time 3 Pulse time 4 Raw Counts Raw Counts Raw Counts Raw Counts Freeze Out01 if TRUE Integer String Integer Integer String Rel Time Rel Time Rel Time Rel Time Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Float Float Float Float String Float Float Float Float Boolean String String String String Boolean String String Time Float Boolean Integer Integer Rel Time Rel Time Rel Time Rel Time Integer Integer Integer Integer Boolean

3-46

Metso Automation 278589

Function block Category: Buffers


FreezeOut02 FreezeOut03 FreezeOut04 Out01Compare Out02Compare Out03Compare Out04Compare Tmode Status Status Status Status Status Status Status Status Enumerated Attributes: AITyXX: 1 4 to 20 mA 2 20 to4 mA 3 0 to 20 mA 4 20 to 0 mA 10 Custom
Mode: 0 Off Scan 1 On Scan RedundantIO: 0 Not Using Redundant I/O 1 Using Redundant I/O SimST: 0 Not In Simulation Mode 1 In Simulation Mode SimStatus: 0 Simulated Good Card Status 1 Simulated Bad Card Status Status:

Freeze Out02 if TRUE Freeze Out03 if TRUE Freeze Out04 if TRUE Pulse time 1 during freeze Pulse time 2 during freeze Pulse time 3 during freeze Pulse time 4 during freeze Text Mode

Boolean Boolean Boolean Rel Time Rel Time Rel Time Rel Time String

00000 No Errors 10005 Parity Error on Read of Low Byte 10006 Parity Error on Read of High Byte 20001 XACK Expected But Not Present 20002 Error on XACK Not Released 20004 ACK and not MACK Expected But Not Detected 20005 Multiple addresses (MACK) detected 20006 ACK and not MACK and not XACK Expected But Not Detected 20008 Error on ACK or MACK Not Released 60001 Error on Bus Address 60002 Error on DI Bus Address 60004 Error on Data Low Byte 70000 DI Address Mask Error Detected 80000 Next DI Address Error 90000 Burst AI Address Error B0000 Error Detected in First Part of Chained Command C0000 Error on Data High Byte Test D0000 Error Detected in Deselect Operation D10001 Buffer Rev Stuck D10002 Buffer Status Stuck

Metso Automation 278589

3-47

Function Blocks and Buffers Programmer's Reference and User's Guide


D10003 Buffer Schedule Error D10004 Buffer not Able to Schedule D10005 Buffer not Scheduled D10006 Buffer not Being Updated D10007 Buffer to Module Mismatch D10008 Buffer Address Conflict

3-48

Metso Automation 278589

Function block Category: Buffers

Resistance Temperature Detector Buffer (RTD)


Atomic block Category: Buffers

Graphical Configurator Diagram

Overview
Use the Resistance Temperature Detector Buffer (RTD) to make temperature signals from RTD input cards available for use by the algorithms. To configure this buffer, specify signal types for up to 8 channels. Use the signal type parameters (SigTypxx) to specify a type, where xx is the channel number from 01 to 08. Refer to the enumerated attributes section at the end of this section for a listing of available signal types. Each output quality is normally good, set to bad when: 1. The buffer cannot communicate with the module (all outputs bad quality). 2. An open circuit in the resistance thermodetector bridge is detected.

Creating Simulated Points


This atomic block also includes a set of simulation parameters to allow you to create a simulated point environment for system checkout and testing. When you set the SimST parameters to 1, the DPU uses entered simulated point values rather than actual values from attached I/O. SimStatus, another simulation parameter, lets you simulate hardware problems. In addition, the buffer includes the following other parameters: Addr Alt ShDesc AltDesc Desc Gname Mode Enter a buffer address Enter an alternate short description in another language if necessary. Enter an alternate long description in another language if necessary. Enter a long description to identify the buffer on other displays. Enter a generic name for the buffer if it will be configured as part of a point hierarchy. The mode is set to 1 to allow the DPU to actively scan the associated I/O module. Set the parameter to 0 for off scan when you need to take the module offline for maintenance.

Metso Automation 278589

3-49

Function Blocks and Buffers Programmer's Reference and User's Guide


RedundantIO ShDesc Tagname Set this parameter to 1 if the associated module is part of a redundant configuration; otherwise, set the parameter to 0 for non-redundant I/O. Enter a short description to appear on display logs where space is limited. Enter a tagname to identify the buffer in other locations, such as in a maxVUE graphics display. Note that the tagname applies to all the signals associated with the buffer. To tag an individual signal, use an Atag atomic block.

Attributes
Attribute Alm_Ack In01 In02 In03 In04 In05 In06 In07 In08 UserRef FailoverTyp maxPAC Mode SimST Addr Cabinet Rack Card TagName SimIn01 SimIn02 SimIn03 SimIn04 SimIn05 SimIn06 SimIn07 SimIn08 SigTyp01 SigTyp02 SigTyp03 SigTyp04 SigTyp05 SigTyp06 SigTyp07 SigTyp08 Gname SimStatus Desc ShDesc Category Command Output Output Output Output Output Output Output Output Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Description Clears Unacknowledged state RTD Input 01 RTD Input 02 RTD Input 03 RTD Input 04 RTD Input 05 RTD Input 06 RTD Input 07 RTD Input 08 User Obj supplying Alarm Text Noncritical = 0 Normal = 1 Critical = 2 0 =Burst 1= maxPAC style 3 = NonBurst 1 = On Scan, 0 = Off Scan Sim State: 1 = On, 0 = Off Buffer Address Cabinet ID Rack ID Card ID TagName Simulated RTD Input 01 Simulated RTD Input 02 Simulated RTD Input 03 Simulated RTD Input 04 Simulated RTD Input 05 Simulated RTD Input 06 Simulated RTD Input 07 Simulated RTD Input 08 RTD 01 Type RTD 02 Type RTD 03 Type RTD 04 Type RTD 05 Type RTD 06 Type RTD 07 Type RTD 08 Type Generic Name Sim Status: 0=Good, 1=Bad Description Short Description Data Type Boolean Float Float Float Float Float Float Float Float Integer Float Integer Boolean Boolean Integer String Integer Integer String Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer String Boolean String String

3-50

Metso Automation 278589

Function block Category: Buffers


AltDesc AltShDesc RedundantIO AlarmText AltAlarmText AlmTime Acked Defeat TypeRead Status SigStatus01 SigStatus02 SigStatus03 SigStatus04 SigStatus05 SigStatus06 SigStatus07 SigStatus08 AltTSigTyp01 AltTSigTyp02 AltTSigTyp03 AltTSigTyp04 AltTSigTyp05 AltTSigTyp06 AltTSigTyp07 AltTSigTyp08 TsigTyp01 TsigTyp02 TsigTyp03 TsigTyp04 TsigTyp05 TsigTyp06 TsigTyp07 TsigTyp08 Tmode Parameter Parameter Parameter Status Status Status Status Parameter Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Alternate Description Alternate Short Description Using Redundant I/O if True Alarm description Alt Alarm description Alarm occurrence time Acknowledged state of alarm Disable alarming when true (DPU4F only) Card type read data Board Status RTD 01 Status RTD 02 Status RTD 03 Status RTD 04 Status RTD 05 Status RTD 06 Status RTD 07 Status RTD 08 Status RTD 01 Alt. Type Text RTD 02 Alt. Type Text RTD 03 Alt. Type Text RTD 04 Alt. Type Text RTD 05 Alt. Type Text RTD 06 Alt. Type Text RTD 07 Alt. Type Text RTD 08 Alt. Type Text RTD 01 Type Text RTD 02 Type Text RTD 03 Type Text RTD 04 Type Text RTD 05 Type Text RTD 06 Type Text RTD 07 Type Text RTD 08 Type Text Text Mode String String Boolean String String Time Float Boolean Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer String String String String String String String String String String String String String String String String String

Enumerated Attributes:
Mode: 0 Off Scan 1 On Scan RedundantIO: 0 Not Using Redundant I/O 1 Using Redundant I/O SimST: 0 Not In Simulation Mode 1 In Simulation Mode SimStatus: 0 Simulated Good Card Status 1 Simulated Bad Card Status

Metso Automation 278589

3-51

Function Blocks and Buffers Programmer's Reference and User's Guide

SigStatusXX: 0 Signal OKay 1 Singnal Over Range 2 Singnal Under Range 3 Open Circuit 4 Card Failure 5 Unknown Failure SigTypXX: 101 - 100 Ohm Platinum a 385 (Degrees F) 102 - 10 Ohm Copper (Degrees F) 103 - 10 Ohm Platinum (Degrees F) 104 - 25 Ohm Platinum (Degrees F) 105 - 100 Ohm Nickel IPTS 68 (Degrees F) 106 - 100 Ohm Copper 25C (Degrees F) 107 - 1000 Ohm Platinum (Degrees F) 108 - 100 Ohm Platinum a 3902 (Degrees F) 109 - 100 Ohm Platinum a 392 (Degrees F) 110 - 98 13 Ohm Platinum (Degrees F) 111 - 100 Ohm Platinum a 3916 (Degrees F) 112 - 25 5 Ohm Platinum (Degrees F) 113 - 100 Ohm Copper a 427 (Degrees F) 114 - 50 Ohm Copper (Degrees F) 115 - 9 035 Ohm Copper (Degrees F) 116 - 100 Ohm Nickel a 618 (Degrees F) 117 - 120 Ohm Nickel (Degrees F) 118 - 604 Ohm Nickel Iron (Degrees F) 119 - 1000 Ohm Nickel Iron (Degrees F) 201 - 100 Ohm Platinum a 385 (Degrees C) 202 - 10 Ohm Copper (Degrees C) 203 - 10 Ohm Platinum (Degrees C) 204 - 25 Ohm Platinum (Degrees C) 205 - 100 Ohm Nickel IPTS 68 (Degrees C) 206 - 100 Ohm Copper 25C (Degrees C) 207 - 1000 Ohm Platinum (Degrees C) 208 - 100 Ohm Platinum a 3902 (Degrees C) 209 - 100 Ohm Platinum a 392 (Degrees C) 210 - 98 13 Ohm Platinum (Degrees C) 211 - 100 Ohm Platinum a 3916 (Degrees C) 212 - 25 5 Ohm Platinum (Degrees C) 213 - 100 Ohm Copper a 427 (Degrees C) 214 - 50 Ohm Copper (Degrees C) 215 - 9 035 Ohm Copper (Degrees C) 216 - 100 Ohm Nickel a 618 (Degrees C) 217 - 120 Ohm Nickel (Degrees C) 218 - 604 Ohm Nickel Iron (Degrees C) 219 - 1000 Ohm Nickel Iron (Degrees C) Status:

00000 No Errors 10005 Parity Error on Read of Low Byte 10006 Parity Error on Read of High Byte 20001 XACK Expected But Not Present 20002 Error on XACK Not Released 20004 ACK and not MACK Expected But Not Detected 20005 Multiple addresses (MACK) detected 20006 ACK and not MACK and not XACK Expected But Not Detected 20008 Error on ACK or MACK Not Released

3-52

Metso Automation 278589

Function block Category: Buffers


60001 Error on Bus Address 60002 Error on DI Bus Address 60004 Error on Data Low Byte 70000 DI Address Mask Error Detected 80000 Next DI Address Error 90000 Burst AI Address Error B0000 Error Detected in First Part of Chained Command C0000 Error on Data High Byte Test D0000 Error Detected in Deselect Operation D10001 Buffer Rev Stuck D10002 Buffer Status Stuck D10003 Buffer Schedule Error D10004 Buffer not Able to Schedule D10005 Buffer not Scheduled D10006 Buffer not Being Updated D10007 Buffer to Module Mismatch D10008 Buffer Address Conflict

Metso Automation 278589

3-53

Function Blocks and Buffers Programmer's Reference and User's Guide

Serial Buffer

Detailed Description:

Serial Buffer

PortError

The main purpose of the Serial Buffer is to provide the serial communications capabilities through the maxDPUs serial ports. The buffer alone is not sufficient to meet all the remote link requirements. There may be two ways to access serial port through the buffer. First method is to write an application and to implement the serial protocol. Second method would be to utilize the new maxLINKs Transport Library, which will access the buffer instead of maxLINKs' serial port for communications with external devices. The built in Helper libraries would be used for the various protocols. The performance of the Serial Buffer will be more limited than maxLINKs. The serial buffer is a communication channel between the application and the maxDPU serial ports. It buffers the received and sent characters. 1K buffer barrels are provided for read and write separately for each port. The character string written to the OutStr attribute is stored in the write barrel, which in turn is sent to the serial port assigned. The read characters are stored in the read barrel and sent to the Workstations application on subscription/read to the InpStr attribute. Currently, only serial port one (SER1) is fully supported in the DPU; therefore, only one Serial Buffer should be configured in a DPU. In the future, a maximum of two Serial Buffers could be configured to communicate with two serial ports of a maxDPU. If more than two were configured, then the others would not get access to the serial ports More details of the Serial Buffers attributes:

3-54

Metso Automation 278589

Function block Category: Buffers

Attributes
Name OutStr Type PCHAR Hidden Description/Application Serial Output String to be written to Serial Port. (Write only)
This is a hidden attribute and can be accessed under program control. A write to this attribute (an unsigned character string) will send the characters to the serial port. The maximum size of the write string is 400 bytes.

InpStr

PCHAR

Name PortError

Type Float

Name BytesIn

Type Long

BytesOut

Long

Serial Input String read from Serial Port. (Read / Subscribe only) This is a hidden attribute and can be accessed under program control. Any character received at the serial port (an unsigned character string) will be given at this attribute. The maximum size of the read string is 400 bytes. Output Description/Application Port Error Code. A non-zero value indicates an abnormal condition at the port. The description of the condition will be available in the PortErrorText attribute. It can be cleared by writing 1 to the ClearStat attribute. Status Description/Application Number of Bytes In. A cumulative statistic indicating the number of bytes read by the buffer since last creation or ClearStat command. It can be cleared by writing 1 to the ClearStat attribute. Number of Bytes Out A cumulative statistic indicating the number of the bytes written by the buffer since last creation or ClearStat command. It can be cleared by writing 1 to the ClearStat attribute.
Port Status

PortStatus

Float

Tmode AlarmText AltAlarmText AlmTime Alm_Ack Acked RxTimeOut

String String String Time Float Float Long

1 Serial buffer has access to its read / write threads. This means that the buffer currently can communicate with the configured serial port unless the port is also being used by another Serial Buffer. If the port is used by any other buffer or unavailable, an error will be displayed. 0 Serial buffer does not have access to read / write threads. This means that the buffer currently cannot communicate with the configured port. If the Serial Buffer using the port is deleted, it may get access to serial port. Text Mode Alarm description Alt Alarm description Alarm occurrence time Clears Unacknowledged state Acknowledged state of alarm
Receive Time out count

RxError

Long

Used to timeout the incoming message frame. While receiving characters, the buffer looks for the end of message sequence, if MsgEndSeq attribute is nonblank. If the end of message sequence is found, then the character frame is complete. The completed frame is written to the buffer (InpStr). If there is a delay more than message time out (MsgTimeOut) between two characters, then the received characters so far are terminated with MsgEndSeq characters and written to the buffer (InpStr). In addition, RxTimeOut will be incremented. If MsgEndSeq is blank then it is not used for end of character frame detection. RxTimeOut will not be incremented on timeout. It can be cleared by writing 1 to the ClearStat attribute. Receive Error count including character barrel overrun

Metso Automation 278589

3-55

Function Blocks and Buffers Programmer's Reference and User's Guide


Any error while receiving through the serial port will increment this statistic. This will also be incremented when the read barrel is full. It can be cleared by writing 1 to the ClearStat attribute. Transmit Error count including character barrel overrun Any error while writing to the serial port will increment this statistic. This will also be incremented when the write barrel is full. It can be cleared by writing 1 to the ClearStat attribute. Parameters Description/Application Port, SER1 or SER2 It is a numeric attribute and valid entries are: 1 SER1 port for real maxDPU 2 SER2 port for real maxDPU It refers to workstations serial port COM1 & COM2 in virtual maxDPU. Baud rate, 110 115200 BPS Valid entries are: 110 150 300 600 1200 2400 4800 9600 14400 19200 38400 57600 115200 Number of bits per byte, 5-8 Valid entries are: 5 6 7 8 Refer to note below for restrictions. Parity, NONE - ODD EVEN MARK SPACE It is a numeric attribute and valid entries are: 0 NONE 1 ODD 2 EVEN 3 MARK 4 SPACE Stop Bit,1-1.5-2 It is a numeric attribute and valid entries are: 0 1 bit 1 1.5 bits 2 2 bits Refer to note below for restrictions. Flow Control, NONE-XON/XOFF-CTS/RTS It is a numeric attribute and valid entries are: 0 None 1 Xon/Xoff

TxError

Long

Name PortName

Type Integer

BaudRate

Integer

ByteSize

Integer

Parity

Integer

StopBits

Integer

FlowCtrl

Integer

3-56

Metso Automation 278589

Function block Category: Buffers


2 AltDesc AltShDesc Desc Gname ShDesc TagName LoopBack String String String String String String Boolean CTS/RTS

Alternate Description Alternate Short Description Description Generic Name Short Description Tag Name
LoopBack Test

Mode UserRef PortErrorText MsgTimeOut

Boolean Integer PCHAR RelTime

MsgEndSeq

PCHAR

Enter 1 to start the loopback test. For the test, a loopback connector is required. Loopback is a continuous test in which a stream of characters ( blank to ~ - tilde) is sent and received by putting a loopback connector on the serial port. Once a complete set of characters is received, the loopback pass count is incremented; otherwise, the loopback fail count is incremented. The status of loopback is displayed in the PortErrorText attribute. Enter 0 to stop the loopback test. If loopback connector is not inserted, the pass and fail count will be 0, because no characters are being received, and Serial Buffer will wait indefinitely for a character to appear at the port. 1 = On Scan, 0 = Off Scan User Obj supplying Alarm Text Port Error Text Explanation text for the PortError attribute value. Message Timeout for end sequence receive While receiving characters, the buffer looks for the end of sequence. If it is found, then the character frame is complete. The complete frame is written to the buffer (InpStr). If there is a delay more than message timeout (MsgTimeOut) between two characters, then the received characters are terminated with end of sequence. RxTimeOut will be incremented. If MsgEndSeq is blank then it is used as an end of character frame detection. RxTimeOut will not be incremented. Message end sequence The hex value of two end of sequence characters. If it is blank, then it is not used while receiving characters.

Note: The following restriction applies to ByteSize and BaudRate: The number of data bits must be 5 to 8 bits. The use of 5 data bits with 2 stop bits is an invalid combination, as is 6, 7, or 8 data bits with 1.5 stop bits. Commands Name Flush Type Command Description/Application Purge Characters from barrel. 1 Input, 2 Output & 3 Both barrels It is a numeric attribute and valid commands are: 1 Input / Read barrel only 2 Output / write barrel only 3 Both / Read & Write barrels. Reset Statistics and Error By writing 1 to this attribute, the statistics and error can be reset.

ClearStats

Command

Example of using a Serial Buffer through an Application

Metso Automation 278589

3-57

Function Blocks and Buffers Programmer's Reference and User's Guide


1. Connect (wire from) the PLC to the maxDPU Serial Port 1, a modem may be required. 2. Use maxDPUTools to configure a Serial Buffer in the DPU setting all the parameters (including TagName). 3. Install the configuration into the DPU (or DPU pair, its nice to have backup). 4. Write an Application that runs in the Workstation and communicates with the PLC via the Serial Buffer. The Application must basically do the following: a) b) c) d) e) <Initialization> Write a 3 to Serial Buffer attribute Flush (Purge Input and Output barrels). Write a 1 to Serial Buffer attribute ClearStats (Reset errors and statistics). Initialize the modem, if applicable. Read the Serial Buffer attribute PortError (confirm no errors before proceeding) Subscribe to the Serial Buffer attribute InpStr with a small maximum time and a large minimum time (e.g., 1/10 sec and 10 sec). <Read PLC data> For each desired PLC Data Item, do the following: (a) Write to the Serial Buffer attribute OutStr the sequence of bytes to send to the PLC, requesting a read of the desired PLC data item. (b) A Subscribe Data Update will occur as a result of the PLC responding with the desired data item. The response SBP Type will be PUBYTE with the number of bytes in the object member m_NumElements (c) Empty Subscribe Data Updates will also occur, and could be ignored. The empty SBP Type will be LONG with a data value of 65547 (d) Random and bursts of errors are to be expected, tolerated, and recorded. However, sustained errors should cause the application to start over with initialization.

Example of Subscribe Data Update code: SBP_UBYTE long short CString char *pu; l; DataType; myvalue; buffer[420]; // Pointer to response data in SBP Object // long type data to check for empty response // data type of the SBP subscribe response // string to hold text about the response // buffer to hold the actual binary PLC response

if(p->m_Status) // check if good or bad { myvalue.Format("Serial Update failure: %xx", p->m_Status); nrBytes = 0; } else { nrBytes = p->m_MessageData.m_NumElements; // number elements

3-58

Metso Automation 278589

Function block Category: Buffers


DataType = p->GetValueType() & ~SBP_QUALITY_TYPE_MASK; switch (DataType) // process via type { case VAR_EMPTY: myvalue = "Value is: (empty)"; nrBytes = 0; break; case VAR_LONG: case VAR_ULONG: p->GetValue(l); // get empty msg value sprintf(buffer,"%d",l); myvalue = "LONG is: "; myvalue += buffer; nrBytes = sizeof(l); break; case VAR_PUBYTE: p->GetValue(pu); // get address of actual data myvalue = "PUBYTE is: "; if (nrBytes == 0) strcpy(buffer, "<empty>"); else { for (i = 0; i < nrBytes; i++) buffer[i] = (char)*pu++; // move binary data to buffer buffer[i] = NULL; // NULL terminate buffer (if text) } myvalue += buffer; break; default: p->GetValue(l); _stprintf(buffer, _T("%x: %ld"), DataType, l); myvalue = "Type not defined "; m_value += buffer; break; } }

Binary PLC Interface


The maxDPU Serial Buffer supports interfacing with both ASCII and binary PLC devices. Interfacing with ASCII PLCs is accomplished in Visual Basic via the normal MCSSbpCtls Write and Read functions. Interfacing with binary PLCs is accomplished via the MCSSbpCtls WritePLC and ReadPLC functions. The WritePLC and ReadPLC are the same as the Write and Read, except the Visual Basic String or Variant contains Hexadecimal characters (instead of ASCII) which are converted to/from binary, between the SBP and the Serial Buffer.

Using TestSerial program


Use the TestSerial program to test a serial link, created using the maxDPU Serial buffer block, in either a virtual or a real maxDPU. the program subscribes to a service (e.g., the InpStr attribute of a Serial buffer) and
Metso Automation 278589 3-59

Function Blocks and Buffers Programmer's Reference and User's Guide


reads or writes to a service (e.g., write the OutStr attribute of a Serial buffer). Note that the Read or Write operations can be asynchronous to the Subscribe operation. When the TestSerial program is initially loaded, it starts running with a subscription to _lss.time. To use the program: 1. Click the Stop button 2. enter a subscribe address, read address, or write address, and then click the Subscribe, Read, or Write button, respectively. 3. The Write HEX button is the same as the Write button, except that the Write Message is first converted from hexadecimal to binary before it is sent to the write address. The Cycle button is used along with a loop back connector on the serial port. The Cycle will write the write message to the write address, then read from the read address until the entire message responds back (or times-out). If the message response times out, the Msg Errors is incremented. Otherwise, the response is compared with the write message. TheMsgDiff is incremented if they are not the same. The following is a snapshot of the Test Serial program dialog display.

3-60

Metso Automation 278589

Function block Category: Buffers


The above example illustrates the following information: The MsgCount displays that a total of 27 subscribe updates (and reads) occurred since the last subscribe was initiated. The Subscribe Addr Edit field provides for entry of the full address to the Serial Buffers input attribute, which was [mcspc102]/group2./#213.InpStr . The Read Address Edit field provides for entry of the full address to the Serial Buffers input attribute, which was [mcspc102]/group2./#213.InpStr . The Write Address Edit field provides for entry of the full address to the Serial Buffers output attribute, which was [mcspc102]/group2./#213.OutStr . The Write Message. Edit field provides for entry of the data to be written to the Serial Buffers output attribute, which was This is a Test Message for Serial maxDPU. The information returned from the DPUs Serial Buffer included the following: PUBYTE is: This is a Test Message for Serial maxDPU. 1 - The 40 defines the number of bytes in the returned message. 2 - The PUBYTE is: defines the SBP Type of the returned message. 3 This is a Test Message for Serial maxDPU.is the actual returned message. 4 LONG is: 65547

1 The 4 defines the number of bytes in the returned message. 2 The LONG is: defines the SBP Type (an empty message) of the returned message. 3 The 65547 defines the message as an empty message (so does the above). The above example was made with a Loop Back connector in the DPUs serial port. The Loop Back connector is wired as follows: Standard 9 pin male connector Jumper from pin1 to pin 5 to pin 6 Jumper from pin 2 to pin 3 Jumper from pin 7 to pin 8
Metso Automation 278589 3-61

Function Blocks and Buffers Programmer's Reference and User's Guide

3-62

Metso Automation 278589

Function block Category: Buffers

Thermocouple Buffer (TC)


Atomic block Category: Buffers

Graphical Configurator Diagram

Overview
Use the Thermocouple Buffer (TC) signal to make temperature signals from thermocouple input cards available for use by the algorithms. To configure this buffer, specify signal types for up to 16 channels. Use the signal type parameters (SigTypxx) to specify a type, where xx is the channel number from 01 to 16. Refer to the enumerated attributes section at the end of this section for a listing of available signal types. You may direct this buffer to use a remote temperature for reference junction compensation by pointing to the temperature source. For example, if the thermocouple reference junction was located in a cabinet remote from the thermocouple module, the remote cabinet temperature could be monitored by RTDs that this buffer may point to. Set the remote cold junction parameter (RmtCJxx parameter) to 1 to perform a remote cold junction calculation; otherwise, set this parameter to 0 to disable. Each output quality is normally good, set to bad when: 1. The buffer cannot communicate with the module (all outputs bad quality). 2. Open thermocouple is detected.

Creating Simulated Points


This atomic block also includes a set of simulation parameters to allow you to create a simulated point environment for system checkout and testing. When you set the SimST parameters to 1, the DPU uses entered simulated point values rather than actual values from attached I/O. SimStatus, another simulation parameter, lets you simulate hardware problems. In addition, the buffer includes the following other parameters: Addr Alt ShDesc AltDesc Enter a buffer address Enter an alternate short description in another language if necessary. Enter an alternate long description in another language if necessary.

Metso Automation 278589

3-63

Function Blocks and Buffers Programmer's Reference and User's Guide


Desc Gname Mode Enter a long description to identify the buffer on other displays. Enter a generic name for the buffer if it will be configured as part of a point hierarchy. The mode is set to 1 to allow the DPU to actively scan the associated I/O module. Set the parameter to 0 for off scan when you need to take the module offline for maintenance. Set this parameter to 1 if the associated module is part of a redundant configuration; otherwise, set the parameter to 0 for non-redundant I/O. Enter a short description to appear on display logs where space is limited. Enter a tagname to identify the buffer in other locations, such as in a maxVUE graphics display. Note that the tagname applies to all the signals associated with the buffer. To tag an individual signal, use an Atag atomic block.

RedundantIO ShDesc Tagname

Attributes
Attribute Alm_Ack RmtCJTemp01 RmtCJTemp02 RmtCJTemp03 RmtCJTemp04 RmtCJTemp05 RmtCJTemp06 RmtCJTemp07 RmtCJTemp08 RmtCJTemp09 RmtCJTemp10 RmtCJTemp11 RmtCJTemp12 RmtCJTemp13 RmtCJTemp14 RmtCJTemp15 RmtCJTemp16 In01 In02 In03 In04 In05 In06 In07 In08 In09 In10 In11 In12 In13 Category Command Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Output Output Output Output Output Output Output Output Output Output Output Output Output Description Clears Unacknowledged state TC 01 Remote Cold Junction Temp TC 02 Remote Cold Junction Temp TC 03 Remote Cold Junction Temp TC 04 Remote Cold Junction Temp TC 05 Remote Cold Junction Temp TC 06 Remote Cold Junction Temp TC 07 Remote Cold Junction Temp TC 08 Remote Cold Junction Temp TC 09 Remote Cold Junction Temp TC 10 Remote Cold Junction Temp TC 11 Remote Cold Junction Temp TC 12 Remote Cold Junction Temp TC 13 Remote Cold Junction Temp TC 14 Remote Cold Junction Temp TC 15 Remote Cold Junction Temp TC 16 Remote Cold Junction Temp TC Input 01 TC Input 02 TC Input 03 TC Input 04 TC Input 05 TC Input 06 TC Input 07 TC Input 08 TC Input 09 TC Input 10 TC Input 11 TC Input 12 TC Input 13 Data Type Boolean Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float

3-64

Metso Automation 278589

Function block Category: Buffers


In14 In15 In16 UserRef FailoverTyp maxPAC Mode SimST Addr Cabinet Rack Card TagName SimIn01 SimIn02 SimIn03 SimIn04 SimIn05 SimIn06 SimIn07 SimIn08 SimIn09 SimIn10 SimIn11 SimIn12 SimIn13 SimIn14 SimIn15 SimIn16 SigTyp01 SigTyp02 SigTyp03 SigTyp04 SigTyp05 SigTyp06 SigTyp07 SigTyp08 SigTyp09 SigTyp10 SigTyp11 SigTyp12 SigTyp13 SigTyp14 SigTyp15 SigTyp16 GName RmtCJ01 RmtCJ02 RmtCJ03 RmtCJ04 RmtCJ05 RmtCJ06 RmtCJ07 Output Output Output Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter TC Input 14 TC Input 15 TC Input 16 User Obj supplying Alarm Text Noncritical = 0 Normal = 1 Critical = 2 0 =Burst 1= maxPAC style 3 = NonBurst 1 = On Scan, 0 = Off Scan Sim State: 1 = On, 0 = Off Buffer Address Cabinet ID Rack ID Card ID TagName Simulated TC Input 01 Simulated TC Input 02 Simulated TC Input 03 Simulated TC Input 04 Simulated TC Input 05 Simulated TC Input 06 Simulated TC Input 07 Simulated TC Input 08 Simulated TC Input 09 Simulated TC Input 10 Simulated TC Input 11 Simulated TC Input 12 Simulated TC Input 13 Simulated TC Input 14 Simulated TC Input 15 Simulated TC Input 16 TC 01 Type TC 02 Type TC 03 Type TC 04 Type TC 05 Type TC 06 Type TC 07 Type TC 08 Type TC 09 Type TC 10 Type TC 11 Type TC 12 Type TC 13 Type TC 14 Type TC 15 Type TC 16 Type Generic Name TC01 Do Rmt Cold Junction Calc TC02 Do Rmt Cold Junction Calc TC03 Do Rmt Cold Junction Calc TC04 Do Rmt Cold Junction Calc TC05 Do Rmt Cold Junction Calc TC06 Do Rmt Cold Junction Calc TC07 Do Rmt Cold Junction Calc Float Float Float Integer Float Integer Boolean Boolean Integer String Integer Integer String Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer String Boolean Boolean Boolean Boolean Boolean Boolean Boolean

Metso Automation 278589

3-65

Function Blocks and Buffers Programmer's Reference and User's Guide


RmtCJ08 RmtCJ09 RmtCJ10 RmtCJ11 RmtCJ12 RmtCJ13 RmtCJ14 RmtCJ15 RmtCJ16 SimStatus Desc ShDesc AltDesc AltShDesc RedundantIO TReason01 TReason02 TReason03 TReason04 TReason05 TReason06 TReason07 TReason08 TReason09 TReason10 TReason11 TReason12 TReason13 TReason14 TReason15 TReason16 Revision AlarmText AltAlarmText AlmTime Acked Defeat CardType Checksum Date TypeRead Status SigStatus01 SigStatus02 SigStatus03 SigStatus04 SigStatus05 SigStatus06 SigStatus07 SigStatus08 SigStatus09 SigStatus10 SigStatus11 Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Parameter Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status TC08 Do Rmt Cold Junction Calc TC09 Do Rmt Cold Junction Calc TC10 Do Rmt Cold Junction Calc TC11 Do Rmt Cold Junction Calc TC12 Do Rmt Cold Junction Calc TC13 Do Rmt Cold Junction Calc TC14 Do Rmt Cold Junction Calc TC15 Do Rmt Cold Junction Calc TC16 Do Rmt Cold Junction Calc Sim Status: 0=Good, 1=Bad Description Short Description Alternate Description Alternate Short Description Using Redundant I/O if True Alarm Reason Text 01 Alarm Reason Text 02 Alarm Reason Text 03 Alarm Reason Text 04 Alarm Reason Text 05 Alarm Reason Text 06 Alarm Reason Text 07 Alarm Reason Text 08 Alarm Reason Text 09 Alarm Reason Text 10 Alarm Reason Text 11 Alarm Reason Text 12 Alarm Reason Text 13 Alarm Reason Text 14 Alarm Reason Text 15 Alarm Reason Text 16 Revision of card Alarm description Alt Alarm description Alarm occurrence time Acknowledged state of alarm Disable alarming when true (DPU4F only) Card Type index Checksum of the revision Date of the revision Card type read data Board Status TC 01 Status TC 02 Status TC 03 Status TC 04 Status TC 05 Status TC 06 Status TC 07 Status TC 08 Status TC 09 Status TC 10 Status TC 11 Status Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean String String String String Boolean String String String String String String String String String String String String String String String String Integer String String Time Float Boolean Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer

3-66

Metso Automation 278589

Function block Category: Buffers


SigStatus12 SigStatus13 SigStatus14 SigStatus15 SigStatus16 AltTSigTyp01 AltTSigTyp02 AltTSigTyp03 AltTSigTyp04 AltTSigTyp05 AltTSigTyp06 AltTSigTyp07 AltTSigTyp08 AltTSigTyp09 AltTSigTyp10 AltTSigTyp11 AltTSigTyp12 AltTSigTyp13 AltTSigTyp14 AltTSigTyp15 AltTSigTyp16 TsigTyp01 TsigTyp02 TsigTyp03 TsigTyp04 TsigTyp05 TsigTyp06 TsigTyp07 TSigTyp08 TSigTyp09 TSigTyp10 TSigTyp11 TSigTyp12 TSigTyp13 TSigTyp14 TSigTyp15 TSigTyp16 TMode Status TC 12 Status Status TC 13 Status Status TC 14 Status Status TC 15 Status Status TC 16 Status Status TC 01 Alt. Type Text Status TC 02 Alt. Type Text Status TC 03 Alt. Type Text Status TC 04 Alt. Type Text Status TC 05 Alt. Type Text Status TC 06 Alt. Type Text Status TC 07 Alt. Type Text Status TC 08 Alt. Type Text Status TC 09 Alt. Type Text Status TC 10 Alt. Type Text Status TC 11 Alt. Type Text Status TC 12 Alt. Type Text Status TC 13 Alt. Type Text Status TC 14 Alt. Type Text Status TC 15 Alt. Type Text Status TC 16 Alt. Type Text Status TC 01 Type Text Status TC 02 Type Text Status TC 03 Type Text Status TC 04 Type Text Status TC 05 Type Text Status TC 06 Type Text Status TC 07 Type Text Status TC 08 Type Text Status TC 09 Type Text Status TC 10 Type Text Status TC 11 Type Text Status TC 12 Type Text Status TC 13 Type Text Status TC 14 Type Text Status TC 15 Type Text Status TC 16 Type Text Status Text Mode Enumerated Attributes:
Mode: 0 Off Scan 1 On Scan RedundantIO: 0 Not Using Redundant I/O 1 Using Redundant I/O RmtCJXX: 0 Do Not Perform Remote Cold Junction Calculation 1 Perform Remote Cold Junction Calculation SimST: 0 Not In Simulation Mode 1 In Simulation Mode

Integer Integer Integer Integer Integer String String String String String String String String String String String String String String String String String String String String String String String String String String String String String String String String String

Metso Automation 278589

3-67

Function Blocks and Buffers Programmer's Reference and User's Guide

SimStatus: 0 Simulated Good Card Status 1 Simulated Bad Card Status SigStatusXX: 0 Signal OKay 1 Singnal Over Range 2 Singnal Under Range 3 Open Circuit 4 Card Failure 5 Unknown Failure SigTypXX: 100 J Type (Degrees F) 101 K Type (Degrees F) 102 T Type (Degrees F) 103 E Type (Degrees F) 104 S Type (Degrees F) 105 R Type (Degrees F) 106 B Type (Degrees F) 107 N Type (Degrees F) 108 G Type (Degrees F) 109 C Type (Degrees F) 110 D Type (Degrees F) 111 Platinum II Type (Degrees F) 200 J Type (Degrees C) 201 K Type (Degrees C) 202 T Type (Degrees C) 203 E Type (Degrees C) 204 S Type (Degrees C) 205 R Type (Degrees C) 206 B Type (Degrees C) 207 N Type (Degrees C) 208 G Type (Degrees C) 209 C Type (Degrees C) 210 D Type (Degrees C) 211 Platinum II Type (Degrees C) 300 - 10 Millivolts 301 - 25 Millivolts 302 - 60 Millivolts 303 - 100 Millivolts 304 - 250 Millivolts 305 - 600 Millivolts Status:

00000 No Errors 10005 Parity Error on Read of Low Byte 10006 Parity Error on Read of High Byte 20001 XACK Expected But Not Present 20002 Error on XACK Not Released 20004 ACK and not MACK Expected But Not Detected 20005 Multiple addresses (MACK) detected 20006 ACK and not MACK and not XACK Expected But Not Detected 20008 Error on ACK or MACK Not Released 60001 Error on Bus Address 60002 Error on DI Bus Address 60004 Error on Data Low Byte 70000 DI Address Mask Error Detected

3-68

Metso Automation 278589

Function block Category: Buffers


80000 Next DI Address Error 90000 Burst AI Address Error B0000 Error Detected in First Part of Chained Command C0000 Error on Data High Byte Test D0000 Error Detected in Deselect Operation D10001 Buffer Rev Stuck D10002 Buffer Status Stuck D10003 Buffer Schedule Error D10004 Buffer not Able to Schedule D10005 Buffer not Scheduled D10006 Buffer not Being Updated D10007 Buffer to Module Mismatch D10008 Buffer Address Conflict

Metso Automation 278589

3-69

Chapter 4
Atomic block Category: Modulating Control Logic (ModLog)
Overview
The atomic blocks covered in this chapter support modulating control implementation. They all support the forceback function that coordinates the control functions in limit conditions and initializes the control functions during manual operation. The atomic blocks discussed here are grouped by the following subcategories: Basic, Pulse Adjusting Type Output, Participation, Special, and Test:
Basic AUTOMAN LIMITER PID FEEDFWD Pulse Adjusting Type Output PATOUT Participation PARTMEM PARTMSTR CTLCOMP Special CTLSEL CTLADD CTLMUL CTLDIV2 CTLDIV1 FUNCGEN Test CMPT

Basic Atomic Blocks: Use These Atomic Blocks to Configure a Basic Control Loop
A control loop requires the output value limit and auto/manual control, a PID function, and the setpoint value limit and (possibly) remote/local control. The following atomic blocks satisfy these requirements: AUTOMAN, LIMITER, and PID.

Metso Automation 278589

Function Blocks and Buffers Programmer's Reference and User's Guide


Output Control Outputs
OutCtl AuctRef PVLast PVRate FrcbkIn PVRateLast SPLast SPInCtl PropATMult ResetATMult Freeze Init FrcbkIn Out OutPct SPFrcbkOut SPRate SPRateLast Deviation RateATMult DeviationPct (AUTOMAN + LIMITER)

Input
InCtl from AI buffer

ATAG Outputs
OutCtl Out OutPct

PID Inputs
PVInCtl

Inputs
InCtl

Outputs
OutCtl Out OutPct FrcbkOut

Input
InCtl

ATAG Outputs
Out to AO buffer

SP Control
(AUTOMAN + LIMITER)

Inputs
InCtl

Outputs
OutCtl Out OutPct

FrcbkIn

FrcbkOut

Setting up Output Control


A control output value is provided by the combination of AUTOMAN and LIMITER atomic blocks.
Auto Input AUTO/MAN Inputs Outputs
InCtl OutCtl Target TargetPct SetAuto SetMan AutoSusp LockoutPmt Mode AutoReady AutoActive AutoLoss CntlBadQual Lockout FailCode Out ClearAcc FrcbkIn OutPct FrcbkOut MaxMinEnable ClearAcc FrcbkIn FailCode Out OutPct FrcbkOut

LIMITER Inputs Outputs


InCtl OutCtl IncBlock DecBlock IncOvrd DecOvrd Freeze IncLimit DecLimit IncTrvlLimit DecTrvlLimit OutatMAX OutatMin

Output

Auto Forceback

The AUTOMAN atomic block provides the operator interface with graphic input commands for target value, target increment, and mode selection. In automatic operation, the AUTOMAN atomic block control output is derived from its control input. Automatic operation is internally conditional on mode selection, input signal quality acceptable and not Value type forceback status. When not automatic, the AUTOMAN atomic block control output is directed by the operator inputs for the target. Forceback can be configured to influence the control output for initialization or limit application on the control output. The AUTOMAN atomic block Out and OutPct output values represent the forceback input value from the LIMITER atomic block for indication of the result of the control output. The LIMITER atomic block controls the output rate of change and limit of operation and applies block and/or override actions determined by application logic connections. It also provides status indications of control output limits.

Setting up Setpoint Control

4-2

Metso Automation 278589

Function block Category: Modulating Control Logic


The control setpoint value is provided by the combination of AUTOMAN and LIMITER atomic blocks in a similar manner to the Output Control function.
Remote Input AUTO/MAN Inputs Outputs
InCtl OutCtl Target TargetPct SetAuto SetMan AutoSusp LockoutPmt Mode AutoReady AutoActive AutoLoss CntlBadQual Lockout FailCode Out ClearAcc FrcbkIn OutPct FrcbkOut MaxMinEnable ClearAcc FrcbkIn FailCode Out OutPct FrcbkOut InCtl

LIMITER Inputs Outputs


OutCtl OutatMAX OutatMin

Setpoint

IncBlock DecBlock IncOvrd DecOvrd Freeze IncLimit DecLimit

IncTrvlLimit DecTrvlLimit

Remote Forceback

Flexible forceback application options selection is more important in this application to establish whether the local and/or working setpoint track the process value (the forceback output value from the PID) while the loop is manual. Mode selection (remote/local) for the setpoint control provides for the selection of cascade control operation when remote selected.

Configuring PID Control Action


The PID atomic block calculates the PID control action from its process variable and setpoint inputs. Proportional, Integral, and Derivative actions are calculated from the basic Proportional Gain, Reset Repeats per Minute, and Rate Time (Minutes) tuning settings. These settings are combined in three optional methods consistent with differing control theories. Adaptive control tuning can be configured by the connection of multiplication factor inputs for each of the basic tuning settings by the adaptive control function. Proportional and Derivative action from setpoint changes can have separate weight from the process variable change action by the setting of the setpoint multiplier factors. Filtering for noise in the process variable and/or setpoint is provided separately for each control action: Proportional action filter bands for process variable and setpoint. Reset Filter Band And Gain Within The Band. Rate Gain adjustment and an alternative rate calculation that facilitates the application of a rate action filter band.

A setpoint antiwindup function manipulates the forceback output to the setpoint when the PID forceback input indicates a loop blocking condition and the setpoint deviates from the process by a windup limit amount in the direction of the block.

Metso Automation 278589

4-3

Function Blocks and Buffers Programmer's Reference and User's Guide


Adding Feedforward Control Action
The FEEDFWD atomic block calculates Proportional and Derivative actions from the feedforward process variable and combines the total action with the PID output. The control action calculation is the same as the PID with the same adaptive tuning and filtering capabilities. FEEDFWD Feedforward is added to the basic control loop by inserting this atomic block following the PID atomic block before the output control AutoManual atomic block. Multiple FEEDFWD atomic blocks may be inserted, one for each feedforward function (or variable).

Incremental Control Action


The above control actions are calculated and connected to the Output Control incrementally that is only the output change is calculated (not the output value). With a value type control action calculation, the controller output is a whole value created from the setpoint/process variable deviation, the rate action and an accumulator of reset action. This incremental control action calculation combines the setpoint/process variable change times the proportional gain with the rate action (again on the change) and the reset action on the deviation into a single output of change control action. This change increment is then integrated by the Output Control to form the value output. This fact is fairly transparent in the basic control loop; it becomes more significant with advanced control functions. When the change increment is greater than the Output Control can implement in one scan (due to rate limit or a blocking condition) the excess change requirement is saved in an Unoutput Accumulator (the UnOutAcc attribute) for implementation the next scan. Only proportional and rate action that is in excess of the limit is saved, the reset action is excluded from the accumulator (to avoid reset windup). The PID has a separate output that is reset action only to calculate this exclusion. The change increment value is not suitable for control selection by auctioneer, because it does not indicate the controllers error size (proportional and rate actions are independent of the absolute error). Consequently the PID has a separate output, Auctioneering Reference, that is proportional to the controller error and its tuning settings.

Using Pulse Adjusting Type Output


Many control loops require a value type output as a demand for positioning pneumatic or motor operated valves or dampers. An alternative output can provide pulses for positioning a motor operated valve or damper for the process control. This atomic block is normally applied in concert with an

4-4

Metso Automation 278589

Function block Category: Modulating Control Logic


AUTOMAN and LIMITER atomic block as described above for Output Control with the LIMITER atomic block configured for Incremental Output.

Drive Unit Motor Operation


The Incremental Control change command or the measurement of Demand Input value change is converted to an amount of motor on-time on the basis of drive unit positioning tuning settings. This on time is output (the motor is turned on for the calculated amount of time) without comparison of the change command to the drive unit position feedback. When the on-time calculated from the input change is complete, and sufficient time has passed to see the complete effect of the output in the position feedback, the position feedback (or its change) is compared to the Demand Input value (or an estimation of expected change) to establish a positioning error for further control action. If the initial on-time output causes a sufficiently accurate amount of drive unit motion, the second position control action phase could be omitted, providing drive unit operation without dependence on its position feedback.

Pulse On-Time Calculation


The pulse on time is calculated every 500 milliseconds (to provide a sufficient time period for pulse modulation). A dynamic range of pulse modulation is established (for each direction of operation) by the drive unit change due to a 500-millisecond pulse. When the change requirement exceeds this dynamic range limit, the on time equals the product of the ratio of the change requirement to the dynamic range limit times 500 milliseconds. When the change requirement is less than the dynamic range limit and greater than the motor operation deadband, the on-time output is the sum of a minimum on-time (for each direction) and a fraction determined by the proportion of the change requirement to the dynamic range limit. The fraction is adjusted for the deadband value and an adjustable non-linearity factor.

Output Logic Functions


The calculated on time is blocked (set to zero) or replaced by an override value when related limit, block or override logic inputs are active.

Backlash Accommodation
When position feedback is applied, a backlash function can be configured for a drive unit feedback that does not change when the drive unit output shaft change reverses from the previous change direction. The backlash function adjusts the feedback value used for position error and forceback by estimation of the amount of travel in the backlash range. The estimation of drive unit change (set by the change requirement by the assumption that the conversion to on-time causes an accurate change result) is accumulated in the backlash register until the backlash range is reached. This register value is

Metso Automation 278589

4-5

Function Blocks and Buffers Programmer's Reference and User's Guide


incorporated into the feedback value by addition of the register value to the feedback value proportionally reduced by the amount of the backlash range.

Position Feedback Monitoring


Feedback signal failure is declared when: The feedback signal quality is bad. The feedback signal is over or under range by the amount of set tolerance. The feedback signal change (in a 500-millisecond period) is greater than a set rate of change limit.

Drive Unit Operation Monitor


Drive Unit operation is monitored by checking for feedback change in response to output pulsing. The output pulse on time is accumulated and a Drive Unit Fail is declared when the accumulated on time exceeds a set limit. The on-time accumulation is reset to zero (thus avoiding the fail alarm) when: Significant position change is detected. OR Drive unit at limit (Position will not change). OR Drive unit is in the backlash range (Position change not detectable, and there are no opposite on-time outputs for two scans) OR No output for either direction for two scans. OR DIAT operation Using Feedforward Control Action

Using Participation-Related Atomic Blocks


These functions distribute controller output for control loops with multiple outputs PARTMEM PARTMSTR CTLCOMB Participation by the PARTMSTR and PARTMEM atomic blocks coordinates the operation of multiple control outputs from a single incremental control command. Distribution gain to each control output is adjusted by the number and weight of the control outputs that will respond to the distributed control command. The multiple control outputs are maintained in a fixed relationship to each other by the participation equalizing control action. Changes in

4-6

Metso Automation 278589

Function block Category: Modulating Control Logic


member control outputs that will not respond to the distributed control command become feedforward to the responding members. Members can be removed/added to participation with their current position fed forward or not by logical command inputs (Cancel or Cutout).

Controller Combining
Two incremental control commands are combined to operate two control outputs by the CTLCOMB atomic block. The combination is for sum and difference control where one control command directs the two control outputs in the same direction, while the other control command directs the two control outputs in opposite directions. Weighting factors for each output control the distribution of each control command for minimum effect on the other control process. When one output is limited, the dominant control command is permitted to direct both outputs without consideration for the other control command (whose controller is directed to track its process).

Using Special Control Function Atomic Blocks


The following functions provide for advanced control functions such as auctioneered controls, cascade controls with wild variable demand, and output characterization. CTLSEL CTLADD CTLMUL CTLDIV2 CTLDIV1 FUNCGEN with complex input and forceback

Control Selection / Auctioneering


The CTLSEL atomic block is a switch that will select between two inputs as directed by a logical input or by comparison of the inputs (highest or lowest auctioneering modes). In an auctioneering mode, value input values are compared directly, while incremental control command inputs auctioneering references (the value of their PID errors adjusted for tuning settings) are compared. Forceback outputs for both inputs are provided for initialization or limiting of upstream atomic blocks.

Cascade Control with Wild Variable Demand


Wild variables are incorporated in an inner PID setpoint (demand) of a cascade control by the CTLADD or CTLMUL atomic blocks. The CTLADD atomic block incorporates a bias wild variable. The CTLMUL incorporates a ratio wild variable. Forceback output for input1 is provided for initializing or limiting of the input1 upstream atomic blocks with respect to input 2. The

Metso Automation 278589

4-7

Function Blocks and Buffers Programmer's Reference and User's Guide


CTLDIV1 and CTLDIV2 atomic blocks provide equivalent division operation with forceback for either the numerator or denominator.

Control Command Characterization


The FUNCGEN atomic block converts a value input to a value output by piecewise characterization from (11) breakpoint value pairs for input and output values. The inverse function is also calculated for the forceback input to output when the defined function is monotonic. Incremental control command inputs incremental values are multiplied by a slope determined by the inverse function of its forceback to provide control action characterization.

Modulating Control Atomic Blocks Communication Complex Variables


Using the subattributes in the following table, complex variables convey a combination of information among the modulating control atomic blocks:
Sub Attribute

VAL RHI RLO TYP

STAT

RST AREF

Description Floating Variable Value [1] Floating Variable High Range Limit Floating Variable Low Range Limit Integer Variable Type: 17 = Value 18 = Percent (0 100) 19 = Incremental Command Integer Summation of Value Status: [3] 01 = Increase Velocity Limit 02 = Decrease Velocity Limit 04 = Increase Blocked 08 = Decrease Blocked 16 = Value Forced Floating Reset Portion of Incremental Command Floating Auctioneering Reference: [4] Process Error * Proportional Gain + Reset Action

Source All All All All [2]

FrcbkOut

PID.OutCtl PID.OutCtl

Notes: [1] Value Type variable (normally) varies between range limit values (can exceed range limit values). It is evaluated as percent by subtracting Low Range Limit, dividing by difference between Range Limit values, then multiplying by 100.0.

4-8

Metso Automation 278589

Function block Category: Modulating Control Logic


Percent Type variable (normally varies between 0.0 and 100.0 (can exceed these values). It is evaluated by dividing by 100, multiplying by difference between Range Limits, then adding Low Range Limit. Incremental Command Type variable is percent change (each scan). It is evaluated (for size of change) by calculations similar to Percent Type. The value subattribute (only) has Quality

[2] Incremental Command Type generated by PID, Feedforward, Participation, and Controller Combining atomic blocks (only) may be processed by (and consequently outputs of) other atomic blocks. [3] Status Value will be sum of all true condition values. (e.g. 10 represents simultaneous Decrease Velocity Limit and Decrease Blocked.) [4] The Auctioneering Reference value is used only by CtlSel atomic block applied with auctioneering strategy. Modulating control atomic blocks generate complex variables to satisfy normal applications. In very special applications a CMPT atomic block may be used to construct or alter a complex variable. Some rules for the application and operation of complex variables are:

Sources of complex variables:


Analog Tagger output is always a complex EUValue (Simple percent output also available). PID output is always complex Increment in percent with Range Mult 1.0 (adjusted by AutoMan processing) or (if whole value PID created) complex Percent with RangeHi 100.0, RangeLo 0.0. AutoMan output is always complex with type determined by its mode and input. Math for Control (CtlMath) output is complex if input 1 is complex with complex contents same as input. When input 1 is Incremental complex type, math must be applied to reset value in parallel to the variable value: Sum (Diff) Reset values of both inputs combined. Mult/Div Reset operated by input 2 value. (No provision for product/ratio of two incremental variables.) Discrete Logic, Analog Signal Processing and Process Measurement atomic block outputs are always simple.

Processing Simple Variables referenced for Complex Variable Inputs


Unique rules for each atomic block: PID PV presumes percent value (SP range applies). PID SP presumes E.U. value (PV range applies if PV simple SP presumed percent). AutoMan InCtl presumes E.U. value (its own range applies).

Metso Automation 278589

4-9

Function Blocks and Buffers Programmer's Reference and User's Guide


Analog Tagger presumption switched by ScaleEn attribute. Limiter InCtl presumption switched by output type selection. PATOut InCtl presumes Increment. Participation presumes Increment. Transfer/Auctioneer presumes E.U. value. Sum/Difference presumes Increment. Feedforward PV presumes percent.

Processing Complex Variables referenced for Simple Variable Inputs


Value processed (output must be recomplexed by analog tagger if necessary).

Forceback Initiators:
PATOut has a feedback normally from a Quad PAT buffer that is in percent (normal buffer output) and is converted to a percent forceback with 0.0 and 100.0 range values. CtlSel (Transfer/Auctioneer) will provide forceback for the unselected input that is the same type (value/percent) as the selected input when inputs are EUValue or Percent type complex variables. If the inputs are Incremental type complex variables, the forceback provided is the same as the forceback received. If the inputs are simple values, the forceback is a simple value. PID forceback (to SP source) will be the same as the PV (see PID input handling rules). Any forceback input can reference an EUValue or Percent type complex variable. The forceback input status in that case would be none; no forceback action would take place due to that reference. Only the value would be used as the basis for the atomic blocks forceback output that would include status according to the atomic blocks logic.

Custom functions may generate complex variables using a CMPT atomic block. This atomic block permits the construction of a complex variable by providing independent (referenceable) inputs for each of the subattributes of its (complex) output. These inputs have fixed values assigned or are referenced to simple inputs. Application of the CMPT atomic block is not for the casual user. It requires thorough knowledge of the applications of each of the subattributes to construct them properly.

4-10

Metso Automation 278589

Function block Category: Modulating Control Logic

Auto/Manual (AutoMan)
Atomic block Category: Modulating Control Logic Atomic block Subcategory: Basic

AutoMan
InCtl OpTarget OpTargetIncr FrcbkIn OpMode SetMan SetAuto AutoSusp OutCtl Target TargetPct FrcbkOut Out OutPct Mode AutoActv AutoLoss OpLkOut LkOutPrmt CntlBadQual LockOut FailCode

Overview
This atomic block provides the operator mode selection (Auto/Manual) and manual output control for modulating elements. It is also be applied as the operator mode selection (Remote/Local) and auto control for controller setpoints. It is expected to be the interface for any other operator value entry to the control system.

Critical Behaviors
Provides Operator Mode and Manual control of system value (Target). Mode (with mode logic) determines if command output (out) is set by input (automatic operation) or Target (manual operation). Sets (or Resets) Range for input.

Metso Automation 278589

4-11

Function Blocks and Buffers Programmer's Reference and User's Guide


Optionally Clamps Target to Range. Provides Target tracking options for forceback from downstream and automatic operation: Application as Control Output would elect target tracking for both conditions. Application as Setpoint would select tracking depending on required control setpoint initialization. Optionally resets Target to Forceback Value when Block Forceback and Target beyond block condition. Provides options for manual operation while automatic mode selected. Establishes quality tolerance for output automatic operation. Provides for Control Output Lockout. OutCtl Type varies according to mode, manual type option, and input reference type: Type is determined by manual type option when automatic is not operational. Type is same as InCtl type when automatic is operational and InCtl is referenced to a complex variable signal source. Type is Value when automatic is operational and InCtl is referenced to a simple variable signal source. Type is Incremental when automatic is operational and InCtl is not referenced (Increment is zero).

Detailed Description
Modulating Control AUTOMAN Application Configuration
Track Integer Target track option: 0 = no tracking, changed only by operator, 1 = tracks forceback value when value forceback, 2 = tracks forceback value when automatic operation 3 = tracks both 1 and 2 4 = tracks automatic input when auto mode selected (auto active or not)

Application as Output Target Control requires 3 for proper target initialization on download and target tracking auto operation for bumpless transfer to manual operation. Application as simple PID Setpoint Target Control requires 4 so setpoint does not track process, remains as last operator entry, during control manual and setpoint tracks remote operation for bumpless transfer to local. (Select 3 if setpoint should initialize to process during control manual.) (Select 0 if setpoint should not track remote operation, should freeze at last operator entry to be at fixed value on transfer to local.) Application as cascade inner PID Setpoint Target requires 3 for proper initialization during control manual and auto control tracking for bumpless transfer to manual operation. Application for Operator Bias (or other setter value) entry requires 0 (no forceback, no automatic operation).

4-12

Metso Automation 278589

Function block Category: Modulating Control Logic


Application for Master Participation Demand requires 3 for proper target initialization when all participating control outputs are manual and for bumpless transfer to manual operation.
TargetReset Boolean True = Block Forceback, Target beyond Forceback Value in Block Direction reset to equal Forceback Value.

Apply (set true) for value demands that have overrides or auctioneers applied downstream. Do not apply directly (reference to logic) where Target is for PATOut. Consider application of PID Windup Limit function instead of this function for setpoint target applications.
HiRng LoRng RngClamp Float Float Boolean E.U. Value for 100% for scaling E.U. Value for 0% for scaling When TRUE, operator entry (for target) blocked if exceeds range limits Forceback cannot set target beyond range limits (target beyond range limit is reset to range limit).

Apply range clamp (set true) and set reasonable range values to protect operator from erroneous entry.
IncrmntMan Boolean If TRUE, incremental control will be used in manual

Apply (set true) for Master Participation Demand (participation requires incremental value input). Apply (set true) for PATOut operation without position feedback.
AutoRqdQual Integer Quality Level Required for automatic. Auto Required Quality Values: 0 = GOOD 1 = DOUBTFUL 2 = SUBSTITUTE 3 = BAD

Output Target Control (point of operator mode control interface) requires 0 to suspend automatic operation when not GOOD quality. Other applications should be 3 to pass not GOOD quality in automatic to the Output Control.
OpInAuto Integer 0 = No manual operation in auto, 1 = Operator Manual Inc/Dec action when not auto active, 2 = Operator Manual Inc/Dec action sets Manual. 3 = Operator Manual Inc/Dec action supplements incremental change when auto.

Normally zero.
EnableSTAT Integer Output status manipulation options: 0 = OutCtlSTAT is zero 1 = OutCtlSTAT propagation and operation when Auto Active state change 2 = OutCtlSTAT propagation and operation when Operator Manual command 3 = 1 and 2

Metso Automation 278589

4-13

Function Blocks and Buffers Programmer's Reference and User's Guide


The OutCtlSTAT manipulation sets a value that causes Clear Accumulator action in incremental control operated outputs when their options are so selected. Configure 1.0 to avoid Automatic control action carry over to manual operation or Manual control action carry over to automatic operation. Configure 2.0 to avoid windup of Manual control action. Configure 3.0 for both
OutputRng Integer Output range options: 0 = OutCtl range values set to configured values (HiRng, LoRng) 1 = OutCtl range values set to equal InCtl range values 2 = OutCtl range values set to equal FrcbkIn range values

The range values of the complex output may be applied by downstream functions for conversions between percent and EU values. These options are provided to permit the application of the configured values for Operator Target limits while keeping the output range constant.
TargetTrkPrd RelTime Time period between Target updates equal to Forceback value. Zero for no updates.

Set to a non-zero time value to have the Target periodically track the forceback value during incremental manual operation. This keeps the target equal to the directed output when the incremental command does not cause the expected change. Set the time value for the time it takes the forceback to completely respond to the manual operation.

Value Outputs
There are three (primary) outputs from the AutoMan atomic block: OutCtl, Target (and TargetPct), Out (and OutPct).

4-14

Metso Automation 278589

Function block Category: Modulating Control Logic

AutoMan
InCtl OpTarget OpTargetIncr FrcbkIn OpMode SetMan SetAuto AutoSusp
Target Value Track Options

OutCtl Target TargetPct Out

Mode Logic

OutPct Mode AutoActv

OutCtl is the normally referenced output driven from the InCtl or Target values according to the auto active status. When it is Incremental type, it is not normally useful to view (particularly by graphic functions), consequently Target and Out are furnished for this purpose. Target (and TargetPct) is the result of Operator Entries (in manual operation) or the selection of tracking (or not) options. Out (and OutPct) is equal to the forceback input value. This output is intended to indicate the result (normally by downstream atomic blocks) of the Target changes or automatic action. When the AutoMan atomic block is used as a value entry point with no following atomic blocks that forceback, its forceback input (FrcbkIn) reference should be .OutCtl to update Out (and OutPct) to the Target value.

LOGIC OUTPUTS
CntlBadQual Mode AutoReady AutoActv AutoLoss Boolean Boolean Boolean Boolean Boolean True when the Quality value of the InCtlVAL signal exceeds (Quality is worst than) the AutoRqdQual configuration parameter value True when Automatic control is selected - controlled by SetAuto and SetMan inputs and operator mode commands and operator target commands if option selected for OpInAuto parameter True when NOT Lockout and NOT CntlBadQual and NOT Value Forceback condition (FrcbkInSTAT = Value Forceback). True when Mode (is Auto) and AutoReady and NOT AutoSusp input. Set True when AutoActv was true last scan and is not true - Reset by AutoActv (returning to) true or operator manual mode command.

Metso Automation 278589

4-15

Function Blocks and Buffers Programmer's Reference and User's Guide

Attributes
Output Name AutoActv AutoLoss AutoReady CntlBadQual FailCode FrcbkOut LockOut Out OutCtl OutPct Target TargetPct Type Boolean Boolean Boolean Boolean Integer Complex Boolean Float Complex Float Float Float Status Name FrcbkInAREF FrcbkInRHI FrcbkInRLO FrcbkInRST FrcbkInSTAT FrcbkInTYP FrcbkInVAL FrcbkOutAREF FrcbkOutRHI FrcbkOutRLO FrcbkOutRST FrcbkOutSTAT FrcbkOutTYP FrcbkOutVAL InCtlAREF InCtlRHI InCtlRLO InCtlRST InCtlSTAT InCtlTYP InCtlVAL Mode OutCtlAREF OutCtlRHI OutCtlRLO OutCtlRST OutCtlSTAT OutCtlTYP OutCtlVAL TMode Type Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float Boolean Float Float Float Float Integer Integer Float String Description Frcbk input auctioneering ref Frcbk input high range Frcbk input low range Frcbk input incremental reset Frcbk input forceback status Frcbk input type Frcbk input value Frcbk output auctioneering ref Frcbk output high range Frcbk output low range Frcbk output incremental reset Frcbk output forceback status Frcbk output type Frcbk output value Input auctioneering reference Input high range Input low range Input incremental reset Input forceback status Input type Input value 0 = Manual, 1 = Auto Output auctioneering reference Output high range Output low range Output incremental reset Output forceback status Output type Output value Mode Text Description Operating in auto when true Loss of Auto operation Ready to go to Auto In qual worse than AutoRqdQual Failure code Forceback complex output In lockout when true Simple output Complex Output Simple output percent Setpoint Setpoint percent of range

4-16

Metso Automation 278589

Function block Category: Modulating Control Logic

Input Name AutoSusp FrcbkIn InCtl LkOutPrmt SetAuto SetMan Type Boolean Complex Complex Boolean Boolean Boolean Parameter Name AltAutoTxt AltDesc AltManTxt AltShDesc AltTUOM AutoRqdQual Desc GName HiRng IncrmntMan InitTarget LoRng OpInAuto RngClamp ShDesc TagName TargetReset Track TUOM Type String String String String String Integer String String Float Boolean Float Float Integer Integer String String Boolean Integer String Commands Name OpLkOut OpMode OpTarget OpTargetIncr Enumerated Attributes: AutoRqdQual: 0 Allow Control Only If InCtl Quality Is Good 1 Allow Control Only If InCtl Quality Is Good Or Doubtful 2 Allow Control Only If InCtl Quality Is Good, Doubtful, Or Substitute 3 Allow Control Regardless Of InCtl Value Of Quality Mode: 0 Manual Mode 1 Auto Mode OpInAuto:^ Type Boolean Boolean Float Float Description Operator Lockout request Operator Mode request Operator target value Operator target increment Description Alternate Auto Text Alternate description Alternate manual text Alternate short description Alternate units of measure text In quality level valid for calc Description Generic name High range Incremental manual cntrl if true Initial Value of Target Low range Affect of operator entry in Auto Clamp output based on range Short description Tag name Set target equal to forceback Target tracking option Units of measure text Description Suspend automatic operation Forceback complex input Complex input Permit lockout or lockout reset Force to auto when true Force to manual when true

Metso Automation 278589

4-17

Function Blocks and Buffers Programmer's Reference and User's Guide


0 Operator Commands Not Processed While In Auto Mode 1 Operator Commands Are Processed While In Auto Mode 2 Operator Commands Are Processed While In Auto Mode And Mode Is Switched To Manual 3 Operator Supplies Increment While In Auto Mode RngClamp: 0 No Range Clamping 1 If Operator Enters A Target Value Outside Of The Configured Range It Will Not Be Accepted Or If The Operator Enters A Target Increment That Will Cause The Target Value To Go Out Of The Configured Range The Target Value Will Be Clamped To The Configured Range. Track: 0 No Tracking 1 Tracking Enabled When In Lockout, Or When Forceback Is Configured And Its Status Is Value Type, Or While In Manual Mode With OpInAuto Not Equal To 1. 2 Tracking Enabled When In Auto Mode With AutoReady = TRUE And AutoSuspend = FALSE (Tracking blocked by forceback status) 3 Combination Of Option 1 and 2 4 Tracking Enabled When In Auto Mode With AutoReady = TRUE And AutoSuspend = FALSE (Tracking not affected by forceback status) Fail Codes: 0123No Failure Control Input Bad Quality Auto Loss Control Input or Target Entry Out of Range

4-18

Metso Automation 278589

Function block Category: Modulating Control Logic

Limiter (LIMITER)
Atomic block Category: Modulating Control Logic Atomic block Subcategory: Basic

InCtl FrcbkIn MaxMinEnable Freeze IncOvrd DecOvrd IncBlock DecBlock IncLimit DecLimit ClearAcc

Limiter

OutCtl FrcbkOut Out OutPct UnOutAcc

IncTrvlLimit DecTrvlLimit FailCode

Overview
This atomic block receives a whole value or incremental change demand (normally from an Auto/Manual atomic block). The whole value input is compared to the forceback value to establish an incremental change demand. For whole value output, the incremental change demand is clamped by limit conditions and integrated to form a whole value output subject to initialization by forceback, application overrides, and limits (on value and velocity) due to forceback, application, and configuration. The whole value output is applied for modulating element position demand (AO) outputs, cascade controller setpoints and other system whole values that require operator interface and/or limits on value and/or velocity. For incremental change output (for PATOut applications), the incremental change demand is clamped by the limit conditions and output for the PAT positioning atomic block.

Critical Behaviors
Sets Change Demand for Override Commands (per least of Rate Limit or Override Rate Limit)
Metso Automation 278589 4-19

Function Blocks and Buffers Programmer's Reference and User's Guide


Limits/Clamps Change in Output for following: Rate Limits Inc/Dec Block inputs Output at/beyond Maximum/Minimum Limits (normally when auto only) Range Limits (Optionally) Provides Optional Outputs: Engineering Units Value or Percent of Range for Whole Value Control Outputs or Setpoints. Incremental Value (Change Request) for PAT/DIAT Control Outputs. Determines Travel Limit Status from Limit Switch inputs and/or Output Percent relationship to adjustable Limit Setpoints (Default: 1% and 99%) with adjustable hysteresis (Default 1%). Optionally Clamps Output to Range Limits. Optionally resets Output beyond limits to limit value. Optionally resets Output to Forceback Value when Block Forceback and Output beyond block condition. Provides Whole Value Output tracking option for forceback from downstream: Application as Control Output normally would not elect tracking. Application as Setpoint would select tracking depending on required control setpoint initialization. Freeze input permits implementation of Control Lockout. Clear Accumulator input resets Un-output accumulator, without disrupting control.

Detailed Description
Modulating Control LIMITER Application
The following diagram portrays the functions of the LIMITER in order of execution which indicates the dominance of each function in changing the output (the last functions dominate previous functions).

4-20

Metso Automation 278589

Function block Category: Modulating Control Logic

InCtl (Incremental) Limit functions applied on change increment created by difference when value type inpuut

InCtl (EU Value)

T
FREEZE OUTPUT OUTPUT RATE OF CHANGE LIMIT and/or RUNUP/RUNDOWN
Rate limit inputs opposite normal sign cause output runup/rundown action

InCtlTYP Freeze IncOvrd & DecOvrd

(+) IncRateLimit (-) DecRateLimit (-) IncRateLimit (+) DecRateLimit MaxMinEnable MaxLimit MinLimit IncBlock or FrcbkInSTAT = IncBlock or FrcbkInSTAT = IncVelLimit DecBlock or FrcbkInSTAT = DecBlock or FrcbkInSTAT = DecVelLimit OutputReset & FrcbkInSTAT = block

OUTPUT BLOCK AT VALUE LIMITS

OUTPUT BLOCK BY LOGIC CONDITIONS


Forceback input status (FrcbkInSTAT) ignored when Track option = 2

OUTPUT RESET BY FORCEBACK STATUS


Forceback input status (FrcbkInSTAT) ignored when Track option = 2

OUTPUT CLAMPED TO VALUE LIMITS OUTPUT INC/DEC OVERRIDE BY LOGIC


Override Rate Limit (OvrdRateLimit) only affects override operation rate

MaxMinEnable & MaxMinClamp MaxLimit MinLimit IncOvrd DecOvrd

OvrdRate RngClamp InCtlRHI InCtlRLO

OUTPUT CLAMPED TO RANGE LIMITS

FrcbkInSTAT = Value Forceback

T
OUTPUT TYPE SELECTION
Output type (increment or value) determined by option configuration

T
OutCtl (Incremental or Value)

OutType

FrcbkIn

Metso Automation 278589

4-21

Function Blocks and Buffers Programmer's Reference and User's Guide


Configuration
Track Integer Output track option: 0 = no tracking, Output changed only by input, 1 = Output tracks Forceback Value when Value Forceback condition. 2 = Always tracks input (not limited by forceback status).

Application for Output Control requires 1 for proper target initialization on download. Application as simple PID Setpoint Control requires selection according to desired initial automatic operation: 1 provides proportional action on initial automatic operation as the setpoint changes from the process value to the target; 2 excludes proportional action on initial operation (reset action only) because the setpoint does not change until the target changes. Application for cascade inner PID Setpoint requires 1 for proper initialization during control manual.
OutputReset Boolean True = When Block Forceback condition, Output beyond Forceback Value in Block Direction reset to equal Forceback Value.

Apply (set true) for value demands that have overrides or auctioneers applied downstream. Do not apply directly (reference to logic) where OutCtl is target for PATOut. Consider application of PID Windup Limit function instead of this function for setpoint target applications.
OutType Integer 0 = Incremental, 1 = Percent, 2 = Eng. Units Value.

Application for PATOutput Control (or Master Participation Demand) requires 0. All others require 2.
RngClamp Integer 0 = None 1 = block when Output is equal to or beyond Range Limits. 2 = Output is reset to Range Limit when beyond the limit

Normally apply block (1), Apply none (0) where overrange operation might be required such as PAT operation where position feedback calibration error might require overrange demand to assure full travel. Apply active clamp (2) only where necessary, it is better if control action restores limits.
IncRateLimit DecRateLimit Float Float Increase Velocity Limit (E.U./second) Decrease Velocity Limit (E.U./second (negative))

For Output Control configure equivalent to output element rate of change capability. For Setpoint Control configure setpoint rate of change limits.
RateLimitAppl Float 0=Lmt/Ovrd: Increase and Decrease Rate Limit set directly by its

4-22

Metso Automation 278589

Function block Category: Modulating Control Logic


parameters runup/rundown enabled 1=LmtOnly: Abnormal Increase or Decrease Rate Limit sign sets zero rate limit for that direction 2=IncLmtOnly: Only Increase Rate Limit applied (for both directions).

Appy (0) to cause runup/rundown output action by abnormal rate limit signs: Negative Increase Rate Limit causes rundown (Out decrease at rate value); Positive Decrease Rate Limit causes runup (Out increase at rate value). Apply (1) to prevent runup/rundown action.: Negative Increase Rate Limit causes zero increase rate limit; Positive Decrease Rate Limit causes zero decrase rate limit Apply (2) for a single setting of Out rate of change for both directions; Decrease Rate Limit is set equal to negative Increase Rate Limit.
MaxLimit MinLimit MaxMinEnable MaxMinClamp Float Float Boolean Boolean Maximum (E.U.) when enabled (normally for auto only). Minimum (E.U.) when enabled (normally for auto only). Enable for Maximum/Minimum Limit application True = Output Accumulator is reset to Maximum or Minimum Limit when beyond the limit (subject to MaxMinEnable).

Optional application for limits within range limits.


OvrdRate Float Rate Limit (E.U./second) applied for override commands only.

Normally connected to override logic rate selection. If reduced override rate required, set value of rate (E.U. per second), otherwise set greater than Inc/DecRateLimit.
IncTrvlLimitSP DecTrvlLimitSP TrvlLimitHyst Float Float Float Travel limit setpoint for indication by output percent comparison. Default 99% Travel limit setpoint for indication by output percent comparison. Default 1% Travel limit comparison hysteresis Default 1%

Limits set for status output only do not affect operation of output.

Attributes
Outputs Name DecTrvlLimit FailCode FrcbkOut IncTrvlLimit Out OutatMAX OutatMIN OutCtl OutPct Type Boolean Integer Complex Boolean Float Boolean Boolean Complex Float Status Name FrcbkInAREF FrcbkInRHI Type Float Float Description Frcbk input auctioneering ref Frcbk input high range Description Indicates decrease limit reached Failure indication Forceback complex output Indicates increase limit reached Simple output Output at maximum Output at minimum Complex output Output percent based on range

Metso Automation 278589

4-23

Function Blocks and Buffers Programmer's Reference and User's Guide


FrcbkInRLO FrcbkInRST FrcbkInSTAT FrcbkInTYP FrcbkInVAL FrcbkOutAREF FrcbkOutRHI FrcbkOutRLO FrcbkOutRST FrcbkOutSTAT FrcbkOutTYP FrcbkOutVAL InCtlAREF InCtlRHI InCtlRLO InCtlRST InCtlSTAT InCtlTYP InCtlVAL OutAccLast OutCtlAREF OutCtlRHI OutCtlRLO OutCtlRST OutCtlSTAT OutCtlTYP OutCtlVAL UnOutAcc Float Float Integer Integer Float Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float Float Float Float Float Float Integer Integer Float Float Inputs Name ClearAcc DecBlock DecLimit DecOvrd FrcbkIn Freeze IncBlock IncLimit IncOvrd InCtl MaxMinEnable Type Boolean Boolean Boolean Boolean Complex Boolean Boolean Boolean Boolean Complex Boolean Description Clear accumulators Stop Output decrease if true Stop Output decrease if true Unconditional output decrease Forceback complex input Stop output Stop Output increase if true Stop Output increase if true Unconditional output increase Complex input Enable Max / Min limits Frcbk input low range Frcbk input incremental reset Frcbk input forceback status Frcbk input type Frcbk input value Frcbk input auctioneering ref Frcbk input high range Frcbk input low range Frcbk input incremental reset Frcbk input forceback status Frcbk input type Frcbk input value Input auctioneering reference Input high range Input low range Input incremental reset Input forceback status Input type Input value Output Memory Output auctioneering reference Output high range Output low range Output incremental reset Output forceback status Output type Output value Output windup

Parameters Name DecRateLimit DecTrvlLimitSP Type Float Float Description Output decr rate of change limit Decrease travel limit set point

4-24

Metso Automation 278589

Function block Category: Modulating Control Logic


IncRateLimit IncTrvlLimitSP MaxLimit MaxMinClamp MinLimit OutputReset OutType OvrdRate PosDeadband PosPropGain PosResetGain PosResetPrd PosTimePrd RateLimitAppl RngClamp Track TrvlLimitHyst Float Float Float Boolean Float Boolean Integer Float Float Float Float RelTime RelTime Integer Integer Integer Float Output incr rate of change limit Increase travel limit set point Maximum output limit Clamp to Max/Min limits if true Minimum output limit Reset output to forceback value Determines output complex type Limits output rate of change Positioning Deadband Positioning Proportional Gain Positioning Reset Gain Positioning Reset Period Positioning Timed Period 0=Lmt/Ovrd 1=LmtOnly 2=IncLmtOnly Clamp output to range Track = 1, Output tracks frcbk Travel limit hysteresis

Commands N/A Enumerated Attributes: FailCode: 0 No Failure 1 Both IncLimit and DecLimit are TRUE 2 - High Range Equals Low Range OutType: 0 Output is Increment Type 1 Output is Percent Type 2 Output is Value Type RngClamp: 0 No Range Clamping 1 If Calculated Increment Will Cause Output to Exceed Range The Calculated Increment Is Clamped To A Value That Will Cause The Output To Equal The Range Limit 2 If The Calculated Output Will Exceed The Range A Increment Is Calculated To Reverse The Direction Of The Output Until The Output Equals The Range Limit Track: 0 No Traking 1 Track Forceback

Metso Automation 278589

4-25

Function Blocks and Buffers Programmer's Reference and User's Guide

Proportional, Integral, and Derivative (PID)


Atomic block Category: Modulating Control Logic Atomic block Subcategory: Basic

PVInCtl SPInCtl FrcbkIn PropATMult ResetATMult RateATMult

PID

OutCtl SPFrcbkOut Out OutPct Deviation DeviationPct PVLast SPLast PVRate

Perturber Freeze Init

SPRate PVRateLast SPRateLast AuctRef

Overview
Derives Proportional, Integral, and Derivative control action from Process Variable and Setpoint inputs to generate an incremental control action (change request) output.

Critical Behaviors
Proportional, Integral, and Derivative action calculation. Separate filtering for Proportional, Integral, and Derivative.* Separate Setpoint proportional gain adjustment. Separate Setpoint rate action adjustment. Control action parameter adjustment without initialization. (except rate calculation filter time). Adjustable setpoint windup limit.

4-26

Metso Automation 278589

Function block Category: Modulating Control Logic


Configurable controller type. Multiplicative adaptive tuning input factors with application switch (permits fixed relative adjustment). Reset Accumulator for lowlow reset rates and deviations (with fast scan rates) (avoids reset deadband) Error Squared Function Optional Rate Calculation Method ** Output perturbation method for tuning testing. A Control Auctioneering Criteria is calculated on basis of deviation and tuning settings for auctioneer (high or low) selection of the incremental control action. *** Freeze stops control action. Init initializes derivative calculation.

* Controller output for proportional and rate action is determined by the change in proportional inputs and their rate of change (difference from last values saved in registers). Filtering is applied by detecting only value change in excess of the filter band. When a value change is detected, control action in proportion to the change is computed and the last value register is made equal to the current value (for the next change detection). When there is no value change detected (current value is within filter band of last value), no control action is computed and the last value register remains unchanged. ** Ideal rate action (to cancel a pole in the process response) is somewhat compromised by the introduction of a finite rate gain. This compromised rate action is a classical method with the compromise of rate gain reduction (rate calculation filter (delay) time increase) for noise attenuation. Zero Rate Filter Band is recommended and the calculation of rate and its output includes the rate time for this classical method. An alternate method is provided that would permit less rate calculation filter time (for the same control action reduction) by the introduction of a deadband filter on the change of rate of change detection (computed for the incremental control action). This alternative method is further removed from the classical method by calculating the rate of change with a rate calculation filter time adjusted independently from the rate time (so the filter band can be set consistently). The calculation of rate and its output is calculated on a fixed rate time (one minute) basis and the calculation filter time is the fixed rate calculation time divided by RateGain.) *** The exact calculation of the auctioneering reference is:
PIDAuctRef = (PIDDeviation * fPropFactor + (PIDPVRateLast - PIDSPRateLast * PIDRateSPMult) * fRateFactor) / m_fEUMult; Providing deviation scaled by proportional gain plus net rate of change scaled by the rate tuning factor converted to percent.

Metso Automation 278589

4-27

Function Blocks and Buffers Programmer's Reference and User's Guide

Detailed Description
Modulating Control PID Application Configuration
CtlAction Integer 0 = Direct: Increase change request output for process increase. 1 = Reverse: Decrease change request output for process increase.

This is the most basic configuration decision for the control: which direction to move the output for a specific direction of process error
RateSPMult Float Multiplicative modifier on Rate Action gain for setpoint change. (default 1.0 for Rate Action gain same as for process variable)

Entry 0 provides rate action only on process variable, 1 provides rate action on error (process variable minus setpoint). Further adjustment might be desirable during tuning for values other than 0 or 1 to modify setpoint inclusion in rate action a value greater than one could be described as rate feedforward of setpoint changes.
PropSPMult Float Multiplicative modifier on proportional gain for setpoint change. (default 1.0 for proportional gain same as for process variable)

Entry 0 provides proportional action only on process variable (no proportional action on setpoint changes), 1 provides proportional action on error (process variable minus setpoint). Further adjustment might be desirable during tuning for values other than 0 or 1 to modify setpoint inclusion in proportional action a value greater than one could be described as proportional feedforward of setpoint changes.
PIDType Integer Method of derivation of PID action factors from tuning parameters. 0 = Series: Maximum Parameter Interaction normal application 1 = Ideal: Proportional Parameter scales Reset and Rate Action 2 = Parallel: No Parameter Interaction

One type should be selected and applied for all PIDs at a site for consistent understanding of the meaning of the tuning settings.
Frequency Domain Equations for each type where Out is the accumulation (by the Limiter atomic block or drive unit operated by PAT) of the PID atomic block output: SERIES: Out = Kp{1 + 1/sTi}{sTd + 1} * Error IDEAL: Out = Kp{1 + 1/sTi + sTd} * Error PARALLEL: Out = {Kp + 1/sTi + sTd} * Error where: Kp = Proportional Gain Ti = Integral Time (Inverse of Reset value entry) Td = Rate Time Out and Error are in percent of their respective ranges.

RateType

Integer

0 = Classical damping varied by RateTime per set RateGain 1 = Fixed Rate of Change calculation (E.U./ Min) per set RateGain, Rate Time applied in Rate control action factor.

4-28

Metso Automation 278589

Function block Category: Modulating Control Logic

Classical Rate: Filter Band Rate Gain Rate Variable Rate Calc Filter Filter Band not recommended too interactive with Rate Time (rate tuning adjustment). Rate Action

Rate Time Alternate Rate: Filter Band Rate Gain Rate Variable Fixed Time (1 Minute) Rate Time Rate Calc Filter Calculation method skews mathematical application of rate to cancel pole in control stability plot. Multiply Rate Action

Classical: Ideal rate action (to cancel a pole in the process response) is somewhat compromised by the introduction of a finite rate gain. This compromised rate action is a classical method with the compromise of rate gain reduction (rate calculation filter (delay) time increase) for noise attenuation. Zero Rate Filter Band is recommended and the calculation of rate and its outputs (Rate and RateLast) uses RateTime for its time base. An alternate method is provided that would permit less rate calculation filter time (for the same control action reduction) by the introduction of a deadband filter on the change of rate of change detection (computed for the incremental control action). This alternative method is further removed from the classical method by calculating the rate of change with a rate calculation filter time adjusted independently from the rate time (so the filter band can be set consistently). The calculation of rate and its outputs (Rate and RateLast) is calculated on a fixed rate time (one-minute) basis and the calculation filter time is the fixed rate calculation time divided by RateGain.)
RateGain Float Establishes Rate Calculation filter time (lag time constant) per RateType.

Preset to 10 and adjust as required during rate tuning.


ATEnable Integer 0 = Ignore Adaptive Tuning multiplication factor inputs (ATMult). 1 = Apply Adaptive Tuning multiplication factor inputs.

Metso Automation 278589

4-29

Function Blocks and Buffers Programmer's Reference and User's Guide


Tuning
PropGain RateTime Reset Float Float Float PV and SP change proportional gain. Gain of proportional action on Rate Calculation change. Repeats of Proportional Action on deviation. Proportional Gain = 1 applied if PropGain is zero.

These factors scale the percent control action calculated for the percent process variable and/or setpoint change and the percent error (deviation, difference between process variable and setpoint). The control action percentage is converted to engineering units by range values of receiving atomic blocks. The process variable, setpoint and error percent values are established by range values of the process variable complex input. If the process variable input is simple, the setpoint complex input range values are applied. If both process variable and setpoint inputs are simple, range values of 0 and 100 are applied. Adaptive Tuning Connections
PropATMult RateATMult ResetATMult Float Float Float Proportional Action Adaptive Tuning Multiplier Rate Action Adaptive Tuning Multplier Reset Action Adaptive Tuning Multiplier

Noise Filtering
for proportional and rate action:
PVFilterBand PVFilterRamp SPFilterBand SPFilterRamp ErrorSqFactor Float Float Float Float Change detection deadband Engineering Units* Rate of Last Value ramp to equal current value Engineering Units per Second* Change detection deadband Engineering Units * Rate of Last Value ramp to equal current value Engineering Units per Second* 0.0 1.0 Portion of Proportional Gain modified by the error (providing control action proportioned to the square of the error).

The ErrorSqFactor affects the controller proportional gain (before its application in the equations based on controller type) when greater than zero and less than or equal to 1.0 (any other value entries have no effect). The effect on the proportional gain is expressed by the following equation: Gain=Gain*(1-(ErrorSqFactor*(1-2* DeviationPct/100))) When ErrorSqFactor = 1.0 (maximum) the proportional gain is zero with zero deviation, unchanged at 50% deviation and doubled at 100% deviation. When ErrorSqFactor = 0.1 the proportional gain is multiplied by 0.9 with zero deviation, unchanged at 50% deviation and multiplied by 1.1 at 100% deviation. The proportional gain is varied proportional to the deviation between the end points (for gain multiplier) established by this factor. The gain multiplier end

4-30

Metso Automation 278589

Function block Category: Modulating Control Logic


points are 1 - the factor for zero deviation to 1 + the factor for 100% deviation (with no gain change for 50% deviation). While the gain changes linearily with error (deviation), the affect on the output is squared with respect to error (deviation) because the output effect is due to the product of gain and error (deviation). Note that deviation values greater than 100% remove the ErrorSqFactor affect setting the gain equal to its configured value.

Error Squared Effect


100.00

50.00

Effect with Gain = 1

0.00 -100 -50 0 50 100

1.0 Factor 0.5 Factor 0.2 Factor 0.0 Factor

-50.00

-100.00 Error (Deviation)

for rate action:


RateFilterBand RateFilterRamp Float Float Rate Calculation change detection band - Engineering Units* Rate of Last Value ramp to equal current value Engineering Units per Second*

* Controller (change demand) output for proportional and rate action is determined by the change of input value and change of input rate of change value. The change detection for change demand output is filtered by comparison to a last value (saved in registers) to the current value. The last value is then updated according to the change detected for use next scan. When the FilterRamp is zero, the change detected is the difference between the current and last value when the difference is greater than the FilterBand.

Metso Automation 278589

4-31

Function Blocks and Buffers Programmer's Reference and User's Guide


When a change is detected the last value is updated to equal the current value. Differences within the FilterBand results in no change detection, no control output change demand. This filtering action results in relatively large step control change demand outputs with zero control change demand output between them. When the FilterRamp is not zero and the difference between the current and last value is greater than the FilterBand, the change detected is the excess of the difference beyond the Filter Band and the last value is updated to equal the current value less the FilterBand (could also be stated that the last value is changed by the change detected). When the FilterRamp is not zero and the difference between the current and last value is less than the FilterBand and greater than the ramp single scan rate increment set by the FilterRamp value, the change detected is that rate increment and the last value is ramped toward the current value by the rate increment. Differences within the FilterRamp rate increment result in no change detection, no control output change demand. This filtering action results in smaller step control change demand outputs accompanied by ramping control change demand outputs. for reset action:
RstFilterBand RstFilterGain Float Float Deviation Band of reduced reset action Engineering Units 0.0 1.0 Multiplicative modifier of deviation for filter band

for all controller action:


GAPBand GAPGain Float Float Deviation Band of reduced action Engineering Units 0.0 1.0 Multiplicative modifier of action factors while deviation within Band

The GAP function provides filtering for all control actions for process variable near setpoint. It also is applied (with zero gain) for override type control strategies with a wide deadband. Cascade Windup Limit (values in engineering units)
SPAWUHys SPDecWULmt SPIncWULmt Float Float Float Hysteresis for Setpoint reset for Antiwindup Low SP tolerance when forceback block inhibits a SP decrease. (negative number) High SP tolerance when forceback block inhibits a SP increase.

The setpoint for the inner PID in a cascade application can have excessive windup, not from outer PID action, but from change in the inner PID process variable. These settings will cause the setpoint to be reset to remove the windup when the inner loop PID process variable is too far from the setpoint in the direction that the setpoint is blocked. The setpoint antiwindup action resets the setpoint by setting a value forceback status and setting the forceback value equal to the process variable plus the windup limit minus the windup hysteresis (for setpoint increase

4-32

Metso Automation 278589

Function block Category: Modulating Control Logic


block condition). The hysteresis is desirable to minimize the instances of value forceback status. The setpoint is blocked, consequently a single operation of the antiwindup function should suffice until the process variable changes away from the block direction by the amount of hysteresis. Note that the antiwindup action also resets the setpoint last value equal to the forceback value so no setpoint change is determined in the next scan when the forceback value is evident at the setpoint input. An example of where setpoint antiwindup would apply: A boiler cascade steam temperature control loop has final temperature as the process variable for its outer loop and desuperheater outlet temperature as the process variable for its inner loop. On a load reduction (to fairly low load), the final steam temperature drops below setpoint causing the desuperheater spray water valve to close. The spray water valve at its closed limit blocks the outer loop PID output, the inner loop setpoint, from decreasing, but the inner loop process variable keeps decreasing causing a low temperature error condition for the inner loop. When the load is increased, the inner loop temperature is permitted to increase uncontrolled due to its low temperature error eventually causing overshoot in the outer loop process variable on the load increase to normal temperature conditions. When the antiwindup function is applied, the inner loop setpoint tracks (within a reasonable limit) the decreasing inner loop process variable permitting the outer loop to control the rate of rise of the inner loop temperature when load is increased to avoid the overshoot.

Tuning Procedure
The PID algorithm parameters can be classified as configuration, filtering, tuning, and windup limit (cascade applications only). The normal classification assignments are shown with initial parameter values in the following table (unusual applications could revise these assignments):
Configuration PIDType 0 CtlAction ? ATEnable 0 RateType 0 Filtering SPFilterBand PVFilterBand RateFilterBand RstFilterBand RstFilterGain ErrorSqFactor Tuning PropGain PropSPMult RateTime RateGain RateSPMult Reset Windup Limit SPIncWULmt 0 SPDecWULmt 0 SPAWUHys 0

0 0 0 0 0 0

0.2 1 0 10 1 0

Set initial parameter values per the above table: You may find the shipped PID configurations with PropGain = 1 for configuration test purposes, this is usually too strong so 0.2 is suggested as a starting point. Control action has a ? because it depends on the process application be sure that the control action is in the proper direction for stable operation (not run control output to a limit). (A good initial check of automatic operation.)

Metso Automation 278589

4-33

Function Blocks and Buffers Programmer's Reference and User's Guide


Enter value of 1 for reverse action (heating loop); 0 for direct action (cooling loop). Adjust P use the Perturber input to force control output change in auto and adjust PropGain for stable response to the resulting process variable change. Noise and trend scaling may make observing the output trend best. The output will step (travel at full velocity) the amount of the Perturber entry, then reverse (presuming CtlAction is set correctly) by proportional action (other Tuning settings zero) as the process responds to the step. If it reverses and stops without reversing again, there is no overshoot. If it reverses again before stopping there is a single overshoot. Tuning criteria (particularly for interactive processes) normally recommend only a single overshoot additional reversals indicate excess control action by these criteria. Additional tuning criteria normally sets a limit in percentage for the overshoot. The percentage overshoot is calculated as (1- the greatest output change (output overshoot peak minus end of perturber step) divided by the final output change (final output minus end of perturber step)) times 100. Adjust I using the Perturber input for process upsets. The process variable (or deviation from setpoint) must be trended for these tests. The perturber entry will cause the process variable to step away from setpoint, then the control action will return the process to setpoint. Tuning criteria (particularly for interactive processes) normally recommend only a single overshoot and limit the percentage of the overshoot. The overshoot percentage is calculated as (process variable overshoot divided by maximum process variable deviation (by perturber action)) times 100. If satisfied with control performance, skip step 4 (Adjust D) many processes do not benefit from rate. Adjust D using the Perturber input again. With Classical rate type application, adjust RateGain to reduce activity from noise as rate is introduced by RateTime adjustment and leave RateFilterBand at zero. With Fixed Rate Of Change calculation type, adjust RateGain and RateFilterBand for noise reduction by observation of the (fixed) rate calculation result, before introducing rate by the adjustment of RateTime. In general, the addition of rate action will permit an increase in PropGain Observe process variable noise. Set PVFilterBand and RstFilterBand equal to 0.5 times the noise peak to peak difference. Increase RstFilterGain to minimize unnecessary wandering around the setpoint. Review results of setpoint changes. If there is too much overshoot, reduce PropSPMult and RateSPMult for more satisfactory results. If the process undershoots, increase the parameters.

Attributes
Outputs Name AuctRef Out Type Float Float Description auctioneering ref Simple output

4-34

Metso Automation 278589

Function block Category: Modulating Control Logic


OutCtl OutPct SPFrcbkOut Complex Float Complex Status Name Deviation DeviationPct FrcbkInAREF FrcbkInRHI FrcbkInRLO FrcbkInRST FrcbkInSTAT FrcbkInTYP FrcbkInVAL OutCtlAREF OutCtlRHI OutCtlRLO OutCtlRST OutCtlSTAT OutCtlTYP OutCtlVAL PVInCtlAREF PVInCtlRHI PVInCtlRLO PVInCtlRST PVInCtlSTAT PVInCtlTYP PVInCtlVAL PVLast PVRate PVRateLast SPFrcbkOutAREF SPFrcbkOutRHI SPFrcbkOutRLO SPFrcbkOutRST SPFrcbkOutSTAT SPFrcbkOutTYP SPFrcbkOutVAL SPInCtlAREF SPInCtlRHI SPInCtlRLO SPInCtlRST SPInCtlSTAT SPInCtlTYP SPInCtlVAL SPLast SPRate SPRateLast Type Float Float Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float Float Float Float Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float Float Float Float Inputs Description Process, set point error PV - SP Deviation percent based on range Frcbk input auctioneering ref Frcbk input high range Frcbk input low range Frcbk input incremental reset Frcbk input forceback status Frcbk input type Frcbk input value Output auctioneering reference Output high range Output low range Output incremental reset Output forceback status Output type Output value PV input auctioneering ref PV input high range PV input low range PV input incremental reset PV input forceback status PV input type PV input value Previous scans' PV value Process variable rate Previous scans' PV rate SP Frcbk auctioneering ref SP Frcbk high range SP Frcbk low range SP Frcbk incremental reset SP Frcbk forceback status SP Frcbk type SP Frcbk value SP input auctioneering ref SP input high range SP input low range SP input incremental reset SP input forceback status SP input type SP input value Previous scans set point value Set point rate Previous scans set point rate Complex Output Output percent based on range SP Forceback Complex Output

Metso Automation 278589

4-35

Function Blocks and Buffers Programmer's Reference and User's Guide


Name FrcbkIn Freeze Init PVInCtl SPInCtl Type Complex Float Float Complex Complex Description Forceback complex input Freeze output change when true Initialize / reset PID Process variable complex input Set Point complex input

Parameters Name ATEnable CtlAction ErrorSqFactor PIDType PropATMult PropGain PropSPMult PVFilterBand RateATMult RateFilterBand RateGain RateSPMult RateTime RateType Reset ResetATMult RstFilterBand RstFilterGain SPAWUHys SPDecWULmt SPFilterBand SPIncWULmt Type Boolean Boolean Float Float Float Float Float Float Float Float Float Float Float Boolean Float Float Float Float Float Float Float Float Description Enable adaptive tuning if true Direct act = 0, Reverse act = 1 Error squared factor Series=0, Ideal=1, Parallel=2 Adaptive tuning prop multiplier Proportional gain Proportional set pnt multiplier Process variable filter band Adaptive tuning rate multiplier Rate Filter Band Rate Gain Rate set point multiplier Rate Time Classical = 0, Fixed = 1 Reset Gain Adaptive tuning reset multiplier Reset Filter Band Reset Filter Gain Hysteresis for SP antiwindup SP Windup deviation tolerance Set point filter band SP Windup deviation tolerance

Commands Name Perturber Type Float Description Value of step change for tuning

4-36

Metso Automation 278589

Function block Category: Modulating Control Logic

Feedforward (FEEDFWD)
Atomic block Category: Modulating Control Logic Atomic block Subcategory: Basic

InCtl FrcbkIn PVInCtl PropATMult RateATMult Freeze Init

FEEDFWD

OutCtl FrcbkOut Out OutPct PVLast PVRate PVRateLast

Overview
Derives Proportional, and Derivative control action from Process Variable input to generate proportional only incremental control action (change request) added to the incremental input for output.

Critical Behaviors
Proportional, and Derivative action calculation. Separate filtering for Proportional, and Derivative.* Control action parameter adjustment without initialization. (except rate calculation filter time). Multiplicative adaptive tuning input factors with application switch(permits fixed relative adjustment). Optional Rate Calculation Method ** Freeze stops control action. Init initializes derivative calculation.

* Feedforward addition to Controller output for proportional and rate action is determined by the change in proportional inputs and their rate of change (difference from last values saved in registers). Filtering is applied by detecting only value change in excess of the filter band. When a value change is detected, control action in proportion to the change is computed and the last value register is made equal to the current value (for the next change detection). When there is no value change detected (current value is within filter band of last value), no control action is computed and the last value register remains unchanged.

Metso Automation 278589

4-37

Function Blocks and Buffers Programmer's Reference and User's Guide


** Ideal rate action (to cancel a pole in the process response) is somewhat compromised by the introduction of a finite rate gain. This compromised rate action is a classical method with the compromise of rate gain reduction (rate calculation filter (delay) time increase) for noise attenuation. Zero Rate Filter Band is recommended and the calculation of rate and its output includes the rate time for this classical method. An alternate method is provided that would permit less rate calculation filter time (for the same control action reduction) by the introduction of a deadband filter on the change of rate of change detection (computed for the incremental control action). This alternative method is further removed from the classical method by calculating the rate of change with a rate calculation filter time adjusted independently from the rate time (so the filter band can be set consistently). The calculation of rate and its output is calculated on a fixed rate time (one minute) basis and the calculation filter time is the fixed rate calculation time divided by RateGain.)

Detailed Description
Modulating Control Feedforward Application Configuration
CtlAction Integer 0 = Direct: Increase change request output for process increase. 1 = Reverse: Decrease change request output for process increase.

This is the most basic configuration decision for the feedforward: which direction to move the output for a specific direction of change in process variable.
RateType Integer 0 = Classical damping varied by RateTime per set RateGain 1 = Fixed Rate of Change calculation (E.U./ Min) per set RateGain, Rate Time applied in Rate control action factor.

4-38

Metso Automation 278589

Function block Category: Modulating Control Logic

Classical Rate: Filter Band Rate Gain Rate Variable Rate Calc Filter Filter Band not recommended too interactive with Rate Time (rate tuning adjustment). Rate Action

Rate Time Alternate Rate: Filter Band Rate Gain Rate Variable Fixed Time (1 Minute) Rate Time Rate Calc Filter Calculation method skews mathematical application of rate to cancel pole in control stability plot. Multiply Rate Action

Classical: Ideal rate action (to cancel a pole in the process response) is somewhat compromised by the introduction of a finite rate gain. This compromised rate action is a classical method with the compromise of rate gain reduction (rate calculation filter (delay) time increase) for noise attenuation. Zero Rate Filter Band is recommended and the calculation of rate and its outputs (Rate and RateLast) uses RateTime for its time base. An alternate method is provided that would permit less rate calculation filter time (for the same control action reduction) by the introduction of a deadband filter on the change of rate of change detection (computed for the incremental control action). This alternative method is further removed from the classical method by calculating the rate of change with a rate calculation filter time adjusted independently from the rate time (so the filter band can be set consistently). The calculation of rate and its outputs (Rate and RateLast) is calculated on a fixed rate time (one-minute) basis and the calculation filter time is the fixed rate calculation time divided by RateGain.)
RateGain Float Establishes Rate Calculation filter time (lag time constant) per RateType.

Preset to 10 and adjust as required during rate tuning.


ATEnable Integer 0 = Ignore Adaptive Tuning multiplication factor inputs (ATMult). 1 = Apply Adaptive Tuning multiplication factor inputs.

Tuning

Metso Automation 278589

4-39

Function Blocks and Buffers Programmer's Reference and User's Guide


PropGain RateTime Float Float PV and SP change proportional gain. Gain of proportional action on Rate Calculation change.

These factors scale the percent control action calculated for the percent process variable change. The control action percentage is converted to engineering units by range values of receiving atomic blocks. The process variable percent value is established by range values of the process variable complex input. If the process variable input is simple, range values of 0 and 100 are applied.

Adaptive Tuning Connections


PropATMult RateATMult Float Float Proportional Action Adaptive Tuning Multiplier Rate Action Adaptive Tuning Multplier

Noise Filtering
for proportional and rate action:
PVFilterBand PVFilterRamp Float Float Change detection deadband Engineering Units* Rate of Last Value ramp to equal current value Engineering Units per Second*

for rate action:


RateFilterBand RateFilterRamp Float Float Rate Calculation change detection band - Engineering Units* Rate of Last Value ramp to equal current value Engineering Units per Second*

* Feedforward (change demand) output for proportional and rate action is determined by the change of input value and change of input rate of change value. The change detection for change demand output is filtered by comparison to a last value (saved in registers) to the current value. The last value is then updated according to the change detected for use next scan. When the FilterRamp is zero, the change detected is the difference between the current and last value when the difference is greater than the FilterBand. When a change is detected the last value is updated to equal the current value. Differences within the FilterBand results in no change detection, no control output change demand. This filtering action results in relatively large step feedforward change demand outputs with zero feedforward change demand output between them. When the FilterRamp is not zero and the difference between the current and last value is greater than the FilterBand, the change detected is the excess of the difference beyond the Filter Band and the last value is updated to equal the current value less the FilterBand (could also be stated that the last value

4-40

Metso Automation 278589

Function block Category: Modulating Control Logic


is changed by the change detected). When the FilterRamp is not zero and the difference between the current and last value is less than the FilterBand and greater than the ramp single scan rate increment set by the FilterRamp value, the change detected is that rate increment and the last value is ramped toward the current value by the rate increment. Differences within the FilterRamp rate increment result in no change detection, no control output change demand. This filtering action results in smaller step feedforward change demand outputs accompanied by ramping control change demand outputs.

Attributes
Outputs Name FrcbkOut Out OutCtl OutPct Type Complex Float Complex Float Status Name FrcbkInAREF FrcbkInRHI FrcbkInRLO FrcbkInRST FrcbkInSTAT FrcbkInTYP FrcbkInVAL FrcbkOutAREF FrcbkOutRHI FrcbkOutRLO FrcbkOutRST FrcbkOutSTAT FrcbkOutTYP FrcbkOutVAL InCtlAREF InCtlRHI InCtlRLO InCtlRST InCtlSTAT InCtlTYP InCtlVAL OutCtlAREF OutCtlRHI OutCtlRLO OutCtlRST OutCtlSTAT OutCtlTYP OutCtlVAL PVInCtlAREF PVInCtlRHI PVInCtlRLO Type Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float Float Float Float Description Frcbk input auctioneering ref Frcbk input high range Frcbk input low range Frcbk input incremental reset Frcbk input forceback status Frcbk input type Frcbk input value Frcbk auctioneering ref Frcbk high range Frcbk low range Frcbk incremental reset Frcbk forceback status Frcbk type Frcbk value SP input auctioneering ref SP input high range SP input low range SP input incremental reset SP input forceback status SP input type SP input value Output auctioneering reference Output high range Output low range Output incremental reset Output forceback status Output type Output value PV input auctioneering ref PV input high range PV input low range Description Forceback Complex Output Simple output Complex Output Output percent based on range

Metso Automation 278589

4-41

Function Blocks and Buffers Programmer's Reference and User's Guide


PVInCtlRST PVInCtlSTAT PVInCtlTYP PVInCtlVAL PVLast PVRate PVRateLast Float Integer Integer Float Float Float Float Input Name FrcbkIn Freeze InCtl Init PVInCtl Type Complex Float Complex Float Complex Description Forceback complex input Freeze output change when true Complex input Initialize / reset Process variable complex input PV input incremental reset PV input forceback status PV input type PV input value Previous scans' PV value Process variable rate Previous scans' PV rate

Parameter Name ATEnable CtlAction PropATMult PropGain PVFilterBand RateATMult RateFilterBand RateGain RateTime RateType Type Boolean Boolean Float Float Float Float Float Float Float Boolean Description Enable adaptive tuning if true Direct = 0, Reverse = 1 Adaptive tuning prop multiplier Proportional gain Process variable filter band Adaptive tuning rate multiplier Rate Filter Band Rate Gain Rate Time Classical = 0, Fixed = 1

4-42

Metso Automation 278589

Function block Category: Modulating Control Logic

Pulse Adjusting Type Output (PATOUT)

InCtl Feedback

PATOut

Move MoveTest FrcbkOut

Freeze IncOvrd DecOvrd IncBlock DecBlock IncLimit DecLimit ClearAcc

Out OutPct UnOutAcc

FeedbackFail DriveUnitFail FailCode

Overview
Converts change in position requirement to on-time for output by hardware buffer. Provides for block and override applications to output.

Critical Behaviors
Converts Incremental Change Command Output from Limiter atomic block to On-Time for Quad PAT Output buffer with: adjustable conversion linearity. adjustable conversion gain (expressed as dynamic range). adjustable deadband. adjustable minimum on-time. drive unit backlash compensation. optional conversion without feedback. compensation for drive unit coasting overshoot detection (resets action accumulator to zero) plug stopping operation Sets On-Time for Override Commands (per Override Rate Factor) Clamps On-Time for following: Inc/Dec Block inputs Inc/Dec Limit inputs Freeze input permits implementation of Control Lockout.

Metso Automation 278589

4-43

Function Blocks and Buffers Programmer's Reference and User's Guide


Clear Accumulator input resets Un-output accumulator, without disrupting control and resets latched Feedback failure condition from excessive rate of change. Position feedback monitor for out of range or excessive rate of change. Drive Unit (position feedback) response to on-time monitor.

Detailed Description
Many control loops require a value type output as a demand for positioning pneumatic or motor operator valves or dampers. An alternative output can provide pulses for positioning a valve or damper for the process control. The objectives of the PAT On-Time Determination design are to: Implement each change requirement with a single timed pulse (as accurately as possible) rather than a series of pulses which means reduced drive unit rate of change. Provide for operation when feedback fail or is not available. Provide for minimal drive unit motor operation (by reducing the number of starts by controlling the application of positioning control).

Each 500 millisecond scan, the PATOut Atomic block establishes the ontime for a Quad PAT Output for a motor operated drive unit according to the required change in drive unit position. The on-time calculation logic permits drive unit operation without feedback (open loop operation) through the adjustments of Deadband, Minimum On-Time, Dynamic Range, Linearity and Travel Time. Feedback application provides overshoot detection and correction operation and positioning control through the adjustments of Backlash Range, Position Control Period, Position Control Reset Period, and Position Control Error Gain. The MOVE output is the on-time established. The on-time calculation is only executed every 500 millisecond regardless of the assigned svctimebase. The PATOut block and QPATBuffer could have assigned svctimebase less than 500 millisecond, which means that (without any other coordination) the QPATBuffer (or any other logic reading MOVE) might act on an on-time calculation more than one time. The MOVETEST output was created to avoid this problem. It is incremented (changed) only when the on-time calculation is executed. The QPATBuffer (or any other logic reading MOVE) acts on the MOVE value only when it detects a change in the MOVETEST value. The MOVETEST value is not important, it simply increments up to a limit and then resets to zero - there is no meaning to its limit or time of reset to zero, the only meaning is taken from its change. The QPATBuffer executes its logic when MOVETEST is toggled between zero and one, but incrementing to a large value (instead of toggling) is provided to assure that QPATBuffer does not miss a change. Note that logic inputs to the PATOut block could affect the MOVE value and a MOVETEST change in a scan that is not the same as the 500-millisecond interval if the block was assigned a faster svctimebase. The feedback positioning control error is established by a comparison of the feedback to the Position Demand value or comparison of the accumulated

4-44

Metso Automation 278589

Function block Category: Modulating Control Logic


feedback change to the accumulation of position change demand. Feedback application (and positioning control) may be applied continuously or for a timed period or only when feedback position is not failed. The characteristics of the drive unit; minimum on-time for consistent movement (includes characteristic of power switch), amount of movement for minimum on-time, amount of movement for full (single scan) on-time, amount of movement for half (single scan) on-time and rate of movement for continuous on-time

are established by open loop testing to establish open loop operation. Feedback is required to establish the drive unit characteristics, but would not be used during open loop operation. Closed loop (positioning control) operation adjustments are established by control tests with the open loop parameter settings established (and basically not changed). When an input of Position Demand changes or a Change Requirement is input, the on-time for the required change is implemented by the open loop calculation. When the open loop calculation on-time is completed (or overshoot is detected), further on-time is calculated by the closed loop calculation (positioning control) according to Feedback application option selection. The Feedback monitor detects feedback fail when the position feedback exceeds 100 + FdbkOvrRngLmt or is less than 0 FdbkOvrRngLmt or the change in the position feedback exceeds FdbkRateLmt * 0.5 within a half second period. The two aspects of the monitor are defeated when their limit parameters are set to zero. The Drive Unit monitor detects drive unit fail when and accumulation of (absolute value) output ontime exceeds DUOnTimeLmt. The output ontime accumulation is set to zero when: A drive unit movement is detected (by position feedback change greater than DUChngDBand) * Drive Unit at limit * The drive unit is not at the Backlash range limit * There is no ontime output for (2) scans (of PAT ontime calculation or of Positioning Control action)

* in direction of output pulse (actually NO opposite direction output the last two previous scans).

Metso Automation 278589

4-45

Function Blocks and Buffers Programmer's Reference and User's Guide


Setting the DUChngDBnd parameter negative will defeat this monitor.

Modulating Control PATOut Application Configuration


FdbkAppl Integer 0 = No Feedback Application (used only for Output/Output Percent) 1 = Full positioning (reverse output on overshoot). 2 = Sufficient positioning (continue output until sufficient change). 3 = Open Loop positioning (monitor for response to output only). 4 = Full positioning - Open Loop positioning for Feedback Fail. 5 = Sufficient positioning - Open Loop positioning for Feedback Fail.

Enter 0 if no position feedback is available on-time is directly (and linearly) calculated from change demand scaled by TravelTime. Enter 1 or 4 for positioning control that includes reverse pulsing for overshoot. Enter 2 or 5 for positioning control that excludes reverse pulsing on overshoot. Enter 3 for on-time calculated from change demand with respect to deadband, dynamic range and non-linearity, but without position control; position feedback does not affect pulsing.
PosTimePrd Float Positioning time period. Amount of time allotted for PATOUT to find the desired position.

Enter 0 for continuous positioning. Enter a non-zero value greater than PosResetPrd for period of positioning action following change (FdbkAppl = 1,2,4,or5). Continuous positioning may be undesirable because it causes output pulsing on feedback change (in addition to demand change).

Tuning
Shown in order of adjustment.
IncMinOnTim DecMinOnTim Float Float Minimum On-Time (milliseconds) for Increase (tuned for minimum drive unit increase movement) Minimum On-Time (milliseconds) for Decrease (tuned for minimum drive unit decrease movement)

Set for minimum pulse on-time that causes a consistent drive unit movement for each (minimum) pulse (increase and decrease). (Note that consistency should be observed by repeated pulsing in one direction to avoid uncertainty that might be caused by feedback gearing backlash.)
Deadband Float Change demand (plus accumulation) (%) ignored for output

Set for amount of consistent drive unit movement observed for MinOnTim adjustment.
IncDynamRng Float Increase Change Amount where on-time < 100%. Positive value greater than Deadband.

4-46

Metso Automation 278589

Function block Category: Modulating Control Logic


DecDynamRng Float Decrease Change Amount where on-time < 100%. Negative value less than Deadband.

Set for amount of drive unit movement observed for 500 millisecond pulse for each direction. Pulse several times in same direction to avoid uncertainty that might be caused by feedback gearing backlash.
NonLinearity Float Ratio of least slope divided by greatest slope of change to on-time conversion in dynamic range. (0.0 to 1.0)

If amount of drive unit movement observed for 250 millisecond pulse is equal to half of drive unit movement observed for 500 millisecond, set at zero. Set greater than zero if the ratio for 50% On-Time (250 millisecond pulse) movement to Full On-Time (500 millisecond pulse) drive unit movement is greater than 0.5 according to the following chart.
1 0.9 0.8 Non-Linearity Entry 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.5 0.52 0.54 0.56 0.58 0.6 0.62 0.64 0.66 0.68 0.7 Ratio of Movem ent for 50% On-Tim e

TravelTime

Float

Seconds to change 0 100% with 100% on-time required for position change estimate and DIAT operation.

Set equal to drive unit travel time


BackLashRng Float Range (% amount) of drive unit position feedback backlash. Amount of drive unit output shaft travel without position feedback change due to direction reversal.

Set equal to observed drive unit movement for MinOnTim adjustment times the number of pulses required before drive unit feedback change is observed following reversal of pulse direction.
FdbkFilterBand Float Band for Feedback Change detection for positioning control

Set greater than zero for position feedback noise filtering; must be less than Deadband.
PosCtlGain PosResetPrd Float Float Position control gain. Positioning reset time period.

These adjustments are for the positioning action that follows the implementation of on-time calculated from the change requirement. The gain

Metso Automation 278589

4-47

Function Blocks and Buffers Programmer's Reference and User's Guide


is expected to be 1.0 (presuming the dynamic range settings are accurate). The reset time period is set long enough for the results of the previous ontime output to be apparent before the next positioning action on-time is calculated A 2 seconds default is recommended.
OvrdRate Float Rate Limit (0 1.0 portion of full drive unit on-time) applied for override commands only.

Normally connected to override logic rate selection. If less than full on-time override rate required, set fraction of on-time (0 1.0); otherwise set 1.0.

Monitor Adjustments
FdbkOvrRngLmt Float Tolerance limit for value greater than 100, less than zero

Enter amount of position feedback overrange tolerated before feedback fail is declared (5 percent default recommended). Zero entry turns off feedback fail declaration due to overrange condition.
FdbkRateLmt Float Tolerance limit for rate of change (% / sec) translated to % / 0.5 sec

Enter rate (Percent per Second) in excess of maximum drive unit rate of change for feedback fail declaration (10% per Second default recommended). Zero entry turns off feedback fail due to excessive rate of change.
DUChngDBand Float Position change detection deadband.

Enter value similar to result of minimum on-time movement to detect that the drive unit is responding to pulsing.
DUOnTimeLmt Float Tolerance limit for Drive Unit On-Time without change.

Enter seconds time before motor damage occurs when continuously energized in a stall condition (5 seconds default suggested).

Tuning Procedure
Determination of the position feedback response to various on-time values in both directions requires open loop operation of the PAT output by disconnecting the Quad PAT Output Buffer from the PATOut Atomic block as follows: 1. Disconnect the Quad PAT Output Buffer MoveTest input by changing the input reference or forcing the Atag atomic block for the input (where provided). As the input reverts to its default value (or Atag assumes its forced value, the Quad PAT Output Buffer will apply the current value for its Move input (which should be zero no change in progress). 2. Disconnect and enter zero value for the Quad PAT Output Buffer Move input by changing the input reference or forcing the Atag atomic block for the input (where provided). 3. Reset Quad PAT Output Buffer Freeze status to False. Position Feedback Response Test initiation will require entry of the desired on-time output for the Move input as seconds (0.050 for 50 milliseconds, 0.5

4-48

Metso Automation 278589

Function block Category: Modulating Control Logic


for a half second (500 milliseconds); 5.5 for five and a half seconds, the normal range of entries). Then change the MoveTest input value by an integer amount to cause the Quad Pat Output Buffer to execute the Move input on-time value by write(s) to the QuadPAT (hardware) module. (Move input execution is only by this trigger (not continuous).

Determine response to minimum on-time:


1. Set increase 50 milliseconds (+ 0.050) in Move. 2. Change MoveTest by an integer amount. 3. If the resulting position feedback change is greater than 0.1 percent, repeat the 1 and 2 with reduced Move values until the minimum consistent position feedback change is achieved (note that consistency is important so repeated tests at the final value should be made to assure it). 4. If the resulting position feedback change is less than 0.1 percent, (or nothing or not consistent) repeat the 1 and 2 steps with increased Move values until the minimum consistent position feedback change is achieved. (Values significantly greater than 0.050 may be required for drive units operated with power switching equipment to accommodate delays in the power switch circuitry.) 5. Repeat steps 1 and 2 and 3 or 4 with negative values in Move to determine the response to minimum on-time in the decrease direction. 6. Enter the resulting minimum on-times in the appropriate PATOut Atomic block Inc/DecMinOnTime parameter fields (both entries positive). 7. Enter the greatest resulting position feedback response in the PATOut Atomic block Deadband parameter. Note the PATOut logical deadband is twice the Deadband parameter value (since it is applied for both directions) so if the resulting position feedback response is significantly greater than 0.1 percent, the Deadband parameter entry may be between that value and one half the value.

Determine response to full on-time (1/2 second).


1. Set increase 500 milliseconds (+ 0.5) in Move. 2. Change MoveTest by an integer amount. 3. Note the resulting position feedback change. 4. Repeat steps 1 and 2 and 3 until consistent feedback change is determined. 5. Repeat steps 1 and 2 and 3 and 4 with negative value in Move to determine the response to full on-time in the decrease direction.

Metso Automation 278589

4-49

Function Blocks and Buffers Programmer's Reference and User's Guide


6. Enter the response values in the appropriate PATOut Atomic block Inc/DecDynamRng parameter fields (Enter negative value for DecDynamRng value). Direct entry of these values means that the PATOut Atomic block logic will command full on-time (500 milliseconds or more every 500 milliseconds) when its position change requirement is equal to or greater than the dynamic range (DynamRng) value. Any change requirement less than the dynamic range value and greater than the Deadband value will result in a prorated on-time command (between minimum on-time and 500 milliseconds). Note that these position change values represent the velocity during the ontime pulse plus the coast following the on-time pulse.

Determine response linearity.


1. Set increase 250 milliseconds (+ 0.25) in Move. 2. Change MoveTest by an integer amount. 3. Note the resulting position feedback change. 4. Repeat steps 1 and 2 and 3 with negative value in Move to determine the response to full on-time in the decrease direction. 5. If the position response is roughly half the position response to full ontime, set the PATOut Atomic block NonLinearity parameter to 0.0. 6. If the position response is more than roughly half the position response to full on-time, set the PATOut Atomic block NonLinearity parameter to greater than 0.0 according to the response function out = in * ((1-x) + in* x) shown in the following graph for NonLinearity value versus response ratio (250 millisecond response divided by 500 millisecond response):

4-50

Metso Automation 278589

Function block Category: Modulating Control Logic

5 4.5 4 Non-Linearity Entry 3.5 3 2.5 2 1.5 1 0.5 0 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 Ratio of Movem ent for 50% On-Tim e

(A alternative method of setting/verifying this parameter is to restore the Quad PAT Output Buffer connections for Move and MoveTest, configure the PATOut Atomic block for open loop positioning and enter a change requirement of half dynamic range and adjust linearity for drive unit change equal to the change requirement (open loop).)

Determine rate of response for continuous on-time.


1. Set increase 5500 milliseconds (+ 5.5) in Move. 2. Change MoveTest by an integer amount. 3. Note the resulting position feedback change. 4. Repeat steps 1 and 2 and 3 with negative value in Move to determine the response to continuous on-time in the decrease direction. 5. Subtract the value determined by response to full on-time (1/2 second) and divide the result by 5 for Percent per Second rate of response to continuous on-time. Divide the Percent per Second rate in to 100 and enter the result in the appropriate PATOut Atomic block TravelTime parameter. The TravelTime parameter establishes the estimated change excluding coasting when continuous on-time is longer that 500 milliseconds and when an override is active.

Test PAT Positioning


Restore the Move and MoveTest Quad PAT Output Buffer references (and reset the Freeze status) or Move and MoveTest Atomic Blocks to normal operation (remove force mode) and test the PAT positioning by manual operation:

Metso Automation 278589

4-51

Function Blocks and Buffers Programmer's Reference and User's Guide


1. Set PATOut Atomic block PosGain to 0.0 (this causes the Atomic block logic to output for only the initial position change requirement - not for any subsequent position error). 2. Enter various manual output changes and note the position feedback response. The response should be essentially the same as the manual change erring on the lesser side to avoid overshoot and hunting with full positioning. Decrease TravelTime values to decrease overshoot on changes greater than dynamic range. Increase DynamRng values to decrease position feedback response for changes equal to dynamic range. Check linearity with manual change values less than the dynamic range values. 3. Set PATOut Atomic block PosCtlGain to 1.0, PosResetPrd to 2.0 (seconds), and PosTimePrd to 0.0 and repeat the manual output change entries observing full positioning action (where applied). Increase PosResetPrd to address hunting (to permit full position feedback change to occur before next positioning action). If hunting persists, reduce PosGain. If the testing in step 2 results in accurate change executions, it may be difficult to see positioning action. In that case, temporarily reduce the TravelTime to cause sufficient error on position changes to check positioning action. 4. A non-zero entry for PosTimePrd will set a time limit on positioning action time following the last position change request (zero value selects continuous positioning action).

Feedback Applications:
At this point, having seen the drive unit operation, the feedback application configuration should be reviewed: Enter 0.0 for DIAT operation - on-time output linearly set by change requirement scaled by TravelTime for situations where the drive unit has no position feedback that could even be used for tuning (checking its response.. Enter 1.0 for full positioning mode that requires position feedback not failed for all operation. .Enter 2.0 for Sufficient positioning, output pulsing until change is equal to or greater than change requirement (no reverse pulsing on overshoot) Enter 3.0 for output only for initial change requirement (no positioning position feedback is not considered in the output logic). Enter 4.0 for 1.0 normal operation that switches to 3.0 operation when feedback fails. Enter 5.0 for 2.0 normal operation that switches to 3.0 operation when feedback fails. There are a number of options when the drive unit has position feedback. The most desirable option would be 3.0 that uses feedback only for monitoring the drive unit operation (not for output pulsing). This option should provide suitable operation as long as the drive unit moves consistently over its entire

4-52

Metso Automation 278589

Function block Category: Modulating Control Logic


control range and for all operating conditions. Exact positioning is not absolutely necessary for satisfactory control: errors in drive unit change versus change demand simply represent control proportional gain variations and if they are relatively small (on a percentage of change basis) there should not be any observable effect on the control. Where the drive unit movement is not consistent, some positioning control might be required. Select options 4.0 or 5.0 rather than 1.0 or 2.0 to have some ability to move the drive unit during the feedback fail condition.

Backlash application.
Backlash in a drive units output gearing means motor operation (on direction reversal) that does not change either position feedback or output shaft and has no effect on the process until the motor has driven through the backlash range. This type of backlash causes the process control to be sluggish on process change reversals reset action has to run the motor through the backlash condition. Backlash in a drive units feedback gearing means that motor operation changes the output shaft, affecting the process without changing the position feedback. This causes process control instability if the motor operation is by positioning control because the motor will keep driving (too far) until the position feedback change effecting the process more than intended by the control tuning. The backlash compensation function in the PATOut atomic block corrects for this feedback gearing type of backlash. A backlash condition should be investigated if multiple pulses are required to cause the drive unit position feedback change following a reversal of operation direction, If direct observation of the drive unit output shaft or process affect indicates that there is shaft movement (end element change) without position feedback change on reversal of direction of drive unit operation and closed loop positioning is applied, application of the backlash logic is appropriate. Without the backlash logic, any drive unit directional reversal would cause the output shaft to move through the backlash region before stopping (with the application of full or sufficient positioning modes). Application of the backlash logic causes the PATOut Atomic block logic to presume output shaft movement (without position feedback change) following operation direction reversal. The backlash range is determined following the minimum on-time testing; using that testing results as follows: 1. Set the minimum on-time value in one direction for Move and repeatedly change the MoveTest until a consistent change in position feedback is observed for each MoveTest value change. 2. Set the minimum on-time value for the other direction for Move and repeatedly change the MoveTest until change in position feedback in the opposite direction is observed, while counting the MoveTest changes.

Metso Automation 278589

4-53

Function Blocks and Buffers Programmer's Reference and User's Guide


3. Compute the backlash range as the product of the count of MoveTest changes without position feedback change times the position feedback change result for the minimum on-time tests in that direction. 4. Repeat steps 1 and 2 and 3 for the opposite direction. 5. Repeat steps 1 and 2 and 3 and 4 until consistent results are achieved for step 3. 6. Enter the result in the BackLashRange parameter field of the PATOut Atomic block.

Attributes
Outputs Name DriveUnitFail FailCode FeedbackFail FrcbkOut Move MoveTest Out OutPct PosErr Name BackLash FrcbkOutAREF FrcbkOutRHI FrcbkOutRLO FrcbkOutRST FrcbkOutSTAT FrcbkOutTYP FrcbkOutVAL InCtlAREF InCtlRHI InCtlRLO InCtlRST InCtlSTAT InCtlTYP InCtlVAL UnOutAcc Type Boolean Integer Boolean Complex Float Integer Float Float Float Status Type Float Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float Float Inputs Name ClearAcc DecBlock Type Boolean Boolean Description Clear UnOutAcc Block output decrease when true Description Estimated amount of backlash Frcbk output auctioneering ref Frcbk output high range Frcbk output low range Frcbk output incremental reset Frcbk output forceback status Frcbk output type Frcbk output value Input auctioneering reference Input high range Input low range Input incremental reset Input forceback status Input type Input value Stores unused on-time Description Drive unit has failed if true Failure code Feedback has failed if true Forceback Complex Output On-time amount sent to buffer Causes QPAT to output new ontime Simple output Output percent based on range Position error

4-54

Metso Automation 278589

Function block Category: Modulating Control Logic


DecLimit DecOvrd Feedback Freeze IncBlock IncLimit IncOvrd InCtl Boolean Boolean Float Boolean Boolean Boolean Boolean Complex 0% travel limit input 100% on-time toward 0% Position feedback Stop Output Block output decrease when true 100% travel limit input 100% on-time toward 100% Complex Input

Parameters Name BackLashRng Deadband DecDynamRng DecMinOnTim DUChngDBand DUOnTimeLmt FdbkAppl FdbkFilterBand FdbkOvrRngLmt FdbkRateLmt IncDynamRng IncMinOnTim NonLinearity OvrdRate PosCtlGain PosResetPrd PosTimePrd TravelTime Type Float Float Float Rel Time Float Float Integer Float Float Float Float Rel Time Float Float Float Rel Time Rel Time Rel Time Description Range of DU pos fdbk backlash Deadband applied to dynamic rng Decrease dynamic range<Deadband Minimum On-Time for Decrease Drive unit change deadband Drive unit on-time limit Feedback application Feedback filter band Feedback overrange limit Feedback rate limit Increase dynamic range >Deadband Minimum On-Time for Increase Least/greatest slope of on-time Max on time rate during override Position control gain Positioning reset time period Positioning time period Drive unit travel time

Command Name Perturber Enumerated Attributes: FailCode: Excessive Rate = 1 Under Range = 2 Over Range = 4 Bad Quality Feedback = 8 Type Float Description Value of step change for tuning

Metso Automation 278589

4-55

Function Blocks and Buffers Programmer's Reference and User's Guide


FdbkAppl: No Positioning FULL Positioning Sufficient Positioning Open Loop Positioning Full Open Loop Positioning Sufficient Open Loop Positioning

0 1 2 3 4 5

4-56

Metso Automation 278589

Function block Category: Modulating Control Logic

Participation Member (PARTMEM)

MstrDmd FrcbkIn EqlRef EqlBias EqlPmt Cancel Cutout UnOutAcc

PartMem

OutCtl FrcbkOut Out OutPct EqlErr

Overview
This atomic block converts the participation master atomic blocks common change requirement to individual change requirement according to equalizing ratio (to minimize change effect on equalizing relationship with other members). It also calculates change requirement to establish relationship with other members according to equalizing reference and biases. It provides member status and process affect information to participation master for its change distribution calculations.

Critical Behaviors
Requires Participation Master for operation Only supports incremental type control operation Scales distribution of control action to minimize equalizing relationship upsets. (Multiplies common control action distribution by equalizing ratio.) Provides for relative weighting of members affects on process. Participates in equalization and calculates equalizing action when automatic and not limited. Optionally provides feedforward to other members when removed from participation and for manual operation. Provides forceback for initializing equalizing bias (when not equalizing active). Supports inverse participation where an element is considered equal when its equalizing reference (percent) times (100 X) is equal to the equalizing average (percent) (change demand is inverted).

Metso Automation 278589

4-57

Function Blocks and Buffers Programmer's Reference and User's Guide

Detailed Description
Modulating Control PARTMEM Application Configuration
Weight Float Weight of Member Output, relative affect on process default 1.0.

Enter value that indicates this members relative effect on the process variable controlled in comparison to other participation members. Of all the members, set one member's Weight to 1.0, then consider each of the other members Weight with respect to that member. If a member has a greater effect on the process (in proportion to its forceback value), its weight should be greater than 1.0. This entry affects the range and value of the total participation group forceback and can be set for the purpose of scaling the forceback (if desired). Note that a level of participation (one master, n members) considers each member percent (0 100) output not engineering units output. This has little effect when the output is an element position, which normally considered as 0 to 100. But when a participation level is for participation of lower participation levels, the engineering units for each of the lower levels is the count of their members, but the upper level only considers each of its members as 0 to 100. To scale the upper level for the true total of element positions in the lower levels, each of its member Weights must be set equal to the number of members in its lower participation level. This exact total position scaling may or may not be desired depending on the weight of each elements affect on the process. Another application of weight as a scaler would be to enter weights equal to one divided by the number of members to scale the master to 0 to 100 (percent of all).
CtlAction Integer 0 = Direct: Change Demand not inverted direct equalizing. 1 = Reverse: Change Demand inverted equalizing by (1 X) default = 0

Select Reverse only if the member has an opposite effect on the process from other member(s). Do Not Use to control the loop control action (i.e. do not select Reverse for all members in participation). Partial manual operation of members in participation where Reverse is applied may have unintended consequences because the members that have opposite control action to the member(s) on manual will move in the same direction as the movement of the manual member(s). To prevent the unintended consequences configure the member auto logic so that all members must be auto (or at least auto selected so manual operation blocked) for any member to be auto.
EqlAction Integer 0 = Direct: High Equalizing Reference -> Increase Equalizing Action 1= Reverse: Low Equalizing Reference -> Increase Equalizing Action default = 1

This is similar to CtlAction decision for the PID: which direction to move the output for a specific direction of equalizing error. If the equalizing reference is greater than it should be, 0 would cause increase output to restore equalization, 1 would cause decrease output to restore equalization. When equalizing reference is position feedback for the element operated by the output, 1 (Reverse) is required.

4-58

Metso Automation 278589

Function block Category: Modulating Control Logic


EqlBiasActn Integer 0 = Offset, 1 = Ratio, default = 0

Offset bias provides parallel equalization elements operate in parallel with fixed difference equal to the bias value. Ratio bias provides proportioned equalization elements operate in ratio to each other with difference proportioned to level of operation (equalizing reference) equal to 1.0 + bias value divided by 100.
EqlRate Float Limit of Rate of Equalizing Action (Percent / Sec.) Product with EqlPeriod Clamps Equalizing Action Change Request

Set limit in percent per second that clamps rate of equalizing action.

Equalizing Tuning
EqlGain EqlPeriod EqlDeadband Float Float Float Gain of Equalizing Action (Percent Output Change Request / Percent of Equalizing Error (per Equalizing Reference Range).) Time period (seconds) of equalizing action. (Equalizing Action by Proportional Speed Floating Control Change Request is set proportional to Equalizing Error and implemented periodically. Deadband of Equalizing Error for Equalizing Action (Eng. Units)

These adjustments are for the equalizing action. Adjust the gain for the amount of output change desired to correct the existing equalizing error. The period is set long enough for the results of the previous action output to be apparent before the next equalizing action is calculated (2 seconds default is recommended). Deadband is adjusted to avoid equalizing hunting.

Operation
The complex incremental type output is the common incremental change command that is common for all members calculated by the Participation Master atomic block times the equalizing ratio (to distribute the control action for minimal affect on the equalizing relationship to the other participation members) plus the calculated equalizing action (each equalizing period). The equalizing action is from the previous scan calculation when it was passed to the Participation Master for inclusion in its common incremental change command (to offset the equalizing action affect on the overall process). The incremental output is blocked by forceback blocking status and reduced by blocked equalizing action (passive equalizing at limit conditions). Blocked or reduced output is passed back to the Participation master for redistribution to other members during the next scan. Equalizing Action is based on the difference between the percent, biased equalizing reference from the equalizing average from the Participation Master. The equalizing reference is converted to percent of its range value and biased and passed to the Participation Master along with the equalizing active status for the computation of the equalizing average. The previous scan percent, biased equalizing reference value is used for equalizing action
Metso Automation 278589

4-59

Function Blocks and Buffers Programmer's Reference and User's Guide


so it is compared to the same value included in the equalizing average. Note that this means that the bias input value (and the value of the forceback output for the bias) is in terms of percent of the range of the equalizing reference. If an engineering bias input is desired, the bias value output (normally the AutoMan atomic function block target) must be scaled to percent by another function block and the forceback must be scaled also if it is applied. The forceback output for bias is provided for each member; where there are only two members with a single bias for the second member and the bias is to have a forceback, the forcebacks must be calculated as the forceback of the biased member minus the forceback of the other member. Other values passed to the Participation Master for redistribution to other participation members are: Percent forceback value * Weight when not cutout and the edge of cancel state change. Signed to increase other members when cancel true, to decrease other members when cancel false. Percent forceback value change * Weight when not in participation and not cancel or cutout for manual operation feedforward to other members. Percent forceback value change * Weight when change away from forceback block for override operation feedforward to other members. Other values and status passed to Participation Master for its calculations are: Weight for total weight scaling Percent forceback value * weight when not cancel or cutout for total forceback value. Weight * Equalizing Ratio for each direction when in participation and not blocked to scale the common incremental change demand for all the members providing automatic gain adjustment for number of members that will participate in a particular change demand. Auto status for any auto status determination.

Attributes
Outputs Name EqlErr FrcbkOut Out OutCtl OutPct Type Float Complex Float Complex Float Status Name AuctRef AutoStatus CntlStatus DecWtRatio EqlAvg EqlRefAREF EqlRefRHI Type Float Float Float Float Float Float Float Description auctioneering ref Member participating if true Member Status info (256=Clear) Weight ratio for decrease action TotEqlNdx / TotEqlCnt Input auctioneering reference Input high range Description Equalizing error Complex Forceback Output Simple output Complex Output Output percent based on range

4-60

Metso Automation 278589

Function block Category: Modulating Control Logic


EqlRefRLO EqlRefRST EqlRefSTAT EqlRefTYP EqlRefVAL FrcbkInAREF FrcbkInRHI FrcbkInRLO FrcbkInRST FrcbkInSTAT FrcbkInTYP FrcbkInVAL FrcbkOutAREF FrcbkOutRHI FrcbkOutRLO FrcbkOutRST FrcbkOutSTAT FrcbkOutTYP FrcbkOutVAL IncWtRatio MstrIncr MstrRst OutCtlAREF OutCtlRHI OutCtlRLO OutCtlRST OutCtlSTAT OutCtlTYP OutCtlVAL RedistAcc TotalWt TotEqlCnt TotEqlNdx TotWtPos Float Float Integer Integer Float Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float Float Float Float Float Float Float Float Integer Integer Float Float Float Float Float Float Inputs Name Cancel Cutout EqlBias EqlRef EqlSusp FrcbkIn MstrDmd UnOutAcc Type Boolean Boolean Float Complex Boolean Complex Complex Float Description Remove member fdfwd affect Remove member no fdfwd affect Bias used for equalizing Complex Input Suspends equalizing action Complex Forceback Input Complex flow connection point Output windup Input low range Input incremental reset Input forceback status Input type Input value Frcbk input auctioneering ref Frcbk input high range Frcbk input low range Frcbk input incremental reset Frcbk input forceback status Frcbk input type Frcbk input value Frcbk output auctioneering ref Frcbk output high range Frcbk output low range Frcbk output incremental reset Frcbk output forceback status Frcbk output type Frcbk output value Weight ratio for increase action Incr distributed among members Reset distributed among members Output auctioneering reference Output high range Output low range Output incremental reset Output forceback status Output type Output value Re-distribution accumulator Total member weight Total equalizing member count Tot eqlzng ref with bias applied Total member weight * position

Parameters

Metso Automation 278589

4-61

Function Blocks and Buffers Programmer's Reference and User's Guide


Name CtlAction EqlAction EqlBiasActn EqlDeadBand EqlGain EqlPeriod EqlRate Weight Type Boolean Boolean Boolean Float Float Rel Time Float Float Description Direct = 0, Reverse = 1 Direct = 0, Reverse = 1 Offset = 0, Ratio = 1 Eql actn based on EqlDeadband Gain applied to eql action Time period of equalizing action Max rate of change of eql action Weight of Member Out on process

Commands N/A

4-62

Metso Automation 278589

Function block Category: Modulating Control Logic

Participation Master (PARTMSTR)

InCtl

PartMstr

MstrDmd FrcbkOut Out OutPct

ClearAcc

UnOutAcc

Overview
Converts a total change requirement to a common change requirement for a set of participating members according to the number of members that are able to respond and their relative weight and equalizing ratio. Redistributes members' equalizing action, canceled members' process affect, and limited members' un-output accumulation.

Critical Behaviors
Requires Participation Member for operation Only supports incremental type control operation Provides automatic control gain change for number of members responding and their affect on the process. Accumulates un-output proportional, rate and feedforward control action when all members limited in same direction. Redistributes process affect on member cancellation state change. Consolidates member value and status for forceback to upstream atomic blocks.

Description of Distribution
The PID incremental output is scaled as percentage of all that the output controls. Therefore, for participation, it is multiplied by the total of the configured weights of all the members to establish the total change required. ChngRqd = InCtl.Value * TotalWt (shown without accumulation inclusion) This total change required is divided by the total weighted action available in the direction of the change required, the summation of equalizing ratio times weight product of each member that is released to participate and not blocked or limited (velocity limiting excluded) in the direction of the change. This

Metso Automation 278589

4-63

Function Blocks and Buffers Programmer's Reference and User's Guide


product is the divisor because the result will cause change of each member by multiplication by that members equalizing ratio (to maintain equalizing relationship) causing the net effect of that members equalizing ratio times weight. ChngRqd = ChngRqd / Inc(Dec)WtRatio This division forms the value that is applied by each of the members to determine their output change. The reset portion has the same calculations applied for its distribution. Summarizing the calculations by the Master and all of the Members (in participation and without blocks):
[Sum]ChngRqdOut(%) = ChngRqdIn(%) * [Tot]Weight * [Sum]Ratio [Sum] (Weight * Ratio)

The forceback value is the total of the participating members percent position times weight with the low range value equal zero and the high range value equal total of the configured weights (of all members, participating or not) times 100.

Attributes
Outputs Name FrcbkOut MstrDmd Out OutPct Type Complex Complex Float Float Status Name AuctRef AutoStatus CntlStatus DecWtRatio EqlAvg FrcbkOutAREF FrcbkOutRHI FrcbkOutRLO FrcbkOutRST FrcbkOutSTAT FrcbkOutTYP FrcbkOutVAL InCtlAREF InCtlRHI InCtlRLO InCtlRST InCtlSTAT InCtlTYP InCtlVAL Type Float Float Float Float Float Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float Description auctioneering ref Member participating if true Member Status info (256=Clear) Weight ratio for decrease action TotEqlNdx / TotEqlCnt Frcbk Output auctioneering ref Frcbk Output high range Frcbk Output low range Frcbk Output incremental reset Frcbk Output forceback status Frcbk Output type Frcbk Output value Input auctioneering reference Input high range Input low range Input incremental reset Input forceback status Input type Input value Description Complex Forceback Output Complex flow connection point Simple output Output percent based on range

4-64

Metso Automation 278589

Function block Category: Modulating Control Logic

IncWtRatio MstrIncr MstrRst RedistAcc TotalWt TotEqlCnt TotEqlNdx TotWtPos UnOutAcc

Float Float Float Float Float Float Float Float Float Inputs

Weight ratio for increase action Incr distributed among members Reset distributed among members Re-distribution accumulator Total member weight Total equalizing member count Tot eqlzng ref with bias applied Total member weight * position Output windup

Name ClearAcc InCtl

Type Boolean Complex

Description Clear UnOutAcc Complex Input

Parameters N/A

Commands N/A

Metso Automation 278589

4-65

Function Blocks and Buffers Programmer's Reference and User's Guide

Controller Combining (CTLCOMB)

AInCtl BInCtl FrcbkInSum FrcbkInDif PerturbSum PerturbDif SumFreeze DifFreeze AClearAcc BClearAcc

CTLCOMB

SumOutCtl DifOutCtl FrcbkOutA FrcbkOutB Out OutPct

AUnOutAcc BUnOutAcc

Overview
Combines two incremental PID control outputs (inputs A and B) for sum and difference operation of two control elements. The A PID control output operates the two elements in the same direction, the B PID control output operates the two elements in the opposite directions.

Critical Behaviors
Only supports incremental type control operation Combines controller outputs (inputs A and B) by sum and difference of two control outputs: Input A is configured to a controller for the process variable that is the result of the sum of the elements. Input B is configured to a controller for the process variable that is the result of the difference of the elements. Input A moves both outputs in the same direction. Input B moves the outputs in opposite directions, the difference output (Dif) in the opposite direction of the input. Dominance assignment determines which control input is overridden when an element has value forceback (or freeze command) or is blocked or limited. Adjustments for relative effects of outputs to elements on each process (SumRelEffonA, DifRelEffonB). Individual perturbation inputs for each output for tuning testing.
Metso Automation 278589

4-66

Function block Category: Modulating Control Logic

Detailed Description
Modulating Control CTLCOMB Application Configuration
Dominance Integer 0 = A PID is dominant; 1 = B PID is dominant

Select the process that is dominant, the process that should be controlled when one of the outputs has a value or block forceback condition.
SumRelEffOnA DifRelEffOnB Float Float Relative effect of Sum output on A Process Variable Relative effect of Difference output on B Process Variable

Enter values that indicate the output relative effect on the (input) process indicated (considering the effect on the other process as 1.0). Default values are 1.0. Test to establish values as follows: Move the output and observe the changes in both processes in terms of the percentage of range seen by their PID. Compare the percent changes to determine the relative effects. (Example: if the SUM output has twice the effect on the A process, the SUMRelEffOnA value should be 2.0. When the B PID has a change requirement, the requirement distribution would be proportioned to 1 for the SUM output, and 2 for the DIF output, thus minimizing the effect of its change requirement on the A PID process.)
AccStrategy Integer Accumulation Clearing Strategy Options: 0 = Clear only on ClearAcc input command (no additional strategy 1 = also Clear when control input reset value is opposite sign to accumulator value 2 = also Clear when control input status value bit for clear accumulator is set (see AutoMan for value setting options) 3 = 1 and 2

The AccStrategy attribute provides optional strategies for clearing (zeroing) the unoutput action accumulator. Configure 0.0 for accumulator clearing only on command from external logic. Configure 1.0 to immediately clear the accumulation of unoutput control action when the process deviation reverses (causing a reversal of reset action). Configure 2.0 to clear the accumulator to avoid automatic control action carry over to manual operation or manual control action carry over to automatic operation or manual control action windup (according to options set in the AutoMan block providing the control input). Configure 3.0 for both options.

Metso Automation 278589

4-67

Function Blocks and Buffers Programmer's Reference and User's Guide

Tuning Procedure
This procedure mainly details how to incorporate the normal PID tuning procedure:

Determine PID Control Action (Direction)


One might be able to think this through (similar to a single control loop) and get it right, but the control combining makes it a little more complex, so test as follows: With both outputs on automatic and in range and controller basic action functions: (proportional gain, rate time, and reset) at zero; perturb each controller output and note the direction of its process variable change. If the process variable change is in the same direction as the perturbation, the PID control action should be reverse. Otherwise, control action should be forward.

Determine Relative Effects


This commentary is for value entries in attributes: SumRelEffOnA and DifRelEffOnB. These attributes should have default values of 1.0, values for Sum and Dif outputs having equal (percentage) effects on A and B process variables. So many factors can vary the effect of an output on a process that these attributes should be adjusted only for gross differences. Determine the attribute values as follows: With the process variables within normal operating range (close to normal operating setpoints) change each output a particular (preferably the same) amount (make output changes in turn two separate tests). Note the process variable changes (final after process time delays) for each test. Calculate the attribute values as follows (combining the results of both tests):
SumRelEffOnA = ((APVChange / APVSpan) / SumOutChange) / ((APVChange / APVSpan) / DifOutChange) DifRelEffOnB = ((BPVChange / BPVSpan) / DifOutChange) / ((BPVChange / BPVSpan) / SumOutChange)

Where OutChange is in percent and PVSpan is (PV High Range Value PV Low Range Value) (applied to convert PV changes to percent).

Tune Dominant PID with Non-dominant frozen


Tuning tests for both PID Controllers should trend the two controller process variables and two Controller Combining atomic block outputs (at least). Including the PID Controllers setpoints and outputs might also be of interest.

4-68

Metso Automation 278589

Function block Category: Modulating Control Logic


When tuning the first PID controller, set freeze on the other PID atomic block and tune with normal procedure.

Tune Non-dominant PID (with Dominant Active)


When tuning the second PID controller, the first PID controller should have final tuning settings and be actively participating in its process control.

Note that if Determine Relative Effects were 100% accurate, the other process would not change when perturbations are made in one PID. (This 100% accuracy is not expected to be achieved.)

Attributes
Output Name DifOutCtl FrcbkOutA FrcbkOutB Out OutPct SumOutCtl Type Complex Complex Complex Float Float Complex Status Name AInCtlAREF AInCtlRHI AInCtlRLO AInCtlRST AInCtlSTAT AInCtlTYP AInCtlVAL AUnOutAcc BInCtlAREF BInCtlRHI BInCtlRLO BInCtlRST BInCtlSTAT BInCtlTYP BInCtlVAL BUnOutAcc DifOutCtlAREF DifOutCtlRHI DifOutCtlRLO DifOutCtlRST DifOutCtlSTAT DifOutCtlTYP DifOutCtlVAL FrcbkInDifAREF FrcbkInDifRHI Type Float Float Float Float Integer Integer Float Float Float Float Float Float Integer Integer Float Float Float Float Float Float Integer Integer Float Float Float Description Input A auctioneering reference Input A high range Input A low range Input A incremental reset Input A forceback status Input A type Input A value A PID UnOutput Accumulator Input B auctioneering reference Input B high range Input B low range Input B incremental reset Input B forceback status Input B type Input B value B PID UnOutput Accumulator Difference output reference Difference output high range Difference output low range Difference output reset Difference output status Difference output type Difference output value FrcbkInDif auctioneer ref FrcbkInDif high range Description Difference output of two PIDs Forceback output to A PID Forceback to B PID Output Output percent Sum output of two PIDs

Metso Automation 278589

4-69

Function Blocks and Buffers Programmer's Reference and User's Guide


FrcbkInDifRLO FrcbkInDifRST FrcbkInDifSTAT FrcbkInDifTYP FrcbkInDifVAL FrcbkInSumAREF FrcbkInSumRHI FrcbkInSumRLO FrcbkInSumRST FrcbkInSumSTAT FrcbkInSumTYP FrcbkInSumVAL FrcbkOutAAREF FrcbkOutARHI FrcbkOutARLO FrcbkOutARST FrcbkOutASTAT FrcbkOutATYP FrcbkOutAVAL FrcbkOutBAREF FrcbkOutBRHI FrcbkOutBRLO FrcbkOutBRST FrcbkOutBSTAT FrcbkOutBTYP FrcbkOutBVAL SumOutCtlAREF SumOutCtlRHI SumOutCtlRLO SumOutCtlRST SumOutCtlSTAT SumOutCtlTYP SumOutCtlVAL Float Float Integer Integer Float Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float Input Name AClearAcc AInCtl BClearAcc BInCtl DifFreeze FrcbkInDif FrcbkInSum SumFreeze Type Boolean Complex Boolean Complex Boolean Complex Complex Boolean Parameter Name DifRelEffOnB Dominance SumRelEffOnA Type Float Integer Float Description Effect of Difference on B PV A or B PID is dominant Effect of Sum on A PV Description Zero A PID accumulator if true Complex input A Zero B PID accumulator if true Complex input B Command to freeze DifOutCtl Forceback input from DifOutCtl Forceback input from SumOutCtl Command to freeze SumOutCtl FrcbkInDif low range FrcbkInDif incremental reset FrcbkInDif forceback status FrcbkInDif type FrcbkInDif value FrcbkInSum auctioneer ref FrcbkInSum high range FrcbkInSum low range FrcbkInSum incremental reset FrcbkInSum forceback status FrcbkInSum type FrcbkInSum value FrcbkOutA auctioneer ref FrcbkOutA high range FrcbkOutA low range FrcbkOutA incremental reset FrcbkOutA forceback status FrcbkOutA type FrcbkOutA value FrcbkOutB auctioneer ref FrcbkOutB high range FrcbkOutB low range FrcbkOutB incremental reset FrcbkOutB forceback status FrcbkOutB type FrcbkOutB value Sum output reference Sum output high range Sum output low range Sum output reset Sum output status Sum output type Sum output value

4-70

Metso Automation 278589

Function block Category: Modulating Control Logic

Command N/A

Metso Automation 278589

4-71

Function Blocks and Buffers Programmer's Reference and User's Guide

Control Math Set (CTLADD, CTLMUL, CTL1DIV2, CTL2DIV1)

CTL2DIV1
In1Ctl OutCtl Out In2Ctl OutPct FrcbkOut1 FrcbkIn

Overview
CTLADD - Basic adder with forceback. CTLMULT - Basic multiplier with forceback. CTL1DIV2 - Basic divider with numerator forceback. CTL2DIV1 - Basic divider with denominator forceback.

Critical Behaviors
Output type determined by input1 type (inputs could be different types). Forceback calculated for input 1 only based on value of Input 2. FrcbkOut range based on FrcbkIn range for incremental or In1Ctl range if nor incremental. Inputs can be scaled but not biased. Percent Inputs require scaling for correct result. (50% * 50% => 2500%, not 25%) and (20% * 10lb => 200lb% not 2lb.) K's are used to adjust this. This does not apply to the CTLADD atomic block.

4-72

Metso Automation 278589

Function block Category: Modulating Control Logic

Detailed Description
Manipulation of complex variable variants

Attributes
Output Name FrcbkOut1 Out OutCtl OutPct Type Complex Float Complex Float Status Name FrcbkInAREF FrcbkInRHI FrcbkInRLO FrcbkInRST FrcbkInSTAT FrcbkInTYP FrcbkInVAL FrcbkOut1AREF FrcbkOut1RHI FrcbkOut1RLO FrcbkOut1RST FrcbkOut1STAT FrcbkOut1TYP FrcbkOut1VAL In1CtlAREF In1CtlRHI In1CtlRLO In1CtlRST In1CtlSTAT In1CtlTYP In1CtlVAL In2CtlAREF In2CtlRHI In2CtlRLO In2CtlRST In2CtlSTAT In2CtlTYP In2CtlVAL OutCtlAREF OutCtlRHI OutCtlRLO OutCtlRST OutCtlSTAT OutCtlTYP OutCtlVAL Type Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float Description Forceback input auctioneer ref Forceback input high range Forceback input low range Forceback input reset Forceback input status Forceback input type Forceback input value Forceback output auctioneer ref Forceback output high range Forceback output low range Forceback output reset Forceback output status Forceback output type Forceback output value Input 1 auctioneering reference Input 1 high range Input 1 low range Input 1 incremental reset Input 1 forceback status Input 1 type Input 1 value Input 2 auctioneering reference Input 2 high range Input 2 low range Input 2 incremental reset Input 2 forceback status Input 2 type Input 2 value Output auctioneering reference Output high range Output low range Output incremental reset Output forceback status Output type Output value Description Complex Forceback output Output Complex Output Output percent

Metso Automation 278589

4-73

Function Blocks and Buffers Programmer's Reference and User's Guide

Input Name FrcbkIn In1Ctl In2Ctl Type Complex Complex Complex Description Complex Forceback input Complex input 1 Complex input 2

Parameter Name HiRng K1 K2 LoRng OutputReset Type Float Float Float Float Boolean Description Value of 100% for scaling Scaler multiplier of In1Ctl Scaler multiplier of In2Ctl Value of 0% for scaling Reset output to forceback value

Command N/A

4-74

Metso Automation 278589

Function block Category: Modulating Control Logic

Control Selector (CTLSEL)

CtlSel
In1Ctl Cutout1 In2Ctl Cutout2 FrcbkIn OutCtl Out OutPct FrcbkOut1 FrcbkOut1 In1Seld

Overview
Provides select functions for control action by logic or auctioneer with forceback.

Critical Behaviors
Selection override by cutout inputs When no auctioneering option (TypeSel = 0):
Cutout1 False False True True Cutout2 False True False True Output Input1 Input1 Input2 Input2

When auctioneering option (TypeSel = 1 or 2): No Cutouts or Both Cutouts selection by auctioneering logic. Auctioneering selection determined by input value except for complex incremental type inputs, where selection is determined by complex input AuctRef value ***. Output type according to selected input type (inputs could be different types (not recommended for auctioneering options)). Value Forceback status sets output equal to forceback input.

*** The exact calculation of the auctioneering reference from the PID is:
PIDAuctRef = (PIDDeviation * fPropFactor + (PIDPVRateLast - PIDSPRateLast * PIDRateSPMult) * fRateFactor) / m_fEUMult; Providing deviation scaled by proportional gain plus net rate of change scaled by the rate tuning factor converted to percent.

Metso Automation 278589

4-75

Function Blocks and Buffers Programmer's Reference and User's Guide

Attributes
Outputs Name FrcbkOut1 FrcbkOut2 In1Seld Out OutCtl OutPct Type Complex Complex Float Float Complex Float Status Name FrcbkInAREF FrcbkInRHI FrcbkInRLO FrcbkInRST FrcbkInSTAT FrcbkInTYP FrcbkInVAL FrcbkOut1AREF FrcbkOut1RHI FrcbkOut1RLO FrcbkOut1RST FrcbkOut1STAT FrcbkOut1TYP FrcbkOut1VAL FrcbkOut2AREF FrcbkOut2RHI FrcbkOut2RLO FrcbkOut2RST FrcbkOut2STAT FrcbkOut2TYP FrcbkOut2VAL In1CtlAREF In1CtlRHI In1CtlRLO In1CtlRST In1CtlSTAT In1CtlTYP In1CtlVAL In2CtlAREF In2CtlRHI In2CtlRLO In2CtlRST In2CtlSTAT In2CtlTYP In2CtlVAL OutCtlAREF OutCtlRHI OutCtlRLO OutCtlRST Type Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float Float Float Float Float Description Forceback input refrence Forceback input high range Forceback input low range Forceback input reset Forceback input status Forceback input type Forceback input value FrcbkOut1 auctioneer ref FrcbkOut1 high range FrcbkOut1 low range FrcbkOut1 incremental reset FrcbkOut1 status FrcbkOut1 type FrcbkOut1 value FrcbkOut2 auctioneer ref FrcbkOut2 high range FrcbkOut2 low range FrcbkOut2 incremental reset FrcbkOut2 status FrcbkOut2 type FrcbkOut2 value Input 1 auctioneer reference Input 1 high range Input 1 low range Input 1 incremental reset Input 1 forceback status Input 1 type Input 1 value Input 2 auctioneer reference Input 2 high range Input 2 low range Input 2 incremental reset Input 2 forceback status Input 2 type Input 2 value Output auctioneer reference Output high range Output low range Output incremental reset Description Forceback output for In1Ctl Forceback output for In2Ctl Input 1 is selected if true Output Complex output Output percent

4-76

Metso Automation 278589

Function block Category: Modulating Control Logic


OutCtlSTAT OutCtlTYP OutCtlVAL Integer Integer Float Inputs Name Cutout1 Cutout2 FrcbkIn In1Ctl In2Ctl Type Boolean Boolean Complex Complex Complex Description Remove In1Ctl from selection Remove In2Ctl from selection Forceback Input Complex input 1 Complex input 2 Output forceback status Output type Output value

Parameters Name TypeSel Type Integer Description 0=1st valid;1=Lowest;2=Highest

Command N/A

Metso Automation 278589

4-77

Function Blocks and Buffers Programmer's Reference and User's Guide

Function Generator (FUNCGEN)


Graphical Configurator Diagram

InCtl

FUNCGEN

OutCtl Out OutPct FBSlope Slope FrcbkOut Monotonic

FrcbkIn

Overview
This atomic block generates an output from a function configured by a set of points.

Critical Behaviors
Produces an output for a given input based on a linear function generated by X1 X11 and Y1 Y11. Allows clamping or extrapolation when InCtl is less than X1 or Greater than X11. Zero slope not allowed for incremental operation. Monotonic functions Forceback out is inverse function of Forceback In Forceback out equals forceback in for nonmonotonic functions. (No reverse calculation done.) Incremental type Inputs Value and Reset are multiplied by slope determined by inverse function applied to Forceback In. (providing characterization of control change demand).

Detailed Description
Value Function Generator Application
This describes the application where InCtl is referenced to a simple variable or a complex EU Value or Percent (value) type variable. The OutCtl type will be the same as the complex InCtl Type or EU Value for a simple InCtl variable. The Forceback input application is optional.

4-78

Metso Automation 278589

Function block Category: Modulating Control Logic


Enter the XY breakpoint pair values as Engineering Unit Values for the desired function. Apply clamping for high or low or both ends as desired. Range values should be applied set the complex output range variants, scale the simple OutPct value relative to the simple Out value. When Forceback input is applied, Out and OutPct are derived by the forceback input value; otherwise they are based on the forward function generator output.

Characterization for Modulating Control Application


This describes the application where InCtl is referenced to a complex Incremental type variable. The OutCtl type will be Incremental type characterized by the Forceback value. The Forceback input application is required. Enter the XY breakpoint pair values as 0 - 100 Percent Values for the desired function. The X values represent the control percent output due to (uncharacterized) linear action and the Y values represent the desired characterized control percent output. (Percent is emphasised for the potential control application for multiple end elements in participation or cascaded process setpoint normal application for a single end element (whose position is considered 0 100 percent) does not require the emphasis.) The XY breakpoint pair values must provide a monotonic function (where the slopes between the breakpoints are always the same polarity) so that the inverse function derived for the forceback is single valued. A proper monotonic function configuration is indicated by the Montonic status output. It is also recommended that the slopes be positive; negative slope represents control action reversal which is better implemented by the selection of Direct or Reverse action at the PID controller. Do not apply any clamping option. Apply 0 and 100 range values.

Attributes
Output Name FrcbkOut OutCtl Type Complex Complex Status Name FBSlope FrcbkInAREF FrcbkInRHI FrcbkInRLO FrcbkInRST FrcbkInSTAT Type Float Float Float Float Float Integer Description Slope of segment for FrcbkInVal Frcbk In auctioneering ref Frcbk In high range Frcbk In low range Frcbk In incremental reset Frcbk In forceback status Description Complex Forceback Output Complex Output

Metso Automation 278589

4-79

Function Blocks and Buffers Programmer's Reference and User's Guide


FrcbkInTYP FrcbkInVAL FrcbkOutAREF FrcbkOutRHI FrcbkOutRLO FrcbkOutRST FrcbkOutSTAT FrcbkOutTYP FrcbkOutVAL InCtlAREF InCtlRHI InCtlRLO InCtlRST InCtlSTAT InCtlTYP InCtlVAL Monotonic Out OutCtlAREF OutCtlRHI OutCtlRLO OutCtlRST OutCtlSTAT OutCtlTYP OutCtlVAL OutPct Slope Integer Float Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float Boolean Float Float Float Float Float Integer Integer Float Float Float Input Name FrcbkIn InCtl Type Complex Complex Parameter Name Clamp HiRng LoRng X1 X10 X11 X2 X3 X4 X5 X6 X7 X8 X9 Y1 Y10 Type Integer Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Description Clamp or extrapolate output High Range Low Range X axis breakpoint 1 X axis breakpoint 10 X axis breakpoint 11 X axis breakpoint 2 X axis breakpoint 3 X axis breakpoint 4 X axis breakpoint 5 X axis breakpoint 6 X axis breakpoint 7 X axis breakpoint 8 X axis breakpoint 9 Y axis breakpoint 1 Y axis breakpoint 10 Description Complex Forceback Input Complex Input Frcbk In type Frcbk In value Frcbk Out auctioneering ref Frcbk Out high range Frcbk Out low range Frcbk Out incremental reset Frcbk Out forceback status Frcbk Out type Frcbk Out value Input auctioneering reference Input high range Input low range Input incremental reset Input forceback status Input type Input value True if function is monotonic Output value Output auctioneering reference Output high range Output low range Output incremental reset Output forceback status Output type Output value Output Percent Slope of segment for InCtlVal

4-80

Metso Automation 278589

Function block Category: Modulating Control Logic


Y11 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Y9 Float Float Float Float Float Float Float Float Float Commands N/A Y axis breakpoint 11 Y axis breakpoint 2 Y axis breakpoint 3 Y axis breakpoint 4 Y axis breakpoint 5 Y axis breakpoint 6 Y axis breakpoint 7 Y axis breakpoint 8 Y axis breakpoint 9

Metso Automation 278589

4-81

Function Blocks and Buffers Programmer's Reference and User's Guide

Complex Variable Test Atomic block (CMPT)

In

CMPT

Out OutCtl

Overview
This atomic block constructs a complex variable value (OutCtl) and a simple variable value (Out).

Critical Behaviors
The input value (In) determines the output values OutCtl (VAL variant) and Out). The parameter values determine the OutCtl complex output variant values. The Quality of Out and OutCtlVAL is set equal to Quality of In input or Quality parameter by optionally selected logic.

Detailed Description
Use this atomic block to test the response of other atomic blocks to complex input variables. To do this, the atomic block independently sets each variant (subattribute) of the complex variable. Output Quality logic capabilities are used to test the output quality logic relative complex and simple input quality status of other atomic blocks. This atomic block may be applied by the experienced configurator to create a custom complex variable by adding references for the input and parameter attributes (for the complex variable variants with dynamic logic).

Output Quality
SHORT and LONG QUALITY With most Quality discussions Short Quality (value) is discussed: 0 = GOOD 1 = DOUBTFUL 2 = SUBSTITUTE 3 = BAD

4-82

Metso Automation 278589

Function block Category: Modulating Control Logic


This Quality discussion also discusses Long Quality, which is the combination of the 2 bit Short Quality value with a 2 bit reason code providing the value array: DOUBTFUL (yellow) SUBSTITUTE (blue) BAD (red)
4 = DOUBTFUL 5 = D - ??? 6 = D - ??? 7 = D - ??? 8 = SUBSTITUTE 9 = S - ??? 10 = S- ??? 11 = S - ??? 12 = BAD 13 = B Bad Reference 14 = B No Value 15 = B - ???

GOOD
0 = GOOD 1 = G Forced (Bad Ref) 2 = G Not Known 3 = G - ???

where ??? means the reason code status definition is not implemented. QUALSTRAT The parameter QualStrat determines the definition of the Quality parameter and its application 0 through 3 applies the parameter as a Short Quality value 0 = Output Quality is always the parameter. 1 = Output Quality is the best of the Input Quality or the parameter 2 = Output Quality is the worst of the Input Quality or the parameter. 3 = Output Quality is always the Input Quality 4 applies the parameter as a Long Quality value; Output Quality always equals parameter. This option is only expected to be used for testing. Establishing an atomic block testing variable would require QualStrat = 0 for most testing so the tester can control the output (short) quality. Occasional advanced testing might apply QualStrat = 4 to test the effects of variations in the reason code imbedded in long quality. Constructing a complex variable for a control configuration would apply QualStrat = 3 where input quality is simply propagated or 0, 1, 2 where part of the purpose of constructing the complex variable is to alter the input Quality by additional quality logic. (Note that the QUALFRCE (Quality Force) atomic block is recommended where the only purpose is to manipulate the signal quality.) OUTQUAL The status OutputQual shows the Output Long Quality. Most atomic block Quality logic strips off the Quality reason code of an input so (if the atomic block logic does not have any Quality reason code to set) their output long quality value is always 0, 4, 8, or 12. This atomic block retains the Quality reason code of the input (when the input Quality is used per the QualStrat configuration) in the output providing, a reading of the inputs Long Quality value in Output Qual.

Attributes
Output Name FrcbkOut OutCtl Type Complex Complex Status Description Complex Forceback Output Complex Output

Metso Automation 278589

4-83

Function Blocks and Buffers Programmer's Reference and User's Guide


Name FBSlope FrcbkInAREF FrcbkInRHI FrcbkInRLO FrcbkInRST FrcbkInSTAT FrcbkInTYP FrcbkInVAL FrcbkOutAREF FrcbkOutRHI FrcbkOutRLO FrcbkOutRST FrcbkOutSTAT FrcbkOutTYP FrcbkOutVAL InCtlAREF InCtlRHI InCtlRLO InCtlRST InCtlSTAT InCtlTYP InCtlVAL Monotonic Out OutCtlAREF OutCtlRHI OutCtlRLO OutCtlRST OutCtlSTAT OutCtlTYP OutCtlVAL OutPct Slope Type Float Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float Boolean Float Float Float Float Float Integer Integer Float Float Float Input Name FrcbkIn InCtl Type Complex Complex Parameter Name Clamp HiRng LoRng X1 X10 X11 X2 X3 X4 Type Integer Float Float Float Float Float Float Float Float Description Clamp or extrapolate output High Range Low Range X axis breakpoint 1 X axis breakpoint 10 X axis breakpoint 11 X axis breakpoint 2 X axis breakpoint 3 X axis breakpoint 4 Description Complex Forceback Input Complex Input Description Slope of segment for FrcbkInVal Frcbk In auctioneering ref Frcbk In high range Frcbk In low range Frcbk In incremental reset Frcbk In forceback status Frcbk In type Frcbk In value Frcbk Out auctioneering ref Frcbk Out high range Frcbk Out low range Frcbk Out incremental reset Frcbk Out forceback status Frcbk Out type Frcbk Out value Input auctioneering reference Input high range Input low range Input incremental reset Input forceback status Input type Input value True if function is monotonic Output value Output auctioneering reference Output high range Output low range Output incremental reset Output forceback status Output type Output value Output Percent Slope of segment for InCtlVal

4-84

Metso Automation 278589

Function block Category: Modulating Control Logic


X5 X6 X7 X8 X9 Y1 Y10 Y11 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Y9 Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Commands N/A X axis breakpoint 5 X axis breakpoint 6 X axis breakpoint 7 X axis breakpoint 8 X axis breakpoint 9 Y axis breakpoint 1 Y axis breakpoint 10 Y axis breakpoint 11 Y axis breakpoint 2 Y axis breakpoint 3 Y axis breakpoint 4 Y axis breakpoint 5 Y axis breakpoint 6 Y axis breakpoint 7 Y axis breakpoint 8 Y axis breakpoint 9

Metso Automation 278589

4-85

Chapter 5
Discrete Logic (DisLog)
This chapter defines five sets of general purpose discrete logic atomic blocks and two special purpose atomic blocks. Most of these atomic blocks use boolean parameters that are set to true or false to derive the expected results. Refer to this chapter to select from the following atomic block groups:

Combinatorial
AND NOT OR XOR Use the AND, OR, XOR, NOT atomic blocks to test for various logical conditions occurring in a process control environment.

FlipFlop
NODOM RESETDOM SETDOM This set of three atomic blocks produces an output based on the state of the inputs and the selected dominance option. Each atomic block processes a Set input and a Reset input to produce a single output. With the Setdom atomic block the Set input is the dominant or preferred input value. With the Reset atomic block the Reset input dominates, and with the Nodom neither of the two inputs dominate. A change in state of the output will occur only when the inputs are in a true state.

Trigger
EDGEANY EDGEFALL EDGERISE This set of atomic blocks (EDGERISE, EDGEFALL, EDGEANY) provides discrete logic state change detection. These atomic blocks set the output to true on the rising edge (EDGERISE), falling edge (EDGEFALL), or either

Metso Automation 278589

Function Blocks and Buffers Programmer's Reference and User's Guide


edge (EDGEANY) of the input. The output will remain in the true state for one scan period.

Compare
EQ GT LT NE This set of atomic blocks, Greater Than (GT), Less Than (LT), Equal to (EQ), and Not Equal to (NE), compares two analog inputs and produces a digital output. If the comparison is satisfied the output will be true; otherwise, the output will be false. Configure a Dband parameter to specify a value in percent for hysteresis.

Timing
TOFF TON TPULSE This set of atomic blocks, TON, TOFF, and TPULSE, uses a timing capability for discrete logic. These atomic blocks use a single boolean input and a boolean output. When the input becomes true or false, this value is used as output after a configurable timed delay. This is useful when you need to introduce a time lag into a process before, for instance, a startup or shutdown should occur.

Special
FSTOUT Use the First Out (FSTOUT) atomic block to generate a trip output when any of its inputs become TRUE. It also detects which of the inputs was the first to become true and stores the last five first-out trips in memory. QUALFRCE Use Quality Force to force the quality of the input variable to a new, selectable quality. The ForceStrat parameter determines the quality of the output. Use the NewQual parameter to select the output quality you wish to force to.

5-2

Metso Automation 278589

Function block Category: Group

Logic (AND, OR, XOR, NOT)

AND
In1 Out In2

In3 In4

Overview
Use the AND, OR, XOR, NOT atomic blocks to test for various logical conditions occurring in a process control environment. Each atomic block behaves in the following way: AND OR XOR NOT If all inputs are TRUE then Out, the output attribute, is TRUE. Otherwise, Out is FALSE. If all inputs are FALSE then Out, the output attribute, is FALSE. Otherwise, Out is TRUE. If only Input 1 is TRUE or only Input 2 is TRUE then Out, the output attribute, is TRUE. Otherwise, Out is FALSE. Inputs 3, and 4 are not used. The output is the inverse of input1. Inputs 2, 3, and 4 are not used.

Output Quality
Remember, inaccurate output may result from input data based on poor or doubtful quality. In the event of bad data quality, expect each atomic block type to behave in the following ways: AND: OR: XOR: NOT: Propagate worst quality of true inputs if all inputs are true. Propagate best quality of all false inputs if any input is false. Propagate best quality of all true inputs if any input is true. Propagate worst quality of false inputs if all inputs are false. Propagate worst quality of Input 1 and Input 2. Out quality equals Input 1 quality.

Attributes
Outputs

Metso Automation 278589

5-3

Function Blocks and Buffers Programmer's Reference and User's Guide


Name Out Type Boolean Description Output

Status N/A Inputs Name In1 In2 In3 In4 Type Boolean Boolean Boolean Boolean Parameters Name InvIn1 InvIn2 InvIn3 InvIn4 InvOut Type Boolean Boolean Boolean Boolean Boolean Description Invert Input 1 if set to 1 Invert Input 2 if set to 1 Invert Input 3 if set to 1 Invert Input 4 if set to 1 Invert Output if set to 1 Description Input 1 Input 2 Input 3 Input 4

Commands N/A

5-4

Metso Automation 278589

Function block Category: Group

Flip Flop (SETDOM, RESETDOM, NODOM)

SETDOM
Set Out Reset

Overview
This set of three atomic blocks produces an output based on the state of the inputs and the selected dominance option. Each atomic block processes a Set input and a Reset input to produce a single output. With the Setdom atomic block the Set input is the dominant or preferred input value. With the Reset atomic block the Reset input dominates. With the Nodom neither of the two inputs dominate: a change in state of the output will occur only when one of the inputs are in a true state.

Detailed Description
Using Setdom
With Setdom, the set dominance atomic block is selected, and a true output will be produced any time that the set input state is true. The output will always change to a true state if the set input is true. The output will change to a false state only if the set input is false and the reset input is true. If the reset input changes state to true while the set input is true the output will remain in a true state. If the set input changes to true while the reset input is true the output will change state to true.

Using Resetdom
If the reset dominance atomic block is selected, a false output will be produced any time that the reset input state is true. The output will always change to a false state if the reset input is true. The output will change to a true state only if the reset input is false and the set input is true. If the set input changes state to true while the reset input is true the output will remain in a false state. If the reset input changes to true while the set input is true the output will change state to false.

Metso Automation 278589

5-5

Function Blocks and Buffers Programmer's Reference and User's Guide


Using Nodom
If the no dominance atomic block is selected, the output will change state when the inputs change state to true. The output will change to a true state if the set input changes to a true state. The output will change to false state if the reset input changes to a true state. If both inputs are in a true state at the same time no change in state will occur in the output until one of the inputs changes to a false state and the other input remains true. If both inputs change from both true to both false at the same time (within one scantime) no change in state will occur in the output.

Operator Commands
The operator commands change the output state only when they are written by the HMI (while an HMI written True state may exist at the operator command input, action only occurs the scan that the input is written) and the inputs are false.

Attributes
Output Name Out Type Boolean Status N/A Input Name Reset Set Type Boolean Boolean Parameter Name InvOut InvReset InvSet Type Boolean Boolean Boolean Command Name OpReset OpSet Type Boolean Boolean Description Resets flip flop Sets flip flop Description Invert output if set to 1 Invert reset input if set to 1 Invert set input if set to 1 Description Resets flip flop Sets flip flop Description Output

5-6

Metso Automation 278589

Function block Category: Group

Trigger (EDGERISE, EDGEFALL, EDGEANY)

In1

Out

Rising edge Falling edge

Overview
This set of atomic blocks (EDGERISE, EDGEFALL, EDGEANY) provides discrete logic state change detection. These atomic blocks set the output to true on the rising edge (EDGERISE), falling edge (EDGEFALL), or either edge (EDGEANY) of the input. The output will remain in the true state for one scan period. These atomic blocks are typically used to trigger some action after a transitional change is detected. For instance, if an EDGERISE atomic block is used to detect that a valve has opened, this could trigger the startup of a pump. Note: these atomic blocks must be run at the same time base as the atomic blocks that use its output. Otherwise, the one scan pulse of the output may not be detected. On the same scan that the output is true, the CmdOut output value is set to the CmdOutVal, time stamped for reference by a command input of another function block.

Attributes
Outputs Name CmdOut Out Type Float Boolean Status
N/A

Description Command Output when true Output

Inputs Name In1 Type Boolean Parameters Name CmdOutVal Type Float Description Value to output when true Description Input 1

Metso Automation 278589

5-7

Function Blocks and Buffers Programmer's Reference and User's Guide


InvIn1 InvOut Boolean Boolean Invert Input 1 if set to 1 Invert Output if set to 1

5-8

Metso Automation 278589

Function block Category: Group

Compare (GT, LT, EQ, NE)


Graphical Configurator Diagram

Overview
This set of atomic blocks, Greater Than (GT), Less Than (LT), Equal to (EQ), and Not Equal to (NE), compares two analog inputs and produces a digital output. If the comparison is satisfied the output will be true; otherwise, the output will be false. Configure a Dband parameter to specify a value in percent for hysteresis. Where input quality may be critical, these atomic blocks include a BadQ parameter. Set this parameter to 1 (true) if you want to allow the algorithm to use possibly bad input data. Set this parameter to 0 (false) if bad input data is not acceptable. If bad quality is encountered, the atomic block will not execute.

Critical Behaviors
Greater Than and Less Than Functions:
Output True Output True

Output False Input 2 Output False Output False Input 1

Output True Output True Deadband

Output False

Output

The proceeding diagram also applies to the Less Than function with the exception that the arrows for Input 1 would be inverted The Equal To function produces a true output if the value of Input 2 falls inside the deadband with respect to input 1. The Not Equals To function produces a true output if the value of Input 2 falls outside the deadband.

Metso Automation 278589

5-9

Function Blocks and Buffers Programmer's Reference and User's Guide

Attributes
Outputs Name Out Type Boolean Status N/A Inputs Name In1 In2 Type Float Float Parameters Name BadQ DBand InvOut Type Boolean Float Boolean Command N/A Description Use Bad Quality in algorithm Dead Band Invert Output if set to 1 Description Input 1 Input 2 Description Output

5-10

Metso Automation 278589

Function block Category: Group

Time Function (TON, TOFF, TPULSE)

TON
In1 Out

Overview
This set of atomic blocks, TON, TOFF, and TPULSE, uses a timing capability for discrete logic. These atomic blocks use a single boolean input and a boolean output. When the input becomes true or false, this value is used as output after a configurable timed delay. This is useful when you need to introduce a time lag into a process before, for instance, a startup or shutdown should occur.

Detailed Description
Using the TON Atomic block
If the TON atomic block is selected, the output will be true when the start input is true and the set point time has elapsed. The output will remain true until the start input is reset. When the start input resets the output will reset. In fact any time that the start input resets the output will reset.

Using the TOFF Atomic block


If the TOFF atomic block is selected, the output will be true when the start input is true. When the start input is false and the set point time has elapsed, the output will be false.

Using the TPULSE Atomic block


If the TPULSE atomic block is selected, the output will be true when the start input is true. The output will remain true until the set point time has elapsed. Then the output will be false. For oscillating action, configure the Oscillate parameter. If the Oscillate attribute is true the output will alternate between true and false until the Oscillate parameter is set to false.

Metso Automation 278589

5-11

Function Blocks and Buffers Programmer's Reference and User's Guide

PULSE TON TOFF SP TIME SP TIME


Start Input TON

TOFF PULSE

Attributes
Outputs Name Out Type Boolean Status Name TimeRemaining Type Time Inputs Name In1 Type Boolean Parameters Name InvIn1 InvOut TimeSP Type Boolean Boolean Rel Time Commands N/A Description Invert Input 1 if set to 1 Invert Output if set to 1 Time Set Point Description Input 1 Description Time remaining before action Description Output

5-12

Metso Automation 278589

Function block Category: Group

BitPack
In 01 In In In In In In In In In In In In 02 03 04 05 06 07 08 09 10 11 12 13

BitPack

In 14 In 15 In 16

O ut

Overview
Use this atomic block to pack boolean bits into a single 16-bit word. Input 01 is the most significant bit and input 16 is the least significant bit. This atomic block is typically used for serial link applications. The atomic block concentrates multiple, digital inputs into a single analog output, making it possible to subscribe to up to 16 inputs at one time rather than subscribing to as many inputs in separate operations.

Attributes
Outputs Name
Out

Type
Float

Description/Application
Packed Bits (Integer)

Inputs (Normally Referenced) Name


In01 thru In16

Type
Boolean

Description/Application
16 Logical (Bits) to be packed

Metso Automation 278589

5-13

Function Blocks and Buffers Programmer's Reference and User's Guide

BitUnPack
Block Diagram
In

BitUnPack

Out 01 Out 02 Out 03 Out 04 Out 05 Out 06 Out 07 Out 08 Out 09 Out 10 Out 11 Out 12 Out 13 Out 14 Out 15 Out 16

Overview
Use this atomic block to unpack a 16-bit word into 16 booleans. Input 01 is the most significant bit and input 16 is the least significant bit. This atomic block is typically used for serial link applications and for decoding a status word. This atomic block may be used in conjunction with the BitPack atomic block, which packs 16 digital inputs into a single word to make it easier to transport data over a serial link. Use BitUnPack to decode the individual bits of a status word after it has been sent.

Attributes
Outputs Name
Out01 thru Out16

Type
Boolean

Description/Application
16 Logical Outputs (Unpacked Bits)

Inputs (Normally Referenced) Name


In

Type
Float

Description/Application
Packed Bits (Integer)

5-14

Metso Automation 278589

Function block Category: Group

Metso Automation 278589

5-15

Function Blocks and Buffers Programmer's Reference and User's Guide

Timer
Block Diagram

Start Stop Reset

Timer

Running Out

Description
Can be stopped, started, and reset. Boolean outputs for Running and Timeout. Provides status of Elapsed Time and Remaining Time (Setpoint Elapsed Time). This time is both for display purposes (SecsElapsed, SecsRemaining) and float values of time / time base. Start while running will have no effect. Stop while stopped will have no effect. Positive transitions will need to occur to start, stop, or reset the block. The StartOffset will be applied at reset.

Attributes
Name
Running Out

Security
Configuration Configuration

Type
Boolean Boolean

Outputs Description/Application
1 = Running; 0 = Stopped 1 = Time running equals or exceeds TimeSP

Name
TimeElapsed TimeRemaining

Security
Configuration Configuration

Type
Float Float

Status Description/Application
Time Elapsed while running since last reset. (In Units defined by TimeBase) Time left until TimeOut (Setpoint Elapsed)( In Units defined by TimeBase)

Name
OpCmd

Security
Command

Type
Enum

Commands Description/Application
0 = Stop, 1 = Start, 2 = Reset, 3 = Reset & Start, 4=Stop & Reset

Name
Start Stop Reset

Security
Configuration Configuration Configuration

Type
Boolean Boolean Boolean

Inputs (Normally Referenced) Description/Application


Starts Timer on 0 to 1 transition if stopped and not reset active Stops Timer on 0 to 1 transition if running Resets Timer on 0 to 1 transition

Name
TimeSP TimeBase TimeOutAction StartOffset InvStart InvStop InvReset

Security
Tune-Adjust Configuration Configuration Configuration Tune-Adjust Tune-Adjust Tune-Adjust

Parameters (Normally Not Referenced) Type Description/Application


RelTime Enum Enum RelTime Boolean Boolean Boolean Setpoint of Timer Default = 0 0=Seconds, 1=Minutes, 2=Hours Default = 0 0=Stop at Timeout, 1 = Continue past Timeout, 2 = Reset & Continue Default = 0 Time to add in to elapsed time on start If set invert the Start input If set invert the Stop input If set invert the Reset input

HMI Status Name

Security

Type

Description/Application

5-16

Metso Automation 278589

Function block Category: Group


SecsRemaining SecsElapsed
Configuration Configuration

Time Time Type String String String String String String

Display seconds till timeout Display seconds since start Description/Application Alternate Description Alternate Short Description Description Generic Name Short Description Tag Name

HMI Text Parameters Name Security Tune-Adjust AltDesc Tune-Adjust AltShDesc Tune-Adjust Desc Configuration Gname Tune-Adjust ShDesc Configuration TagName

Metso Automation 278589

5-17

Function Blocks and Buffers Programmer's Reference and User's Guide

Counter
Block Diagram

InInc InDec Reset

Out

Counter

Rollover Interval

Description
This counts increase and decrease pulses. It rolls over at Maximum Hi and Low numbers for DPMS (1E10) or at RollOverLimit whichever is first. Rollovers are recorded in RollOver to effectively extend the counting range. A Reset reinitializes both Out and RollOver to the StartOffset value after transferring the current Out and RollOver values into ResetVal and ResetRollover with a time stamp in ResetTime. Interval is calculated on the InInc input only, and is the time between pulses divided by the TimeBase). This is calculated using the time between the last two pulses.

Attributes
Name
Out RollOver Interval

Type
Float Float Float

Outputs (Normally Referenced) Description/Application


Scaled Count Total RollOvers since last Reset TimeBase period between last two InInc count transitions

Name
ResetVal ResetRollover ResetTime

Type
Float Float Time

Status Description/Application
Value of .Out when last Reset Value of .Rollover when last Reset Time of last Reset

Name
InInc InDec Reset

Type
Boolean Boolean Boolean

Inputs (Normally Referenced) Description/Application


Increase the output on rising edge by the amount of .ScaleInc Decrease the output on rising edge by the amount of .ScaleDec Reset Output to .StartOffset and adjust for any rollovers. 0 to 1 edge triggered

Parameters (Normally Not Referenced)

5-18

Metso Automation 278589

Function block Category: Group


Name
StartOffset RollOverLimit ScaleInc ScaleDec TimeBase InvInInc InvInDec InvReset

Type
Float Float Float Float Integer Boolean Boolean Boolean

Description/Application
Starting Value when Reset Value at which counter Rolls Over Amount to increase output each .InInc trigger Amount to decrease output each .InDec trigger 0 = Sec, 1 = Min (Default), 2 = Hour For frequency calculation If set invert the InInc input If set invert the InDec input If set invert the Reset input

Name
OpReset OpAdjust

Type
Boolean Float

Commands Description/Application
Resets the Counter Entry adjusts scaled count total (.Out)

Name AltDesc AltShDesc Desc Gname ShDesc TagName

Type String String String String String String

HMI Text Parameters Description/Application Alternate Description Alternate Short Description Description Generic Name Short Description Tag Name

Metso Automation 278589

5-19

Function Blocks and Buffers Programmer's Reference and User's Guide

Clock
Block Diagram

Clock

Out Year Month DayDate DayWeek Hour Minute Second

Description
Provides Integer Values of current Date and Time. Has a settable alarm that can be repeatable.

Attributes
Name
Out Year Month DayDate DayWeek Hour Minute Second

Security
Configuration Configuration Configuration Configuration Configuration Configuration Configuration Configuration

Type
Boolean Integer Integer Integer Integer Integer Integer Integer

Outputs Description/Application
True for adjustable period when current time = Alarm Time SP Current Year. 1 - 99 Current Month, 1 - 12 Current Day of Month, 1 - 31 Current Day of Week, 1 7; 1 is Sunday Current Hour, 1 - 24 Current Minute, 0 - 59 Current Second, 0 - 59

Name
YearSP MonthSP DayDateSP DayWeekSP HourSP MinuteSP SecondSP OutPulseSP

Security
Tune-Adjust Tune-Adjust Tune-Adjust Tune-Adjust Tune-Adjust Tune-Adjust Tune-Adjust Tune-Adjust

Type
Integer Integer Integer Integer Integer Integer Integer RelTime

Parameters (Normally Not Referenced) Description/Application


1 - 99. 0 causes annual alarm on date and time set below. 1 - 12. 0 causes monthly alarm on date and time set below. 1 - 31. 0 causes daily alarm on time set below. 1 7 day of week, 0 causes daily alarm on time below 1 - 24. 0 causes hourly alarm on minute set below 0 - 59 0 - 59 Duration of .Out pulse. 0 = one scan

The HourSP attribute is military time except the hour after midnight is 24. This preserves 0 for hourly repeating alarms.

5-20

Metso Automation 278589

Chapter 6
Group
ALMREP GRP USROBJ

Group(GRP)

GROUP

Overview
DPMS composed of large point databases are normally organized in a multilevel hierarchical structure. Use the Group atomic block to define a node in the hierarchical structure. A hierarchical organization may contain up to eight levels. The highest level of organization, which may represent an overall area of a control environment, may be labeled Unit1. Unit1 may have a subgroup called Control. Control may have subgroups, such as Boiler Control, Generation Control, etc. It is best to define group hierarchies before defining individual atomic blocks. When you open maxDPUTools and define a configuration name, you may begin to establish desired group hierarchies under the DPU tab. The left pane of maxDPUTools shows a configuration tree structure similar to Windows Explorer. Each time you add a group, the new group appears in the tree structure. A group is placed at the level of the hierarchy that is currently selected. The selected level is the parent." When you add a group to the parent level, a new child group is placed under the parent.

Metso Automation 278589

Function Blocks and Buffers Programmer's Reference and User's Guide


Copying and Pasting Groups
All or part of a hierarchical structure may be copied and pasted elsewhere. For example, a power plant containing three coal pulverizers could be configured by building the first pulverizer as, say, Unit1/Pulverizer#1 then copying it as a starting point for the other two. The Pulverizer group would be renamed Pulverizer#2, etc.

Adding a Group
When you add a group, a pop-up appears prompting you for a group name and relative index. The relative index is selected incrementally by default. You may manually change the relative index by also typing in the desired index. The Relative index for each group or control must be unique within a group.

Group Attributes
The Group atomic block uses only parameter and general attributes. The Gname parameter is already configured when you open the newly created atomic block, showing the name you entered when you created the group. You may also give the group a tagname and description.
Outputs Description/Application True if group has alarms in list; false if group has no alarms in list Configuration Parameters Description/Application Hierarchical Identifier TagName Generic Name Another group hierarchy that can be used for alarm filtering. Tagname of a group. Configuration sheet graphic name Time of edit of any element User object attachment name Methods Description/Application Add a Service Attach a Ptr Obj to Grp Svc Detach a Ptr Obj from Grp Svc Alarm Page Request HMI Text Parameters Description/Application Configuration sheet title Config sheet reference number Config sheet size (A or B) Config sheet revision

Name AnyAlarm

Type Float/ Bool

Name Hid TagName Gname AlmParent GraphicName LastEdit UsrObjRef

Type String String String String String Time String

Name AddSvc Attach Detach AlmPage

Type String String Empty Long

Name Title SheetRef SheetSize HIDRevision

Type String String String Time

6-2

Metso Automation 278589

Function block Category: Group


RevHist01 RevHist02 RevHist03 RevHist04 RevHist05 RevHist06 RevHist07 RevHist08 RevHist09 RevHist10 Status Name HID1 HID2 HID3 HID4 HID5 HID6 HID7 HID8 HID1-1 HID1-2 HID1-3 HID1-4 HID1-5 HID1-6 HID1-7 HID1-8 NewAlarmsSev1 NewAlarmsSev2 NewAlarmsSev3 NewAlarmsSev4 NewAlarmsSev5 CntSev1 CntSev2 CntSev3 CntSev4 CntSev5 IalmAmal AlmParentHandle UsrObjHandle String String String String String String String String String String Revision history 1 Revision history 2 Revision history 3 Revision history 4 Revision history 5 Revision history 6 Revision history 7 Revision history 8 Revision history 9 Revision history 10

Type String String String String String String String String String String String String String String String String Long Long Long Long Long Long Long Long Long Long Long Long Long

Description/Application Fetch the HID 1 Fetch the HID 2 Fetch the HID 3) Fetch the HID 4 Fetch the HID 5 Fetch the HID 6 Fetch the HID 7 Fetch the HID 8 Fetch the HID 1-1 Fetch the HID 1-2 Fetch the HID 1-3 Fetch the HID 1-4 Fetch the HID 1-5) Fetch the HID 1-6 Fetch the HID 1-7 Fetch the HID 1-8 Running count of new severity 1 alarms Running count of new severity 2 alarms Running count of new severity 3 alarms Running count of new severity 4 alarms Running count of new severity 5 alarms Current count of severity 1 alarms (includes acknowledged and unacknowledged) Current count of severity 2 alarms Current count of severity 3 alarms Current count of severity 4 alarms Current count of severity 5 alarms Highest severity unacknowledged and acknowledged alarms present Handle of tagname specified in the AlmParent attribute. User Class Object Handle

Note that the alarm count attribute names are different from the DBM definition. These attributes must be aliased in the DBM in a mixed system.

Metso Automation 278589

6-3

Function Blocks and Buffers Programmer's Reference and User's Guide

User Object (USROBJ)

Overview
Use a User Object (USROBJ) to implement a new control (a custom block) with its own unique attributes. To create a User Object: 1. Open maxDPUTools, create a configuration, and click the Custom Tab in the left view pane. 2. Right-click on the Custom Control icon in the view pane and select Add from the pop-up menu to open a new User Object. 3. Enter the name of the control in a pop-up dialog box and click OK. After you click OK, a new icon appears, in the directory tree inside the left view pane, bearing the name you entered when you created the object. A blank record field appears in the right view pane. Use these record fields to create your own attributes for the control. Create a name for the attribute under the Attribute column. Select a category for the attribute in the Category column (Input, Output, and Parameter). Select a Data Type under the Data Type column. Choose from the following: Boolean Complex Enumerated Float Long Relative time Text Time. Once the group is created in the custom field, the group name should now appear in the list of available controls when a control is to be added in the DPU field.

6-4

Metso Automation 278589

Function block Category: Group

Alarm Reporter (ALMREP)

AlmCode In01

. . .
In16

ALMREP

AnyAlarm LatchedAlm CurrentAlm

Cutout

Overview
Use the Alarm Reporter atomic block to create, for alarming purposes, a grouping of similar attributes from many atomic blocks to be alarmed as one. Alarm Reporter generates one alarm if any of its inputs are TRUE (or nonzero). Up to 16 attributes may be referenced for alarming purposes. The Alarm Reporter generates an alarm for the highest priority TRUE input. Priority is dictated by input order: input 1 is the lowest priority, input 16 the highest. Not all inputs must be wired, but only wired inputs are used. The Alarm Reporter will always be enveloped in a user object. The user object will have a member for each input of the Alarm Reporter. The Alarm Reporter references the user object members, which in turn reference the data items to be checked. The description (or alt-description) of the user object members is used for the alarm text of an alarm. The maximum size of alarm text is 32 bytes. Parameter expansion is supported. The Alarm Reporter uses the tagname, gname or relative index of its parent custom block(s) when announcing alarms. The name will be constructed down to the enveloping custom block. This implies group acknowledge capability.

Desc/Atldesc Text Appears In Alarm Summary Or Event Log.


Metso Automation 278589

6-5

Function Blocks and Buffers Programmer's Reference and User's Guide


The ALMREP block will search its parents for Desc or AltDesc (if in alt text mode) text. If a Desc or AltDesc attribute is defined in a parent macro (which is desirable), the ALMREP block will include its text with the alarm. If Desc or AltDesc is not found, the ALMREP block will search its parents for the Title attribute. The Title attribute text will then be used if it exists.

Critical Behaviors
Alarms for lower priority inputs are buried by an alarm for higher priority input. That means only the active highest priority alarm is reported. The Alarm time follows the highest priority input that is still in alarm. The Alarm text shown on the alarm summary follows the latched alarm number. Alarm text for the alarm is contained in the member description sub-attribute of the input. Alternate text is in the alt-description sub-attribute. Inputs must always reference members of its parent (or enveloping) user object.

Configuring Alarm Behavior


Use the AlarmBehave parameter to control how alarm messages behave in alarm displays and logs. You may choose from the following options: 0 = No 'return to normal' alarm 1 = Create a normal alarm if acknowledged alarm clears 2 = Auto acknowledged alarm when cleared 3= Create a normal alarm and auto acknowledged (1 and 2) 4 = log only Set this parameter to 1 to generate a normal alarm when an acknowledged alarm clears. The default setting (0) is no Return to Normal alarm. Normally, cleared but unacknowledged alarms stay on the alarm list until acknowledged. Select the second option to cause the alarms (except NORMAL alarms) to be removed from the list automatically when cleared, even if unacknowledged. Select option 3 to do both.

Logging Behavior
By default, all alarms (Severity 1 to 5) are also logged. If Log Only is selected in the AlmBehave attribute, all alarms are logged including severity 0. Additionally, no alarms are generated for the atomic block (treated as if it is severity 0).

Creating a Snooze Alarm

6-6

Metso Automation 278589

Function block Category: Group


Use the ReAlarmTime parameter to create a snooze alarm. The snooze alarm option causes acknowledged alarms to be promoted to unacknowledged after the passage of a set unit of time. The value and units are configurable

Reducing Nuisance Alarms


Use the AlmDelay parameter to reduce the occurrence of nuisance alarms. This attribute delays generating an alarm for a configurable number of seconds. Use this feature for points that characteristically reach an alarm state only momentarily and then revert back to a normal state. Creating Custom Alarm Message Text Each Alarm Reporter alarm input may reference an associated alarm text message that appears on Alarm Summary displays in maxVUE. To create associated text for each input: 1. In the maxDPU 4E Configurator, create a new user object (see previous section), and add attributes to the user object. There should be one attribute for each input in the alarm reporter that will be used. Not all inputs in the alarm reporter have to be used and there can be holes. 2. Enter text in the description field of the user object attributes. This is the text that will appear on the alarm summary if the input goes into alarm. The text will also be used for events. 3. If alternate text will be used, enter text in the alternate description field. 4. Wire (connect) the alarm reporter inputs to the attributes in the user object. See the following figure. 5. The user object attributes can then be wired to the value that are to be alarmed.

User Object FRCBK_1 IN_COUNT

Description: @ Notification Description: @ Value = %IN_COUNT2% Alarm Reporter In01 In02 In03

@ - specifies that the attribute name will be inserted.

Metso Automation 278589

6-7

Function Blocks and Buffers Programmer's Reference and User's Guide


%name% - specifies that the value of an attribute will be inserted. name is the name of the attribute. The attribute must have data. Read Only attributes do not work. An attribute must be from the alarm reporter, not the enveloping user object. Examples: Attribute FRCBK_1 could have the following description: @ Notification. This would show on the alarm summary as: FRCBK_1 Notification. Attribute IN_COUNT is assigned the description: @ Value = %IN_COUNT%. This would show on the alarm summary as: IN_COUNT Value = 3.0 (assuming the value of IN_COUNT was 3).

Attributes
Name AnyAlarm CurrentAlm LatchedAlm Type Float/ Bool Float Float Outputs Description/Application TRUE if an alarm is in the alarm list. FALSE if no alarm in the list. The number of the highest priority input currently in alarm. (1 relative) The number of the input responsible for the alarm that is in the alarm list (1 relative) Inputs Description/Application When non-zero, specifies that an alarm should be generated for the input designated by the non-zero value. If zero, the inputs are used. If a higher-priority input is in alarm, the AlmCode alarm is buried. The specified input must have a member in the user object to provide alarm text. Disables all alarms when true. Input 1 (lowest priority) Input 2 Input 3 Input 4 Input 5 Input 6 Input 7 Input 8 Input 9 Input 10 Input 11 Input 12 Input 13 Input 14 Input 15 Input 16 (highest priority)

Name AlmCode

Type Float

Cutout In01 In02 In03 In04 In05 In06 In07 In08 In09 In10 In11 In12 In13 In14 In15 In16

Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float

6-8

Metso Automation 278589

Function block Category: Group


Configuration Parameters Description/Application Alarm behavior. 0 = No return to normal alarm, 1 = Create a normal alarm if acknowledged alarm clears, 2 = Auto acknowledged alarm when cleared, 3 = Create a normal alarm and auto acknowledge (1 and 2), 4 = Log Only. Number of seconds to delay an alarm. Another group hierarchy that can be used for alarm filtering. Alarm Severity (0 to 5) Disables alarms when true Disables all alarms when non-zero. A defeated alarm will not log even if set to Log Only. Acknowledged promoted to unacknowledged after time period specified here. (0 to disable) Methods Description/Application Changes the alarm state to acknowledged Status Description/Application Current acknowledged state. 1 = acknowledged, 0 = unacknowledged Alarm text shown on alarm summary and browser. Extracted from member of enveloping object. Handle of tagname specified in the AlmParent attribute. Current alarm state: 0 = no alarm, 1 = unacknowledged alarm 3 = acknowledged alarm, 4 = cutout (no alarm), 8 = defeated (no alarm), 9 = defeated (unacked alarm), 11 = defeated (acked alarm) Time of alarm occurrence Time of alarm occurrence of input 1 Time of alarm occurrence of input 2 Time of alarm occurrence of input 3 Time of alarm occurrence of input 4 Time of alarm occurrence of input 5 Time of alarm occurrence of input 6 Time of alarm occurrence of input 7 Time of alarm occurrence of input 8 Time of alarm occurrence of input 9 Time of alarm occurrence of input 10 Time of alarm occurrence of input 11 Time of alarm occurrence of input 12 Time of alarm occurrence of input 13 Time of alarm occurrence of input 14 Time of alarm occurrence of input 15 Time of alarm occurrence of input 16 Alternate alarm text shown on alarm summary and browser. Extracted from member of enveloping object. Returns the text from the Title attribute of a parent. Will search up the hierarchy until text is found. Returns the service name of its parent.

Name AlmBehave

Type Float

AlmDelay AlmParent AlmSev Cutout Defeat ReAlarmTime

Time String Float Float Float Time

Name Alm_Ack

Type Float

Name Acked AlarmText AlmParentHandle AlmState AlmTime AlmTime01 AlmTime02 AlmTime03 AlmTime04 AlmTime05 AlmTime06 AlmTime07 AlmTime08 AlmTime09 AlmTime10 AlmTime11 AlmTime12 AlmTime13 AlmTime14 AlmTime15 AlmTime16 AltAlarmText Desc Service

Type Float String Long Long Time Time Time Time Time Time Time Time Time Time Time Time Time Time Time Time Time String String String

Metso Automation 278589

6-9

Chapter 7
Tagable (AlmTag)
Tagable atomic blocks consist of Analog Tagger (ATAG) Digital Tagger (DTAG) Use the Analog Tagger (ATAG) atomic block to assign a tagname, scaling, alarming, and value forcing capability to any analog point, and use the Digital Tagger atomic block to apply similar capabilities to digital points. These atomic blocks are typically used to assign tagnames and alarming capabilities to individual signals entering buffers and to points related to PID-related atomic blocks. See Chapter 3, "Atomic block Category: Buffers," and Chapter 4, "Atomic block Category: Modulating Control Logic." The following two sections discuss key features of each atomic block, such as value forcing using the Mode and ForcedVal parameters, configuring a snooze alarm, creating custom alarm text, and other features. Parameters included with this atomic block allow you to assign a tagname to a point, set alarm and range high and low limits, range clamping, and various alarm behaviors.

Metso Automation 278589

Function Blocks and Buffers Programmer's Reference and User's Guide

Analog Tagger (ATAG)

InCtl

ATAG

Out OutPct OutCtl AnyAlarm Limit Conditions

Overview
Use the Analog Tagger (ATAG) atomic block to assign a tagname, scaling, alarming, and value forcing capability to any analog point. Parameters included with this atomic block allow you to assign a tagname to a point, set alarm and range high and low limits, range clamping, and various alarm behaviors. This atomic block is typically used to assign tagnames and alarming capabilities to individual signals entering buffers and to points associated with PID-related atomic blocks. See Chapter 3, "Atomic block Category: Buffers," and Chapter 4, "Atomic block Category: Modulating Control Logic." Changes simple input to complex output(OutCtl)

TagName Reporting
The tagname reported with an alarm has always been the tagname or service name of the alarming block (DPU 2.0 or earlier). With DPU 2.1 this is still true except for the following case. The tagname reported with an ATAG or DTAG alarm will be the tagname of the block that the defeat attribute is wired to. For example, multiple taggers in a macro could share a common defeat that is defined in the macro shell.

7-2

Metso Automation 278589

Function block Category: Tagable

Macro (tagname X) ATAG Defeat Defeat

ATAG Defeat

If either or both of the taggers above went into alarm (and defeat is false), 2 alarms could be shown on the alarm summary or alarm list with a tagname X. Acknowledging one of the alarms would acknowledge them both since it would use the macro tagname and acknowledge all alarms in its group. Each alarm acknowledge is stored as an event. Only a wire from the defeat attribute of a tagger causes this behavior. NOTE: It is illegal to put atoms with tagnames in a macro. If the atoms in the above example had tagnames, those tagnames would be shown on the alarm list regardless of a defeat reference. This could result in alarms being listed that could not be acknowledged.

Configuring Filtering
Use the FilterTC to configure value filtering. Filtering is performed as a rolling average using the following formula: TC = FilterTC / ElapsedTime FilteredValue = ((LastFilteredValue * (TC-1)) + InputValue) / TC For example a FilterTC of 1 and an elapsed time of .5 seconds yields a 50% contribution from the current input value into the rolling average. A FilterTC of 2 yields a 25% contribution.

Configuring Alarm Behavior


Use the AlarmBehave parameter to control how alarm messages behave in alarm displays and logs. You may choose from the following options: 0 = No 'return to normal' alarm

Metso Automation 278589

7-3

Function Blocks and Buffers Programmer's Reference and User's Guide


1 = Create a normal alarm if acknowledged alarm clears 2 = Auto acknowledged alarm when cleared 3= Create a normal alarm and auto acknowledged (1 and 2) 4 = log only Set this parameter to 1 to generate a normal alarm when an acknowledged alarm clears. The default setting (0) is a no Return to Normal alarm. Normally, cleared but unacknowledged alarms stay on the alarm list until acknowledged. Select the second option to cause the alarms (except NORMAL alarms) to be removed from the list automatically when cleared, even if unacknowledged. Select option 3 to do both. ATAG Rate Alarm maxDPU version 2.1 supports ATAG rate alarms. configured to enable a rate alarm: Attributes to be

LimRate Value that when exceeded will cause a rate alarm to be generated. Disables rate alarms and CondRate when set to 0. LimRate value should be positive. RateTime Time period for the rate calculation. Should be entered in seconds. If set to 0, time period is the same as the time class. RateClamp is not used at this time since there is no visible rate value (Status or Output attribute) to clamp. Future attributes: Rate, EnRate. ATAG always checks for rising rate and falling rate (if LimRate is non-zero). Rate is the lowest priority ATAG alarm. If a limit alarm is active and the rate limit is exceeded, a rate alarm is not generated. If a rate alarm is active and a limit alarm occurs, the limit alarm will be shown on the alarm summary. Rate Calculation: If RateTime is not zero Rate = DeltaValue * (RateTime / DeltaTime) Else Rate = DeltaValue Hysteresis is applied to the rate value. Calculated rate value is not visible at this time. A Rising rate alarm is generated if the rate value >= rate limit. A Falling rate alarm is generated if the rate value <= -rate limit.

7-4

Metso Automation 278589

Function block Category: Tagable


Rising rate alarm is cutout by HiCutout. Falling rate alarm is cutout by LoCutout. CondRate attribute is set if the rate value exceeds the LimRate even if a limit alarm is active.

Logging Behavior
By default, all alarms (Severity 1 to 5) are also logged. If Log Only is selected in the AlmBehave attribute, all alarms are logged including severity 0. Additionally, no alarms are generated for the atomic block (treated as if it is severity 0).

Delta Alarming
A delta alarm is displayed on the alarm screen as a HiHi or LoLo alarm. The value and limit exceeded is displayed in the alarm line. There is currently no indication of whether the value is getting better or worse.

Creating a Snooze Alarm


Use the ReAlarmTime parameter to create a snooze alarm. The snooze alarm option causes acknowledged alarms to be promoted to unacknowledged after the passage of a set unit of time. The value and units are configurable

Reducing Nuisance Alarms


Use the AlmDelay parameter to reduce the occurrence of nuisance alarms. This attribute delays generating an alarm for a configurable number of seconds. Use this feature for points that characteristically reach an alarm state only momentarily and then revert back to a normal state.

Using Mode to Force an Output Value


Set the Mode parameter to Forced when you want to force the output value and value applied for alarm generation. Enter the desired forced output value in the ForcedVal parameter before changing the Mode to Forced to avoid an unexpected output value. Note when the ScaleEn parameter is not zero, the InCtl value that would cause output equal to ForcedVal in Normal mode is not the same as the ForcedVal value. ScaleEn converts a 0 to 100 input value to an output value LimitRangeLo to LimitRangeHi.

Creating Custom Alarm Text


A user object linked to the UserRef parameter contains the standard alarm text supplied with all systems. The alarm text, used to describe the type of alarm, appears on the Alarm Summary display. The user object containing the text is one of several associated with a DPU and viewable from maxDPUTools

Metso Automation 278589

7-5

Function Blocks and Buffers Programmer's Reference and User's Guide


To create customized alarm text to apply to a specific application not addressed by the standard alarm text, copy the alarm text user object and enter new text. The user object, called AlmTagText (usrobj), consists of a grid containing a Members column and a Description column. Members and description are subattributes. Alarm text may contain fixed text or be parameterized so that relevant values are filled in dynamically. For example, High Alarm Limit = %.LimHi% Value = %.Out%. Members of user objects use the descp sub-attribute to contain the alarm text. Text in the description column may also contain @ characters, such as @limit =%LimHi% Value =% out%. When this text is called, the @ is substituted for the associated text appearing in the members column, which in this case is the text, High Alarm. Members of the alarm text user object appear in the following fixed order: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Alarm clear text Alarm digital text (not used by Atag) Alarm normal text Alarm rising text Alarm falling text Low alarm text High alarm text LoLo alarm text HiHi alarm text Range low text Range High text

Attributes
Name AnyAlarm CondHi CondHiHi CondLo CondLoLo CondRangeHi CondRangeLo CondRate Type Float/ Bool Float Float Float Float Float Float Float Output Description/Application TRUE if an alarm is in the alarm list. FALSE if no alarm in the list. True if output exceeds high limit. Calculated regardless of enable state, cutout state or defeat state. Not latched True if output exceeds high high limit. Calculated regardless of enable state, cutout state or defeat state. Not latched True if output exceeds low limit. Calculated regardless of enable state, cutout state or defeat state. Not latched True if output exceeds low low limit. Calculated regardless of enable state, cutout state or defeat state. Not latched True if output exceeds range high limit. Calculated regardless of enable state, cutout state or defeat state. Not latched. True if output exceeds range low limit. Calculated regardless of enable state, cutout state or defeat state. Not latched True if output exceeds rate limit. Calculated regardless of enable state, cutout state or defeat state. Not latched

7-6

Metso Automation 278589

Function block Category: Tagable


Out OutCtl OutPct Float Complex Float Output value Complex Output Output percent Inputs Description/Application Disables all high limit alarms when true Disables all low limit alarms when true Input value Configuration Parameters Description/Application Alarm behavior. 0 = No return to normal alarm (default), 1 = Create a normal alarm if acknowledged alarm clears, 2 = Auto acknowledged alarm when cleared, 3 = Create a normal alarm and auto acknowledge (1 and 2), 4 = Log Only. Number of seconds to delay alarm Another group hierarchy that can be used for alarm filtering. Tagname of a group. Alarm Severity (0-5). No alarms for severity 0. Alternate Description of point Alternate Short Description of point Alternate units of measure Disables all alarms when non-zero. A defeated alarm will not log even if set to Log Only. Description of point Enables hihi/lolo alarm limits 0 = None, 1 = Low, 2 = High, 3 = Both, 4 = Delta, 5 = Repetitive delta. Note that if 4 or 5 is selected, the LimHiHi and LimLoLo attributes contain the delta values that are used around the LimHi and LimLo limits. Enables high/low alarm limits 0 = None, 1 = Low, 2 = High, 3 = Both Enables Range high/low alarm limits 0 = None, 1 = Low, 2 = High, 3 = Both Filter Time Constant Value that Out will be if Tagger is in Forced Mode Generic name Hysteresis for analog alarms. Pertains to range hi, range lo, hi, hihi, lo, lolo limits Limit for delta alarming. Applied to hi limit when EnHHLL is set to delta alarming. Limit for delta alarming. Applied to lo limit when EnHHLL is set to delta alarming. Analog high alarm limit (in engineering units) High High Alarm Limit (in engineering units) Analog low alarm limit (in engineering units) Low Low Alarm Limit (in engineering units) High range for analog output Low range for analog output Rate of Change Value (0 to disable). Will generate a rising or falling alarm. DPU4A uses a least squares technique that uses the last 5 values and their times. Mode of tagger Normal or Forced

Name Type Float HiCutout Float LoCutout Complex InCtl ** Normally Referenced Name AlmBehave Type Float

AlmDelay AlmParent AlmSev AltDesc AltShDesc AltTUOM Defeat Desc EnHHLL

Time String Float String String String Float String Float

EnHiLo EnRange FilterTC ForcedVal Gname Hysteresis LimDeltaHi LimDeltaLo LimHi LimHiHi LimLo LimLoLo LimRangeHi LimRangeLo LimRate Mode

Float Float RelTime Float String Float Float Float Float Float Float Float Float Float Float Long

Metso Automation 278589

7-7

Function Blocks and Buffers Programmer's Reference and User's Guide


RangeClamp RateClamp RateTime ReAlarmTime ScaleEn Float Float Time Time 0 = No clamping, 1 = Output never exceeds range limits Clamp to rate limit if TRUE. Time period for rate check in seconds. (1 to 3600) Acknowledged promoted to unacknowledged after time period specified here. (0 to disable) Percent input scaled based on range Short description of point Name of point Units of measure Tagname of User Object supplying Alarm Text. Saved internally as a service handle.

Float/ Bool String ShDesc String TagName String TUOM Long/ UserRef String ** Normally Constants

Name Acked ActualRate AlarmText AlmCode

Type Float Float String Float

Status Description/Application Current acknowledged state. Readable only. 1 = acknowledged, 0 = unacknowledged. Calculated Rate of Change Value Alarm description Set to the current alarm type as follows: 0 = Clear alarm No alarm is active or alarms are Defeated 1 = Clear Digital alarm. Not used by ATAG. 2 = Digital alarm Digital alarm is active. Not used by ATAG 3 = Normal alarm Denotes a return to normal alarm. AlmType set to this if AlmBehave = 1 and the previous type was not normal, alarm is acknowledged and the severity is not 0. 4 = Rising alarm Denotes rate limit is exceeded upwards. Only set if other alarm types are not active. 5 = Falling alarm Denotes rate limit is exceeded downwards. Only set if other alarm types are not active. 6 = Low alarm Denotes low alarm limit exceeded. 7 = High alarm Denotes high alarm limit exceeded 8 = Low Low alarm Denotes LoLo alarm limit exceeded 9 = High High alarm Denotes HiHi alarm limit exceeded 10 = Range Low alarm Denotes low range limit exceeded 11 = Range High alarm Denotes high range limit exceeded Set to the latched (unacknowledged) alarm type. Types are defined above. Handle of tagname specified in the AlmParent attribute. Current alarm state: 0 = no alarm, 1 = unacknowledged alarm 3 = acknowledged alarm, 4 = cutout (no alarm), 8 = defeated (no alarm), 9 = defeated (unacked alarm), 11 = defeated (acked alarm) Alternate Alarm Description Alarm occurrence time. Updated whenever the alarm changes to a worse state regardless of acknowledge state. Input auctioneering reference Input high range Input low range Input incremental reset

AlmCodeLat AlmParentHandle AlmState AltAlarmText AlmTime InCtlAREF InCtlRHI InCtlRLO InCtlRST

Float Long Long String Time Float Float Float Float

7-8

Metso Automation 278589

Function block Category: Tagable


InCtlSTAT InCtlTyp InCtlVAL OutCtlAREF OutCtlRHI OutCtlRLO OutCtlRST OutCtlSTAT OutCtlTYP OutCtlVAL Tmode Long Float Float Float Float Float Float Long Long Float String Input forceback status Input Type Input value Output auctioneering reference Output high range Output low range Output incremental reset Output forceback status Output type Output value Text for mode Command Name Alm_Ack Type Boolean Description Clears Unacknowledged state

Alarm behavior 0 = No 'return to normal' alarm 1 = Create a normal alarm if acknowledged alarm clears 2 = Auto acknowledged alarm when cleared 3= create a normal alarm and auto acknowledged (1 and 2) 4 = log only EnHHLL 0 = None 1 = Low 2 = High 3 = Both 4 = Delta 5 = Repetitive Delta HiCut out 0 = False 1 = True LoCutout 0 = False 1 = True RangeClamp 0 = False 1 = True RateClamp 0 = False 1 = True ReAlarm Time 0 = False 1 = True

Metso Automation 278589

7-9

Function Blocks and Buffers Programmer's Reference and User's Guide

Digital Tagger (DTAG)

Out In DTAG AnyAlarm

Overview
Use the Digital Tagger (DTAG) to assign a tagname, simple alarming, and value forcing capability to any digital point. This atomic block is typically used to assign tagnames and alarming capabilities to individual signals entering buffers and to points related to PID-related atomic blocks. See Chapter 3, "Atomic block Category: Buffers," and Chapter 4, "Atomic block Category: Modulating Control Logic."

TagName Reporting
The tagname reported with an alarm has always been the tagname or service name of the alarming block (DPU 2.0 or earlier). With DPU 2.1 this is still true except for the following case. The tagname reported with an ATAG or DTAG alarm will be the tagname of the block that the defeat attribute is wired to. For example, multiple taggers in a macro could share a common defeat that is defined in the macro shell.
Macro (tagname X) ATAG Defeat Defeat

ATAG Defeat

If either or both of the taggers above went into alarm (and defeat is false), 2 alarms could be shown on the alarm summary or alarm list with a tagname

7-10

Metso Automation 278589

Function block Category: Tagable


X. Acknowledging one of the alarms would acknowledge them both since it would use the macro tagname and acknowledge all alarms in its group. Each alarm acknowledge is stored as an event. Only a wire from the defeat attribute of a tagger causes this behavior. NOTE: It is illegal to put atoms with tagnames in a macro. If the atoms in the above example had tagnames, those tagnames would be shown on the alarm list regardless of a defeat reference. This could result in alarms being listed that could not be acknowledged.

Configuring Alarm Behavior


Use the AlarmBehave parameter to control how alarm messages behave in alarm displays and logs. You may choose from the following options: 0 = No 'return to normal' alarm 1 = Create a normal alarm if acknowledged alarm clears 2 = Auto acknowledged alarm when cleared 3= Create a normal alarm and auto acknowledged (1 and 2) 4 = log only Set this parameter to 1 to generate a normal alarm when an acknowledged alarm clears. The default setting (0) is no Return to Normal alarm. Normally, cleared but unacknowledged alarms stay on the alarm list until acknowledged. Select the second option to cause the alarms (except NORMAL alarms) to be removed from the list automatically when cleared, even if unacknowledged. Select option 3 to do both.

Logging Behavior
By default, all alarms (Severity 1 to 5) are also logged. If Log Only is selected in the AlmBehave attribute, all alarms are logged including severity 0. Additionally, no alarms are generated for the atomic block (treated as if it is severity 0).

Creating a Snooze Alarm


Use the ReAlarmTime parameter to create a snooze alarm. The snooze alarm option causes acknowledged alarms to be promoted to unacknowledged after the passage of a set unit of time. The value and units are configurable

Reducing Nuisance Alarms


Use the AlmDelay parameter to reduce the occurrence of nuisance alarms. This attribute delays generating an alarm for a configurable number of seconds. Use this feature for points that characteristically reach an alarm state only momentarily and then revert back to a normal state.

Metso Automation 278589

7-11

Function Blocks and Buffers Programmer's Reference and User's Guide


Using Mode to Force an Output Value
Use the Mode parameter when you want to manually change the source of the input entering the atomic block from InCrl (input attribute) to a forced value, the value to which the output is forced. Use the ForcedVal parameter to enter a value in engineering units.

Creating Custom Alarm Text


A user object linked to the UserRef parameter contains the standard alarm text supplied with all systems. The alarm text, used to describe the type of alarm, appears on the Alarm Summary display. The user object, called AlmTagText (usrobj), containing the text is one of several associated with a DPU and viewable from maxDPUTools. To create customized alarm text to apply to a specific application not addressed by the standard alarm text, copy the alarm text user object and enter new text. The user object consists of a grid which includes a members Column and a Description column. Members and description are subattributes. Alarm text may contain fixed text or be parameterized so that relevant values are filled in dynamically. For example, point is %.FlsText%. Members of user objects use the descp sub-attribute to contain the alarm text. Members of the alarm text user object appear in the following fixed order: Alarm false text Alarm true text

Attirbutes
Name AnyAlarm Out Type Float/ Bool Float Outputs Description/Application TRUE if an alarm is in the alarm list. FALSE if no alarm in the list. Output value Inputs Description/Application Disables all alarms when true Input value Configuration Parameters Description/Application Alarm behavior. 0 = No return to normal alarm, 1 = Create a normal alarm if acknowledged alarm clears, 2 = Auto acknowledged alarm when cleared, 3 = Create a normal alarm and auto acknowledge (1 and 2), 4 = Log Only. Number of seconds to delay alarm Another group hierarchy that can be used for alarm filtering. Tagname of a group Alarm severity (0 to 5)

Name Type Float Cutout Float In ** Normally Referenced Name AlmBehave Type Float

AlmDelay AlmParent AlmSev

Time String Float

7-12

Metso Automation 278589

Function block Category: Tagable


AltDesc AltFlsText AltShDesc AltTMsg AltTrText Defeat Desc EnAlm FlsText ForcedVal Gname InvIn InvOut LatchFilter Mode ReAlarmTime String String String String String Float String Float String Float String Boolean Boolean Float Long Time Alternate Description of point Alternate text for false state Alternate Short Description of point Alternate text based on state of output (AltTrText or AltFlsText) Alternate text for true state Disables all alarms when non-zero. A defeated alarm will not log even if set to Log Only. Description of point Enables alarming: 0 = No alarm, 1 = Alarm if Hi, 2 = Alarm if low, 3 = Any transition. Text for false state Value that Out will be if Tagger is in Forced Mode Generic name Invert the input Invert the output 1-Latch to True if input true anytime since last execution 2-Latch to False if input false any time since last execution. 3-Filter transients use value if input has been stable since last execution. Mode of tagger Normal or Forced Acknowledged promoted to unacknowledged after time period specified here. (0 to disable) Short description of point Enable SOE 1-T 2-F 3-Both Name of point Text for true state Tagname of User Object supplying Alarm Text Status Description/Application Current acknowledged state. Readable only. 1 = acknowledged, 0 = unacknowledged. Handle of tagname specified in the AlmParent attribute. Current alarm state: 0 = no alarm, 1 = unacknowledged alarm 3 = acknowledged alarm, 4 = cutout (no alarm), 8 = defeated (no alarm), 9 = defeated (unacked alarm), 11 = defeated (acked alarm) Alarm occurrence time Alternate Alarm Description DIB Service Handle If SOE Text based on state of output ( TrText or FlsText) Text for mode Command Name Alm_Ack Type Boolean Description Clears Unacknowledged state

String ShDesc Float SOEOption String TagName String TrText Long UserRef ** Normally Constants Name Acked AlmParentHandle AlmState AlmTime AltAlarmText SOEService TMsg Tmode Type Float Long Long Time String Integer String String

Metso Automation 278589

7-13

Chapter 8
State Logic (StLog)
DEVLOG SEQMSTR SEQSTEP

Sequence Attribute Application


The SEQMSTR and SEQSTEP are used in conjunction to establish sequence configuration. The following is a discussion of the application of their attributes for various sequence functions.

A Single Linear Sequence


A sequence master atomic function block can be the master of up to 5 sequences. The first application description will be for a single sequence that is linear has (no branches or jumps). To configure this sequence, add a function block for the sequence master and function blocks for each of the sequence steps. The sequence Master attribute configuration is as follows when there is only one sequence.

Attribute GName FrstStp1 Fdbk1

Category Parameter Parameter Input

Description Generic Name Rel Idx of First Step of Ch 1 Bool For Chain 1 Completion

DataType Text Float Boolean

By convention, the step relative index numbers should be assigned starting at 101 (for the single number 1 sequence, each sequence with a different hundreds range) therefor the FrstStp1 entry would be 101. The Fdbk1 should be configured to the ACTIVE output attribute of the last step of the sequence. The following attributes require configuration for each step.

Attribute ChainInCPX CChain CStep Complete

Category Input Parameter Parameter Input

Description Complex Chain In Chain to Which Step Belongs Normal Next Step Bool For Fdbck Step Complete

DataType Complex Long Long Boolean

CHAININCPX connects the Step to the Master for communication of between the function blocks. CCHAIN declares the Master chain that the step is associated with (and should have an entry of 1 for this example). CSTEP declares the relative ID (index number) of the next step of the linear sequence. Note that this field is 0 (not edited) for the last step. COMPLETE is requires a reference to the logical condition for the completion of the step actions. When this input is true this sequence will progress to the next step. Note that this field is not applied for the last step.

Metso Automation 278589

Function Blocks and Buffers Programmer's Reference and User's Guide


Adding Text
The text attribute fields provide for descriptive HMI interface with the sequence: The following attributes are provided in the Master for description of the overall sequence:

Attribute TagName Desc ShDesc Chain1Txt

Category Parameter Parameter Parameter Parameter

Description Tag Name Description Short Description Descr of Action Done By Ch 1

DataType Text Text Text Text

The TAGNAME, DESC and SHDESC should be edited to describe the device or system to which the sequence is applied (such as MILL A). CHAIN1TXT should be edited to describe the operation that the sequence provides for the device or system (such as STARTUP). (Note that there are five sequences (chains) that can be controlled by the master, so the subsequent CHAINnTXT attributes provide descriptions of the other sequence operations (such as SHUTDOWN, etc.) The following attributes are provided in the Step for description of its operation:

Attribute StepName Message MsgEnb PermitRef

Category Parameter Parameter Input Parameter

Description Step Name Step Message Bool Enabling Message Posting Ref to Complete Permissives

DataType Text Text Boolean Text

STEPNAME and MESSAGE provide descriptions of step operations. PERMITREF provides a reference to the source of the completion logic for a graphic display. Most sequence steps require multiple states to be true for completion. For ease of sequence detail display requirements, by convention a Permit block is used for every step, even if there were only one completion permissive (or zero). PERMITREF is used to define which Permit block was to be used for the display. It has no effect on the logic or actions of the sequence. The standard popup for a sequence master shows the TAGNAME and SHDESC for the sequence plus the CHAINnTXT for each chain on the chains sequence initiation pushbutton. It also shows the STEPNAME of the active step and has a MSG button that causes the active steps MESSAGE to appear when MSGENB is true. MSGENB is provided to control the message display; on the standard popup it controls the MSG button highlighting and whether a message appears when the MSG button is pressed. (When the MSG button is pressed the popup displays the text in the master .MESSAGECPX attribute which is blank when the active steps MSGENB is false; and is the currently active steps MESSAGE when MSGENB is true.)

Sequence Operation Modes


There are four operating modes of the sequence (of all the sequences of a master): Manual: Sequence advances from one step to the next only by operator action (OPADVANCE commmand) Manual is a dangerous mode of operation. Sequence Output control signals (Steps .Command and Masters .OutputWord) are frozen while in Manual. Manual allows someone to turn off the sequence, move the sequence to whatever step desired (by OPADVANCE and/or OPCMD), then turn the sequence back on. Manual is often inhibited except when the controlled process is shutdown by logic that pulses the master to SemiAuto, whenever the mode is Manual (unless the process is shutdown or some other perceived safe condition). Semi-Auto: Sequence advances from one step to the next by operator action AND complete input condition. Note that .Jump causes a step change without operator action when in SemiAuto. Auto: Sequence advances from one step to the next without operator action (except where step configuration specifies that operator action is required). Remote: Sequence operates in Auto mode and will be initiated by the AUTOn inputs (edge triggers).

The following inputs effect these modes:

Attribute OpMode

Category Command

Description Write Activated Mode Change 0 = Manual 1 = Auto

DataType Float

8-2

Metso Automation 278589

Function block Category: State Logic


2 = Semi-Auto 3 = Remote OK Oper input in rmt mode True permits operator initiation of sequences in parallel with AUTOn inputs when remote mode otherwise operator sequence initiation is blocked when remote mode. Bool to force Auto Mode Dominates SetRemote Bool to force Manual Mode Dominates all other sets Bool to force Remote Mode Bool to force SemiAuto Mode Dominates SetAuto and SetRemote Edge Trig Auto Start of Ch 1 Edge Trig Auto Start of Ch 2 Edge Trig Auto Start of Ch 3 Edge Trig Auto Start of Ch 4 Edge Trig Auto Start of Ch 5

OpInRmt

Parameter

Boolean

SetAuto SetMan SetRemote SetSemi Auto1 Auto2 Auto3 Auto4 Auto5

Input Input Input Input Input Input Input Input Input

Boolean Boolean Boolean Boolean Boolean* Boolean* Boolean* Boolean* Boolean*

* Edge trigger (single shot) input is required to avoid continuous sequence initiation command. If input is sustained the resulting continuous command could be ignored by configuration of 1 in the Step.CMDBRANCHn attributes (where n is the branch number of the continuous AUTOn input).

Operator Actions
The operator interacts with the sequence(s) by the following command inputs:

Attribute OpCmd

Category Command

Description Write Activated Chain Start


1 = Chain 1 2 = Chain 2 3 = Chain 3 4 = Chain 4 5 = Chain 5 6 = Reset Conditional on NOT in Remote mode or OPINRMT true. Note:Step.CmdBranchN defines what happens when this command is used. 0 sends to Master defined 1st step; Other number sends to that step; -1 blocks or prevents that comand from occuring.

DataType Float

OpMode

Command

OpAdvance

Command

Write Activated Mode Change Float 0 = Manual 1 = Semi-Auto 2 = Auto 3 = Remote Write Activated Advance Actn Float Causes step progression in Manual mode. Causes step progression in Semi-Auto mode conditional on Step Complete configuration. Causes step progression in Auto and Remote modes if step ADVENB set or if step WAITFOROP set (and conditional on Step Complete configuration).

Metso Automation 278589

8-3

Function Blocks and Buffers Programmer's Reference and User's Guide


Note: WaitForOp requires an OpAdvance for sequence to proceed. AdvEnb allows a sequence to proceed even if .Complete is not true. OpPause Command Bool Pause, Prevent Stepping 1 = Suspend automatic step progression 0 = Resume automatic step progression Float

Step Progression Options


The single linear sequence configuration (above) will establish steps that progress (in Auto mode) from one to the next as soon as their complete inputs are true. There are several options to this step operation set by the following parameters:

Attribute AdvEnb

Category Input

WaitForOp

Input

MinTimeSP

Parameter

Description Boolean For Advance Allowed When true, the sequence master OPADVANCE command will cause step progression regardless on complete input status. Bool, Need of operator action When true step progression will wait for the sequence master OPADVANCE command operation. Note: When true, a sequence master OpAdvance command is required in addition to .Complete being true for the sequence to progress. MinTime prior to Step Step progression (still conditional on other configuration) will be delayed for at least the time entry value.

DataType Boolean

Boolean

RelTime

Output Options
The single linear sequence configuration (above) expects the use of the step ACTIVE output to effect the operations of each step. Other options are: Attribute Category Description DataType Active Output Boolean For Step Active Boolean True during the steps entire active period WaitTimeSP Parameter Set Point for Wait Time RelTime Establishes step command phase as period following the WaitTime (after step becomes active) until step is not active (sequence has progress to another step). Command Output Bool For Command Phase Active Boolean True during the steps entire active period following WaitTime. OutputWord Parameter Output Word for Step Long The sum of the binary values of the set master output bits Note: A 1 value causes the output word to remain the same, i.e. not change from the

8-4

Metso Automation 278589

Function block Category: State Logic

previous step. This is useful if certain steps can be entered by two different paths.
Of course the OUTPUT and COMMAND outputs are referenced to the step and are only true during the steps active period. For output status that result from several steps active periods, the steps OUTPUT or COMMAND outputs would have to be ORed by separate logic or the OUTPUTWORD of the various steps configured. The output word is an integer that is the sum of the binary values of the sequence master output bits that are to be set during that steps active period. Sequence Master Outputs effected by the step OutputWord

Attribute OutWrdBit1 OutWrdBit2 OutWrdBit3 OutWrdBit4 OutWrdBit5 OutWrdBit6 OutWrdBit7 OutWrdBit8 OutWrdBit9 OutWrdBit10 OutWrdBit11 OutWrdBit12 OutWrdBit13 OutWrdBit14 OutWrdBit15 OutWrdBit16

Category Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output

Description Bit 1 of Cur Step Out Word (Binary value = 1) Bit 2 of Cur Step Out Word (Binary value = 2) Bit 3 of Cur Step Out Word (Binary value = 4) Bit 4 of Cur Step Out Word (Binary value = 8) Bit 5 of Cur Step Out Word (Binary value = 16) Bit 6 of Cur Step Out Word (Binary value = 32) Bit 7 of Cur Step Out Word (Binary value = 64) Bit 8 of Cur Step Out Word (Binary value = 128) Bit 9 of Cur Step Out Word (Binary value = 256) Bit 10 of Cur Step Out Word (Binary value = 512) Bit 11 of Cur Step Out Word (Binary value = 1024) Bit 12 of Cur Step Out Word (Binary value = 2048) Bit 13 of Cur Step Out Word (Binary value = 4096) Bit 14 of Cur Step Out Word (Binary value = 8192) Bit 15 of Cur Step Out Word (Binary value = 16384) Bit 16 of Cur Step Out Word (Binary value = 32768)

DataType Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float

Other outputs from the steps are:

Attribute ManStep Suspended

Category Output Output

Description DataType Bool For Step In Manual Mode Boolean Indicates that step progression is only (and unconditional) by operator action. Boolean For Step Suspended Boolean Indicates that step progression is suspended by operator action.*

* The Step.Suspended condition is set when: 1. The Master.OPPAUSE command is operated 2. The Master mode is Manual 3. A command causes a transfer to another sequence branch.

Metso Automation 278589

8-5

Function Blocks and Buffers Programmer's Reference and User's Guide


The latter two conditions provide a last active step indication for conditions that cause the step to end abnormally. For this indication, the boolean remains set until the chain is reentered and the Master mode is not manual.

Alarms
The sequence master will alarm on time out conditions for an active step or an active sequence as a whole. Sequence Master alarm parameters

Attribute Ch1MaxTime Ch2MaxTime Ch3MaxTime Ch4MaxTime Ch5MaxTime Attribute MaxTimeSP

Category Parameter Parameter Parameter Parameter Parameter Category Parameter

Description Alarm Time Limit For Chain 1 Alarm Time Limit For Chain 2 Alarm Time Limit For Chain 3 Alarm Time Limit For Chain 4 Alarm Time Limit For Chain 5 Description MaxTime For Step

DataType RelTime RelTime RelTime RelTime RelTime DataType RelTime

Sequence Step alarm parameter

Non-Linear Sequences
A linear sequence has a fixed step progression. A non-linear sequence has optional step progression described as a jump step. Application of a jump step is simply stating the jump destination step relative ID in JSTEP and configuring a reference to a condition that causes the jump. Jumps are immediate (in Auto and Remote modes); they are not conditional on any timing or permissive configurations. Another non-linear option is provided by declaring (in each step) the relative ID of the step that becomes active in another sequence in a multiple sequence application if that sequence is initiated while the step is active. An example of this option application would be to select the location for the start of the shutdown sequence when it is commanded before the startup is complete. Sequence step attributes for non-linear operation.

Attribute Category Description DataType Jstep Parameter Jump Next Step Long Jump Input Boolean To Jump to Jstep Boolean CmdBranch1 Parameter Rel Idx of Branch Step to Ch 1 Long CmdBranch2 Parameter Rel Idx of Branch Step to Ch 2 Long CmdBranch3 Parameter Rel Idx of Branch Step to Ch 3 Long CmdBranch4 Parameter Rel Idx of Branch Step to Ch 4 Long CmdBranch5 Parameter Rel Idx of Branch Step to Ch 5 Long Note:CmdBranchN Rel Idx of Step to proceed to when a valid OpCommand of N is received. A value of 1 blocks a command of N. A value of 0 (default) sends the sequence to the defined first step of command N. A third non-linear progression option is provided by declaring (in the sequence master) the initial step of a reset sequence that would be initiated by RMTRST input true or a reset OPCMD Sequence master attribute for reset sequence Attribute Category Description DataType Rstep Parameter First Step of Reset Chain Float
Note: A safe step to go to when logic is all bolloxed up. Could be a Trip or Emergency Shutdown. Could be complex logic chain that evaluates the process condition, and determines which chain/step the sequence should proceed to.

8-6

Metso Automation 278589

Function block Category: State Logic

Sequence Initiation Interlocks


INHn inputs (for each chain) block Manual and Auto (in Remote mode) sequence initiation. OVRDn inputs (for each chain) initiate the chains sequence regardless on the related INHn state. AUTOn inputs (for each chain) initiate the chains sequence conditional on Remote mode and NOT related INHn true.

Attribute Inh1 Inh2 Inh3 Inh4 Inh5 Ovrd1 Ovrd2 Ovrd3 Ovrd4 Ovrd5 Auto1 Auto2 Auto3 Auto4 Auto5 RmtRst RStep

Category Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Parameter

Description Bool to Prevent Start of Ch 1 Bool to Prevent Start of Ch 2 Bool to Prevent Start of Ch 3 Bool to Prevent Start of Ch 4 Bool to Prevent Start of Ch 5 Ignore Inh1 & Start Chain 1 Ignore Inh2 & Start Chain 2 Ignore Inh3 & Start Chain 3 Ignore Inh4 & Start Chain 4 Ignore Inh5 & Start Chain 5 Edge Trig Auto Start of Ch 1 Edge Trig Auto Start of Ch 2 Edge Trig Auto Start of Ch 3 Edge Trig Auto Start of Ch 4 Edge Trig Auto Start of Ch 5 Start Reset Chain First Step of Reset Chain

DataType Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean* Boolean* Boolean* Boolean* Boolean* Float

* Edge trigger (single shot) input is required to avoid continuous sequence initiation command. If input is sustained the resulting continuous command could be ignored by configuration of 1 in the Step.CMDBRANCHn attributes (where n is the branch number of the continuous AUTOn input).

Multiple Sequences
Additional chains (up to (5) total) can be configured for a sequence master by configuring the related following attributes for the master according to the discussions above and adding sequence step function blocks for each chain (also per discussions above).

Attribute FrstStp1 FrstStp2 FrstStp3 FrstStp4 FrstStp5 Fdbk1 Fdbk2 Fdbk3 Fdbk4 Fdbk5 Chain1Txt Chain2Txt

Category Parameter Parameter Parameter Parameter Parameter Input Input Input Input Input Parameter Parameter

Description Rel Idx of First Step of Ch 1 Rel Idx of First Step of Ch 2 Rel Idx of First Step of Ch 3 Rel Idx of First Step of Ch 4 Rel Idx of First Step of Ch 5 Bool For Chain 1 Completion Bool For Chain 2 Completion Bool For Chain 3 Completion Bool For Chain 4 Completion Bool For Chain 5 Completion Descr of Action Done By Ch 1 Descr of Action Done By Ch 2

DataType Float Float Float Float Float Boolean Boolean Boolean Boolean Boolean Text Text

Metso Automation 278589

8-7

Function Blocks and Buffers Programmer's Reference and User's Guide


Chain3Txt Chain4Txt Chain5Txt Auto1 Auto2 Auto3 Auto4 Auto5 Inh1 Inh2 Inh3 Inh4 Inh5 Ovrd1 Ovrd2 Ovrd3 Ovrd4 Ovrd5 Ch1MaxTime Ch2MaxTime Ch3MaxTime Ch4MaxTime Ch5MaxTime Parameter Parameter Parameter Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Parameter Parameter Parameter Parameter Parameter Descr of Action Done By Ch 3 Descr of Action Done By Ch 4 Descr of Action Done By Ch 5 Edge Trig Auto Start of Ch 1 Edge Trig Auto Start of Ch 2 Edge Trig Auto Start of Ch 3 Edge Trig Auto Start of Ch 4 Edge Trig Auto Start of Ch 5 Bool to Prevent Start of Ch 1 Bool to Prevent Start of Ch 2 Bool to Prevent Start of Ch 3 Bool to Prevent Start of Ch 4 Bool to Prevent Start of Ch 5 Ignore Inh1 & Start Chain 1 Ignore Inh2 & Start Chain 2 Ignore Inh3 & Start Chain 3 Ignore Inh4 & Start Chain 4 Ignore Inh5 & Start Chain 5 Alarm Time Limit For Chain 1 Alarm Time Limit For Chain 2 Alarm Time Limit For Chain 3 Alarm Time Limit For Chain 4 Alarm Time Limit For Chain 5 Text Text Text Boolean* Boolean* Boolean* Boolean* Boolean* Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean RelTime RelTime RelTime RelTime RelTime

* Edge trigger (single shot) input is required to avoid continuous sequence initiation command. If input is sustained the resulting continuous command could be ignored by configuration of 1 in the Step.CMDBRANCHn attributes (where n is the branch number of the continuous AUTOn input).

8-8

Metso Automation 278589

Function block Category: State Logic

Device Logic (DEVLOG)


DevLog
Auto0 Auto1 Auto2 OpCmd OpMode SetMan SetAuto AutoSusp OpLkOut LkOutPrmt Fdbk0 Fdbk1 Fdbk2 Cmd0Out Cmd1Out Cmd2Out CmdState DevState Dev0Out Dev1Out Dev2Out DevMode AutoActv LockOut FailCode AlertCode

Overview
This atomic block is used to control devices that operate in different states such as OPEN/CLOSE, START/STOP, and CLOSE/TRIP. This atomic block can also be used to control processes that operate in different states. The atomic block can assume three states: ZERO, ONE, and TWO.

Metso Automation 278589

8-9

Function Blocks and Buffers Programmer's Reference and User's Guide

Critical Behaviors
Initiate Command Outputs to change object state Determine object state by feedback inputs Optionally determine some or all object states by command status. Monitor for failure of object state change to commanded state within time limit. Monitor for object state change withour command. Initiate state change by: Operator command through HMI Interlock inputs (Overrides with configurable priority). Auto inputs subject to Auto Mode selection and permit Inhibit state change by logic inputs for: Operator command Auto inputs Option for command outputs pulsed or maintained. Auto-Manual mode selection by Operator command through HMI or logic inputs. Auto suspension by logic input Lockout selection (set/reset) by Operator command through HMI. Lockout permit by logic input Monitor fail condition reset (makes command state equal object state) by Operator command through HMI or logic input Track for command state equal object state by logic input. Option for HMI operator change command action while Auto mode selected. Option for HMI operator change command action and select Manual mode while Auto mode selected. Option for override actions and/or Manual mode selection when monitor fail condition. Text attributes for HMI application.

Detailed Description
The following discussion of attribute applications is centered around the application of the device logic for two state devices, such as valves, dampers, on/off motors, and electric circuit breakers, where the third state would only apply for valves or dampers that might stop in mid-travel. Other applications are possible and might be mentioned, but not described in detail

Device Type
The following attributes are set/adjusted for the type of device.

Cmd0Txt Cmd1Txt Cmd2Txt Dev0Txt Dev1Txt Dev2Txt

Text Text Text Text Text Text

These six Parameters (along with six ALT... Parameters declare the command and device status words according to the device type. The Cmd... text would be action words describing the commands. The Dev...
8-10 Metso Automation 278589

Function block Category: State Logic


text would be status words describing the device status expected as a result of the commands. Examples of their application are:
Device Type Valve or Damper Motor Motor Circuit Breaker Cmd0Txt Close Turn Off Stop Open Cmd1Txt Open Turn On Start Close Cmd2Txt Stop Dev0Txt Closed Off Stopped Opened Dev1Txt Opened On Running Closed Dev2Txt Stopped

NumState

nteger

Sets the number of states permitted/used in a specific application

The entry for this attribute is either 2 or 3. 2 would be entered for devices with only two states; on/off motors and circuit breakers and valves or dampers not permitted stopping in mid-travel. 3 would be entered for devices (valves or dampers) that were permitted stopped in mid travel. A solenoid operated device could not stop in mid-travel, while a motor operated device could (depending on the motor circuit arrangement).
PlsTimSP RelTime Sets nature of Command output

Application for a device (single solenoid valve or damper or motor starter) that requires a sustained output to maintain the commanded state would set this relative time value to zero. With zero configured the command output becomes true when the state is commanded (during transition) and remains true when the commanded state is proven by feedback. Application for a device (double latching solenoid valve or damper or motor or circuit breaker or motor operated vavle or damper with sealing operating circuit) that can be operated by a pulsed command would set this value to the time required for the pulse. Application for a device (motor operated valve or damper with non-sealing operating circuit) that requires a maintained output to complete the transition between states would set this value to the travel time of the device providing a pulse long enough to complete the transition but not maintained forever. A zero value set might satisfy the operation of these device types also.
FdbkAppl Integer Defines status feedback connected 0 = All 1= 1&2 2= 0&2 3= 0&1 4 = Only 2 5 = Only 1 6 = Only 0 7 = None

Any feedback input that is excluded by this option selection is established by the DevLog logic by considering the command state and the input state of any feedback included by this option. Example: If option 5 (only 0) is

Metso Automation 278589

8-11

Function Blocks and Buffers Programmer's Reference and User's Guide


configured; device status 1 would be command status 1 and status 0 input NOT true.
TransTimSP ChgTimSP RelTime RelTime Maximum time expected to complete transition between states Time delay on alarm for change of device status that is not commanded.

Set the TransTimSP for the maximum time expected to complete transition between states. If a device state does not change to match a changed command state within that time a Fail to ... alarm is generated. When a device state changes without a command, a Uncommanded State Change... alarm is generated following time delay set by the ChgTimSP. The alarm is not generated if the command state changes to match the (changed) device state within the time delay.

Operation Strategy
The following attributes are set/adjusted/have references for operation strategy based on plant/company procedure rules which could be common for all types.

Lockout
LkOutPrmt Boolean True permits change of Lockout State by operator command

The application of Lockout is a choice of operation strategy. Lockout is an overriding condition of the device logic (not the device) that blocks all device operation. It is solely controlled by operator command (subject to its permit) which is expected to be entered through a HMI design that incorporates a database that keeps record of its (lockout) state changes with reason for change and identity of person initiating the change. This arrangement is to provide a Tag Out function for the equipment controlled by the logic. Set the attribute true to permit the function or reference the input to a dynamic condition (such as motor off) that permits the lockout condition. When the attribute is left false (without a reference), the lockout function is blocked and the HMI design should exclude any reference to it.

Mode
SetAuto SetMan OpInAuto Boolean Boolean Integer Auto Mode selected (forced) when true overrides operator command Manual Mode selected (forced) when true overrides operator command dominates SetAuto Operator State Change command effect when Auto Mode selected 0 = None 1 = OpCmd entries command state change while AutoMode selected 2 = OpCmd entries command state change and select Manual Mode while AutoMode selected

Auto command inputs are subject to the state of the Inhibit inputs (blocked if the inhibit is true) and are intended to be applied by referencing to auto logic (such as auto start on low pressure for a pump motor) or to sequence logic commands (such as close damper in a fan start sequence). The condition on

8-12

Metso Automation 278589

Function block Category: State Logic


their action is to assure that personnel and equipment safety interlocks are inforced for their application. (Contrarily Override command inputs are not subject to the state of the Inihibit (or Mode) because their logic is expected to cause action for safety purposes.) Mode selection for a device to select response to Auto command inputs may not be a familiar concept its application is a choice of operation strategy. The DevLog function block is provided mode functions analagous to the AutoMan function block which acts as a switch between operation by the automatic control functions or operation by manual commands. If mode selection is apart of the operation strategy, these attributes would be applied similar to the AutoMan function block. Otherwise, to have the automatic inputs always effective without operator mode selection, the SetAuto input should be set true and the OpInAuto option should be set to 1. If there is no Auto functions, the SetMan input could be set true and the OpInAuto option left at its default 0 value.

Fail Actions
FailAct Integer Set Command Action when Fail Condition 0 = No action 1 = Override Command 0 State 2 = Override Command 1 State 3 = Override Command 2 State Sets Manual Mode when Fail Condition

FailMan

Boolean

Override Priority
OvrdPri(ority) Integer Set Override Priority (which override dominates when multiple true) 0 = First Override True 1 = 0, 1, 2 2 = 0, 2, 1 3 = 1, 0, 2 4 = 1, 2, 0 5 = 2, 1, 0 6 = 2, 0, 1

Set for the desired override order of dominance

Track
Track Boolean True causes the command state to follow the device state

This input can be addressed to logic that will cause the device logic command state to change as the device state changes without any command initiation. Of course if the command outputs are maintained, they will become true as their command state is established.

Application
Feedback
Metso Automation 278589 8-13

Function Blocks and Buffers Programmer's Reference and User's Guide


Fdbk0 Fdbk1 Fdbk2 InvFdbk0 InvFdbk1 InvFdbk2 Boolean Boolean Boolean Boolean Boolean Boolean

Add references to feedback inputs to feedback digital inputs. InvFdbk... parameter if feedback inputs are false for device state.

Set the

Interlocks
Inh0 Inh1 Inh2 InvInh0 InvInh1 InvInh2 Ovrd0 Ovrd1 Ovrd2 Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean

Add references to interlock inputs (Inh... to block; Ovrd... to override) to safety interlock logic. Set the InvInh... parameter if the logic for inhibit is actual implemented as a permit (true when operation permitted).

Auto Operation
AutoSusp Auto0 Auto0 Auto0 Boolean Boolean Boolean Boolean

Add reference to AutoSusp input to block automatic operation without changing the mode. Add references to automatic inputs to automatic operation (or sequence operation) logic.

Alarm Reset
RmtRst Boolean

Add reference to RmtRst input to logic for remote reset of the device logic (acts the same as the Track input reseting the alarm by causing the command state to match the device state.

Outputs
Device Status

8-14

Metso Automation 278589

Function block Category: State Logic


DevState Integer 0 = Device Is In Transition State is indeterminate 1 = Device Is In The Zero State 2 = Device Is In The One State 3 = Device Is In The Two State 11 = Device Is In An Invalid State True for device in ZERO State True for device in ONE State True for device in TWO State

Dev0Out Dev1Out Dev2Out

Boolean Boolean Boolean

Device Logic Command Status


CmdState Integer 0 = No State Commanded Reset with indeterminate feedback 1 = Zero State Commanded 2 = One State Commanded 3 = Two State Commanded 4 = Reset State Commanded True for command to ZERO State True for command to ONE State True for command to TWO State True when Reset condition (Device state is indeterminate waiting operator command to specific state).

Cmd0Out Cmd1Out Cmd2Out Reset

Boolean Boolean Boolean Boolean

Device Logic Mode Status


DevMode AutoActv Lockout Boolean Boolean Boolean True for Auto Mode selected (see AutoActv for Auto released condition) True when automatic inputs are effective. True when Lockout condition is set

Device Logic Monitor Status


FailCode Integer Indication of Fail (device problem) conditions: 0 = No Failure 1 = Uncommanded State Change while Device was in the ZERO State 2 = Uncommanded State Change while Device was in the ONE State 3 = Uncommanded State Change while Device was in the TWO State 4 = Currently not used 5 = Commanded transition to the ZERO State failed 6 = Commanded transition to the ONE State failed 7 = Commanded transition to the TWO State failed 11 = Device is in an Invalid State (multi-feedbacks active) Indication of logic problem conditions: 0 = None 100 = Multi - AUTO commands active (when Auto Active) 101 = Multi- Override commands active (when First True option) 102 = Reset not complete

AlertCode

Integer

Attributes
Outputs Name AlrtCode AutoActv Cmd0Out Cmd1Out Type Integer Boolean Boolean Boolean Description Alert Conditions Auto commands permitted Zero Output Command One Output Command

Metso Automation 278589

8-15

Function Blocks and Buffers Programmer's Reference and User's Guide


Cmd2Out FailCode LockOut Reset Boolean Integer Boolean Boolean Status Name CmdState Dev0Out Dev1Out Dev2Out DevMode DevState Type Integer Boolean Boolean Boolean Boolean Integer Inputs Name Auto0 Auto1 Auto2 AutoSusp Fdbk0 Fdbk1 Fdbk2 Inh0 Inh1 Inh2 LkOutPrmt Ovrd0 Ovrd1 Ovrd2 RmtRst SetAuto SetMan Track Type Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Parameters Name AltDesc AltShDesc ChgTimSP Cmd0AltTxt Cmd0Txt Cmd1AltTxt Cmd1Txt Cmd2AltTxt Cmd2Txt Desc Type String String Rel Time String String String String String String String Description Alt. Description Alt. Short Description Uncommanded Change Alarm Delay Alternate text for Cmd0Out Text for Cmd0Out Alternate text for Cmd1Out Text for Cmd1Out Alternate text for Cmd2Out Text for Cmd2Out Description Description Go to zero state, Auto only Go to one state, Auto only Go to two state, Auto only Suspend Auto Action Zero Feedback One Feedback Two Feedback Inhibit transition to zero Inhibit transition to one Inhibit transition to two Lock Out Permit Zero Override One Override Two Override Go to reset state Force to Auto Force to Manual Logic Tracks Feedback Changes Description Commanded state Device in zero state Device in one state Device in two state Manual = 0, Auto = 1 Device State Indication Two Output Command Failure Code True if in lockout True if reset

8-16

Metso Automation 278589

Function block Category: State Logic

Dev0AltTxt Dev0Txt Dev1AltTxt Dev1Txt Dev2AltTxt Dev2Txt FailAct FailMan FdbkAppl GName InvFdbk0 InvFdbk1 InvFdbk2 InvInh0 InvInh1 InvInh2 NumState OpInAuto OvrdPri PlsTimSP ShDesc TagName TransTimSP Alert Codes:

String String String String String String Integer Boolean Integer String Boolean Boolean Boolean Boolean Boolean Boolean Integer Integer Integer Rel Time String String Rel Time

Alternate text for Dev0Out Text for Dev0Out Alternate text for Dev1Out Text for Dev1Out Alternate text for Dev2Out Text for Dev2Out Failure Action Fail to manual if true. Feedback Application Generic Name Invert Fdbk0 Invert Fdbk1 Invert Fdbk2 Invert Inhibit zero Invert Inhibit one Invert Inhibit two Number of states to use Use Op Cmds in auto mode Override Priority Output Pulse Time Set Point Short Description TagName Transition Time Set Point

100 - Multi - AUTO commands active (in Auto mode) 101 - Multi- Override commands active 102 - Reset not complete CmdState: 0 No State Commanded 1 Zero State Commanded 2 One State Commanded 3 Two State Commanded 4 Reset State Commanded DevMode: 0 Device Is In Manual Mode 1 Device Is In Auto Mode DevState: 0 Device Is In Transition 1 Device Is In The Zero State 2 Device Is In The One State 3 Device Is In The Two State 4 Device Is In The Reset State 11 Device Is In An Invalid State FailAct: 0 Take No Action On Failure 1 Go To Zero State On Failure 2 Go To One State On Failure

Metso Automation 278589

8-17

Function Blocks and Buffers Programmer's Reference and User's Guide


3 Go To Two State On Failure Fail Codes: 0 - No Failure 1 - Uncommanded State Change while Device was in the ZERO State 2 - Uncommanded State Change while Device was in the ONE State 3 - Uncommanded State Change while Device was in the TWO State 4 - Currently not used 5 - Commanded transition to the ZERO State failed 6 - Commanded transition to the ONE State failed 7 - Commanded transition to the TWO State failed 11 - Device is in an Invalid State (multi-feedbacks active) FdbkAppl: 0 Using All Feedbacks 1 Using Feedback 1 and 2 Only 2 Using Feedback 0 and 2 Only 3 Using Feedback 0 and 1 Only 4 Using Feedback 2 Only 5 Using Feedback 1 Only 6 Using Feedback 0 Only 7 Not Using Feedbacks NumState: 2 Using Two States 3 Using Three States OpInAuto: 0 Operator Commands Not Processed While In Auto Mode 1 Operator Commands Are Processed While In Auto Mode 2 Operator Commands Are Processed While In Auto Mode And Mode Is Switched To Manual OvrdPri: 0 First Override In Has Priority 1 Override Order Of Priority Is: 0, 1, 2 2 Override Order Of Priority Is: 0, 2, 1 3 Override Order Of Priority Is: 1, 0, 2 4 Override Order Of Priority Is: 1, 2, 0 5 Override Order Of Priority Is: 2, 1, 0 6 Override Order Of Priority Is: 2, 0, 1 Device Codes: 0 - Device is currently not in any State 1 - Device is currently in the ZERO State 2 - Device is currently in the ONE State 3 - Device is currently in the TWO State 11 - Device is currently Invalid (multi-feedbacks active)

Note 1: Fail Codes and Alert Codes latch on the 1st non-zero value and are cleared by Reset. Note 2: When the Device Code is "0" and DevLog is Reset, it stays Reset until a command/state change.

8-18

Metso Automation 278589

Function block Category: State Logic

Command

OpCmd1

Out01

COMMAND
OpCmd2

Out02 Out03 Out16 OutCmd

OpCmd3

OpCmd4

CmdSeen AnyCmdSeen

Overview
The Command block is used to accept commands from the operator keyboard (or other atoms) and to issue commands to other atoms and molecules. Five atoms have been identified which have direct operator commands. The molecule builder needs ways to steer commands to appropriate logic. For example SP+, OP+ would invoke molecular logic to be connected to either AutoManual one or two in a PID molecule. Command Parsers would rarely if ever exist naked. They would expose their OpCmd to a wrapping user class either through molecule wiring or exposure. As such, they do not have a tagname, description, or any alarm capability. The block behaves in the following way: When the OpCmd changes (i.e., the OpCmd time changes) then the OpCmd value is used to find a match with the decode value associated with one of the Outputs (01 -> 16). If a match is found, then its associated Out (01 -> 16) is equal to its configured value with a current time stamp for one SVCTIME interval. If no match is found, then OutCmd is set to the OpCmd value for one SVCTIME interval. Note, bad quality OpCmds are not processed. The Merge option for each output causes the output value with time stamp to also be merged with the following output (output 01 merged with output 02) so that a single output could have the result from multiple command matches (actions). Consecutive merge options set merge all the outputs in the final output of the consecutive series (e.g. Out 04 would have the merged result of Out 01, Out 02, Out 03, and Out 04 when Merge 01, Merge 02, and Merge 03 are set to 1.0).
Metso Automation 278589 8-19

Function Blocks and Buffers Programmer's Reference and User's Guide


The Command block has four command inputs: OpCmd1, OpCmd2, OpCmd3, and OpCmd4. All four command inputs are treated the same, however, only one change will be processed per execution of the block. In other words, if OpCmd1 and OpCmd2 both change at the same time, then the OpCmd1 change would be processed on one execution and then the OpCmd2 change would be processed on the next execution. However, the parameter SingleCmd (when set) would cause theOpCmd2 change to be ignored, i.e., when a single command is processed then any simultaneous commands are ignored.

Attributes
Name Out01 Out02 " " Out16 OutCmd CmdSeen AnyCmdSeen Type Real Real " Real Real Real Real Outputs Description 1 cycle pulse when OpCmd matches Decode01 1 cycle pulse when OpCmd matches Decode02 1 cycle pulse when OpCmd matches Decode16 Set to OpCmd value for 1 SVCTIME, if no OpCmd match Pulse for one cycle when match found Pulse for one cycle when time change on any input Status Description Last Out or OutCmd value processed (output) Last OpCmd value processed (input) The time of the last command Parameters Name Decode01 Decode02 " " Decode16 OutVal01 OutVal02 " " OutVal16 Merge01 Merge02 " " Merge16 SingleCmd Type Real Real Real Real Real Real Real Real Real Real Real Real Boolean Description Channel 01 Filter Value to check for Channel 02 Filter Value to check for " " " " " " " Channel 16 Filter Value to check for Value to Pulse Output 01 on Decode 01match Value to Pulse Output 02 on Decode 02match " " " " " " " Value to Pulse Output 16 on Decode16 match Channel 01 Merge Next Channel 02 Merge Next " " " " " " " Channel 16 Merge Next When set, only process one command on simultaneous command changes

Name LastOutput LastCommand LastTime

Type Real Real Time

NOTE: Decoder01 through Decoder16 and SingleCmd will reside in the WorkSpace Commands

8-20

Metso Automation 278589

Function block Category: State Logic


Name OpCmd1 OpCmd2 OpCmd3 OpCmd4 Type Real Real Real Real Description Operator keyboard command one Operator keyboard command two Operator keyboard command three Operator keyboard command four

Metso Automation 278589

8-21

Function Blocks and Buffers Programmer's Reference and User's Guide

Sequence Master (SEQMSTR)

Fdbk1 Fdbk2 Fdbk3 Fdbk4 Fdbk5 Inh1 Inh2 Inh3 Inh4 Inh5 Auto1 Auto2 Auto3 Auto4 Auto5 OvRd1 OvRd2 OvRd3 OvRd4 OvRd5 SetMan SetSemi SetAuto SetRemote RmtRst RStep

SeqMstr
HMI Methods
OpCmd OpAdvance OpMode OpPause

ActiveChain ChainTime ChTimeOut ActiveStep StepTime StpTimeOut SuspStep WaitTime WaitTimeSP CStep JStep NextStep SeqMode Seq State CmdState RemoteActv

Configuration Parameters
Ch1MaxTime Ch2MaxTime Ch3MaxTime Ch4MaxTime Ch5MaxTime OpInRmt FirstStep1 FirstStep2 FirstStep3 FirstStep4 FirstStep5 Chain1Txt* Chain2Txt* Chain3Txt* Chain4Txt* Chain5Txt*

Other Available Parameters (for Information)


NumSteps1 NumSteps2 NumSteps3 NumSteps4 NumSteps5 NumSteps ActvStpTxt* Message* TagName StpMaxTime StpMinTime WaitTimeSP AdvEnable WaitForOp

OutWrdBit1 thru

* (Also AltParamter)

OutWrdBit16

ChainOut1 ChainIn1

ChainOut2 ChainIn2

ChainOut3 ChainIn3

ChainOut4 ChainIn4

ChainOut5 ChainIn5

Overview
This atomic block will provide the HMI interface and supervisory control over Sequence Step atomic blocks for Sequence Control. End elements are usually controlled by Device Logic atomic blocks or molecules by their Auto or Override commands which are referenced to Sequence Step control outputs or Sequence Master output word bits.

8-22

Metso Automation 278589

Function block Category: State Logic


Five commands are available to transition the sequence to various states. These are nominally Start, Stop, Emergency Stop, Hold, and Resume. Commands and information is passed to and from the Sequence Step atomic blocks by a complex flow using the ChainOut/In attributes.

Critical Behaviors

Detailed Description
See Sequence Attribute Application at beginning of the chapter

Attributes
Outputs Name ChainOutCPX ChainTime ChTimeOut CmdState NextStep OutWrdBit1 OutWrdBit10 OutWrdBit11 OutWrdBit12 OutWrdBit13 OutWrdBit14 OutWrdBit15 OutWrdBit16 OutWrdBit2 OutWrdBit3 OutWrdBit4 OutWrdBit5 OutWrdBit6 OutWrdBit7 OutWrdBit8 OutWrdBit9 RemoteActv SeqState StpTimeOut WaitTime Type Complex Rel Time Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Boolean Rel Time Status Name ActiveChainCPX ActiveStepCPX AdvanceCPX AdvEnableCPX AltMessageCPX AltStepNameCPX Type Float Float Boolean Boolean String String Description Active Chain Rel Idx of Active Step Man / SemiAuto Adv Bool Boolean allowing next AltCurrent Step Message AltCurrent Step Name Description Complex Chain Out Time In Current Active Chain Boolean for MaxTime Exceeded Current Command Next Step Barring Gotos Bit 1 of Cur Step Out Word Bit 10 of Cur Step Out Word Bit 11 of Cur Step Out Word Bit 12 of Cur Step Out Word Bit 13 of Cur Step Out Word Bit 14 of Cur Step Out Word Bit 15 of Cur Step Out Word Bit 16 of Cur Step Out Word Bit 2 of Cur Step Out Word Bit 3 of Cur Step Out Word Bit 4 of Cur Step Out Word Bit 5 of Cur Step Out Word Bit 6 of Cur Step Out Word Bit 7 of Cur Step Out Word Bit 8 of Cur Step Out Word Bit 9 of Cur Step Out Word Bool showing Mode is Remote Current completed chain # Step Timeout Boolean Wait time in current step

Metso Automation 278589

8-23

Function Blocks and Buffers Programmer's Reference and User's Guide


CommandCPX CStepCPX JStepCPX MaxTimeSPCPX MessageCPX MinTimeSPCPX MoveInitCPX MstrHandleCPX NumSteps NumSteps1 NumSteps2 NumSteps3 NumSteps4 NumSteps5 OutWordCPX PauseCPX SeqModeCPX StepHandleCPX StepInitCPX StepNameCPX StepTimeCPX SuspStepCPX WaitForOpCPX WaitTimeSPCPX Float Float Float Rel Time String Rel Time Float Integer Float Float Float Float Float Float Float Boolean Float Integer Float String Rel Time Float Boolean Rel Time Inputs Name Auto1 Auto2 Auto3 Auto4 Auto5 Fdbk1 Fdbk2 Fdbk3 Fdbk4 Fdbk5 Inh1 Inh2 Inh3 Inh4 Inh5 Ovrd1 Ovrd2 Ovrd3 Ovrd4 Ovrd5 RmtRst SetAuto SetMan Type Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Description Edge Trig Auto Start of Ch 1 Edge Trig Auto Start of Ch 2 Edge Trig Auto Start of Ch 3 Edge Trig Auto Start of Ch 4 Edge Trig Auto Start of Ch 5 Bool For Chain 1 Completion Bool For Chain 2 Completion Bool For Chain 3 Completion Bool For Chain 4 Completion Bool For Chain 5 Completion Bool to Prevent Start of Ch 1 Bool to Prevent Start of Ch 2 Bool to Prevent Start of Ch 3 Bool to Prevent Start of Ch 4 Bool to Prevent Start of Ch 5 Ignore Inh1 & Start Chain 1 Ignore Inh2 & Start Chain 2 Ignore Inh3 & Start Chain 3 Ignore Inh4 & Start Chain 4 Ignore Inh5 & Start Chain 5 Start Reset Chain Bool to force Auto Mode Bool to force Manual Mode Requested Command Normal Next Step component Jump Next Step component MaxTime For Step Current Step Message MinTime prior to Step Move Init component SvcHandle of Master Count of steps in all Chains Count of steps in Chain 1 Count of steps in Chain 2 Count of steps in Chain 3 Count of steps in Chain 4 Count of steps in Chain 5 Output Word component Boolean for Pause Mode component SvcHandle of Active Step Step Init component Current Step Name Current Time in step Rel Idx of suspended Step Bool Need of oper action Set Point for Wait Time

8-24

Metso Automation 278589

Function block Category: State Logic


SetRemote SetSemi Boolean Boolean Bool to force Remote Mode Bool to force SemiAuto Mode

Parameters Name AltChain1Txt AltChain2Txt AltChain3Txt AltChain4Txt AltChain5Txt AltDesc AltShDesc Ch1MaxTime Ch2MaxTime Ch3MaxTime Ch4MaxTime Ch5MaxTime Chain1Txt Chain2Txt Chain3Txt Chain4Txt Chain5Txt Desc FrstStp1 FrstStp2 FrstStp3 FrstStp4 FrstStp5 GName RStep ShDesc TagName Type String String String String String String String Rel Time Rel Time Rel Time Rel Time Rel Time String String String String String String Integer Integer Integer Integer Integer String Integer String String Commands Name OpAdvance OpCmd OpInRmt OpMode OpPause Type Boolean Integer Integer Integer Boolean Description Write Activated Advance Actn Write Activated Chain Start OK Oper input in rmt mode Write Activated Mode Change Bool Pause, Prevent Stepping Description AltDescr of Act Done By Ch 1 AltDescr of Act Done By Ch 2 AltDescr of Act Done By Ch 3 AltDescr of Act Done By Ch 4 AltDescr of Act Done By Ch 5 Alt. Description Alt. Short Description Alarm Time Limit For Chain 1 Alarm Time Limit For Chain 2 Alarm Time Limit For Chain 3 Alarm Time Limit For Chain 4 Alarm Time Limit For Chain 5 Descr of Action Done By Ch 1 Descr of Action Done By Ch 2 Descr of Action Done By Ch 3 Descr of Action Done By Ch 4 Descr of Action Done By Ch 5 Description Rel Idx of First Step of Ch 1 Rel Idx of First Step of Ch 2 Rel Idx of First Step of Ch 3 Rel Idx of First Step of Ch 4 Rel Idx of First Step of Ch 5 Generic Name First Step of Reset Chain Short Description Tag Name

Metso Automation 278589

8-25

Function Blocks and Buffers Programmer's Reference and User's Guide

Sequence Step (SEQSTEP)


ChainIn x

Complete Jump AdvEnable WaitForOp MsgEnable

SeqStep
Configuration Parameters
CmdBranch1 CmdBranch2 CmdBranch2 CmdBranch2 CmdBranch2 Message* * (Also AltParamter) StepName* OutputWord MaxTimeSP MinTimeSP WaitTimeSP

Active

Suspended

Command

ChainOut

Overview
This atomic block executes step logic and stores sequence information for each step. It communicates with the Sequence Master atomic block by a complex flow using the ChainOut/In attributes.

Critical Behaviors

Detailed Description
See Sequence Attribute Application at beginning of the chapter

8-26

Metso Automation 278589

Function block Category: State Logic

Attributes
Outputs Name Active Command ManStep Suspended Type Boolean Boolean Boolean Boolean Status Name ActiveChainCPX ActiveStepCPX AdvanceCPX AdvEnableCPX CommandCPX CStepCPX JStepCPX MaxTimeSPCPX MinTimeSPCPX MoveInitCPX MstrHandleCPX OutWordCPX PauseCPX SeqModeCPX StepHandleCPX StepInitCPX StepTimeCPX SuspStepCPX WaitForOpCPX WaitTimeSPCPX Type Float Float Float Boolean Float Float Float Rel Time Rel Time Float Integer Float Boolean Float Integer Float Rel Time Float Boolean Rel Time Inputs Name AdvEnb ChainInCPX Complete Jump MsgEnb WaitForOp Type Boolean Complex Boolean Boolean Boolean Boolean Parameters Name AltMessage AltStepName CChain CmdBranch1 CmdBranch2 CmdBranch3 Type String String Integer Integer Integer Integer Description Alt Step Message Alt Step Name Chain to Which Step Belongs Rel Idx of Branch Step to Ch 1 Rel Idx of Branch Step to Ch 2 Rel Idx of Branch Step to Ch 3 Description Boolean For Advance Allowed Complex Chain In Bool For Fdbck Step Complete Boolean To Jump to JStep Bool Enabling Message Posting Bool, Need of operator action Description Active Chain Rel Idx of Active Step Man / SemiAuto Advance Bool Boolean allowing next Requested Command Normal Next Step component Jump Next Step component MaxTime For Step MinTime prior to Step Move Init component SvcHandle of Master Output Word component Boolean for Pause Mode component SvcHandle of Step Step Init component Current Time in step Rel Idx of suspended Step Bool Need of operator action Set Point for Wait Time Description Boolean For Step Active Bool For Command Phase Active Bool For Step In Manual Mode Boolean For Step Suspended

Metso Automation 278589

8-27

Function Blocks and Buffers Programmer's Reference and User's Guide


CmdBranch4 CmdBranch5 CStep JStep MaxTimeSP Message MinTimeSP OutputWord PermitRef StepName WaitTimeSP Integer Integer Integer Integer Rel Time String Rel Time Integer String String Rel Time Rel Idx of Branch Step to Ch 4 Rel Idx of Branch Step to Ch 5 Normal Next Step Jump Next Step MaxTime For Step Step Message MinTime prior to Step Output Word for Step Ref to Complete Permissives Step Name Set Point for Wait Time

Commands
N/A

8-28

Metso Automation 278589

Function block Category: State Logic

First Out (FSTOUT)


FirstOut
FirstOut In16f Freeze OPRst RmtRst Clear Mem Trip

In1

Overview
Use the First Out (FSTOUT) atomic block to generate a trip output when any of its inputs become TRUE. It also detects which of the inputs was the first to become true and stores the last five first-out trips in memory. The atomic block is typically used with other atomic blocks to monitor signals associated with boilers, pumps, and so forth. The atomic block accepts up to 16 inputs. Use the InxxTxt parameter to enter a text string associated with each input. The text, which may describe a problem condition or state, can be programmed to appear on an events log or display when its associated input becomes true. The FirstOut output represents a hexadecimal value. FirstOut = 2(x 1) where x is the input number. If In5 caused the Trip then FirstOut would equal 16. If In10 caused the Trip then FirstOut would equal 512.

FirstOut Stores the Five Most Recent Trips and Trip Times
The MemTripx status attributes store the last five FirstOut values, where x represents up to five memory locations. Previous FirstOut values are replaced by the newest values as other inputs become true. The TripTime status attribute detects the time of a trip within the selected scan period, but not the actual time the trip occurred. MemTripTimex status attributes store the last five TripTime values, where x represents up to five

Metso Automation 278589

8-29

Function Blocks and Buffers Programmer's Reference and User's Guide


memory locations. Previous TripTime values are replaced by the newest values as other inputs become true.

Viewing Trip Status


To view trip status, incorporate these status attributes in a maxVUE graphical display.

Using Reset Options


This atomic block also incorporates two reset inputs, an operator reset and a remote reset. The atomic block does not respond to either of these reset sources until the problem that caused the trip is addressed.

Attributes
Output Name FirstOut Trip Type Integer Boolean Status Name MemTrip1 MemTrip2 MemTrip3 MemTrip4 MemTrip5 MemTripTime1 MemTripTime2 MemTripTime3 MemTripTime4 MemTripTime5 TripTime Type Integer Integer Integer Integer Integer Time Time Time Time Time Time Input Name ClearMem
Freeze In1 In10 In11 In12 In13 In14 In15 In16 In2

Description Hex value of input causing Trip Signifies that trip has occured

Description Previous FirstOut FirstOut previous to MemTrip1 FirstOut previous to MemTrip2 FirstOut previous to MemTrip3 FirstOut previous to MemTrip4 MemTrip1 time MemTrip2 time MemTrip3 time MemTrip4 time MemTrip5 time Time that trip occured

Type Boolean
Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean

Description Clear MemTripX and MemTripTimeX Firstout, Trip frozen when true Input 1 Input 10 Input 11 Input 12 Input 13 Input 14 Input 15 Input 16 Input 2

8-30

Metso Automation 278589

Function block Category: State Logic

In3 In4 In5 In6 In7 In8 In9 OpRst RmtRst

Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean

Input 3 Input 4 Input 5 Input 6 Input 7 Input 8 Input 9 Operator trip reset Remote trip reset

Parameter Name AltDesc AltShDesc BadQualTrip Desc GName In10AltTxt In10Txt In11AltTxt In11Txt In12AltTxt In12Txt In13AltTxt In13Txt In14AltTxt In14Txt In15AltTxt In15Txt In16AltTxt In16Txt In1AltTxt In1Txt In2AltTxt In2Txt In3AltTxt In3Txt In4AltTxt In4Txt In5AltTxt In5Txt In6AltTxt In6Txt In7AltTxt In7Txt In8AltTxt In8Txt In9AltTxt In9Txt InvIn1 Type String String Integer String String String String String String String String String String String String String String String String String String String String String String String String String String String String String String String String String String Boolean Description Alt. Description Alt. Short Description Input quality affect on trip Description Generic Name Alt. Text for Input 10 Text for Input 10 Alt. Text for Input 11 Text for Input 11 Alt. Text for Input 12 Text for Input 12 Alt. Text for Input 13 Text for Input 13 Alt. Text for Input 14 Text for Input 14 Alt. Text for Input 15 Text for Input 15 Alt. Text for Input 16 Text for Input 16 Alt. Text for Input 1 Text for Input 1 Alt. Text for Input 2 Text for Input 2 Alt. Text for Input 3 Text for Input 3 Alt. Text for Input 4 Text for Input 4 Alt. Text for Input 5 Text for Input 5 Alt. Text for Input 6 Text for Input 6 Alt. Text for Input 7 Text for Input 7 Alt. Text for Input 8 Text for Input 8 Alt. Text for Input 9 Text for Input 9 Invert Input 1

Metso Automation 278589

8-31

Function Blocks and Buffers Programmer's Reference and User's Guide


InvIn10 InvIn11 InvIn12 InvIn13 InvIn14 InvIn15 InvIn16 InvIn2 InvIn3 InvIn4 InvIn5 InvIn6 InvIn7 InvIn8 InvIn9 ShDesc TagName Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean String String Invert Input 10 Invert Input 11 Invert Input 12 Invert Input 13 Invert Input 14 Invert Input 15 Invert Input 16 Invert Input 2 Invert Input 3 Invert Input 4 Invert Input 5 Invert Input 6 Invert Input 7 Invert Input 8 Invert Input 9 Short Description Tag Name

8-32

Metso Automation 278589

Function block Category: State Logic

Quality Force (QUALFRCE)


Overview
Use Quality Force to force the quality of the input variable to a new, selectable quality. The ForceStrat parameter determines the quality of the output. Use the NewQual parameter to select the output quality you wish to force to. Use this atomic block to override the quality output of another atomic block. This may be useful, for instance, for testing or tuning purposes when you want to force good quality or bad quality, but want to avoid introducing doubtful or substitute quality to downstream atomic blocks, which may have unpredictable results.

Attributes
Outputs Name OutCtl Type Complex Status Name InCtlAREF InCtlRHI InCtlRLO InCtlRST InCtlSTAT InCtlTYP InCtlVAL InQual OutCtlAREF OutCtlRHI OutCtlRLO OutCtlRST OutCtlSTAT OutCtlTYP OutCtlVAL Type Float Float Float Float Integer Integer Float Float Float Float Float Float Integer Integer Float Inputs Name InCtl Type Complex Parameters Name FrceStrat Type Integer Description Determines quality of the output Description Input Description Input auctioneering reference Input high range Input low range Input incremental reset Input forceback status Input type Input value Actual quality of input Output auctioneering reference Output high range Output low range Output incremental reset Output forceback status Output type Output value Description Output

Metso Automation 278589

8-33

Function Blocks and Buffers Programmer's Reference and User's Guide


NewQual Integer Output quality 0=G,1=D,2=S,3=B

8-34

Metso Automation 278589

Chapter 9
Steam Compensation

STMPROP LVLCOMP FLOWCOMP


The steam property functions have been implemented based on the 1967 International Formulations for Industrial Use, Fifth Edition 1983, published by the ASME, 345 East 47 Street, New York, NY 10017. Units of measurement are provided in English, Metric, and Le Systeme International d'Units (SI). The English unit of measurement is the default. The units of measurement for each atomic block application is selected by the entry in the atomic blocks EngUnits attribute as follows: EngUnits (Integer) UOM System Temperature Pressure
Specific Volume Enthalpy Entropy Absolute Temperature Nominal Absolute Pressure

0 English Deg. Farenheit (F) Lb/SqInch (PSI)


Cu Ft/Lb Btu/lb Btu/lb F 459.2 Degree Rankin 14.7 Lb/SqInch

1 Metric Deg. Centigrade (C) Kg/SqCM


Cu M/Kg KCal/Kg KCal/Kg C 273.16 Degree Kelvin 1.0 Kg/SqCm (Atmosphere)

2 SI Deg. Centigrade (C) KPa


Cu M/Kg

KJoule/Kg KJoule/Kg C
273.16 Degree Kelvin 101.32 KiloPascal

Conversion between the above units of measure is: Multiply value of Lb/SqInch (PSI)
Cu Ft/Lb Btu/lb Btu/lb F

By 0.070307 0.062428 0.555555 1.0

to obtain value in Kg/SqCM Cu M/Kg


KCal/Kg KCal/Kg C

By 6.89476 2.3260 4.18680

to obtain value in Kpa Kjoule/Kg Kjoule/Kg C

Metso Automation 278589

Function Blocks and Buffers Programmer's Reference and User's Guide


When the input values to a steam property are outside of its valid range, the function output will not update (last value retained) and its quality is set BAD. The function mnemonics are defined in the following manner: 1st character 2nd character 3rd character 4th character - specifies the property type - state of the substance (F,G,C or S) - 1st input variable - 2nd input variable

The mnemonic characters have the following meaning: H - specific enthalpy S - specific entropy V - specific volume F saturated fluid or liquid G saturated gas or vapor PV - press * volume C compressed fluid or liquid S - superheated steam W wet steam P pressure T - temperature The properties below are defined in four general regions: Saturated Wet Steam Superheated Compressed - properties defined on the saturation line. - property defined by the saturation line and below. - properties defined above the saturation line and not in the compressed region. - properties defined above the saturation line and below 640 F.

List of Available Functions


The following table indicates the function selected for the configuration entry in the steam properties atomic block (STEAMPROP):
Value 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Mnemonic Description Value of 0.0 with Quality of Doubtful Saturation pressure function of temperature Saturation temperature function of pressure Enthalpy of a saturated liquid function of Entropy of saturated liquid function of temperature Entropy of saturated steam function of temperature Specific volume of saturated liquid function of Specific volume of saturated vapor function of Pressure * volume of saturated vapor function of Specific volume of saturated liquid function of Enthalpy of saturated vapor function of pressure Enthalpy of saturated liquid function of pressure Entropy of saturated vapor function of pressure Entropy of saturated liquid function of pressure Enthalpy of superheated steam function of pressure Specific volume of superheated steam function of Enthalpy of wet steam as function of pressure &

PGT TGP HFT SFT SGT VFT VGP PVGP VFP HGP HFP SGP SFP HSPS VSPS HWPS

9-2

Metso Automation 278589

Steam Compensation
17 18 19 20 21 22 23 24 25

HCPT VCPT PSTH VSTH TSPH VSPH HSPT SSPT VSPT

Enthalpy of compressed liquid function of pressure Specific volume of compressed liquid function of Pressure of superheated steam function of Specific volume of superheated steam function of Temperature of superheated steam function of Specific volume of superheated steam function of Enthalpy of superheated steam function of pressure Entropy of superheated steam function of pressure Specific volume of superheated steam function of

Saturated Properties
Temperature: Pressure: 32.0 to 705.4 F., 0.125 to 3208.2 psia, or, 0.0 to 374.1 C. or, 0.0879 to 225.6 Kg/sqcm.

When the input values to a steam property are outside of its valid range, the function output will not update (last value retained) and its quality is set BAD. TGP HFT HGP SFP VFT SGT VGP - Temp (vapor) - f(pres) - Enthalpy (liquid) - f(temp) - Enthalpy (vapor) - f(pres) - Entropy (liquid) - f(pres) - Specific volume - f(temp) - entropy (vapor) - f(temp) - Specific volume - f(pres) PGT HFP PVGP SGP VFP SFT - Pressure (liquid) - f(temp) - Enthalpy (liquid) - f(pres) - P x V (vapor) - f(pres) - Entropy (vapor) - f(pres) - Specific volume - f(pres) - Entropy (liquid) - f(temp)

Superheated Properties
All superheat functions below give valid results above the saturation line and generally the constraints imposed below. Pressure : Temperature Enthalpy : Entropy : Specific Volume 1.25 to 5500 psia 41.00 to 1500 f Sat. line to 1750 Btu/lb 1.16 to 2.2 Btu/lb f cu ft/lb or 0.0879 to 386.78 Kg/sqcm or 5.0 to 374.1 C or Sat. line to 972.1 Kg-Cal/Kg or 1.16 to 2.2 Kg-Cal/Kg C or cu m/kg

When the input values to a steam property are outside of its valid range, the function output will not update (last value retained) and its quality is set BAD.

Metso Automation 278589

9-3

Function Blocks and Buffers Programmer's Reference and User's Guide


HSPT SSPT VSPT VSPH - Enthalpy - f(pres,temp) - Entropy - f(pres,temp) - Spec vol - f(pres,temp) - Spec vol - f(pres,enthalpy) HSPS PSTH VSTH VSPS - Enthalpy - f(pres,entropy) - Pressure - f(temp,enthalpy) - Spec vol - f(temp,enthalpy) - Spec vol - f(pres,entropy)

Wet Steam Property


The function is valid for all wet enthalpy calculations beneath the saturation line (or dome) of the T-S envelope. The function range shown below is only a guideline since certain pressure and temperature combinations exist outside the envelope and, hence, beyond the scope of the function. Entropy Pressure 0.1 to 2.2 Btu/degrees F., 0.125 to 3208.2 psia, or, 0.1 to 2.2 Kg-Cal/Kg C. or, 0.088 to 225.6 Kg/sqcm.

When the input values to a steam property are outside of its valid range, the function output will not update (last value retained) and its quality is set BAD. HWPS - Enthalpy -f(pres,entropy)

Compressed Liquid
Temperature Pressure Sat line to 1380.0 degrees F., 0.125 to 5000 psia, or, 0.0 to 374.1 degrees C. or, 0.088 to 351.6 Kg/sqcm.

When the input values to a steam property are outside of its valid range, the function output will not update (last value retained) and its quality is set BAD. VCPT HCPT - Spec vol - f(pres,temp) - Enthalpy - f(pres,temp)

Steam Property Accuracy


The accuracy of a steam property function is dependent on the type and the operating region. However, in general, the accuracies for function types are categorized as to region and given below as: Saturated properties display a maximum error of < +/- 0.03 % throughout the range, except for specific volume functions which will have greater inaccuracy above 608 degrees F where the average error falls in the range of < +/- 0.20 %.

9-4

Metso Automation 278589

Steam Compensation
Wet properties display a maximum error of < +/- 0.01 % throughout the range. Superheated properties display a maximum error of < +/- 0.05 % throughout the range, except for the isentropic functions where the maximum error ranges from -0.02 to +0.13 %. Compressed properties display a maximum error of < +/- 0.03 % throughout the range, except for an area between 620 and 647 degrees F (or in metric, 326.66 to 341.67) where the error is substantial. Using these functions in this region is not recommended.

Metso Automation 278589

9-5

Function Blocks and Buffers Programmer's Reference and User's Guide

Steam Property (STMPROP)

Pressure Temperature Entropy Enthalpy Steam Property (STMPROP) OutProp

Overview
This atomic block provides a steam property output given applicable steam property inputs.

Critical Behaviors
Option for one of three systems of engineering units (EngUnits). Selection from 25 steam and water properties by output type (OutType).

Detailed Description
See Chapter introduction for list of available functions selectable by the attriubute OutType and details common to all of the steam property applications. The parameter attributes AbsPress (absolute pressure) and PressMult (pressure multiplier) are provided for conversion of the pressure input to absolute values and proper units of measure for the selected measurement system by the attribute EngUnits (see chapter introduction). Absolute pressure value entry must be in the same units of measure as the selected measurement system to convert the commonly used gauge pressure input to absolute pressure. If the input variable is absolute pressure, the AbsPress attribute should be 0.0. PressMult is for conversion of units of the input measurement; most commonly for the conversion from MPa to KPa (required for the SI units of measure system) with the value of 1000.0.

Attributes
Outputs Name Out Type Float Description Output Property

9-6

Metso Automation 278589

Steam Compensation
Status Name TUOM Type String Inputs Name Enthalpy Entropy Pressure Temperature Type Float Float Float Float Parameters Name EngUnits
OutType AbsPress PressMult

Description Engineering Units Text

Description Enthalpy input Entropy input Pressure input Temperature input

Type Integer
Integer Float Float

Description 0=English, 1=Metric, 2=SI Metric Steam Function Type Convrt gauge press to abs press Convrt pres UOM to steam tbl UOM

Metso Automation 278589

9-7

Function Blocks and Buffers Programmer's Reference and User's Guide

Level Compensation (LVLCOMP)

LvlComp
LevelIn PressIn Out

Overview
Compensates a differential pressure for a closed vessel level measurement by the vessel pressure. The differential pressure input is generated by the difference of the pressure at the lower tap of the measurement (physical) range and the bottom of a water leg reference column pressurized to the same pressure as the vessel. The compensation is applied for ambient or saturated reference column water conditions.

Critical Behaviors
Compensates Closed Vessel Level measurement by Pressure. Level Differential Pressure input can be optionally forward or reverse acting with respect to the actual level. Output Quality is Worst of input qualities or BAD when pressure and temperature inputs are outside Steam Table range of values for selected process (Water or Steam). BAD (and 0.0) if divide by zero in calculation. (?) Range Parameters (InRngHi, InRngLo, OutRngHi, and OutRngLo). These values are for cold vessel conditions: reference column and vessel water temperatures equal and equal (basically) to the transmitter water calibration temperature. The actual differential pressure with level at the high measurement tap is zero; at the low measurement tap is the distance between the taps. The transmitter or its output processing may reverse these values. InRngHi and InRngLo convert LevelIn to a 0 1.0 value internally with proper direction for compensation. OutRngHi and OutRngLo convert the compensated 0 1.0 value to the desired output (possibly zero centered) with span equal to the input measurement span. The differential pressure measurement transmitter span should be calibrated for the distance between the level measurement taps. TransRefTemp, and TransRefPress Parameters are the pressure and temperature of the water that is the basis of the transmitter calibration normally in terms of inches(millimeters) water column.

9-8

Metso Automation 278589

Steam Compensation

Detailed Description
The level measurement indicated by the following sketch is compensated by this atomic block. The reference column may be ambient temperature (with insulation removed from the column and the leads connecting to it and the transmitter) or saturated temperature insulated and with a steam heating jacket supplied from the drum that maintains its temperature basically at the same temperature as inside the drum.

DRUM

Reference Column

Reference Column

L H

Level Transmitter

L H

The distance D shown in the sketched alternate measurement connections must be the span of the level measurement range. Actual end values (or the zero value) may be varied. The compensation function converts the level transmitter input to percent of span value (using the Range parameter values InRngHi and InRngLo). It then determines the density of the liquid and vapor in the drum by specific volume steam properties functions for saturated conditions, and the density of the liquid in the reference column and the liquid used to calibrate the level transmitters from specific volume steam properties function for compressed fluid. When the reference column is saturated type, the drum liquid density is used for its fluid density. Then the percent compensated level is calculated by the following equation: Lvl = (dRefCol dDrmStm LvlIn * dTransWtr) / (dDrmWtr dDrmStm) where: Lvl = the percentage of the distance between the level measurement taps of the water level above the lower level measurement tap expressed as 0 1.0. dRefCol is the density of the reference column water dDrmWtr is the density of the drum water dDrmStm is the density of the drum steam dTransWtr is the density of the transmitter calibration water LvlIn = the percentage of the range of the level measurement transmitter output, where the range is the distance between the

Metso Automation 278589

9-9

Function Blocks and Buffers Programmer's Reference and User's Guide


level measurement taps, expressed as 0 1.0. Note that this value is reverse acting to the actual level value (because it represents the differential pressure measurement). The percent compensated level is then converted to the level output (using the Range parameter values OutRngHi and OutRngLo which must have the same span as the input range values (same as the distance between the physical measurement taps).

Parameter Application Notes


The atomic block parameters address three level measurement issues: Level Reference Column Type Measurement Engineering Units Level Measurement Ranging This closed, pressurized vessel water level measurement compares the weight of the water in a Reference Column to the weight of the steam and water in the vessel. The measurement has option for one of two types of reference columns. The saturated reference column maintains the temperature of its water equal to (or near) the temperature of the water in the vessel. The ambient reference column water temperature is fairly constant near the ambient air temperature the reference column has no insulation and the insulation of the piping to it is removed to establish the basically ambient temperature.

The weight of the water column (the reference for the level measurement is different between the two types, so the atomic block requires a type to be designated (LevelType). When the ambient reference column is designated, its approximate temperature must be entered (RefColumnTemp)Type (Level Type) so the density of its water can be derived from the specific volume steam properties function for compressed water. (The saturated reference column water density is declared the same as the vessel water density. This level measurement compensation function can be applied in systems using one of three Engineering Units systems, English, Metric, or SI. See discussion for the Steam Properties functions, earlier in this chapter. The Units system must be designated (EngUnits) and several other values entered to maintain compatible units for the compensation calculations. Absolute Pressure (AbsPress) entry is required to have a value in compatible units. Its normal entry value would be approximately 14.7 psi, 1 Kg/SqCm, or 101.32 KPa. A Pressure Input Multiplier (PressMult) is provided for system with incompatible units applied for their pressure measurements. The most common incompatibility is MPa used in a SI Units systems instead of

9-10

Metso Automation 278589

Steam Compensation
KPa required by the Steam Properties functions For this the multiplier is entered as 1000. Enter 1 for systems with compatible units. Transmitter reference Pressure and Temperature (TransRefPress and TransRefTemp) entries are required to determine the density of the transmitter calibrating water in compatible units of measure. If no specific transmitter calibration data were available, it would probably be sufficient to enter 14.7 psi, 1 Kg/SqCm, or 101.32 KPa (absolute) pressure and 60 DegF or 15 DegC temperature. Note that the reference pressure values are not adjusted by AbsPress and PressMult, so must be entered as an absolute pressure value in the units of the selected measurement system.

This level measurement compensation function is designed to provide a compensation of the level expressed as a percentage of distance between the level measurement taps. The parameters for the range of the level measurement differential pressure input and for the range of the compensated level output are provided to convert the input to percent for compensation and convert the compensation percent result to desired output scaling. The input differential pressure value is expected to be expressed as a distance (inches or centimeters) or water column. The actual units of distance are not important except that the input range values must represent the same units. Because the level measurement differential pressure is small when the vessel is full (highest level) and large when the vessel is empty (lowest level), and there is frequently compensation for this by transmitter connection, calibration or input calibration, the requirement for entry of the input range values is expressed in terms of what the cold condition differential pressure signal value would be with the level at the highest measurement taps for InRngHi and the signal value with the level at the lowest measurement taps for InRngLo. This is required to determine the differential pressure percent. It is recognized that these values might not be the same as the range values of the signal. The difference between the input range entries should be the same as the distance between the taps. The output range entries have similar definition of inputs except that it should be stated to be the desired output signal value for cold condition level at the highest measurement taps and lowest measurement taps. The difference between the output range values is expected to equal the distance between the taps. Note that these values only scale the signals value, they do not actually impose a range on the signal, though their values will be the range of legitimate values. Signal ranging can be imposed by the Analog Tagger atomic block.

Level Compensation Equation Derivation

Metso Automation 278589

9-11

Function Blocks and Buffers Programmer's Reference and User's Guide


The differential pressure seen by the level measurement transmitter is simply the weight of the reference column water minus the weight of the water and steam in the drum: TransDiffPress = D * dRefCol Lvl * D * dDrmWtr (1 Lvl) * D * dDrmStm where: D = the distance between the level measurement taps Lvl = the percentage of D of the water level above the lower level measurement tap expressed as 0 1.0. dRefCol is the density of the reference column water dDrmWtr is the density of the drum water dDrmStm is the density of the drum steam Solving the equation for Lvl: TransDiffPress = D * (dRefCol dDrmStm Lvl * dDrmWtr + Lvl * dDrmStm) TransDiffPress = D * (dRefCol dDrmStm) D * Lvl * (dDrmWtr dDrmStm) Lvl = (D * (dRefCol dDrmStm) TransDiffPress) / D* (dDrmWtr dDrmStm) TransDiffPress = LvlIn * D *dTransWtr interprets the transmitter input as a distance multiplied by the density of its calibration water to provide compatible units of measure in the equation. LvlIn = the percentage of the transmitter range (for the same distance between the level measurement taps) expressed as 0 1.0. D = 1.0 since Lvl is expressed as 0 1.0 Lvl = (dRefCol dDrmStm LvlIn * dTransWtr) / (dDrmWtr dDrmStm)

Level Measurement Compensation Results


For drum cold conditions, the level measurement differential pressure (reversed) would give an accurate indication of the water level in the drum because there would be no steam above the water and the densities of the drum water, reference column water, and transmitter calibration water would all be basically the same. As the drum heats up and pressure increases, steam is generated with increasing density and drum water becomes hot with decreasing density. At the higher pressure conditions, a full drum would still have zero differential pressure for a saturated reference column whose water density is the same as the drum water, but would have a non-zero differential pressure for an ambient reference column because the drum water is less density than the ambient reference column water.

9-12

Metso Automation 278589

Steam Compensation
With the drum empty there would be less than full range of differential pressure because the density of the steam would offset the reference column density. Consequently the differential pressure range for full and empty drum would have a decreasing span and increasing zero (for ambient reference column) for the full and empty drum conditions. The following table shows the range changing trends (note that saturated full input will always be zero):
English PSIA Cold 15 100 500 1000 1500 2000 2500 3000 Metric Kg/SqCm Cold 1.05 7.03 35.15 70.31 105.46 140.61 175.77 210.92 SI KPa Cold 103.42 689.48 3447.38 6894.76 10342.14 13789.52 17236.90 20684.28 Ambient Ambient Saturated Empty % Full % Input Empty % Input Input 100.00% 98.40% 98.18% 96.92% 95.18% 93.18% 90.57% 86.95% 80.56% 0.00% 100.00% 2.65% 95.75% 8.13% 90.05% 17.63% 79.29% 24.66% 70.52% 30.75% 62.43% 36.69% 53.88% 43.23% 43.72% 52.70% 27.85%

Note that all but the cold condition is for hot, saturated conditions in the drum. The drum level compensation function can be tested by substituting the pressure values and checking that the output indicates full or empty when the percentage input shown in the table is simulated. Note that any percent input values (for a particular pressure) greater than the empty % input or less than the full % input are illogical. The process measurement piping arrangement just does not provide any overrange measurement.

Attributes
Outputs Name Out Type Float Status Name TUOM Type String Inputs Name LevelIn PressIn Type Float Float Parameters Name AbsPress EngUnits Type Float Integer Description Convrt gauge press to abs press 0=English, 1=Metric, 2=SI Metric Description Diffntl press measured for level Vessel pressure Description Engineering Units Text Description Presure compensated level

Metso Automation 278589

9-13

Function Blocks and Buffers Programmer's Reference and User's Guide


InRngHi InRngLo LevelType OutRngHi OutRngLo PressMult RefColumnTemp TransRefPress TransRefTemp Float Float Integer Float Float Float Float Float Float Input value level at high tap Input value level at low tap 0=Amb Ref Colm, 1=Sat Ref Colm Output value level at high tap Output value level at low tap Convrt pres UOM to steam tbl UOM Estm temp of amb ref colm water Transmtr calibration water press Transmtr calibration water temp

Commands NA

9-14

Metso Automation 278589

Steam Compensation

Flow Compensation (FLOWCOMP)

FlowComp
In PressIn TempIn Out UnCompFlow MinIn

Overview
Applies pressure and temperature compensation to differential pressure or flow input with minimum cutoff for steam, water, or air(gas) flows.

Critical Behaviors
Compensates Flow by Pressure and Temperature for Air(Gas), Water, or Steam. Flow input: optionally Flow, or Differential Pressure caused by flow. Provides Low Flow Cutoff Compensation by square root of ratio of absolute Pressure and Temperature inputs to reference values per Perfect Gas Law for Air(Gas) process. Compensation by square root of ratio of Steam Table returned values for specific volume based on Pressure and Temperature inputs and reference values for Water or Steam process. Output Quality is Worst of input qualities or BAD when pressure and temperature inputs are outside Steam Table range of values for selected process (Water or Steam). BAD (and 0.0) if divide by zero in calculation. Compensation provided for mass or volumetric flow.

Detailed Description
When the flow measurement provides a differential pressure input the algorithm first calculates uncompensated flow: UnCompFlow = RefFlow * SQRT ( InputDiffPress / RefDiffPress ) where RefFlow is the flow value at reference conditions:

Metso Automation 278589

9-15

Function Blocks and Buffers Programmer's Reference and User's Guide


RefDiffPress differential pressure RefPress pressure RefTemp temperature For air or gas flow the compensation factor is calculated as: CompFact = SQRT ((( RefTemp + AbsTemp ) / ( InputTemp + AbsTemp )) * (( InputPress + AbsPress ) / ( RefPress + AbsPress ))) where AbsPress and AbsTemp are provided as separate configuration factors for convenience for the normal application of gauge pressure and temperature measurements. AbsPress depends on the site elevation, but is nominally 14.7 psi for English UOM; 1.0 Kg/SqCm for Metric UOM 101.32 KPa or 0.10132 MPa for SI UOM.. Note that the AbsPress is added to both the Pressure Input and Reference Pressure so enter the Reference Pressure value in the same terms (gauge or absolute) as the measured pressure. If the pressure values are absolute, set AbsPress to zero. Note also that PressMult is not used, any pressure UOM can be applied because steam tables are not applied, the absolute pressures are ratioed directly. AbsTemp is 459.2 for English UOM; 273.16 for Metric of SI UOM For water or steam flow the compensation factor is calculated as: CompFact = SQRT (( SpecVol by RefPress and RefTemp ) / ( SpecVol by (PressIn*PressMult + AbsPress) and TempIn )) * where the SpecVol values are derived from steam properties functions for superheated steam or compressed water. The parameter attributes AbsPress (absolute pressure) and PressMult (pressure multiplier) are provided for conversion of the pressure input to absolute values and proper units of measure for the selected measurement system by the attribute EngUnits (see chapter introduction). Absolute pressure value entry must be in the same units of measure as the selected measurement system to convert the commonly used gauge pressure input to absolute pressure. If the input variable is absolute pressure, the AbsPress attribute should be 0.0. PressMult is for conversion of units of the input measurement; most commonly for the conversion from MPa to KPa (required for the SI units of measure system) with the value of 1000.0. Note that the RefPress (reference pressure) is not compensated by AbsPress and Press Mult so must be enter as an absolute pressure value in the units of measure for the selected measurement sytem.

9-16

Metso Automation 278589

Steam Compensation
Note that the compensation factor is 1.0 when (compensated) PressIn, TempIn equal RefPress, RefTemp. The compensated mass flow output is then calculated as: Flow = UnCompFlow * CompFact. The compensation factor is inverted for volumetric flow. The above calculation structure is for the optional application of uncompensated flow as input instead of differential pressure.

Attributes
Output Name InputAtMin Out UnCompFlow Type Boolean Float Float Status Name TUOM Type String Input Name In PressIn TempIn Type Float Float Float Parameter Name AbsPress AbsTemp
DiffInType EngUnits InMin PressMult ProcessType RefDiffPress RefFlow RefPress RefTemp VolFlow

Description Input <= cutoff value Compensated flow Flow before Compensation

Description Engineering Units Text

Description Flow or flow differential press Compensation pressure Compensation temperature

Type Float Float


Boolean Integer Float Float Integer Float Float Float Float Boolean

Description Convrt gauge press to abs press Convt Deg F/Deg C to Deg R/Deg K Differential pressure input English=0, Metric=1, SI Metric=2 Minimum input cutoff value Convrt pres UOM to steam tbl UOM Gas=0, Water=1, Steam=2 Diffntl press input calib value Flow out at reference conditions Calibration pressure Calibration temperature Output is Volumetric Flow

Metso Automation 278589

9-17

Chapter 10
maxMAXDPU Standard Function Blocks Proportional, Integral, and Derivative (PID) Control

Graphical Configurator Diagram

PVInCtl

PID001

OutCtl Out OutPct SP WSP PV Deviation Mode AnyAlarm

FrcbkIn

Overview
A function block that provides a PID control function with ALF filtering for PV and setpoint and value output controls and process and control alarms.

Detailed Description
The process variable ALF filtering is provided by the incorporation of a LeadLag Atomic Block. Setpoint control is provided by AutoMan and Limiter Atomic Blocks. PID control action is provided by the PID Atomic Block. Output control is provided by AutoMan and Limiter Atomic Blocks. The AlmRep Atomic Block provides alarms for Automatic Control Loss, Control Signal Quality Problem, Control Deviation High or Low.

Metso Automation 278589

Function Blocks and Buffers Programmer's Reference and User's Guide

Attributes
Attribute OutCtl Acked AlarmText Outputs DataType Description Complex Control Output Float Acknowledged State of Alarm (see ALMREP) Text AlarmDescription (see ALMREP) Alarm Outputs (in order of priority) Description High PV Deviation Low PV Deviation Control Auto Loss Control Value Bad Quality Status Description Setpoint Target value Working Setpoint (after limiting) value Filtered Process Variable value Process, set point error PV - WSP Simple output value Output percent based on range 0 = Manual, 1 = Auto Text indication of Mode No Alarm=0, Alarm=1 Inputs Attribute PVInCtl OutModeMan OutModeAuto OutAutoSusp FrcbkIn DataType Complex Float Float Float Complex Description Controller Process Variable Set Manual Output Mode Set Auto Output Mode Output Auto Operation Suspend Output Forceback Input Parameters Attribute AlmSev AutoRqdQual CtlAction SPTrgtTrack DevAlrmHyst DevHiPVAlrmLmt DevLoPVAlrmLmt SPHighRng SPLowRng DataType Float Enum Enum Enum Float Float Float Float Float Description Alarm Severity (0-5) (see ALMREP) In quality level valid for calc (see AUTOMAN) Direct act = 0, Reverse act = 1 (see PID) Setpoint Target tracking option (see AUTOMAN) Hysteresis for Deviation Alarms High Process Variable Deviation Alarm Setpoint Low Process Variable Deviation Alarm Setpoint Setpoint High Operator Entry Limit Setpoint Low Operator Entry Limit Category Config Config Config Config Config Config Config ConfigLimits ConfigLimits Category Input Input Input Input Input Category Output Output Output

Attribute AlrmDevHiPV AlrmDevLoPV AlrmAutoLoss AlrmBadQual

DataType Float Float Float Float

Category Output Output Output Output

Attribute SP WSP PV Deviation Out OutPct Mode Tmode AnyAlarm

DataType Float Float Float Float Float Float Boolean Text Float

Category Status Status Status Status Status Status Parameter Status Status

10-2

Metso Automation 278589

Standard Function Blocks


SPRateLmt InitSP OutRateLmt OutHiLmt OutLoLmt InitOut InitMode OutIncVal OutDecVal OutIncIncVal OutDecDecVal Gname TagName Desc AltDesc AlmParent Defeat SvcPriority SvcSecScheme SvcTimeBase AutoVal CascSPRemVal ManVal AutoSPLclVal Attribute PropSPMult
Float Float Float Float Float Float Enum Float Float Float Float Text Text Text Text Text Boolean Long Enum Enum Float Float Float Float Setpoint Rate of Change Limit (Inc or Dec) Initial Setpoint Target value (see AUTOMAN) Output rate of Change Limit (Inc or Dec) Maximum automatic output limit Minimum automatic output limit Initial Output Target value (see AUTOMAN) Initial Output Mode Command Small Increase Increment Command Small Decrease Increment Command Large Increase Increment Command Large Decrease Increment Generic Name TagName Description Alternate Description Alarm Parent Disable alarm display if true Service Priority Service Security Scheme Service Time Base for Schd Que Mode Command Values for information only Mode Command Values for information only Mode Command Values for information only Mode Command Values for information only ConfigLimits DnLdConfig ConfigLimits ConfigLimits ConfigLimits DnLdConfig DnLdConfig Increment Increment Increment Increment Parameter Parameter Parameter Parameter Parameter Parameter General General General
ModeCommand ModeCommand ModeCommand ModeCommand

DataType Float

RateSPMult

Float

ErrorSqFactor ALFTime ALFBand Gain Reset Rate

Float RelTime Float Float Float Float

Parameters set by tuning tests Description Proportional setpoint multiplier (see PID): 0 = No proportional action on setpoint change 1 = Full proportional action on setpoint change (default) Other values are permitted for reduced or enhanced proportional setpoint action. Rate setpoint multiplier (see PID): 0 = No rate action on setpoint change (default) 1 = Full rate action on setpoint change (equivalent to rate on deviation) Other values are permitted for reduced or enhanced rate setpoint action. Error squared factor (see PID) Amplitude Limiting Filter time (see LEADLAG) Amplitude Limiting Filter band (see LEADLAG) PID Proportional Gain (see PID) PID Reset (see PID) PID Rate Time (see PID)

Category Config

Config

TuningFilter TuningFilter TuningFilter Parameter Parameter Parameter

Commands

Metso Automation 278589

10-3

Function Blocks and Buffers Programmer's Reference and User's Guide


Attribute OpOutTrgtVal OpSPTrgtVal OpKey DataType Float Float Float Description Operator target (absolute) value Operator target (absolute) value Operator action (display or keyboard) command: 0 = Manual Mode Selection 1 = Auto (not Cascade) Mode Selection 2 = Cascade (Auto) Mode Selection 10 = Output Increase by small increment 11 = Output Decrease by small increment 12 = Output Increase by large increment 13 = Output Decrease by large increment 20 = Setpoint Increase by 1% of Range* 21 = Setpoint Decrease by 1% of Range* 22 = Setpoint Increase by 5% of Range* 23 = Setpoint Decrease by 5% of Range* * Range is the difference between the Process Variable Input High and Low Range values. Value of step change for tuning Category Command Command Command

Perturb

Float

TuneTest

10-4

Metso Automation 278589

Standard Function Blocks

Cascade ((2) PID plus Feedforward) Control

OuterPVInCtl FdfwdPVInCtl InnerPVInCtl FrcbkIn

PID002

OutCtl Out OutPct SP OuterWSP OuterPV OuterDeviation FdFwdPV InnerWSP InnerPV InnerDeviation Mode AnyAlarm

Overview
A function block that provides a cascade control function with ALF filtering for PVs and setpoint and value output controls and process and control alarms.

Detailed Description
The process variable ALF filtering is provided by the incorporation of a LeadLag Atomic Block. Outer PID setpoint control is provided by Auto/Man and Limiter Atomic Blocks. Outer PID control action is provided by the PID Atomic Block. Feedforward control action is provided by the FeedForward Atomic Block Inner PID setpoint control is provided by Auto/Man and Limiter Atomic Blocks responding to Outer PID and Feedforward control actions. Inner PID control action is provided by the PID Atomic Block. Output control is provided by Auto/Man and Limiter Atomic Blocks.

Metso Automation 278589

10-5

Function Blocks and Buffers Programmer's Reference and User's Guide


The AlmRep Atomic Block provides alarms for Automatic Control Loss, Control Signal Quality Problem, Outer Control Deviation High or Low, and Inner Control Deviation High or Low.

Attributes
Attribute OutCtl Acked AlarmText Outputs DataType Description Complex Control Output Float Acknowledged State of Alarm (see ALMREP) Text AlarmDescription (see ALMREP) Alarm Outputs (in order of priority) Description High PV Deviation Low PV Deviation High PV Deviation Low PV Deviation Control Auto Loss Control Value Bad Quality Status Description Setpoint Target value Working Setpoint (after limiting) value Working Setpoint (after limiting) value Filtered Process Variable value Filtered Process Variable value Filtered Process Variable value Process, set point error PV - WSP Process, set point error PV - WSP Simple output value Output percent based on range 0 = Manual, 1 = Auto Text indication of Mode No Alarm=0, Alarm=1 Inputs Attribute IPVInCtl OPVInCtl FPVInCtl OutModeMan OutModeAuto OutAutoSusp FrcbkIn DataType Complex Complex Complex Float Float Float Complex Description Controller Process Variable Controller Process Variable Controller Process Variable Set Manual Output Mode Set Auto Output Mode Output Auto Operation Suspend Output Forceback Input Category Input Input Input Input Input Input Input Category Output Output Output

Attribute IalrmDevHiPV IalrmDevLoPV OalrmDevHiPV OalrmDevLoPV AlrmAutoLoss AlrmBadQual

DataType Float Float Float Float Float Float

Category Output Output Output Output Output Output

Attribute SP IWSP OWSP IPV OPV FPV iDeviation oDeviation Out OutPct Mode TMode AnyAlarm

DataType Float Float Float Float Float Float Float Float Float Float Boolean Text Float

Category Status Status Status Status Status Status Status Status Status Status Parameter Status Status

10-6

Metso Automation 278589

Standard Function Blocks

Parameters Attribute AlmSev AutoRqdQual iCtlAction oCtlAction fCtlAction SPTrgtTrack iDevAlrmHyst iDevHiPVAlrmLmt iDevLoPVAlrmLmt oDevAlrmHyst oDevHiPVAlrmLmt oDevLoPVAlrmLmt SPHighRng SPLowRng SPRateLmt InitSP OutRateLmt OutHiLmt OutLoLmt InitOut InitMode OutIncVal OutDecVal OutIncIncVal OutDecDecVal GName TagName Desc AltDesc AlmParent Defeat SvcPriority SvcSecScheme SvcTimeBase AutoVal CascSPRemVal ManVal AutoSPLclVal Attribute IPropSPMult DataType Float Enum Enum Enum Enum Enum Float Float Float Float Float Float Float Float Float Float Float Float Float Float Enum Float Float Float Float Text Text Text Text Text Boolean Long Enum Enum Float Float Float Float Description Alarm Severity (0-5) (see ALMREP) In quality level valid for calc (see AUTOMAN) Direct act = 0, Reverse act = 1 (see PID) Direct act = 0, Reverse act = 1 (see PID) Direct act = 0, Reverse act = 1 (see PID) Setpoint Target tracking option (see AUTOMAN) Hysteresis for Deviation Alarms High Process Variable Deviation Alarm Setpoint Low Process Variable Deviation Alarm Setpoint Hysteresis for Deviation Alarms High Process Variable Deviation Alarm Setpoint Low Process Variable Deviation Alarm Setpoint Setpoint High Operator Entry Limit Setpoint Low Operator Entry Limit Setpoint Rate of Change Limit (Inc or Dec) Initial Setpoint Target value (see AUTOMAN) Output rate of Change Limit (Inc or Dec) Maximum automatic output limit Minimum automatic output limit Initial Output Target value (see AUTOMAN) Initial Output Mode Command Small Increase Increment Command Small Decrease Increment Command Large Increase Increment Command Large Decrease Increment Generic Name TagName Description Alternate Description Alarm Parent Disable alarm display if true Service Priority Service Security Scheme Service Time Base for Schd Que Mode Command Values for information only Mode Command Values for information only Mode Command Values for information only Mode Command Values for information only Category Config Config Config Config Config Config Config Config Config Config Config Config ConfigLimits ConfigLimits ConfigLimits DnLdConfig ConfigLimits ConfigLimits ConfigLimits DnLdConfig DnLdConfig Increment Increment Increment Increment Parameter Parameter Parameter Parameter Parameter Parameter General General General
ModeCommand ModeCommand ModeCommand ModeCommand

DataType Float

IRateSPMult

Float

Parameters set by tuning tests Description Category Proportional setpoint multiplier (see PID): Config 0 = No proportional action on setpoint change 1 = Full proportional action on setpoint change (default) Other values are permitted for reduced or enhanced proportional setpoint action. Rate setpoint multiplier (see PID): Config

Metso Automation 278589

10-7

Function Blocks and Buffers Programmer's Reference and User's Guide


0 = No rate action on setpoint change (default) 1 = Full rate action on setpoint change (equivalent to rate on deviation) Other values are permitted for reduced or enhanced rate setpoint action. Error squared factor (see PID) Amplitude Limiting Filter time (see LEADLAG) Amplitude Limiting Filter band (see LEADLAG) PID Proportional Gain (see PID) PID Reset (see PID) PID Rate Time (see PID) Proportional setpoint multiplier (see PID): 0 = No proportional action on setpoint change 1 = Full proportional action on setpoint change (default) Other values are permitted for reduced or enhanced proportional setpoint action. Rate setpoint multiplier (see PID): 0 = No rate action on setpoint change (default) 1 = Full rate action on setpoint change (equivalent to rate on deviation) Other values are permitted for reduced or enhanced rate setpoint action. Error squared factor (see PID) Amplitude Limiting Filter time (see LEADLAG) Amplitude Limiting Filter band (see LEADLAG) PID Proportional Gain (see PID) PID Reset (see PID) PID Rate Time (see PID) Amplitude Limiting Filter time (see LEADLAG) Amplitude Limiting Filter band (see LEADLAG) PID Proportional Gain (see PID) PID Rate Time (see PID)

IErrorSqFactor IALFTime IALFBand IGain IReset IRate OPropSPMult

Float RelTime Float Float Float Float Float

TuningFilter TuningFilter TuningFilter Tuning Tuning Tuning Config

ORateSPMult

Float

Config

OErrorSqFactor OALFTime OALFBand OGain OReset ORate FALFTime FALFBand FGain FRate Attribute OpOutTrgtVal OpSPTrgtVal OpKey

Float RelTime Float Float Float Float RelTime Float Float Float

TuningFilter TuningFilter TuningFilter Tuning Tuning Tuning TuningFilter TuningFilter Tuning Tuning

DataType Float Float Float

Commands Description Operator target (absolute) value Operator target (absolute) value Operator action (display or keyboard) command: 0 = Manual Mode Selection 1 = Auto (not Cascade) Mode Selection 2 = Cascade (Auto) Mode Selection 10 = Output Increase by small increment 11 = Output Decrease by small increment 12 = Output Increase by large increment 13 = Output Decrease by large increment 20 = Setpoint Increase by 1% of Range* 21 = Setpoint Decrease by 1% of Range* 22 = Setpoint Increase by 5% of Range* 23 = Setpoint Decrease by 5% of Range* * Range is the difference between the Process

Category Command Command Command

10-8

Metso Automation 278589

Standard Function Blocks


Variable Input High and Low Range values. Value of step change for tuning Value of step change for tuning

Iperturb OPerturb

Float Float

TuneTest TuneTest

Metso Automation 278589

10-9

Function Blocks and Buffers Programmer's Reference and User's Guide

Steam Power Algorithm Blocks


Overview
This set of algorithms is the embodiment of the DEB400 Boiler Control Strategy as implemented by the preceding generation of MAX Control algorithms and its ExCEL programming language. Energy Demand Servo (for Boiler Demand) DemandLimitReg HardRunback HeatRelease

(Frequently the MAX1 implemented execution order would be Servo, HardRunback, DemandLimitReg with ExCEL logic suspending the DemandLimitReg operation during Runback; the recommended ordering for these Standard Blocks will be as listed above to provide the dominance of Runback operation formerly established by ExCEL.)

10-10

Metso Automation 278589

Standard Function Blocks

Energy Demand

FirstStageP1 ThrottlePT PTSetpoint FrcbkIn

ENERGYDEMAND

Out LdScldEnrgFlw PTDeviation PTSetpointROC ValvePosition

Initialize Track

Overview
A function block that calculates the energy flow requirement of a turbine (and/or other energy flow path) by its energy flow and its throttle pressure relationship to the throttle pressure setpoint. The energy flow requirement is converted to a boiler energy input flow requirement (demand) by consideration of the boiler energy storage changes related to load and pressure changes.

Critical Behaviors
Provide indication of effective turbine valve opening as scaled ratio of first stage and throttle pressures. Calculate energy requirement as this ratio times the throttle pressure setpoint scaled in terms of unit load (megawatts). Calculate estimation of boiler energy storage change requirements for load and pressure change (separately). Provide boiler energy flow demand output based on turbine energy requirement plus dynamic compensation for boiler energy storage changes.. Provide load scaled turbine energy flow for use in Heat Release calculation. Provide throttle pressure deviation for indication.

Metso Automation 278589

10-11

Function Blocks and Buffers Programmer's Reference and User's Guide

Detailed Description
Effective Turbine Valve Opening is calculated by the following equation:
FirstStagePressure ThrottlePressure * FullLoadThrottlePressure * ValveMaximumFirstStagePressure 100

Turbine Energy Input Requirement is calculated by the following equation:


FirstStagePressure ThrottlePressure * ThrottlePressureSetpoint * ValveMaximumFirstStagePressure FullLoadScaler

Turbine load scaled energy flow is calculated by the following equation:


FirstStagePressure * FullLoadScaler ValveMaximumFirstStagePressure

The Turbine Energy Input Requirement is filtered by a LeadLag block Amplitude Limiting Filter for the Filtereed Turbine Energy Input Requirement. The Rate of Change of the Filtered Turbine Energy Input Requirement is established by a LeadLag block. The Rate of Change of the Throttle Pressure Setpoint is established by a LeadLag block. Dynamic Compensation is calculated by the following equation:
TurbineEnergyInputRateOfChange * FilteredTurbineEnergyInput FullLoadScaler

Dynamic Compensation Feedforward is calculated by multiplication by its gain. Throttle Pressure Setpoint Rate of Change Feedforward is calculated by multiplication by its gain. Boiler Energy Input Demand is calculated as the sum of: Filtered Turbine Energy Input Requirement Dynamic Compensation Feedforward Throttle Pressure Setpoint Rate of Change Feedforward An Initializing Value is calculated as Boiler Energy Input Demand minus the forceback value. While Tracking (or Value Forceback condition), the initializing value is determined by its calculation. While NOT Tracking (or Value Forceback condition), the initializing value is decayed to zero by the tuned time constant. Energy Demand Output is the sum of Boiler Energy Input Demand and the Initializing Value, so that the output is equal to the forceback value during tracking, changing to equal Boiler Energy Input Demand by time constant decay of the Initializing Value when not tracking. Tuning Procedure Static load pressure control tuning is completed by the Fuel PID tuning to maintain Heat Release equal to Energy Demand. This is because Energy Demand basically equals Energy Flow through the Turbine (or other boiler exit path) times the ratio of pressure to its setpoint and Heat Release basically equals the same Energy Flow plus rate of change of drum pressure. So when
10-12 Metso Automation 278589

Standard Function Blocks


pressure is equal to setpoint and drum pressure is steady (zero rate of change), the Fuel PID has no error. Tune for pressure control during changing load or setpoint as follows: Ramp Load and adjust the Dynamic Compensation Feedforward Gain and possibly filtering time to reduce pressure error during the ramp. Ramp Pressure Setpoint and adjust the Pressure Setpoint Rate of Change Feedforward Gain and possibly filtering time to improve pressure following setpoint. The gain setting might be limited by other process variable responses to the Pressure setpoint ramps as it introduces significant over/under firing conditions.

Attributes
Attribute Out LdScldEnrgFlw PTDeviation PTSetpointROC ValvePosition DataType Float Float Float Float Float Outputs Description Energy Demand Output for Control Load Scaled Energy Flow Throttle Pressure Deviation PT Setpoint Rate of Change Effective Turbine Valve Position Status Description Effective Turbine Valve Position Turbine Input Energy Flow Required Filtered Input Energy Flow Required Turbine Input Energy Flow Rate of Change Dynamic Compensation Tuned Dynamic Compensation Throttle Pressure Setpoint Rate of Change Tuned Setpoint Rate of Change Calculated Boiler Energy Output Demand Forced Back Boiler Demand Boiler Energy Output Demand Output Category Output Output Output Output Output

Attribute EffectiveVlvPos TrbEnrgInpRqd TrbEnrgInpFilt TrbEnrgInpRate DynamicComp DynamicCompFfw PrsSetpointRate PrsSPRateFfwd BlrEnrgInpDmd InitValue EnrgDmdOut

DataType Float Float Float Float Float Float Float Float Float Float Float

Category StatusCalca StatusCalcb StatusCalcc StatusCalcd StatusCalce StatusCalcf StatusCalcg StatusCalch StatusCalci StatusCalcj StatusCalck

Attribute FirstStageP1 ThrottlePT PTSetpoint FrcbkIn Initialize Track

Inputs DataType Description Float Turbine First Stage Pressure or Total Energy Flow for Turbines with significant bypass or other energy usage from the boiler. Float Boiler Throttle Pressure Float Throttle Pressure Setpoint Complex Value for Output when Track Float Time (only) Initialize Command Float Track Output Initialize Command Parameters DataType Description Float Throttle Pressure at Full Load

Category Input
Input Input Input Input Input

Attribute FullLoadPT

Category Calibrate

Metso Automation 278589

10-13

Function Blocks and Buffers Programmer's Reference and User's Guide


FullLoadScale ValveMaxP1 ScanTimeSec
Float Float Float Output at Full Load (normally Full Load Generation) First Stage Pressure when Valve Full Open and Throttle Pressure at Full Load (normally Full Load condition) Enter Scan Time in seconds configured for assigned SvcTimeBase Calibrate Calibrate Calibrate

Parameters set by tuning tests DataType Description Float Input Energy Flow Filter Amplitude Limiting Filter band RelTime Input Energy Flow Filter FilterTime Amplitude Limiting Filter time Load Rate of Change Filter Lag Time LoadStorRateLag RelTime Load Change Feedforward Gain DynamicCompGain Float RelTime Pressure Setpoint Rate of Change Filter Lag Time PrsStorRateLag Pressure Setpoint Change Feedforward Gain PTROCFFwdGain Float Float Input E InitDecayTmSec Attribute FilterBand

Category AdjFilter
AdjFilter AdjTune1b AdjTune1c AdjTune2b AdjTune2cc AdjTuneInit

10-14

Metso Automation 278589

Standard Function Blocks

Servo

InCtl FrcbkIn OutManMaxLmt OutManMinLmt OutManRateLmt OutRateLmt OutModeMan OutModeAuto OutAutoSusp OutBlockInc OutBlockDec OutOverrideInc OutOverrideDec OutOverrideRate OutFreeze

Servo

OutCtl FrcbkOut

Overview
A function block that provides mode control, freeze, block and override operation and manual limit application on a demand.

Critical Behaviors
Provide for operator mode selection and manual control interface. Set Auto or Manual Mode or suspend auto operation in response to boolean inputs. Output tracks input value at normal rate limit while automatic operation released. Freeze, Block or Override output in response to boolean inputs. Apply Maximum, Minimum, and Rate limit inputs to manual operation. Alarm automatic operation loss (without operator action) and auto input bad quality. Provide first out diagnostic indication for condition causing loss of automatic operation.

Metso Automation 278589

10-15

Function Blocks and Buffers Programmer's Reference and User's Guide

Detailed Description
Output control is provided by Auto/Man and Limiter Atomic Blocks. The AlmRep Atomic Block provides alarms for Automatic Control Loss, Control Signal Quality Problem. The Command Atomic Block interprets command integers for mode and manual output control. The FstOut Atomic Block holds the logic status for past auto loss conditions. The Calculator Atomic Block selects the output rate limit and detects Value Forceback condition.

Tuning Procedure None

Attributes
Attribute OutCtl FrcbkOut OutatDecLmt OutatIncLmt DataType Complex Complex Boolean Boolean Outputs Description Complex Value Output Control Forceback Limit Output for Logic Limit Output for Logic Category Output Output Output Output

Attribute AlrmAutoLoss AlrmBadQual

Alarm Outputs (in order of priority) DataType Description Boolean Control Auto Loss Boolean Control Value Bad Quality Status Description Operating in auto when true Ready to go to Auto In quality worse than AutoRqdQual Forceback input status 0 = Manual, 1 = Auto Simple output Output percent based on range Output at maximum for manual operation Output at minimum for manual operation Selected Output Rate Limit Forceback Status indicates Value Forceback condition

Category Status Status

Attribute AutoActv AutoReady BadQual FrcbkOutStat Mode Out OutPct OutManMax OutManMin OutSelRateLmt ValueForceback

DataType Boolean Boolean Boolean Float Boolean Float Float Boolean Boolean Float Float

Category Status Status Status Status Status Status Status Status Status Status Status

Attribute InCtl FrcbkIn OutModeMan

Inputs DataType Description Complex Auto Target Input Complex Output Forceback Input Boolean Set Manual Output Mode

Category Input Input Input

10-16

Metso Automation 278589

Standard Function Blocks


OutModeAuto OutAutoSusp OutFreeze OutBlockInc OutBlockDec OutOverrideDec OutOverrideInc OutOverrideRate OutManMaxLmt OutManMinLmt OutManRateLmt OutRateLmt
Boolean Boolean Boolean Boolean Boolean Boolean Boolean Float Float Float Float Float Set Auto Output Mode Output Auto Operation Suspend Output Freeze (and Trip to Man) Block Output Increase Change Block Output Decrease Change Decrease Output by Override Increase Output by Override Output Override Rate EU/Sec Output Maximum Limit Output Minimum Limit Output Normal Rate of Change Output Normal Rate of Change Input Input Input Input Input Input Input Input Input Input Input Input

Attribute InitMode InitOut OutRngHi OutRngLo TUOM OutOpDoubleDec OutOpDoubleInc OutOpSingleDec OutOpSingleInc AutoRqdQual AlmSev

DataType Enum Float Float Float Text Float Float Float Float Enum Float

Parameters Description Initial Value of Mode Initial Value of Target High range Low range Units of measure text Output Change for Large Change Command Output Change for Large Change Command Output Change for Small Change Command Output Change for Small Change Command Input quality level valid for automatic operation Alarm Severity (0-5)

Category DnLdConfig DnLdConfig ConfigLimits ConfigLimits Parameter ConfigLimits ConfigLimits ConfigLimits ConfigLimits Config Config

Attribute OpKey OpOutTrgtVal

Commands DataType Description Category Float Operator keyboard or graphic command for mode Command or incremental manual operation Float Operator graphic command for direct manual Command target value entry

Metso Automation 278589

10-17

Function Blocks and Buffers Programmer's Reference and User's Guide

Demand Limit Regulator

InCtl FrcbkIn AirFlowDev FuelFlowDev FWFlowDev FWFlow

DemandLimitReg

OutCtl FrcbkOut

Overview
A function block that limits or overrides its demand input according to process deviation inputs.

Critical Behaviors
Reduce demand output rate of change as any process deviation approaches its limit. Runup or rundown demand output when any process deviation exceeds its limit. Runup or rundown operation due to Feedwater Flow deviation is limited by Feedwater flow relationship to current demand input. Demand output rundown dominates runup. Boolean output indicates demand runup or rundown condition with time delay off. Alarm process deviation that limits demand rate of change or causes runup or rundown condition.

Detailed Description
Output control is provided by Limiter Atomic Block. Calculator block provides engineering unit to percent conversion for all rate limit calculations in percent (given percent deviation inputs). Calculator blocks determines permitted rate of change or runup/down rate and detects rate limiting or runup/down condition for each deviation direction (6) total. A calculator block clamps feedwater deviation runup rate when boiler demand exceeds feedwater flow plus permitted tolerance; clamps feedwater deviation rundown rate when boiler demand is less than feedwater flow minus permitted tolerance. Calculator blocks determine least decrease rate of change or greatest runup rate of change for high process deviation and least increase rate of change or greatest rundown rate of change for low process conditions.

10-18

Metso Automation 278589

Standard Function Blocks


The rates are converted from percent to engineering units for application by the Limiter. The runup rate is limited by the permitted increase rate or dominated by a rundown condition. Resulting least decrease rate of change / runup rate is referenced by Limiter decrease rate input. Resulting least increase rate of change / rundown rate is referenced by Limiter increase rate input. The AlmRep Atomic Block provides alarms for the rate limiting or runup/down conditions.

Tuning Procedure Adjust Feedwater Scalor for zero boiler demand feedwater flow difference for normal load operation. Set the process deviations limits for safe process relationships with minimum limiting of boiler operation. Set the runup/rundown rates to avoid overshoot of process deviation due to delay in response to the action. (Note that feedwater deviation response to runup/rundown action would be considerably slower than air or fuel because its demand is not directly derived from boiler demand. Adjust the boiler demand feedwater flow difference limit for effective runup/rundown due to feedwater deviation without overshoot due to the action.

Attributes
Attribute OutCtl FrcbkOut Outputs DataType Description Complex Output Output Boiler Demand Complex Forceback Output Alarm Outputs (in order of priority) Description Air Flow Dev Limiting Fuel Flow Dev Limiting Feedwater Flow Dev Limiting Air Flow Dev Limiting Fuel Flow Dev Limiting Feedwater Flow Dev Limiting Air Flow Dev Runup Fuel Flow Dev Runup Feedwater Flow Dev Runup Air Flow Dev Rundown Fuel Flow Dev Rundown Feedwater Flow Dev Rundown Category Output Output

Attribute AlrmAirLmtgInc AlrmFuelLmtgInc AlrmFWLmtgInc AlrmAirLmtgDec AlrmFuelLmtgDec AlrmFWLmtgDec AlrmAirRunup AlrmFuelRunup AlrmFWRunup AlrmAirRundown AlrmFuelRundown AlrmFWRundown

DataType Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean

Category Status Status Status Status Status Status Status Status Status Status Status Status

Metso Automation 278589

10-19

Function Blocks and Buffers Programmer's Reference and User's Guide

Attribute Out OutPct RunUpDnTOFF

Status DataType Description Float Simple output Float Output percent based on range Boolean Runup or Rundown Time Delayed Off Inputs DataType Description Complex Input Boiler Demand (PV) Complex Forceback Input from Runback Custom Block FrcbkOut so that its status does not include any Fuel Velocity Limit or Block (or Limit) conditions. Float Air Flow PID Percent Deviation Float Fuel Flow PID Percent Deviation Float Feedwater Flow PID Percent Dev Float Feedwater Flow Parameters Description

Category Status Status Status

Attribute InCtl FrcbkIn

Category
Input Input

AirFlowDev FuelFlowDev FWFlowDev FWFlow

Input Input Input Input

Attribute RunUpDnTOFFTm OutRateLmt

DataType Category RelTime Time Set Point Adjust Float Output Normal Rate of Change Parameter Referenced to Boiler Demand Servo Selected Rate of Change status output DataType Float Float Float Float Float Float Float Float Float Float Float Float Float Float Parameters set by tuning tests Description Percent Deviation Limit (POS) Percent per Minute Runup Rate (POS) Percent Deviation Limit (NEG) Percent per Minute Rundown Rate (NEG) Percent Deviation Limit (POS) Percent per Minute Runup Rate (POS) Percent Deviation Limit (NEG) Percent per Minute Rundown Rate (NEG) Percent Deviation Limit (POS) Percent per Minute Runup Rate (POS) Percent Deviation Limit (NEG) Percent per Minute Rundown Rate (NEG) Boiler Demand EU / Feedwater EU Percent of Load Difference Category AdjustAir AdjustAir AdjustAir AdjustAir AdjustFuel AdjustFuel AdjustFuel AdjustFuel AdjustFW AdjustFW AdjustFW AdjustFW AdjustFW-BD AdjustFW-Clamp

Attribute HiAirFDevLmt HiAirFRnUpRate LoAirFDevLmt LoAirFRnDnRate HiFuelDevLmt HiFuelRnUpRate LoFuelDevLmt LoFuelRnDnRate HiFWDevLmt HiFWRnUpRa1t LoFWDevLmt LoFWRnDnRa1 FWScalortoBD BD-FWDiffLimit

10-20

Metso Automation 278589

Standard Function Blocks

Hard Runback

InCtl FrcbkIn Rnbk1EquipLoss Rnbk2EquipLoss Rnbk3EquipLoss Rnbk4EquipLoss Rnbk4EquipLoss

HardRunback

OutCtl FrcbkOut

Overview
A function block that reduces its demand output at a preset rate of change to a preset limit when a boolean equipment loss input is true. This Standard Block is expected to be customized when copied from the Standard Library to the Project DPU configuration in at least one of two ways: Edit the description fields for the runback alarm outputs for desired alarm wording for each runback. Extend the number of runbacks (up to 16) by (for each additional runback): Add Runback Equipment Loss input. Copy/Paste a runback Calc Atomic Block (e.g. #101) and edit its exposed attributes (change number and reference input to added Equipment Loss input. Edit the SigSel Atomic Block #2 to add the rate cutout input from the added Calc Atomic Block and expose the related input attribute (same as other exposures except change number). Add Runback Alarm output attributes referenced to the added Calc Atomic Block. Edit the AlmRep Atomic Block to add the added runback alarm outputs.

Critical Behaviors
Reduce demand output as set rate of change to set limit when equipment loss boolean input is true Highest decrease rate of change selected when multiple runback conditions exist. Permit demand increase above set limit once runback action is complete (even when the equipment loss is not restored). Boolean output indicates demand runback condition with time delay off.

Metso Automation 278589

10-21

Function Blocks and Buffers Programmer's Reference and User's Guide


Alarm specific runback condition(s). Isolate Boiler Demand from Velocity Limit and Blocking Forceback Status

Detailed Description
Output control is provided by Limiter Atomic Block. Calculator blocks for each Equipment Loss input determine Runback Permit and Runback. Runback permit is set when the input boiler demand is greater than the runback loss limit and there is no equipment loss. Not equipment loss for the set logic is delayed to assure equipment in service. The permit is reset when boiler demand is less than the runback loss limit. Runback is runback permit and equipment loss condition. The equipment loss for runback has an adjustable filter delay. The permit logic enables boiler demand to increase greater than the loss limit while there is an equipment loss condition if the runback due to that loss limit has been completed. When a runback is active, its runback rate is auctioneered (high, most positive select) by a Signal Select Atomic Block for greatest decrease rate. Limiter increase rate is determined by a calculator block as the (negative absolute value of the) Signal Select Block output when any runback selected or the configured no runback rate limit with result converted to per second rate value. Limiter decrease rate is determined by a calculator block as the lowest (most negative) of the increase rate and the negative configured no runback rate limit with result converted to per second rate value. The AlmRep Atomic Block provides alarms for specific runback conditions that are active. The Forceback is modified by a CMPT Atomic Block which combines the forceback input (buffered by a QualFrce Atomic Block) VAL, RHI and RLO variants with a STAT variant modified by a CALC Atomic Block to indicate only the Value Forceback condition.

Tuning Procedure Runbacks should be tested with preset rates and limits to prove that they are effective in keeping the boiler in service when equipment is lost. Note that this testing will test all of the boiler control and logic systems operation. Multiple tests should be run for each runback: Simulate equipment loss (do not trip) at load slightly above runback limit to test logic. Trip equipment at load slightly above runback limit. Trip equipment at successively larger loads until a trip at full load is proven.

10-22

Metso Automation 278589

Standard Function Blocks

Attributes
Attribute OutCtl FrcbkOut AnyRunbackTOF Outputs DataType Description Complex Output Output Boiler Demand Complex Forceback Output Float Runback Condition - Delay Off Category Output Output Output

Alarm Outputs (in order of priority) Edit description in custom block following copy to project configuration for proper alarm message Attribute DataType Description Category Boolean Equipment 1 Loss Runback Status AlrmRnbk1 Boolean Equipment 1 Loss Runback Status AlrmRnbk2 Boolean Equipment 1 Loss Runback Status AlrmRnbk3 Boolean Equipment 1 Loss Runback Status AlrmRnbk4 Boolean Equipment 1 Loss Runback Status AlrmRnbk5 Status DataType Description Float Simple output Float Output percent based on range Inputs Description Input Boiler Demand (PV) Forceback Input Equipment Loss Logic Input Equipment Loss Logic Input Equipment Loss Logic Input Equipment Loss Logic Input Equipment Loss Logic Input Parameters Description Time Set Point for Time Delay Off Equipment Loss Delay Scans Count Runback Limit Level Runback Rate of Change* Equipment Loss Delay Scans Count Runback Limit Level Runback Rate of Change* Equipment Loss Delay Scans Count Runback Limit Level Runback Rate of Change* Equipment Loss Delay Scans Count Runback Limit Level Runback Rate of Change* Equipment Loss Delay Scans Count

Attribute Out OutPct

Category Status Status

Attribute InCtl FrcbkIn Rnbk1EquipLoss Rnbk2EquipLoss Rnbk3EquipLoss Rnbk4EquipLoss Rnbk5EquipLoss

DataType Complex Complex Boolean Boolean Boolean Boolean Boolean

Category Input Input Input Input Input Input Input

Attribute RnbkCondDelay Rnbk1EqLossFilt Rnbk1Limit Rnbk1Rate Rnbk2EqLossFilt Rnbk2Limit Rnbk2Rate Rnbk3EqLossFilt Rnbk3Limit Rnbk3Rate Rnbk4EqLossFilt Rnbk4Limit Rnbk4Rate Rnbk5EqLossFilt

DataType RelTime Float Float Float Float Float Float Float Float Float Float Float Float Float

Category Adjustment AdjFiltScans ConfigLimit ConfigRate AdjFiltScans ConfigLimit ConfigRate AdjFiltScans ConfigLimit ConfigRate AdjFiltScans ConfigLimit ConfigRate AdjFiltScans

Metso Automation 278589

10-23

Function Blocks and Buffers Programmer's Reference and User's Guide


Float Runback Limit Level ConfigLimit Rnbk5Limit Float Runback Rate of Change* ConfigRate Rnbk5Rate * enter positive Engineering Units per minute value for proper rate selection when multiple simultaneous runbacks

Attribute

DataType

Parameters set by tuning tests Description Commands Description

Category

Attribute

DataType

Category

10-24

Metso Automation 278589

Standard Function Blocks

Heat Release

TotalEnergyFlow DrumPress TotalCoalFlow OtherFuelFlow FlueGasOxygen

HeatRelease

OutCtl TotalFuelFlow HeatReleaseFail

Overview
A function block that calculates Heat Release from Total Energy Flow (from boiler) and Drum Pressure and calculates Total Fuel Flow into the boiler furnace from Total Coal Flow processed by a Mill Model plus Other Fuel Flow. The Heat Release calculation is monitored for failure due to substochiometric firing conditions.

Critical Behaviors
Calculate Heat Release with same scaling as input Total Energy Flow (normally output scaled by Energy Demand Custom Block). Calculate Total Fuel Flow into the boiler furnace for comparison to Heat Release. Alarm Low Heat Release and Flue Gas Oxygen conditions and Heat Release Fail Set Heat Release Output quality to BAD when Fail.

Detailed Description
Heat Release calculated as boiler exit energy flow plus rate of change of drum pressure (for boiler energy storage change) by LeadLag Atomic Block. Coal delivered to the furnace calculated by a double lag applied to the total coal flow as a Mill Model by a LeadLag Atomic Block. A calculator block divides the lag time adjustment by 2 for the double lag times. Total Fuel Flow scaled to Heat Release by summation of Coal delivered to the furnace with Other Fuel Flow scaled to each other and to Heat Release by Full Load value configuration parameters. Heat Release Failure determined by LT (Less Than Comparator) Atomic Blocks for low Heat Release and Low Flue Gas Oxygen. Failure declared when Oxygen is Low and Heat Release is low relative to Total Fuel Flow. Heat Release output quality set to the worst of:

Metso Automation 278589

10-25

Function Blocks and Buffers Programmer's Reference and User's Guide


BAD when Failure declared or the Fail logic has bad quality quality of Fail logic quality of Heat Release calculation inputs. Boolean output indicates Heat Release Failed. The AlmRep Atomic Block provides alarms for heat release fail (when monitor on) and each of the comparisons individually as the fail condition prealarms. Calculator atomic block provides the following Scale and Total Coal and Other Fuel Flow Calculate the two Mill Model LeadLag lag times as half of the lag time adjustment to provide a double lag with total lag time equal to the adjustment. Calculate the Heat Release Total Fuel Flow difference and percentages of Full Load Scale value. Calculate the quality forcing logic as the worst of the comparison qualities or BAD when Fail condition. Calculate the Heat Release LeadLag Rate Gain by the Rate Time and Lag Time adjustments (and adjusting for the divide rate input by SvcTimeBase scan time implemented in 2.1).

Tuning Procedure Heat Release is tuned by tests initiated by step changes in the turbine governor valves (with constant firing and feedwater conditions). The boiler storage (pressure) rate time is adjusted until Heat Release remains (basically) constant during the test (as the boiler pressures are changing with constant turbine governor valve position (after the step) and constant firing conditions. The lag time is adjusted to reduce the initial transient and filter the final result. Mill Model is tuned by trending its output with the tuned Heat Release. Adjust the Mill Model lag time for best match of Total Fuel to Heat Release in response to Coal Feeder changes. The low oxygen limit is set to detect an approach to substochiometric firing as an unreasonably low oxygen value for coal firing. The low low heat release limit is set for tolerable extreme excess fuel 10% would mean approximately a 2% low oxygen condition. The low heat release limit is set for a prealarm of the fail condition.

Attributes
Attribute OutCtl TotalFuelFlow HeatReleaseFail Outputs DataType Description Float Heat Released in Furnace with range 0 to Full Load Scale Value Float Total Fuel Flow (Mill Modeled) Boolean Heat Release Failure Category Output
Output Output

Alarm Outputs (in order of priority)

10-26

Metso Automation 278589

Standard Function Blocks


Attribute AlrmHtRlsFail AlrmHtRlsLL AlrmHtRlsLo AlrmOxygenLo DataType Boolean Boolean Boolean Boolean Description Heat Release Fail Heat Release Low Low Heat Release Low Flue Gas Oxygen Low Category Status Status Status Status

Attribute Out OutPct Difference

Status DataType Description Category Float Heat Release simple output Status Float Heat Release Output percent based on Full Load Scale Status value Float Heat Release minus Total Fuel Flow Status Inputs Description
Total Energy Flow Drum Pressure Total Coal Flow (to Mill Model) Fuel not included in Mill Model Flue Gas Oxygen

Attribute TotalEnrgFlow DrumPress TotalCoalFlow OtherFuelFlow FlueGasOxygen

DataType Float Float Float Float Float

Category Input Input Input Input Input

Attribute FullLoadCoalFlw FullLoadOtherFF FullLoadScale ScanTimeSec HtRlsMonOn HtRlsLoTol HtRlsLLTol HtRlsLoHys OxygenLoTol OxygenLoHys HtRlsFailFiltTm

Parameters DataType Description Float Total Coal Flow value at Full Load Float Total Other (non-Coal) Fuel Flow at Full Load (extrapolate if only startup flow range) Float Output at Full Load (normally Full Load Generation) coordinate with Energy Demand value Float Enter Scan Time in seconds configured for assigned SvcTimeBase Boolean Monitor Control Switch when off alarm failure conditions only (not Fail logic result). Float Low Heat Release (relative to Fuel Flow) Limit for Fail prealarm Float Low Heat Release (relative to Fuel Flow) Limit for Fail Float Hysteresis (Deadband) for Low Heat Release Detections Float Low Oxygen Limit for Fail validation. Float Hysteresis (Deadband) for Low Oxygen Detection RelTime Time Delay on Fail Logic Parameters set by tuning tests DataType Description Float Adjust for Boiler Energy Storage Time Constant RelTime Adjust for Heat Release Calculation stability Float Adjust for Mill Model output match Heat Release

Category Calibrate Calibrate


Calibrate Calibrate Config AdjLimit AdjLimit AdjLimit AdjLimit AdjLimit Adjust

Attribute HRPrsStorRateTm HRFilterLag MillModelLag

Category AdjTuneHR AdjTuneHR AdjTuneMM

Metso Automation 278589

10-27

You might also like