Calibration Robot with Rapid Program(Automatically)

Hello everyone. I need to calibrate an external axis in the robot program, automatically. I don’t want to calibrate physically on the flexpendant so I need to find a way to calibrate with the program. I have looked at Screen Maker but it won’t help me. I need to put a signal for physical calibrate on flex pendant but I don’t know how to do? Thank you.
Best regards.

Is it a rotating external axis?

Yes, exactly. It will turn always infinity. Because of that encoder won’t count how many degrees it has. So I need to calibrate it for example every day or every week.

What you need to use is IndReset, read up on it in the manual.

I know IndReset . But when I used it, it didn’t work. It didn’t make my external axis’s encoder value 0…

Not encoder value, value in degrees of rotation should reset to 0.

I read position value from GetJointData… \position:= (here)
and when i used IndReset, this position value is not changing to 0.
So the value can go infinity some time later i need to make 0 this position value. And i can do this with flexpendant> calibration> fine calibration.
But i need to find a way to send a signal to flexpendant’s calibration menu :slight_smile:

It works for us, here is the code we use:

PROC stopTableRotation()
! stops rotation of turntable and resets revolutions to zero
! Turn off speed monitor
SetDO do07_ZeroMonitorOn, 0;
! command turntable speed of 0 deg./sec.
IndCMove MTT180, 2, 0\Ramp:=10;
WaitUntil IndSpeed(MTT180,2\ZeroSpeed);
! command turntable position of 0 degrees
IndRMove MTT180, 2\ToRelNum:=0\Fwd, 45\Ramp:=10;
! wait for turntable to reach commanded position
WaitUntil IndInpos(MTT180, 2) = TRUE;
!
WaitTime 0.5;
! reset turntable position
IndReset MTT180, 2\RefNum:=0\Short;
ENDPROC