- improvements in the cross-reference list (new filter, performance enhancements)
- new keyword: ABSTRACT for abstract FB/method/property definition
- improved monitoring of interface variables
- Small icons in the solution tree show access modifiers.
- ENUMs now also available as strings in the PLC
- exception handling via TRY-CATCH
- simplified commenting function in the PLC
- 'Released' flag is used during library creation.
- conditional compilation also available in the declaration section (in addition to implementation part)
- multi-line support in pragma declarations
- new, optional Base64 memory format for graphical PLC objects
To develop and test PLC code faster and more effectively, many improvements have also been incorporated in the PLC area. Especially in object-oriented programming, simplifying code maintenance and reusability is a major objective. The use of interfaces is essential in this context. In the past, interface pointers were able to indicate the address, but no pointer de-referencing was executed. With Build 4024, this is now possible and further improves the engineering capabilities.
In the C++ and C# high-level languages, programming abstract classes with abstract methods and properties is widespread. This option is now also available to the PLC programmer, because abstract classes make it easy to generate sample function blocks or classes, which can then be filled with code. This ability brings the PLC programmer another step closer to the capabilities of C++ and C#. The same applies to exception handling. If there is an exception, the PLC programmer wants to respond to it. In case of a division by zero, it may be useful to execute a specific routine to bring the machine into a safe state and prevent any damage to it.
The mapping dialog has been improved in such a way that not all node levels are open. This reduces the scrolling range and makes it easier to create a link, for example between the PLC and an I/O component, because the respective devices can now be found more rapidly. An option allows you to switch between the old, the new, and an automatically adjusted view. With the “Go To Link” variable, users have always been able to jump back and forth between an I/O device and the process image, but there was no way to jump from the process image to the code. This is now possible with the “Go To Definition” command, a feature which makes debugging much easier. It also improves program clarity, because with this functionality the still frequently used lists of global variables can be dispensed with.
Another advantage is that the program code of function blocks in graphical languages can now be saved in the binary Base65 format as well, which speeds up the loading and saving of programs with a large proportion of graphical languages.