RobotStudio event

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,

Answers

  • Hello again,

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

    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.