Adjusting positioner rotation speed
N9hebb
✭
in RobotStudio
I am having trouble adjusting the speed of the positioner as it rotate during welding. In previous programs this was controlled using welddata but for some reason it doesn't seem to be working. Below is a sample of my program.
CONST robtarget POS_TP1:=[[1385.18,877.05,200],[0.0236208,-0.0147513,0.999544,-0.011663],[0,-1,1,0],[9E+09,9E+09,9E+09,9E+09,0,9E+09]];
! ACTIVATE STN 1
ActUnit STN1;
! RESET STN 1
IndReset STN1,1\RefNum:=0\Short;
ActUnit STN1;
! RESET STN 1
IndReset STN1,1\RefNum:=0\Short;
FOR i FROM 0 TO 32 DO
POS_1X.trans.y := POS_TP1.trans.y + ((-7.62*i));
POS_1X.trans.z := pos_tp1.trans.z;
POS_1X.trans.Z := POS_1x.trans.Z + Z_POS_1_arry{1+i};
POS_1X.extax.eax_e := POS_TP1.extax.eax_e + (360* i);
IF i = 0 THEN
ARCLSTART POS_1X, v100, sdSplineWeld, wdSplineWeld, z0, tWeldGun\WObj:=wobj0;
ELSE
ArcL POS_1X, v100, sdSplineWeld, wdSplineWeld, z0, tWeldGun\WObj:=wobj0;
ENDIF
ENDIFPOS_1X.trans.z := pos_tp1.trans.z;
POS_1X.trans.Z := POS_1x.trans.Z + Z_POS_1_arry{1+i};
POS_1X.extax.eax_e := POS_TP1.extax.eax_e + (360* i);
IF i = 0 THEN
ARCLSTART POS_1X, v100, sdSplineWeld, wdSplineWeld, z0, tWeldGun\WObj:=wobj0;
ELSE
ArcL POS_1X, v100, sdSplineWeld, wdSplineWeld, z0, tWeldGun\WObj:=wobj0;
ENDIF
0
Best Answer
-
I suspect the WObj is at the root of the issue. The TCP velocity is in Workobject coordinates so with it being coordinated, the robot understands that the TCP is moving, (even if it really is not), because the coordinated positioner is moving. With Wobj0, there is no TCP velocity, which I had wondered in the past if it would really weld at all like that.Lee Justice5
Answers
-
eax_e? You have many external axes?Lee Justice0
-
I have a dual sided positioner that rotates about a center point so that can be loaded while the other side is worked on. It was setup to use eax_d as the center rotating axis and eax_e and eax_f as the positioner platters.
0 -
OK, just noticed WObj0 there, did you use a coordinated WObj in your previous program?Lee Justice0
-
Below is how my previous program works. The weld torchs moves to above the part and then the positioner rotates. It is just like a moveC except the positioner moves instead of the robot arm.ActUnit STN1;
IndReset STN1,1\RefNum:=0\Short;MoveAbsJ jtOrientPos1_Vert, v200, fine, tWeldgun;ArcLStart S1P1_5980,v100,sdSplineWeld,wdSplineWeld,z0,tWeldgun\WObj:=wobj_STN1;ArcL S1P2_5980,v100,sdSplineWeld,wdSplineWeld,z0,tWeldgun\WObj:=wobj_STN1;ArcL S1P3_5980,v100,sdSplineWeld,wdSplineWeld,z0,tWeldgun\WObj:=wobj_STN1;ArcEND S1P4_5980,v100,sdSplineWeld,wdSplineWeld,z0,tWeldgun\WObj:=wobj_STN1;
0 -
I was able to adjust the speed by creating a speed data variable to replace the v100 and then adjusted the values for the TCP Velocity and rotational velocity.
0 -
Well, that was some good thinking!Lee Justice0
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