Store PLCnext CommunityPLCnext on LinkedInPLCnext on Instagram  PLCnext on YouTube Github PLCnext CommunityStore PLCnext Community

Execution and Synchronisation Manager

Unlike consumer applications on "standard" PCs many embedded or automation applications require a high degree of determinism and "hard real-time" capabilities.

Therefore the use of a real-time operating system is mandatory for control systems. A lot of different real-time operating systems are available on the market today.
Some of them have been specifically designed for real-time operations. Others are based on "standard" operating systems, complemented by specific real-time extensions and/or patches.
One of these operating systems is Linux.

Standard Linux distributions, like Debian or Ubuntu, are designed as "standard" operating systems and do not fulfil real-time demands.
Linux has become more and more popular in the world of embedded systems and is already used in many devices of everyday use as well as in industrial applications.

In order to enable Linux to meet hard real-time conditions, dedicated real-time patches are used. One of these patches has been created and is maintained by the OSADL ( https://www.osadl.org/).
But even when the operating system has now real-time capabilities, it is up to the end-user to create a stable real time application...

Read more to find out what challenges has to be solved creating a real-time application directly on Linux and why this is so easy by using the PLCnext Technology!

Real-time Linux and PLCs

Linux can fulfil hard real-time demands and facilitates participation from the Linux open source community.
This helps software and application engineers to use and adapt new technologies and software solutions very fast.

Phoenix Contact have been offering project-specific PLCs based on Linux for many years.
Besides the advantage of "openness", there are also some disadvantages, i.e. in order to benefit from Linux, the application engineer has to be a Linux specialist in terms of:

• Real-time task handling

• Watchdog monitoring inside the operating system

• Inter process communication

Not in focus, but often inevitable, is the huge effort for debugging real-time or memory access problems by analysing kernel traces.

Based on experience from lots of automation projects throughout it was Phoenix Contact's goal to provide the user with an open, but at the same time easy to use,
task management method for PLCnext Technology.

It enables application engineers to focus on the demands of the application and not on operating system specifics.

 

Easy Real-Time Managment with PLCnext Technology

With PLCnext Technology, the application engineer does not need to think about the task handling of the underlying operating system.

All task management, monitoring, and scheduling issues are handled by one of the most important PLCnext Technology system components,
the so-called Execution and Synchronization Manager (ESM).

Figure 2 Execution and Synchronization Manager (ESM)

 

The ESM does not only handle the tasks. In addition, it offers the possibility to execute programs of different types and from various sources in real-time.

Basically is the ESM working as scheduler who is calling standard Linux real-time tasks with a defined set of application programs.
Every call is synchronized with the Global Data Space, this allows the data to be consistently made available between the tasks at any time!

 

Easy Task Configuration with PC Worx Engineer

Figure 3 Task Configuration with PC Worx Engineer

 

For the application engineer, the user interface for task configuration is as easy as on a classical IEC 61131-3 control.

In addition to the easy configuration with PC Worx Engineer, it is also possible to adjust the ESM via XML-based configuration files directly on the PLCnext Technology device (refer ESM.config.xml).