On both my machines I took the decision to rely on LinuxCNC to handle the latching, but to have the E-Stop button directly cut power to the drives. This might not be the best system to use for 100% coverage of software failure modes, but these are hobby machines. [1] So, LinuxCNC closes the contactor that feeds the servo PSU and the VFD. The wiring for the control solenoid of that contactor loops around the machine to the single e-stop on the lathe and both those on the mill. In the case of the mill the switches have a second NO contact block that signals to LinuxCNC that the e-stop has been pressed, and that toggles the software e-stop in LinuxCNC through HAL. The lathe uses halui.estop.activate wheres the mill uses iocontrol.0.emc-enable-in. On reflection it would probably be better to use a realtime pin from the motion module, in theory both iocontrol and halui are susceptible to user-space lock ups. But then if that has happened then, whilst motion is likely to still be running fine, the signals to the rest of the system from there are not guaranteed anyway.
On the lathe, rather than use a second contact on the e-stop switch itself I use an auxiliary contact on the contactor to signal the e-stop state. I confess I have forgotten how I did it, whether HAL logic detects the contactor being powered but the auxilliary contact being open, or whether it is an NC contact that supplies 24V to the IO input from the solenoid control voltage if the solenoid is powered but NC contact has remained closed. [1] Arguably this means that they should be built to an even higher standard. If I get tangled in my machines _nobody_ is coming to help. -- atp "A motorcycle is a bicycle with a pandemonium attachment and is designed for the especial use of mechanical geniuses, daredevils and lunatics." — George Fitch, Atlanta Constitution Newspaper, 1916 _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users