# Adjusting positioner rotation speed

**URL:** <https://tech-community.robotics.abb.com/t/adjusting-positioner-rotation-speed/8312>\
**Category:** RobotStudio\
**Created:** [June 15, 2018, 3:35pm UTC](https://tech-community.robotics.abb.com/t/adjusting-positioner-rotation-speed/8312 "2018-06-15T15:35:49Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![N9hebb](https://avatars.discourse-cdn.com/v4/letter/n/ecae2f/32.png) [@N9hebb](https://tech-community.robotics.abb.com/u/N9hebb)\
**Post date:** [June 15, 2018, 3:35pm UTC](https://tech-community.robotics.abb.com/t/adjusting-positioner-rotation-speed/8312/1 "2018-06-15T15:35:49Z")

</div>

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;

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

ENDIF

---

<div class="post-metadata">

**Author:** ![lemster68](https://dub1.discourse-cdn.com/flex005/user_avatar/tech-community.robotics.abb.com/lemster68/32/1945_2.png) [@lemster68](https://tech-community.robotics.abb.com/u/lemster68)\
**Post date:** [June 15, 2018, 5:15pm UTC](https://tech-community.robotics.abb.com/t/adjusting-positioner-rotation-speed/8312/2 "2018-06-15T17:15:08Z")

</div>

eax\_e? You have many external axes?

---

<div class="post-metadata">

**Author:** ![N9hebb](https://avatars.discourse-cdn.com/v4/letter/n/ecae2f/32.png) [@N9hebb](https://tech-community.robotics.abb.com/u/N9hebb)\
**Post date:** [June 15, 2018, 5:28pm UTC](https://tech-community.robotics.abb.com/t/adjusting-positioner-rotation-speed/8312/3 "2018-06-15T17:28:06Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![lemster68](https://dub1.discourse-cdn.com/flex005/user_avatar/tech-community.robotics.abb.com/lemster68/32/1945_2.png) [@lemster68](https://tech-community.robotics.abb.com/u/lemster68)\
**Post date:** [June 15, 2018, 5:39pm UTC](https://tech-community.robotics.abb.com/t/adjusting-positioner-rotation-speed/8312/4 "2018-06-15T17:39:40Z")

</div>

OK, just noticed WObj0 there, did you use a coordinated WObj in your previous program?

---

<div class="post-metadata">

**Author:** ![N9hebb](https://avatars.discourse-cdn.com/v4/letter/n/ecae2f/32.png) [@N9hebb](https://tech-community.robotics.abb.com/u/N9hebb)\
**Post date:** [June 18, 2018, 12:57pm UTC](https://tech-community.robotics.abb.com/t/adjusting-positioner-rotation-speed/8312/5 "2018-06-18T12:57:27Z")

</div>

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;

---

<div class="post-metadata">

**Author:** ![lemster68](https://dub1.discourse-cdn.com/flex005/user_avatar/tech-community.robotics.abb.com/lemster68/32/1945_2.png) [@lemster68](https://tech-community.robotics.abb.com/u/lemster68)\
**Post date:** [June 18, 2018, 1:44pm UTC](https://tech-community.robotics.abb.com/t/adjusting-positioner-rotation-speed/8312/6 "2018-06-18T13:44:04Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![N9hebb](https://avatars.discourse-cdn.com/v4/letter/n/ecae2f/32.png) [@N9hebb](https://tech-community.robotics.abb.com/u/N9hebb)\
**Post date:** [June 21, 2018, 5:59pm UTC](https://tech-community.robotics.abb.com/t/adjusting-positioner-rotation-speed/8312/7 "2018-06-21T17:59:51Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![lemster68](https://dub1.discourse-cdn.com/flex005/user_avatar/tech-community.robotics.abb.com/lemster68/32/1945_2.png) [@lemster68](https://tech-community.robotics.abb.com/u/lemster68)\
**Post date:** [June 22, 2018, 11:56am UTC](https://tech-community.robotics.abb.com/t/adjusting-positioner-rotation-speed/8312/8 "2018-06-22T11:56:56Z")

</div>

Well, that was some good thinking!
