0% found this document useful (0 votes)
65 views57 pages

Compact Control Builder Libraries Guide

PLC

Uploaded by

Toi Toi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
65 views57 pages

Compact Control Builder Libraries Guide

PLC

Uploaded by

Toi Toi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Compact Control Builder Training

Chapter 7 Libraries

TABLE OF CONTENTS
Chapter 7 Libraries................................................................................................................................................................. 1
7.1 General Information...................................................................................................................................................... 3
7.1.1 Objectives.............................................................................................................................................................. 3
7.1.2 Legend................................................................................................................................................................... 3
7.1.3 Reference Documentation ...................................................................................................................................... 3
7.2 The Library Concept ..................................................................................................................................................... 4
7.3 Types and Instances ...................................................................................................................................................... 5
7.3.1 Type Names and Instance Names ........................................................................................................................... 5
7.3.2 Data Types............................................................................................................................................................. 6
7.3.3 Function Block Types ............................................................................................................................................ 6
7.3.4 Control Module Types............................................................................................................................................ 6
7.3.5 Functions ............................................................................................................................................................... 7
7.3.6 Library Dependencies ............................................................................................................................................ 7
7.4 Libraries....................................................................................................................................................................... 8
7.4.1 Libraries Versions.................................................................................................................................................. 8
7.4.2 Standard ABB Libraries ......................................................................................................................................... 9
7.4.3 User defined Libraries .......................................................................................................................................... 10
7.5 Fundamental Libraries ................................................................................................................................................ 11
7.5.1 System................................................................................................................................................................. 11
7.5.2 BasicLib .............................................................................................................................................................. 13
7.5.3 IconLib ................................................................................................................................................................ 14
7.5.4 SupportLib........................................................................................................................................................... 15
7.5.5 AlarmEventLib .................................................................................................................................................... 15
7.6 Continuous Control Libraries ...................................................................................................................................... 16
7.6.1 ControlSimpleLib ................................................................................................................................................ 16
7.6.2 ControlBasicLib................................................................................................................................................... 18
7.6.3 ControlStandardLib.............................................................................................................................................. 19
7.6.4 ControlExtendedLib............................................................................................................................................. 21
7.6.5 ControlAdvancedLib............................................................................................................................................ 22
7.6.6 ControlFuzzyLib .................................................................................................................................................. 23
7.6.7 ControlSolutionLib .............................................................................................................................................. 24
7.7 Process Object Libraries ............................................................................................................................................. 25
7.7.1 ProcessObjBasicLib ............................................................................................................................................. 25
7.7.2 ProcessObjExtLib ................................................................................................................................................ 26
7.7.3 ProcessObjDriveLib............................................................................................................................................. 27
7.7.4 ProcessObjInsumLib ............................................................................................................................................ 27
7.7.5 GroupStartLib...................................................................................................................................................... 28
7.7.6 SignalLib ............................................................................................................................................................. 30
7.7.7 SupervisionLib..................................................................................................................................................... 31
7.8 Hardware Libraries ..................................................................................................................................................... 32
7.8.1 Overview ............................................................................................................................................................. 32
7.8.2 BasicHwLib......................................................................................................................................................... 33
7.9 AC800PEC Hardware Libraries .................................................................................................................................. 34
7.9.1 Overview ............................................................................................................................................................. 35
7.10 Help on Libraries and their Objects ........................................................................................................................... 36
7.10.1 Online Help........................................................................................................................................................ 36
7.10.2 AC 800PEC Specific Manuals............................................................................................................................ 37
7.11 Library Handling ...................................................................................................................................................... 38
7.11.1 How to Insert a Library into a Project ................................................................................................................. 38
7.11.2 How to Connect a Library to an Application ....................................................................................................... 39
7.11.3 How to Create a New (User Defined) Library ..................................................................................................... 40
7.11.4 Handling Libraries for Data Exchange with AC 800PEC applications ................................................................. 41

Chapter 7 - 1
J410-07 Libraries - [Link]

Chapter 7 - 2
Compact Control Builder Training

7.1 General Information

7.1.1 Objectives
On completion of this chapter you will be able to:
Explain the concept of libraries and types
Describes the standard libraries provided by ABB
Identify the libraries that are used in a project
Insert the required libraries into a project

7.1.2 Legend
> Indicates when you go from one menu to a sub-menu
Italic Indicates object and file names
“ “ Indicates dialog box buttons, tabs, menus etc.
Bold Indicates important topics
Indicates start/explanation of student activity

7.1.3 Reference Documentation


3BSE041488 Industrial IT – Compact Control Builder AC 800M
Extended Control Software – Binary and Analog Handling
3BSE038018 Industrial IT 800xA – System
System Guide – Functional Description

Chapter 7 - 3
J410-07 Libraries - [Link]

7.2 The Library Concept


One of the three main divisions of a Compact Control Builder 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

Chapter 7 - 4
Compact Control Builder Training

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

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

Chapter 7 - 5
J410-07 Libraries - [Link]

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

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

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

Chapter 7 - 6
Compact Control Builder Training

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

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

ProcessObjExtLib

ProcessObjBasicLib

AlarmEventLib

BasicLib

IconLib

In the example 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.

Chapter 7 - 7
J410-07 Libraries - [Link]

7.4 Libraries
A summary of what we have learned so far:
1. ABB provides many standard libraries
2. Libraries add functionality to a project
3. Libraries are used to store type definitions called Types.
4. A library may contain Functions, Data Types, Function Block Types and Control
Module Types.
5. 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)
6. 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.

7.4.1 Libraries Versions


System 800xA 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.4-6.
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.

Chapter 7 - 8
Compact Control Builder Training

7.4.2 Standard ABB Libraries


In the next sections a brief description of the contents of the libraries provided by
ABB is given.

Batch Applications

Fundamental

Continuous Control

Hardware
Communication

Process Objects

Libraries and their contents are organized by function. This makes it easy to choose
the library required. For example, if you want alarm handling in your code then you
should load AlarmEventLib into your project and then connect it to the applications
that need alarm handling code.
NOTE! The communication libraries for the different protocols
are covered in the chapter “Communication”

Chapter 7 - 9
J410-07 Libraries - [Link]

7.4.3 User defined Libraries


Below you have an example of the Unitrol Libraries:.

Chapter 7 - 10
Compact Control Builder Training

7.5 Fundamental Libraries

7.5.1 System
It 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.
The following basic data types are defined:

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

Chapter 7 - 11
J410-07 Libraries - [Link]

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

Chapter 7 - 12
Compact Control Builder Training

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

Chapter 7 - 13
J410-07 Libraries - [Link]

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

Chapter 7 - 14
Compact Control Builder Training

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

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

Chapter 7 - 15
J410-07 Libraries - [Link]

7.6 Continuous Control Libraries


There is a range of Control libraries available 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)
The ControlSupportLib 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.

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

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 acceleration of an output signal.
LeadLagReal may be used to derive a lead or a lag from a signal.

Chapter 7 - 16
Compact Control Builder Training

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 - if there
is a need for more than several PiecewiseLinearReal can be used in parallel.
This function block type is typically used when a transmitter or actuator has a non-
linear 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. It is an expansion of the function block
PiecewiseLinearReal (see above) to two dimensions.

The ThreePosReal function block type is a three-position converter from a real input
to two Boolean outputs with increase and decrease function respectively. It 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.

Chapter 7 - 17
J410-07 Libraries - [Link]

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

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

Chapter 7 - 18
Compact Control Builder Training

7.6.3 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) 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 analog 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 separate outputs.

Level2CC, Level4CC and Level6CC provide two, four and six alarm levels for a
signal with hysteresis.

Chapter 7 - 19
J410-07 Libraries - [Link]

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

Chapter 7 - 20
Compact Control Builder Training

7.6.4 ControlExtendedLib
This library contains control module types which extend the functionality of the
ControlStandardLib and which may be used to manipulate loop signals:

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


and division on variables. SqrtCC extracts the square root of a signal.
DerivativeCC and IntegratorCC take the derivative and integral of a signal.
XRaisedToYCC raises the value of a signal (X) to the power Y.
FilterCC and Filter2PCC are low pass filters with single and two pole behavior.
FlowCC 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.
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.

Chapter 7 - 21
J410-07 Libraries - [Link]

7.6.5 ControlAdvancedLib
This library contains an additional PID controller with advanced facilities and also a
Static Friction Compensating modules. The two modules may be used with others
from the other control libraries.

The PIDAdvancedCC control module type is an 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 processes where valve


movement is contained 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.

Chapter 7 - 22
Compact Control Builder Training

7.6.6 ControlFuzzyLib
This library 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. In certain applications fuzzy control has an advantage compared to
traditional PID control methodologies.
It is intended that the types are copied as templates and modified in the user’s own
libraries to suit a particular control scenario.

Chapter 7 - 23
J410-07 Libraries - [Link]

7.6.7 ControlSolutionLib
This library contains ready-to-use control solutions for commonly occurring customer
processes. These templates are intended to be used directly in an application, as they
are, but may also be copied to a self-defined library and modified.
A control module solution provides a complete loop control solution with control,
signal monitoring, alarm handling, trending, operator graphics and also a possibility to
add asset optimization functionality

Chapter 7 - 24
Compact Control Builder Training

7.7 Process Object Libraries


The Process Object libraries provides function block types and control module types
for many basic process control devices (valves, pumps etc.)

7.7.1 ProcessObjBasicLib
This library is a sub-library to ProcessObjExtLib (see below) and provides core
functions used by the devices there.

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 a uni-directional 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.
BiCore and BiCoreDelayOfCmd are similar to “Uni” versions, but controlling a two-
directional device – a motor with forward and reverse direction or a three position
valve.
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 and might be modified by the user if
required.

Chapter 7 - 25
J410-07 Libraries - [Link]

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

Chapter 7 - 26
Compact Control Builder Training

7.7.3 ProcessObjDriveLib
This library provides function block types and control module types for controlling
ABB drives.

The Standard drive is used with standard application firmware that is loaded into the
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.
NOTE! The Standard drive may be considered as a sub-set of the
Engineered drive.

7.7.4 ProcessObjInsumLib
This library contains function block types and control module types to control and
supervise the INSUM (INtegrated System for User-optimized Motor management).
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. Up to 128 INSUM
devices (for example MCUs, or circuit breakers) can be supervised per gateway.

Chapter 7 - 27
J410-07 Libraries - [Link]

7.7.5 GroupStartLib
This 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.

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.

Chapter 7 - 28
Compact Control Builder Training

[Link] SeqStartLib
This library contains functionality for control of an SFC (Sequential Function Chart)
from the Operator Workplace. It envisages a starting sequence and a stopping
sequence.
The SeqStartLib is more suitable for group starts of plants and processes. The
GroupStartLib (see above) is more suitable for creating start and stop procedures for
machines. The GroupStartLib and SeqStartLib may act together, for example,
SeqStartLib can be used to start underlying Group Start objects.

The SFCHeader contains the basic functionality to control and supervise the SFC.
The SFCStep 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.

Chapter 7 - 29
J410-07 Libraries - [Link]

7.7.6 SignalLib
This library contains function block types and control module types which add alarm
and event handling to signals (I/O signals and application variables).
The types have several supervision and filtering functions, such as alarm and event
levels, and a faceplate. In their faceplates, it is possible to force objects, view trim
curves, configure and enable/disable alarms and events, and view/modify parameters.

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.

Chapter 7 - 30
Compact Control Builder Training

7.7.7 SupervisionLib
This 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.

Chapter 7 - 31
J410-07 Libraries - [Link]

7.8 Hardware Libraries


All hardware is defined as hardware types (units) in Control Builder. Hardware types
are organized and installed as libraries. Thus, it is possible to handle hardware types in
a more independent way, which allows us to use older and newer hardware units in the
same system.

7.8.1 Overview
A number of standard libraries with hardware types are delivered with the system:

Chapter 7 - 32
Compact Control Builder Training

7.8.2 BasicHwLib
The basic hardware library (BasicHWLib) contains basic hardware types such as
controller hardware for example CPU units, Ethernet communication links, Com ports,
ModuleBus etc.
The basic hardware library is automatically inserted to all Control Projects and
automatically connected to the controller, via the Control Project template.

Chapter 7 - 33
J410-07 Libraries - [Link]

7.9 AC800PEC Hardware Libraries


As briefly mentioned in the previous chapter, if the AC 800PEC controller is used, the
Control Builder must be installed together with the AC 800PEC Extension.
Consequently, if Control Builder Professional is used, it’s necessary to integrate the
AC 800PEC controller into 800xA system: the AC 800PEC specific objects have to be
imported into the 800xA installation.
Please refer to the AC 800PEC User’s Guide for a detailed description of the
installation procedure.
After having performed both these operations, the definition of the basic hardware
components has been installed and the Control Builder is now ready to be used with
the AC 800PEC controller.

Chapter 7 - 34
Compact Control Builder Training

7.9.1 Overview
The following AC 800PEC hardware libraries, defined as hardware types (units) in
Control Builder, are delivered with the installation of the Control Builder extension:

They are splitted into the following folders:


…\ABB Industrial IT\Engineer IT\Compact Control Builder AC 800M
5.0\AC800PEC_Extra\HWLibraries
…\ABB Industrial IT\Engineer IT\Compact Control Builder AC 800M
5.0\HWLibraries

Chapter 7 - 35
J410-07 Libraries - [Link]

7.10 Help on Libraries and their Objects


Help is available from several sources.

7.10.1 Online Help


Select “Help > Help Topics” in the menu bar.

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

Chapter 7 - 36
Compact Control Builder Training

7.10.2 AC 800PEC Specific Manuals


The AC800PEC User Guide, Software Guide and Hardware guide come up with the
installation of the control builder extension and they are available on:
Start>Programs>ABB IndustrialIT AC 800PEC>Documentation>AC 800PEC
Documentation

All the other manual which are specifics within the release of the AC 800PEC
Toolbox currently installed, are available on:
Start>Programs>ABB AC 800PEC Toolbox>Release XXXX

Chapter 7 - 37
J410-07 Libraries - [Link]

7.11 Library Handling

7.11.1 How to Insert a Library into a Project


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
“Open” button.

Chapter 7 - 38
Compact Control Builder Training

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


(inserted) in the project as shown in the previous step.
1. Mark the Connected Libraries folder underneath the application concerned, right
click and select “Connect Library”.

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

NOTE! The libraries are connected to Applications in a similar


way as Hardware libraries are connected to the
Controllers.

Chapter 7 - 39
J410-07 Libraries - [Link]

7.11.3 How to Create a New (User Defined) Library


1. Mark the Libraries folder in the project tree. Click right and select “New Library”.

2. Type in a name for the new library, its location 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.

Chapter 7 - 40
Compact Control Builder Training

7.11.4 Handling Libraries for Data Exchange with AC 800PEC applications


Data exchange with MatLab/Simulink Application
In case of a fast MATLAB/Simulink application (which is treated as a hardware unit
in the Control Builder), an additional hardware library and a project-specific HWD file
must be inserted into the Control Builder application. The additional hardware library
is supplied along with the installation package and the HWD file is supplied by the
Simulink programmer.
Note: If the MATLAB/Simulink application is modified without changing the
ControlIT I/O specification, the new HWD file does not need to be imported into the
Control Builder. If, on the other hand, the I/O specification changes, the HWD file has
to be imported again.
Data exchange with AnyBus-S Modules (AC 800PEC-PEC800 only)
If data (channels) are to be exchanged with an AnyBus-S module, this must be
inserted as an I/O unit into the Control Builder application. The procedure is similar to
the one with a MATLAB/Simulink application: an additional hardware library and a
project-specific HWD file must be inserted into the Control Builder application.
Service Control Panel SCP (AC 800PEC-PEC80 only)
The Service Control Panel (SCP) is an ABB product which can be used as a display
and interaction device together with an AC 800PEC Processor Module PP D104. The
SCP is able to read and write signals from and to the ControlIT application that runs in
the controller. To do this, the SCP has to be configured via an Excel file that will
generate the necessary hardware description to integrate the SCP into Control Builder.
Integration of the SCP into the ControlIT application is done by means of the
ControlIT Flash Utility, which is part of the Control Builder AC 800PEC extension.
The ControlIT Flash Utility requires the [Link] Framework which is installed
automatically with the utility.
Please refer to AC 800PEC User’s Guide for detailed instructions on all these
procudures.

Chapter 7 - 41
J410-07 Libraries - [Link]

Chapter 7 - 42
Compact Control Builder Training

Exercise 7.1 Connecting Libraries

7.1.1 Description
Insert some of the required libraries for later use in the project and connect the
libraries to applications.

7.1.2 Legend
> Indicates when you go from one menu to a sub-menu
Italic Indicates object and file names
“ “ Indicates dialog box buttons, tabs, menus etc.
Bold Indicates important topics
Indicates start/explanation of student activity

Exercise 7.1 - 1
T530-07 Exercise 7.1 - [Link]

7.1.3 Exercise Steps

[Link] Insert the Required Libraries


Libraries may be added by right-clicking the “Libraries” folder in Control Builder.

Insert the following libraries into your Sxx_Reactor project:


AlarmEventLib 1.3
ProcessObjExtLib 2.2
SignalLib 1.4
ControlExtendedLib 1.1

Note that other libraries were added which we did not specifically add ourselves.
These were added because our libraries were dependent on them. Expand the
SignalLib 1.4 library and note which other libraries are connected to it.

Exercise 7.1 - 2
Compact Control Builder Training

[Link] Connect the Libraries to an Application


Before items from a library can be used in an application within Control Builder they
must be connected to that application.
NOTE! These libraries will be used later on in the course.

Connect all libraries to the Sxx_ReactorApp application.

Exercise 7.1 - 3
T530-07 Exercise 7.1 - [Link]

Exercise 7.1 - 4
Compact Control Builder Training

Solution 7.1 Connecting Libraries

7.1.1 Description
Insert some of the required libraries for later use in the project and connect the
libraries to applications.

7.1.2 Legend
> Indicates when you go from one menu to a sub-menu
Italic Indicates object and file names
“ “ Indicates dialog box buttons, tabs, menus etc.
Bold Indicates important topics
Indicates start/explanation of student activity

Solution 7.1 - 1
T530-07 Solution 7.1 - [Link]

7.1.3 Solution Steps

[Link] Insert the Required Libraries

Insert the following libraries into your Sxx_Reactor project:


1. AlarmEventLib 1.3

The result should look like this:

Solution 7.1 - 2
Compact Control Builder Training

2. ProcessObjExtLib 2.2

3. SignalLib 1.4

Solution 7.1 - 3
T530-07 Solution 7.1 - [Link]

4. ControlExtendedLib 1.1

Note that other libraries were added which we did not specifically add ourselves.
These were added because our libraries were dependent on them. Expand the
SignalLib 1.4 library and note which other libraries are connected to it.

Solution 7.1 - 4
Compact Control Builder Training

[Link] Connect the Libraries to an Application

Connect all libraries to the Sxx_ReactorApp application.


1. In Control Builder select the Sxx_ReactorApp

2. Select the correct library and click “OK”. Continue until all libraries are connected

3. Check all libraries are connected to the Sxx_ReactorApp application.

Solution 7.1 - 5
T530-07 Solution 7.1 - [Link]

Solution 7.1 - 6
Compact Control Builder Training

Exercise 7.2 Adding the ML/SL Interface

7.2.1 Description
Together with the installer package you will receive a *.hwd file for the ML/SL
interface. In this exercise we will add this file to the control builder M.
After adding you can use this virtual I/O of the ML/SL interface.

7.2.2 Legend
> Indicates when you go from one menu to a sub-menu
Italic Indicates object and file names
“ “ Indicates dialog box buttons, tabs, menus etc.
Bold Indicates important topics
Indicates start/explanation of student activity

Exercise 7.2 - 1
J410-7 Exercise 7.2 - [Link]

7.2.3 Exercise Steps

[Link] Importing Simulink into Control Builder


Detailed Information you will get from User’s Guide Chapter 8.
Proceed as follows to import the MATLAB/Simulink interface into your CBM project

In the Control Builder right-click Hardware in the Libraries. Then click Insert
Library to copy the Simulink Hardware Library (HWL) template into the project

Select the “AC800PECSimulink HWL” template which is located in the folder:


C:\Program Files\ABB Industrial IT\Engineer IT\
Compact Control Builder AC 800M 5.0\AC800PEC_Extra\HWLibraries

The next step is to save a copy of this template. The name of the copy is for example
“MySimulink”

Exercise 7.2 - 2
Compact Control Builder Training

Important: With the current version of the Control Builder, do not use the
Browse option since it will not copy the file to the correct folder.
Instead, type the project location either by hand or copy the path from the
Windows Explorer

Always add a backslash (\) to the copied path. Name the copy MySimulink

1. Change
………………

Then insert this saved copy to your project. It must be under the current project
folder

Exercise 7.2 - 3
J410-7 Exercise 7.2 - [Link]

The template we do not use anymore. Remove it.

Update your Simulink library with your HWD –File (My Documents\DataJ410)

The result will look like this

Exercise 7.2 - 4
Compact Control Builder Training

[Link] Add the Library to the AC800PEC Hardware

Right click on PPD103

Select the MySimulink Libraries

The virtual I/O’s of the ML/SL interface are ready to use

Exercise 7.2 - 5

You might also like