Gentlemen:
I agree that the limit switches are there to save a crash and should
do two things:
Instantly stop the motors on all axis
Issue an e-stop signal back to the software.
In the best interest of safety the switches should be all wired in
series in a normally closed configuration so that activation of any
switch in the ladder breaks the string and removes power from the
motors. By using a normally closed configuration any wire break would
cause the unit to stop as well. In planning my controller power
supply I made provisions for a totally mechanical limit switch
configuration. The limit switchs are wired in series to ground. The
ground goes to the neg side of a 12VDC control relay. All switches
have to be open (contacts shorted) for the relay to activate. Any
disturbance in the string will cause the relay to fall out and its
contacts to open. Included in the limit string is a front
panel "STOP" switch and a table maounted "PANIC" switch. All of the
DC runs to the motor modules go through a large contactor with a
115VAC coil. For the motors to have power both the front panel RUN
switch AND the control relay contacts have to be activated. Tripping
a limit will cause the control relay to drop out and shut down the DC
to all of the motors. A separate set of contacts on the control
relay will issue an e-stop back to the software. No additional
parallel port pins required.
In my design the Main contactor supplying the DC is wired in
a "latching" configuration so that once it drops out it requires an
activation of a "RUN" momentary button on the front panel to
reactivate. Once a fault or limit has caused the contactor to open
the DC path it requires a manual restart to prevent intermittent
limit conditions from restarting the machine.
There you have it. In building a safe machine it should be designed
so that a failed component results in a no-go condition. In other
words it takes every component in the string to be working properly
before the machine will produce motion.
I like software. I like computers. I don't trust the safety of my
machine or myself to either.
Tom C