# How do I move by an incremental distance in the current tool frame?

• I have an L command

Code
``L PR[8] 50mm/sec FINE INC``

It's moving in the world frame. How do I get it to in the tool frame #2?

Code
``UTOOL_NUM=2``

before the motion command and that didn't help.

• Use a tool offset.

For example:

L PR[8] 50mm/sec FINE Tool Offset PR[9]

Sent from my SM-G930V using Tapatalk

• What is the PR[9] in this case?

He just took an example. Using the value in the position register number 9. Could be any value in any position register whatever you choose.

• I am still confused.

I want to move in the tool frame's Z coordinate the way I am able to jog.

What do I do have to put into the PR variable?

Isn't there a parameter in the L motion command to signify which frame to use - Base, User, or Tool?

• Thanks.

Could you clarify what the command is trying to do?

What should be in P[1]?

I am getting an "uninitialized data is used" error.

When I tried

PR[8,3] = 25
L PR[11] 50mm/sec FINE INC Tool_Offset, PR[8]

It still moves in the world frame's Z.

• PR[8] is completely filled in.

PR[8,1] = 0
PR[8,2] = 0
PR[8,3] = -25
PR[8,4] = 0
PR[8,5] = 0
PR[8,6] = 0

L P[1] 50mm/sec FINE Tool_Offset, PR[8]

throws an uninitialized error

• You need to look at both P[1] and PR[8] and ensure that all data is filled out. Not just xyzwpr, but also that P[1] has a UF and UT and config string. PR[8] will just have 'F' for the UF and UT values.

Also in one post you were using INC. Do not do this. You are replacing the function of INC with the Tool Offset.

• I was trying to set the P[1] variable's components, but could not figure out how to. Under the REGISTER _ _ = _ _ I couldn't find an option to set a P variable.

I figured that about the INC and was going to remove it.

• You don't set points programmatically. You just jog and touch up the point, or cursor over P[1] and press the 'position' F-key and directly enter. I would recommend jogging it close to where you want and touching up P[1] first, then modify with direct entry if needed. When you touch up it will fill out all data including the current UF and UT.

• But these are dynamic points, not fixed.

I have a part. I compute the a pose above the part. And from there I want to explore in the tool frame by an offset.

So I cannot teach a P[1] position.

I changed it to

PR[8,0]=0
..
PR[8,3]=-25
..
PR[8,6]=0

L PR[1] 50mm/sec FINE Tool_Offset,PR[8]

And now it goes in the tool frame, but it goes to PR[1] which is the pick point.

• This would move in tool from wherever the robot currently is.

Code
``````!Current Position
PR[99]=LPOS;
!Make sure the tool offset is in XYZWPR
PR[100]=LPOS;
!Zero it
PR[100]=PR[100]-PR[100]
!100 mm move in tool -Z
PR[100,3] = (-100)
L PR[99] 50mm/sec FINE Tool_Offset,PR[100]``````

Check out the Fanuc position converter I wrote here! Now open source!

Check out my example Fanuc Ethernet/IP Explicit Messaging program here!