Syncing paths to Station doesn't keep instructions
in RobotStudio
Hi all,
I've dealt with this for a while, but was wondering if I was just doing something wrong.
I have a lot of simple spray paths that I've created using the TP on the RC, then synced to my VC. This is a very imprecise path, as they just want to use a couple different spray patterns for multiple parts.
So I basically took the path I've created, and used a temporary uFrame and translated the oFrame in the direction I needed by whatever step distance was needed using a FOR loop to get the iterations needed. That step distance is configurable by the user, and so is the iteration count. This user configuration is why I just don't use RS to create paths with fixed points at offsets I choose, and not use a FOR loop modifying the uFrame with each pass. I create the path, create the loops, etc. There are multiple paths per part, so each program has 3 loops and transition points to get from one path to the others. See example:
The table has multiple positions that I am just recreating the paths, moved in some -Y distance.
When moving to a different part at a different table position, I was using the pDispSet, and an external axis offset that is == the displacement frame direction (robot is mounted on a rail) to keep the same orientation and basically re-use the initial path. The problem is when I get to the extents of the table, I can no longer keep the same orientation of the robot because of the rail length. So I sync the path to the station, copy the path to a new path, offset the points, redo the configurations, and then sync back to RAPID. The problem is that all of the loops and offset commands are gone, I have to use a code snippet I made, insert the snippet and move the points in the paths into the correct loops (without screwing up the order), insert the transition points, etc all manually.
If I sync my path, then redo the points WITHOUT copying to a new path, then sync back to RAPID, I don't lose my instructions. However, I want to copy the main path to new paths in the Station, because it is easier to organize/visualize, rename the points, adjust the points for all positions then resync back to RAPID all at once.
Is there a way to just sync my main path, copy that path into a new path, modify the points then re-sync back to RAPID without losing any of the instructions? I'm almost done with this series of programs but I have many, many, more to do, and it would save me a huge amount of time.
Thanks all!
-Brian
I've dealt with this for a while, but was wondering if I was just doing something wrong.
I have a lot of simple spray paths that I've created using the TP on the RC, then synced to my VC. This is a very imprecise path, as they just want to use a couple different spray patterns for multiple parts.
So I basically took the path I've created, and used a temporary uFrame and translated the oFrame in the direction I needed by whatever step distance was needed using a FOR loop to get the iterations needed. That step distance is configurable by the user, and so is the iteration count. This user configuration is why I just don't use RS to create paths with fixed points at offsets I choose, and not use a FOR loop modifying the uFrame with each pass. I create the path, create the loops, etc. There are multiple paths per part, so each program has 3 loops and transition points to get from one path to the others. See example:
wobj737Temp_Slot6:=wobj737_Slot6;
MoveJ pSAFE_POS_5,v200,fine,tool0\WObj:=wobj0;
sblastspeed.v_tcp:=V_TCP;
FOR nReps FROM 1 TO nZSteps DO
MoveJ T737SD_R_T6_P10,sBlastSpeed,fine,tBWBlastTool\WObj:=wobj737Temp_Slot6;
and so on...
wobj737Temp_Slot6.oframe.trans.z:= wobj737Temp_Slot6.oframe.trans.z-nZstepDist;
ENDFOR
wobj737Temp_Slot6:=wobj737_Slot6;
MoveJ T737SD_L_T6_P10,sBlastSpeed,fine,tBWBlastTool\WObj:=wobj737Temp_Slot6;
FOR nReps FROM 1 TO nZSteps DO
MoveL T737SD_L_T6_P20,sBlastSpeed,z50,tBWBlastTool\WObj:=wobj737Temp_Slot6;
and so on...
wobj737Temp_Slot6.oframe.trans.z:= wobj737Temp_Slot6.oframe.trans.z-nZstepDist;
ENDFOR
wobj737Temp_Slot6:=wobj737_Slot6;
MoveJ T737SD_T_T6_P10,sBlastSpeed,z50,tBWBlastTool\WObj:=wobj737Temp_Slot6;
FOR nReps FROM 1 TO nXSteps DO
MoveJ T737SD_T_T6_P10,sBlastSpeed,fine,tBWBlastTool\WObj:=wobj737Temp_Slot6;
and so on...
and so on...
wobj737Temp_Slot6.oframe.trans.x:= wobj737Temp_Slot6.oframe.trans.x-nXstepDist;
MoveL T737SD_T_T6_P60,sBlastSpeed,z50,tBWBlastTool\WObj:=wobj737Temp_Slot6;
and so on...
and so on...
wobj737Temp_Slot6.oframe.trans.x:= wobj737Temp_slot6.oframe.trans.x-nXstepDist;
ENDFOR
wobj737Temp_slot6:=wobj737_slot6;
MoveJ pSAFE_POS_4_2,v200,fine,tool0\WObj:=wobj0;
The table has multiple positions that I am just recreating the paths, moved in some -Y distance.
When moving to a different part at a different table position, I was using the pDispSet, and an external axis offset that is == the displacement frame direction (robot is mounted on a rail) to keep the same orientation and basically re-use the initial path. The problem is when I get to the extents of the table, I can no longer keep the same orientation of the robot because of the rail length. So I sync the path to the station, copy the path to a new path, offset the points, redo the configurations, and then sync back to RAPID. The problem is that all of the loops and offset commands are gone, I have to use a code snippet I made, insert the snippet and move the points in the paths into the correct loops (without screwing up the order), insert the transition points, etc all manually.
If I sync my path, then redo the points WITHOUT copying to a new path, then sync back to RAPID, I don't lose my instructions. However, I want to copy the main path to new paths in the Station, because it is easier to organize/visualize, rename the points, adjust the points for all positions then resync back to RAPID all at once.
Is there a way to just sync my main path, copy that path into a new path, modify the points then re-sync back to RAPID without losing any of the instructions? I'm almost done with this series of programs but I have many, many, more to do, and it would save me a huge amount of time.
Thanks all!
-Brian
0
Comments
-
Hi,Try this:
1. Sync the path to the station, copy it and modify the copy as before.
2. Copy the path (procedure) in also the RAPID code. Set the procedure name to the same as the copy in the station but don't change anything else.
3. Sync the copy from the station to RAPID.
I did a very simple test and it worked for me. In step 3 the code is updated with the new targets but the logic is left untouched.
/JohannesJohannes Weiman
Software Engineer
RobotStudio Team, ABB Robotics0 -
I didn't think about that, I'll give that a shot. Thanks!0
-
That worked like a charm, I don't know how I didn't think of trying that. Thanks Johannes!0
Categories
- All Categories
- 5.5K RobotStudio
- 395 UpFeed
- 18 Tutorials
- 13 RobotApps
- 297 PowerPacs
- 405 RobotStudio S4
- 1.8K Developer Tools
- 249 ScreenMaker
- 2.7K Robot Controller
- 310 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