I don't think I've ever used or worked on a project with PLC's handling any sort of core logic though. Sure they'll occasionally run small components of simple edge systems (HVAC, lift motor control, physical access etc) but the overwhelming majority of systems are built with a network of embedded controllers. Any systems rolling out today will (or at least should) then combine this with some server side backend for analytics and shifting interaction logic away from the the edge systems to somewhere it's a little easier to change and adapt to the needs of the building.
There's some pretty established, older players (Crestron, AMX et al) that make full programmable solutions, but by all modern standards their development tools are atrocious - you'd need to be a complete and utter masochist to want to enter that world today.
The good thing about this is a bunch of amazing people building well designed, open source and non-proprietary solutions to make this world suck less.
My two favourites are http://nodel.io/, which runs a fully distributed architecture (and can even have the nodes running of RPi's) and http://www.acaprojects.com/ which is a keeps all the system logic server side.