Professional Documents
Culture Documents
Function Blocks Programmer's Ref. & User's Guide 278589
Function Blocks Programmer's Ref. & User's Guide 278589
Metso Automation 1- 1
Function Blocks Programmer's Ref. & User's Guide 278589
Group Attributes .............................................................................................................................................. 1-20
Setting Atomic block and Group Execution Rates and Priorities ........................................................................ 1-20
Selecting Execution Rate ................................................................................................................................. 1-21
Selecting Execution Priority ............................................................................................................................ 1-21
Executing Blocks Using Priority Order ........................................................................................................... 1-22
Executing Blocks Using Hierarchical Order .................................................................................................... 1-23
Using Hierarchical Scheduling with Absolute Priorities ................................................................................. 1-24
Using the DpuAtomList Utility ....................................................................................................................... 1-25
Using Custom blocks To Create Custom Applications........................................................................................ 1-26
Understanding Standard Objects ......................................................................................................................... 1-26
Objects That Monitor Functions ...................................................................................................................... 1-27
DPU Battery Related Object (DPU4E Only) ................................................................................................... 1-27
DPU Fan Related Object (DPU4E Only) ......................................................................................................... 1-28
Alarm Related Objects ..................................................................................................................................... 1-29
Security Related Objects .................................................................................................................................. 1-29
_timesync Object ............................................................................................................................................. 1-29
SBPLimit Object.............................................................................................................................................. 1-29
Using Alarm-Related Atomic Blocks and Buffers to Configure Alarming ......................................................... 1-35
Buffer Alarming............................................................................................................................................... 1-35
Viewing Alarms in a maxSTATION ............................................................................................................... 1-36
Base Attributes .................................................................................................................................................... 1-36
Table 1-5. Common Abbreviations Used in Attribute Tables ......................................................................... 1-38
Metso Automation 1- 2
Function Blocks Programmer's Ref. & User's Guide 278589
Introduction
Overview
Understanding Atomic Blocks and Buffers
This reference guide provides descriptions for more than 60 atomic
blocks and buffers available with maxDPU based systems. Use atomic
blocks and buffers to create point databases implementing specific
process control strategy.
Use atomic blocks for control and data acquisition. Use buffers to define
the I/O inventory and specify signal conditioning and linearizations or
create a simulation database.
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.
Using maxDPUTools
Use maxDPUTools to:
Metso Automation 1- 3
Function Blocks Programmer's Ref. & User's Guide 278589
Use maxDPUTools to install an entire configuration at one time (full
installation) or to install any part of the configuration down to a single
atomic block, an incremental installation. See Publication 278595,
maxDPUTools User's Guide.
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.
These become permanent parts of the online DPMS but are not part of
the offline database unless uploaded. To retain any online edits or
organization changes, the DPMS must be uploaded to the offline
database using maxDPUTools or the next install will return the DPMS
to its unorganized state.
Metso Automation 1- 4
Function Blocks Programmer's Ref. & User's Guide 278589
Copy and paste atomic blocks
Upload and download a DPU
Create a custom block (molecule/block)
Metso Automation 1- 5
Function Blocks Programmer's Ref. & User's Guide 278589
Table 1-1. Atomic Blocks Table
Metso Automation 1- 6
Function Blocks Programmer's Ref. & User's Guide 278589
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."
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."
Discrete Logic
This chapter defines six sets of general purpose discrete logic atomic
blocks and two special purpose atomic blocks. Most of these atomic
Metso Automation 1- 7
Function Blocks Programmer's Ref. & User's Guide 278589
blocks use boolean parameters that are set to true or false to derive the
expected results. See Chapter 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:
Metso Automation 1- 8
Function Blocks Programmer's Ref. & User's Guide 278589
value is used. They are predominantly used to configure the
atomic block.
Outputs 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.
Custom 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.
Commands Attributes that are used to receive commands from the HMI
that will initiate some action within the atomic blocks’
algorithm.
Table 1-2 lists attribute categories listed in this publication for each
atomic block. Categories, such as General and Quality, are common to
all atomic blocks and are not listed with each atomic block type. The
table lists information about referencing, read/write characteristics and
configuration information. Most of these attribute categories are
viewable in configuration utilities, such as maxDPUTools, Graphical
Configurator, and Point Browser.
Metso Automation 1- 9
Function Blocks Programmer's Ref. & User's Guide 278589
Attribute Has Reference Is Referenced Optimized Read Write Seen in Point Shown in
Categories Subscription Browser Graphical
Configurator
Input Normally does Normally is not Yes Yes Yes Yes When Referenced*
Output No for atomic Normally is Yes Yes No Yes When Referenced
blocks, Normally
Does for groups
Parameter Normally does not Normally is not Normally Not Yes Yes Yes When Referenced
Status No for atomic Normally is not Normally Not Yes No Yes When Referenced
blocks, Normally
Does for groups
Command Normally does not No Yes Normally Yes Normally Is Not When Referenced
Not
*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.
Use referencing:
Reference Subscriptions
Metso Automation 1- 10
Function Blocks Programmer's Ref. & User's Guide 278589
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.
Reference Syntax
The meaning of the following characters describes the construction of a
reference field entry. See Publication 278597, maxDPUTools User’s
Guide, “Using Referencing to Interconnect Controls,” for a more
extensive discussion of reference syntax.
Metso Automation 1- 11
Function Blocks Programmer's Ref. & User's Guide 278589
only, does not reconstruct the connection for
any subsequent edits in the DPU database.
The Type column appearing for each atomic block's tabular detail display
indicates which data type must be used for a specific attribute. Single
value data is often passed down the line without regard to source, use, or
range. An associated attribute to such data is quality, which is, in fact,
associated with all data. Value data functions in several formats:
Boolean
Integer
Complex
Enumerated
Float
Long
Relative time
Text
Time
Boolean
Boolean data can only have the values True and False. It represents two
state conditions such as: active/not active; on/off; alarm/no alarm.
Integer
Integers are whole numbers with no fractional component. They may be
range-restricted according to use.
Metso Automation 1- 12
Function Blocks Programmer's Ref. & User's Guide 278589
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.
Float
Real or floating point data is used to represent a value in a continuum of
a range of possible values. They are not restricted to whole values and
may differ from other floats by very small increments. (Behind the
scenes, most data is actually stored in this format. Consequently, you
may occasionally see fields where integer and even Boolean values are
sometimes misrepresented as floats).
String
Generally used for text.
Absolute Time
Absolute time is a special type of data, displayed in a standard time
format. It is derived from the local clock, synchronized to the system
master clock.
Relative Time
Relative time is another variation of float that enables it to be read by a
standard input reference.
Commands
Commands are a special type of input to a function block that causes an
action by the block when the command is written. To initiate this one
time (scan) action, the command value is time stamped. The value
represents an enumerated input to command one of a set of actions or a
floating input to set a value entry (the input determines the application
of the value). Normally the “input” is written by maxVUE functions
(that includes the time stamp for the write event). But the input could be
referenced to a COMMAND function block output (.OUT01 - .OUT16)
or an edge trigger (EDGEANY, EDGEFALL, EDGERISE) function
block command output (.CMDOUT).
Metso Automation 1- 13
Function Blocks Programmer's Ref. & User's Guide 278589
RHI
RLO
VAL
Forceback
To avoid having upstream components run away (wind up) when the
downstream components are unable to respond a concept called
forceback is used to impose limits on the master source. The special
value Status is used to describe the limit being imposed.
RHI
RLO
VAL
STAT
Metso Automation 1- 14
Function Blocks Programmer's Ref. & User's Guide 278589
RHI
RLO
VAL
RST
AREF
Family Ties
Two special connections of atomic blocks require a special means of
complex and even bi-directional communication.
Sequence master and steps have to pass status and active state
information to one another, which they do through the chain--complex
connection.
As noted, buffers are used to define the desired input or output modules.
Each module has 1 to 16 channels, each corresponding to a signal. Use
Atag and Dtag atomic blocks to assign tag names to each signal.
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.
Metso Automation 1- 15
Function Blocks Programmer's Ref. & User's Guide 278589
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.
24 VAC/VDC
48 VAC/VDC
120 VAC/VDC
240 VAC/VDC
Solid-state inputs can be scanned 1000 times per second for 1 ms SOE
applications
Metso Automation 1- 16
Function Blocks Programmer's Ref. & User's Guide 278589
24/48 VDC
120 VAC
125 VDC
240 VAC
4 to 20 mA
0 to 6 VDC
0 to 10 VDC
Inputs isolated from each other, from ground, and from module logic
Inputs isolated from each other, from ground, and from module logic
Metso Automation 1- 17
Function Blocks Programmer's Ref. & User's Guide 278589
Eight-channel Current Adjusting Type (CAT)
4 to 20 mA or 0 to 16 mA outputs
Two-wire or three-wire outputs
Positioning Modules
Customizable control via program language.
Each module has 8 digital inputs, 8 digital outputs, 4 analog inputs, and 4
analog outputs, along with a selection of termination module types
available for various types of signal conditioning. Refer to the maxPAC
Positioning Module Programming Guide and the maxPAC Hardware
Reference Guide for additional details.
Metso Automation 1- 18
Function Blocks Programmer's Ref. & User's Guide 278589
more information such as maintenance data or environmental conditions.
This data is now readily available to the users with the advent of the
HART interface.
- Analog Input Card – has the ability to receive 4-20 ma field signals,
as well as, HART Communications on each of 8 channels.
- Analog Output Card – has the ability to drive 4-20 ma field signals,
as well as, HART Communications on each of 8 channels.
Metso Automation 1- 19
Function Blocks Programmer's Ref. & User's Guide 278589
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.
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.
Metso Automation 1- 20
Function Blocks Programmer's Ref. & User's Guide 278589
Release 2.0 use a priority-based execution order. See “Selecting
Execution Priority.”
Scheduling attributes are configured with default settings that you may
change in maxDPUTools during database configuration or online using
Point Browser.
The following table shows the attributes that control the schedule times:
Metso Automation 1- 21
Function Blocks Programmer's Ref. & User's Guide 278589
change the execution order set the ScheduleType attribute in the DPMS
object to 0 for priority order or 1 for hierarchical order.
With either execution order, you may set the ServicePriority attribute to
0 to remove a group and all of its children from the schedule tables.
Additionally, setting an Atomic Function Block to priority 0 causes it to
be removed from the schedule table. This may be useful when you need
to disable a part of a configuration temporarily while adding new
functionality to an active DPU. maxDPUTools will no longer default
group priority to zero.
All of the Atomic Function Blocks of a group with a high priority will be
executed before all of the Atomic Function Blocks of a group with lower
priority. All of the Atomic Function Blocks of a Custom Function Block
will be executed together (in priority order within the Custom Function
Block.
Metso Automation 1- 22
Function Blocks Programmer's Ref. & User's Guide 278589
Note: all groups and Atomic Function Blocks are assumed to be in the
normal time class.
Root
Priority 50
Figure 1-1. Illustration depicts a configuration using hierarchical execution. See figure 1-for an illustration depicting a
configuration using absolute priorities.
Metso Automation 1- 23
Function Blocks Programmer's Ref. & User's Guide 278589
Note that DPMS always runs first in the normal time class. Children of a
group always execute before the group. This example shows the
importance of the group priority attribute. In pre-2.0 versions of the
DPU the group ServicePriority attribute was ignored.
Atomic Function Blocks with the same absolute priority are scheduled in
service handle order. This insures the same schedule order for DPUs that
are downloaded, warmed-up or warm restarted.
Root
Priority 50
Atom 5 Atom 6
Priority 60 Priority 50
Metso Automation 1- 24
Function Blocks Programmer's Ref. & User's Guide 278589
Group A Pri 50
Root Pri 50
Atomic Function Block 2 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:
To access this utility from the Windows desktop, click the Start button
on the Task Bar, point to Programs, maxDNA, maxDPU Utilities and
click DPUAtomList. The following dialog appears:
To view the execution rates and priorities for points within a selected
DPU:
1. Click the down arrow next to the maxDPU list field to view a list of
available DPUs created from the DPUlist.ini file.
Metso Automation 1- 25
Function Blocks Programmer's Ref. & User's Guide 278589
2. After selecting a DPU, click the Get Block List button to start the
schedule acquisition process. Since the program reads at a leisurely
pace, it may take 20 or 30 seconds for the schedule data to be
presented. The data is listed with the first block to be executed at the
top and the last executed block at the bottom. The type of block, its
tag, and service priority is shown.
3. To save the data read from a DPU, click the Write To File button.
The schedule data will be written to a file in the c:\temp folder. The
file will be named atomlist_[dpu ip address].txt. If a file for this
DPU already exists, it is overwritten.
When you create and name the user object, the name appears in
maxDPUTools tree directory pane where you may click on it, similar to a
group node, to reveal its contents.
Metso Automation 1- 26
Function Blocks Programmer's Ref. & User's Guide 278589
full of discussion of Point Browser. User objects appear in the tree
directory under the Service by Station subfolder as follows:
_AlmEvtText
_AlmTagText
_p(BattAlarm)
_p(Fan Alarm)
_p(NetAlarm)
_pQueOvrn)
_DPMS
_DPMS.Root (GRP)
_Backup
_Security_Custom (Security)
_Security_MCS (Security)
_TimeSync (TimeSync)
SbpLimit
_p(BattAlarm)
_p(Fan Alarm)
_p(NetAlarm)
_pQueOvrn)
_DPMS
_DPMS.Root (GRP)
SbpLimit
At the completion of the test, the DPU Battery light (LED) is set to red,
if the test failed, or green if the test passed. If the test fails, the DPU
Battery Alarm Block generates a “DPU Battery Problem” alarm. The
point name for the DPU Battery Alarm Block consists of DPU station
name (or last 2 digits of its network address) followed by “BAT” and
“_s” or “_p” (for secondary or primary).
Metso Automation 1- 27
Function Blocks Programmer's Ref. & User's Guide 278589
The following is an example of the DPU Events dialog with both DPU
Fan and DPU Battery alarms.
Metso Automation 1- 28
Function Blocks Programmer's Ref. & User's Guide 278589
_timesync Object
The _timesync standard object is the control center of the time
synchronization process. The family of utilities that support time
synchronization reference attributes that are members of the _timesync
object. See Publication, 278605, maxDPU Auxiliary Functions User’s
Guide, Chapter 5, for a full of discussion of time synchronization.
SBPLimit Object
Metso Automation 1- 29
Function Blocks Programmer's Ref. & User's Guide 278589
Starting with Release 3.4 for the DPU4E and Release 4.2 for the DPU4F,
a new function was added that is called the SBPLimit atom. This new
atom allows configuration, display and alarming of Software Backplane
usage restrictions. The restrictions were added to preserve the
functioning of control logic under any network loading conditions.
Metso Automation 1- 30
Function Blocks Programmer's Ref. & User's Guide 278589
Metso Automation 1- 31
Function Blocks Programmer's Ref. & User's Guide 278589
The SBPLimit atom's configurable parameters are:
HiLimTotalSub Specifies the High Alarm value for total external incoming subscriptions
processed by a DPU.
Default Value 4000 - No station should consume more than half the capacity of
the DPU.
HardLimStnSub Specifies the Hard limit value for subscriptions from any particular station (DPU
or maxSTATION). Above this level any new subscription from that station will
be rejected.
Default Value 5000 - No station should consume more than half the capacity of
the DPU
HiLimConnLoop Specifies the High Alarm value for subscriptions from any particular SBP
connection running at Loop Priority.
Default Value 180 - Loop Subscriptions are used for DPU to DPU
communications. The number is small since they are handled at 1/4 second
resolution.
HardLimConnLoop Specifies the Hard limit value for subscriptions from any particular SBP
connection running at Loop Priority. Above this level any new subscription from
that station will be rejected.
Default Value 200 - Loop Subscriptions are used for DPU to DPU
communications. The number is small since they are handled at 1/4 second
resolution.
HiLimConnNorm Specifies the High Alarm value for subscriptions from any particular SBP
connection running at Normal Priority.
Default Value 1500 - Normal Subscriptions are primarily used for maxVUE and
browser communication.
HardLimConnNorm Specifies the Hard limit value for subscriptions from any particular SBP
connection running at Normal Priority. Above this level any new subscription
from that connection will be rejected.
Default Value 2000 - Normal Subscriptions are primarily used for maxVUE and
browser communication. 2000 values from a single DPU should be considered
extreme.
HiLimConnBgnd Specifies the High Alarm value for subscriptions from any particular SBP
connection running at Background Priority.
Metso Automation 1- 32
Function Blocks Programmer's Ref. & User's Guide 278589
HardLimConnBgnd Specifies the Hard limit value for subscriptions from any particular SBP
connection running at Background Priority. Above this level any new
subscription from that connection will be rejected.
Default Value 450 - 1/4 second data may lag significantly if external references
exceed this value.
HardLimOutRef Specifies the Hard limit value for External References. (Those containing a '[')
Above this level any new outgoing requests will be set to BAD_REF quality and
not processed.
Default Value 500 - Values above 500 are not recommended in fully loaded
DPUs.
HiLimUnOptRef Specifies the High Alarm value for Internal Unoptimized References.
Default Value 720 - 1/4 second data may lag significantly if unoptimized
references exceed this value.
HardLimUnOptRef Specifies the Hard limit value for Internal Unoptimized References. Above this
level any new internal unoptimized reference requests will be set to BAD_REF
quality and not processed.
Default Value 800 - 1/4 second data may lag significantly if external references
exceed this value.
The DPU will annunciate alarms for exceeding any of the above limits. The format of these alarms is:
UnOpt Ref High %#22% High Alarm for Unoptimized References reached.
Metso Automation 1- 33
Function Blocks Programmer's Ref. & User's Guide 278589
Subs Limit %#23% by %#24% Hard Alarm for External station or connection subscriptions.
Note: Only Top station statistics are visible unless expert mode is turned on in the browser. Name and
connect Ids are of the form “NAME:##”.
Metso Automation 1- 34
Function Blocks Programmer's Ref. & User's Guide 278589
If the atomic block does not have a Tagname the alarm parent group
Tagname will be used in the alarm last. Another possibility is that the
HID and generic name of the point may show up in the alarm list. One
atomic block capable of alarming will only have at most one entry in the
alarm list. A group may present more than one alarm to the list if it has
more than one un-tagged alarm reporter calling it the alarm parent.
Buffer Alarming
Buffers may also produced alarms when associated I/O cards experience
a problem. Each I/O buffer has a FailoverTyp attribute used to determine
the action taken if the DPU can no longer communicate with the
associated I/O card. Three possible FailoverTyp settings are:
non-critical (0),
normal (1),
critical (2).
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 three possible actions
based on exceeding the threshold. The following are the possible codes
and actions:
Metso Automation 1- 35
Function Blocks Programmer's Ref. & User's Guide 278589
In the maxVUE Editor, use the Alarm Lists Control and Alarm Summary
Control to configure alarm displays which operators may view in
maxVUE Runtime viewable from multiple maxSTATIONs.
Base Attributes
All atomic blocks include base attributes that are generally not
configurable. Attributes appearing on the following list that are
Metso Automation 1- 36
Function Blocks Programmer's Ref. & User's Guide 278589
configurable are ServicePriority and ServiceTimeBase. See "Setting
Atomic block and Group Execution Rates and Priorities." The base
attributes are listed here for reference.
Metso Automation 1- 37
Function Blocks Programmer's Ref. & User's Guide 278589
SvcY VAR_LONG Service Y loc on Page General
Type VAR_LONG Attribute Type Subattr
UNSCHEDULE VAR_EMPTY UnSchedule A Service Method
Metso Automation 1- 38