Safety relay and e-stop in LCNC?

More
16 Jul 2024 21:26 #305419 by thomaseg
Hi,

After advise from this forum I built my machines estop functions around a safety relay from Abb Sentry USR22. So i have dedicated hardware just for handling the latching, i have redundant safety contactors to take power to all moving parts and so on. Everything works all by itself and doesn't need LCNC to function. I can run the estop functions with LCNC completely turned off, just as i think it should work.

But I choose the USR22 since it have 2 groups of relays with a timed delay between them. In case of a estop, i'd like to first tell LCNC via the first relay that "shit has hit the fan, stop everything!" This happens via a simple IO-pin. Then after 400ms or so the safety relay will kill the power to servo-drives nomatter what via the 2nd relay...regardless of what LCNC do/did. The idea was that i would give the software a small window to command the servo-drives to do a estop via software(or do a "quickstop", whatever i can make work) and also the possibility to stop anything else that might need stopping, but isn't "deadly"(e.g. floodcoolant pump, liquid cooling system etc)...

But i'm unsure how to wire this in HAL for it to work properly inside LCNC. It seems like all examples are assuming that i just have the estop-button connected directly to a IO pin and then need LCNC to do the heavylifting in software. But this is not the case here. I want LCNC to do a "software estop" as fast as possible and likely also turn off other "non-critical stuff". I would also want LCNC to accept that the estop-condition is resolved whenever the IO-pin changes back again(no extra latching in software, i got all that in hardware). So the estop-latch examples doesn't quite fit as far as i can tell.

The signal from my safety relay is either high or low depending on the state of the estop. I tried to wire this to iocontrol.0.emc-enable-in, but this isn't quite right and i was curious if others have found a good way of doing this "properly"? Or has ideas how to do this?

/Thomas

Please Log in or Create an account to join the conversation.

More
16 Jul 2024 22:52 #305429 by Unlogic
I'm using an ABB safety relay on my CNC converted mill (forum.linuxcnc.org/12-milling/50559-opti...mh50v-cnc-conversion) and I've set it up so that LinuxCNC feeds the e-stop circuit via an output on the Mesa board.

If LinuxCNC isn't up and running the e-stop cannot be reset. If the e-stop is triggered it can only be reset via my physical e-stop reset button, e-stop cannot be reset in software.

I'm using Delta B3 servos which have two different power connections on the servo drives, one connection for the logic section and one for the servo power section. The logic section remains powered all the time (per the Delta manual) but the servo power section is cut via contactors when an e-stop is triggered. The drives also have the e-stop signal connected to them so they can detect an e-stop and stop the servos using the built in brake resistor.

Here are two short videos I made about the setup:



Please Log in or Create an account to join the conversation.

Time to create page: 0.119 seconds
Powered by Kunena Forum