Вы находитесь на странице: 1из 45

800xA Minerals Training

Chapter 6 Libraries

TABLE OF CONTENTS
Chapter 6 Libraries ........................................................................................................................................................................ 1
6.1 General Information............................................................................................................................................................. 3
6.1.1 Objectives ..................................................................................................................................................................... 3
6.1.2 Legend .......................................................................................................................................................................... 3
6.1.3 Standard 800xA Libraries ............................................................................................................................................. 4
6.1.4 800xA Minerals Libraries ............................................................................................................................................. 4
6.2 The Library Concept............................................................................................................................................................ 5
6.3 Types and Instances............................................................................................................................................................. 6
6.3.1 Type Names and Instance Names ................................................................................................................................. 6
6.3.2 Data types ..................................................................................................................................................................... 7
6.3.3 Function Block Types................................................................................................................................................... 7
6.3.4 Control Module Types .................................................................................................................................................. 7
6.3.5 Functions ...................................................................................................................................................................... 8
6.3.6 Library Dependencies ................................................................................................................................................... 8
6.4 General Comments about Libraries ..................................................................................................................................... 9
6.4.1 Libraries Versions......................................................................................................................................................... 9
6.5 Fundamental Libraries ....................................................................................................................................................... 10
6.5.1 System ........................................................................................................................................................................ 10
6.5.2 BasicLib...................................................................................................................................................................... 12
6.5.3 IconLib........................................................................................................................................................................ 12
6.5.4 SupportLib .................................................................................................................................................................. 12
6.5.5 AlarmEventLib ........................................................................................................................................................... 13
6.6 Communication Libraries .................................................................................................................................................. 14
6.6.1 CommunicationLib ..................................................................................................................................................... 14
6.6.2 COMLICommLib ....................................................................................................................................................... 14
6.6.3 FFH1CommLib........................................................................................................................................................... 15
6.6.4 FFHSECommLib ........................................................................................................................................................ 16
6.6.5 INSUMCommLib ....................................................................................................................................................... 17
6.6.6 SerialCommLib........................................................................................................................................................... 17
6.6.7 SerialLib ..................................................................................................................................................................... 17
6.6.8 MB300CommLib........................................................................................................................................................ 18
6.6.9 MMSCommLib........................................................................................................................................................... 19
6.6.10 ModbusCommLib..................................................................................................................................................... 20
6.6.11 ModemCommLib...................................................................................................................................................... 20
6.6.12 S3964CommLib........................................................................................................................................................ 20
6.6.13 SattBusCommLib...................................................................................................................................................... 21
6.7 Continuous Control Libraries ............................................................................................................................................ 22
6.7.1 ControlSupportLib ...................................................................................................................................................... 22
6.7.2 ControlSimpleLib ....................................................................................................................................................... 22
6.7.3 ControlBasicLib.......................................................................................................................................................... 24
6.7.4 ControlStandardLib .................................................................................................................................................... 25
6.7.5 ControlExtendedLib.................................................................................................................................................... 27
6.7.6 ControlAdvancedLib .................................................................................................................................................. 28
6.7.7 ControlFuzzyLib......................................................................................................................................................... 28
6.8 Process Object Libraries .................................................................................................................................................... 30
6.8.1 ProcessObjBasicLib.................................................................................................................................................... 30
6.8.2 ProcessObjExtLib ....................................................................................................................................................... 31
6.8.3 ProcessObjDriveLib.................................................................................................................................................... 32
6.8.4 ProcessObjInsumLib................................................................................................................................................... 33
6.8.5 GroupStartLib ............................................................................................................................................................. 34

1 / 45

CH112-06 Libraries - RevB

6.8.6 SignalLib..................................................................................................................................................................... 36
6.8.7 SupervisionLib............................................................................................................................................................ 37
6.8.8 FireGasLib .................................................................................................................................................................. 38
6.9 Help on the Libraries and their Objects ............................................................................................................................. 40
6.9.1 Online Help................................................................................................................................................................. 40
6.9.2 Manuals....................................................................................................................................................................... 41
6.10 How to Insert a Library into a Project.............................................................................................................................. 42
6.10.1 From within Control Builder:.................................................................................................................................... 42
6.10.2 From within the Engineering Workplace .................................................................................................................. 43
6.11 How to Connect a Library to an Application ................................................................................................................... 44
6.11.1 How to Create a New (user) Library......................................................................................................................... 45

2 / 45

800xA Minerals Training

6.1 General Information


6.1.1 Objectives
On completion of this chapter you will be able to:

Explain the concept of libraries and types

Describes the standard 800xA libraries provided by ABB

Identify the libraries that are used in a project

Insert the required libraries into a project

6.1.2 Legend
<>

Indicates a key name.

Indicates when you go from one menu to a sub-menu.

Bold

Indicates a menu name or an option in a menu, or file structures

Indicates dialog box buttons, tabs, instructions etc.

Indicates start/explanation of student activity

3 / 45

CH112-06 Libraries - RevB

6.1.3 Standard 800xA Libraries


The standard 800xA libraries handled in this chapter are described more in detail in
the following document:

6.1.4 800xA Minerals Libraries


Please refer to the chapter 11, where the 800xA Minerals Applications and Minerals
Libraries are handled.

4 / 45

800xA Minerals Training

6.2 The Library Concept


One of the three main divisions of a Control Builder M Project is Libraries:

Libraries contain Type Definitions or Types which are used to give additional
functionality to the project.
There are three sorts of type definition which may be made in a library. These are:

Data types

Function Block types

Control Module types

5 / 45

CH112-06 Libraries - RevB

6.3 Types and Instances


It is important to understand what is meant by a type and an instance of a type. We
often have the case where a particular object is used many times in an application. An
object type is defined and then each time the type is used an instance of the type is
created. In most circumstances the link between the type and the instance is
maintained. Therefore, if in future, the type is modified, then all instances of that type
will be changed.
For example, a chemical plant may contain many hundreds of block valves, but it is
likely that they are all of the same type. In the control program we may define one
valve type and then whenever one is required in the program a new instance of that
type is created.
Type

Instance 1
Instance 2
Instance 3

Note that in the control builder Project Tree, types have bright green icons and
instances have cyan icons.

6.3.1 Type Names and Instance Names


Do not confuse the type name with the instance name.
When an instance of a Function Block Type or Control Module Type is declared you
are asked to give the instance a name:

Instance name

Type name

The diagram above shows a small segment of an application. In Program 2 there are
two instances of a timer type function block. In the first the Instance name is
MixingTimer and it is of type Tof.
The second instance is of the same type but has an instance name Tof_1.

6 / 45

800xA Minerals Training

6.3.2 Data types


In a modern control system there is a need to store many different types of data
(numeric, status, text strings, dates and times etc. Each type of data has different
memory format requirements. Therefore when a variable is declared inside an
application, it is named and also given a data type. Available data types are defined in
libraries.
ABB define a set of standard data types within the ABB standard libraries which
become available following installation of the system.
NOTE!

It is also possible for the user to define his own data types
in project specific libraries.

The data types are used by variables declared within the application. A variable may
be considered as an instance of a data type.

6.3.3 Function Block Types


Function blocks provide additional functionality for the programmer. ABB supply a
large number of pre-defined Function Blocks in the standard libraries. For example, in
the library BasicLib there are function block types for timing, data conversion,
counting and much more. In the library ProcessObjExtLib there are function blocks
for valves and Motors.
Instances of Function Block Types may be created in programs and control modules in
an application. (provided the appropriate library is connected to that application).

6.3.4 Control Module Types


Control Modules are a unique addition to the traditional programming methods. They
may be considered as enhanced function blocks. They may contain code, graphics and
other function blocks or control modules.
ABB provide many Control Module Types in the standard libraries. The user may then
create instances of these types his application. Control modules are instantiated at
application level or else inside other control module types.
It is also possible for a user to define his own Control Module Types in project
specific libraries.

7 / 45

CH112-06 Libraries - RevB

6.3.5 Functions
In some libraries certain functions are defined. Functions are usually very basic
operations such as AND (logical operator) or ADD (addition).
You should distinguish between Functions and Functions Blocks they are not the
same:

Functions return a single result immediately on execution of the function call.

Functions do not retain values from previous calls, unlike function blocks.

The majority of functions available in the system are defined in the library called
System, which is always loaded when any project is created. (It is not possible to
have a project which does not have the System library because otherwise it would
not be possible to write even the simplest statements in code!)
NOTE!

It is not possible for the user to define his own functions.

The library System is a special case in that it provides the very basic functions and
operators.

6.3.6 Library Dependencies


A given library may have type definitions which may use types from another library.
This is so that simpler libraries may provide types which may be used to build more
complex types in a higher library.

In the above, the library BasicLib uses types from IconLib. For this to be possible
the library IconLib is Connected to BasicLib.
We say that BasicLib is dependant on IconLib.

8 / 45

800xA Minerals Training

6.4 General Comments about Libraries


1. ABB provides for 800xA system many standard and application specific libraries.
2. Libraries add functionality to a project.
3. Libraries and their contents are organized by function. This makes it easy to
choose the library required.
4. Libraries are used to store type definitions called Types.
5. A library may contain Functions, Data Types, Function Block Types and Control
Module Types.
6. A user may define his own User libraries which may contain project specific,
user defined, Data types, Function Block types or Control Module types (but not
Functions).
7. A library may be connected to another (higher) library. The higher library may
then use types from within the connected library to make more complex types.
8. One important application specific set of libraries is the Minerals Library. This
is handled in chapter **:

6.4.1 Libraries Versions


System 800xA Version 4 fully supports version handling for libraries. (This topic is
dealt with later in the course). For now, you should note that a library name includes
its version designation, for example BasicLib 1.2-3.
First Digit

Major Version Number

Second Digit

Minor Version Number

First and second digits are, by convention separated by a period.


Third Digit

Revision number

Third digit is separated from the previous with a hyphen.


For new projects the latest versions of all libraries are used. For modifications to
existing projects, use the library versions that were originally used to build the
project.

9 / 45

CH112-06 Libraries - RevB

6.5 Fundamental Libraries


6.5.1 System
Contains only Data Types and Functions. This is a special library which is loaded with
all projects. It connects automatically to all libraries and applications in the project.
It contains all the definitions for the programming instruction set and the definitions of
the simple data types.

The diagram on the next page shows the functions defined in the System library. The
user may not define his own functions in control builder. They are part of the kernel
(system) code.

10 / 45

800xA Minerals Training

As can be seen the functions provide arithmetic, comparison, logical operations, data
type conversion, timers, date and time handling amongst others.

11 / 45

CH112-06 Libraries - RevB

6.5.2 BasicLib
This library contains only Data types and Function Block Types. The library has
definitions for much useful functionality:

Counters

Timers

Automatic Check of Feedback (ACOF)

Edge Detection

Multiplexers and Signal switches

Data type converters

Level Trips with Hysteresis

Shift Registers

Latches

Stacks and Queues

Time and Date Functions

6.5.3 IconLib
This library is made out of Control Module Types and contains Standard Icons which
are used by many Control Modules in other libraries.
IconLib is a connected library for those other libraries which require graphical icons in
the control modules.

6.5.4 SupportLib
This library contains hidden objects which are used by some other libraries. This
library may be present in a project but there is nothing in it which can be used
independently by the user.
When another library requires it, then it will get loaded automatically

12 / 45

800xA Minerals Training

6.5.5 AlarmEventLib
This is an important library containing function blocks and control modules for
detection and management of alarms in a controller.
Alarms are detected and generated with the AlarmCond function block type or the
AlarmCondM control module type.
The AlarmCondBasic function block type and the AlarmCondBasicM control
module offer reduced functionality but use less code memory.

DataToSimpleEvent (FBT) allows an event to be defined and also the transmission of


additional data from the controller to the OPC server.
PrintAlarms and PrintEvents prints to a local serial line printer which may be
connected to the serial port of the controller.
Hardware and System alarms generated locally in the controller may be subscribed to
using the AttachSystemAlarm

13 / 45

CH112-06 Libraries - RevB

6.6 Communication Libraries


There is a set of communication libraries titled and organized according to the
protocol required for communication.
NOTE!

In system Baseline 2, all communication functionality


was placed in the Library CommunicationLib.

In System Baseline 3 and onwards, separate libraries for each of the protocols were
made. CommunicationLib remains for compatibility with earlier installations.
Most of the Communication libraries have similar modules. The Connect module
defines a channel and makes a connection. The Read modules read data via the
connected channel. The Write modules write data out via the connected channel.
Generally one connect is used and many Read/Write modules are linked to this
connection.

6.6.1 CommunicationLib
As mentioned above CommunicationLib remains for compatibility with earlier
installations.
For new projects choose from the libraries below in this section.

6.6.2 COMLICommLib
COMLI is a proprietary Master/Slave protocol implemented from the 1970s by
SattControl/Alfa Laval Automation. It supports RS232 and RS485 transmission.
This library is used to communicate from AC800M to legacy SattControl systems.
Early SattControl PLCs include SattCon31, SattCon 05, SattCon 15, and SattCon200.

14 / 45

800xA Minerals Training

COMLIConnect makes the channel connection to the remote slave.


COMLIRead reads bit values or register values in the slave PLC on an event.
COMLIReadCyc reads bit values or register values in the slave PLC at regular
intervals (cyclically)
COMLIReadPhys reads scaling values and engineering units, for registers and
Analogue signals in the PLC
COMLIWrite writes Bits or Registers to the Slave PLC memory
COMLIWriteDT writes Date and Time to the Slave PLC

6.6.3 FFH1CommLib
The FOUNDATION Field bus H1 Communication Library FFh1CommLib
contains function block types and control module types for communication with
FOUNDATION Field bus H1 devices.

The function blocks are used to access data belonging to function blocks in
FOUNDATION Field bus device(s) on the FOUNDATION Field bus H1 bus
(including the custom function blocks on the FOUNDATION Field bus
communication interface). All function block types, except those with the extension
Cyc, follow the IEC 61131-5 standard.
There are also control module types for accessing FOUNDATION Field bus devices.

15 / 45

CH112-06 Libraries - RevB

6.6.4 FFHSECommLib
This library contains data types, function block types and control module types for use
with Foundation Field bus HSE (High Speed Ethernet).
FOUNDATION Field bus High Speed Ethernet (HSE) interconnects measurement and
control equipment such as sensors, actuators and controllers. It serves as a Local Area
Network (LAN) for instruments used in process control and manufacturing automation
applications and has a built-in capability to distribute the control application across the
network.

For more information, see the FOUNDATION Field bus HSE section in the
Communication, Protocols and Design.
The Field bus Builder for FOUNDATION Field bus (FBB FF) tool must be installed
on the same engineering station and must be running during configuration and
download.
The data types and control modules types with the key letters ..CC.. are used to
interface with continuous control modules in the Control Libraries (see below)
Communication Interface
The CI860 communication interface unit is used to connect the field bus to an AC
800M controller. The unit provides access to FOUNDATION Field bus HSE linking
devices and field devices, both for downloading configurations and for manipulating
individual settings. Applications communicating through CI860 must use function
blocks and control modules from this library.

16 / 45

800xA Minerals Training

6.6.5 INSUMCommLib
This library is used to create a communication interface to the INSUM motor control
system:

INSUMConnect establishes a connection to an INSUM TCP/IP Gateway.


INSUMRecieve subscribes to updates of measurement or status information from a
Network Variable in an INSUM Device.
INSUMWrite writes to a Network Variable in an INSUM Device on request.

6.6.6 SerialCommLib
This library is used to communicate over any serial link. The objects may be used to
create an interface for any protocol. Applications include reading and writing to serial
devices.
This library supercedes SerialLib for SV3 and later.

6.6.7 SerialLib
An earlier version of SerialCommLib used up to SB2.

17 / 45

CH112-06 Libraries - RevB

6.6.8 MB300CommLib
This library contains function block types which enable the user to build an interface
to the ABB Advant AC400 controller series for Master.
The ABB Advant Master system has its own control network using the proprietary
MasterBus300.

A CI855 communication interface module is placed in the CEX bus to link directly
onto the MB300 network.
The MB300Connect function block makes the connection to the MB300 network.
The MB300DSRecieve receives data sets from the MB300 control network. The
MB300DSSend transmits data sets to other nodes on the MB300 control network.

18 / 45

800xA Minerals Training

6.6.9 MMSCommLib
This library contains function block types used to connect applications over the
TCP/IP control network.
NOTE!

MMS stands for Manufacturing Message Specification.

This is the protocol used for all communication between AC800M controllers. It is
also used (in the background) for the on-line editors in Control Builder and for
application download from a Control Builder engineering station to the controllers.

The function blocks with a 2 in their type name are SIL2 certified and are for use
with the High Integrity controller AC800 HI.
MMSConnect is used to create a data stream (channel). MMSRead are used to read
data from a remote application. MMSWrite are used to write data to a remote
application. MMSDef are used to define MMS variables from program code. Such
variables may then be loaded with data which may be read or written by remote
applications.
The control modules with the key letters CC are designed to allow MMS variables to
be interfaced to the modules in the Control libraries. (CC stands for
ControlConnection and is a special data type used in PID loops.

19 / 45

CH112-06 Libraries - RevB

6.6.10 ModbusCommLib
This library is used to connect to Modbus devices over a serial link.

MBConnect defines the channel and the remote slave address with which to connect.
MBRead reads data via the Modbus channel. MBWrite writes data out over the
ModBus channel.
MBException examines the exception coils within the remote slave.

6.6.11 ModemCommLib
This library is used to connect to a Modem via a serial port on the controller.

The function blocks may be used to dial up a remote system via a telephone link. The
function block ModemDialUp establishes a connection.
The function block ModemHangUp drops the connected line (hangs up).
The function block ModemConnStat examines the status of the connection
(Connecting, Connected, Disconnecting, and Disconnected)
Once a connection has been established function blocks from the other communication
libraries may be used to transmit data over the phone line.

6.6.12 S3964CommLib
The Siemens 3964R Communication Library (S3964CommLib) contains function
block types to establish communication with a system supporting the Siemens 3964R
protocol. S3946R is a point to point protocol for communication with Siemens devices

20 / 45

800xA Minerals Training

S3964RConnect makes a channel connection to the remote Siemens systems over a


serial channel.
S3964RRead reads values from the remote system on an event in the controller and
S3964RReadCyc read values from the remote system at a defined interval (cyclically)
S3964RWrite writes a value to the remote system

6.6.13 SattBusCommLib
SattBus is a proprietary Token Passing Bus, designed and implemented by
SattControl/Alfa Laval Automation during the early 1990s.
Most applications which used it are found in the food industry where it was used to
support the control high density valve matrices (SattTop)
The SattBusCommLib provides function blocks which may be used to communicate
with those devices which use SattBus communications.
SattBus is also used in some SattControl PLC systems as the preferred serial
communications method. Unlike COMLI which is Master/Slave, SattBus gives peerto-peer communication with up to 124 nodes on one bus.
SattBus was an early development in field bus technology.

21 / 45

CH112-06 Libraries - RevB

6.7 Continuous Control Libraries


There is a range of Control libraries with increasing level of sophistication and
complexity. The libraries are described below in ascending order of complexity.
The control libraries contain function block types and control module types for
continuous control of processes. (Sometime referred to as PID control)

6.7.1 ControlSupportLib

This library contains hidden support functions. There are no accessible items in this
library for the user; however it is need as a sub-library for any of the other control
libraries. It is loaded into a project automatically when another control library is
loaded.

6.7.2 ControlSimpleLib
This is the simplest and lowest level control library. It contains data types and function
block types for basic control loops. More complex loops may not be constructed with
objects only from this library.

PidSimpleReal is a reduced functionality PID controller.


The function block supports - Manual control, Tracking, Backtracking, Anti-integrator
wind-up and Bumpless transfer.
There is also interaction graphics that makes set-up and maintenance of the controller
easier.

22 / 45

800xA Minerals Training

FilterReal and Filter2PReal are single and two pole low-pass filters designed to
reduce noise on incoming analogue signals
DerivativeReal and IntegratorReal provide the derivative and integral of a signal
respectively.
AccelerationReal is a ramp function that limits the rate at which an output signal may
change (damper), it may also be used to limit the acceleartion of an output signal.
LeadLagReal may be used to derive a lead or a lag from a signal.
The PiecewiseLinearReal function block type has a table with a number of selectable
input-output pairs, to define a non-linear function. Values between these pairs are
calculated by linear interpolation.
The maximum number of data points is 21, and there is an interaction window that
makes data input easier.
If there is a need for more than the available 21 data points, several
PiecewiseLinearReal can be used in parallel.
This function block type is typically used when a transmitter or actuator has a nonlinear response. (e.g. level transmitter in a spherical tank).
The PiecewiseLinear2DReal function block type holds a table matrix for two inputs
and one output to define a non-linear surface. PiecewiseLinear2DReal is an
expansion of the function block PiecewiseLinearReal (see above) to two dimensions.
The restriction to the x values and the y values is that they must be increasing. A
maximum of 21 x values and 11 y values can be specified, that make 231 data points.
If more data points are needed, several PiecewiseLinear2DReal function blocks can be
used in parallel. There is an interaction window that can be used to edit the data.
The ThreePosReal function block type is a three-position converter from a real input
to two Boolean outputs with increase and decrease function respectively.
ThreePosReal can be used with or without feedback from the actual actuator. It is used
for actuator which requires a Boolean open or close signal rather than a proportional
signal.
The VelocityLimiterReal function block type is a ramp function that is used to limit
the rate of change of a signal.

23 / 45

CH112-06 Libraries - RevB

6.7.3 ControlBasicLib
The ControlBasicLib library contains function block types for complete control loops
which may be connected directly to the I/O signals.

The controllers in these control loops can be configured either as P, PI, PD or PID
controller with the following functions:

Auto tuner of relay type

Feed forward

Tracking

Deviation alarm output

Limitation of output

Anti-integrator wind-up

Bumpless transfer

Dead Zone for the control deviation

Bumpless switchover to redundant I/O

ControlAdvancedLib

PidLoop and Pidloop3P function block types define simple complete control loops
with a controller and a first-order low-pass filter on the process value input. The
PidLoop provide an analogue output signal to the process actuator, whilst the
Pid3Ploop provides two digital output signals (Open and Close) together with the
option for an additional position feedback signal from the actuator.
The PidCascadeLoop and the PidCascadeLoop3P function block types define
complete cascade control loop with two controllers and a first-order low-pass filter on
the process value inputs. The two PID controllers are identical to the PID controller in
the PidLoop function block type. PidCascade3Ploop provides two digital output
signals (Open and Close) together with the option for an additional position feedback
signal from the actuator.

24 / 45

800xA Minerals Training

6.7.4 ControlStandardLib
This library contains Control Module Types use to create PID loops in the CMD
editor. All modules in this library may be connected using graphical connections.

The data type Control Connection (represented by CC above) or is used to connect


between modules. It has Forward and Backward components necessary for the correct
data transfer needed during the execution of control loops.
AnalogInCC and AnalogOutCC are used to connect directly to Analogue inputs and
Analogue Outputs in the Hardware.
PidSimpleCC and PidCC provide two PID controllers the simple version offers a
subset of facilities for reduced code and complexity.
CCToInteger and CCToReal convert CC type signals to Integer and real types.
RealToCC converts a raw Real signal into a CC type.
BranchCC and Branch4CC provide signal branching within the loop diagram. The
input signal is split into two or four separte outputs.

25 / 45

CH112-06 Libraries - RevB

Level2CC, Level4CC and Level6CC provide two, four and 6 alarm levels for a signal
with hysteresis
CommonRangeCC may be used to separate an input signal into two output parts. The
two parts always add to the input signal but the first output may be adjusted over the
signal range
SplitRangeCC is used to split an input signal into two parts with separate scaling for
each of the two outputs.
MidRangeCC provides two outputs from a single input, the first output is a fast
acting output whereas the second acts slowly.
LimiterCC, LimiterHighCC and LimiterLowCC are used to clamp a signal between
two values, keep a signal below a given value and keep a signal above a given value,
respectively.
MaxCC and Max4CC output the maximum of two or four signals respectively
MinCC and Min4CC output the minimum of two or four signals respectively
SelectorCC and Selector4CC allow selection of an output signal from 2 or four input
signals. The Selector4CC can be cascaded to provide choices from more that four
signals
SelectGoodCC and SelectGood4CC select good quality signals from two or four
inputs.
AccelerationLimCC is a ramp function that is used to limit the velocity and
acceleration of an output signal. VelocityLimiterCC is a ramp function that is used to
limit the velocity (rate of change) of an output signal
TapCC is used to tap (sample) a signal from the main data flow of type
ControlConnection. TapRealCC taps off the real part of the ControlConnection
signal.
PulseWidthCC generates an output pulse train. The period may be set and the pulse
width (Logical high) is proportional to an incoming signal.
ThreePosCC converts an analogue signal into two digital signals, Open and Close. It
has the facility for position feedback.
SignalSupervisionCC monitors the quality of a signal and generates events when the
quality is suspect.

26 / 45

800xA Minerals Training

6.7.5 ControlExtendedLib
This library contains Control Module Types which extend the functionality of the
ControlStandardLib. It contains modules which may be used to manipulate loop
signals:

AddCC, SubCC, MultCC and DivCC perform addition, subtraction, multiplation


and division on variables of type ControlConnection.
DerivativeCC and IntegratorCC take the derivative and Integral, respectively, of a
signal of type ControlConnection.
SqrtCC extracts the square root of a signal of type ControlConnection.
XRaisedToYCC raises the value of a ControlConnection signal (X) to the power Y.
FilterCC and Filter2PCC are low pass filters with single and two pole behavior.
Flock calculates a flow signal compensating for pressure and temperature.
Mean12ExcludedBadCC, Mean8ExcludedBadCC and Mean4ExcludedBadCC
monitor the quality of 12, 8 or 4 signals, respectively. If the quality of any incoming
signals are poor or drift from the majority, then these signals are ignored and an
average value taken from the best set of signals is calculated.
LeadLagCC generates a lead or lag behavior for a signal of type ControlConnection.
DelayCC delays an input signal before presenting it at the output.
PieceWiseLinearCC, PieceWiseLinear2DCC and PieceWiseLinearExtension are
used to create linearisation tables for a signal. The extension module allows cascading
of the others. The 2D module allows for a two dimensional surface function to be
modeled.
StateCC is used to create a one-scan delay in the passage of a signal. In some cases
this is necessary to avoid incorrect data flow within a control loop.

27 / 45

CH112-06 Libraries - RevB

6.7.6 ControlAdvancedLib
This library contains an additional PID controller with advanced facilities and also a
Static Friction Conpensating modules. The two modules may be used with others from
the other control libraries. All modules in this library may be connected using
graphical connections.

The PIDAdvancedCC control module type is and advanced PID controller with the
following functionality:

Configurable as PPI (Predictive PI controller)

Autotuner of relay and step response types

Gain scheduling

Adaptive control

Oscillation detection

Sluggish control detection

The StictionCompensator control module is used in certain prcesses where valve


movement is contrained by a large degree of static friction,for example by viscous
fluids. It adds an extra pulsed signal to the controller output to overcome static friction
during movement.

6.7.7 ControlFuzzyLib
ControlFuzzyLib contains control module types which allow the user to create
multivariate control functions using fuzzy logic. This type of logic may be used to
create rule-based control systems based on multiple input signals together with
multiple output actuators. Certain applications do not readily yield to traditional PID
control methodologies. It is here that fuzzy control may be used to advantage.

28 / 45

800xA Minerals Training

It is intended that the types are copied as templates and modified in the users own
libraries to suit a particular control scenario.

FuzzyController1CC, FuzzyController2CC and FuzzyController3CC are fuzzy


controllers.
FuzzyPvIn and FuzzySpPvIn are two input control modules for the fuzzy control
scheme. They generate the first and second derivatives from the error value (the
incoming signal(s) to form membership functions which are handled by the
InputMembership modules.
FuzzyCondition6, FuzzyCondition12 and FuzzyCondition18 are used to receive the
membership functions from preceding input modules and generate a fuzzy AND
between them. This result is sent to the FuzzyRule modules (FuzzyRule5, 10, 15, 20,
25 and FuzzyRule30.
The OutputMembership module is used to generate a membership function which is
the result of the application of the rules. Finally the Defuzzyfication module converts
the output membership into signals which can be applied to the process actuators via
the FuzzyOut modules.
The FuzzyProgramControl module allows the user to interact with the controller at
run time.
The modules FuzzyIcon and FuzzyPres are used by the other modules for
presentation graphics.

29 / 45

CH112-06 Libraries - RevB

6.8 Process Object Libraries


The Process Object Libraries give function block types and control module types for
many basic process control devices (Valves, pumps etc.)
This section collects the libraries loosely associated with such devices.

6.8.1 ProcessObjBasicLib
The Process Object Basic Library is a sub-library to ProcessObjExtLib (see below).
It provides core functions used by the devices in ProcessObjExtLib.

The main types are prefixed by the word Bi or Uni. Bi types are two directional
devices (e.g. a motor with forward and backward motion) whereas Uni are one
direction devices (e.g. a block valve).
UniCore provides the core logic for controlling the program interface to a unidirectional device a motor or two position valve. It contains hidden code that may
not be modified by the user. UniCoreDelayOfCmd is similar but allows for a delay to
be configured before the Start or Stop command is applied to the device, this is used
when noisy command signals might cause multiple start/stop cycles. Effectively the
command must be present for a certain time before the action takes place.
BiCore provides the core logic for controlling the program interface to a twodirectional device a motor with forward and reverse direction or a three position
valve. It contains hidden code that may not be modified by the user.
BiCoreDelayOfCmd is similar but allows for a delay to be configured before the
command is applied to the device, this is used when noisy command signals might
cause multiple start/stop cycles. Effectively the command must be present for a certain
time before the action takes place.

30 / 45

800xA Minerals Training

DriveCommandSend and DriveStatusReceive are core modules for interfacing to


ABB drive systems. They contain hidden code which is not accessible by the user.
UniSimple and BiSimple (together with UniSimpleM and BiSimpleM) provide
interaction windows and hence user interfaces to the devices in which they are placed.
Their code is accessible and it is intended that a user may make new types and modify
either the code or graphics in these types.
PrioritySup is used to supervise priority commands for the device and generate error
texts for the alarm handling. This module used as a template and new types made from
it may be modified by the user.
The remaining types are Faceplates or Icons used in the interaction windows of the
devices. They might be modified by the user if required.

6.8.2 ProcessObjExtLib
This library contains function block types and control module types which are used to
control process objects such as valves and motors.

Function Block Types and Control Module Types are provided so that a user may
choose a program or control module solution.

31 / 45

CH112-06 Libraries - RevB

For example the function block type ValveUni has a corresponding control module
type ValveUniM.
The main (key) objects are:
Bi and Uni function block types, the BiM and UniM control module types.
These are used as they are or modified for two directional and single directional
devices.
ValveUni and ValveUniM
These are used as they are or modified for two state valves (open/closed).
MotorUni and MotorUniM
These are used as they are or modified for two state motor devices (Running/Stopped).
MotorBi and MotorBiM
These are used as they are or modified for bi-directional motor devices
(Stopped/Running Forward/Running Backward).
OETextUni, OETextBi and OETextValveUni function block types are used to
generate alarm and event texts for presentation in the interaction windows or else in
the 800xA system.
The remaining objects provide support Icons and Faceplates. These may be modified
after conversion to a user type.

6.8.3 ProcessObjDriveLib
This library provides control module types for controlling ABB drives

Two approaches are used for drives either the user accepts the ABB standardized
interface to the drive for control and status or else uses an Engineered drive function.
The Standard drive is used with standard application firmware that is loaded into
drive.
The standard interface provides most of the control and status signals that the user will
require in most situations.
The Engineered drive gives a complete set of all signals for the drive and allows the
user to tailor a specific and specialized drive solution for those applications requiring
particular behavior. The Engineered drive is effectively an open interface to the drive
controller giving complete freedom to manipulate the behavior of the drive.

32 / 45

800xA Minerals Training

The Standard drive may be considered as a sub-set of the engineered drive.


ACStdDrive and ACStdDriveM are types used to create a Standard Interface to AC
drives
DCStdDrive and DCStdDriveM are types used to create a Standard Interface to DC
drives
EngDrive and EngDriveM are types used to create an Engineered Interface to the
drives

6.8.4 ProcessObjInsumLib
The Process Object INSUM Library (ProcessObjInsumLib) library contains function
block types and control module types to control and supervise the standard INSUM
(INtegrated System for User-optimized Motor management) devices, MCU (Motor
Control Unit) and trip unit for Circuit Breakers.
The INSUM devices are connected via an INSUM Gateway and a CI857 hardware
unit to the AC 800M. All objects have Faceplates and Display Elements in the
operator interface and Control Builder interaction windows are included.
INSUM is a system for control and supervision of mainly motors. Each motor has a
motor control unit (MCU) located in the motor starter module. INSUM devices (such
as MCUs) are arranged in up to four subnets, each of them supporting up to 32 units at
78 kb/s transfer rate. A network (LonWorks) transfers messages at 1.25 Mb/s between
subnet units, via routers.
Up to 128 INSUM devices (for example MCUs, or Circuit Breakers) can be
supervised per INSUM Gateway. Multiple controllers can access the same MCU in an
INSUM system. The INSUM system may operate independently from other systems.

Both Function block types and Control module types are provided
InsumBreaker and InsumBreakerM are used to interface to circuit breakers
controlled by an INSUM system
McuBasic and McuBasicM are used to interface motor control units controlled by an
INSUM system
McuExtended and McuExtendedM are used to interface motor control units
controlled by an INSUM system and offer additional signals for control and status.

33 / 45

CH112-06 Libraries - RevB

6.8.5 GroupStartLib
The GroupStart library contains control modules types to control and supervise a
sequential startup of process objects, that is, to build procedures for starting and
stopping processes. The Group Start library is based on the control module concept
that makes it suitable for creating start/stop procedures for machine applications.

GroupStartHead is used to supervise the entire start group, it keeps track of the
alarms generated in the group and detects any connected objects that are not ready to
start when in the Group Start mode.
GroupStartStep is used to define a step in a Group Start sequence.
GroupStartAnd is used when two or more Group Start groups need to be
synchronized before a Group Start object or sub-group is to be started.
GroupStartOr is used when a Group Start object or sub-group is to be started from
two or more Group Start groups.
GroupStartTestObject is used to test the start up configuration and to simulate alarm
situations.
GroupStartObjectTemplate is used to connect a generic process object to the Group
Start.
InfoParGroupStartObjectTemplate is used as an interaction window for the
GroupStartObjectTemplate control module type.

34 / 45

800xA Minerals Training

6.8.5.1 SeqStartLib
The SeqStartLib contains functionality for control of an SFC (Sequential Function
Chart) from the process, application code or operator workplace.
Graphic Elements are prepared for use with the objects in this library in the Graphic
Displays of the HMI.
The Sequence Start Library envisages a starting sequence and a stopping sequence for
a given process area.
The Group Start library may also be used for starting and stopping processes
synchronously.
The Sequence Start library is more suitable for group starts of plants and processes.
The Group Start library (see above) is more suitable for creating start and stop
procedures for machines.
The Group Start and Sequence Start libraries may act together, for example, Sequence
Start can be used to start underlying Group Start objects.

The SFCHeader function block contains the basic functionality to control and
supervise the SFC.
The SFCStep function block is available to use in the SFC Action Code Block (N
action).
The SFC2DseqChainExample control module contains the SFC header functionality
with an SFC structure example and predefined alarms and events.
The SFC2Dheader control module contains the SFC header functionality and
predefined alarms and events.

35 / 45

CH112-06 Libraries - RevB

6.8.6 SignalLib
Signal object function block types add alarm and event handling to I/O signals (analog
and digital in- and output signals) and application variables.
Signal object function block types also provide filtering and error handling.
In their faceplates, it is possible to force objects, view trim curves, configure and
enable/disable alarms and events, and view/modify parameters.
Each function block has several supervision functions, such as alarm and event levels,
and a faceplate. It is possible to configure the alarms and events.

The SignalBool function block type provides alarm/event handling of application


variables of data type bool, when the input value differs from the normal value.
SignalInBool and SignalOutBool provide similar functionality but work with BoolIO
data types and are designed for those variables connected to digital input and digital
output channels respectively.
The SignalReal function block type provides alarm/event handling of application
variables of real data type, with up to three high levels and up to three low levels and
errors. Error handling is also provided.
SignalInReal and SignalOutReal provide similar functionality but work with RealIO
data types and are designed for those variables connected to analogue input and
analogue output channels respectively.
The SignalSimpleInReal and SignalSimpleOutReal function block types are used in
the same way as SignalInReal and SignalOutReal but they provide reduced
functionality in that only one level trip is provided and supervised. The benefit is that
these simple objects use less code.

36 / 45

800xA Minerals Training

6.8.7 SupervisionLib
The SupervisionLib library consists of modules for detector input, system control and
monitoring, overview presentation and output handling.
The modules are applicable for general detection systems as well as safety
applications. All modules can be used in SIL classified applications.

The library contains control modules in four


The Detector1Real and Detector2Real modules monitor one or two RealIO input
values respectively and generate a detection alarm when the signal exceeds a certain
value. Detector2Real generates two outputs at HH and H values.
DetectorBool is used to detect if a BoolIO signal is incorrect, if so generates a
detection alarm.
The Modules DetectorAnd, DetectorAnd4, 8, 16 are used to AND together detection
events from other detectors.
The Modules DetectorOr, DetectorOr4, 8 , 16 are used to OR detection events
together.
TheDetectorBranch, DetectorBranch4, 8, 16 are used to branch out detection events
from any single detection signal.

37 / 45

CH112-06 Libraries - RevB

The modules OrderBranch, OrderBranch4, 8, 16 are used to branch (fan-out) a


detection event to several destinations.
The module OutputOrder is used to send a final detection event to the OrderBool
module. The OrderBool module is connected to a BoolIO variable and hence to a
Digital Output Channel.
The SupervisonOverview module provides an overview of the complete supervision
system.
The module OverrideControlInterface provides Override and Control interface for
operator usage.
The module DetectorVote provides the ability for several detectors to be connected
and a voting level established. When more detections occur than this level, then the
module itself will generate an output detection.

6.8.8 FireGasLib
The FireGasLib library contains modules for monitoring and control of protection
systems that are typically used in a Fire & Gas system. All modules can be used in SIL
classified applications.

The CO2 module for control and monitoring of a CO2 protection system
The Deluge module is used for control and monitoring of a Deluge protection.
The Sprinkler module is used for monitoring of a Sprinkler protection system, with
feedback monitoring.
The FGOutputOrder module for control and monitoring of a non-protection

38 / 45

800xA Minerals Training

39 / 45

CH112-06 Libraries - RevB

6.9 Help on the Libraries and their Objects


Help is available from several sources:

6.9.1 Online Help

Click Help in the menu bar and then Help Topics


OR

Click on the Help Icon in the Toolbar:

Context sensitive help


When a library is open in the project explorer help on any item may be obtained by
Marking the Item and then pressing the F1 key.

If you need to read about a strange new function block, just mark it and press F1

40 / 45

800xA Minerals Training

6.9.2 Manuals
All official manuals from ABB are available from the Help menu:

41 / 45

CH112-06 Libraries - RevB

6.10 How to Insert a Library into a Project


6.10.1 From within Control Builder:
1. Mark the object Libraries in the Project Tree:
2. Click right and select Insert Library

3. Select the library that is required in the Insert library dialogue and click the
Insert button:

42 / 45

800xA Minerals Training

6.10.2 From within the Engineering Workplace


1. Use the Structure Selector to go to the Control Structure.
2. Select the Project for which the library is required in the Object pane
3. Select the Project aspect in the Aspect pane:

4. In the Preview window select the Tab Libraries, Click on the Insert button:

5. Select the library required by browsing in the Object Type Structure in the Library
Group object

43 / 45

CH112-06 Libraries - RevB

6.11 How to Connect a Library to an Application


The most convenient way to do this job is using the Control Builder.
There may be many libraries in a project, there may also be many applications in a
project. Each application may have a different set of libraries connected to it,
according to the requirements of the application.
In order to connect a library to an application, that library must already be present in
the projects pool of libraries.
1. Mark the Connected Libraries folder underneath the application concerned, click
right and select Connect Library

2. Select the library to be connected from the drop down list and then click OK

44 / 45

800xA Minerals Training

6.11.1 How to Create a New (user) Library


1. Mark the Libraries folder in the Project Explorer:

2. Click right and select New Library

3. Type in a name for the new library and click OK

The new library will appear in the project tree. The new library may then be edited and
connected to those applications which need its functionality.

45 / 45

Вам также может понравиться