Another server for Industry 4.0 - What does the CODESYS Automation Server offer to machine operators and users?
It is particularly by means of project engineering with modern IEC 61131 systems that current industrial controllers are enhanced to provide a whole range of essential Industry 4.0 features. On the one hand, the market-leading programming tool CODESYS provides genuine object-oriented programming, integrated add-on tools for methodical software development, or easy reuse of available source code. In this way, CODESYS establishes the link between the concepts of IT systems and automation tools. On the other hand, data in the Industry 4.0 environment can be exchanged via conventional standard protocols such as https/WebClient, MQTT, or OPC UA. Downloadable libraries or components in the runtime system of the devices provide the necessary functions. Integrated IT security capabilities protect knowledge and communication from unauthorized access or compromise, for example by means of encryption and signatures using X.509 certificates or a hardware dongle. Connected to the Internet, these controllers immediately demonstrate their added value for the digitalization of machines and systems and become an "intelligent thing" in the sense of the "Industrial Internet of Things" (IIoT).
The Industry 4.0/IIoT capabilities of control systems are confronted with an increasing range of server solutions. Most of these are provided by new players in the automation market and are based on general cloud systems. In the cloud, automation specialists can easily store and analyze their process data. The systems also provide valuable additional services to optimize processes by means of machine learning or artificial intelligence. Downtimes are reduced or can be planned by means of anomaly detection and predictive maintenance.
Now with the CODESYS Automation Server, the manufacturer of the IEC 61131-3 tool has unveiled a new Industry 4.0 server platform. What added value can users expect as compared to previous systems?
Quick overview of the landscape
"Go to Daimler and try to find out how many robots they have in production. You'll have to go there and count them yourself," says the renowned digitalization expert Prof. Rainer Drath from the University of Applied Sciences in Pforzheim in an interview. "The robots cannot be found and recounted in the network these days -- they are not connected. Any ink jet printer from a discount store for 80 euros allows this, but most industrial components cannot do it today. This applies to all industries, oil and gas, chemicals, pharmaceuticals, etc. There is so much potential for innovation here."
This statement describes both a deficiency and a requirement for existing automation systems: standardized searchability and a quick overview of the controller landscape, ideally in a simple web interface. This is precisely the first use case of the CODESYS Automation Server. The requirement is achieved by implementing a digital twin of all connected controllers. Additional device information is also displayed, for example, its respective status or the stored or executed boot application (automatically executed control project after starting the PLC). In addition to a list view, the controllers can also be displayed in a topology or map view.
Keeping the controller up to date
If you know the state of the controller, then it is immediately obvious whether it requires an update of the application software. The Automation Server provides very simple options for rolling out the update as soon as it has been generated in the CODESYS Development System and loaded onto the server as a boot application. The download to the device is started from the web interface. Using a ticket system, the authorized employee can perform an update job that is restricted in function and frequency. To do this, he does not even need his own user profile on the server and thus cannot cause any unintentional harm.
For identical units or machines in a machine park, the update of the application can be rolled out centrally from the server to all relevant devices. Connecting to each device individually and downloading the project is a thing of the past.
The Automation Server also provides a very helpful solution for another both typical and annoying use case, namely the unexpected failure of a device. Even if an exchange device is available, questions still remain: What state of the application software was running on the defective device before the failure? Where is this project located? Which version of the engineering software was used for creating the application? Or is there perhaps a boot application? The CODESYS Automation Server knows the answers and allows the exchange within a few minutes. First, it automatically and regularly creates data backups of the controllers. A device failure is registered immediately. The Server independently sends a ticket for device replacement to the authorized service technician. The technician can immediately log on the new device using the QR code, and then download the backup to the new device via the web interface, and restart production immediately. The Automation Server helps to minimize damage as much as possible in the event of such a failure
Playing it safe
Another use case: A new controller is to be used in a machine. In accordance with the security recommendations, the device is equipped with a user management based on user groups and profiles. To avoid having to create user management manually for each new controller, the administrator stores corresponding user profiles in the Automation Server and transfers them to all required devices per mouse click. Changes to user administration, for example due to new or retired employees, can also be implemented centrally and quickly. Sometimes a controller can become vulnerable because security holes have been discovered and published on the stored firmware. In machines without Internet connection, this is hardly a reason to panic. On the contrary, connected controllers are certainly at risk. However, by modularizing the runtime system of CODESYS-compatible devices, individual unsafe components can be updated very easily – and without incident during the runtime of the controller program. This makes possible what is already common practice in Windows updates: the continuous updating of system components without interrupting the application or the user. One way to prevent damage from hacker attacks is the encryption of data and communication as mentioned previously. If certificates are used, then public or private keys are required on both sides of the communication: on the controller and on the accessing system. These certificates or keys are valid for a limited period of time. It would be the ultimate MCA if a production process were suddenly halted on a controller due to an expired certificate, although all technical components function perfectly. This is impossible with the Automation Server, as it includes a central certificate administration for all registered subscribers and reports in time before a certificate expires.
Benefiting from software development processes The add-on tools for methodical software development mentioned earlier can be stored on the CODESYS Automation Server and linked to form a continuous integration process. Every change to the application code that is loaded to the server automatically passes through a series of functions for optimization and quality assurance:
- Static analysis of the source code for typical problems or metrics
- Compile to executable binary code for the target system
- Check the runtime properties of the compiled code
- Test of functionality by means of unit tests
- Storage of the source code in a source code management system
Problems in the process steps are reported by the Server to the responsible employee and corrected immediately if possible. The result: Shorter commissioning times thanks to reduced on-site rework requirements and fewer errors in the production process – and therefore significant cost savings. In addition to the use cases described above, the CODESYS Automation Server is also ideal for standard logging and analysis of process data and events, as a supplement or an alternative to other server solutions. Corresponding services are implemented successively. Also interesting: The server can act as a "natural" storage location for all tool-relevant information, such as device descriptions, controller projects, application libraries, and various installation versions of the IEC 61131-3 project engineering tool. This feature in turn helps to keep the effort for extension, maintenance, and updates of the controller landscape as low as possible. The framework also allows you to create and install your own tasks and services for the server.
Third fundamental product line of the CODESYS portfolio
The CODESYS Automation Server combines the advantages of a complete system solution with those of a modular system. This makes it clear that the new server solution will become the third fundamental product line in the CODESYS portfolio alongside the established engineering and runtime products. As an Industry 4.0 platform, it uses web technologies to simplify typical tasks of today and tomorrow for end users. This means that the CODESYS Automation Server goes beyond the existing server and cloud systems and offers direct added value for manufacturers and operators of industrial machines and plants.
The article by Roland Wagner, Head of Product Marketing at the CODESYS Group, was published in the German IEE magazine in September 2018.