PLC Programming is years behind when it comes to software engineering, developing, testing and speed of deployment.
A system that would allow for Change related Issue-tracking on the CAD-files of the controlled machine. A language that would enforce component-class interfaces, thus preventing information duplication. A proofer that validates the resulting DEAs for correctness.