Hi,
when a limit switch triggers Mach does an Estop and it commands the machine stop at what amounts to infinite acceleration,
and NO servos can do that, as infinite acceleration requires infinite current. Therefore your servos fault.
The simple expedient is never to let your machine trigger the limits. In industrial practice it is considered a failure if a
machine 'limits' out. It should have been stopped by soft limits prior to the physical limits being triggered. When a machine
Estops due to a limit event the machine must be re-referenced, time consuming and therefore expensive in a production
environment.
You should do similar, set up your soft limits and set them 2-3mm 'inside' your physical limits and then you'll never touch
the limits. Note this absolutely requires that you reference (home) your machine at the beginning of each Mach session.
A second alternative is to set the limits a little inboard of the bumpers and have a script to decelerate and stop, ie
<FeedHold> and <Stop>, any axis that triggers its 'limit' but WITHOUT causing an Estop.
Craig