IndReset not reseting axis to correct position

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;

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,

Hello again,

Did some measurements today. Looks like the modulo is 230. or am I missing something? I am totally lost :slight_smile:





Before 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



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.