hi guys,
i have MG 40 80 45 KUKA motor, we wanted to make it conveyor so it had to be endless motor. But it looks like in the endless mode some how the position are always relative movement according to 0 or 360 degree, cant endless motor be in mm. Even if it is in degree mode how can we get rid of such relative movement according to 360/0 degree.
i found solution for synchronous motion which was using SPTP_REL but it was for synchronous motion, i want it to be asynchrounous and i also found there was one example:
ASYPTP{E1 720} #AS_PROG
which is supposed to take E1 which is currently at 0 to 720. But here is the major problem, if the conveyor is endless we would never know the exact position lets say after 1000s of rotation how to know what is the position where the conveyor stops.
i tried a code using variable for relative motion,
DEF conveyor_auto(stop_point:IN)
E6AXIS E4_relative
INT stop_point
E4_relative=$AXIS_ACT
$OV_ASYNC=100
if (stop_point==1) then
E4_relative.E4 = E4_relative.E4 + 129.7
endif
if stop_point==2 then
E4_relative.E4 = E4_relative.E4 + 55 ; end of the pallet
endif
if stop_point==3 then
E4_relative.E4 = E4_relative.E4 + 51 ;pickup position
endif
if stop_point==4 then
E4_relative.E4 = E4_relative.E4 + 24 ;zero position again
endif
ASYPTP E4_relative
this code works properly but after certain point motor starts rotating backward trying to go to point relative to 0 or 180 or 360, which is completely irrelevant for conveyor.
i also tried adding
ASYPTP E4_relative #AS_Prog
now motor doesnt even move.
anyone with any suggestion?