Routine R02_HomeRoutine_Limit: first moves to positive overtravel, recover from overtravel fault and then home to marker pulse.
Routine R30_OvertravelRecovery: resets errors, disable overtravel checking, moves from positive or negative overtravel limit switch and reenable overtravels back.
How to import routines into your code:
If you are using standart modular programming datatypes, just add command to Move_off_Limits to servo command UDT
and Move_off_limits_Done to your status UDT.
To motion instruction UDT copy all instructions from UDT Motion_Instructions
Then Copy routines which you would like to reuse(including all needed local variables)
WARNING:
For demo purpose, all MAJ and MAM instructions have fixed parameters, so please change it in your code, if you have different axis units then 1unit = 1rev
HOW TO TEST:
Homing to the limit switch:
1. Toggle command to Home in homing routine. -> Motor starts jogging in positive direction to find positive overtravel
2. On Demo case switch on +overtravel and keep it on till axis doesn't move by halve rev to oposite direction. Then release switch and axis should home to marker pulse in negative direction.
Overtravel recovery only:
1. Generate positive or negative overtravel fault
2. Toggle command to Move_off_Limits(keep overtravel limit switch pressed as long as axis doesn't move halve rev in oposite direction, then release)