Sei sulla pagina 1di 293

Function Blocks Programmer's Reference and User's Guide

277589 Rev. B

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

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

Metso Automation MAX Controls 277589

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 maxTOOLS4E .........................................................................................................................................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-6 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-9 Reference Syntax ...............................................................................................................................................1-9 Understanding Data Types...................................................................................................................................1-10 Boolean ............................................................................................................................................................1-10 Integer ..............................................................................................................................................................1-10 Enumerated ......................................................................................................................................................1-11 Float .................................................................................................................................................................1-11 String................................................................................................................................................................1-11 Absolute Time..................................................................................................................................................1-11 Relative Time...................................................................................................................................................1-11 Complex Data Type .............................................................................................................................................1-11 Standard Complex Data ...................................................................................................................................1-11 Forceback.........................................................................................................................................................1-12 Incremental Control Data.................................................................................................................................1-12 Family Ties ......................................................................................................................................................1-12 Using Buffers to Define Hardware.......................................................................................................................1-12 I/O Addressing .................................................................................................................................................1-13 Creating or Editing the I/O Inventory ..............................................................................................................1-13 I/O Module Types and Associated Signals ..........................................................................................................1-13

Metso Automation MAX Controls 277589

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


Digital Input Modules ..................................................................................................................................... 1-14 Digital Output Modules................................................................................................................................... 1-14 High Level Analog Input Modules.................................................................................................................. 1-14 Thermocouple/Millivolt Analog Input Module............................................................................................... 1-14 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-15 Using Buffers to Create Simulated I/O Environment .......................................................................................... 1-15 Using Hierarchical Groups.................................................................................................................................. 1-16 Copying and Pasting Groups........................................................................................................................... 1-16 Group Attributes ............................................................................................................................................. 1-17 Setting Atomic block and Group Execution Rates and Priorities........................................................................ 1-17 Selecting Execution Rate ................................................................................................................................ 1-17 Selecting Execution Priority............................................................................................................................ 1-18 Executing Blocks Using Priority Order........................................................................................................... 1-18 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-23 DPU Fan Related Object................................................................................................................................. 1-24 Alarm Related Objects .................................................................................................................................... 1-25 Security Related Objects ................................................................................................................................. 1-25 _timesync Object............................................................................................................................................. 1-25 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-27 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 Overview................................................................................................................................................................... 2-9 Detailed Description ............................................................................................................................................... 2-10 Transition Smoothing...................................................................................................................................... 2-10 Output Quality................................................................................................................................................. 2-11

Metso Automation MAX Controls 277589

Contents
Attributes .................................................................................................................................................................2-11 Totalizer ( TOTL) ..................................................................................................................................................... 2-13 Overview..................................................................................................................................................................2-13 Critical Behaviors ....................................................................................................................................................2-13 Detailed Description ................................................................................................................................................2-14 Alternate Applications .....................................................................................................................................2-14 Output Quality..................................................................................................................................................2-14 Attributes .................................................................................................................................................................2-15 Lead/Lag (LEADLAG)............................................................................................................................................. 2-17 Overview..................................................................................................................................................................2-17 Critical Behaviors ....................................................................................................................................................2-17 Detailed Description ................................................................................................................................................2-17 Attributes .................................................................................................................................................................2-19

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 Analog Output Buffer (AOB) .................................................................................................................................... 3-9 Overview....................................................................................................................................................................3-9 Creating Simulated Points..................................................................................................................................3-9 Digital Input Buffer (DIB) ....................................................................................................................................... 3-14 Overview..................................................................................................................................................................3-14 Creating Simulated Points................................................................................................................................3-14 Digital Output Buffer (DOB) ................................................................................................................................... 3-18 Overview..................................................................................................................................................................3-18 Creating Simulated Points................................................................................................................................3-18 Pulse I/O Buffer (PLSIO)......................................................................................................................................... 3-22 Overview..................................................................................................................................................................3-22 Creating Simulated Points................................................................................................................................3-23 Quad Pulse Adjusting Type Buffer (QPAT)........................................................................................................... 3-28 Overview..................................................................................................................................................................3-28 Creating Simulated Points................................................................................................................................3-28 Resistance Temperature Detector Buffer (RTD) ................................................................................................... 3-33 Overview..................................................................................................................................................................3-33 Creating Simulated Points................................................................................................................................3-33 Serial Buffer .............................................................................................................................................................. 3-38 Hidden .....................................................................................................................................................................3-38 Output ......................................................................................................................................................................3-39 Status........................................................................................................................................................................3-39 Parameters............................................................................................................................................................3-40

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


Commands .............................................................................................................................................................. 3-41 Binary PLC Interface .............................................................................................................................................. 3-43 Using TestSerial program ....................................................................................................................................... 3-43 Thermocouple Buffer (TC)....................................................................................................................................... 3-46 Overview................................................................................................................................................................. 3-46 Creating Simulated Points ............................................................................................................................... 3-46

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-3 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 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-14 Attributes................................................................................................................................................................. 4-14 Limiter (LIMITER) .................................................................................................................................................. 4-17 Overview................................................................................................................................................................. 4-17 Critical Behaviors ................................................................................................................................................... 4-18 Detailed Description ............................................................................................................................................... 4-18 Modulating Control LIMITER Application .................................................................................................... 4-18 Configuration .................................................................................................................................................. 4-20 Attributes................................................................................................................................................................. 4-21

Metso Automation MAX Controls 277589

Contents
Proportional, Integral, and Derivative (PID) ......................................................................................................... 4-24 Overview..................................................................................................................................................................4-24 Critical Behaviors ....................................................................................................................................................4-24 Detailed Description ................................................................................................................................................4-25 Modulating Control PID Application...............................................................................................................4-25 Configuration ...................................................................................................................................................4-26 Tuning..............................................................................................................................................................4-28 Tuning Procedure.....................................................................................................................................................4-29 Attributes .................................................................................................................................................................4-31 Feedforward (FEEDFWD)....................................................................................................................................... 4-34 Overview..................................................................................................................................................................4-34 Critical Behaviors ....................................................................................................................................................4-34 Detailed Description ................................................................................................................................................4-35 Modulating Control PID Application...............................................................................................................4-35 Configuration ...................................................................................................................................................4-35 Tuning..............................................................................................................................................................4-37 Adaptive Tuning Connections..........................................................................................................................4-37 Noise Filtering .................................................................................................................................................4-37 Attributes .................................................................................................................................................................4-37 Pulse Adjusting Type Output (PATOUT) .............................................................................................................. 4-40 Overview..................................................................................................................................................................4-40 Critical Behaviors ....................................................................................................................................................4-40 Detailed Description ................................................................................................................................................4-41 Modulating Control PATOut Application........................................................................................................4-42 Configuration ...................................................................................................................................................4-42 Tuning..............................................................................................................................................................4-43 Monitor Adjustments .......................................................................................................................................4-44 Tuning Procedure.....................................................................................................................................................4-45 Determine response to minimum on-time: .......................................................................................................4-45 Determine response to full on-time (1/2 second). ............................................................................................4-46 Determine response linearity............................................................................................................................4-47 Determine rate of response for continuous on-time. ........................................................................................4-47 Test PAT Positioning.......................................................................................................................................4-48 Feedback Applications:....................................................................................................................................4-48 Backlash application. .......................................................................................................................................4-49 Attributes .................................................................................................................................................................4-50 Participation Member (PARTMEM)...................................................................................................................... 4-53 Overview..................................................................................................................................................................4-53 Critical Behaviors ....................................................................................................................................................4-53 Detailed Description ................................................................................................................................................4-54 Modulating Control PARTMEM Application .................................................................................................4-54 Configuration ...................................................................................................................................................4-54 Equalizing Tuning............................................................................................................................................4-55 Operation .........................................................................................................................................................4-55 Attributes .................................................................................................................................................................4-56 Participation Master (PARTMSTR)....................................................................................................................... 4-59 Overview..................................................................................................................................................................4-59 Critical Behaviors ....................................................................................................................................................4-59 Description of Distribution ..............................................................................................................................4-59 Attributes .................................................................................................................................................................4-60

vii

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


Controller Combining (CTLCOMB) ...................................................................................................................... 4-62 Overview................................................................................................................................................................. 4-62 Critical Behaviors ................................................................................................................................................... 4-62 Detailed Description ............................................................................................................................................... 4-63 Modulating Control CTLCOMB Application ................................................................................................. 4-63 Configuration .................................................................................................................................................. 4-63 Tuning Procedure.................................................................................................................................................... 4-63 Determine PID Control Action (Direction) ..................................................................................................... 4-63 Determine Relative Effects ............................................................................................................................. 4-63 Tune Dominant PID with Non-dominant frozen ............................................................................................. 4-64 Tune Non-dominant PID (with Dominant Active) .......................................................................................... 4-64 Attributes................................................................................................................................................................. 4-64 Control Math Set (CTLADD, CTLMUL, CTL1DIV2, CTL2DIV1) ................................................................... 4-67 Overview................................................................................................................................................................. 4-67 Critical Behaviors ................................................................................................................................................... 4-67 Detailed Description ............................................................................................................................................... 4-68 Attributes................................................................................................................................................................. 4-68 Control Selector (CTLSEL) ..................................................................................................................................... 4-70 Overview................................................................................................................................................................. 4-70 Critical Behaviors ................................................................................................................................................... 4-70 Attributes................................................................................................................................................................. 4-70 Function Generator (FUNCGEN) ........................................................................................................................... 4-73 Overview................................................................................................................................................................. 4-73 Critical Behaviors ................................................................................................................................................... 4-73 Attributes................................................................................................................................................................. 4-73 Complex Variable Test Atomic block (CMPT) ...................................................................................................... 4-76 Overview................................................................................................................................................................. 4-76 Critical Behaviors ................................................................................................................................................... 4-76 Detailed Description ............................................................................................................................................... 4-76 Output Quality................................................................................................................................................. 4-76 Attributes................................................................................................................................................................. 4-77

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-4 Flip Flop (SETDOM, RESETDOM, NODOM)........................................................................................................ 5-5 Overview................................................................................................................................................................... 5-5 Detailed Description ................................................................................................................................................. 5-5

Metso Automation MAX Controls 277589

Contents
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-8 Overview....................................................................................................................................................................5-8 Critical Behaviors ......................................................................................................................................................5-8 Attributes ...................................................................................................................................................................5-9 Time Function (TON, TOFF, TPULSE) ................................................................................................................. 5-10 Overview..................................................................................................................................................................5-10 Detailed Description ................................................................................................................................................5-10 Using the TON Atomic block ..........................................................................................................................5-10 Using the TOFF Atomic block.........................................................................................................................5-10 Using the TPULSE Atomic block....................................................................................................................5-10 Attributes .................................................................................................................................................................5-11 BitPack....................................................................................................................................................................... 5-12 Overview..................................................................................................................................................................5-12 Attributes .................................................................................................................................................................5-12 BitUnPack.................................................................................................................................................................. 5-13 Overview..................................................................................................................................................................5-13 Attributes .................................................................................................................................................................5-13 Timer.......................................................................................................................................................................... 5-14 Description...........................................................................................................................................................5-14 Counter ...................................................................................................................................................................... 5-16 Block Diagram.....................................................................................................................................................5-16 Description...............................................................................................................................................................5-16 Clock .......................................................................................................................................................................... 5-18 Description...............................................................................................................................................................5-18

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


Group ........................................................................................................................................................................... 6-1 ALMREP ...........................................................................................................................................................6-1 GRP....................................................................................................................................................................6-1 USROBJ ............................................................................................................................................................6-1 Group(GRP) ................................................................................................................................................................ 6-1 Overview....................................................................................................................................................................6-1 Copying and Pasting Groups..............................................................................................................................6-2 Adding a Group..................................................................................................................................................6-2 Group Attributes ................................................................................................................................................6-2

ix

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


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-6 Critical Behaviors ............................................................................................................................................. 6-6 Configuring Alarm Behavior............................................................................................................................. 6-6 Logging Behavior.............................................................................................................................................. 6-6 Creating a Snooze Alarm .................................................................................................................................. 6-7 Reducing Nuisance Alarms ............................................................................................................................... 6-7

CHAPTER 7.......................................................................................................................7-1
Tagable (AlmTag) ....................................................................................................................................................... 7-1 Analog Tagger (ATAG) .............................................................................................................................................. 7-2 Overview................................................................................................................................................................... 7-2 TagName Reporting .......................................................................................................................................... 7-2 Configuring Alarm Behavior............................................................................................................................. 7-3 Logging Behavior.............................................................................................................................................. 7-4 Delta Alarming.................................................................................................................................................. 7-5 Creating a Snooze Alarm .................................................................................................................................. 7-5 Reducing Nuisance Alarms ............................................................................................................................... 7-5 Using Mode to Force an Output Value ............................................................................................................. 7-5 Creating Custom Alarm Text ............................................................................................................................ 7-5 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

CHAPTER 8.......................................................................................................................8-1
State Logic (StLog) ..................................................................................................................................................... 8-1 DEVLOG .......................................................................................................................................................... 8-1 SEQMSTR ........................................................................................................................................................ 8-1 SEQSTEP.......................................................................................................................................................... 8-1 Device Logic (DEVLOG)............................................................................................................................................ 8-1 Overview................................................................................................................................................................... 8-1 Critical Behaviors ..................................................................................................................................................... 8-1 Command..................................................................................................................................................................... 8-5 Overview................................................................................................................................................................... 8-5 Sequence Master (SEQMSTR) .................................................................................................................................. 8-7 Overview................................................................................................................................................................... 8-7

Metso Automation MAX Controls 277589

Contents
Critical Behaviors ......................................................................................................................................................8-8 Sequence Step (SEQSTEP) ...................................................................................................................................... 8-11 Overview..................................................................................................................................................................8-11 Critical Behaviors ....................................................................................................................................................8-11 First Out (FSTOUT) ................................................................................................................................................. 8-14 Overview..................................................................................................................................................................8-14 FirstOut Stores the Five Most Recent Trips and Trip Times ...........................................................................8-14 Viewing Trip Status .........................................................................................................................................8-15 Using Reset Options.........................................................................................................................................8-15 Quality Force (QUALFRCE)................................................................................................................................... 8-18 Overview..................................................................................................................................................................8-18

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 Attributes ...................................................................................................................................................................9-6 Level Compensation (LVLCOMP)............................................................................................................................ 9-7 Overview....................................................................................................................................................................9-7 Critical Behaviors ......................................................................................................................................................9-7 Detailed Description ..................................................................................................................................................9-8 Parameter Application Notes .............................................................................................................................9-9 Level Compensation Equation Derivation .......................................................................................................9-10 Level Measurement Compensation Results......................................................................................................9-11 Attributes .................................................................................................................................................................9-12 Flow Compensation (FLOWCOMP) ...................................................................................................................... 9-14 Overview..................................................................................................................................................................9-14 Critical Behaviors ....................................................................................................................................................9-14 Detailed Description ................................................................................................................................................9-14 Attributes .................................................................................................................................................................9-15

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


maxDPU4E Standard Function Blocks ................................................................................................................... 10-1 Proportional, Integral, and Derivative (PID) Control........................................................................................... 10-1

xi

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


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 Attributes............................................................................................................................................................... 10-26

Metso Automation MAX Controls 277589

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 DPU4E-based systems. To configure atomic blocks and buffers, use maxTOOLS4E 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. 277590 277597 277605 277606 Title Model PDP Series 200 DPU4E Installation, Preparation, and Adjustment maxTOOLS4E User's Guide DPU4E Auxiliary Functions, a User's Guide Graphical Configurator User's Guide

Metso Automation MAX Controls 277589

Chapter 1
Introduction
Overview
Understanding Atomic Blocks and Buffers
This reference guide provides descriptions for more than 60 atomic blocks and buffers available with DPU4E 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, maxTOOLS4E and the Graphical Configurator. maxTOOLS4E 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 MAX Controls 277589

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


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

Use maxTOOLS4E 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 277595, maxTOOLS4E 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 MAX Controls 277589

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 maxTOOLS4E 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 DPU4E 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 MAX Controls 277589

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 DIB DOB OD PLSIO (Counter/Timer) 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 MAX Controls 277589

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.

Metso Automation MAX Controls 277589

1-5

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


Discrete Logic
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:

1-6

Metso Automation MAX Controls 277589

Introduction
General Inputs All atomic blocks have required foundation attributes. 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 (or point in manual) 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.

Parameters

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 maxTOOLS4E, Graphical Configurator, and Point Browser.

Metso Automation MAX Controls 277589

1-7

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


Table 1-2. Attribute Categories and Characteristics
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 No Is Referenced Normally is not Normally is Optimized Subscription Yes Yes Read Yes Yes Write Yes No Seen in Point Browser Yes Yes Shown in Graphical Configurator* Yes Yes

Normally is not Normally is not

Normally Not Normally Not

Yes Yes

Yes No

Yes Yes

Normally Is Not Normally Is Not

No

No

No

Yes

Normally Is Not

No

*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

1-8

Metso Automation MAX Controls 277589

Introduction
Reference Subscriptions
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 277597, maxTOOLS4E Users Guide, Using Referencing to Interconnect Controls, for a more extensive discussion of reference syntax. Character Character Description Slash Number Sign Single 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

..

Double Dot

Caret

Metso Automation MAX Controls 277589

1-9

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


following the next slash (/) Follow Follow the reference of the attribute 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.

1-10

Metso Automation MAX Controls 277589

Introduction
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. 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.

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

Metso Automation MAX Controls 277589

1-11

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


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

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 maxTOOLS4E 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.

1-12

Metso Automation MAX Controls 277589

Introduction
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 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.

Metso Automation MAX Controls 277589

1-13

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


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

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

1-14

Metso Automation MAX Controls 277589

Introduction
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

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)

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.

Metso Automation MAX Controls 277589

1-15

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


Use buffers to create a simulation database that runs on virtual DPUs. A virtual DPUs runs as an application in a Windows NT 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.

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 maxTOOLS4E, it is best to define group hierarchies before defining individual atomic blocks. When you open maxTOOLS4E and define a configuration name, you may begin to establish desired group hierarchies under the DPU tab. The left pane of maxTOOLS4E shows a configuration tree structure similar to Windows NT 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 277595, maxTOOLS4E 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

1-16

Metso Automation MAX Controls 277589

Introduction
renamed Pulverizer#2, etc. See Publication 277595, maxTOOLS4E 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 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 maxTOOLS4E 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 rebuilt (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.

Metso Automation MAX Controls 277589

1-17

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


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

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. maxTOOLS4E 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.

1-18

Metso Automation MAX Controls 277589

Introduction
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.

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

Metso Automation MAX Controls 277589

1-19

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


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.

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 Pri 1 Pri 50 Pri 60 Pri 1 Pri 70 Pri 20 Pri 41 Pri 40

1-20

Metso Automation MAX Controls 277589

Introduction
Atomic Function Block 1 Group A Root Atomic Function Block 2 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 DPU4E (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. To access this utility from the Windows NT desktop, click the Start button on the Task Bar, point to Programs, maxDNA, DPU4E Utilities and click DPUAlarmList. 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 DPU4E list field to view a list of available DPUs created from the DPUlist.ini file.

Metso Automation MAX Controls 277589

1-21

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


2. After selecting a DPU, click the Get Atom 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 atom to be executed at the top and the last executed atom at the bottom. The type of atom, 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 277595, maxTOOLS4E User's Guide, Chapter 3, "Creating Custom Controls Using Custom blocks." 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 DPU4E) 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 maxTOOLS4E tree directory pane where you may click on it, similar to a group node, to reveal its contents.

1-22

Metso Automation MAX Controls 277589

Introduction

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, 277605, DPU4E 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


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 atom 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 Atom generates a DPU Battery Problem alarm. The point name for the DPU Battery Alarm Atom consists of DPU station name (or last 2 digits of its network address) followed by BAT and _s or _p (for secondary or primary).
Metso Automation MAX Controls 277589

1-23

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


The following is a Point Browser display of a DPU Battery Alarm Atom while the battery is bad.

DPU Fan Related Object


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

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

1-24

Metso Automation MAX Controls 277589

Introduction

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.

Security Related Objects


The security related objects, _Security_Custom and _Security_MCS, contain the settings for a downloaded security schemes database. See Publication 277609, 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, 277605, DPU4E Auxiliary Functions Users Guide, Chapter 5, for a full of discussion of time synchronization.

Metso Automation MAX Controls 277589

1-25

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

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. 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 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. 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 Default for Classification Normal

Fail One

1-26

Metso Automation MAX Controls 277589

Introduction
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 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 DPU4E 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 DPU4E 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

Metso Automation MAX Controls 277589

1-27

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


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 SCHEDULE Service SvcCntBrowse SvcCntInputs SvcCntOutputs SvcHandle SvcParent SvcPassword SvcPntTickCnt SvcPriority SvcRelIdx SvcSecLevel SvcStatus SvcTimeBase SvcType SvcUpdateTime 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 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 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 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 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 Method Status General General General General General General General Standard Standard General General Standard General General

1-28

Metso Automation MAX Controls 277589

Introduction
SvcVersion SvcX SvcY Type UNSCHEDULE VAR_FLOAT VAR_LONG VAR_LONG VAR_LONG VAR_EMPTY Service Version Service X loc on Page Service Y loc on Page Attribute Type UnSchedule A Service General General General Subattr Method

Table 1-5. Common Abbreviations Used in Attribute Tables Abbreviations Definition Ack Acknowledge Actv Active Alm Alarm Alt Alternate Auto Automatic Bufr Buffer Cls Close Clsd Closed Cmd Command Cnt Count Ctl Control Dec Decrease Dev Deviation En Enable Fdbk Feedback Fwd Forward In Generic input Inc Increase Incr Increment Inh Inhibit, Block Inv Invert attribute value (digital only) Lim Limit Man Manual Max Maximum Min Minimum Msg Message Op Operator command Opn Open Out Generic output Pct Percent Pmt Permit Press Pressure Qual Quality Rls Release Rmt Remote Rng Range Rqd Required Rst Reset Sel Select Sev Severity SP Set Point Svc Service Temp Temperature Tgt Target Tim Time Txt Text

Metso Automation MAX Controls 277589

1-29

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 MAX Controls 277589

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 Out

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 MAX Controls 277589

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 MAX Controls 277589

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. WORD LOGIC: |, &, ~ BOOLEAN LOGIC: NOT, AND, OR, >, <, >=, <=, =, ==, <>

2-4

Metso Automation MAX Controls 277589

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 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. 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. Power function. A^B returns A raised to the power B.

Metso Automation MAX Controls 277589

2-5

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

% IF(b1,vt,vf)

WORD LOGIC

| & ~

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

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

The operator precedence has been set as follows: Binary Addition: |,OR Binary Multiply: &,AND Compares: >,<,>=,<=,<>,=,==

2-6

Metso Automation MAX Controls 277589

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 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 MAX Controls 277589

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 MAX Controls 277589

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 MAX Controls 277589

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.

2-10

Metso Automation MAX Controls 277589

Function block Category: Analog Math Functions (AnlFunc)


Output Quality
The Output Quality is set by logic according to the selection function: 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 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 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

Metso Automation MAX Controls 277589

2-11

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


In4 In5 In6 In7 In8 In9 ManSelect MaxInputs SelAuto Float Float Float Float Float Float Integer Integer Boolean Parameters Name SelStrat TransSlew Type Integer Float Description Automatic selection strategy Rate of transition Input 4 Input 5 Input 6 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 MAX Controls 277589

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: Continue Reset (next scan, so detection output true one scan) Clamp Logic inputs and operator command to control integration: Reset Stop Start Input Quality test with optional actions when Quality worse than limit Reset (default)

Metso Automation MAX Controls 277589

2-13

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


Continue with last good input Continue (no action)

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. 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) 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) reset and time of (last) reset is retained for indication/recording. Reset when maximum detected could be configured to drive a higher range of accumulation by counting maximum rollovers.

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.

2-14

Metso Automation MAX Controls 277589

Function block Category: Analog Math Functions (AnlFunc)


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. 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 Type Text Text Text Text Float Text Description Alternate Description In Engineering Units Alt. Text Alternate Short Description Description Actn On Soft DPU Rset(1 reset) In Engineering Units Text 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

Metso Automation MAX Controls 277589

2-15

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


GName HiLimit K MaxCutOff MaxLimit MinQual QualActn ShDesc StartOffset TagName TimeBase ZeroCutOff Text Float Float Float Float Float Float Text Float Text Float Float Commands Name OpCmd Type Float Description Operator Start, Stop, Or Reset 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

2-16

Metso Automation MAX Controls 277589

Function block Category: Analog Math Functions (AnlFunc)

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

Metso Automation MAX Controls 277589

2-17

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

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) Inputs Connected PropIn PropIn PropGain 1.0 [1] 1.0 [1] RateGain 0.0 0.0 Lag1Time Adjust Adjust Lag2Time 0.0 Adjust = Lag1Time [3] 0.0 [4] TransSlew 0.0 [2] 0.0 [2]

0.0 Adjust [5] Adjust [5] 0.0 [2] RateIn Step Lag [6] PropIn 1.0 [1] Adjust < 1.0 Adjust 0.0 [4] 0.0 [2] RateIn Prop + Rate PropIn Adjust Adjust > 1.0 Adjust [5] 0.0 [4] 0.0 [2] RateIn [5] Inverse Rate PropIn Adjust Adjust < 0.0 Adjust 0.0 [4] Adjust RateIn [1] Can adjust for through value gain. [2] May apply for reduced bump on transfer from freeze to normal operation [3] Could be different from Lag1Time, but equal lag times provide most apparent deadtime in response. [4] Can adjust for additional lag/damping.

2-18

Metso Automation MAX Controls 277589

Function block Category: Analog Math Functions (AnlFunc)


[5] RateGain times Lag1Time establishes the RateTime. [6] Both inputs connected to the same variable.

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 Commands N/A 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

Metso Automation MAX Controls 277589

2-19

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:
q q q q q q q q

Analog Output Buffer AOB Digital Input Buffer DIB Digital Output Buffer DOB PLSIO (Counter/Timer) 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 15 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 DPU4E 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: maxPAC Analog Input and Thermocouple Input cards contain 16 channels instead of 15.

Metso Automation MAX Controls 277589

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


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 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 maxPAC Attribute Value 0 1 2 0 1 0 1 0 1

Buffer AIB

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

AOB TC RTD AIBS

# 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 MAX Controls 277589

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, maxTOOLS4E 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.

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 AltShDesc Enter a buffer address. Enter an alternate short description in another language if necessary. Enter an alternate long description in another language if necessary.

AltDesc

Metso Automation MAX Controls 277589

3-3

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


Desc 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.

Gname

Mode

RedundantIO

ShDesc

Tagname

Attribute Alm_Ack SHCnt01 SHCnt02 SHCnt03 SHCnt04 SHCnt05 SHCnt06 SHCnt07 SHCnt08 SHCnt09 SHCnt10 SHCnt11 SHCnt12 SHCnt13 SHCnt14 SHCnt15 SHCnt16 SLCnt01 SLCnt02 SLCnt03 SLCnt04 SLCnt05 SLCnt06 SLCnt07 SLCnt08 SLCnt09 SLCnt10

Category Command Command Command Command Command Command 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 Calibrate Low Range Counts Calibrate Low 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 Integer Integer Integer Integer Integer Integer

3-4

Metso Automation MAX Controls 277589

Function block Category: Buffers


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 Desc FailoverTyp GName HiCnt01 HiCnt02 HiCnt03 HiCnt04 HiCnt05 HiCnt06 HiCnt07 HiCnt08 HiCnt09 HiCnt10 HiCnt11 HiCnt12 HiCnt13 HiCnt14 HiCnt15 HiCnt16 LoCnt01 LoCnt02 LoCnt03 LoCnt04 LoCnt05 LoCnt06 LoCnt07 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 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 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 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 Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts Low Range Counts 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 String Float String 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 MAX Controls 277589

3-5

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


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 Ty15 Ty16 UserRef Acked AlarmText 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 Status Status 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 Channel 15 Span Type Channel 16 Span Type User Obj supplying Alarm Text Acknowledged state of alarm Alarm description 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 Integer Integer Integer Float String

3-6

Metso Automation MAX Controls 277589

Function block Category: Buffers


AlmTime AltAlarmText CardType Checksum Date RawCnt01 RawCnt02 RawCnt03 RawCnt04 RawCnt05 RawCnt06 RawCnt07 RawCnt08 RawCnt09 RawCnt10 RawCnt11 RawCnt12 RawCnt13 RawCnt14 RawCnt15 RawCnt16 Status Tmode TypeRead Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status 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 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 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

Metso Automation MAX Controls 277589

3-7

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


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 MAX Controls 277589

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, maxTOOLS4E 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 MAX Controls 277589

3-9

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


Gname 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.

Mode

RedundantIO

ShDesc

Tagname

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

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

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

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

3-10

Metso Automation MAX Controls 277589

Function block Category: Buffers


AI06 AI07 AI08 FailoverTyp maxPAC UserRef Mode SimST Addr Cabinet Rack Card 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 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 Contains Value of AI06 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 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 Float Integer Integer Boolean Boolean 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 Float Float Float Float Float Float Float Float String String Boolean String String String

Metso Automation MAX Controls 277589

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

3-12

Metso Automation MAX Controls 277589

Function block Category: Buffers


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

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

Metso Automation MAX Controls 277589

3-13

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 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.

Mode

RedundantIO

3-14

Metso Automation MAX Controls 277589

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.

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 Desc FailoverTyp GName

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 Description Noncritical = 0 Normal = 1 Critical = 2 Generic Name

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 String Float String

Metso Automation MAX Controls 277589

3-15

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


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 TypeRead 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 Status 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 Card type read data 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 Integer

3-16

Metso Automation MAX Controls 277589

Function block Category: Buffers


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 MAX Controls 277589

3-17

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 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.

Mode

RedundantIO

ShDesc

3-18

Metso Automation MAX Controls 277589

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.

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 TagName GName SimStatus SimDO01 SimDO02 SimDO03 SimDO04 SimDO05 SimDO06 SimDO07 SimDO08 SimDO09 SimDO10 SimDO11 SimDO12 SimDO13 SimDO14

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 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 Simulated Value of output 14

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 String String Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean

Metso Automation MAX Controls 277589

3-19

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


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 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 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 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 1 On Scan

3-20

Metso Automation MAX Controls 277589

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 MAX Controls 277589

3-21

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:
q q q q q q q

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.

3-22

Metso Automation MAX Controls 277589

Function block Category: Buffers


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 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.

Mode

RedundantIO

ShDesc Tagname

Attribute Alm_Ack SloCntRa01 SLoCntRa02 SLoCntRa03 SLoCntRa04 SLoCntRa05 SLoCntRa06 SLoCntRa07 SLoCntRa08 SLoCntRb01 SLoCntRb02 SLoCntRb03

Category 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

Data Type Boolean Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer

Metso Automation MAX Controls 277589

3-23

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


SLoCntRb04 SLoCntRb05 SLoCntRb06 SLoCntRb07 SLoCntRb08 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 Command Command Command Command 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 Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input Input 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 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 Integer Integer Integer Integer Integer 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

3-24

Metso Automation MAX Controls 277589

Function block Category: Buffers


WriteRb8Bufr Ra1 Ra2 Ra3 Ra4 Ra5 Ra6 Ra7 Ra8 Rb1 Rb2 Rb3 Rb4 Rb5 Rb6 Rb7 Rb8 UserRef FailoverTyp Mode SimST Addr Cabinet Rack Card TagName GName 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 Input 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 Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter Parameter 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 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 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 Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Integer Float Boolean Boolean Integer String Integer Integer String 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

Metso Automation MAX Controls 277589

3-25

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


HiCntRb02 HiCntRb03 HiCntRb04 HiCntRb05 HiCntRb06 HiCntRb07 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 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 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 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 Integer Integer Integer Integer Integer 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

3-26

Metso Automation MAX Controls 277589

Function block Category: Buffers

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 MAX Controls 277589

3-27

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, maxTOOLS4E 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.

3-28

Metso Automation MAX Controls 277589

Function block Category: Buffers


In addition, the buffer includes the following other parameters: Addr Alt ShDesc AltDesc Desc Gname 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.

Mode

RedundantIO

ShDesc Tagname

Attribute Alm_Ack AISLCnt01 AISLCnt02 AISLCnt03 AISLCnt04 AISHCnt01 AISHCnt02 AISHCnt03 AISHCnt04 Move01 Move02 Move03 Move04 MoveTest01 MoveTest02 MoveTest03 MoveTest04 AI01 AI02 AI03 AI04 UserRef

Category Command Command Command Command Command Command Command Command Command Input Input Input Input Input Input Input Input Output Output Output Output 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

Data Type Boolean Integer Integer Integer Integer Integer Integer Integer Integer Float Float Float Float Integer Integer Integer Integer Float Float Float Float Integer

Metso Automation MAX Controls 277589

3-29

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


FailoverTyp Mode SimST 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 Status TypeRead Out01 Out02 Out03 Out04 AIRawCnt01 AIRawCnt02 AIRawCnt03 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 Status Status Status Status Status Status Status Status Status Status Status Status Status 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 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 Board Status Card type read data Pulse time 1 Pulse time 2 Pulse time 3 Pulse time 4 Raw Counts Raw Counts Raw Counts Float Boolean Boolean 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 Integer Integer Rel Time Rel Time Rel Time Rel Time Integer Integer Integer

3-30

Metso Automation MAX Controls 277589

Function block Category: Buffers


AIRawCnt04 FreezeOut01 FreezeOut02 FreezeOut03 FreezeOut04 Out01Compare Out02Compare Out03Compare Out04Compare Tmode Status Status Status Status Status Status Status Status Status Status Raw Counts Freeze Out01 if TRUE 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 Integer Boolean Boolean Boolean Boolean Rel Time Rel Time Rel Time Rel Time String

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:

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

Metso Automation MAX Controls 277589

3-31

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


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

3-32

Metso Automation MAX Controls 277589

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.

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 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.

Mode

RedundantIO

Metso Automation MAX Controls 277589

3-33

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


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.

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 AltDesc AltShDesc RedundantIO

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 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 Alternate Description Alternate Short Description Using Redundant I/O if True

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 String String Boolean

3-34

Metso Automation MAX Controls 277589

Function block Category: Buffers


AlarmText AltAlarmText AlmTime Acked 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 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 Alarm description Alt Alarm description Alarm occurrence time Acknowledged state of alarm 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 Time Float 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 SigStatusXX: 0 Signal OKay 1 Singnal Over Range

Metso Automation MAX Controls 277589

3-35

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


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 60001 Error on Bus Address 60002 Error on DI Bus Address 60004 Error on Data Low Byte

3-36

Metso Automation MAX Controls 277589

Function block Category: Buffers


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 MAX Controls 277589

3-37

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 DPU4Es 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 DPU4E 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 DPU4E. If more than two were configured, then the others would not get access to the serial ports More details of the Serial Buffers attributes:

Hidden
Name OutStr Type PCHAR 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.

3-38

Metso Automation MAX Controls 277589

Function block Category: Buffers


InStr PCHAR 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. 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. 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

Output
Name PortError Type Float

Status
Name BytesIn Type Long

BytesOut

Long

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

TxError

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 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.

Metso Automation MAX Controls 277589

3-39

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

Parameters
Name PortName Type Integer Description/Application Port, SER1 or SER2 It is a numeric attribute and valid entries are: 1 SER1 port for real DPU4E 2 SER2 port for real DPU4E It refers to workstations serial port COM1 & COM2 in virtual DPU4E. 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 2 CTS/RTS Alternate Description Alternate Short Description Description Generic Name

BaudRate

Integer

ByteSize

Integer

Parity

Integer

StopBits

Integer

FlowCtrl

Integer

AltDesc AltShDesc Desc Gname

String String String String

3-40

Metso Automation MAX Controls 277589

Function block Category: Buffers


ShDesc TagName LoopBack String String Boolean 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

1. Connect (wire from) the PLC to the DPU4E Serial Port 1, a modem may be required. 2. Use maxTOOLS4E 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).

Metso Automation MAX Controls 277589

3-41

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


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: <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.

a) b) c) d) e)

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 DataType = p->GetValueType() & ~SBP_QUALITY_TYPE_MASK; switch (DataType) // process via type { case VAR_EMPTY: myvalue = "Value is: (empty)"; nrBytes = 0; break;

3-42

Metso Automation MAX Controls 277589

Function block Category: Buffers


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 DPU4E 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 DPU4E Serial buffer atom, in either a virtual or a real DPU4E. the program subscribes to a service (e.g., the InpStr attribute of a Serial buffer) and 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.
Metso Automation MAX Controls 277589

3-43

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


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.

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.

3-44

Metso Automation MAX Controls 277589

Function block Category: Buffers


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 DPU4E. The information returned from the DPUs Serial Buffer included the following: PUBYTE is: This is a Test Message for Serial DPU4E. 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 DPU4E.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 MAX Controls 277589

3-45

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

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.

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 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

3-46

Metso Automation MAX Controls 277589

Function block Category: Buffers


hierarchy. Mode 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.
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 Output Output Output Parameter 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 TC Input 14 TC Input 15 TC Input 16 User Obj supplying Alarm Text 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 Float Float Float Integer

RedundantIO

ShDesc Tagname

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 In14 In15 In16 UserRef

Metso Automation MAX Controls 277589

3-47

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


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 RmtCJ08 RmtCJ09 RmtCJ10 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 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 TC08 Do Rmt Cold Junction Calc TC09 Do Rmt Cold Junction Calc TC10 Do Rmt Cold Junction Calc 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 Boolean Boolean Boolean

3-48

Metso Automation MAX Controls 277589

Function block Category: Buffers


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 CardType Checksum Date TypeRead Status SigStatus01 SigStatus02 SigStatus03 SigStatus04 SigStatus05 SigStatus06 SigStatus07 SigStatus08 SigStatus09 SigStatus10 SigStatus11 SigStatus12 SigStatus13 SigStatus14 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 Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status Status 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 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 TC 12 Status TC 13 Status TC 14 Status 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 Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer Integer

Metso Automation MAX Controls 277589

3-49

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


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 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 SimStatus: 0 Simulated Good Card Status

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

3-50

Metso Automation MAX Controls 277589

Function block Category: Buffers


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 80000 Next DI Address Error 90000 Burst AI Address Error

Metso Automation MAX Controls 277589

3-51

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


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

3-52

Metso Automation MAX Controls 277589

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 Pulse Adjusting Type Output PATOUT Participation Special Test

AUTOMAN LIMITER PID FEEDFWD

PARTMEM PARTMSTR CTLCOMP

CTLSEL CTLADD CTLMUL CTLDIV2 CTLDIV1 FUNCGEN

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 MAX Controls 277589

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


Output Control
(AUTOMAN + LIMITER)

Input
InCtl from AI buffer

ATAG Outputs
OutCtl Out OutPct

PID Inputs
PVInCtl

Outputs
OutCtl AuctRef PVLast PVRate

Inputs
InCtl

Outputs
OutCtl Out OutPct

Input
InCtl

ATAG Outputs
Out to AO buffer

FrcbkIn

FrcbkOut

SP Control
(AUTOMAN + LIMITER)

PVRateLast SPLast SPInCtl SPRate SPRateLast PropATMult Deviation

Inputs
InCtl

Outputs
OutCtl Out OutPct

FrcbkIn

FrcbkOut

RateATMult DeviationPct ResetATMult Freeze Init FrcbkIn Out OutPct SPFrcbkOut

Setting up Output Control


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

LIMITER Inputs Outputs


InCtl IncBlock DecBlock IncOvrd DecOvrd Freeze IncLimit DecLimit IncTrvlLimit DecTrvlLimit OutCtl 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.

4-2

Metso Automation MAX Controls 277589

Function block Category: Modulating Control Logic


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

LIMITER Inputs Outputs


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

Setpoint

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 MAX Controls 277589 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 MAX Controls 277589

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

Metso Automation MAX Controls 277589

4-5

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


is 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
Metso Automation MAX Controls 277589

4-6

Function block Category: Modulating Control Logic


maintained in a fixed relationship to each other by the participation equalizing control action. Changes in 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

Metso Automation MAX Controls 277589

4-7

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


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 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

4-8

Metso Automation MAX Controls 277589

Function block Category: Modulating Control Logic


Range Limit, dividing by difference between Range Limit values, then multiplying by 100.0. 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:

Metso Automation MAX Controls 277589

4-9

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


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). 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 MAX Controls 277589

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 MAX Controls 277589

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 when value forceback, 2 = tracks automatic operation 3 = tracks both 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.

4-12

Metso Automation MAX Controls 277589

Function block Category: Modulating Control Logic


Application for Operator Bias (or other setter value) entry requires 0 (no forceback, no automatic operation). 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.

Metso Automation MAX Controls 277589

4-13

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


Value Outputs
There are three (primary) outputs from the AutoMan atomic block: OutCtl, Target (and TargetPct), Out (and OutPct). 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 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.

AutoReady AutoActv AutoLoss

Boolean Boolean Boolean

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 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-14

Metso Automation MAX Controls 277589

Function block Category: Modulating Control Logic


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

Input Name AutoSusp FrcbkIn InCtl LkOutPrmt SetAuto SetMan Type Boolean Complex Complex Boolean Boolean Boolean Parameter Name AltAutoTxt AltDesc AltManTxt AltShDesc AltTUOM AutoRqdQual Desc Type String String String String String Integer String Description Alternate Auto Text Alternate description Alternate manual text Alternate short description Alternate units of measure text In quality level valid for calc Description 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 MAX Controls 277589

4-15

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


GName HiRng IncrmntMan InitTarget LoRng OpInAuto RngClamp ShDesc TagName TargetReset Track TUOM 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:^ 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) Type Boolean Boolean Float Float Description Operator Lockout request Operator Mode request Operator target value Operator target increment 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

4-16

Metso Automation MAX Controls 277589

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.

Metso Automation MAX Controls 277589

4-17

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

Critical Behaviors
Sets Change Demand for Override Commands (per least of Rate Limit or Override Rate Limit) 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-18

Metso Automation MAX Controls 277589

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

OUTPUT BLOCK AT VALUE LIMITS

MaxMinEnable MaxLimit MinLimit IncBlock or FrcbkInSTAT = IncBlock or FrcbkInSTAT = IncVelLimit DecBlock or FrcbkInSTAT = DecBlock or FrcbkInSTAT = DecVelLimit OutputReset & FrcbkInSTAT = block

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

T
OutCtl (Incremental or Value)

OutType

Output type (increment or value) determined by option configuration

FrcbkIn

Metso Automation MAX Controls 277589

4-19

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.
MaxLimit Float Maximum (E.U.) when enabled (normally for auto only).

4-20

Metso Automation MAX Controls 277589

Function block Category: Modulating Control Logic


MinLimit MaxMinEnable MaxMinClamp Float Boolean Boolean 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 FrcbkInRLO FrcbkInRST FrcbkInSTAT FrcbkInTYP FrcbkInVAL FrcbkOutAREF FrcbkOutRHI FrcbkOutRLO FrcbkOutRST FrcbkOutSTAT FrcbkOutTYP FrcbkOutVAL InCtlAREF InCtlRHI InCtlRLO InCtlRST Type Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float 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 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 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 MAX Controls 277589

4-21

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


InCtlSTAT InCtlTYP InCtlVAL OutAccLast OutCtlAREF OutCtlRHI OutCtlRLO OutCtlRST OutCtlSTAT OutCtlTYP OutCtlVAL UnOutAcc 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 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 IncRateLimit IncTrvlLimitSP MaxLimit MaxMinClamp MinLimit OutputReset OutType OvrdRate PosDeadband PosPropGain PosResetGain PosResetPrd PosTimePrd RngClamp Track TrvlLimitHyst Type Float Float Float Float Float Boolean Float Boolean Integer Float Float Float Float RelTime RelTime Integer Integer Float Description Output decr rate of change limit Decrease travel limit set point 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 Clamp output to range Track = 1, Output tracks frcbk Travel limit hysteresis

4-22

Metso Automation MAX Controls 277589

Function block Category: Modulating Control Logic

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 MAX Controls 277589

4-23

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-24

Metso Automation MAX Controls 277589

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.)

Detailed Description
Modulating Control PID Application

Metso Automation MAX Controls 277589

4-25

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


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-26

Metso Automation MAX Controls 277589

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 MAX Controls 277589

4-27

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 (all filtering bands are in engineering units) for proportional action:
PVFilterBand SPFilterBand ErrorSqFactor Float Float Float Change detection deadband * Change detection deadband * 0.0 1.0 Portion of error applied to modify proportional gain (providing control action proportioned to the square of the error).

for rate action:


RateFilterBand Float Rate Calculation change detection band *

for reset action:


RstFilterBand RstFilterGain Float Float Deviation Band of reduced reset action Multiplicative modifier of deviation for filter band (Default 0.0)

* 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. Cascade Windup Limit (values in engineering units)
SPAWUHys SPDecWULmt Float Float Hysteresis for Setpoint reset for Antiwindup Low SP tolerance when forceback block inhibits a SP decrease. (negative number)

4-28

Metso Automation MAX Controls 277589

Function block Category: Modulating Control Logic


SPIncWULmt Float 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 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 Tuning PropGain PropSPMult RateTime RateGain Windup Limit SPIncWULmt 0 SPDecWULmt 0 SPAWUHys 0

0 0 0 0

0.2 1 0 10

Metso Automation MAX Controls 277589

4-29

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


RstFilterGain ErrorSqFactor 0 0 RateSPMult Reset 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.) 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

4-30

Metso Automation MAX Controls 277589

Function block Category: Modulating Control Logic


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 OutCtl OutPct SPFrcbkOut Type Float Float 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 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 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 Description auctioneering ref Simple output Complex Output Output percent based on range SP Forceback Complex Output

Metso Automation MAX Controls 277589

4-31

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


SPFrcbkOutVAL SPInCtlAREF SPInCtlRHI SPInCtlRLO SPInCtlRST SPInCtlSTAT SPInCtlTYP SPInCtlVAL SPLast SPRate SPRateLast Float Float Float Float Float Integer Integer Float Float Float Float Inputs 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 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

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

4-32

Metso Automation MAX Controls 277589

Function block Category: Modulating Control Logic


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

Metso Automation MAX Controls 277589

4-33

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

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.

4-34

Metso Automation MAX Controls 277589

Function block Category: Modulating Control Logic


** 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 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 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.

Metso Automation MAX Controls 277589

4-35

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

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.

4-36

Metso Automation MAX Controls 277589

Function block Category: Modulating Control Logic


Tuning
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
(All filtering bands are in engineering units) for proportional action:
PVFilterBand Float Change detection deadband *

for rate action:


RateFilterBand Float Rate Calculation change detection band *

* 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.

Attributes
Outputs Name FrcbkOut Out OutCtl OutPct Type Complex Float Complex Float Status Name FrcbkInAREF FrcbkInRHI FrcbkInRLO Type Float Float Float Description Frcbk input auctioneering ref Frcbk input high range Frcbk input low range Description Forceback Complex Output Simple output Complex Output Output percent based on range

Metso Automation MAX Controls 277589

4-37

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


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 PVInCtlRST PVInCtlSTAT PVInCtlTYP PVInCtlVAL PVLast PVRate PVRateLast 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 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 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 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 Type Boolean Description Enable adaptive tuning if true

4-38

Metso Automation MAX Controls 277589

Function block Category: Modulating Control Logic


CtlAction PropATMult PropGain PVFilterBand RateATMult RateFilterBand RateGain RateTime RateType Boolean Float Float Float Float Float Float Float Boolean 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

Metso Automation MAX Controls 277589

4-39

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

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.

4-40

Metso Automation MAX Controls 277589

Function block Category: Modulating Control Logic


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 atom 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 atom could affect the MOVE value and a MOVETEST change in a scan that is not the same as the 500-millisecond interval if the atom was assigned a faster svctimebase.

Metso Automation MAX Controls 277589

4-41

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


The feedback positioning control error is established by a comparison of the feedback to the Position Demand value or comparison of the accumulated 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.

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.

4-42

Metso Automation MAX Controls 277589

Function block Category: Modulating Control Logic


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 DecDynamRng Float Float Increase Change Amount where on-time < 100%. Positive value greater than Deadband. 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.

Metso Automation MAX Controls 277589

4-43

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

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 Movement 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 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

4-44

Metso Automation MAX Controls 277589

Function block Category: Modulating Control Logic


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). 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 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
Metso Automation MAX Controls 277589

4-45

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


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 with negative value in Move to determine the response to full on-time in the decrease direction. 5. 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.

4-46

Metso Automation MAX Controls 277589

Function block Category: Modulating Control Logic


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 Linearity parameter to 0.0. 6. If the position response is less than roughly half the position response to full on-time, set the PATOut Atomic block Linearity parameter to greater than 0.0 according to the response function out = in * ((1-x) + in* x) shown in the following graph:

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 Movement 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.

Metso Automation MAX Controls 277589

4-47

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


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 Atomic Blocks to normal operation (remove force mode) and test the PAT positioning by manual operation: 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. Increase DynamRng values to decrease position feedback response. Check linearity with manual change values less than the dynamic range values. 3. Set PATOut Atomic block PosGain to 1.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. 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.
Metso Automation MAX Controls 277589

4-48

Function block Category: Modulating Control Logic


.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 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)

Metso Automation MAX Controls 277589

4-49

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


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. 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 Type Boolean Integer Boolean Complex Float Integer Float Float Float Status Name BackLash FrcbkOutAREF FrcbkOutRHI FrcbkOutRLO FrcbkOutRST FrcbkOutSTAT FrcbkOutTYP FrcbkOutVAL InCtlAREF InCtlRHI InCtlRLO Type Float Float Float Float Float Integer Integer Float Float Float Float 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 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-50

Metso Automation MAX Controls 277589

Function block Category: Modulating Control Logic


InCtlRST InCtlSTAT InCtlTYP InCtlVAL UnOutAcc Float Integer Integer Float Float Inputs Name ClearAcc DecBlock DecLimit DecOvrd Feedback Freeze IncBlock IncLimit IncOvrd InCtl Type Boolean Boolean Boolean Boolean Float Boolean Boolean Boolean Boolean Complex Description Clear UnOutAcc Block output decrease when true 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 Input incremental reset Input forceback status Input type Input value Stores unused on-time

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 Type Float Description Value of step change for tuning

Metso Automation MAX Controls 277589

4-51

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


Enumerated Attributes: FailCode: Excessive Rate = 1 Under Range = 2 Over Range = 4 Bad Quality Feedback = 8

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-52

Metso Automation MAX Controls 277589

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 MAX Controls 277589

4-53

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-54

Metso Automation MAX Controls 277589

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 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)

EqlDeadband

Float

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

Metso Automation MAX Controls 277589

4-55

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


scan percent, biased equalizing reference value is used for equalizing action 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 Type Float Float Float Float Float Description auctioneering ref Member participating if true Member Status info (256=Clear) Weight ratio for decrease action TotEqlNdx / TotEqlCnt Description Equalizing error Complex Forceback Output Simple output Complex Output Output percent based on range

4-56

Metso Automation MAX Controls 277589

Function block Category: Modulating Control Logic


EqlRefAREF EqlRefRHI 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 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 auctioneering reference Input high range 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

Metso Automation MAX Controls 277589

4-57

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


Parameters 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-58

Metso Automation MAX Controls 277589

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
Metso Automation MAX Controls 277589

4-59

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


change. This 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-60

Metso Automation MAX Controls 277589

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 Name ClearAcc InCtl Type Boolean Complex Description Clear UnOutAcc Complex Input 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

Parameters N/A

Commands N/A

Metso Automation MAX Controls 277589

4-61

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).
Metso Automation MAX Controls 277589

4-62

Function block Category: Modulating Control Logic


Individual perturbation inputs for each output for tuning testing.

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.)

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

Metso Automation MAX Controls 277589

4-63

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


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.

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 Description Difference output of two PIDs Forceback output to A PID Forceback to B PID Output Output percent Sum output of two PIDs

4-64

Metso Automation MAX Controls 277589

Function block Category: Modulating Control Logic

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 FrcbkInDifRLO FrcbkInDifRST FrcbkInDifSTAT FrcbkInDifTYP FrcbkInDifVAL FrcbkInSumAREF FrcbkInSumRHI FrcbkInSumRLO FrcbkInSumRST FrcbkInSumSTAT FrcbkInSumTYP FrcbkInSumVAL FrcbkOutAAREF FrcbkOutARHI FrcbkOutARLO FrcbkOutARST FrcbkOutASTAT FrcbkOutATYP FrcbkOutAVAL FrcbkOutBAREF FrcbkOutBRHI FrcbkOutBRLO FrcbkOutBRST FrcbkOutBSTAT 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 Float Float Integer Integer Float Float Float Float Float Integer Integer Float Float Float Float Float Integer Integer Float Float Float Float Float Integer 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 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

Metso Automation MAX Controls 277589

4-65

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


FrcbkOutBTYP FrcbkOutBVAL SumOutCtlAREF SumOutCtlRHI SumOutCtlRLO SumOutCtlRST SumOutCtlSTAT SumOutCtlTYP SumOutCtlVAL 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 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

Command N/A

4-66

Metso Automation MAX Controls 277589

Function block Category: Modulating Control Logic

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.

Metso Automation MAX Controls 277589

4-67

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

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

4-68

Metso Automation MAX Controls 277589

Function block Category: Modulating Control Logic

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

Metso Automation MAX Controls 277589

4-69

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

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.

Attributes
Outputs Name FrcbkOut1 FrcbkOut2 In1Seld Out OutCtl OutPct Type Complex Complex Float Float Complex Float Description Forceback output for In1Ctl Forceback output for In2Ctl Input 1 is selected if true Output Complex output Output percent

4-70

Metso Automation MAX Controls 277589

Function block Category: Modulating Control Logic

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 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 Float Float Float Float Integer Integer Float Inputs Name Cutout1 Cutout2 Type Boolean Boolean Description Remove In1Ctl from selection Remove In2Ctl from selection 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 Output forceback status Output type Output value

Metso Automation MAX Controls 277589

4-71

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


FrcbkIn In1Ctl In2Ctl Complex Complex Complex Forceback Input Complex input 1 Complex input 2

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

Command N/A

4-72

Metso Automation MAX Controls 277589

Function block Category: Modulating Control Logic

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).

Attributes
Output Name FrcbkOut OutCtl Type Complex Complex Status Name FBSlope FrcbkInAREF FrcbkInRHI Type Float Float Float Description Slope of segment for FrcbkInVal Frcbk In auctioneering ref Frcbk In high range Description Complex Forceback Output Complex Output

Metso Automation MAX Controls 277589

4-73

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 Monotonic Out OutCtlAREF OutCtlRHI OutCtlRLO OutCtlRST OutCtlSTAT OutCtlTYP OutCtlVAL OutPct Slope 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 X5 X6 X7 X8 X9 Type Integer 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 Description Complex Forceback Input Complex Input 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-74

Metso Automation MAX Controls 277589

Function block Category: Modulating Control Logic


Y1 Y10 Y11 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Y9 Float Float Float Float Float Float Float Float Float Float Float 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

Commands N/A

Metso Automation MAX Controls 277589

4-75

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-76

Metso Automation MAX Controls 277589

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 Description Complex Forceback Output Complex Output

Metso Automation MAX Controls 277589

4-77

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


Status 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-78

Metso Automation MAX Controls 277589

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 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

Commands N/A

Metso Automation MAX Controls 277589

4-79

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 MAX Controls 277589

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 MAX Controls 277589

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 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.

NOT

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.

Metso Automation MAX Controls 277589

5-3

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

Attributes
Outputs 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 MAX Controls 277589

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 MAX Controls 277589

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 MAX Controls 277589

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.

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 InvIn1 InvOut Type Float Boolean Boolean Description Value to output when true Invert Input 1 if set to 1 Invert Output if set to 1 Description Input 1

Metso Automation MAX Controls 277589

5-7

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

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 Deadband Output True

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.

5-8

Metso Automation MAX Controls 277589

Function block Category: Group

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

Metso Automation MAX Controls 277589

5-9

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

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.

5-10

Metso Automation MAX Controls 277589

Function block Category: Group

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

Metso Automation MAX Controls 277589

5-11

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

BitPack

In In In In In In In In In In In In In In In In

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

BitPack

Out

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

5-12

Metso Automation MAX Controls 277589

Function block Category: Group

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)

Metso Automation MAX Controls 277589

5-13

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 atom. The StartOffset will be applied at reset.
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

5-14

Metso Automation MAX Controls 277589

Function block Category: Group


HMI Status Name SecsRemaining SecsElapsed

Security
Configuration Configuration

Type Time Time Type String String String String String String

Description/Application 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 MAX Controls 277589

5-15

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.
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

5-16

Metso Automation MAX Controls 277589

Function block Category: Group


Parameters (Normally Not Referenced) 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
StartOffset RollOverLimit ScaleInc ScaleDec TimeBase InvInInc InvInDec InvReset

Type
Float Float Float Float Integer Boolean Boolean Boolean

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 MAX Controls 277589

5-17

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.
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
TuneAdjust TuneAdjust TuneAdjust TuneAdjust TuneAdjust TuneAdjust TuneAdjust TuneAdjust

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-18

Metso Automation MAX Controls 277589

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 maxTOOLS4E and define a configuration name, you may begin to establish desired group hierarchies under the DPU tab. The left pane of maxTOOLS4E shows a configuration tree structure similar to Windows NT Explorer. Each time you add a group, the new group appears

Metso Automation MAX Controls 277589

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


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.

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

Name AnyAlarm

Type Float/ Bool

Name Hid TagName Gname AlmParent GraphicName LastEdit UsrObjRef

Type String String String String String Time String

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

Name AddSvc Attach Detach AlmPage

Type String String Empty Long

6-2

Metso Automation MAX Controls 277589

Function block Category: Group


HMI Text Parameters Description/Application Configuration sheet title Config sheet reference number Config sheet size (A or B) Config sheet revision 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

Name Title SheetRef SheetSize HIDRevision 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

Type String String String Time String String String String String String String String String String

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 MAX Controls 277589

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 maxTOOLS4E, 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 MAX Controls 277589

Function block Category: Group

Alarm Reporter (ALMREP)

AlmCode In01 AnyAlarm

. . .
In16

ALMREP
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.

Metso Automation MAX Controls 277589

6-5

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


Desc/Atldesc Text Appears In Alarm Summary Or Event Log.
The ALMREP atom 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 atom will include its text with the alarm. If Desc or AltDesc is not found, the ALMREP atom 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).

6-6

Metso Automation MAX Controls 277589

Function block Category: Group


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. 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 DPU4E 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

Metso Automation MAX Controls 277589

6-7

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

@ - specifies that the attribute name will be inserted. %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).
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 MAX Controls 277589

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: 1 = 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

Type Float String Long Long

AlmTime AlmTime01 AlmTime02 AlmTime03 AlmTime04 AlmTime05 AlmTime06 AlmTime07 AlmTime08 AlmTime09 AlmTime10 AlmTime11 AlmTime12 AlmTime13 AlmTime14 AlmTime15 AlmTime16 AltAlarmText Desc Service

Time Time Time Time Time Time Time Time Time Time Time Time Time Time Time Time Time String String String

Metso Automation MAX Controls 277589

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 MAX Controls 277589

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 atom (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 atom 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 MAX Controls 277589

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 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 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.

Metso Automation MAX Controls 277589

7-3

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


ATAG Rate Alarm DPU4E version 2.1 supports ATAG rate alarms. Attributes to be configured to enable a rate alarm: 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 nonzero). 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. 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).

7-4

Metso Automation MAX Controls 277589

Function block Category: Tagable


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 maxTOOLS4E 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

Metso Automation MAX Controls 277589

7-5

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


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.
Name AnyAlarm CondHi CondHiHi CondLo CondLoLo CondRangeHi CondRangeLo CondRate Out OutCtl OutPct Type Float/ Bool Float Float Float Float Float Float Float Float Complex Float

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

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 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

Name Type Float HiCutout Float LoCutout Complex InCtl ** Normally Referenced

Name AlmBehave

Type Float

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.

7-6

Metso Automation MAX Controls 277589

Function block Category: Tagable


AlmDelay AlmParent AlmSev AltDesc AltShDesc AltTUOM Defeat Desc EnHHLL Time String Float String String String Float String Float 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 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.

EnHiLo EnRange FilterTC ForcedVal Gname Hysteresis LimDeltaHi LimDeltaLo LimHi LimHiHi LimLo LimLoLo LimRangeHi LimRangeLo LimRate

Float Float RelTime Float String Float Float Float Float Float Float Float Float Float Float

Mode RangeClamp RateClamp RateTime ReAlarmTime ScaleEn

Long Float Float Time Time

Float/ Bool String ShDesc String TagName String TUOM Long/ UserRef String ** Normally Constants

Metso Automation MAX Controls 277589

7-7

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


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: 1 = 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 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

Name Acked ActualRate AlarmText AlmCode

Type Float Float String Float

AlmCodeLat AlmParentHandle AlmState

Float Long Long

AltAlarmText AlmTime InCtlAREF InCtlRHI InCtlRLO InCtlRST InCtlSTAT InCtlTyp InCtlVAL OutCtlAREF OutCtlRHI OutCtlRLO OutCtlRST OutCtlSTAT OutCtlTYP OutCtlVAL Tmode

String Time Float Float Float Float Long Float Float Float Float Float Float Long Long Float String

7-8

Metso Automation MAX Controls 277589

Function block Category: Tagable

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 MAX Controls 277589

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 atom (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 atom 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

7-10

Metso Automation MAX Controls 277589

Function block Category: Tagable


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 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

Metso Automation MAX Controls 277589

7-11

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


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


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 maxTOOLS4E. 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
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

Name Type Float Cutout Float In ** Normally Referenced

Name AlmBehave

Type Float

AlmDelay

Time

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

7-12

Metso Automation MAX Controls 277589

Function block Category: Tagable


AlmParent AlmSev AltDesc AltFlsText AltShDesc AltTMsg AltTrText Defeat Desc EnAlm FlsText ForcedVal Gname InvIn InvOut LatchFilter String Float String String String String String Float String Float String Float String Boolean Boolean Float Another group hierarchy that can be used for alarm filtering. Tagname of a group Alarm severity (0 to 5) 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: 1 = 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

Mode ReAlarmTime

Long Time

String ShDesc Float SOEOption String TagName String TrText Long UserRef ** Normally Constants Name Acked AlmParentHandle AlmState Type Float Long Long

AlmTime AltAlarmText SOEService TMsg Tmode

Time String Integer String String

Metso Automation MAX Controls 277589

7-13

Chapter 8
State Logic (StLog)

DEVLOG SEQMSTR SEQSTEP

Device Logic (DEVLOG)


Graphical Configurator Diagram

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.

Critical Behaviors
N/A Detailed Description

Outputs Name AlrtCode AutoActv Cmd0Out Type Integer Boolean Boolean Description Alert Conditions Auto commands permitted Zero Output Command

Metso Automation MAX Controls 277589

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


Cmd1Out Cmd2Out FailCode LockOut Reset Boolean 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 Type String String Rel Time 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 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 One Output Command Two Output Command Failure Code True if in lockout True if reset

8-2

Metso Automation MAX Controls 277589

Function block Category: State Logic


Desc 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: 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 String 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 Description 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

Metso Automation MAX Controls 277589

8-3

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


2 Go To One State On Failure 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-4

Metso Automation MAX Controls 277589

Function block Category: State Logic

Command

OpCmd1

Out01

COMMAND
OpCmd2

Out02 Out03 Out16

OpCmd3

OutCmd
OpCmd4

CmdSeen AnyCmdSeen

Overview
The Command atom 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 atom 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 (10 -> 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 Decoder atom 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 atom. 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

Metso Automation MAX Controls 277589

8-5

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


SingleCmd (when set) would cause theOpCmd2 change to be ignored, i.e., when a single command is processed then any simultaneous commands are ignored.
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 SingleCmd Type 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 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 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

8-6

Metso Automation MAX Controls 277589

Function block Category: State Logic

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

ChainOut1 ChainIn1

ChainOut1 ChainIn1

ChainOut1 ChainIn1

ChainOut1 ChainIn1

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.

Metso Automation MAX Controls 277589

8-7

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


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
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 CommandCPX CStepCPX Type Float Float Boolean Boolean String String Float Float Description Active Chain Rel Idx of Active Step Man / SemiAuto Adv Bool Boolean allowing next AltCurrent Step Message AltCurrent Step Name Requested Command Normal Next Step component 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

8-8

Metso Automation MAX Controls 277589

Function block Category: State Logic


JStepCPX MaxTimeSPCPX MessageCPX MinTimeSPCPX MoveInitCPX MstrHandleCPX NumSteps NumSteps1 NumSteps2 NumSteps3 NumSteps4 NumSteps5 OutWordCPX PauseCPX SeqModeCPX StepHandleCPX StepInitCPX StepNameCPX StepTimeCPX SuspStepCPX WaitForOpCPX WaitTimeSPCPX 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 SetRemote SetSemi Type 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 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 Bool to force Remote Mode Bool to force SemiAuto Mode 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

Metso Automation MAX Controls 277589

8-9

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

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

8-10

Metso Automation MAX Controls 277589

Function block Category: State Logic

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

Metso Automation MAX Controls 277589

8-11

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

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 Type String String 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 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

8-12

Metso Automation MAX Controls 277589

Function block Category: State Logic


CmdBranch3 CmdBranch4 CmdBranch5 CStep JStep MaxTimeSP Message MinTimeSP OutputWord PermitRef StepName WaitTimeSP Integer Integer Integer Integer Integer Rel Time String Rel Time Integer String String Rel Time Rel Idx of Branch Step to Ch 3 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

Metso Automation MAX Controls 277589

8-13

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

First Out (FSTOUT)

In1

FirstOut
FirstOut Trip

In16f Freeze OPRst RmtRst Clear Mem

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

8-14

Metso Automation MAX Controls 277589

Function block Category: State Logic


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.
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 In3 In4 Type Boolean Boolean 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 Input 3 Input 4 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 Description Hex value of input causing Trip Signifies that trip has occured

Metso Automation MAX Controls 277589

8-15

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


In5 In6 In7 In8 In9 OpRst RmtRst Boolean Boolean Boolean Boolean Boolean Boolean Boolean 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 InvIn10 InvIn11 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 Boolean 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 Invert Input 10 Invert Input 11 Input 5 Input 6 Input 7 Input 8 Input 9 Operator trip reset Remote trip reset

8-16

Metso Automation MAX Controls 277589

Function block Category: State Logic


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 String String 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

Metso Automation MAX Controls 277589

8-17

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

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.
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 NewQual Type Integer Integer Description Determines quality of the output Output quality 0=G,1=D,2=S,3=B 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

8-18

Metso Automation MAX Controls 277589

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 MAX Controls 277589

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 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 temperature Entropy of saturated liquid function of temperature Entropy of saturated steam function of temperature Specific volume of saturated liquid function of temperature Specific volume of saturated vapor function of pressure * volume of saturated vapor function of Pressure pressurevolume of saturated liquid function of Specific pressure of saturated vapor function of pressure Enthalpy 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 & entropy Specific volume of superheated steam function of pressure & entropy

PGT TGP HFT SFT SGT VFT VGP PVGP VFP HGP HFP SGP SFP HSPS VSPS

9-2

Metso Automation MAX Controls 277589

Steam Compensation
16 17 18 19 20 21 22 23 24 25

HWPS HCPT VCPT PSTH VSTH TSPH VSPH HSPT SSPT VSPT

Enthalpy of wet steam as function of pressure & entropy of compressed liquid function of pressure Enthalpy & temperature of compressed liquid function of Specific volume pressure of superheated Pressure & temperature steam function of temperature & enthalpy Specific volume of superheated steam function of temperature & enthalpy Temperature of superheated steam function of pressure & enthalpy Specific volume of superheated steam function of pressure & enthalpy Enthalpy of superheated steam function of pressure & temperature Entropy of superheated steam function of pressure & temperature of superheated steam function of Specific volume pressure & temperature

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 MAX Controls 277589

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 %.
Metso Automation MAX Controls 277589

9-4

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 MAX Controls 277589

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
Dynamically change engineering units (EngUnits). Dynamically change output type (OutType).

Attributes
Outputs Name Out Type Float Status Name TUOM Type String Inputs Name Enthalpy Entropy Pressure Temperature Type Float Float Float Float Parameters Name EngUnits OutType Type Integer Integer Description 0=English, 1=Metric, 2=SI Metric Steam Function Type Description Enthalpy input Entropy input Pressure input Temperature input Description Engineering Units Text Description Output Property

9-6

Metso Automation MAX Controls 277589

Steam Compensation

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.

Metso Automation MAX Controls 277589

9-7

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

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 MAX Controls 277589

9-8

Steam Compensation
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

Metso Automation MAX Controls 277589

9-9

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


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.

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


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:

9-10

Metso Automation MAX Controls 277589

Steam Compensation
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. 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

Metso Automation MAX Controls 277589

9-11

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


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 Empty % Input 100.00% 98.40% 98.18% 96.92% 95.18% 93.18% 90.57% 86.95% 80.56% Ambient Saturated Full % Input Empty % Input 0.00% 2.65% 8.13% 17.63% 24.66% 30.75% 36.69% 43.23% 52.70% 100.00% 95.75% 90.05% 79.29% 70.52% 62.43% 53.88% 43.72% 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 InRngHi InRngLo Type Float Integer Float Float Description Convrt gauge press to abs press 0=English, 1=Metric, 2=SI Metric Input value level at high tap Input value level at low tap Description Diffntl press measured for level Vessel pressure Description Engineering Units Text Description Presure compensated level

9-12

Metso Automation MAX Controls 277589

Steam Compensation
LevelType OutRngHi OutRngLo PressMult RefColumnTemp TransRefPress TransRefTemp Integer Float Float Float Float Float Float Commands NA 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

Metso Automation MAX Controls 277589

9-13

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

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:

9-14

Metso Automation MAX Controls 277589

Steam Compensation
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 for SI UOM.. 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 and TempIn )) * where the SpecVol values are derived from steam properties functions for superheated steam or compressed water AbsPress is provided as separate configuration factor for pressure input to the steam properties functions for convenience for the normal application of gauge pressure measurements. Note that the compensation factor is 1.0 when 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 Description Input <= cutoff value Compensated flow Flow before Compensation

Metso Automation MAX Controls 277589

9-15

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


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 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 Description Flow or flow differential press Compensation pressure Compensation temperature Description Engineering Units Text

9-16

Metso Automation MAX Controls 277589

Chapter 10
maxDPU4E Standard Function Blocks

Proportional, Integral, and Derivative (PID) Control

Graphical Configurator Diagram

PVInCtl

PID001

OutCtl Out

FrcbkIn

OutPct SP WSP PV Deviation Mode AnyAlarm

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 MAX Controls 277589

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 DataType Float Enum 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) 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 Category Config Config Config Config Config Config Config 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 MAX Controls 277589

Standard Function Blocks


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 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 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 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) 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

Attribute PropSPMult

DataType Float

Category Config

RateSPMult

Float

Config

ErrorSqFactor ALFTime ALFBand Gain Reset Rate

Float RelTime Float Float Float Float

TuningFilter TuningFilter TuningFilter Parameter Parameter Parameter

Metso Automation MAX Controls 277589

10-3

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


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 Variable Input High and Low Range values. Value of step change for tuning

Attribute OpOutTrgtVal OpSPTrgtVal OpKey

DataType Float Float Float

Category Command Command Command

Perturb

Float

TuneTest

10-4

Metso Automation MAX Controls 277589

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 MAX Controls 277589

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 MAX Controls 277589

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 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

Attribute IPropSPMult

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 MAX Controls 277589

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) 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

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

Float RelTime Float Float Float Float RelTime Float Float Float

TuningFilter TuningFilter TuningFilter Tuning Tuning Tuning TuningFilter TuningFilter Tuning Tuning

Attribute OpOutTrgtVal OpSPTrgtVal OpKey

DataType Float Float Float

Category Command Command Command

10-8

Metso Automation MAX Controls 277589

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 MAX Controls 277589

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 MAX Controls 277589

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 MAX Controls 277589

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 atom 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 atom. The Rate of Change of the Throttle Pressure Setpoint is established by a LeadLag atom. 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

10-12

Metso Automation MAX Controls 277589

Standard Function Blocks


basically equals the same Energy Flow plus rate of change of drum pressure. So when 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 Units of Energy Flow per Minute Dynamic Compensation Input Energy Flow Rate of Change * Flow Tuned Dynamic Compensation Throttle Pressure Setpoint Rate of Change Units of Pressure per of Change Tuned Setpoint Rate Minute 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 d 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

Category Input

Input Input Input Input Input

Metso Automation MAX Controls 277589

10-13

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


Parameters DataType Description Float Throttle Pressure at Full Load Float Output at Full Load (normally Full Load Generation) Float First Stage Pressure when Valve Full Open and Throttle Pressure at Full Load (normally Full Load condition) Float Enter Scan Time in seconds configured for assigned SvcTimeBase

Attribute FullLoadPT FullLoadScale ValveMaxP1

Category Calibrate Calibrate Calibrate

ScanTimeSec

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 Float Pressure Setpoint Change Feedforward Gain PTROCFFwdGain Float Input E InitDecayTmSec Attribute FilterBand

Category AdjFilter AdjFilter AdjTune1b AdjTune1c AdjTune2b AdjTune2cc AdjTuneInit

10-14

Metso Automation MAX Controls 277589

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 MAX Controls 277589

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 MAX Controls 277589

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 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) 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

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 MAX Controls 277589

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 MAX Controls 277589

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) DataType Description Boolean Air Flow Dev Limiting Boolean Fuel Flow Dev Limiting Boolean Feedwater Flow Dev Limiting Boolean Air Flow Dev Limiting Boolean Fuel Flow Dev Limiting Boolean Feedwater Flow Dev Limiting Boolean Air Flow Dev Runup Boolean Fuel Flow Dev Runup Boolean Feedwater Flow Dev Runup Boolean Air Flow Dev Rundown Boolean Fuel Flow Dev Rundown Boolean Feedwater Flow Dev Rundown Category Output Output

Attribute AlrmAirLmtgInc AlrmFuelLmtgInc AlrmFWLmtgInc AlrmAirLmtgDec AlrmFuelLmtgDec AlrmFWLmtgDec AlrmAirRunup AlrmFuelRunup AlrmFWRunup AlrmAirRundown AlrmFuelRundown AlrmFWRundown

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

Metso Automation MAX Controls 277589

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

Category Status Status Status

Attribute InCtl FrcbkIn

Category Input Input

AirFlowDev FuelFlowDev FWFlowDev FWFlow

Input Input Input Input

Attribute RunUpDnTOFFTm OutRateLmt

Parameters DataType Description Category RelTime Time Set Point Adjust Float Output Normal Rate of Change Parameter Referenced to Boiler Demand Servo Selected Rate of Change status output 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

Attribute HiAirFDevLmt HiAirFRnUpRate LoAirFDevLmt LoAirFRnDnRate HiFuelDevLmt HiFuelRnUpRate LoFuelDevLmt LoFuelRnDnRate HiFWDevLmt HiFWRnUpRa1t LoFWDevLmt LoFWRnDnRa1 FWScalortoBD BD-FWDiffLimit

DataType Float Float Float Float Float Float Float Float Float Float Float Float Float Float

Category AdjustAir AdjustAir AdjustAir AdjustAir AdjustFuel AdjustFuel AdjustFuel AdjustFuel AdjustFW AdjustFW AdjustFW AdjustFW AdjustFW-BD AdjustFW-Clamp

10-20

Metso Automation MAX Controls 277589

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 MAX Controls 277589

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 MAX Controls 277589

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 MAX Controls 277589

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 Parameters set by tuning tests Description Commands Description

Attribute

DataType

Category

Attribute

DataType

Category

10-24

Metso Automation MAX Controls 277589

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.

Metso Automation MAX Controls 277589

10-25

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


Heat Release output quality set to the worst of: 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

10-26

Metso Automation MAX Controls 277589

Standard Function Blocks


Alarm Outputs (in order of priority) Description Heat Release Fail Heat Release Low Low Heat Release Low Flue Gas Oxygen Low

Attribute AlrmHtRlsFail AlrmHtRlsLL AlrmHtRlsLo AlrmOxygenLo

DataType Boolean Boolean Boolean Boolean

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

Category Calibrate Calibrate Calibrate

Calibrate Config AdjLimit AdjLimit AdjLimit AdjLimit AdjLimit Adjust

Parameters set by tuning tests Attribute DataType Description Adjust for Boiler Energy Storage Time Constant HRPrsStorRateTm Float RelTime Adjust for Heat Release Calculation stability HRFilterLag Float Adjust for Mill Model output match Heat Release MillModelLag

Category AdjTuneHR AdjTuneHR AdjTuneMM

Metso Automation MAX Controls 277589

10-27

Potrebbero piacerti anche