Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
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
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
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 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
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
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
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
ix
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
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
xi
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
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.
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.
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
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)
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.
1-3
1-4
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.
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."
1-5
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
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.
1-7
Yes Yes
Yes No
Yes Yes
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.
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
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
1-9
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
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.
1-11
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
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.
1-12
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.
1-13
Two relay output types 240 VAC, 130 VDC Form A relay 10 channel 240 VAC, 130 VDC Form C relay
1-14
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
1-15
1-16
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.
1-17
1-18
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.
1-19
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 6 Priority 50
1-20
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.
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.
1-21
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
Introduction
These objects, which contain preconfigured values, are a standard part of all configurations. Their associated attributes should not be edited.
1-23
The following is an example of the DPU Events dialog with both DPU Fan and DPU Battery alarms.
1-24
Introduction
_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.
1-25
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
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).
Base Attributes
All atomic blocks include base attributes that are generally not configurable. Attributes appearing on the following list that are configurable are
1-27
1-28
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
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.
DIV
In 1 In 2 Out
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
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.
Attributes
Outputs Name Out Type Float Status N/A Inputs Name In1 In2 Type Float Float Description Input 1 Input 2 Description Output
Commands N/A
2-3
Calculator (CALC)
Atomic block Category: Analog Math Functions
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
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.
2-5
% IF(b1,vt,vf)
WORD LOGIC
| & ~
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
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
2-7
Commands N/A.
2-8
SigSel
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.
2-9
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
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
2-11
Commands
N/A
2-12
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)
2-13
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
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
2-15
2-16
Lead/Lag (LEADLAG)
LeadLag
PropIn RateIn Freeze Init TransReg Out
Overview
Function output is result of Lag and/or Rate Functions applied to an input variable(s).
Critical Behaviors
Proportional input times gain plus change (since last scan) in Rate input times (rate) gain is lagged twice (two series lag functions), then has an ALF filter applied for the result (output).. Initialize input logical forces result to equal result as if all time functions zero and all memory registers initialized accordingly. Freeze input logical forces result to hold at last calculated value, all memory registers initialized accordingly, and offset register initialized to difference between result and result when all time functions zero for bumpless return to normal operation. Offset register decays to zero when not initialize or freeze. Separate proportional and rate inputs permit calculation of Energy Flow + Energy Storage Rate of Change (Heat Release). Amplitude limiting filter applied to result.
Detailed Description
The following diagrams the LeadLag calculations for normal operation
2-17
Multiply
Sum
Lag
Lag2Time
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
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
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.
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
# 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
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.
AltDesc
3-3
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
3-5
3-6
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
3-7
3-8
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.
3-9
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
3-11
Enumerated Attributes:
Mode: 0 Off Scan 1 On Scan RedundantIO: 0 Not Using Redundant I/O 1 Using Redundant I/O
3-12
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
3-13
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.
Mode
RedundantIO
3-14
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
3-15
3-16
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
3-17
Overview
Use the Digital Output Buffer to make digital values from the atomic block algorithms available to the field.
Mode
RedundantIO
ShDesc
3-18
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
3-19
Enumerated Attributes:
Mode: 0 Off Scan 1 On Scan
3-20
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
3-21
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
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
3-23
3-24
3-25
3-26
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
3-27
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.
3-28
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
3-29
3-30
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
3-31
3-32
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.
Mode
RedundantIO
3-33
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
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
3-35
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
3-37
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
Output
Name PortError Type Float
Status
Name BytesIn Type Long
BytesOut
Long
PortStatus
Float
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.
3-39
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
3-40
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
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).
3-41
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
3-43
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
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
3-45
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.
3-46
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
3-47
3-48
3-49
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
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
3-51
3-52
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
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.
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)
Inputs
InCtl
Outputs
OutCtl Out OutPct
FrcbkIn
FrcbkOut
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
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.
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
4-4
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
4-5
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
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).
4-7
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
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
[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:
4-9
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
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.
4-11
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
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.
4-13
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.
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
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
4-15
4-16
Limiter (LIMITER)
Atomic block Category: Modulating Control Logic Atomic block Subcategory: Basic
InCtl FrcbkIn MaxMinEnable Freeze IncOvrd DecOvrd IncBlock DecBlock IncLimit DecLimit ClearAcc
Limiter
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.
4-17
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
InCtl (Incremental) Limit functions applied on change increment created by difference when value type inpuut
T
FREEZE OUTPUT OUTPUT RATE OF CHANGE LIMIT and/or RUNUP/RUNDOWN
Rate limit inputs opposite normal sign cause output runup/rundown action
InCtlTYP
Freeze IncOvrd & DecOvrd (+) IncRateLimit (-) DecRateLimit (-) IncRateLimit (+) DecRateLimit
MaxMinEnable MaxLimit MinLimit IncBlock or FrcbkInSTAT = IncBlock or FrcbkInSTAT = IncVelLimit DecBlock or FrcbkInSTAT = DecBlock or FrcbkInSTAT = DecVelLimit OutputReset & FrcbkInSTAT = block
IncOvrd DecOvrd
T
OUTPUT TYPE SELECTION
T
OutCtl (Incremental or Value)
OutType
FrcbkIn
4-19
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
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
4-21
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
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
4-23
PID
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
* 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
4-25
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
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.
4-27
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).
* 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
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
4-29
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
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
4-31
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
4-33
Feedforward (FEEDFWD)
Atomic block Category: Modulating Control Logic Atomic block Subcategory: Basic
FEEDFWD
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
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.
4-35
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.
4-36
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.
Noise Filtering
(All filtering bands are in engineering units) for proportional action:
PVFilterBand Float Change detection deadband *
* 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
4-37
Parameter Name ATEnable Type Boolean Description Enable adaptive tuning if true
4-38
4-39
InCtl Feedback
PATOut
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
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.
4-41
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.
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
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.
4-43
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 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
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).
4-45
4-46
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).)
4-47
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
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)
4-49
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
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
4-51
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
PartMem
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).
4-53
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
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
4-55
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
4-57
Commands N/A
4-58
InCtl
PartMstr
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
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
Parameters N/A
Commands N/A
4-61
AInCtl BInCtl FrcbkInSum FrcbkInDif PerturbSum PerturbDif SumFreeze DifFreeze AClearAcc BClearAcc
CTLCOMB
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
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:
4-63
Where OutChange is in percent and PVSpan is (PV High Range Value PV Low Range Value) (applied to convert PV changes to percent).
When tuning the first PID controller, set freeze on the other PID atomic block and tune with normal procedure.
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
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
4-65
Command N/A
4-66
CTL2DIV1
In1Ctl OutCtl Out In2Ctl OutPct FrcbkOut1 FrcbkIn
Overview
CTLADD - Basic adder with forceback. CTLMULT - Basic multiplier with forceback. CTL1DIV2 - Basic divider with numerator forceback. CTL2DIV1 - Basic divider with denominator forceback.
Critical Behaviors
Output type determined by input1 type (inputs could be different types). Forceback calculated for input 1 only based on value of Input 2. FrcbkOut range based on FrcbkIn range for incremental or In1Ctl range if nor incremental. Inputs can be scaled but not biased. Percent Inputs require scaling for correct result. (50% * 50% => 2500%, not 25%) and (20% * 10lb => 200lb% not 2lb.) K's are used to adjust this. This does not apply to the CTLADD atomic block.
4-67
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
Input Name FrcbkIn In1Ctl In2Ctl Type Complex Complex Complex Description Complex Forceback input Complex input 1 Complex input 2
Parameter Name HiRng K1 K2 LoRng OutputReset Type Float Float Float Float Boolean Description Value of 100% for scaling Scaler multiplier of In1Ctl Scaler multiplier of In2Ctl Value of 0% for scaling Reset output to forceback value
Command N/A
4-69
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
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
4-71
Command N/A
4-72
InCtl
FUNCGEN
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
4-73
4-74
Commands N/A
4-75
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
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
4-77
4-78
Commands N/A
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
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
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.
5-3
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
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.
5-5
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
In1
Out
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
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
5-7
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
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
Attributes
Outputs Name Out Type Boolean Status N/A Inputs Name In1 In2 Type Float Float Parameters Name BadQ DBand InvOut Type Boolean Float Boolean Command N/A Description Use Bad Quality in algorithm Dead Band Invert Output if set to 1 Description Input 1 Input 2 Description Output
5-9
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.
5-10
TOFF PULSE
Attributes
Outputs Name Out Type Boolean Status Name TimeRemaining Type Time Inputs Name In1 Type Boolean Parameters Name InvIn1 InvOut TimeSP Type Boolean Boolean Rel Time Commands N/A Description Invert Input 1 if set to 1 Invert Output if set to 1 Time Set Point Description Input 1 Description Time remaining before action Description Output
5-11
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)
Type
Boolean
Description/Application
16 Logical (Bits) to be packed
5-12
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)
Type
Float
Description/Application
Packed Bits (Integer)
5-13
Timer
Block Diagram
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
Name
TimeSP TimeBase TimeOutAction StartOffset InvStart InvStop InvReset
Security
Tune-Adjust Configuration Configuration Configuration Tune-Adjust Tune-Adjust Tune-Adjust
5-14
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
5-15
Counter
Block Diagram
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
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
5-16
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)
HMI Text Parameters Description/Application Alternate Description Alternate Short Description Description Generic Name Short Description Tag Name
5-17
Clock
Block Diagram
Clock
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
The HourSP attribute is military time except the hour after midnight is 24. This preserves 0 for hourly repeating alarms.
5-18
Chapter 6
Group
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
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
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
6-2
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.
6-3
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
. . .
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.
6-5
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.
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
User Object
FRCBK_1 IN_COUNT
6-7
@ - 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
Name AlmBehave
Type Float
Name Alm_Ack
Type Float
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
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.
InCtl
ATAG
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
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.
7-3
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
7-5
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
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
Float/ Bool String ShDesc String TagName String TUOM Long/ UserRef String ** Normally Constants
7-7
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
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
7-9
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
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-11
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
Mode ReAlarmTime
Long Time
String ShDesc Float SOEOption String TagName String TrText Long UserRef ** Normally Constants Name Acked AlmParentHandle AlmState Type Float Long Long
7-13
Chapter 8
State Logic (StLog)
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
8-2
8-3
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
Command
OpCmd1
Out01
COMMAND
OpCmd2
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
8-5
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
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*
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.
8-7
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
8-9
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
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
8-11
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
Commands N/A
8-13
In1
FirstOut
FirstOut Trip
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
8-15
8-16
8-17
8-18
Chapter 9
Steam Compensation
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
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.
PGT TGP HFT SFT SGT VFT VGP PVGP VFP HGP HFP SGP SFP HSPS VSPS
9-2
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.
9-3
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)
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.
9-5
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
Steam Compensation
LvlComp
LevelIn PressIn Out
Overview
Compensates a differential pressure for a closed vessel level measurement by the vessel pressure. The differential pressure input is generated by the difference of the pressure at the lower tap of the measurement (physical) range and the bottom of a water leg reference column pressurized to the same pressure as the vessel. The compensation is applied for ambient or saturated reference column water conditions.
Critical Behaviors
Compensates Closed Vessel Level measurement by Pressure. Level Differential Pressure input can be optionally forward or reverse acting with respect to the actual level. Output Quality is Worst of input qualities or BAD when pressure and temperature inputs are outside Steam Table range of values for selected process (Water or Steam). BAD (and 0.0) if divide by zero in calculation. (?) Range Parameters (InRngHi, InRngLo, OutRngHi, and OutRngLo). These values are for cold vessel conditions: reference column and vessel water temperatures equal and equal (basically) to the transmitter water calibration temperature. The actual differential pressure with level at the high measurement tap is zero; at the low measurement tap is the distance between the taps. The transmitter or its output processing may reverse these values. InRngHi and InRngLo convert LevelIn to a 0 1.0 value internally with proper direction for compensation. OutRngHi and OutRngLo convert the compensated 0 1.0 value to the desired output (possibly zero centered) with span equal to the input measurement span. The differential pressure measurement transmitter span should be calibrated for the distance between the level measurement taps. TransRefTemp, and TransRefPress Parameters are the pressure and temperature of the water that is the basis of the transmitter calibration normally in terms of inches(millimeters) water column.
9-7
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).
The weight of the water column (the reference for the level measurement is different between the two types, so the atomic block requires a type to be designated (LevelType). When the ambient reference column is designated, its approximate temperature must be entered (RefColumnTemp)Type (Level Type) so the density of its water can be derived from the specific volume steam properties function for compressed water. (The saturated reference column water density is declared the same as the vessel water density. This level measurement compensation function can be applied in systems using one of three Engineering Units systems, English, Metric, or SI. See discussion for the Steam Properties functions, earlier in this chapter. The Units system must be designated (EngUnits) and several other values entered to maintain compatible units for the compensation calculations. Absolute Pressure (AbsPress) entry is required to have a value in compatible units. Its normal entry value would be approximately 14.7 psi, 1 Kg/SqCm, or 101.32 KPa. A Pressure Input Multiplier (PressMult) is provided for system with incompatible units applied for their pressure measurements. The most common incompatibility is MPa used in a SI Units systems instead of
9-9
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.
9-10
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)
9-11
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
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
9-13
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
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
9-15
9-16
Chapter 10
maxDPU4E Standard Function Blocks
PVInCtl
PID001
OutCtl Out
FrcbkIn
Overview
A function block that provides a PID control function with ALF filtering for PV and setpoint and value output controls and process and control alarms.
Detailed Description
The process variable ALF filtering is provided by the incorporation of a LeadLag Atomic Block. Setpoint control is provided by AutoMan and Limiter Atomic Blocks. PID control action is provided by the PID Atomic Block. Output control is provided by AutoMan and Limiter Atomic Blocks. The AlmRep Atomic Block provides alarms for Automatic Control Loss, Control Signal Quality Problem, Control Deviation High or Low.
Metso Automation MAX Controls 277589
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
DataType Float Float Float Float Float Float Boolean Text Float
Category Status Status Status Status Status Status Parameter Status Status
10-2
Attribute PropSPMult
DataType Float
Category Config
RateSPMult
Float
Config
10-3
Perturb
Float
TuneTest
10-4
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.
10-5
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 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
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
10-7
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
10-8
Iperturb OPerturb
Float Float
TuneTest TuneTest
10-9
(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
Energy Demand
ENERGYDEMAND
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.
10-11
Detailed Description
Effective Turbine Valve Opening is calculated by the following equation:
FirstStagePressure ThrottlePressure * FullLoadThrottlePressure * ValveMaximumFirstStagePressure 100
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
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
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
10-13
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
10-14
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.
10-15
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.
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
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
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
Inputs DataType Description Complex Auto Target Input Complex Output Forceback Input Boolean Set Manual Output Mode
10-16
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
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
10-17
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
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
10-19
Status DataType Description Float Simple output Float Output percent based on range Boolean Runup or Rundown Time Delayed Off Inputs DataType Description Complex Input Boiler Demand (PV) Complex Forceback Input from Runback Custom Block FrcbkOut so that its status does not include any Fuel Velocity Limit or Block (or Limit) conditions. Float Air Flow PID Percent Deviation Float Fuel Flow PID Percent Deviation Float Feedwater Flow PID Percent Dev Float Feedwater Flow
Parameters 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
Hard Runback
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.
10-21
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
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 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
10-23
Attribute
DataType
Category
Attribute
DataType
Category
10-24
Heat Release
HeatRelease
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.
10-25
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
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
Parameters DataType Description Float Total Coal Flow value at Full Load Float Total Other (non-Coal) Fuel Flow at Full Load (extrapolate if only startup flow range) Float Output at Full Load (normally Full Load Generation) coordinate with Energy Demand value Float Enter Scan Time in seconds configured for assigned SvcTimeBase Boolean Monitor Control Switch when off alarm failure conditions only (not Fail logic result). Float Low Heat Release (relative to Fuel Flow) Limit for Fail prealarm Float Low Heat Release (relative to Fuel Flow) Limit for Fail Float Hysteresis (Deadband) for Low Heat Release Detections Float Low Oxygen Limit for Fail validation. Float Hysteresis (Deadband) for Low Oxygen Detection RelTime Time Delay on Fail Logic
Parameters set by tuning tests 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
10-27