Core components of the PLCnext Technology
PLCnext Technology is an open firmware platform executed on a Linux operating system with real-time patch. Different firmware components forming the core functions are called core components. These core components are a fixed part of the PLCnext Technology firmware. They cannot be modified. The core components are divided into the following groups:
- Middleware (by means of the Global Data Space, GDS)
- I/O components
- Service components
- System components
What builds the PLCnext Runtime System
Middleware
The Middleware section decouples the PLCnext Technology firmware from the operating system. The Global Data Space (GDS) is part of the middleware and is responsible for a central function of PLCnext Technology. It enables consistent data exchange between different real-time components. For additional information on the GDS, please refer to the GDS section.
I/O components and Fieldbus Manager
The fieldbus manager connects the implemented fieldbus to PLCnext Technology for input and output of process data. The following fieldbusses are supported (depending on the PLCnext Control device):
- PROFINET controller
- PROFINET device
- Axioline F master (local bus)
- INTERBUS master (with PLCnext Control AXC F 2152 or AXC F 3152 and additional extensions, e.g. AXC F IL ADAPT and AXC F XT IB)
- PROFIBUS master (with PLCnext Control AXC F 2152 or AXC F 3152 and extensions AXC F XT PB)
Service components
The service components provide access to the ESM (Execution and Synchronization Manager), GDS (Global Data Space) and to the following system components:
- OPC UA server
- PROFICLOUD gateway
- Web-based management
- HMI web server (HTML5 web visualization in PLCnext Engineer)
- Accessible via Linux:
- SFTP
- VPN
- SSH
- NTP
- Trace controller
System components
In the system components, all basic functions of PLCnext Technology are implemented.
- System Manager and PLC Manager
These components load all the other system components and monitor the stability of the system. - ESM (Execution and Synchronization Manager)
The ESM enables IEC 61131-3, C++ and MATLAB® Simulink® programs to be executed in real time. For creating applications, programming languages can be combined in any way. For additional information on ESM, please refer to the ESM section. - User manager
The user manager extends the standard Linux user management function. The various user roles are managed here. You can only execute operations in the PLCnext Technology firmware with a defined user role. You can select one or more user roles with different permissions for each user. - IEC 61131 runtime
ProConOS embedded CLR is the open IEC 61131 control runtime system for different automation tasks from Phoenix Contact.
Programming your own applications
User programs are not supplied as a standard with the PLCnext Technology firmware; they are created by the user. These user-defined programs can be created in classic programming languages in accordance with IEC 61131-3, and also in C++ or Matlab® Simulink®. It is also possible to combine different programming languages.
The easiest way to use PLCnext Technology is to create user programs in programming languages in accordance with IEC 61131‑3, in C++ or using MATLAB®/Simulink®, and to execute these in the real-time environment of the ESM. The user programs are downloaded to the controller and, after a cold restart of the device, are executed by the firmware.
The IN and OUT ports of the GDS guarantee data consistency and ensure seamless data exchange between tasks and programs:
Extending the core functions
A main feature of PLCnext Technology is the extensibility on user's side, not just by user programs. In addition, users can add so-called "function extensions".
Function extensions for internal processes
Users can add their own function extensions to PLCnext Technology. The System Manager loads and monitors these function extensions. All available PLCnext Technology APIs can be used:
- RSC (Remote Service Calls):
Each component (system, service, I/O components) features a selection of individual services that can be called up and used via RSC. - Component interface:
The firmware calls up the implemented functions of the component interface at certain times, e.g., during program startup. - Data access:
Read and write access to the Global Data Space (GDS) - Common classes:
Easy retrieval of system functions, e.g., file operations, socket services, threading.
How these function extensions differ from apps, see C++ programming on PLCnext Technology.
Take this e-learning course on how to create an internal function extension to the PLCnext Runtime System.
Function extensions for external processes
It may also be necessary to incorporate external processes. This may be the case if, for example, extensive software components such as Java® frameworks or .NET Core® are used. They can also be integrated as function extensions.