Introduction
The importance of using correct tool settings cannot be overemphasized. Proper use of tool settings improves path accuracy, helps to minimize cycle times, and improves the longevity of the robot.
Tool properties are stored in Tool Files. Tool Files should be created for each different tool and payload to be carried. Each taught or calculated point in your programs must be associated with the appropriate Tool File.
What if your application requires the same procedure (program) to be run with one end of arm fixture and many different payloads? Is there a way to dynamically change which tool definition is used within a program? This document will describe options to achieve that.
Background
First, make sure your controller is configured to allow the use of multiple tool files.
- Boot to normal operations mode
- Login at SAFETY level Security
- Select SETUP
- Select TEACHING COND.
- Cursor down to TOOL NO. SWITCH and press SELECT to toggle from PROHIBIT to PERMIT
Set up each of the tool files you wish to use. For help, refer to the “Instructions” manual for your controller.
Manipulating the Tool Associated with a MOV
As noted in the introduction, tool settings are associated with each taught or calculated point in your programs. If you want to change the tool settings associated with moving to a point, the trick is to modify the definition of the point, rather than using a different MOV setting. Our method for manipulating points is by use of Position Variables. The commands we will be discussing below deal with modification of Position Variables. The lesson here is if you want to modify the tool settings associated with a point, you must define that point using a Position Variable rather than manually teaching a ”hard” point.
Using the SETE Command
SETE (SET ELEMENT) sets the designated element in a Position Variable equal to a constant or a value stored in a D-variable address. Typically, it is used to manipulate one or more elements of the position (X, Y, Z, Rx, Ry, Rz) data. However, on DX200 and newer controllers there is an optional parameter which allows you to change the Tool File number associated with a Position Variable. The command looks like this:
SETE P005 TL#(3)
This will change the tool file associated with P005 to Tool File #3
The TL# option occurs when you do a detail edit of the SETE command and select the ELEMENT NO.
Below is a screenshot from the YRC1000 INFORM Instructions Manual. The “TL” parameter used to change the Tool File associated with a Position Variable is highlighted.
Below are the explanatory notes associated with label 5 above.
Sample Job
Below is an example job using SETE. In this scenario, we have three boxes to move, weighing 1kg, 2kg and 3kg. The pick and place locations are all the same. Box 1 is 1kb. Box2 is 2kg and box 3 is 3 kg. The Position Variables used are as follows:
P000 | Home position |
P004 | Above the location to pick the box |
P005 | At the location to pick the box |
P006 | Above the location to place the box |
P007 | At the location to place the box |
Four tool files were defined.
Tool 0 | Unloaded tool |
Tool 1 | Tool 0 plus 1kg payload |
Tool 2 | Tool 0 plus 2kg payload |
Tool 3 | Tool 0 plus 3kg payload |
So, in the code below, before a box is moved to a new position, the tool file number must be changed to the appropriate one in the position variable for the target position.
Line | Step | Command |
0000 | NOP | |
0001 | 'BOX 1 TOOL 1 | |
0002 | 0001 | MOVJ P000 VJ=50.00 //HOME TOOL#0 |
0003 | SETE P004 TL#(0) | |
0004 | 0002 | MOVJ P004 VJ=50.00 //OVER BOX TOOL#0 |
0005 | 0003 | MOVL P005 V=500.0 //AT BOX TOOL #0 |
0006 | CALL JOB:GRIPBOX | |
0007 | SETE P004 TL#(1) | |
0008 | 0004 | MOVL P004 V=500.0 //LIFT BOX TOOL #1 |
0009 | SETE P006 TL#(1) | |
0010 | 0005 | MOVJ P006 VJ=50.00 //OVER PLACE TOOL#1 |
0011 | SETE P007 TL#(1) | |
0012 | 0006 | MOVL P007 V=500.0 //AT PLACE TOOL#1 |
0013 | CALL JOB:RELEASEBOX | |
0014 | SETE P006 TL#(0) | |
0015 | 0007 | MOVL P006 V=500.0 //OVER PLACE TOOL#0 |
0016 | 'BOX 2 TOOL 2 | |
0017 | 0008 | MOVJ P000 VJ=50.00 //HOME TOOL#0 |
0018 | SETE P004 TL#(0) | |
0019 | 0009 | MOVJ P004 VJ=50.00 //OVER BOX TOOL#0 |
0020 | 0010 | MOVL P005 V=500.0 //AT BOX TOOL #0 |
0021 | CALL JOB:GRIPBOX | |
0022 | SETE P004 TL#(2) | |
0023 | 0011 | MOVL P004 V=500.0 //LIFT BOX TOOL#2 |
0024 | SETE P006 TL#(2) | |
0025 | 0012 | MOVJ P006 VJ=50.00 //OVER PLACE TOOL#2 |
0026 | SETE P007 TL#(2) | |
0027 | 0013 | MOVL P007 V=500.0 //AT PLACE TOOL#2 |
0028 | CALL JOB:RELEASEBOX | |
0029 | SETE P006 TL#(0) | |
0030 | 0014 | MOVL P006 V=500.0 //OVER PLACE TOOL#0 |
0031 | 'BOX 3 TOOL 3 | |
0032 | 0015 | MOVJ P000 VJ=50.00 //HOME TOOL#0 |
0033 | SETE P004 TL#(0) | |
0034 | 0016 | MOVJ P004 VJ=50.00 //OVER BOX TOOL#0 |
0035 | 0017 | MOVL P005 V=500.0 //AT BOX TOOL #0 |
0036 | CALL JOB:GRIPBOX | |
0037 | SETE P004 TL#(3) | |
0038 | 0018 | MOVL P004 V=500.0 //LIFT BOX TOOL#3 |
0039 | SETE P006 TL#(3) | |
0040 | 0019 | MOVJ P006 VJ=50.00 //OVER PLACE TOOL#3 |
0041 | SETE P007 TL#(3) | |
0042 | 0020 | MOVL P007 V=500.0 //AT PLACE TOOL#3 |
0043 | CALL JOB:RELEASEBOX | |
0044 | SETE P006 TL#(0) | |
0045 | 0021 | MOVL P006 V=500.0 //OVER PLACE TOOL#0 |
0046 | 0011 | MOVJ P000 VJ=50.00 |
0047 | END |
Comments
0 comments
Please sign in to leave a comment.