Why not using the limits as homing switches and then software limits? You can still add limits incase of a serious issue. Why do you need it to stop instead of reset?
Because z axis has 400mm stroke and there is a big gear between motor and screw, Z axis max speed is very low, so my customer do not want to use homing feature, Beacuse it takes too much time,