About Fanuc RJ TPE Translators

This section provides basic information about the Fanuc RJ TPE translator. The information includes:

Controller Profiles

Every robot controller has certain profiles each of which define characteristics of different aspects of the controller. By default, controllers by the name Default are defined for Motion, Tool, Accuracy and Object Profile.

A Fanuc RJ TPE robot must have Tool Profiles created before uploading.

Please see Device Task Definition: Workbench Description: Robot Controller Toolbar for more information on controller profiles.

Applicative Profiles

The purpose of applicative profile is to store application process data, or any data the user considers meaningful, but not accounted for in standard controller profiles (motion, accuracy, tool and object).

Please see Device Building: Advanced Tasks: Creating and Editing Profiles: Creating Applicative Profiles for more details.

Action Libraries

Action library consists of a sequence of activities that users create to perform specific operations within a robot task.

Please see Device Task Definition: User Tasks: Device Task Programming Tasks: Creating and Modifying an Action Library for more details.

Parameter Data

The purpose of parameter data is to include device specific and task specific information that is not stored in robot programs.

The following procedure describes how to define device parameter data.
Open the FanucRJDownload_start.CATProcess file.
  1. Right-click on the resource R2000iA_if-200F.1 in the PPR tree and select Properties. The properties dialog box opens.

  2. Click the Define other properties button.
    The Define Other Properties dialog box opens.

  3. Select the type of parameter from the list and click the New Parameter of type button.
    The newly created parameter appears in box listing the parameters (for example, in the dialog box above, ProgramFileEncoding has been added).

  4. In the Edit name and value field, enter a name and value as required.

  5. Or instead, you can skip steps 3-4 and import parameters from a .txt file using External properties. The .txt file must have the following format:

    parameter_name         parameter_value
    ....                           .....

Program Logic/IO

IOs enable users to synchronize resources using signals in a process where resource programs run in parallel.

Please see Workcell Sequencing: Workbench Description: IO Management Toolbar for more details.

Weld Guns

Weld guns (servo / non-servo) are represented as mounted devices.
A non-servo gun is a weldgun that is simply mounted to the robot but, not defined as an auxiliary axes device. If a weldgun is defined as an auxiliary device then, the joint value is output for each RobotMotion activity as joint 7 (in the case of a single axis weldgun).
For Fanuc, regardless of whether a weldgun is a servo or non-servo the TPESpotWeld action along with attributes will be output as a SPOT command.

Special Considerations

Fanuc RJ Motion Groups

For Fanuc RJ, RJ2, or RJ3 robots each axis or cartesian X, Y, Z, YAW, PITCH, ROLL value is output into a motion group. There are four device parameters that can be defined for a device as explained below.

If the user does not define these four device parameters explicitly, default values will be used by the downloader and uploader.

In case the user does not want the default behavior or wants to assign different values, he has to explicitly define these four parameters and assign their values.

Parameter Name: Maingroup
Parameter Type: Integer
Parameter Value: 1
Description: This parameter determines the group for the main robot axes or cartesian location.

Parameter Name: Toolgroup
Parameter Type: Integer
Parameter Value: 2
Description: This parameter determines the group for EndOfArmTooling axes.

Parameter Name: Railgroup
Parameter Type: Integer
Parameter Value: 1
Description: This parameter determines the group for the RailTrackGantry axes.

Parameter Name: Workgroup
Parameter Type: Integer
Parameter Value: 1
Description: This parameter determines the group for the WorkpiecePositioner axes.

Fanuc RJ/RJ2/RJ3 controllers allow the user to define groups of axes called as motion groups.

A common example of this would be a 6 axes robot with a 1 axes servo weldgun attached. The robot is defined as group 1 and the weldgun as group 2.

The Fanuc.xslt translator will by default output the robot position into GP1 (group 1) and the servo weldgun (end of arm tooling) into GP2. There is no special setup required to make this happen.

In the above example, let us assume that, there is only a single motion group defined that is,the 6 main axes and the servo weldgun axes are all in motion group 1. To accomplish this, right-click the robot device and add two parameters called Maingroup and Toolgroup. Both these parameters are set to 1 and therefore both get output to the same group.

Note that the servo weldgun is now output as E1 into GP1 along with the robot position.

If we expand the above example to have the robot attached to a rail/gantry device in addition to having the servo weldgun then, by default, the rail would be output into GP1 and the servo weldgun into GP2.

Let us now assume that, in the above example, the user wants the rail to be GP2 and the servo weldgun to be GP3. The parameters would be set as: Maingroup=1, Railgroup=2 and Toolgroup=3.

As a last example, let us assume that, there is a robot with 4 single axes servo weldguns (a tool pick/tool drop application). The user wants the robot to be output to GP2 and the servo weldguns to be output to GP3. The parameters would be set as: Maingroup=2 and Toolgroup=3.

Macros and Actions

For Fanuc RJ, RJ2, or RJ3 robots, actions such as picking up a tool, dropping off a part, etc., are quite often performed using Macros. A macro, in the RJ controllers, is simply a small program that handles the I/O signals required for performing the action.

To download or upload these macros, parameters must be setup to define the association between a macro and the corresponding action/resource. An unlimited number of macro parameters can be defined for a device as is shown below.

If the user does not define these macro parameters then, the default values will be used by the downloader and uploader. In case the user does not want the default behavior o wants to assign different values, he has to explicitly define macro parameters similar to those below and assign their values.

Parameter Name: Macro.TPEToolPick.V5MyGrip.1
Parameter Type: String
Parameter Value: PICKUP GRIPPER
Description: This parameter maps the V5 action TPEToolPick and tool resource V5MyGrip.1 to the RJ macro PICKUP GRIPPER

Parameter Name: Macro.TPEToolDrop.V5MyGrip.1
Parameter Type: String
Parameter Value: DROPOFF GRIPPER
Description: This parameter maps the V5 action TPEToolDrop and tool resource V5MyGrip.1 to the RJ macro DROPOFF GRIPPER

Parameter Name: Macro.TPEToolPick.STRAIGHT9.1
Parameter Type: String
Parameter Value: PICKUP WELDGUN
Description: This parameter maps the V5 action TPEToolPick and tool resource STRAIGHT9.1 to the RJ macro PICKUP WELDGUN

Parameter Name: Macro.TPEToolDrop.STRAIGHT9.1
Parameter Type: String
Parameter Value: DROPOFF WELDGUN
Description: This parameter maps the V5 action TPEToolDrop and tool resource STRAIGHT9.1 to the RJ macro DROPOFF WELDGUN

Parameter Name: Macro.TPESpotPick
Parameter Type: String
Parameter Value: PICKUP BODY
Description: This parameter maps the V5 action TPESpotPick to the RJ macro PICKUP BODY. Note that in this case the resource is not specified so the default resource (the one mounted to the robot for OLP download/upload) is used.

Parameter Name: GrabPart
Parameter Type: String
Parameter Value: MyGripper.1
Description: This parameter determines the part which will grab/release during a TPESpotPick/TPESpotDrop action during upload.

Parameter Name: PartGrabbed
Parameter Type: String
Parameter Value: body_side.1
Description: This parameter determines the part which will be grabbed/released during a TPESpotPick/TPESpotDrop action during upload.

These parameters have all been setup for the R2000iA_if-165F.1 device. To see the parameters right-click the devices and display the properties.

I/O Mapping

For Fanuc RJ, RJ2 or RJ3 robots, I/O signals can be associated with different types of signals known as Digital (DO/DI), Robot (RO, RI), Weld (WO/WI) or Group (GO/GI).

To download or upload these different signal types, parameters must be setup to define the association between a V5 signal and the corresponding RJ controller signal.

If the user does not define these I/O parameters then, the default values will be used by the downloader and uploader.

In case the user does not want the default behavior or wants to assign different values, he has to explicitly define I/O parameters similar to those below and assign their values.

Parameter Name: Digital_IO
Parameter Type: Integer
Parameter Value: 100
Description: This parameter maps all port numbers below or equal to 100 to to an RJ DO/DI signal.

Parameter Name: Robot_IO
Parameter Type: Integer
Parameter Value: 200
Description: This parameter maps all port numbers greater than 100 and below or equal to 200 to to an RJ RO/RI signal.

Parameter Name: Weld_IO
Parameter Type: Integer
Parameter Value: 300
Description: This parameter maps all port numbers greater than 200 and below or equal to 300 to to an RJ WO/WI signal.

Note that, all signal port numbers above 300 (or the Weld_IO value) will be treated as RJ GO/GI signals. The port number mapping of these I/O signals works basically like this:

RJ Signal V5 port number
-----------------------
DO[1] = ON 1
RO[1] = ON 101
WO[1] = ON 201
GO[1] = 10 301

During upload, the parser simply adds 100, 200 or 300 to the port number depending on the type of signal.

During download, the same value is subtracted from the port number and the RJ signal type is named accordingly.

The ON/OFF value for DO, RO and WO signals will be used as signal values in V5.

For GO a special attribute called GroupValue of type integer is appended to the signal activity for storage of the group value (in this case 10).

Syntax Map

Please refer to the TPE_V5_XML worksheet in the TPE_V5_XML_MAP.xls file for detailed syntax map and examples with screen captures.

Robot Parameter Map

Refer to the Parameter Data worksheet in the TPE_V5_XML_MAP.xls file.

Spot Welding Application

This section illustrates the translation of V5 spot actions to TPE commands. The table below shows the syntax map between V5, XML and TPE specifically for the Spot application.:

V5 XML TPE
ActionType = TPESpotWeld

Attributes:
Weld_sched
Pressure_lmh
Backup1
Backup2
Equipment

With the following atomic activities:
BasicMotionActivity
DelayActivity BasicMotionActivity

<OLPData/Resource/ActivityList>
<Action ActionType=”TPESpotWeld”/>
<ActionName/>
<ToolResource/>
<AttributeList>
<Attribute>
<AttributeName>Weld_sched</>
<AttributeValue>1</>
</Attribute>
<Attribute>
<AttributeName>Pressure_lmh</>
<AttributeValue>2</>
</Attribute>
<Attribute>
<AttributeName>Backup1</>
<AttributeValue>10</>
</Attribute>
<Attribute>
<AttributeName>Backup2</>
<AttributeValue>20</>
</Attribute>
<Attribute>
<AttributeName>Equipment</>
<AttributeValue>1</>
</Attribute>
<ActivityList>
<Activity ActivityName=”DNBRobotMotionActivty”/>
<Activity ActivityName=”DelayActivity”/>
<Activity ActivityName=”DNBRobotMotionActiviy”/>
</ActivityList>
SPOT [E=<equipment>,
BU=<backup1>,
P=<pressure>,
S=<schedule>,
BU=<backup2>]

Below is the illustration of V5 spot weld action to TPE spot translation:

Arc Welding Application

The table below gives a syntax map between V5, XML and TPE specifically for the Arc-Welding application for RJ, RJ2 and RJ3 controllers:

V5 XML TPE
Activity Type = Arc Start  

With the following atomic activities:
BasicMotionActivity
Attribute

V5 does not have a separate activity/action for arc welding application.

Arc Start command is associated with RobotMotion activity.

<OLPData/Resource/Controller>
<UserProfileList>
<UserProfileInstance>
<UserDefinedAttribute>
<DisplayName/>
<DataType/>
<Value/>
</UserDefinedAttribute>
<…>
</UserProfileInstance>
<…>
</UserProfileList>
</>

<…> indicates can be repeated any number of times.
Arc Start [<weld start condition number>]

The weld condition number refers to the weld table where parameters for Arc Start command are defined.
The parameters for Arc Start in RJ, RJ2 and RJ3 controller are:

DisplayName: WeldSpeed
DataType: Double
Value: 0 (unset)

Activity Type = Arc End

With the following atomic activities:
BasicMotionActivity
Attributes

V5 does not have a separate activity/action for arc welding application.

Arc End command is associated with RobotMotion activity.

<OLPData/Resource/Controller>
<UserProfileList>
<UserProfileInstance>
<UserDefinedAttribute>
<DisplayName/>
<DataType/>
<Value/>
</UserDefinedAttribute>
<…>
</UserProfileInstance>
<…>
</UserProfileList>
</>
Arc End [<weld end condition number>]

The weld condition number refers to the weld table where parameters for Arc End command are defined.

The parameters for Arc End in RJ, RJ2, and RJ3 controller are:

DisplayName: WeldSpeed
DataType: Double
Value: 0 (unset)