Advanced Technologies Engineering Tomorrow
The Danish manufacturing giant Danfoss is a leading provider of programmable logic controllers (PLC) for the heavy vehicle industry. Over the years, we have completed many projects for them and consider them one of our main long-term clients.
For PLC programming, Danfoss offers a graphical programming language with a development environment called the Plus+1 Guide. Within this environment, we developed a compiler for Structured Text 2.0 (ST2) to C, which works together with the existing Plus+1 Guide code. This makes it possible to compile existing graphical programs together with new ST2 programs and libraries to more powerful programs, bringing micro controllers to the next level. The key value we brought to Danfoss is the ability for new Plus+1 customers to transition more easily by being able to reuse and integrate their legacy codes.
As PLCs have memory restrictions, we also implemented a number of compiler optimisations, including standard ones like Dead Code Elimination and Constant Propagation, as well as tailored optimisations such as clever Code Selection and Code Movement algorithms. These optimisations greatly improved the compactness of the code, its runtime memory requirements, and performance, allowing for better resource utilisation and more on-chip functionality.