Professional Documents
Culture Documents
PUMP - Lib V23 Examples - Description V110 3ADR023042M9901
PUMP - Lib V23 Examples - Description V110 3ADR023042M9901
Content
1.
2.
3.
Configuration ............................................................................................................. 9
3.1 Automation Builder configuration ................................................................................... 9
3.2 ACQ810 drive configuration........................................................................................... 10
4.
4.1.4 Visualization.................................................................................................................. 17
4.2 Example Simple Boost Control in PM 564 ................................................................. 18
4.2.1 Configuration Programs ................................................................................................ 19
4.2.1.1 Station configuration ............................................................................................................ 19
4.2.1.2 Pump Interface ..................................................................................................................... 19
4.2.2.1 Boost control ........................................................................................................................ 19
4.2.2.2 Auto-change function ........................................................................................................... 20
4.2.2.3 Retain data function ............................................................................................................. 20
4.3.4 Visualization.................................................................................................................. 24
4.3.5 Additional Functionalities .............................................................................................. 24
4.3.5.1 Pump Antijam ....................................................................................................................... 24
4.3.5.2 Pump Flow Calc ................................................................................................................... 26
4.3.5.3 Pump Protection ................................................................................................................... 26
4.3.5.4 Pump Sleep .......................................................................................................................... 27
4.3.5.5 Pump Energy Calculation..................................................................................................... 28
4.4 Example Traditional Pump Boost Control w. auxiliary functions in PM 573 .......... 29
4.4.1 Configuration Programs ................................................................................................ 30
4.4.1.1 Station configuration ............................................................................................................ 30
4.4.1.2 Pump Interface ..................................................................................................................... 30
4.3.4 Visualization.................................................................................................................. 31
4.5 Example Multi Pump Boost Control w. Drive Simulation in PM 573 ....................... 33
4.5.1 Configuration Programs ................................................................................................ 34
4.5.1.1 Station configuration ............................................................................................................ 34
4.5.1.2 Pump Interface ..................................................................................................................... 34
4.5.4 Visualization.................................................................................................................. 35
4.5.5 Additional Functionalities .............................................................................................. 36
4.5.5.1 Pump Antijam ....................................................................................................................... 36
4.5.5.2 Pump Flow calc .................................................................................................................... 36
4.5.5.3 Pump Protection ................................................................................................................... 36
4.5.5.4 Pump Sleep .......................................................................................................................... 36
5.
1.
INTRODUCTION TO DOCUMENT
Complexity
Example_PM564_PUMP_Level_simple.project
Example_PM564_PUMP_Boost_simple.project
Example_PM573_PUMP_Boost_complete.project
Simple pumping
Example_PM573_PUMP_Boost_traditional.project
Example_PM573_PUMP_Boost_complete_sim.proj
ect
Complete multi
pump
Complete traditional
pump setup
Complete multi
pump; with drive
simulation:
Application
block
Level control
Boost
Chapter
4.1
4.2
4.3
4.4
4.5
All projects do have a simple simulation of pumps and a tank to enable a simple test and familiarization.
1.3 Compatibility
In the application programs the serial communication (MODBUS RTU) is used to transfer and receive data
between AC500 PLC and ACQ810 drives and is described in more detail
PUMP_AC500_V23.lib can be also used with any other communication protocol (or drive) supported by
PS553 ACS drives library.. User needs to configure PS553 ACS drives library accordingly to establish the
communication between the drives and the AC500 PLC.
The example program explained in this document is compatible with the
o Simple pumping function water library, for theAC500 PLC
o ACS drives family.
2.
2.1 Introduction
The PUMP Library is intended for smaller pump stations (or pump skids) and medium sized stations. It
contains the block for the basic functionalities as well as advanced functions for very different applications.
This version is usable for 1-3 pumps as can be seen in the below picture, and assumes the use of drives for
each pump or at least one in the traditional setup.
The minimal sensor equipment for boost control applications is a pressure (or flow) sensor, for level control a
level sensor. Often additionally also at the input a sensor is placed e.g. for advanced protection.
The two main pumping applications in water and waste water are:
o Boost (typically pressure boost) control: Used in Network feeding or lift applications
o
For both applications a special application block is available, which has all the needed basic functionality, so
that with minimal programming and mainly configuration an application can be setup.
Further auxiliary and optimization blocks are part of the library, which help in putting additional advanced
functionality with again minimal programming effort.
This block type concept helps in always having the necessary functionality without using too much PLC
resources (Memory) and keeping the applications as simple as possible. Therefore the Pumping library can
be used throughout the AC500 Platform, starting from the small AC500eco.
The next picture shows the blocks and their use for an application for small pump stations or sets. The main
application block is in the middle of the picture, dotted blocks are optional. The number in brackets shows
how often such a block is used in a setup with 3 pumps.
This picture shows a simple but typical application for small pump station or pump-skid (suitable e.g. als for
AC500eco also with 3 pumps). It uses the BOOST_CTRL and the PID. The Station as such is configured by
the STATION_CONFIGRURATION block with an ID, Name and Nr. of used pumps.
Dotted blocks are optional depending on the application. The PUMP_INTERFACE block is used for detailed
configuration of each pump and for interfacing to the drives/actuators. The interface blocks allow a variety of
Actuators (one drive with direct-on-line hard- or soft-switched DOL pumps, Drive controlled pumps and
discrete- or bus- connection to the drive(s)).
Note
The parameter and status exchange between the different blocks is done by a structured
variable (symbolized by the light blue layer in the above picture) which is connected to all
blocks with control functionality. It contains substructures depending on the function and
use.
This concept minimizes memory usage, the connection work and still allows advanced
diagnosis if necessary.
Boost control works with a closed loop control signal, typically coming from a PID controller with
a pressure (or flow) sensor. The PID gives a speed set point for the boost pumping station. The
boost control block then distributes start/stop and speed commands, depending on its chosen
operating mode and parameters, to e.g. a multi-pump setup. The boost application is typically
used for
o
network feeding to control a pressure in the network over a wide range of flow, which is
given by the varying demand in the network.
Irrigation, where either pressure or the flow is controlled to achieve a uniform and
controlled irrigation.
The Level control block works with discrete definable Levels to switch the pumps and set
appropriate fixed speeds. Level control is used e.g.
o
for pumping water between reservoirs or to fill a reservoir to a defined level in order
provide water reserves or direct network feeding.
for lift stations (emptying mode) where e.g. in waste water applications a waste water
reservoir needs to be prevented from overflowing and the water is emptied into further
reservoirs.
In addition to these main application and control blocks a set of auxiliary and optimization function blocks
exist in the library.
Station Configuration, Pump Interface Blocks simplify configuration and interfacing to the drives.
The retain block stores selected values which have to sustain through power failures.
The Energy Calculation block totalizes the flows and energy consumptions and provides
Efficiency values. If no flow-meter is there, the Flow calculation block can be used.
The Sleep function helps to save energy in PID operation if demand is low (e.g. at night in a
network) and works closely together with PID and boost block.
The Protection block provides advanced protections features for pump, pipe and tank based on
the available information in the station.
The Anti-Jam block provides a configurable cleaning function per used pump with a drive.
The below picture shows a complete overview of the concept and options with the pump library, including
auxiliary and optimization blocks.
For further details please check the application examples and their documentation, which are provided with
the PS563-WATER library product package and are also available for download from www.abb.com/plc
Application Examples (choose English as language for the page first). Please check also if a more up to
date version exists as a download.
Simple Pumping - Water Library
Introduction and Examples Description
Note
The application version of the library PUMP_AC500_V23.lib is tested with the equipment
and configuration used in the attached example programs "Example_
PM573_Boost_Ctrl.pro".
This example uses a PM573. A reduced Program for the Ac500 eco is available as well.
ABB ACQ810 drive is used with AC500 PLC via Modbus RTU communication.
Any other combination with AC500, other busses or drives equipment should work as well,
but is not separately tested
The Function Blocks of the PUMP_AC500_V23 library are only working in the RUN mode of
the PLC. Usage of these libraries in the simulation mode will not provide any valid or usable
diagnostic information
The Function Blocks of the library PUMP_AC500_V23.lib are available in AC500 control systems with a
runtime system of version V 1.3 and above.
Function
This block uses sleep mode of the pump to maximize energy saving
at the time low demand.
Pump cleaning functions
Changes Sequence of the pumps in the application control blocks
This block used for protection of the system against low or high
pressure and flow.
Calculates and Totalizes Energy and Flow Values and derived values
like efficiency and savings
This function block is Simple simulation of the water tank for
emptying and filling mode
This function block is Simple simulation of the drives and PLC
communication
This function block is Simple simulation of the Direct OnLine (DOL)
pumps.
3.
Configuration
This chapter describes how to configure the ACQ810 drive and AC500 PLC for use with the example
programs. The examples are all using Modbus RTU (except the one with the drive simulation). Other Busses
or discrete connection via IO can be used as well.
The instructions in this chapter are intended to be used after the mechanical and electrical installation has
been completed, as explained in AC500 and ACQ810-quick installation guide. The document does not cover
the instructions related to mechanical and electrical installations to commission the AC500 and the ACQ 810
drives
FSCA is the field bus adapter which needs to be mounted for Modbus communication on the ACQ810
drives. The communication cable must connect the ACS500 COM1 port and the FSCA module on the
ACQ810 drive. For the detailed information related to the communication the FSCA user manual must be
referred.
Value
RTS control
Telegram
Baud Rate
Parity
Data Bits
Stop Bits
Operation Mode
Master
Address
Since the mode of communication selected in MODBUS RTU, the COM1 port is configured to establish the
communication between the PLC and the drive. The configuration is given in the following picture.
Name
Value
1001
EXT1 COMMANDS
2101
REF1 SEL
5004
FBA REF1
Speed
5005
FBA REF2
Raw
5006
FBA ACT1
5007
FBA ACT2
5801
PROTOCOL ENABLE
MODBUS RTU
5803
STATION ID
5804
BAUD RATE
19.2kbit/s (192)
5805
PARITY
8 None 1
5806
CONTROL PROFILE
0, ABB Classic
10
4.
Example programs
The example programs described in this chapter are designed for controlling and monitoring of water
pressure boost control and level control. In this chapter five example programs are explained in Detail:
Example Name
Complexity
Example_PM564_PUMP_Level_simple.project
Example_PM564_PUMP_Boost_simple.project
Example_PM573_PUMP_Boost_complete.project
Simple pumping
Example_PM573_PUMP_Boost_traditional.project
Example_PM573_PUMP_Boost_complete_sim.proj
ect
Application
block
Level control
Boost
Complete multi
pump
Complete traditional
pump setup
Complete multi
pump; with drive
simulation:
Chapter
4.1
4.2
4.3
4.4
4.5
All projects do have a simple simulation of pumps and a tank to enable a simple test and familiarization.
Once the library package is installed, the help files of the water library can also be found in the IEC-61131-3
Editor help.
In the Help Contents tab, expand
Target System > AC500 / S500 >Water Library
o
The library view also contains information on the function blocks and their inputs and outputs. Press Alt +
Enter to enter the library view.
11
Configuration of pump station with three pumps, each driven by motor and ACQ810 drive
2.
3.
Since the project is meant for a simple pumping station which controls level and uses few special functions,
PM 564 is an ideal CPU selection.
The right side picture shows the screenshot of the POUs in the example project
12
This function block creates the station Station1, with three pumps in the network. As discussed, each pump
is driven by the drive-motor combination.
The variable tsStationData is created as a global variable in the application program with the data type
PUMP_STATION_TYPE.
This tsStationData is an IN/OUT variable which links all the function blocks of the water library.
Note
Note
If the priority of all the pumps is entered same then the starting sequence of the pump is in
the order of its Pump Id i.e. 1, 2 and 3.
If the user enters different priority values for each pump then the starting sequence of
pumps is based on the ascending order of the priority. Ex: Pump with the priority value 1
starts first and the priority value 2 starts later.
If the PUMP_INTERFACE is used to configure the pumps with the boost application then all
the pumps must have the same value of the FOLLOWER_MODE, which is setting the
follower mode of this pump in the boost operation.
13
As it can be seen in the above screen shot the pump interface takes inputs from the drive status and then
sends the outputs to control the drive.
The following picture explains the interface between this function block and the ACS drive communication
blocks.
This function block also calculates the actual runtime of each pump. If the user wants to reset the actual
runtime of any pump = 0seconds, he/she needs to toggle the input PUMP_RUNTIME_RESET to TRUE
value.
14
Note
The FB needs to define the various levels. These levels are accepted in a particular order,
which depends on the emptying or the filling mode.
Emptying mode :
LOW_LEVEL < STOP_LEVEL < START_LEVEL_1 < START_LEVEL_2 <
START_LEVEL_3 < HIGH_LEVEL
Filling mode :
LOW_LEVEL < START_LEVEL_3 < START_LEVEL_2 < START_LEVEL_1 <
STOP_LEVEL < HIGH_LEVEL
The level control function block is not designed to operate for the traditional pumping
station. It is only used for the pumping station where all the pumps are run by the drives.
Note
15
Note
Pump Flow Calc function block is not used in this program. User needs to connect flow
signal to PUMP1_ACT_FLOW, PUMP2_ACT_FLOW, and PUMP3_ACT_FLOW inputs of
the Tank Simulation Function Block.
16
Note
This kind of simple simulation is intended only for simple off-site tests when hardware and
the water process are not available.
It can be used for lab type simulation only. It cannot be used to fully and accurately simulate
a real installation.
4.1.4 Visualization
The visualization screenshot shown below is used to control the example programs and the simulation of
the pump station and also to diagnose the actual status of the pump functions.
On the right hand upper part of the visualization the Simulation controls section enables the user to start
the simulation, enable level control function block and to start/ stop the level control function block.
Start Simu is used to start the simulation and water level will change depending upon inflow and outflow
of the tank.
Initial Volume can be set using set volume.
17
Configuration of pump station with three pumps, each driven by motor and ACQ810 drive
2.
3.
Since the project is meant for a simple pumping station which controls boost and uses few special functions,
PM 564 is an ideal CPU selection.
The right side picture shows the screenshot of the POUs in the example project
18
Note
For this Function Block start and stop speed of the slaves needs to be defined in particular
order.
START_SPEED_SLV_1 < START_SPEED_SLV_2 ,
STOP_SPEED_SLV_1 < STOP_SPEED_SLV_2 ,
STOP_SPEED_SLV_1 < START_SPEED_SLV_1 and
STOP_SPEED_SLV_2 < START_SPEED_SLV_2
Function Block inputs OP_MODE and MASTER_LOC should not be changed while pump is
running.
Note
PUMP_PID is used for closed loop control of the process parameter such as pressure. The set point and
actual values are compared and error value is feed in as an input to the PID. PID output is calculated
based on proportional gain KP, Integral Time TN and Derivative time TD. The PID output is then scaled
and converted into required speed reference to the drive. PID_SPEED_REF is internally connected to the
PUMP_BOOSTPCTRL.
The PUMP_PID sends the speed reference based on the process demands to the PUMP_BOOST_CTRL
and then PUMP_BOOST_CTRL controls the start/stop sequence for the pumps based on the process
requirements.
19
PUMP_PID Function Block works in the range of 0 100 % of set and actual value.
KP,TN, TD needs to calibrated as per process requirement.
Note
Note
1. All the pumping function programs which are using the data structure - STATION_DATA
must be called in the same task (it can be freewheeling or cyclic)
2. The retain data MUST be first in the list. This is to make sure that the data structure gets
updated with the last retained value before any pumping function uses it..
Tank Simulation
This is already explained in earlier chapter. Please refer 4.1.3.1 for details.
Simple Pumping - Water Library
Introduction and Examples Description
20
Note
Pump Flow Calc function block is not used in this program. User needs to connect flow
signal to PUMP1_ACT_FLOW, PUMP2_ACT_FLOW, and PUMP3_ACT_FLOW inputs of
the Tank Simulation Function Block.
4.2.4 Visualization
The visualization screenshot shown below is used to control the simulation of the pump station and also
to diagnose the actual status of the pump functions.
On the right hand top Simulation control section enables the user to start the simulation, enable PID, and
enable Pump Boost function block and to start/ stop the pump boost function.
Start Simu is used to start the simulation and water level will change depending upon inflow and outflow
of the tank.
Initial Volume can be set using set volume.
21
Configuration of pump station with three pumps, each driven by motor and ACQ810 drive
2.
3.
4.
Since the project is meant for a pumping station which controls Boost and uses all additional special
functions, PM 573 is an ideal CPU selection.
The right side picture shows the screenshot of the POUs in the example project
22
23
4.3.4 Visualization
The visualization screenshot shown below is used to control the simulation of the pump station and also
to diagnose the actual status of the pump functions.
On the right hand top Simulation control section enables the user to start the simulation, enable PID, and
enable Pump Boost function block and to start/ stop the pump boost function.
Start Simu is used to start the simulation and water level will change depending upon inflow and outflow
of the tank.
Initial Volume can be set using set volume.
24
There are various modes in which the anti-jam works,, which is decided by the input TRIGGER.
A) In auto mode, i.e., when the anti-jam needs to be called in the pump boost operations:
Note
In this version of the library the anti-jam auto modes i.e. TRIGGER = 1, 2, 3 are only
possible with the PUMP_BOOST_CTRL and not the PUMP_LEVEL_CTRL. However the
anti-jam manual mode i.e. TRIGGER = 4, is possible in both boost control and the level
control functionalities.
TRIGGER = 1, master enabled: the pump which is designated as master performs the anti-jam
operation when ever started.
2.
TRIGGER = 2, follower enabled: the pump which is the designated slave performs the anti-jam
operation whenever started.
3.
TRIGGER = 3, at start: whenever the pump starts is performs the specified anti-jam operation.
To perform the anti-jam operation in the manual mode it is important to perform following step:
a) Assign PUMP_ON = FALSE, from the PUMP_INTERFACE block, for the pump which requires
manual anti-jam operation. This would not allow this pump to go in the pump boost or the level control
functionality, until PUMP_ON = TRUE again.
b) Enable the PUMP_ANTI_JAM function block by turning EN = TRUE.
c) Assign the input TRIGGER = 4
d) Enter all the anti-jam settings, i.e. time delays, speeds and no. of steps.
e) Give the rising edge input FALSE->TRUE, to the START_MANUAL
The above steps would start the anti-jam operation, which would stop at the end of designated time and
steps.
25
Note
26
27
28
Configuration of pump station with single pump driven by motor and ACQ810 drive, and up to two
other motors switched e.g. via a relay or soft starter direct on to the grid direct on-line DOL.
2.
3.
4.
5.
Since the project is meant for a pumping station which controls Boost and uses all additional special
functions, PM 573 is an ideal CPU selection.
The right side picture shows the screenshot of the POUs in the example project
29
drive communication. The Pumping Programs folder contains the application related programs,
Boost control, auto-change and retain data.
2) Simulation Pump Station in this folder the function block PUMP_TANK_SIMU is provided to
simulate the filling/ emptying process.
3) Additional Functionalities It has one folders i.e. Pump1. This folder contains special functions like
Pump_Antijam, Pump_Flow_Calc, Pump_Protection and Pump_Sleep. These function blocks
provide additional features to the pump and they are used only if they are required for process.
For the pumps which are connected to the DOL motor or the soft starter, it is important to connect the
TRIPPED signal, so that the pumping functions gets the status of an unhealthy motor. Since the DOL
mechanism might not have a good feedback system so it is not mandatory to connect the READY and
OPERATING input feedbacks to the PUMP_INTERFACE block. In the traditional pumps it is common not
to have such feedbacks. However if the system can send the correct READY and the OPERATING
status, then the programmer is advised to connect it as this would help to calculate the pump runtime.
Any speed inputs such as nominal speed and the follower speed values given to the pumps has not
significance since the traditional DOL operated motor runs at its own speed depending on the supply
voltage.
However all other inputs which are mentioned below work in the same way for both, the traditional and
the multi pump with drives.
PUMP_ID, PUMP_PRIORITY, PUMP_ON, FOLLOWER_MODE, STATION_DATA I/O.
30
4.3.4 Visualization
The visualization screenshot shown below is used to control the simulation of the pump station and also
to diagnose the actual status of the pump functions.
On the right hand top Simulation control section enables the user to start the simulation, enable PID, and
enable Pump Boost function block and to start/ stop the pump boost function.
31
Start Simu is used to start the simulation and water level will change depending upon inflow and outflow
of the tank.
Initial Volume can be set using set volume.
32
Configuration of pump station with three pumps, each driven by motor and ACQ810 drive
2.
3.
4.
5.
Simple Drive Simulation Function block is used to simulate also drive functionality. This function
block simulates drive and generates status word and speed actual using control word and set speed.
The simulation of the drives enables a simple preparation and first testing of a new pumping station
project fully on an office desk, only with the use of a CPU. All other parts as drives, pumps and water
tank is simulated.
Since the project is meant for a pumping station which controls Boost and uses all additional special
functions, PM 573 is an ideal CPU selection.
The right side picture shows the screenshot of the POUs in the example project
33
34
4.5.4 Visualization
The visualization screenshot shown below is used to control the simulation of the pump station and also
to diagnose the actual status of the pump functions.
On the right hand top Simulation control section enables the user to start the simulation, enable PID, and
enable Pump Boost function block and to start/ stop the pump boost function.
Start Simu is used to start the simulation and water level will change depending upon inflow and outflow
of the tank.
Initial Volume can be set using set volume.
35
36
Note
Note
1.
Simple drive simulation is prepared for the simulation purpose of the Drive
communication signals when physical drive is not present.
2.
3.
Only drive healthy status and actual speed is simulated using start command and
reference speed.
4.
37
All the function blocks are called in freewheeling task except Pump Energy Calculation and
Simulation. Both these programs need to be in cyclic task of 50 ms.
38
39
Start pump boost starts the pump boost application, which defines which drive needs to be turned on and
the follower / slaves sequence. Drive Set point is generated by the difference of set and actual value of
PUMP_PID. If demand is more then the drives turn on one by one.
Step 7.) Press Set Volume sets the volume of tank using set Volume value given to the simulation
Function Block. Now all the drives are running as actual value of PID is still less than set value
40
As demand decreases means Actual value is approaches set value of PID, all the drives starts to switch off
as defined in Pump Boost Ctrl
Pump 2 and 3 has been turned off as demand decreases.
---------------------------------------------------------------------------------------
All the other example programs can be run using similar steps.
Note
41
5.
REVISION HISTORY
Rev. ind.
Page (P)
Chapt. (C)
Description
Date
Dept./Init
V01
All
V110
All
42
17/10/2013
DMLP
15/09/2015
IDC/NKS
abb
ABB Automation Products GmbH
Wallstadter Str. 59
68526 Ladenburg, Germany
Phone: +49 62 21 701 1444
Fax : +49 62 21 701 1382
E-Mail: plc.sales@de.abb.com
www.abb.com/plc
Note:
We reserve the right to make technical changes or modify the contents of this document without prior notice. With regard to purchase orders, the agreed
particulars shall prevail. ABB AG does not accept any responsibility whatsoever for potential errors or possible lack of information in this document.
We reserve all rights in this document and in the subject matter and illustrations contained therein. Any reproduction, disclosure to third parties or utilization of its
contents in whole or in parts is forbidden without prior written consent of ABB AG.
Copyright 2012 ABB , All rights reserved