ABB IRC5 Controller Software RobotWare 5 6 3HAC022349-001 Rev 2 en
ABB IRC5 Controller Software RobotWare 5 6 3HAC022349-001 Rev 2 en
RobotWare 5.06
Product Specification
1 Introduction 7
3 Installation Options 13
4 Motion Performance 15
5 Motion Coordination 19
6 Motion Events 25
7 Motion Functions 29
8 Motion Supervision 33
9 Communication 35
10 Engineering Tools 45
11 I/O Control 53
13 Diagnostic Tools 61
14 Application Options 63
1 Introduction
Product classes Within the RobotWare family, there are two classes of products:
Process For IRC5, the former ‘ProcessWare’ options are included in the RobotWare options.
application These are extensive packages for specific process Application like welding, dispens-
options
ing and painting. They are primarily designed to improve the process result and to
simplify installation and programming of application.
General In RobotWare 5.0 (IRC5), the RobotWare options have been restructured, as com-
pared to S4Cplus.
The previous option packages have been split up in individual functions so that it is
now possible to choose exactly the functionality required.
Furthermore, a number of functions have been moved to RobotWare - OS.
Below you find a conversion table between IRC5 and S4Cplus.
Future options The following options are planned for later releases than RW 5.06.
Option Description
[633-3] Arc Advanced Tracking
[640-1] Pallet
Option Groups For IRC5, the RobotWare options have been gathered in groups, depending on the
customer benefit. The goal is to make it easier to understand the customer value of
the options. However, all options are purchased individually. The groups are as fol-
lows:
3 Installation Options
General This option is to be used when RobotWare – OS is not to be installed on the controller
at delivery.
RobotWare-OS In cases when this option is not chosen, the latest RobotWare – OS version will be
installed in the controller in the production.
General This option is to be used when the customer wants a separate CD with RobotWare –
OS. (Always the latest version.)
4 Motion Performance
General Advanced Shape Tuning offers the possibility to compensate for frictional effects
that might appear at low speed cutting (10-100 mm/s).
The option gives the user access to tuning parameters and the possibility to change
the tuning parameters during program execution with RAPID commands in the robot
program. The tuning is performed by the user and for each specific shape.
Application Friction effects typically arise when cutting advanced shapes, e.g. circles, in small
format. The effects appear in the form of approximately 0.5 mm path deviations.
Performance Typically a 0.5 mm path deviation can be reduced to about 0.1 mm. This however,
requires careful tuning of the friction level (see the FlexPendant Operating Manual
for tuning procedure and instruction TuneServo in RAPID Reference manual). Note
that even with careful tuning, there is no guarantee that ”perfect” paths will always
be generated.
For the IRB 66X0 and 7600 families of robots, no significant effects can be expected
by applying Advanced Shape Tuning.
General Absolute Accuracy (AbsAcc) is a calibration concept, which ensures a TCP absolute
accuracy of better than ±1 mm in the entire working range (AbsAcc is limited to only
forward positions for bending backward robots, eg IRB 6600.). The user is supplied
with robot calibration data (compensation parameter file) and a certificate that shows
the performance (Birth Certificate). The difference between an ideal robot and a real
robot can typically be up to 8 mm, resulting from mechanical tolerances and deflec-
tion in the robot structure. The Absolute Accuracy option is integrated in the control-
ler algorithms for compensation of this difference, and does not need external
equipment or calculation.
Performance Once the Absolute Accuracy parameter file is loaded and activated, the robot can be
used.
Typical production data regarding calibration are:
For joint based motions, switching to the jogging window and selecting a cartesian
jog mode (Linear, Reorient) will show the correct absolute coordinates. Similarly
creation of a robtarget at a point taught by joint based motion will be absolutely
accurate.
Requirements Each Absolute Accuracy robot is shipped with a compensation parameter file that is
unique to that robot. This file must be loaded into the controller and subsequently
activated in order to use Absolute Accuracy. Absolute Accuracy functionality may
also be deactivated.
Supported robot All M2004 robot types, except IRB 340 and IRB 940 are supported. However, only
types floor mounted robot variants are supported.
5 Motion Coordination
General The option MultiMove - Coordinated makes a robot system a MultiMove system
with coordinated robots functionality.
A MultiMove system is a system where a common controller controls up to four
robots, each equipped with its own drive module. MultiMove exists in two different
modes - Independent and Coordinated.
With the MultiMove Coordinated option, a MultiMove system is able to work
together on a common work piece and coordinated in a common workobject. Multi-
Move Coordinated also includes all MultiMove Independent functionality.
Application
Application Description
Multi robot Processing on a work piece mounted on a positioner
Processing By one or multiple robots on a work piece handled by another
robot. (Flexpositioner)
Moving Of heavy or flimsy objects by multiple robots
will consist of a superimposition of the two robot's accuracy. This means an error,
which is less than or equal to the sum of those of the individual robots.
Regarding absolute accuracy, see Requirements.
The main CPU has reserved power for dealing with MultiMove, including "normal"
RAPID processing. For very demanding RAPID processing, there may be a slight
impact on cycle time, compared to a single robot system.
Requirements • For communication with additional drive units, the hardware option 710-1 is required.
This option is obviously not needed if MultiMove is used within a single drive module.
• This option is relevant and required only for systems, when coordination between
robots and/or manipulators, controlled from different tasks, is needed.
Each RAPID task can control one robot and up to six external axes (positioners with-
out TCP).
• Coordination between robots, controlled from different tasks but working in a common
moveable workobject, is only possible within synchronized movement sequences (see
instructions below). When working in a stationary workobject, no synchronization is
needed, and the option ‘MultiMove Independent’ can be used.
• The accuracy of coordinated motion is obviously depending on the position accuracy
of each robot. To achieve the best possible coordination between robots, it is highly
recommended to use Absolute Accuracy [603-1] on the robots involved.
Limitations A MultiMove system is to be regarded as “one machine”, in the sence that all robots
involved are always in the same state, since there is only one common safety system.
MultiMove can thus not be applied for robots in different cells.
Instruction Description
SyncMoveOn Activation of synchronized movement sequence for two or more
robots and manipulators
SyncMoveOff Deactivation of synchronized movement sequence
SyncMoveUndo Deactivation of synchronized movement sequence from any
place in the RAPID program
MoveExtJ Move external axes in joint coordinates
General The option MultiMove Independent makes a robot system a MultiMove system with
independent robots functionality.
A MultiMove system is a system where a common controller controls up to four
robots, each equipped with its own drive module. MultiMove system exists in two
different modes - Independent and Coordinated.
With MultiMove Independent, the robots run independently of each other, i.e. con-
trolled by separate RAPID tasks. It is also possible to run positioners independently
(controlled by separate RAPID tasks.)
Application Multi robot processing where each robot is working independently, controlled by
separate RAPID tasks.
Requirements • For communication with additional drive units, the hardware option 710-1 is required.
This option is obviously not needed if MultiMove is used within a single drive module.
Limitations A MultiMove system is to be regarded as “one machine”, in the sence that all robots
involved are always in the same state, since there is only one common safety system.
MultiMove can thus not be applied for robots in different cells.
Instruction Description
MoveExtJ Move external axes in joint coordinates
General The Multiple Axis Positioner option enables coordination of robot motion with mul-
tiple axis manipulators or robot carriers (gantries).
Note that simultaneous coordination with several single axis manipulators, e.g. track motion
and work piece manipulators, does not require the Multiple Axis Positioner option
Application This option shall be used for all types of multiple axis manipulators e.g. positioners
for arc welding.
The kinematic model of the positioner enables the coordinated movement of robot
and manipulator together, meaning correct TCP movement relative to the work piece,
also when the work piece or the robot (for robot carrier Application) is moved
around, during program execution or jogging.
Performance The performance of the coordinated robot movement with a moving work object on
a multiple axis manipulator is the same as for a fix work object, if the manipulator is
correctly calibrated.
Requirements Note! There is a built-in general method for defining the geometry for a manipulator
compromising two rotating axes (see User’s Guide Calibration). For other types of
manipulators/robot carriers, comprising up to six linear and/or rotating axes, a spe-
cial configuration file is needed. Please contact you nearest local ABB office.
General Conveyor Tracking (also called line tracking) is the function which makes the robot
follow a work object on a moving conveyor. While tracking the conveyor, the pro-
grammed TCP speed, relative to the work object, will be maintained even when the
conveyor speed is changing slowly.
Application Any application where conveyors are used e.g. Painting, ArcWelding, Picking and
other Applications.
Performance At 150 mm/s constant conveyor speed, the TCP will stay within 2 mm of the path as
seen with no conveyor motion. When the robot is stationary relative to the conveyor,
the TCP will remain 0.7 mm of the intended position.
Make sure that the robot is within its dynamic limits with the added conveyor motion and
that the conveyor is accurately calibrated.
Requirements Hardware components for measuring the conveyor position: DeviceNet option and
encoder card QSQC 377Q. Please refer to the Product Specification for your robot.
Instruction Description
WaitWObj Connects to a work object in the start window
DropWObj Disconnects from the current object
General Sensor Synchronization adjusts the robot speed to an external moving device (e.g. a
press or conveyor) with the help of a sensor. The option can also be used for synchro-
nizing two robots with each other.
This Sensor Synchronization option simplifies programming and improves produc-
tivity of any loading /unloading application, since it provides automatic sensor status
check and speed adjustment.
The robot TCP speed will be adjusted in correlation to the sensor output, so that the
robot will reach the programmed robtargets at the same time as the external device
reaches the programmed position. The synchronization is started/stopped with a
RAPID instruction combined with movement instructions (fine points or corner
zones).
Performance The TCP will stay within +/- 50ms delay of the taught sensor position, for linear
sensors and constant sensor speed.
Instruction Description
SyncToSensor Start/stop synchronization
WaitSensor Connect to an object in the start window
DropSensor Disconnect from current object
6 Motion Events
General The World Zones option is used to define in which area in space the TCP is operating,
or the current joint configuration.
Features • Set input/output signal, when TCP or joint within or outside zone
• Stop robot when reaching a zone border
• Cubical, Cylindrical, Spherical and Joint zones
• Set I/O when the robot is in ‘home’ position and configuration
• Automatic activation at start-up or activated/deactivated from RAPID program
• Active in automatic and manual mode
• For a MultiMove system, each robot will have its own World Zones, independent of
each other
Application
Application Description
Home position When the robot is started from a PLC, the PLC will check that
the robot is inside the volume of the home configuration. In this
way other equipment may move safely in the cell.
Protection of equipment A zone may enclose other cell equipment, and thus prevent the
robot from moving into that area.
Robots working in the Handshaking between robots ensures that only one robot at a
same area time is working within a zone. This functionality also ensures
efficiency in these operations, since robots can be put waiting
for another robot to finish its work within the zone and immedi-
ately enter the zone, when the first is finished.
Performance For safety reasons, this software function shall not be used for protection of person-
nel. Use hardware protection equipment.
Instruction Description
WZBoxDef Define a cubical world zone
WZCylDef Define a cylindrical world zone
WZLimSup Activate world zone limit supervision
Instruction Description
WZSpDef Define a spherical world zone
WZDOSet Activate world zone digital output
WZDisable Deactivate world zone supervision
WZEnable Activate world zone supervision
WZFree Erase world zone supervision
WZHomeJointDef Define a global zone in joint coordinates
WZLimJointDef Define a global zone in joint coordinates, for limitation of work
area
General The option Fixed Position Events is used to issue certain events depending on the
current robot position. The events can be used to control or check the status of sur-
rounding equipment, see ‘Application’ below.
Features • Change the value of an I/O signal, when the TCP is at a certain time and/or distance
before or after a programmed position.
• Generate an interrupt, when the TCP is at a certain time and/or distance before or
after or after a programmed position.
• Check the value of an I/O signal, when the TCP is at a certain time and/or distance
before or after a programmed position.
• Make a procedure call, when the TCP is at a certain position on the path or in the mid-
dle of a corner zone.
Application .
Application Description
Handling press work To provide a safe communication system between the robot and
the press and to reduce cycle time. At the instant when the robot
leaves a press, an output is set and restarts the press action.
This function is also useful for other process equipment. The
start/stop will always occur when the robot is at the exact posi-
tion, irrespective of the robot speed.
Check status of process E.g. a robot which is used for extracting parts from a die casting
equipment machine. Before entering, the robot can check if the gate is
open (check an I/O signal) or check a number of logical condi-
tions and take care of the complete press start (make procedure
call).
Performance The Fixed Position Event will always occur when the robot is at the exact position,
irrespective of the robot speed.
Instruction Description
TriggIO Definition of trigg conditions for an output
TriggEquip Definition of trigg conditions for process equipment with com-
pensation for equipment delay
TriggCheckIO Definition of trigg conditions for check of signal value
TriggInt Definition of trigg conditions for an interrupt
Instruction Description
TriggL Position fix output/interrupt during linear movement
TriggC Position fix output/interrupt during circular movement
TriggJ Position fix output/interrupt during joint movement
MoveLSync Procedure call in the middle of the path or in corner zone, during
linear movement
MoveCSync Procedure call in the middle of the path or in corner zone, during
circular movement
MoveJSync Procedure call in the middle of the path or in corner zone, during
joint movement
7 Motion Functions
General The Independent Axis option is used to make an external axis (linear or rotating) run
independently of the other axes in the robot system.
The option also includes the function ‘Axis Reset’, which can reset the Axis position
counter from RAPID. Axis Reset is useful for repeated maneuvers, where mechani-
cal reset of the axis (mechanically turning back the axis) would mean loss of cycle
time in the process.
Application
Application Description
Welding – Independent A robot is working with different stations (additional axes). First,
Axis a work object located at station 1 is welded. When this operation
is completed, station 1 is moved to a position where it is easy to
change the work object and at the same time the robot welds the
work object at station 2. Station 1 is moved independently of the
robot’s movement, which simplifies operator work and reduces
the cycle time.
Plasma spraying – A robot is spraying an object, which is rotated continuously by
Independent Axis an additional axis in front of the robot. The speed of the addi-
tional axis can be changed during the process for optimal
results.
Polishing – Axis Reset When polishing, a large work area is sometimes needed on the
robot axis 6 in order to be able to carry out final polishing without
stopping. Assume that the axis has rotated 3 turns, for example.
It can now be reset using this function, without having to physi-
cally rotate it back again. Obviously this will reduce cycle times.
Performance The movements will be made with the same performance as additional axes without
Independent Axis.
Limitations If an axis has a gear ratio which is not an integer number, fine calibration is required
after resetting the revolution counter on the serial measurement board, if a precise
axis position is needed in the application.
Internal and customer cabling and equipment may limit the ability to use independent
axis functionality on axis 4 and 6.
For information about what capability a specific robot’s axis 4/6 has, please contact
ABB.
Instruction Description
IndCMove Running an axis continuously
IndDMove Running an axis independently a specified distance
IndRMove Running an axis Independently to a position within one revolu-
tion, without taking into consideration the number of turns the
axis had rotated earlier
IndAMove Running an axis Independently to an absolute position
IndInpos Checking whether or not an independent axis has reached the
programmed position
IndSpeed Checking whether or not an independent axis has reached the
programmed speed
IndReset Change an axis to dependent mode and/or reset the working
area
General The Path Recovery option is used to store all system data, when an interrupt occurs
(fault message or other) and restore them after necessary actions have been taken.
Application
Application Description
Service of welding guns When an error message occurs, the position/path data can be
stored and the robot moves automatically to a service area.
After service, the robot moves back to the exact same position,
including all system data and continuous welding.
Instruction Description
StorePath Stores the path when an interrupt occurs
RestorePath Restores the path after an interrupt/error
General Path Offset (path corrections) changes the robot path according to the input from a
sensor. The robot can thus follow/track a contour, such as an edge or a weld.
The path corrections will take effect immediately when receiving data from the sen-
sor, also during movement between two positions. The path corrections are entered
from the RAPID program. Path Offset can be made in the path coordinate system.
Application
Application Description
Path offset Mainly used in ArcWelding, to track a work object at a certain
distance.
A sensor is used to define the robot input for path correction
during motion. The input can be defined via an analog input, a
serial channel or similar. Multitasking or interrupts are used to
read this information at specific intervals. Based on the input
value, the path can then be adjusted
Instruction Description
CorrCon Activating path correction
CorrDisCon Deactivating path correction
CorrRead Read current path correction
CorrWrite Changing path correction
CorrClear Removes all correction generators
8 Motion Supervision
General Collision Detection is a software option, which reduces collision impact forces on the
robot. In this way, the robot and external equipment can be protected from severe
damage.
Application Abnormal torque levels on any robot axis (for additional axes, only positioners listed
below are covered) are detected and will cause the robot to stop quickly and thereaf-
ter back off to relieve forces between the robot and environment.
Performance The sensitivity (with default tuning) is comparable to the mechanical alternative
(mechanical clutch) and it is in most cases much better. In addition, Collision detec-
tion has the advantages of no added stick-out and weight, no need for connection to
the e-stop circuit, no wear, the automatic backing off after collision and, finally, the
adjustable tuning.
Tuning is normally not required, but the sensitivity can be changed from RAPID or
manually. Collision detection can also be switched off completely for part of a pro-
gram. This may be necessary when strong process forces are acting on the robot.
Requirements This option is available for the following robot families: IRB 140, IRB 1400, IRB
2400, IRB 4400, IRB 6400 (not 640) IRB 7600 and for positioners IRBP-L, IRBP-
K, IRBP-R and IRBP-A.
Instruction Description
MotionSup Changing the sensitivity of the collision detection or activating/
deactivating the function.
9 Communication
General The option FTP client (File Transfer Protocol) makes it possible to read information
on a remote hard disk, e.g. a PC, directly from the controller.
Application • A robot might be using different programs for different products and the programs
might be loaded on a PC. When a new part is to be produced, and thus a new pro-
gram is to be loaded, the program can be read directly from the PC.
Reading a program can be done by a manual command from the flex pendant or with
a RAPID instruction in a program.
• Several robots might be connected to a PC via Ethernet. The control program and the
user programs for all the robots are stored on the PC. A software update or a program
backup can easily be executed from the PC.
General The option NFS client (Network File System) makes it possible to read information
on a remote hard disk, e.g. a PC, directly from the controller.
Application • A robot might be using different programs for different products and the programs
might be loaded on a PC: When a new part is to be produced, and thus a new pro-
gram is to be loaded, the program can be read directly from the PC.
Reading a program can be done by a manual command from the flex pendant or with
a RAPID instruction in a program.
• Several robots might be connected to a PC via Ethernet. The control program and the
user programs for all the robots are stored on the PC: A software update or a program
backup can easily be executed from the PC.
General PC Interface provides the communication interface for the robot to a network PC
(Ethernet).
Application
Application Description
RobotStudio Online -Remote update of programs, configurations or systems are
possible over the LAN network.
-WebWare Server
-Backup of current robot programs and configurations are auto-
matically made each night to a network server.
-Production metrics are tracked for the purpose of reporting on
output, cycle time variations, utilization rates, quality data, etc.
-Status information about the robot and peripheral equipment is
displayed for the operator on the PC screen.
PC SDK -Production is controlled by an operator from a remote superior
computer.
-Status information about the robot and peripheral equipment is
displayed for the operator on the PC screen.
-Program execution and fixture clamps can be controlled from
the PC.
ABB Industrial ABB offers value-added PC software products that are network enabled through this
Robot Software option:
• RobotStudio Online - offers manual tools for commissioning of robots, including activi-
ties like update/booting of the systems software, system parameter update, RAPID
programming and recording of the robot log file. Note that RobotStudio Online can
connect to a controller even if PC Interface is missing, in that case, however, only
through the local service port.
• WebWare™ Server - offers a 24 hours a day solution for automated backup and ver-
sion control of robot programs as well as local and remote access to production
reports and diagnostic information using a standard Internet browser.
• PC SDK - is a state-of-the-art Software Developers Kit for designing graphical PC
operator stations that communicate with ABB robot controllers and other production
equipment. PC SDK includes a collection of ActiveX controls that are standard to
Microsoft visual programming environments. The custom PC-based control Applica-
tion built with PC SDK can be connected with this option. PC SDK is a subset of the
product Robot SDK.
Instruction Description
SCWrite Sends a message to the network PC
General FlexPendant Interface provides the possibility to download and run user-developed
interfaces on the graphical FlexPendant.
Application
Application Description
FlexPendant Interface An option which makes it possible to download and run Applica-
tion developed with FlexPendant SDK (Software Development
Kit) on the FlexPendant.
FlexPendant SDK Contains all the needed software necessary to develop an appli-
cation that will be contained in an external option to the IRC5
controller and hosted by the FlexPendant standard software.
Microsoft Visual Studio The NET environment is used for all FlexPendant application
development and the SDK works within this environment.
SDK Templates (Solution and projects for VS.NET)
Assemblies (UI controls, components and Controller API con-
trols)
Add-in for VS.NET
Online Help
Compliance tool (verifies that application follows FlexPendant
limitations and deploys during development.)
The final results from developing an application with VS.NET and the FlexPendant
SDK is a set of files that can be included in an External Option for the controller.
External Options are added to systems created by RobotStudio-Online and down-
loaded to the controller or run as a Virtual Controller. During development of an
application, the FlexPendant SDK’s compliance tool is used for deployment.
Requirements Application need to be developed with the software tool: FlexPendant SDK.
General Fieldbus Command Interface is an option, which is used when transferring com-
mands or messages other than IO-signals from the controller to/from units connected
via the physical DeviceNet.
Application The option will be used e.g. when an intelligent control unit for external equipment
is connected to the robot controller via the DeviceNet bus. An example of this is the
integrated ARCITEC power source for arc welding.
After such a unit is configured as a device on DeviceNet, it can be handled like other
communication devices e.g. using the RAPID commands Open\Bin, Close,
ReadRawBytes, WriteRawBytes.
Performance The Fieldbus Command Interface can handle data blocks of a size of 1024 bytes.
Requirements This option requires the DeviceNet option and the option RobotWare – File and
Serial Channel Handling.
Instruction Description
PackDN Header Pack the header of a DeviceNet message
General The purpose of Socket Messaging is to allow a RAPID program to exchange TCP/IP
messages over a network, with a C/C++ program on another computer or a RAPID
program on another robot controller.
Socket Messaging sends and receives messages over the permanent Ethernet channel
of the IRC5 (which can simultaneously be used for other network traffic, e.g. com-
munication with RobotStudio-Online or WebWare Server).
Socket Messaging is a standard supported by e.g.UNIX and Microsoft Windows.
Application Sockets can be used for any kind of network communication between computers/
controller. Typical examples are:
• Two robot controllers exchanging interlocking information
• Communication between a robot controller and peripheral devices like sensors, bar
code readers or process controllers
Instruction Description
SocketCreate Create a new socket and assign it to a socketdev variable
SocketClose Close a socket and release all resources
SocketBind Bind the socket to a specified port number
SocketListen Make the computer act as a server and accept incoming
connections
SocketConnect Make a connection request to a remote computer
SocketAccept Accept an incoming connection request
SocketSend Send data via a socket connection to a remote computer
SocketReceive Receive data and store it
SocketGetStatus Returns the current state of a socketdev variable
General File and Serial Channel Handling is an option, which allows the robot system to
communicate with external units.
Application
Application Description
Transferring information Bar code readers can be used to trace a product with its corre-
via serial channels sponding production information, for every work object through-
out a production line.
Bar code readers can also be used to make the robot perform
the proper actions, corresponding to the work object, in lines
which handle different types of products, e.g. in packing and
palletizing Application. This is the same as controlling the robot
production from a file. This file may have been created in a PC,
stored on a USB memory stick, and read by the robot at a later
time.
Data transfer via files Storing production statistics on a USB memory stick or other
mass storage memory. This information can then be processed
by an ordinary PC.
Performance
Data/Information Description
Transferring information The transfer is controlled entirely from the robot’s work pro-
via serial channels gram. To control the transfer from a PC, use the option PC Inter-
face.
Data transfer via files Data in the form of text strings (characters), numerical values or
binary information can be read/written.
Requirements This option includes software functionality only. Serial channels (RS232 or RS 485
serial channel), bar code readers etc. need to be purchased separately, from ABB or
external provider.
Instruction Description
Open/Close Open/Close a file/serial channel
Write (Write/WriteBin/WriteStrBin/WriteAnyBin)
Write to a character- or string-based/binary serial channel or file.
Read (Read/ReadNumReadStr/ReadBin/ReadStrBin/ReadAnyBin)
Read a string/number/binary value from a serial channel or file.
FSSize Get the size of a file system
MakeDir Create a new directory
RemoveDir Delete a directory
OpenDir Open a directory to read the underlying files or subordinates
CloseDir Close a directory
ReadDir Read next object in a directory, file or subdirectory
IsFile Check the type of a file
FileSize Get the size of a file
CopyFile Copy a file, from RAPID
RenameFile Rename a file from RAPID
RemoveFile Delete a file
Rewind Start reading from the beginning of a file
ClearIOBuff Clear the input buffer of a serial channel
ReadRawBytes Read data from rawbyte
WriteRawBytes Write data rawbyte to a device
ClearRawBytes Clear all contents of a rawbytes variable
CopyRawBytes Copy rawbyte data
PackRawBytes Pack data from variables into rawbytes
UnpackRawBytes Unpack data from rawbytes into variables
RawBytesLen Returns the amount of data in a ‘container’ of type rawbyte
(bytes)
Datatypes
Datatype Description
Rawbytes A general data ‘container’, for communication with I/O devices
10 Engineering Tools
General The Multitasking option gives the possibility of executing up to 20 programs (tasks)
in parallel, including the main program. Multitasking can be used to control periph-
eral equipment or other processes concurrently with robot motion.
Application
Application Description
Supervision A task can be used to continuously monitor certain signals even
when the main program has stopped, thus taking over the job
traditionally allocated to a PLC.
Operator dialogue An operator dialogue might be required at the same time as the
robot is performing, e.g. welding. By putting this operator dia-
logue into a parallel task, the operator can specify input data for
the next work cycle without having to stop the robot.
Control of external equip- The robot can control a piece of external equipment in parallel
ment with the normal program execution
Performance It is possible to configure if the task shall react on START/STOP requests or if it shall
start automatically. In the later case it will not stop at emergency stops, which can be
useful for some applications.
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 5-120 ms. The longer time is for cases when heavy calculation
of movement is performed.
Instruction Description
WaitSyncTask Synchronize several program tasks at a special point in each
program.
General Continuous Application Platform (CAP) is a software platform for time critical
Application, where a continuous process, e.g. arc welding, must be synchronized
with the TCP movement of the robot.
Target users are advanced application software engineers and system integrators, e.g.
for arc welding, laser welding, laser cutting. The main advantages are achieved in the
following areas:
• Development time
• Program execution time
• Similar ‘look and feel’ for Application
• Stable software kernel (RobotWare)
General Discrete Application Platform (DAP) is a software platform for time critical Appli-
cation, where certain actions shall be performed at specific robot positions.
Target users are advanced application software engineers and system integrators, e.g.
for spot welding, drilling, measuring, quality control. The main advantages are
achieved in the following areas:
• Development time
• Program execution time
• RAPID- program memory needed
• Similar ‘look and feel’ between Application
• Tested kernel software
Application Creation of software for advanced Application with a discrete behavior, such as spot
welding, drilling, measuring, quality control.
Performance The DAP platform is designed to have an internal kernel, administrating the fast and
quality secured process sequence skeleton. The kernel calls RAPID routines, which
are prepared by the application developer to fulfill the specific tasks. The application
developer regulates the degree of flexibility of the end-user.
General The option Advanced RAPID is directed towards advanced RAPID programmers.
The package includes a detailed reference manual on the RAPID language kernel and
a number of instruction and function groups useful for application development, as
listed below.
The groups are:
• Bit Functions
• Data Search Functions
• RAPID Support Functions
• Power Failure Functions
• Advanced Trigg Functions
RAPID Kernel The manual describes the RAPID language syntax and semantics in detail concern-
Reference Manual ing the kernel, i.e. all general language elements which are not used to control robot
or other equipment. In addition to this the manual includes descriptions on:
• Built-in Routines
• Built-in Data Objects
• Built-in Objects
• Intertask Objects
• Text Files
• Storage allocation for RAPID objects
Bit Functions Bit functions is a package for handling, i.e. setting, reading and clearing, individual
bits in a byte. The instructions/functions are:
Instructions/
Description
Functions
byte Data type for a byte data
BitSet Set a specified bit in a byte
BitClear Clear a specified bit in a byte
BitCheck Check if a specified bit in a byte is set
BitAnd Logical bitwise AND operation on byte
BitOr Logical bitwise OR operation on byte
BitXOr Logical bitwise XOR operation on byte
BitNeg Logical bitwise NEGATION operation on byte
BitLSh Logical bitwise LEFT SHIFT operation on byte
BitRSh Logical bitwise RIGHT SHIFT operation on byte
Data Search With these functions it is possible to search all data in a RAPID program, where the
Functions name or the data type is given as a text string. This might be useful for instance in the
following examples:
• A common need is to check if a data with a certain name is declared in the system,
and in such case what is its value, e.g. a robtarget.
• Another need is to list all variables of a certain datatype, which are declared in the sys-
tem, and write their values on the screen, e.g. all weld data.
The following instructions/functions are included in the data search functions:
Instructions/
Description
Functions
SetDataSearch Define the search criteria
GetNextSym Search next data and get its name as a string
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
SetAllDataVal Set the value of all searched data
RAPID Support This package includes a number of miscellaneous instructions etc., which are used in
Functions application development.
Instruction Description
AliasIO Instruction used to define a signal of any type with an alias
(alternative) name. The instruction can be used to make generic
modules work together with site specific I/O, without changing
the program code.
ArgName Function used inside a routine to get the name of a data object,
which is referenced as argument in the call of the routine. The
name is given as a string. The function can also be used to con-
vert the identifier of a data into a string.
BookErrNo Instruction used to book a new RAPID system error number.
This should be used to avoid error number conflicts if different
generic modules are combined in a system.
ErrLog Write a system error message.
ErrRaise Write a system error message and RAISE the error to the calling
routine.
TextTabGet Function used to get the text table number of a user defined text
table during runtime.
TextGet Function used to get a text string from the system text tables
(installed at cold start).
TextTabInstall Instruction used to install a text table in the system.
TextTabFreeToUse Function to test whether the text table name (text resource
string) is free to use.
SetSysData nstruction which will activates the specified system data (tool or
workobject). With this instruction it is possible to change the cur-
rent active tool or workobject.
Instruction Description
IsStopStateEvent Function which will return information about the movement of
the Program Pointer (PP).
ReadCfgData Read system configuration data.
WriteCfgData Write system configuration data.
WarmStart Restart the system.
Power Failure The package is used to get I/O signal values before power failure and to reset them
Functions at power on. The following instructions are included and are normally used in the
power on event routine:
Instruction Description
PFRestart Check if path has been interrupted
Advanced Trigg
Functions
Instruction Description
TriggSpeed Instruction to define conditions and actions for control of an ana-
log output signal with an output value proportional to the actual
TCP speed.
Note that this instruction must be used in combination with a
TriggL/C/J instruction.
StepBwdPath Instruction used to move backward on its path in a RESTART
event routine.
TriggStopProc Generation of restart data at program stop or emergency stop.
IPers An interrupt when changing a persistant.
IError An interrupt at event (error) generation.
GetTrapData Used in a trap routine to obtain all information about the inter-
rupt that caused the trap routine to be executed.
ReadErrData Used in a trap routine to obtain numeric information (domain,
type and number) about an error, a state change, or a warning,
that caused the trap routine to be executed.
General The Sensor Interface option can be used to integrate sensor equipment for adaptive
control, like path correction or process tuning. The option includes a driver for serial
communication with the sensor system using a specific link protocol (RTP1) and a
specific application protocol (LTAPP).
The communication link makes it easy to exchange data between the robot controller
and the sensor system, using predefined numbers for different data like x,y,z offset
values, gap between sheets, time stamp etc.
Application Sensor Synchronization can be used in any application to read/control a sensor dur-
ing execution, and to react on changes in certain data, like path offset or process
supervisory data, thus making adaptive seam tracking and process control possible.
Requirements External sensors, communicating with the robot controller via serial links.
Limitations Sensor Interface can only be applied to one robot in a MultiMove configuration.
Instruction Description
IVarValue Used to order and enable an interrupt when the value of a vari-
able accessed via the serial sensor interface has been changed
ReadBlock Used to read a block of data from a device connected to the
serial sensor interface
ReadVar Used to read a variable from a device connected to the serial
sensor interface
WriteBlock Used to write a block of data to a device connected to the serial
sensor interface
WriteVar Used to write a variable to a device connected to the serial sen-
sor interface
11 I/O Control
General The option Logical Cross Connections can be used to check or control process equip-
ment, which is external to the robot. The functionality can be compared to the one of
a simple PLC.
Application Any application where logical conditions are used for digital signals.
Appplication Description
Program execution To be interrupted when both inputs 3 and 4 are ‘high’.
Register is to be incre- When input 5 is set, but only when output 5=1 and input 3 = 0.
mented
General The option Analog Signal Interrupt can be used to generate a program interrupt,
when a supervised analog signal reaches a predefined limit.
The interrupt can be used to give an error message e.g. ‘temperature above limit’, or
make the robot wait for a door to be opened.
Performance Analog Signal Interrupt requires less computer capacity than handshaking methods.
Instruction Description
ISignalAI Interrupt from analog input signal
ISignalAO Interrupt from analog output signal
General The Servo Tool Control is a general and flexible software platform for controlling an
integrated servo tool from IRC5. For additional features, like control of external pro-
cesses, or control of several ServoGuns in parallel, please refer to the option Robot-
Ware SpotServo.
Target users are advanced system integrators who want to develop customer specific
application software, such as spotwelding packages.
As a “quick-start”, the option includes an example code package. This package can
be used as a base for application development.
Application
Application Description
Spot Welding with Servo The option provides advanced control functionality for Servo
Guns Guns. Communication with Weld timers and other process con-
trol functionality needs to be implemented outside this option.
For a total spot welding package, please refer to the option
RobotWare - Servo.
Performance The tool is configured as an external axis, which ensures optimal performance,
regarding path following and speed. (Dynamic and kinematic model)
The option Servo Tool Change can be added to the system in order to allow a switch
between two or more servo tools which will then utilize the same drive unit and
measurement board.
Requirements A specific servo tool parameter file must be installed in the controller for each servo
tool. The parameter file is optimized for each system, regarding system behavior and
motion/process performance.
In order to use Servo Tool Control, the options Advanced RAPID and Path Recovery
both need to be installed.
For information on Drive Module & Measurement board see User’s Guide External
Axes.
Limitations • Servo Tool Control can only be applied to one robot in a MultiMove configuration.
• Servo Tool Control cannot be combined with any of the spotwelding options [635-1,
635-2, 635-3, 635-4].
Instruction Description
STClose Close a Servo Tool with a predefined force an thickness
STOpen Open a Servo Tool
STCalib Calibrate a Servo Tool
STTune Tune motion parameters for a Servo Tool
STTuneReset Reset tuned motion parameters
STIsClosed Test if a Servo Tool is closed
STIsOpen Test if a Servo Tool is open
STCalcTorque Calculate the motor torque for a Servo Tool
STCalcForce Calculate the programmable force for a Servo Tool
General Servo Tool Change enables an on-line change of tools (external axes), for a certain
drive- and measurement system. The control is switched between the axes by switch-
ing the motor cables from one servomotor to another. The switch is performed on-
line during production.
Main advantages:
• Flexibility in the production process
One robot handles several tools.
• Minimized equipment
A single drive-measurement system shared by many tools.
Application
Application Description
Servo gun changing Robot held servo guns, designed for different reach and weld
forces, equipped with different brands and sizes of servo
motors, may be held and operated by a robot, switching from
one servo gun to another.
Servo Tool Change Can be used as an independent option, or as an addition to the
RobotWare Spot Servo or Servo Tool Control options.
Performance When switching tools, the following steps are performed (switching from Axis 1 to
Axis 2):
• Axis 1 is deactivated using the RAPID instruction DeactUnit
• Axis 1 is disconnected from the motor cables
• Axis 2 is connected to the motor cables
• Axis 2 is activated using RAPID instruction ActUnit
• After activation, Axis 2 is ready to run
The motor position at the moment of deactivation of one axis is saved and restored
next time the axis is activated.
The motor position must not change more than half a motor revolution, when the axis is
disconnected. In RobotWare Spot Servo, there is a calibration routine, which handles larger
position changes.
Requirements Servo Tool Change requires a mechanical wrist interface, a Tool Changer.
A MOC service parameter, Disconnect deactive = YES (Types: Measurement chan-
nel), must be set for each tool (external axis) used with this function.
Limitations Sensor Interface can only be applied to one robot in a MultiMove configuration.
Performance
Performance Description
When jogging the electronically linked motors will follow the master motor
Calibration running follower motors independent of the master - is per-
formed through a RAPID calibration program, to ensure high
personnel safety
At startup a routine will automatically set the master- and follower motors
at the start position, through a safe maneuver
13 Diagnostic Tools
General Service Information System is a service routine, which gives an alarm on the Flex-
Pendant when the robot needs service. This function is available for IRB 6600/6650
and IRB 7600.
Service Alarms intervals exist for gearbox supervision as default. There is also a
possibility to set user specific service intervals for calendar and operational time as
well as for gearbox supervision.
The status of the service values can be checked on the FlexPendant when the robot
is in manual mode.
Service information System furthermore includes a duty time counter function. This
function is available for all robot types.
Remark: There is also a hardware duty time counter available as option.
Sevice information System is a free option and comes with all robots (does not have
to be ordered).
Application All robot installations, with high quality demands. The Service Information System
function gives possibility to predict the maintenance production stops.
Performance • FlexPendant
Alarms are given when a service interval is passed. (Both when robot in production
and manual mode.) Possibility to check the status of the service values. (Manual
mode, only).
• WebWare
The option provides support for building WebWare interfaces, with possibility to check
Service Information status via a computer network (LAN).
Requirements Service Information System does not require any additional software or hardware.
14 Application Options
General RobotWare Arc comprises a large number of dedicated arc welding functions, which
make the robot well suited for arc welding.
RobotWare Arc is a simple yet powerful option 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.
1.Only available for IRB 140, IRB 1400 and IRB 2400.
Interface signals The following process signals are, if installed, handled automatically by RobotWare
Digital outputs - Arc. The robot can also support dedicated signals for workpiece manipulators and
sensors.
Process signals/
Description
Digital outputs
Power on/off Turns weld on or off
Gas on/off Turns gas on or off
Wire feed on/off Turns wire feed on or off
Wire feed direction Feeds wire forward/backward
Weld error Weld error
Error information Digital outputs for error identification
Weld program number Parallel port for selection of program number, or 3-bit pulse port
for selection of program number, or Serial CAN/Devicenet com-
munication
Interface signals
Digital inputs
Process signals/
Description
Digital inputs
Arc OK Arc established; starts weld motion
Voltage OK Weld voltage supervision
Current OK Weld current supervision
Water OK Water supply supervision
Gas OK Gas supply supervision
Wire feed OK Wire supply supervision
Manual wire feed Manual command for wire feed
Weld inhibit Blocks the welding process
Weave inhibit Blocks the weaving process
Stop process Stops/inhibits execution of arc welding instructions
Wirestick error Wirestick supervision
Supervision inhibit Program execution without supervision
Torch collision Torch collision supervision
Interface signals
Group outputs
Group outputs Description
Schedule Port Weld schedule sent to Power Source
Mode Port Weld mode sent to Power Source
Interface signals
Analog outputs
Analog outputs Description
Voltage Weld voltage
Wire feed Velocity of wire feed
Current Weld current
Interface signals
Analog inputs
(cont.) Analog inputs (cont.) Description (cont.)
Voltage Weld voltage measurement for monitoring and supervision
Current Weld current measurement for monitoring and supervision
Instruction Description
ArcLStart Arc welding start with linear movement
ArcL Arc welding with linear movement
ArcLEnd Arc welding end with linear movement
ArcCStart Arc welding start with circular movement
ArcC Arc welding with circular movement
ArcCEnd Arc welding end with circular movement
ArcKill Aborts the process and is intended to be used in error handler
ArcRefresh Updates the weld references to new value
Figure 1
General In order to control and communicate with a certain type of power source supply, a
software interface is needed. ABB have developed a number of specific software
infaces for different power source supplies, providing the user an easy to use and
workable Arc Welding Robot process interface. The available software interfaces are
designed to manage different levels of integration depending on selected power
source supply.
The integration level on the power source options, described below, covers between
a standard I/O based user interface and a High-Level user interface based on Device
Net communication, where all process parameters are controlled from the FlexPen-
dant.
General The Arcitec IRC5 user interface is a high-level programming tool used for operating
and managing one or more LRC-type ABB power sources.
The communication is performed through a robot Device Net interface, which allows
the operator to program all process parameter from the Robot FlexPendant.
The operator can through this software access and control all process parameters on
an easy to use and intuitive graphic touch screen, see below example of screen view.
Figure 2
Following main tasks can be handled from the Arcitec IRC5 process user interface:
• Changing data in the schedule memory.
• Creating and removing individual synergic lines.
• Programming of advanced functions, including service functions in the power source
and welding setting for the robot program.
• Backing up and restoring of all process data in the schedule memory.
General The MigRob 500 user interface is a high-level programming tool used for operating
and managing one or more MigRob 500 ABB power sources.
The communication is performed through a robot Device Net interface, which allows
the operator to program all process parameters from the Robot FlexPendant.
The operator can through this software access and control all process parameters on
an easy to use and intuitive graphic touch screen, see below example of screen view.
Figure 3
Following main tasks can be handled from the MigRob 500 process user interface:
• Changing data in the schedule memory.
• Creating and removing individual synergic lines.
• Programming of advanced functions, including service functions in the power source
and welding settings including Super Pulse parameters for the robot program, see
below example of screen view.
• Backing up and restoring of all process data in the schedule memory.
Figure 4
Figure 5
General The Fronius TPS user interface is a standard Arc programming tool used for operat-
ing and managing one or more TPS-type of power source.
The communication is performed through a robot Device Net interface, which allows
the operator to program the main process parameters from the Robot FlexPendant.
The operator can through this software call for pre-programmed jobs (schedules),
which have been made in the separate Fronius power source operator panel. Each
pre-programmed job (schedule) can then through the FlexPendant be adjusted by
changing the power ± (wire feed in syneric mode) and indivdual voltage trim ±.
If individual process parameters need to be adjusted within a job (schedule) except
for the power and the voltage trim, the operator must then change the original pro-
programmed schedules on the Fronius power source panel, or program a completely
new schedule.
Following main tasks can be handled from the FlexPendant, Fronius TPS process
user interface:
• Call for and use pre-programmed jobs (schedules) made in the Fronius TPS power
source.
• Adjust power ±, voltage trim ± and absolute welding speed.
General The Miller AutoAxcess user interface is a standard Arc programming tool used for
operating and managing one or more AutoAxcess-type of power sources.
The communication is performed through a robot Device Net interface, which allows
the operator to program the main process parameters from the Robot FlexPendant.
The operator can through this software call for pre-programmed schedules, which
have been made in the separate Miller power source operator panel. Each pre-pro-
grammed schedule can then through the FlexPendant be adjusted by changing the the
wire feed speed in syneric mode ± and indivdual voltage trim ±.
If individual process parameters need to be adjusted within the schedule except for
the wire feed speed and the voltage trim, the operator must then change the original
pre-programmed schedule on the Miller power source, operator panel or program a
new schedule.
Following main tasks can be handled from the FlexPendant, Miller AutoAxcess pro-
cess user interface:
• Call for and use pre-programmed schedules made in the Miller AutoAxcess power
source.
• Adjust wire feed speed in synergic mode ±, voltage trim ± and absolute welding
speed.
General The Miller DeltaWeld user interface is a standard Arc programming tool used for
operating and managing one or more DeltaWeld-type power sources.
The communication is performed through a robot I/O based interface, which allows
the operator to program the main process parameters from the Robot FlexPendant.
The operator can through this software set required wire feed speed, voltage level and
welding speed for each specific weld in the robot program.
Following main tasks can be handled from the FlexPendant, Miller AutoAxcess pro-
cess user interface:
• Set required wire feed speed, voltage level and absolute welding speed.
General The RPB user interface is a standard Arc programming tool used for operating and
managing one or more RPB-type of ABB power sources.
The communication is performed through a robot I/O based interface, which allows
the operator to program the main process parameters from the Robot FlexPendant.
The operator can through this software set required wire feed speed, voltage level and
welding speed for each specific weld in the robot program.
Following main tasks can be handled from the FlexPendant, RPC process user inter-
face:
• Set required wire feed speed, voltage level and absolute welding speed.
General The Standard I/O Welder user interface is a standard Arc programming tool used for
operating and managing one or more I/O-based power sources.
The communication is performed through a robot I/O based interface, which allows
the operator to program the main process parameters from the Robot FlexPendant.
The operator can through this software set required wire feed speed, voltage level and
welding speed for each specific weld in the robot program.
Following main tasks can be handled from the FlexPendant, Standard I/O Welder
process user interface:
• Set required wire feed speed, voltage level and absolute welding speed.
General The Simulated Welder user interface is a standard Arc programming tool used for
simulating and managing a virtual power source supply.
General The Additional Arc System software option is designed to prepare a robot system to
control two or three arc systems. An example of that could be to control a MIG/MAG
process equipment together with a TIG process equipment through one robot.
In order to prepare the software communication to control two or three arc systems
with the same robot, ABB has developed software options, in which one or two addi-
tional process equipments can be defined.
General This software option will give the user the possibility to define features in one robot
system to control two different process equipments.
General This software option will give the user the possibility to define features in one robot
system to control three different process equipments.
14.5 BullsEye
14.5.1 Introduction
General BullsEye™ provides completely automated Tool Center Point (TCP) definition for
welding robots controlled by the IRC5 robot controller. By checking and updating
the TCP alignment at regular intervals the robot will always operate with an accurate
TCP.
The robot moves the welding wire acrosss an optical beam in several different orien-
tations and the TCP is calculated through triangulation. At designed intervals, the
robot can be programmed to zero in on BullsEye, do a quick check in about 10 sec-
onds, and go back to work. If the TCP is misaligned BullsEye automatically recalcu-
lates TCP and torch angle.
General This software option will give the user the possibility to define and program a stan-
dalone BullsEye hardware device, see below pictures of different available hardware.
The BullsEye arc option includes software that is loaded into all arc welding motion
tasks, which must be involved when programming a TCP (Tool Center Point) check
activity in a robot system.
(A) (B)
Figure 6 North American version and European version.
Pos Description
A North American version
B European version
General The Torch Cleaner software option provides automatic cleaning of the welding torch.
It automatically clears and reduces buildup of spatter, which ensures continuous and
reliable operation of the robot cell.
The Torch Cleaner option includes software that is loaded into all arc welding motion
tasks.
Note that the Torch Cleaner software loads unique equipment drivers, but the RAPID
instruction interface is the same regardless of hardware selected
Torch Cleaning software maximizes arc on time and minimizes down time since it
can be programmed to clean automatically between weld or station interchanges.
This reduces the need to manually disassemble and clear the nozzle.
Torch Cleaning software makes it possible to perform torch cleaning during posi-
tioner interchange, which reduces cycle time.
Once Torch Cleaning is programmed the operator can decide how often the cleaning
process needs to take place to prolong the contact tip and gas nozzle life.
General This software option will give the user the possibility to define torch cleaning and
anti spatter procedures in a robot system for the hardware option, ABB - TC96. The
hardware option is available in separate Application product price list.
The following main tasks can be handled from the ABB - TC96 software options:
• Procedure for automatic cleaning of gas nozzle interior wall and the exterior of the
contact tip and face of the gas diffuser for quick removal of weld spatter.
• Procedure for anti spatter spray program to provide longer interval between torch
cleanings.
General This software option will give the user the possibility to define torch cleaning and
anti spatter procedures in a robot system for the hardware option, Binzel - TC97. The
hardware option is available in separate Application product price list.
The following main tasks can be handled from the Binzel - TC97 software options:
• Procedure for automatic cleaning of gas nozzle interior wall and the exterior of the
contact tip and face of the gas diffuser for quick removal of weld spatter.
• Procedure for anti spatter spray program to provide longer interval between torch
cleanings.
General This software option will give the user the possibility to define torch cleaning and
anti spatter procedures in a robot system for the hardware option, Tweco - TC2000.
The hardware option is available in separate Application product price list.
The following main tasks can be handled from the Tweco - TC2000 software options:
• Procedure for automatic cleaning of gas nozzle interior wall and the exterior of the
contact tip and face of the gas diffuser for quick removal of weld spatter.
• Procedure for anti spatter spray program to provide longer interval between torch
cleanings.
General This software option will give the user the possibility to define only the torch clean
procedure in a robot system.
General This software option will give the user the possibility to define only the anti spatter
procedure in a robot system.
General This software option will give the user the possibility to define only the wire cutting
procedure in a robot system.giving the user the possibility to define a procedure auto-
matic wire cutting for consistent wire electrode extenion (wire stick.out).
General The Torch Service Center software option provides a combined solution for all four
service procedures.
It will include the following options:
• BullsEye [652-1]
• ABB-TC96 [653-1]
• Touch Clean [654-1]
• Anti Spatter [655-1]
• Wire Cutter [674-1]
General This software option will give the user the possibility to define and program the fol-
lowing four service procedures:
• Torch Cleaning operation
• Anit Spatter operation
• Wire Cutting operation
• BullsEye operation
14.8 SmarTac
14.8.1 Introduction
General The SmarTac™ software option is designed to control an electrical tactile sensor for
locating weld joint positions. It uses the standard gas nozzle on the torch as a sensor.
Several search instructions are included, which enable you to shift welds based on
search results in run-time.
Figure 11
Features With SmarTac a part feature may be “searched” using part of the torch. Typically the
welding wire or the gas cup is used as the sensing portion of the torch. Searches are
programmed into a weld sequence. Each search consists of two robtargets; one for
the start location and one for the expected location of the part feature. While search-
ing the torch feature (gas cup or wire) is energized with about 38VDC. When the
torch feature makes contact with the part (at ground potential) an input is set in the
robot controller. When the input is deteceted, robot location is stored and motion
stops.
The Search instructions included in the SmarTac softwre are designed to return “off-
set” information. In other words, the result of a search is the distance between where
the original search location was programmed and where the robot has now found the
part.
Using SmarTac effectively can dramatically reduce fixturing costs. It can also help
account for part variability that cannot otherwise be controlled.
Hardware The main component is an electronic sensor board, which detects contact with the
part feature to be located. The SmarTac board can be ordered as an add-on unit and
is installed in the robot cabinet. Different hardware is used on the European and
North American markets, but the functionality is identical.
Note! The hardware options are not included in below specified software option.
General This software option will give the user the possibility to define search procedures in
a robot system for the American hardware option. The hardware option is available
in separate Application product price list.
General This software option will give the user the possibility to define search procedures in
a robot system for the European hardware option. The hardware option is available
in separate Application product price list.
The SmarTac package includes software that is loaded into all arc welding motion
tasks, when the SmarTac option is selected. Process configuration parameters are
used to connect real I/O signals and to modify the default settings.
RobotWare 5.06 introduces a new fully configurable I/O mapping feature not avail-
able in previous SmarTac versions. SmarTac I/O connections are now configured in
the process configuration database (PROC). Actual I/O assignments to real I/O
boards are not made by the SmarTac installation. The user or system designer must
add these definitions to the EIO configuration database.
Instruction Description
Search_1D One-dimensional search
Search_Part Search for feature presence
Search_Groove Find groove width and location
PDispAdd Add program displacements
PoseAdd Adds the translation portions of pose data
OFrameChange Create a new, shifted object frame
General The Seam Displacement option allowa the operator to shift seams in relation to a
reference frame. The displacements are applied via FlexPendant operator screens
without stopping production.
Figure 12
It is possible to shift an entire seam or targets within a seam individually. The oper-
ator can enter offsets at any point in time, wether the robot is welding or not. The
applied changes will take effect in the next production cycle. This lets the operator
visually inspect a part, apply seam offsets where needed, and the changes will take
effect when the next part is welded. This functionality will help users to control part
quality.
The functions available in Seam Displacement may be restricted by the user authori-
zation system, UAS.
Selected targets:
• Lists all selected targets within a weld and their current offset. Select the trash bin to
remove the target from the selection.
File:
• It is possible to load selections of often used targets using the File menu. If your sys-
tem uses UAS, this may be the only way to select targets for editing.
Baseline:
• Apply or reject the changes made to offset values:
• Restore to original and discard all changes to the currently selected target positions.
• Restore entire program and original to discard all changes to target positions (also
applies to changes made in the program editor).
• Commit to current to apply all current changes to the selected target positions.
• Commit entire program to current to apply all changes to target positions (also applies
to changes made in the program editor).
Tune targets:
• Select Tune Targets to display a keyboard for editing the offset values. The offset
value is the length of the vector calculated from the x, y and z values changed in the
Tune targets menu.
Features The Production Monitoring option provides detailed, automated data collection for
every weld seam on each part produced. This feature has driven standardization of
process measurement to a new level, by proactively manage welding production
rather than just react to problems.
Key features include:
• Online reporting of production data and faults
• Logging of production data for part traceability
• Real-time reporting via standard web browser
• Microsoft SQL database for data warehouse
• Fixed cost deployment without added software development expense
The Production Monitoring option provides a systematic way to capture the produc-
tion data needed to achive continuous improvement goals.
Typical applications include:
• Cycle time analysis
• Tracking production output
• Quantify lost production time
• Monitor equipment utilization rates
• Archiving of productio data for traceability
• Data capture to document acceptance criteria
WebWare tables Production Monitor promotes WebWare tables that contain statistical results. For
in Production example, RobotWare Arc will provide a table of Cyle Results that combines infor-
Monitor
mation from the GAP-driven CycleEvents data with Arc-driven SeamResults data to
create the Cycle Result table.
Event Tables:
• Event tables provide specific, time-stamped information that occur in the system.
These include start and send events for GAP cycles, service routine calls and setup
routine calls. These tables are characterized by having records for start events and
end events. To determine the duration of an event from start to end requires calcula-
tions based on the data stored in the database.
Result Tables:
• Result tables contain data that is calculated on the fly within RAPID. These tables pro-
vide useful information about production without making SQL queries from multiple
tables. These tables are typically written after an event has finished and usually
include a Duration column that provides the time that elapsed during the event. Often
the columns included in these tables will contain fields that are accumulated over the
duration of an action.
GAP Events Table Every component that writes to tables in the WebWare database includes a column
for the GAP Event ID. This number is incremented by the GAP Execution Engine
each time the engine executes an event. GAP Events include the execution of a part
cycle, a service routine or a setup routine.
When GAP reacts to a command, it assigns an index value to that event and makes
that variable availble to all components. The compomnent includes that Event ID in
its database table so that SQL queries may be made based on that key. For example,
when GAP reacts to a command, a start event is generated and logged in the
GAPEvents table.
The GAPEvents table contains the records for all responses from requests to the GAP
Execution Engine. These include part cycle calls, service routine calls and setup
calls. Records will be addes for all start and end events. An EventType field will be
used to differentiate between part cycle calls, service routine calls and setup routine
calls.
Cycle Events The CycleEvents table contains the records for all part cycles made by the GAP Exe-
table cution Engine. A CycleID field will be used as a serial number for parts. This number
may be provided to GAP from an external device, or by simple increments in the
GAP Execution Engine.
Seam Results The SeamResults table cantains a record for each weld seam that is finished. It pro-
Table vides information about the seam from RobotWare Arv. The value in the CycleID
field will match the value in the CycleEvents table. This number may be provided to
GAP from an external device, or by simple increments in the GAP Execution Engine.
The value will be ‘0’ if the seam was not executed within the context of a GAP cycle.
Cycle information from the GAP Execution Engine will be included in the table, if
those values are available. Otherwise the fields will be set to ‘0’ or “-” depending on
the data type.
Cycle Results The CycleResults table contains a record for each part cycle made by the GAP Exe-
Table cution Engine. It provides more information about the cycle based on information
provided by RobotWare Arc. The value in the CycleID fiel will match the value in
the CycleEvents table. This number may ne provided to GAP from an external
device, or by simple increments in the GAP Execution Engine.
GAP provides procedure hooks that allow Process Applications like Arc to be
informed about cycle events. This table is written by RobotWare Arc. Other process
applications may ahve similar, but slightly different, CycleResults tables.
Requirements
General The Optical Tracking option is a software allowing integration of external optical
sensors, like for example, Serco Robot/M-Spot 90-, Scout-, Oxford- Laser sensor etc.
This software includes a standard interface protocol with the same functionality for
all optical sensors that by the supplier have been adapted to the ABB standard proto-
col. This standard protocol is after installation available in the robot system on the
RS232 serial link.
Limitations The Optical Tracking sensor interface can only be applied to one robot in a Multi-
Move/MultiArc configuration.
Features MultiProcess enables arc welding on any number of robots. The setup of which
robot(s) that should have arc welding capabilities is done in the “Additional Multi-
Move selections” part of the Specification Form. It can also be carried out at the final
installation in the RobotStudio-Online System Builder.
Requirements Option 633-1 Arc must be specified, as well as any of the options 604-1 MultiMove
Coordinated or 604-2 MultiMove Independent.
Limitations In RW 5.05, MultiProcess does not apply to other process options than RW-Arc.
General The RobotWare Spot option is a general and flexible software platform for creation
of customized and easy to use function packages for different types of spotweld sys-
tems and process equipments.
Pneumatic guns The RobotWare Spot option is used for sequential welding with one or several pneu-
matic gun equipments. For welding with several pneumatic guns at the same time use
the option RobotWare Spot Multiple Guns.
Spotweld The RobotWare Spot option provides dedicated spotweld instructions for fast and
instructions 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.
“Ready to use” The RobotWare Spot options are general and can becustomized extensively . They
functionality have a default “ready to use” functionality directly after installation, but it is intended
that some configuration data, RAPID data and RAPID routines have to be changed
during the customizing.
Application The RobotWare Spot functions will be controlled by separate internal program pro-
cesses, 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 movement
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 rou-
tines offer adaptations to the plant environment. A number of predefined parameters
are also available to shape the behavior of the RobotWare Spot instructions.
Performance 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 behavior.
System parameters: the I/O Signal configuration.
Limitations • RobotWare Spot can be applied to only one robot in a MultiMove system.
• RobotWare Spot cannot be combined with other application options for other robots in
a MultiMove system.
Instruction Description
SpotL Control the motion, gun closure/opening and the welding pro-
cess
Move the TCP along a linear path and perform a spot welding
at the end position
SpotJ Control the motion, gun closure/opening and the welding pro-
cess.
Move the TCP along a non-linear path and perform a spot weld-
ing at the end position
General The RobotWare Spot Multiple Guns package provides support for sequential welding
with one or several pneumatic on/off gun equipments, as the RobotWare Spot pack-
age, but also welding and full individual monitoring of up to four separate gun equip-
ments at the same time.
Application Both the robot movement and control of up to four spot weld processes are embedded
in the basic spot weld instructions for multiple welding, SpotML and SpotMJ.
Performance As in RobotWare – Spot, the spotweld functions will be controlled by separate inter-
nal program processes, which will run in parallel. For instance the robot movements,
the continuous supervision and each spotweld process will be handled in different
independent program processes. This means that if for instance the program execu-
tion and thus the robot movements is stopped, then the weld processes and supervi-
sion will continue until they come to a well defined process stop. For example, the
welding processes will carry on and finish the welds and open the guns, although the
program was stopped during the weld phase.
For well defined points in the welding sequence, calls to user routines offer adapta-
tions to the plant environment. A number of predefined parameters are also available
to shape the behavior of the RobotWare – Spot instruction.
The opening and closing of the guns are always executed by RAPID routines. These
gun routines may be changed from the simple on/off default functionality to a more
complex gun control and they may contain additional gun supervision.
RobotWare – Spot is based on the DAP (Discrete Application Platform).
System modules The system modules SWUSRF and SWUSRC: RAPID routines and global data for
customizing purposes and data for changing of process and test behavior.
System parameters: the I/O Signal configuration.
Instruction Description
SpotML Control the motion, gun closure/opening and 1 - 4 welding pro-
cesses.
Move the TCP along a linear path and perform spot welding with
1 - 4 gun equipments at the end position
SpotMJ Control the motion, gun closure/opening and 1 - 4 welding pro-
cesses.
Move the TCP along a non-linear path and perform spot welding
with 1 - 4 gun equipments at the end position
General The RobotWare Spot option is a general and flexible software platform for the cre-
ation of customized and easy to use function packages for different types of spotweld
systems and process equipments.
Sequential The RobotWare Spot Servo option is used for sequential welding with one or several
welding servo gun equipment. For welding with two or up to four servo guns at the same time,
use the RobotWare – Spot Servo Multiple Guns option.
Spotweld The RobotWare Spot Servo option provides dedicated spotweld instructions for fast
instructions and accurate positioning combined with gun manipulation, process start and super-
vision of the different gun equipments. Communication with the welding equipment
is carried out by means of digital inputs and outputs.
“Ready to use” It should be noted that the RobotWare – Spot options are general and can be exten-
functionality sively customized. They have a default “ready to use” functionality directly after
installation but it is intended that some configuration data, RAPID data and RAPID
routines must be changed during the customizing.
Features • Fast and accurate positioning using the unique QuickMove and TrueMove concept
• Gun pre-closing, i.e having the gun closing synchronized with weld position
• Gun equalizing, i.e. having the gun “floating” around the weld position
• Constant tip force during welding
• Manual actions for welding and gun control
• Several simulation possibilities for test purposes
• Reverse execution with gun control
• Weld error recovery with automatic rewelding
• User-defined supervision and error recovery
• User-defined autonomous supervision, such as weld current signal and water cooling
start
• Wide customizing possibilities
• Default “ready to use” functionality directly after installation
• Detecting of missing or improper plates
• Gun calibration functions
• Spot counters and tip wear data for each used gun
• Fast switch between two servo guns with a tool changer
Note: This feature requires the Servo Tool Change option.
• In a single robot system, both RobotWare Spot and RobotWare Dispense can be used
simultaneously.
• A dedicated Spot Servo GUI on the FlexPendant
Application 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:
• The system modules SWDEFINE and SWDEFUSR: RAPID routines and global data
for customizing purposes e.g. adaptations for specific process equipment.
• The system module SWUSER: RAPID routines and global data for changing of pro-
cess and test behavior.
• System parameters: the I/O Signal configuration and the Manipulator configuration.
Performance The RobotWare Spot Servo functions will be controlled by separate internal program
processes, which will run in parallel. For instance the robot movements, the contin-
uous supervision and the spotwelding will be handled in different independent pro-
cesses. This means that if, for instance, the program execution and thus the robot
movement 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 stopped during the weld
phase.
For well defined points in the welding sequence and movements, calls to user rou-
tines offer adaptations to the plant environment. A number of predefined parameters
are also available to shape the behavior of the RobotWare Spot instructions.
Limitations • RobotWare Spot Servo can be applied to only one robot in a MultiMove system.
• RobotWare Spot Servo cannot be combined with other application options for other
robots in a MultiMove system.
Instruction Description
SpotL Control the motion, gun closure/opening and the welding pro-
cess.
Move the TCP along a linear path and perform a spot welding at
the end position.
SpotJ Control the motion, gun closure/opening and the welding pro-
cess.
Move the TCP along a non-linear path and perform a spot weld-
ing at the end position.
Instruction Description
SetForce Close the gun a predefined time then open the gun.
CalibL Calibrate the gun during linear movement to the programmed
position.
CalibJ Calibrate the gun during non-linear movement to the pro-
grammed position.
Calibrate Calibrate the gun in current position without movement.
STTune Tune motion parameters for the servo gun.
STTuneReset Reset tuned motion parameters for the servo gun.
General The RobotWare Spot Servo Multiple Guns package provides support for sequential
welding with one or several servo gun equipment, such as the RobotWare Spot Servo
package, but also welding with up to four servo guns at the same time.
Application Both the robot movement and the control of the spot weld equipments are embedded
in the basic spot weld instructions. SpotL and SpotJ are used for sequential welding.
With SpotML or SpotMJ it is possible to weld with several guns simultaneously.
Each spot welding process is specified by:
• The system modules SWDEFINE and SWDEFUSR: RAPID routines and global data
for customizing purposes e.g. adaptations for a specific process equipment.
• The system module SWUSER: RAPID routines and global data for changing of pro-
cess and test behaviour.
• System parameters: the I/O Signal configuration and the Manipulator configuration.
Performance As in RobotWare Spot Servo Multiple Guns the spotwelding functions will be con-
trolled by separate internal program processes, which will run in parallel. For
instance the robot movements, the continuous supervision and the spotwelding 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 weld processes
and supervision will continue until they come to a well defined process stop. For
example, the welding processes will carry on and finish the weld and open the guns,
although the program was stopped during the weld phase.
Instruction Description
SpotML Control the motion, gun closure/opening and 1 - 2 welding pro-
cesses.
Move the TCP along a linear path and perform spot welding with
1 - 2 gun equipment at the end position
SpotMJ Control the motion, gun closure/opening and 1 - 2 welding pro-
cesses.
Move the TCP along a non-linear path and perform spot welding
with 1 - 2 gun equipment at the end position
General This option, Spot Servo Equalizing, is identical to the option 635-3, Spot Servo, but
with the addition of the gun equalizing feature embedded in the Spot Servo process
software.
Spot Servo Equalizing allows you to solve spot welding gun equalizing without
mechanical equalizing hardware on the weld gun and thus provides an opportunity to
reduce investment cost and improve productivity. Removed hardware on the gun also
reduces weight, and in addition, no gravitational influence means easier optimizing
when programming the robot path.
Furthermore, with the Spot Servo Equalizing software instead of mechanical equal-
izing, less spare parts are required and lower maintenance costs are achieved.
Spot Servo Equalizing is valid for:
• Robot mounted C- and X-type guns
• Pedestal C- and X-type guns
• Tool changing between guns with different equalizing data
SpotWare Servo • Weld position touch up - Simplifies adjustment of the programmed weld positions.
Equalizing • Release of the fixed gun arm - Automatic gun arm release from the welded sheets
Features when the robot is moving among weld points.
• Gun arm deflection compensation - The robot program compensates for the gun arm
deflection automatically.
• Tip wear measurement and compensation - The robot program automatically compen-
sates the weld gun TCP (Tool Center Point) for tip wear without using external sen-
sors.
• The equalizing type (mechanical or software) is determined by data set in the gundata
for each used gun.
General The RobotWare-Dispense option provides support for different types of dispensing
processes such as gluing and sealing.
The option 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. RobotWare-Dispense is an option that can be extensively
customized.
Limitations • RobotWare Dispense can be applied to only one robot in a MultiMove system.
• RobotWare Dispense cannot be combined with other ProcessWare for other robots in
a MultiMove system.
Instruction Description
DispL Move the TCP along a linear path and perform dispensing with
the given data
DispC Move the TCP along a circular path and perform dispensing
with the given data
General Prepared for PickMaster supports the PickMaster application software residing on a
PC.
Prepared for PickMaster features together with the PickMaster application config-
urable integration of robots, vision and conveyors.
The option contains all necessary functions and further options to interface PickMas-
ter and to run enhanced conveyor tracking.
PickMaster is approved for running on one IRC5 controller with multiple robots.
For further information see the Product Specification for PickMaster 3.0.
Features • Dedicated data types and instructions for efficient data transfer between PC and con-
troller.
• Built-in enhanced conveyor tracking capability with capability to control up to six con-
veyors. Maximum approved conveyor speed is 1400 mm/s.
• Enables run-time cell control by PickMaster with fully autonomous application startup.
• Supports minimal parameterized RAPID code downloaded from PickMaster at startup.
• Boundary checks and start/stop control on conveyors.
• High performance camera trigger syncronization to fixed work areas and/or conveyor
frames. Maximum eight work areas in total.
• Type and quality selection.
• Advanced functions for mixing and sorting.
• Approved for running two MultiMove robots on one controller.
Application Aimed for packaging applications, typically high-speed picking. Further, PickMaster
is the ideal standard vision integration for all robot types.
Requirements Each robot operated by PickMaster requires the option Prepared for PickMaster.
At least one digital 24 VDC I/O [716-1] or AD Combi I/O [717-1].
One encoder interface unit [726-1] per tracking process.
PickMaster 3.0 The PickMaster User’a Guide describes the application as well as related RAPID
User’s Guide data and instructions in detail.
RAPID Data:
• itmsrc
• itmsrcdat
• itmtgt
• selectiondata
• sortdata
RAPID instruction:
• AckItmTgt
• CreateInstDat
• FlushItmSrc
• FreeAllItmSrc
• FreeItmSrc
• GetAllItmSrc
• GetItmTgt
• ItmSrcByName
• NewItmSrc
• NextItmTgtType
• QstartItmSrc
• QstopItmSrc
• ResetItmSrc
General RobotWare Plastics Mould provides easy programming and operation of ABB robots
used for machine tending, especially for plastics injection moulding applications.
RobotWare Plastics Mould reduces learning curve, installation and programming
time and improves error recovery.
Performance RobotWare Plastics Mould is both a way to modularise machine tending program
structure and hide the RAPID layer from the user. A RobotWare Plastics Mould pro-
gram is built up by a number of stations (representing a machine or a post-processing
application) and tool modules from the station library. The station modules contain
the machine tending process knowledge. These station modules are combined as
building blocks to form all necessary robot cycles (production, warm-up, quality
check etc.) RobotWare Plastics Mould functions as a state machine that depending
on the station priority and status optimizes the robot cycle. The inexperienced robot
operator never needs to see the RAPID structure that is hidden by the graphical user
interface from which the robot is run and programmed.
A
Advanced RAPID, 49
Arc Advanced Tracking, 10
ARCITEC, 40
Axis Reset, 29
C
calibration concept, 16
F
File Transfer Protocol, 35
H
Home position, 25
L
line tracking, 23
M
MultiMove system, 19, 21
N
Network File System, 36
O
OPC Server, 37
P
Pallet, 10
path corrections, 32
PC SDK, 37
R
RobotStudio Online, 37
RobotWare – OS, 7
S
SCADA, 37
U
upgrading, 7
W
WebWare Server, 37
ABB Automation Technologies AB
Robotics
S-721 68 VÄSTERÅS
SWEDEN
Telephone: +46 (0) 21 344000
Telefax: +46 (0) 21 132592