IndReset not reseting axis to correct position
Norc
✭
Hello all,
I have a system with two robots and additional servo axis MU400. MU400 is driving a rotating table. When the movement is finished the axis stops at lets say at 20.000°. I am trying to use the function to reset position inside 360° and when doing this I am getting incorrect axis positions. Even in simulation it seems like axis is jumping to incorrect position (should have stayed in the same place, no?).
System is multimove with independant axis.
RW is 6.11
Transmission settings are set and position on the flex pendant is showing the correct value when rotating the table. I didn't set Transmission Gear High and Low. Only the Gear Ratio.
To test the situation I drove the axis to 5° and then used IndReset. The axis skips to -225°.
After moving the table to 0°, the table end up ofcourse in incorrect position. In the picture at the bottom there is a screenshot of flex pendant showing the test result.
The code I used to test is practicaly copy paste from RAPID manual:
TPErase;
I have a system with two robots and additional servo axis MU400. MU400 is driving a rotating table. When the movement is finished the axis stops at lets say at 20.000°. I am trying to use the function to reset position inside 360° and when doing this I am getting incorrect axis positions. Even in simulation it seems like axis is jumping to incorrect position (should have stayed in the same place, no?).
System is multimove with independant axis.
RW is 6.11
Transmission settings are set and position on the flex pendant is showing the correct value when rotating the table. I didn't set Transmission Gear High and Low. Only the Gear Ratio.
To test the situation I drove the axis to 5° and then used IndReset. The axis skips to -225°.
After moving the table to 0°, the table end up ofcourse in incorrect position. In the picture at the bottom there is a screenshot of flex pendant showing the test result.
The code I used to test is practicaly copy paste from RAPID manual:
TPErase;
IndCMove M7DM1, 1, 0;
WaitUntil IndSpeed(M7DM1, 1, \ZeroSpeed);
WaitTime 0.2;
pTempJointTarget := CJointT();
TPWrite "Before IndReset: " \Num := pTempJointTarget.extax.eax_a;
TPReadFK FK, "", stEmpty, stEmpty, "Continue", stEmpty, stEmpty;
IndReset M7DM1, 1 \RefNum := 0 \Fwd;
pTempJointTarget := CJointT();
TPWrite "After IndReset: " \Num := pTempJointTarget.extax.eax_a;
TPReadFK FK, "", stEmpty, stEmpty, "Continue", stEmpty, stEmpty;
MoveExtJ Home, vrot100, fine;
pTempJointTarget := CJointT();
TPWrite "After MoveJ to Home: " \Num := pTempJointTarget.extax.eax_a;
TPReadFK FK, "", stEmpty, stEmpty, "Continue", stEmpty, stEmpty;
What am I doing wrong?
Best regards,
What am I doing wrong?
Best regards,
0
Answers
-
Hello again,
Did some measurements today. Looks like the modulo is 230. or am I missing something? I am totally lostBefore IndReset
After IndReset
-370,32
-139,592
-360,029
-129,301
-250,056
-19,3278
-239,997
-9,997
-230,029
-230,029
-5,01541
-5,01541
5,00713
-225,721
10,128
-220,6
20,0196
-210,709
30,0994
-200,629
40,0126
-190,715
50,0452
-180,683
100,156
-130,572
150,087
-80,6415
200,038
-30,6905
225,037
-5,69095
230,032
-0,696578
235,002
-226,455
240,013
-221,443
250,01
-211,446
300,014
-161,442
350,000
-111,456
360,01
-101,446
370,078
-91,3782
460,009
-1,44746
469,998
-222,186
0 -
Hello all,
I figured it out...
It was actualy the configuration parameters GearHigh and GearLow.
Looks like IndReset is using Those two parameters to calculate new axis position and not just GearRatio.
Best regards.
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