Look at AB PlantPax.
We have taken them, striped off the un-necessary components that we do not utilize in our control strategy, updated to support the ones that we do, and validated them.
Unfortunately, I am not able to share what we have done, but conceptually, that is where we started.
Now, we have gone a bit further. For example, FBD has a totalizer function. We wanted to use it, because it is native. So we put it in an AOI - thus is is exposed to Ladder Logic - which is the only programming we allow (don't get into why, it just is).
Hope this helps.