iC9200 Series Controller Generation
This topic contains the following information:iC9200 Series Controller generation
iC9200 Series designates the new open controller firmware architecture based on PLCnext Technology by Phoenix Contact.
| Note
When the term "PLCnext" is used in this help, it refers to this specific technology. |
iC9200 Series controllers are 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 iCube 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.
- iC9200 Series 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 and OPC UA.
- iC9200 Series 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 OPC UA server with access to the GDS.
- Embedded OPC UA client functionality.
- 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.
- iC9200 Series controllers support 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 iC9200 Series refer to the user manual of the iC9200 Series controllers. |
| Further Info
Also refer to the iCube Info Center which provides many information and practical user tips on the iC9200 Series control platform and iCube Engineer. |
Ports vs resource-global variables
From the view of the IEC 61131-3 programmer, the main difference is that a iC9200 Series 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 iCube 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 GDS Port List. Port Lists are available on the 'PLCnext' node and on program instance nodes in the PLANT. A GDS Port List contains the ports which are relevant for the respective PLANT node and allows the port-to-port mapping.
Besides ports, iC9200 Series 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 iCube 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 iC9200 Series 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, iC9200 Series 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 iCube Engineer) besides the total machine controller utilization. Use this information during commissioning of your application to optimize the distribution of program instances to the available cores. |