I used to be a frame offset (PR Offset) guy almost 100% of the time. Assuming you are using accurate UFRAMEs and UTOOLs, this should get you pretty far in material handling. However, once things stop being perfect and your tolerances start getting really tight, you might be better off using tool offsets in your pick and place situations.
UTOOL_NUM=1 ; ; ! pick product from fixture 1 ; UFRAME_NUM=1 ; L P[1:pick] 1000mm/s CNT100 Offset,PR[1:pick approach] ; L P[1:pick] 250mm/s CNT0 ; CALL GRIP ; L P[1:pick] 500mm/s CNT100 Offset,PR[2:pick retreat] ; ; ! place product on fixture 2 ; UFRAME_NUM=2 ; L P[2:place] 1000mm/s CNT100 Offset, PR[3:place approach] ; L P[2:place] 250mm/s CNT0 ; CALL UNGRIP ; L P[2:place] 500mm/s CNT100 Offset,PR[4:place retreat] ;
This works great when you can approach and retreat from your fixtures in an orthogonal or parallel direction, but what happens when your part doesn’t sit quite perfectly in the fixture? What if your user frame isn’t perfectly accurate? Time to use a tool offset.
I would actually argue that you should almost always use tool offsets for pick and place situations by convention. (More on conventions here: Using Conventions to Improve Your WorkFlow) Assuming your tool frame is accurate, you will be approaching and retreating in a direction parallel to one of the tool axes most of the time. You’re picking up the product, not the frame, and you should probably be approaching/retreating relative to the product as well.
FANUC seems to favor this way of doing things in recent years. Whereas PalletTool and PickTool use frame calculations and separate position registers for approaches/retreats, the new iRPickTool uses a tool offset.
I’ve seen people stick to their beloved frame offsets by actually teaching their user frame origin as the pick position and then teaching the primary dimension by backing the part out in TOOL coordinates. You could have now matched your UFRAME X-coordinate with TOOL Z, but I would argue that this defeats the purpose of having a user frame altogether. A user frame should be easily touched up in a spot where it’s easy to visualize that coordinate system. Having the ability to use both frame and tool offsets gives additional flexibility. Why make them redundant?