I've done this before on a HVAC-type system, where the consequences of the equipment not automatically restarting could be far more serious than the consequences of an automatic restart. Of course, a full risk assessment needs to be done (and had been done).
I had a 24VDC UPS on my PLC, and a phase failure relay to monitor the incoming power. I then had to handle three different scenarios:
1. Short term power failure - e.g. 1-2 seconds. The PLC never shuts down, but VSD's are likely to fault on DC bus undervoltage - if they had powered all the way down, they would have no fault on power up, but if the power is restored too quickly, the drive sees it as an undervoltage condition and latches a fault.
2. Medium-term power failure. VSD's power all the way down, but the PLC remains powered up on UPS.
3. Long-term power failure. UPS batteries exhausted and PLC shuts down. Safety circuit is tripped due to loss of power.
My approach was as follows:
1. If the phase failure relay indicates a power failure while the system is running, I latch (with an OTL, not and OTE/seal in branch) an "auto restart" bit.
2. If the safety circuit becomes unhealthy at any time, I unlatch the "auto restart" bit - so if the safety circuit is tripped for any reason other than a loss of power (which will also kill the PLC and prevent it from unlatching the bit), the auto restart is prevented.
3. On first scan, I latch a "long term power failure" bit - i.e. if the PLC is forced to reboot due to a power failure, it must have been a long term one, and my safety circuit will need resetting.
4. If my auto restart bit is high and my phase failure relay comes back on, this means that all the conditions were met to permit automatic restart (i.e. the system was running when the power failed, and nobody has tripped the safety circuit in the meantime).
5. If point 4 is satisfied, I start a restart timer. After 20 seconds, I reset my safety circuit with an output relay. After 60 seconds, any drives that powered down should have powered back up and reconnected to the PLC (Ethernet/IP in this case). I issue a reset command 2-3 times to clear any faults. After 90 seconds, I trigger a "system start" command to restart the equipment.
Getting this right required lots of testing across all the different power failure scenarios, but it works well. This site is in a location notorious for weather-induced power outages, and many times the auto restart has been performed without a hitch.
Obviously, careful assessment of your particular application is needed to ensure that all the risks are adequately covered off on, and your application may require slightly different techniques to mine. But there are certainly valid reasons to do it, and there are certainly ways to do it safely.