Description
PROFINET (Process Field Network) is an open standard for an industrial real-time Ethernet system in automation. It is managed by the user organisation PI (PROFIBUS&PROFINET International as the umbrella organisation of the PROFIBUS user organization PNO) and is considered the successor of PROFIBUS. PROFINET uses the IEEE 802.3 (Standard Ethernet) based Profinet RT protocol for cyclical real-time I/O communication and UDP/IP for acyclic services.
The fully integrated CODESYS PROFINET solution offers a uniform configurator for the various variants of the PROFINET Controller communication stack:
-
CODESYS PROFINET Controller (IEC)Protocol Stack in the form of a CODESYS libraries (in IEC 61131-3 code) works on standard network interfaces.For CODESYS Control RTE, special Ethernet drivers are available for very high transmission performance (see requirements).The network interface is not used exclusively, it is still available for other TCP/IP applications (e.g. CODESYS Visualisation, Web Browser).
CODESYS PROFINET Configurator
- Configurator for PROFINET Controller settings
- Configuration of slaves (single AR to PROFINET field device) with communication settings
- Configuration of device-specific settings, input and output mapping
- Status page with detailed view of the currently attached diagnosis and received alarms
- Scan dialog with device import function, online/offline comparison, I&M data
- Topology Configurator (for device replacement, IRT planning)
- Media Redundancy (MRP) Configurator
Profinet stack (IEC)
The CODESYS PROFINET Controller Stack can in principle run on any standard Ethernet hardware (see Prerequisites for conditions and limitations). This Ethernet adapter can still be used for other services such as CODESYS communication (with the IDE), web server, or other CODESYS fieldbuses (except EtherCAT). The CODESYS Runtime and the operating system (e.g. Firewall) must be configured correctly. For details see CODESYS Online Help / Fieldbus Support (https://help.codesys.com/)
Feature | CODESYS PROFINET Controller (IEC) |
PROFINET Specification | V2.42 |
Conformance Class | B |
Max. Number of connections | 64 (default) – 1024 |
Max. IO data (total) | No limit |
Max. IO data (via slave) | 1440 input and 1440 byte output |
Max. acyclic data | 16 KB |
Platforms / OS (see restrictions) | Windows, Linux, VxWorks, WinCE |
CPU |
32/64 bit
Little/Big-Endian
|
Provider/Consumer status | Yes |
Automatic Name Assignment (device exchange) | Yes |
Topology configuration | Yes |
Fast Startup | Yes |
MRP configuration | Yes |
MRP roll | Client, see Dual port |
Dual port | yes, see below |
Shared device | Yes |
Device Access AR | Yes |
Redundancy system | S2 |
Performance |
depends on the system (** see below)
tested with 64 frames / ms
|
Platform | Frames / ms |
---|---|
CODESYS Control RTE
|
64 |
CODESYS Raspberry Pi SL | 8 |
Programming Interface (API for the IEC application)
Function | Description |
---|---|
DCP-Identify (bus scan) | Function Block ProfinetCommon.DCP-Identify |
DCP-set/Get |
Function Block ProfinetCommon.DCP-Set / DCP-Get
IP address or set station name
|
Factory Reset | Function Block ProfinetCommon.DCP Reset |
IO-Link |
– Read / write IO-Link parameters with Function Block ProfinetCommon.IOL-CALL
– Smart Sensor Profile support with Function Blocks in ProfinetCommon Library
|
Status outputs |
Implicit Profinet Slave Function Block:
xRunning: connection established, data exchange
xError: connection canceled / failed
xDiagnosis: diagnosis is based
xModuleDiff: Modules Configuration vary (module incorrect or missing).
|
Status Outputs Controller |
Impliziter Profinet Controller Function Block:
xOnline: Controllers on the net
xBusy: Controller in run-up
xError: Error is about to
xDataValid: All IO data of the projected devices are valid
|
Dynamic connection setup / demolition |
Implicit Profinet Controller or Slave Function Block, Method SetCommunicationState()
|
Generic access to devices or modules configuration |
Function Block ProfinetCommon.DeviceIterator and SubmoduleIterator
Generic API for iterating slave or module configuration and access to module status
|
Diagnosis Shadowing |
Function Block ProfinetCommon.DiagnosisBuffer
Diagnostic data is buffered locally
|
Receive alerts | Function Block CommFB.RALARM |
Azcyclic reading/wriding | Function Block CommFB.RDREC / WRREC |
Direct access to IO data | Function Block CommFB.SETIO PART / GETIO PART |
Device-Access AR | CommFB.CNCT Function Block |
Reconfigure |
Function Block DED.Reconfigure:
Enable/disable modules, slaves or the entire Profinet stack
Function Block IoDrvProfinetBase.ControllerConfigUtil:
Change configured station name, Slot/Subslot or device settings at runtime.
|
Requirements
Programming system | CODESYS Development System V3.5.17.0 or higher |
Runtime system | CODESYS Control V3.5.4.0 or higher |
Supported platforms/devices | CODESYS runtime system with these components * SysEthernet * SysSocket Note: Use the Device Reader project to determine the functions supported by the controller. Device Reader is available free of charge from the CODESYS Store. |
Additional requirements | Technical requirements * Ethernet adapter (for control RTE with Intel or Realtek chipset) Legal requirements Any device that is sold as a PROFINET controller or device to an end user must be certified by a PI testing laboratory. Details on the certification can be found here: www.profibus.com/products/product-certification/ |
Limitations | Certification currently only possible for * Control RTE > V3.5.18.30 * Linux based Runtimes > V3.5.17.30 |
Licensing | Single device license: The license can be used on the controller on which the CODESYS runtime system is installed. The license activation is done on a software-based license container (soft container), which is permanently bound to the control system. Alternatively, the license can be stored on a CODESYS key (USB dongle). By redefining the CODESYS Key, the license can be used on another controller. |
Required accessories | Optional: CODESYS Key |