RobotWare 4.0 Options
RobotWare 4.0 Options
RobotWare Options
3HAC 9218-1/Rev.2
BaseWare OS 4.0
The information in this document is subject to change without notice and should not be construed as a
commitment by ABB Automation Technology Products AB, Robotics. ABB Automation Technology
Products AB, Robotics assumes no responsibility for any errors that may appear in this document.
In no event shall ABB Automation Technology Products AB, Robotics be liable for incidental or
consequential damages arising from use of this document or of the software and hardware described
in this document.
This document and parts thereof must not be reproduced or copied without ABB Automation Technology Products AB, Robotics written permission, and contents thereof must not be imparted to a third
party nor be used for any unauthorized purpose. Contravention will be prosecuted.
Additional copies of this document may be obtained from ABB Automation Technology Products AB,
Robotics at its then current charge.
Introduction
1 Introduction
RobotWare is a family of software products from ABB Automation Technology
Product AB, Robotics, designed to make you more productive and lower your cost of
owning and operating a robot.
ABB Automation Technology Product AB, Robotics has invested many man-years
into the development of these products and they represent knowledge and experience
based on several thousand robot installations.
Within the RobotWare family there are three classes of products:
BaseWare OS - This is the operating system of the robot and constitutes the kernel of
the RobotWare family. BaseWare OS provides all the necessary features for
fundamental robot programming and operation. It is an inherent part of the robot but
can be provided separately for upgrading purposes.
For the description of BaseWare OS, see Product Specification S4Cplus.
BaseWare Options - These products are options that run on top of BaseWare OS of the
robot. They represent functionality for robot users that need additional functionality,
for example run multitasking, transfer information from file to robot, communicate
with a PC, perform advanced motion tasks etc.
ProcessWare - ProcessWare products are designed for specific process applications
like welding, gluing and painting. They are primarily designed to improve the process
result and to simplify installation and programming of applications. These products
also run on top of BaseWare OS.
Introduction
2 BaseWare Options
[544] Absolute Accuracy
Absolute Accuracy (AbsAcc) is a calibration concept, which ensures a TCP absolute
accuracy of better than 1 mm in the entire working range.
The user is supplied with robot calibration data (error parameter file) and a certificate
that shows the performance (Birth Certificate).
The difference between an ideal robot and a real robot can be typically 8 mm, resulting
from mechanical tolerances and deflection in the robot structure. Absolute Accuracy
option is integrated in the controller algorithms for compensation of this difference,
and does not need external equipment or calculation.
Features
Compensation of mechanical tolerances.
Compensation of deflection due to load (tool, object and equipment on arm).
Applications
Any application where Absolute Accuracy is needed to facilitate:
- Exchangeability of robots
- Off-line programming with minimum touch-up.
- On-line programming with accurate linear movement as well as accurate
reorientation of tool
- Re-use of programs between applications
Controller algorithms
Inherent mechanical tolerances and deflection due to load in the robot structure
decrease the robots absolute accuracy. Practical compensation of such errors is a
complex and highly non-linear problem. The ABB solution is to compensate positions
internally in the controller, resulting in a defined and measurable robot TCP (Tool
Center Point) accuracy. A generic robot control model is used for each robot family and
robot individuals are described by a set of error parameters, generated during
calibration at ABB Automation Technology Products, Robotics. Accuracy of each
robot will be ascertained and verified through the Birth Certificate which statistically
describes the robot accuracy in a large sample of robot positions.
[542] ScreenViewer
[542] ScreenViewer
This option adds a user window to display user defined screens with advanced display
functions. The user window can be displayed at any time, regardless of the execution
state of the RAPID programs.
User defined screens
The user defined screens are composed of:
A fixed background with a size of 12 lines of 40 characters each. These characters
can be ASCII and/or horizontal or vertical strokes (for underlining, separating or
framing).
1 to 5 function keys.
1 to 4 pop-up menus containing from 1 to 10 choices.
1 to 30 display and input fields defined by:
- Their position and size.
- Their type (display, input).
- Their display format (integer, decimal, binary, hexadecimal, text).
- A possible boundary with minimum and maximum limits.
Example of a user defined screen. The ### represent the fields.
SpotTim
Program number: ###
PHASES
SQUEEZE
PREHEAT
COOLING
## HEAT
COLD
LASTCOLD
POSTHEAT
HOLD
Next
View
File
|
|
|
|
|
|
|
|
|
XT
##
##
##
##
##
##
##
##
|
|
|
|
|
|
|
|
|
|
CURENT (A)
START | END
|
####
|
| ####
####
|
|
|
####
| ####
|
Prev.
(Copy)
Valid
[542] ScreenViewer
A screen event can occur
- When a new screen is displayed (to initialize the screen contents).
- After a chosen interval (to refresh a screen).
- When a menu choice or a function key is selected (to execute a specific action,
or change the screen).
- When a new value is entered in a field, or when a new field is selected (to execute some specific action).
The commands that can be executed on screen events are
- Reading/writing RAPID or I/O data.
- Reading/writing fields contents.
- Arithmetical (+, -, /, *, div) or logical (AND, OR, NOT, XOR) operations on the
data read.
- Comparing data read (=, <, >) and carrying out a command or not, depending
on the comparison result.
- Displaying a different screen.
Capacities
The user screens can be grouped in a screen package file under a specific name. Up to
8 packages can be loaded at the same time.
A certain amount of memory (approx. 50 kbytes) is reserved for loading these screen
packages.
- The screen package to be displayed is selected using the far right hand menu
View (which shows a list of the screen packages installed).
ScreenMaker
ScreenMaker is a complete tool for creating and editing screens for the ScreenViewer
on desktop computers running Windows 95/98 or Windows NT.
See ScreenMaker Product Specification.
10
[532] Multitasking
[532] Multitasking
Up to 10 programs (tasks) can be executed in parallel with the normal robot program.
- These additional tasks start automatically at power on and will continue until
the robot is powered off, i.e. even when the main process has been stopped and
in manual mode.
- They are programmed using standard RAPID instructions, except for motion
instructions.
- They can be programmed to carry out various activities in manual or automatic
mode, and depending on whether or not the main process is running.
- Communication between tasks is carried out via I/O or global data.
- Priorities can be set between the processes.
Examples of applications:
- The robot is continuously monitoring certain signals even when the robot
program has stopped, thus taking over the job traditionally allocated to a PLC.
- An operator dialogue is required at the same time as the robot is doing, for
example, welding. By putting this operator dialogue into a background task, the
operator can specify input data for the next work cycle without having to stop
the robot.
- The robot is controlling a piece of external equipment in parallel with the
normal program execution.
Performance
When the various processes are programmed in the correct way, no performance
problems will normally occur:
- When the priorities for the various processes are correctly set, the normal
program execution of the robot will not be affected.
- Because monitoring is implemented via interrupts (instead of checking
conditions at regular intervals), processor time is required only when
something actually happens.
- All input and output signals are accessible for each process.
Note that the response time of Multitasking does not match that of a PLC. Multitasking
is primary intended for less demanding tasks. The normal response time is about 5 ms,
but in the worst cases, e.g. when the processor is computing new movements, it can be
up to 120 ms.
The available program memory can be divided up arbitrarily between the processes.
However, each process in addition to the main process will reduce the total memory,
see Product Specification S4Cplus.
11
13
14
15
16
17
18
19
GetNextSym
GetDataVal
Get the value of a data, specified with a string for the name
SetDataVal
Set the value of a data, specified with a string for the name
20
AliasIO
ArgName
BookErrNo
TextTabGet
TextGet
Function used to get a text string from the system text tables
(installed at cold start).
TextTabInstall
TextTabFreeToUse
IsSysId
SetSysData
ReadCfgData
WriteCfgData
PFDOVal
Get the value of the specified digital output signal at the time
for power failure.
PFGOVal
Get the value of the specified digital output group at the time
for power failure.
PFRestart
Trigg Functions
TriggSpeed
StepBwdPath
TriggStopProc
21
22
22
23
24
[547]Sensor Synchronization
Start/stop synchronization
Connect to an object in the start window
Disconnect from current object
25
26
27
28
29
30
31
32
Ethernet
RS232/RS422
Examples of applications:
- Production is controlled from a superior computer. Information about the robot
status is displayed by the computer. Program execution is started and stopped
from the computer, etc.
- Transferring programs and parameters between the robot and a PC. When many
different programs are used in the robot, the computer helps in keeping track of
them and by doing back-ups.
RAPID instruction included in this option
SCWrite
33
34
35
36
[551] ArcWare
3 ProcessWare
[551] ArcWare
ArcWare comprises a large number of dedicated arc welding functions, which make the
robot well suited for arc welding. It is a simple yet powerful program since both the
positioning of the robot and the process control and monitoring are handled in one and
the same instruction.
I/O signals, timing sequences and weld error actions can be easily configured to meet
the requirements of a specific installation.
ArcWare functions
A few examples of some useful functions are given below.
Adaptation to different equipment
The robot can handle different types of weld controllers and other welding equipment.
Normally communication with the welding controller uses parallel signals but a serial
interface is also available.
Advanced process control
Voltage, wire feed rate, and other process data can be controlled individually for each
weld or part of a weld. The process data can be changed at the start and finish of a
welding process in such a way that the best process result is achieved.
Testing the program
When testing a program, welding, weaving or weld guiding can all be blocked. This
provides a way of testing the robot program without having the welding equipment
connected.
Automatic weld retry
A function that can be configured to order one or more automatic weld retries after a
process fault.
Weaving
The robot can implement a number of different weaving patterns up to 10 Hz
depending on robot type. These can be used to fill the weld properly and in the best
possible way. Weaving movement can also be ordered at the start of the weld in order
to facilitate the initial striking of the arc.
37
[551] ArcWare
Wire burnback and rollback
These are functions used to prevent the welding wire sticking to the work object.
Fine adjustment during program execution
The welding speed, wire feed rate, voltage and weaving can all be adjusted whilst
welding is in progress. This makes trimming of the process much easier because the
result can be seen immediately on the current weld. This can be done in both manual
and automatic mode.
Seam finding and tracking
Seam finding and tracking can be implemented using a number of different types of
sensors. Please contact your nearest local ABB office for more information.
Interface signals
The following process signals are, if installed, handled automatically by ArcWare. The
robot can also support dedicated signals for workpiece manipulators and sensors.
38
Digital outputs
Power on/off
Gas on/off
Wire feed on/off
Wire feed direction
Weld error
Error information
Weld program number
Description
Turns weld on or off
Turns gas on or off
Turns wire feed on or off
Feeds wire forward/backward
Weld error
Digital outputs for error identification
Parallel port for selection of program number, or
3-bit pulse port for selection of program number, or
Serial CAN/Devicenet communication
Digital inputs
Arc OK
Voltage OK
Current OK
Water OK
Gas OK
Wire feed OK
Manual wire feed
Weld inhibit
Weave inhibit
Stop process
Wirestick error
Supervision inhibit
Torch collision
Description
Arc established; starts weld motion
Weld voltage supervision
Weld current supervision
Water supply supervision
Gas supply supervision
Wire supply supervision
Manual command for wire feed
Blocks the welding process
Blocks the weaving process
Stops/inhibits execution of arc welding instructions
Wirestick supervision
Program execution without supervision
Torch collision supervision
Analog outputs
Voltage
Wire feed
Current
Voltage adjustment
Current adjustment
Description
Weld voltage
Velocity of wire feed
Weld current
Voltage synergic line amplification
Current synergic line amplification
[551] ArcWare
Analog inputs (cont.)
Description (cont.)
Voltage
Current
39
40
[556] Arcitec
[556] Arcitec
This option is intended to be used in combination with the Arcitec power sources.
It shall only be ordered by the supplying unit of Arcitec.
The package is a special software, used together with the ArcWare package, to be able
to control not only the robot program but also the set up, configuration and
programming of the power source. Thus the robot teach pendant will be used for
programming and tuning both the robot and the power source.
The package also includes a special aid for easy welding programming, i.e. the synergic
function. This means that there is a pre-programmed relationsship between the wire
feed rate and all other data components in the power source, making it easy to control
the entire welding process, just by tuning the wire feed rate.
41
[553] SpotWare
[553] SpotWare
The Spotweld options are general and flexible software platforms for creation of
customized and easy to use function packages for different types of spotweld systems
and process equipments.
The SpotWare option is used for sequential welding with one or several pneumatic gun
equipments. If welding with several pneumatic guns at the same time is desired then
the SpotWare Plus option has to be used instead.
The SpotWare option provides dedicated spotweld instructions for fast and accurate
positioning combined with gun manipulation, process start and supervision of the weld
equipment.
Communication with the welding equipment is normally carried out by means of
digital inputs and outputs but a serial interface is also available for some type of weld
timers.
It should be noted that the SpotWare options are general and can be extensively
customized. They have a default ready to use functionality directly after install but it
is intended that some configuration data, RAPID data and RAPID routines has to be
changed during the customizing.
SpotWare features
Some examples of useful functions are given below:
- Fast and accurate positioning using the unique QuickMove and TrueMove
concept.
- Gun pre-closing.
- Quick start after a weld.
- Handling of an on/off gun with two strokes.
- Dual/single gun.
- Manual actions for welding and gun control.
- Simulation possibilities for test purposes.
- Reverse execution with gun control.
- Spot counters.
- User-defined supervision and error recovery. Weld error recovery with
automatic rewelding.
- User-defined continuous supervision of the weld equipment, such as weld
current signal and water cooling start. Note: This feature requires the
MultiTasking option.
- Wide customizing possibilities.
42
[553] SpotWare
Principles of SpotWare
The SpotWare functions will be controlled by separate internal program processes,
which will run in parallel. For instance the robot movements, the continuous supervision and the spot welding will be handled in different independent processes. This
means that if for instance the program execution and thus the robot movements is
stopped, then the welding and supervision will continue until they come to a well
defined process stop. For example, the welding process will carry on and finish the
weld and open the gun, although the program has been stopped during the weld phase.
For well defined points in the welding sequence and movements, calls to user routines
offer adaptations to the plant environment. A number of predefined parameters are also
available to shape the behaviour of the SpotWare instructions.
Programming principles
Both the robot movement and the control of the spot weld equipment are embedded in
the basic spot weld instructions SpotL and SpotJ.
The spot welding process is specified by:
- Spotdata: spot weld process data
- Gundata: spot weld equipment data
- The system modules SWUSRC and SWUSRF: RAPID routines and global data
for changing of process and test behaviour.
- System parameters: the I/O Signal configuration.
Spot welding instructions
Instruction
Used to:
SpotL
SpotJ
Used to define:
spotdata
gundata
43
44
Used to:
SpotML
SpotMJ
Used to define:
spotmdata
gunmdata
45
46
47
Used to:
SpotL
SpotJ
SetForce
CalibL
CalibJ
Calibrate
STTune
STTuneReset
48
Data type
Used to define:
spotdata
gundata
forcedata
simdata
Simulation modes
49
50
Instruction
Used to:
SpotML
SpotMJ
[569] DispenseWare
[569] DispenseWare
The DispenseWare package provides support for different types of dispensing
processes such as gluing and sealing.
The DispenseWare application provides fast and accurate positioning combined with a
flexible process control.
Communication with the dispensing equipment is carried out by means of digital and
analog outputs.
DispenseWare is a package that can be extensively customized. The intention is that
the user adapts some user data and routines to suit a specific dispensing equipment and
the environmental situation.
Dispensing features
The DispenseWare package contains the following features:
- Fast and accurate positioning.
- Handling of on/off guns as well as proportional guns.
- Speed proportional or constant analog outputs.
- Up to five different guns can be handled simultaneously, controlled by 1 - 5
digital output signals (for gun on/off control) and 1 - 2 analog output signals
(for flow control).
- Four different gun equipment, each controlled by 1 - 5 digital output signals
and 1 - 2 analog output signals, can be handled in the same program.
- Possibility to use different anticipated times for the digital and analog signals.
- Possibility to use equipment delay compensation for the TCP speed
proportional analog signals.
- Global or local flow rate correction factors.
- Dispensing instructions for both linear and circular paths.
- Dispensing in wet or dry mode.
- Wide opportunities of customizing the functionality to adapt to different types
of dispensing equipment.
- Possibility to restart an interrupted dispense sequence.
Programming principles
Both the robots movement and the dispensing process control are embedded in the
instructions, DispL and DispC respectively.
51
[569] DispenseWare
The gluing process is specified by:
- Bead specific dispensing data. See Data types - beaddata.
- Equipment specific dispensing data. See Data types - equipdata.
- RAPID routines and global data for customizing purposes. See Predefined Data
and Programs - System Module DPUSER.
- The I/O configuration. See System Parameters - DispenseWare
Dispensing instructions
Instruction
Used to:
DispL
Move the TCP along a linear path and perform dispensing with
the given data
DispC
Dispensing data
52
Data type
Used to define:
beaddata
equipdata
[571] PalletWare
[571] PalletWare
General
PalletWare is a ready-to-use software package for the S4Cplus controller, focused on
palletizing. PalletWare imports data created with PalletWizard, the included off-line
PC-tool, to execute the defined palletizing cycles. PalletWare has a predefined
interface for connecting PLC (Programmable Logic Controller), which is the most
common way to control external equipment such as infeeders, outfeeders and sensor
equipment. The standard package includes software components such as priority and
scheduling routines that are ready to use. The package also includes components that
can be customized, e.g. grip tool control routines.
PalletWare supports system integrators who want to customize the system, by
presenting a standardized interface.
What is included
Included in the PalletWare package is software components to control robot motion,
and to communicate with the user and external equipment.
In order to minimize commissioning time, PalletWare is equipped with a standardized
set of modules, referred to as the Standard Package Add-On. Advanced users can
replace these modules with their own if special customizing is needed. PalletWare is
also delivered with template user routines that handles the most common solutions.
PalletWare offers a standardized interface where to connect all external equipment
such as infeeders, PLC, signal board, grip tool, sensor equipment etc. The package
includes a set of predefined signals connected to a simulated board. The integrator has
to implement the signal board and connect the signals. The configuration file for the
signals has also to be modified depending on what type of board is used. Because of
the large amount of signals, it is recommended to use a field bus such as for example
Profibus.
PalletWare features
PalletWare offers for example following functionality:
- Multiplacing
- Parallel processing, up to 5 stations simultaneously
- Multistationary production
- User dialogue interface with Screen Viewer
- On-line tuning of geometrical data
- Safety functionality
- Prepared PLC interface
- Prepared MMI interface
53
[571] PalletWare
- Tool control
- Standardized error handling
- Predefined user routines
Programming principles
PalletWare is added to the BaseWare system. PalletWare consists of predefined motion
principles and communication routines for communicating with external equipment. It
is not necessarily needed to implement any RAPID code. However, the system supports
integrators for customizing by standardized functions and instructions.
Customizing PalletWare
PalletWare can be up-and-running without any need for implementing RAPID code,
but it must be adapted to the current robot cell and its physical lay-out. For instance,
there are a number of steps which are compulsory, e.g:
- Connect external equipment such as infeeders, tool, PLC etc., via the predefined
interface.
- Connect safety equipment such as emergency stop, safety fences etc.
- Define tooldata if the tool does not match the templates
- Check the set-up in the configuration module PAL_CFG.
- Define/teach work objects to the stations
- Define/teach robtarget with tool in zero orientation
- Create and load pallet cycles with PalletWizard.
In addition to this, PalletWare offers a great deal of customizing possibilities for
advanced users, e.g.
- Using tools with suction cups or mechanical gripper
- Sliding uppermost layer to gain pallet height
- Controlling orientation on infeeder
- Add or skip safety height movements between stations
- Set priority when working with several pallet cycles in parallel.
- Etc.
Pallet Wizard
Pallet Wizard is a complete and easy to use stand alone tool running on a PC under
Windows 95/98 or Windows NT, for off line programming of palletizing or
depalletizing processes. It is delivered as a part of the PalletWare option package.
In PalletWizard the complete cell with its different components like the products, the
tools, the in/out feeders and pallet stations as well as the pallet cycles with the layers
and the pattern descriptions can be defined.
54
[571] PalletWare
PalletWizard offers for example the following features:
- Detailed On-line help
- Wizards for defining the products, tools, cell definition, station configurations,
pallet composition and the pallet cycles
- Automatic pick- and place definition
- Automatic calculating of grip zones to be used for the tool
- Software based collision detection
- Library of predefined patterns
Several different pallet cycles can be combined into a production cycle and saved into
a file, which can be downloaded to the robot. At the robot the operator can then select
what specific pallet cycle to run and on which infeeder and pallet station.
55
[571] PalletWare
56
Index
INDEX
4 Index
A
AbsAcc 5
Absolute Accuracy 5
Advanced functions 14
arc welding 37, 40
Arcitec 41
ArcWare 37
ArcWare Plus 40
B
BaseWare 5
BaseWare Options 3
BaseWare OS 3
C
Collision Detection 7
communication
robot and PC 33
continuous movement 13
Contour tracking 12
Conveyor Tracking 23, 27, 29
coordinated motion 12
cross-connection
locigal conditions 16
output 15
procedure call 15
Friction Compensation 13
FTP 32
I
I/O Plus 36
independent movement 13
input or output signals
interrupts 17
Interbus Configuration Tool 34
interrupt routine movement 16
interrupts
from analog input or output signals 17
L
Load Identification 7
logical conditions
cross connections 16
N
NFS 32
O
output
in fixed position 15
P
D
data
read and write 14, 33
transfer 14
Discrete Applications Platform 22
DispenseWare 51
E
electronically linked motors 24
error handler movement 16
Ethernet Services 32
F
file
read and write 14, 33
fixed position
PalletWare 53
parallel processing 11
PLC functionality 16
printout 14
ProcessWare 3, 37
Profibus Configuration Tool 35
Profibus DP 35
program
back-up 33
transfer 33
R
RAP Communication 31
read
data 14
file 14
57
Index
58