PLCnext Technology Controller Generation
This topic contains the following information:What is PLCnext Technology?
PLCnext Technology designates the new open firmware architecture for Phoenix Contact controllers which is characterized amongst others by the following features:
- Programmable not only in IEC 61131-3 languages but also with high-level languages such as C++ or C#. For doing so, the respective programming environment (e.g., Visual Studio or eclipse) must provide a suitable plug-in or add-on which is able to generate the code output which can be integrated and used in PLCnext Engineer. This way, separated tool chains and different developers for one target system are possible.
- I/Os from these "external domains" can be accessed via ports.
- PLCnext Technology controllers provide a Global Data Space (GDS) for selected program variables (IEC 61131-3, C++). GDS enables fast and consistent data exchange between user programs, field buses and system programs by ensuring cycle task consistency. Furthermore, the GDS provides access to further tools, such as Data Loggers, HMI and OPC UA.
- PLCnext Technology controllers may have multiple cores. The Execution and Synchronization Manager (ESM) is executed separately on each core. Each ESM can safely handle multiple user tasks of different task types with different properties at the same time per ESM (core).
- Integrated Web Server for HMI.
- Integrated OPC UA server with access to the GDS.
- OPC UA PubSub Communication (only with a firmware version 22.0) with access to the GDS.
- Integrated safety functionality.
- Field Bus Manager (FBM) providing a generic field bus interface for connection of different protocols and a technology-independent configuration files concept.
- Integrated security concept for protecting system access, system integrity, know-how and engineering communication.
- PLCnext Technology supports Profinet Media Redundancy (namely the "Media Redundancy Protocol", MRP) as well as Profinet System Redundancy. Refer to the topic "Profinet Redundancy
‣ Profinet Redundancy
×‣ Profinet System Redundancy (SR)
×" for details.
Further Info
For further information on PLCnext Technology refer to the user manual of the PLCnext Technology controllers. |
Further Info
Also refer to the PLCnext Info Center which provides many information and practical user tips on the PLCnext Technology control platform and PLCnext Engineer. |
Ports vs resource-global variables
From the view of the IEC 61131-3 programmer, the main difference is that a PLCnext Technology controller uses ports in addition to or instead of resource-global variables known from the IEC 61131-3 standard. Ports enable the communication of program instances between each other independently of the origin of a program.
Even if a program has been developed in a non-IEC 61131-3 language such as C++, it provides IN ports and OUT ports which can be mapped to other ports in PLCnext Engineer. This way, communication is even possible between IEC 61131-3-compliant programs and "non-IEC 61131-3 programs".
For that purpose, input and output ports can be assigned to each other using the role mapping function in the Port List. Port Lists are available on the 'PLCnext' node and on program instance nodes in the PLANT. A Port List contains the ports which are relevant for the respective PLANT node and allows the port-to-port mapping.
Besides ports, PLCnext Technology controllers also support resource-global variables as known from traditional IEC 61131-3-compliant targets. This means you can develop and use program and FB POUs as usual and declare resource-global variables as well as input/output variables. However, these resource-global variables cannot be connected (mapped) to ports of non-IEC 61131-3 programs. For that purpose, you have to develop programs with IN/OUT ports in PLCnext Engineer.
Extended task editor allows integration of non-IEC 61131-3 programs
Another difference to IEC 61131-3-compliant conventional controllers is the extended task and event editor.
For PLCnext Technology controllers, the runtime configuration is located on the 'PLCnext' node of the PLANT. The extended task editor enables the instantiation of non-IEC 61131-3-programs (written, for example, in C++).
Furthermore, PLCnext Technology supports multicore environments, i.e., programs can be distributed to several controller cores. Therefore, the creation of tasks must be done core-specific. The assignment of IEC 61131-3 and non-IEC 61131-3 programs must be done in the 'Tasks and Events' table thus creating program instances.
Refer to the topics "Creating a program instance..." and "Integrate non-IEC 61131-3 programs ..." for a detailed step-by-step procedure.
Note
In debug mode, the controller Cockpit shows the utilization of each controller CPU core (each represented by one ESM in PLCnext Engineer) besides the total controller utilization. Use this information during commissioning of your application to optimize the distribution of program instances to the available cores. |
Further Info
Also refer to the help chapter "Matlab® Simulink® Integration" which describes how to use Matlab models in your solution. |