Update TCP position from Rapid
mack10
✭
Hi! I need help to trigg "Update position" in rapid. We have a customer who want's to be able to jog the robot to a saved position, then fine tune it from the pendant. Instead of pressing the "Update postion" button in the pendant they want to do this from the HMI (For audit trail reasons). I been looking in robot studio, and the documentation for a solution but haven't found anything. Is there a function i can use to trigg update position?
I've been in contact with abb support who said this can be done but haven't gotten much help on how to do it.
I've been in contact with abb support who said this can be done but haven't gotten much help on how to do it.
0
Best Answers
-
Hey. Just put integer for X,Y and Z Coordinates (maybe Rotation also) as an integer in your Robot -> PLC Interface and set this signals on a variable and correct them in the offset.
We use this for Position correction on Welding pins with the Robot.
https://imgur.com/a/DfhKHgo
https://imgur.com/a/ulmocKK
Maybe this can help you out
Greets
Robotic Software Engineer0 -
To complement the solution presented by colleague Braap, I would add a calculation to define the position more precisely.See the Example, with this calculation it is even possible to change the tool and objects used, very useful for changing different points or using reference points for different objects.
PERS robtarget P_01:=[[0,0,0],[1,0,0,0],[-1,-1,-2,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; PERS robtarget P_02:=[[0,0,0],[1,0,0,0],[-1,-1,-2,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; ... PROC calib() P_01:=CalcRobT(CalcJointT(RelTool(P_01_01_01,0+nX_Corr,0+nY_Corr,0+nZ_Corr\Rx:=0\Ry:=10\Rz:=5),tool1\WObj:=wobj1),tool1\WObj:=wobj1); P_02:=CalcRobT(CalcJointT(RelTool(P_01_01_01,10+nX_Corr,100+nY_Corr,0+nZ_Corr\Rx:=0\Ry:=0\Rz:=5),tool1\WObj:=wobj1),tool2\WObj:=wobj2); ENDPROC ... MoveJ P_01,v2000,Fine,tool1\WObj:=wobj1; MoveJ P_02,v2000,Fine,tool2\WObj:=wobj2;
Calculating the position before use makes it possible to carry out prior treatment in a separate routine and prevent the new position from being reached.1 -
mack10 said:Thank's guys! Really helpfull answers, but i have a question. Is there a benefit to adding an offset to a position vs using cRobT and then save that position to my position constant?The benefit is that you can maintain a position as a reference, in case the operator saves a wrong position.If this is the case, it will no longer be possible to find the original position and therefore all positions that depend on it will be lost.0
-
mandolas said:mack10 said:Thank's guys! Really helpfull answers, but i have a question. Is there a benefit to adding an offset to a position vs using cRobT and then save that position to my position constant?The benefit is that you can maintain a position as a reference, in case the operator saves a wrong position.If this is the case, it will no longer be possible to find the original position and therefore all positions that depend on it will be lost.
Pro is that you will never change the original position. And if u visualize it good you will see Original Cords + Offset in X,Y,Z. So its better for everyone.
I hat the feature with direct Position optimization.. and it went into a brutal chaos because the people didnt look up what Value has been changed in the past and had a huge crashrisk for the robot...
Robotic Software Engineer0
Answers
-
Hallo, you might write a routine - triggered from PLC - where you read the current position (CRobT) and save in your original saved position.
0 -
Thank's guys! Really helpfull answers, but i have a question. Is there a benefit to adding an offset to a position vs using cRobT and then save that position to my position constant?Post edited by mack10 on0
-
Thanks again guys for great answers, I think I have what I need for now!0
Categories
- All Categories
- 5.5K RobotStudio
- 394 UpFeed
- 18 Tutorials
- 13 RobotApps
- 297 PowerPacs
- 405 RobotStudio S4
- 1.8K Developer Tools
- 249 ScreenMaker
- 2.7K Robot Controller
- 309 IRC5
- 59 OmniCore
- 7 RCS (Realistic Controller Simulation)
- 785 RAPID Programming
- AppStudio
- 3 RobotStudio AR Viewer
- 18 Wizard Easy Programming
- 105 Collaborative Robots
- 4 Job listings