ABB Drives Application Guide

ABB industrial drives
Application guide
Adaptive Programming

List of related manuals

Drive firmware manuals Code (English)
manual
Option manuals
Drive composer start-up and maintenance PC tool User’s manual
You can find manuals and other product documents in PDF format on the Internet. See section
Document library on the Internet on the inside of the back cover. For manuals not available in
the Document library, contact your local ABB representative.
3AXD50000029275
3AUA0000094606
Application guide
Adaptive Programming
Table of contents
2016 ABB Oy. All Rights Reserved.
3AXD50000028574 Rev C
EN
EFFECTIVE: 2016-03-14
Table of contents 5
Table of contents
List of related manuals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1. Introduction to the guide
Contents of this chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Applicability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Safety instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Target audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Purpose of the guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Contents of the guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Related documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2. Adaptive programming
Contents of this chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Overview of Adaptive programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Creating a sequence program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Connecting the Adaptive program to a drive application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Enabling/disabling Adaptive program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Executing the Adaptive program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Creating a backup/restore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Safety
3. Using PC tool interface
Contents of this chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Adaptive programming user interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Base and sequence programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Program tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Functional blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Sequence states . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
State transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4. Creating an Adaptive program
Contents of this chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Creating a base program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Creating a sequence program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Downloading the adaptive program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5. Program elements
Contents of this chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
System inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Parameter inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6 Table of contents
Inputs/outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Actual values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Data storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
System outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Parameter outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Start control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Speed control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Frequency control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Torque control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Process PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Function block specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Abs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
AND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Bit get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Bitwise AND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Bitwise OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Bitwise XOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Divide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Equal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Greater than . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Less than . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Max . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Min . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Multiply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
PI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Ramp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Select boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Select value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Set bits 0-7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Set bits 8-15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Square root . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
SR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Subtract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Switch boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Switch value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Trigger down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Trigger up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
T_off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
T_on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
XOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Table of contents 7
Further information
Product and service inquiries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Product training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Providing feedback on ABB Drives manuals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Document library on the Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
8 Table of contents
Introduction to the guide 9
1

Introduction to the guide

Contents of this chapter

This chapter gives general information on the guide.

Applicability

This guide applies to the following drive programs and software. For version details, see the Compatibility list:
• ACS880 primary control program
• ACS380 machinery control program
• Drive composer pro

Compatibility

This guide complies with the following drive application programs in which the Adaptive programming feature is included.
Drive application programs Version Other details
ACS880 primary control program
ACS380 machinery control program
Drive composer pro 1.9 or later Microsoft Windows 7 or newer
Note: The available features may differ depending on both the Drive composer pro and drive versions
2.20 or later -
1.60 or later -
10 Introduction to the guide

Safety instructions

Follow all safety instructions delivered with the drive.
• Read the complete safety instructions before you install, commission, or use the drive. The complete safety instructions are delivered with the drive as either part of the Hardware manual, or, in the case of ACS880 multidrives, as a separate document.
• Read the software function specific warnings and notes before changing the default settings of the function. For each function, the warnings and notes are given in the Firmware Manual in the subsection describing the related user adjustable parameters.

Target audience

This guide is intended for people who design, commission, or operate the drive system.

Purpose of the guide

This guide is used together with the firmware manual of the drive application program.The firmware manual contains basic information on drive parameters including the parameters needed for Adaptive programming.
This guide gives the following information on Adaptive programming:
• what is Adaptive programming
• how to build a adaptive program
• how the function blocks operate
• how to use the system inputs and outputs
• how to use the program states

Contents of the guide

This guide contains the following chapters:
Adaptive programming provides the overview on Adaptive programming.
Using PC tool interface describes the user interface elements for creating an
Adaptive program in the PC tool software.
Creating an Adaptive program describes how to create a base program and a
sequence program. It also describes how to download the program to the drive.
Program elements describes the function blocks used for Adaptive programming.

Related documents

See the List of related manuals on the inside of the front cover.
Adaptive programming 11
2

Adaptive programming

Contents of this chapter

This chapter provides an overview of Adaptive programming and how to use the Adaptive program.

Overview of Adaptive programming

Adaptive programming is used to customize the operation of a drive in case the drive parameter setting is not sufficient. The Adaptive program is built with standard function blocks included in the drive firmware. The program consists of the following elements:
• A predefined list of inputs for getting information from the drive parameters to use in the Adaptive program.
• A predefined list of outputs that defines parameters where it is possible to write from the Adaptive program.
• A collection of states in which each state has its own block program, including inputs, outputs and state transition elements
Standard function blocks (for example ADD, AND) are used to create an executable Adaptive program. The maximum size of an Adaptive program is approximately 20 standard function blocks, depending on the block types used and the number of predefined inputs and outputs utilized in the program. The standard function blocks available are presented in Program elements (page 31). Numerical function blocks use floating point numbers in the calculations.
Adaptive program is created using the Drive composer pro software with which the program can be downloaded to the drive and started. By default, Adaptive program is started when the drive is powered On, if the program already exists in the drive.
See the below sections on how to use the Adaptive program.
12 Adaptive programming

Creating a sequence program

Adaptive program consists of a collection of states for creating a sequence program. When the program is running, there is always one state active and the corresponding program is executed until another state is active. In addition to the states there is also a base program that executes in parallel to the active state.
The state changes are controlled with state transition elements that can be connected to function block outputs. State transition takes place after the full execution cycle of the program during which the value of any corresponding output becomes true. In case multiple state transitions are true during a single execution cycle, then the one that is connected to the smallest numbered block is triggered. See the example program execution.
See also Creating a sequence program on page 26 and Downloading the adaptive
program on page 28.

Connecting the Adaptive program to a drive application

Adaptive program is connected to a drive application through predefined system inputs and outputs. Drive provides the available inputs and outputs and sets the pointer parameter values accordingly based on the created program.
When the predefined output (value/bit pointer parameter) is written to from the Adaptive program, the parameter is write protected and it is not changed in the parameter table. The control panel and Drive composer pro shows a text in the pointer parameter to indicate that the parameter is connected to the Adaptive program.

Enabling/disabling Adaptive program

The Adaptive program function can be enabled or disabled with the drive parameter
96.70 Disable Adaptive program.
When Adaptive program is enabled, the program can be put to running mode in the following conditions:
• when drive is powered On
• after a macro/user set is changed
• after a restore operation
• when a clear all and restore to defaults parameter operation (large parameter operations) is done
• when a run command is given from the PC tool.
Adaptive programming 13
When Adaptive program is disabled, the situation is similar to a drive without Adaptive program. The following operations are not possible:
• Adaptive program cannot be put to running mode when the drive is powered On
• Adaptive program cannot be edited or put to running mode from Drive composer pro.

Executing the Adaptive program

Adaptive program is executed on firmware time level. The parameter 7.30 Adaptive program status shows the status of the Adaptive program. The program can be edited
only when the drive is in Stopped state. While editing the program, the Start inhibit is On, so that the drive cannot be started.
Note: For time level actual value, refer firmware manual(s) in the List of related
manuals.
The Adaptive program executes the function blocks in numerical order with all blocks on the same time level. This cannot be changed by the user. The user can only do the following tasks:
• build a program using the standard blocks and connections
• change the numbering of the blocks by moving them to different positions
• select the operation mode of the program (run/edit).
If Adaptive program in the drive is not compatible or corrupted, the fault 64A6h Adaptive program is activated. The extension code of the fault explains the detail of the problem with the Adaptive program.

Creating a backup/restore

Adaptive program can be saved to the backup file and restored. The program starts automatically after the restore operation, unless the parameter 96.70 Disable Adaptive program has such a value that after the restore operation the Adaptive program shall not be put to running mode.
14 Adaptive programming
Using PC tool interface 15
3

Using PC tool interface

Contents of this chapter

This chapter describes the main user interface elements of PC tool for Adaptive programming.

Adaptive programming user interface

The main user interface of Adaptive programming consists of the following sections:
Base and sequence programs
Program tools
Functional blocks
Inputs
Outputs
Sequence states
State transition.
16 Using PC tool interface
The working area can be used either with tab or floating window. The selection between tab and floating window can be made using Drive composer pro View menu. The figure below shows the user interface with tabbed window.
Figure 1. Adaptive programming user interface
Using PC tool interface 17

Base and sequence programs

There are separate canvases for creating base and sequence programs. The required canvas can be expanded or collapsed. See the above Adaptive programming user interface.
• The base program canvas can be used to create a base program with function blocks. The user can drag and drop the desired function blocks to build a base program. See Creating a base program on page 24.
• The sequence program canvas can be used to create a sequence program. The user can drag and drop the desired amount of states to build a sequence program. See Creating a sequence program on page 26.
Figure 2. Sequence program user interface
18 Using PC tool interface

Program tools

The program tools contains the following options:
• Undo: Erases the last change made and reverts it to an older state
• Redo: Reverses the undo or advances to a more current state
• Open: Opens a program from locally saved file
• Save: Saves the active program to a local file (.dcap format)
• Restore: Restores the default program.
See Adaptive programming user interface on page 16.

Functional blocks

Functional blocks of Adaptive programming are grouped into categories and are shown on a horizontal shelf. The scroll bar shows category labels and indicates the current view. The blocks are quickly accessible. The user can drag and drop the required blocks to the canvas. See Adaptive programming user interface on page 16.
The functional block consists of the following categories:
• Arithmetic blocks
• Logical blocks
• Selection blocks
• Comparison blocks
• Timer blocks
• Operation blocks.
Using PC tool interface 19

Inputs

The pre-defined inputs are categorized into groups. Note that the available groups and inputs are dependent on the drive type. Typical examples are:
•Constants
•I/O
Actual values.
The same input can be used multiple times in the same program. Hovering over an input on the shelf highlights every instance of that input on the canvas, so you can easily locate where the input is used in the program.
Figure 3. Inputs
20 Using PC tool interface
Editing the input labels
You can edit the input labels and add a comment.
1. Click label in the functional block input.
Figure 4. Editing label
2. Edit the label and add the comment as desired.
Figure 5. Editing label and comment
For more information on Input descriptions, refer firmware manual(s) in the List of
related manuals.
Using PC tool interface 21

Outputs

The pre-defined outputs are categorized into groups. Note that the available groups and outputs are dependent on the drive type. Typical examples are:
Parameters
I/O
Start control
Speed control.
Each output can be used only once in the program. After you drag and drop an output to the canvas, it is faded on the shelf.
Figure 6. Outputs
For more information on output descriptions, refer firmware manual(s) in the List of
related manuals.
22 Using PC tool interface

Sequence states

The sequence states contains a:
• Blank state: adds a new empty state to the sequence program.
You can drag-and-drop this empty state any number of times to the sequence program canvas and rename the state in the program.
See Adaptive programming user interface on page 16.

State transition

State transition element is used to control the sequence of state transitions when connected to boolean type block outputs. There can be several state transition elements used in a single state.
Figure 7. State transition
Creating an Adaptive program 23
4

Creating an Adaptive program

Contents of this chapter

This chapter describes how to create an Adaptive program and download the program to the drive.
You can do the following:
• Create a base program using function blocks. See Creating a base program on page 24.
• Optionally create a sequence program using states. See Creating a sequence
program on page 26.
• Download the program to the drive. See Downloading the adaptive program on page 28.
24 Creating an Adaptive program

Creating a base program

To create a base program using function blocks, proceed as follows:
1. Drag-and-drop the desired function blocks to the base program canvas.
Figure 8. Function block
2. Drag-and-drop the desired inputs from the Inputs categories to the function block(s).
Figure 9. Adding inputs
Loading...
+ 56 hidden pages