ABB RAPID S4/S4C/S4Cplus Translator

This file contains information specific to ABB RAPID S4/S4C/S4C-plus. The information provided includes:
 

Downloading and Uploading Offline Programs

This document describes the OLP support (upload and download) for ABB RAPID translators.

 

Downloading or Creating a ABB RAPID Robot Program

 

Downloading generates a RAPID file (RAPID is the language of ABB S4/S4C/S4Cplus Robot translators) from the PPR tree. The following steps take place:

  1. An XML file is generated from the activities defined in the PPR tree. This involves a mapping between the activities in the PPR tree and the elements in the XML file. The XML file generated is independent of the robot language (RAPID, in this case). 

  2. A style sheet transformation file (XSLT) is written for the ABB RAPID translator. This file defines the mapping between the activities in XML file and RAPID commands. 

  3. The XSLT runs through the XML file to generate the required RAPID file.

Below is a pictorial overview of the downloading process:

 

Uploading or Importing an ABB RAPID Robot Program

 

Uploading reads a RAPID (robot language) file and creates the corresponding activities in the PPR tree. The following steps take place: 

  1. An XML file is generated from the RAPID file. The commands in the RAPID file are mapped to elements in the XML file. The XML file generated is independent of the robot language. 

  2. From the XML file the required activities, actions, sequences or other items are generated as specified.

Below is a pictorial overview of the uploading process:

 

Supported Activities

 

Currently, the following activities are supported in download and upload for the ABB RAPID translator:
 

  • Move Activity
  • Delay Activity
  • RAPIDSpotDrop Action
  • RAPIDSpotPick Action
  • RAPIDSpotRetract Action
  • RAPIDSpotWeld Action
  • I/O Activities (Set and Wait Signal)
 

ABB RAPID Command Mapping

 

This table displays the mapping between RAPID commands, XML elements, and V5 functionality:

ABB RAPID Command XML Element V5 Functionality
WaitTime <number> in seconds Delay RobotDelay <number> in secs
MoveL <tagname>, <motion profile name>, <accuracy profile name>, <tool profile name>\Wobj:=<object profile name> - if motion type is set to 'cartesian' in Motion Attributes
MoveJ replaces MoveL - if motion type is set to 'joint' in Motion Attributes

Also, creates a robtarget definition complete with rapid configuration values in the declaration section of the RAPID program.
IGRIPMove
with the following attributes:
  • MotionAttributes
  • Target
DNBRobotMotion<number>
with the following attributes:
  • Motion Type
  • Config
  • ToolProfile
  • MotionProfile
  • AccuracyProfile
SetDO <name>, <0 or 1>

PulseDO \Plength:=<SignalDuration> will
Replace SetDO if SignalDuration>0
SetSignalActivity
with the following attributes:
  • SignalName
  • SignalValue
  • SignalDuration
  • PortNumber
Set-<name>= ON/OFF
WaitDI <name> = ON/OFF WaitSignalActivity
with the following attributes:
  • SignalName
  • SignalValue
  • MaxWait time
  • PortNumber
WaitUntil<name>=ON/OFF
Speeddata variable created in data declaration section if speed does not match one of the default speeds v5-v7000. MotionProfile
with the following attributes:
  • Name
  • MotionBasis(absolute, percent)
  • SpeedUnits & Value
  • MotionType
MotionProfile(s)
  • Name
  • MotionBasis(absolute, percent)
ZoneData variable created in data declaration section if accuracy does not match one of the default zones fine-z200 AccuracyProfile
with the following attributes:
  • Name
  • FlyByMode
  • AccuracyType
  • AccuracyValue Units & Value
AccuracyProfile(s)
  • Name
  • FlyByMode
  • AccuracyType
  • AccuracyValue
<Macro String> Action RAPIDSpotDrop (with AttributeList)
AttributeName Macro
AttributeValue <Macro String>
RAPIDSpotDrop
<Macro String> Action RAPIDSpotPick (with AttributeList)
AttributeName Macro
AttributeValue <Macro String>
RAPIDSpotPick
SpotL <tag name> <spot1> <gun1> <tool profile name> Action RAPIDSpotWeld (with AttributeList)
AttributeName SpotData
AtrributeValue <spot1>
AttributeName GunData
AtrributeValue <gun1>
RAPIDSpotWeld
<Macro String> Action RAPIDSpotRetract (with AttributeList)
AttributeName Macro
AtributeValue <Macro String>
RAPIDSpotRetract
<Macro String> Any Action/Activity (with AttributeList)
AttributeName Macro
AttributeValue <Macro String>
Any Action/Activity with Attribute Macro
Tooldata variable created in data declaration section if name is not default tool() ToolProfile
with the following attributes:
  • ToolType
  • TCPOffset
  • TCPOrientation
  • Mass
  • Centroid
  • Inertia
ToolProfile
Wobjdata variable created in data declaration section if name is not default wobj() ObjectFrameProfile
with the following attributes:
  • ObjectFramePostition
  • ObjectFrameOrientation
ObjectFrameProfile
seamdata created in data declaration section UserProfile type ABBseamdata
with the following attributes:
  • purgetime
  • preflowtime
  • ignsched
  • ignvoltage
  • ignwirefeed
  • ignvoltadj
  • igncurradj
  • ignmovedelay
  • heatspeed
  • heattime
  • heatdistance
  • heatsched
  • heatvoltage
  • heatwirefeed
  • heatvoltadj
  • heatcurradj
  • cooltime
  • filltime
  • bbacktime
  • rbacktime
  • postflowtime
  • fillsched
  • fillvoltage
  • fillwirefeed
  • fillvoltadj
  • fillcurradj

 

UserProfile type ABBseamdata
weavedata created in data declaration UserProfile type ABBweavedata
with the following attributes:
  • weaveshape
  • weavetype
  • weavelength
  • weavewidth
  • weaveheight
  • dwellleft
  • dwellcenter
  • dwellright
  • weavedir
  • weavetilt
  • weaveori
  • weavebias
  • weavesyncleft
  • weavesyncright
  • wgtrackon
UserProfile type ABBweavedata
welddata created in data declaration section UserProfile type ABBwelddata
with the following attributes:
  • weldsched
  • weldspeed
  • weldvoltage
  • weldwirefeed
  • delaydistance
  • weldvoltadj
  • weldcurradj

 

UserProfile type ABBwelddata
gundata created in data declaration section UserProfile type ABBgundata
with the following attributes:
  • noftips
  • nofplevels
  • closerequest
  • openrequest
  • tip1counter
  • tip2counter
  • tip1max
  • tip2max
  • closetime1
  • closetime2
  • closetime3
  • closetime4
  • buildupp1
  • buildupp2
  • buildupp3
  • buildupp4
  • opentime

 

UserProfile type ABBgundata
spotdata created in data declaration section UserProfile type ABBspotdata
with the following attributes:
  • progno
  • tipno
  • gunpressure
  • timerno

 

UserProfile type ABBspotdata
 

ABB RAPID Parameter Data

Following are parameters which can be associated with a CATProduct. For information on how to set parameters for a CATProduct see the Setting Parameters section of this manual.

Parameter Name Value Type Usage If Not Specified  Description
RailGroup Integer Download 1 This parameter determines the group number for the auxiliary rail or gantry axes.
ToolGroup Integer Download 2 This parameter determines the group number for the auxiliary end of arm tooling axes.
Digital_IO Integer Download and Upload 0 Used in combination with Robot_IO to map IO ports to DO/DI, RO/RI or WO/WI signals.

Example:

  • Digital_IO = 100
  • Set-OPENCLAMP[1] = ON
  • Set-OPENCLAMP_RO[101] = ON
  • Downloaded to:
  • DO[1] = ON
  • RO[1] = ON
WorldCoords Boolean Download and Upload   Used to determine if ObjectFrameProfile and fixed ToolProfile data needs to be relative to the world rather than relative to the robot base.
OpenHome.<Home Number> String Upload Home_2

Used for all backup positions.

This parameter is used to map backup values to home positions in the RAPIDSpotWeld action. Multiple backup values can be specified for any home number by separating the values with a semi-colon

Example:

  • OpenHome.2 = 4;5;6
  • Weldgun Home position 2 is mapped to backup values 4, 5, and 6.
WeldHome.<Home Number> String Upload Home_1 Used for all weld schedules. This parameter is used to map weld schedule values to home positions in the RAPIDSpotWeld action. Multiple weld schedule values can be specified for any home number by separating the values with a semi-colon

Example:

  • WeldHome.1 = 2;4;6
  • WeldHome.3 = 1;3;5
  • Weldgun Home position 1 is mapped to schedule values 2, 4, and 6. Weldgun Home position 3 is mapped to schedule values 1, 3, and 5.
PickHome String Upload Default

Pick action created

This parameter sets the home value to be used for the RAPIDSpotPick action.
DropHome String Upload Default

Drop action created

 

This parameter sets the home value to be used for the RAPIDSpotDrop action.
PartGrabbed String Upload Default

Pick/Drop action created

This parameter sets the part name to be used for the RAPIDSpotPick and RAPIDSpotDrop actions.
GrabPart String Upload Default

Pick action created

This parameter sets the grab part to be used for the RAPIDSpotPick action.
Macro.<action name> String Upload No macros uploaded This parameter allows a macro to be mapped to a RAPID action.

Example:

Macro.RAPIDSpotPick = "PICKUP PART"

Macro.RAPIDSpotDrop = "DROP OFF PART"

Macros "PICKUP PART" and "DROP OFF PART" would be uploaded to "RAPIDSpotPick" and "RAPIDSpotDrop" actions.

WeldDelay.<delay time in milliseconds> String Upload 500 milliseconds This parameter is used to map weld schedule values to delay times in the TPESpotWeld action. Multiple schedule values can be specified for any delay time by separating the values with a semi-colon

Example:

WeldDelay.200 = 5;8;9

A delay to 200 milliseconds is mapped to schedule values 5, 8, and 9.

SpotWeld and ArcWeld Process Data

 

The ABB RAPID language and the customizable datatypes it allows are supported via UserProfile process data.

ArcWeld process datatypes supported will be seamdata, weavedata and welddata. SpotWeld process datatypes supported will be gundata and spotdata. When an ABB/S4 device is retrieved from Robotlib all of the above datatypes will be available for use. Refer to the device building section for information on creating new variables for each datatype. For upload, these datatypes will be created automatically if they are found in the uploaded module file.

For a listing of the process datatypes and associated attributes for ABB RAPID, open the file resources/graphic/ABBRapid.CATfct

Below is an example of the XML format that will be read by Rapid.xslt to create a welddata definition and generated by Rapid.jar when parsing a welddata definition.

The Corresponding ABB RAPID welddata definition would be similar to this:

PERS welddata 1,250.0,200.0,10.0,100.0,10.0,10.0;

Similar process data definitions would be supported for ABB Rapid weavedata and seamdata datatypes.

Welddata UserProfile Type Attributes:

  • weld_sched
  • weld_speed
  • weld_voltage
  • weld_wirefeed
  • delay_distance
  • weld_volt_adj
  • weld_curr_adj

Weavedata UserProfile Type Attributes:

  • weave_shape
  • weave_type
  • weave_length
  • weave_width
  • weave_height
  • dwell_left
  • dwell_center
  • dwell_right
  • weave_dir
  • weave_tilt
  • weave_ori
  • weave_bias
  • weave_sync_left
  • weave_sync_right
  • wg_track_on

Seamdata UserProfile Type Attributes:

  • purge_time
  • preflow_time
  • ign_sched
  • ign_voltage
  • ign_wirefeed
  • ign_volt_adj
  • ign_curr_adj
  • ign_move_delay
  • heat_speed
  • heat_time
  • heat_distance
  • heat_sched
  • heat_voltage
  • heat_wirefeed
  • heat_volt_adj
  • heat_curr_adj
  • cool_time
  • fill_time
  • bback_time
  • rback_time
  • postflow_time
  • fill_sched
  • fill_voltage
  • fill_wirefeed
  • fill_volt_adj
  • fill_curr_adj

SpotWeld process data definitions are supported for both, the Rapid.xslt download to a module and the Rapid.jar upload from a module. The ABB S4 Rapid datatypes supported will be spotdata and gundata. A user profile similar to the one shown for arcwelding welddata would be used.

Spotdata UserProfile Type Attributes:

  • prog_no
  • tip_no
  • gun_pressure
  • timer_no

Gundata UserProfile Type Attributes:

  • nof_tips
  • nof_plevels
  • close_request
  • open_request
  • tip1_counter
  • tip2_counter
  • tip1_max
  • tip2_max
  • close_time1
  • close_time2
  • close_time3
  • close_time4
  • build_up_p1
  • build_up_p2
  • build_up_p3
  • build_up_p4
  • open_time

For download the XSLT translator only outputs a value if it is found, so multiple configurations of these datatypes are possible.

NRL Teach Support

 

For ABB S4 (and other RAPID controller types), Native Robot Language (NRL) Teach displays controller-specific command buttons, and scripts corresponding statements.

Users can use the command buttons to script statements, such as motion commands to jog a robot and record motion instructions.

The download operation will output RAPID program files. For example:
MoveJ abbtarget1,v500,fine,tool0\\Wobj:=wobj0;