Hey Bob,
The advantage of hooking the controller to an UPS is that on power loss, you are very well able to let stop the running g-code program automatically and the milling motor too. What I refered to is the ability to resume g-code program execution after power is restored, which is questionable at the moment.
In detail, when hooking the Onefinity CNC Controller to an UPS, you would use nut software which enables you to trigger events inside the Controller in case the UPS reports mains electricity failing. You have to use the communication cable provided with the UPS and connect it to the Onefinity Controller. The “Nut” package is easy to install on (Raspberry Pi 3-based) Onefinity Controller since it’s in raspberrypi.org repository.
In case of an event detected like power failure, the nut software in its default configuration is used to shut down the computer shortly before the UPS’s batteries become empty. Nut is also able to send shutdown messages to other computers via remote operation, but it can be used to do whatever you write into the scripts that are run on power failure detection event or on battery low event.
The question is, what can else can you trigger from there. What is possible without problem, is, in case power outage is detected, to stop the spindle by triggering one of the programmed Input Terminals available on any VFD, and there also exists a way to wire the milling motor’s (=Makita router’s) power line to a relay that can be switched on and off by the controller (see here for details), so it could also stop the router immediately. And at same time it would trigger “estop” on the AVR mainboard of Onefinity, so program is stopped.
But you asked, what is if power outage lets the milling motor stop and controller is on UPS and therefore continues to run gcode program and breaks the bit of (now stillstanding) router, right? The answer is, since you install “nut” package, the (Raspberry Pi-based) Onefinity controller can be set up to stop g-code program immediately using “estop” functionality and to stop the milling motor (spindle or router). Whether this is fast enough to stop the g-code program and therefore X,Y axis motion before the router itself is ceasing to run by power outage itself, is what I have not yet tested. But you can halt the g-code program as soon as the UPS signals a power outage to the “nut” daemon running on Onefinity Controller.
The only thing that does not work out of the box, is a way to pause the program and to be able to resume operation later (except than touching/clicking on the “pause” field on controller’s display/remote display).
Note: Besides possibility to trigger “estop” functionality of Onefinity/Buildbotics Controller, or, as mentioned above in the other post, the possibility to write a webpage-operating tool that is able to press “pause” on Onefinity/Buildbotics Controller Web Interface, there also exists the possibility to use the internal functionality of Onefinity/Buildbotics Software directly. Since “nut” package runs on same machine as the Onefinity/Buildbotics Software, you can access all functions directly. I already dived into Buildbotics/Onefinity software earlier, however I have not the time at the moment! I have totally different things to do in my life at the moment. But if I find the time I will report but I cannot tell when this will be.