PLC Replacement with C++ Embedded System or Application Specific Circuit
From a speed and complexity perspective, this is almost certainly best dealt with using microcontrollers or microprocessors.  FPGAs are nice when you need screaming-fast processing, but they cost lots more to buy and to design for.

You may want to take some PLCs apart and see what's inside -- I suspect you'll find microprocessors in there.

I'm not sure you'll find library support beyond the manufacturer's normal help with getting peripherals to work -- I would suggest, though, that you take it upon yourself to write a hardware abstraction layer that acts as drivers for the hardware on your board, and that your application code can work with.

On a less immediately technical note, if you don't have people on staff that have done this sort of embedded work, you may want to hire someone who's been down that road and has been successful; then put them in charge of the architecture (or listen to everything they say).  There are lots of little pitfalls, and it's not like this hasn't been done before.