CODESYS PROFINET Controller SL is a product that end users can use to implement a PROFINET network with a CODESYS compatible controller.

Article number
License Agreement


for the usage of a CODESYS Software or CODESYS Software Package


General Terms of License (End User License Agreement) for the supplied Software. Please read this Software User Agreement carefully before using the supplied Software. Downloading or installation of the Software constitutes recognition by the customer of the conditions of this Agreement.

The following conditions are agreed between you as the software user and the company 3S-Smart Software Solutions GmbH (hereinafter referred to as 3S), 87439 Kempten (Germany) and are legally binding.

With this license agreement, you acquire the permission of use for Software from 3S (e. g., Some products may only be used for a limited period of time (Products with the name affix “Abo”, “Abonnement” or “Subscription”). If you do not agree to the following license agreement, then you, the user, are not permitted to save and/or install the Software. Should you have already installed the Software, and you do not agree to the license agreement, then immediately delete or uninstall the Software.

§ 1       Object of the License Agreement

The object of the License Agreement is the supplied Software that you have received either directly or from the CODESYS Store. With the provided Software, the user is in the position to use and/or to extend the CODESYS Development System and/or implement a CODESYS runtime environment on a specific programmable logic controller (PLC), herein termed "device". The user has the right to install the functions of the Software after installation of the device software and/or the CODESYS Development System.

In this way, the user can use the functions as specified in the data sheet of the Software.

§ 2       Geographic Restriction


§ 3       Rights of Use

Different license models grant different usage rights. A CODESYS Softcontainer or CODESYS Key (hardware dongle) is required to use the demo, full or time license.

Free: Software that is indicated as "Free" in the CODESYS Store is not subject to an automatic license check by the manufacturer and can be used free of charge.

Demo: The user can order a simple and non-transferable demo license to the supplied Software, depending on availability. The license protected demo software is free of charge but limited by time and/or functionality.

Full: The provided Software is protected by license and requires a fee. The user acquires an unrestricted, simple, and non-transferable license to use the supplied Software with no restrictions.

Time license: Alternatively, a time-limited license is offered to the user, with which the user acquires a simple, non-transferable license to use the delivered software for an agreed, contiguous period.

It is not permitted to edit, modify, disassemble or decompile the Software or to use other processes of reverse engineering to by-pass the licensing mechanism, or to have these processes performed by third parties, insofar as this is not absolutely required for exploiting the rights that result from licenses in all events for open source components.

The Software can be components that are licensed as open source software. For these components, the contents of the respective open source licenses apply, as also stored in the Software. The list of components with the terms and conditions of license are available for reading before purchase and are also included in the Software. The licensee receives a simple rights of use from the respective right holders for using the open source software under the conditions as provided for it by the respective valid license terms. The provided license terms apply to only the components that are not licensed as open source software.

All rights regarding the usage and exploitation of the software and Software remain reserved to 3S.

§ 4       Warranty

4.1.    The manufacturer warrants that the installed Software will substantially conform to its documentation or data sheet. The following restrictions shall apply. In particular, there is no warranty that the Software fulfills the specific requirements of the user, serves his specific purpose and works together with all the other programs selected by the user, in so far as interfaces to these programs have not been agreed upon in writing.

4.2.    It is deemed to be agreed and the user recognizes and accepts that, according to the current state of knowledge and technology, it is not possible to create software in such a way that it works without errors or faults under all application conditions. A deviation from the agreed properties of the Software can only be considered significant if normal operation is substantially disrupted. If a disruption occurs under exceptional circumstances, this cannot be considered as a deviation from the agreed properties of the Software. 

4.3.    The user shall immediately examine the Software supplied, shall establish its appropriateness for the intended purpose and shall immediately issue complaints about initial or non-initial errors/defects in detail and in such a way that the error/defect can be reproduced by the manufacturer. The user agrees to provide 3S with material giving information on the nature and occurrence of these errors/defects in order to contribute to their localization and correction. The user bears sole responsibility for the selection, installation and use of the Software, as well as for the intended results thereof.

4.4.    The manufacturer does not provide a warranty for errors or defects that are caused by or result from the following circumstances:

(a)     Incorrect or insufficient maintenance or parameterization

(b)     Operation outside the software’s specification

(c)     Incorrect preparation and/or maintenance of the installation location

(d)     Interaction with hardware or software not released by the manufacturer

A special guarantee which could result in additional rights is not provided.

4.5.    Any defects with regard to the supplied Software (including defects with regard to the program description and any other documents provided along with the Software), will be rectified by the manufacturer within an appropriate period of time. The manufacturer has the right to decide between rework/repair free of charge or replacement at its own discretion.

4.6     The conditions for liability and warranty in these license terms are valid for the complete Software with respect to the manufacturer. The liability and warranty conditions of the open source licenses are valid between the user and the open source right holders.

§ 5       Limitation of Liability

The Software can be used for numerous applications. The user shall decide independently whether or not it is also appropriate for the actual intended application. After installation, the user is responsible for the Software functioning according to its specifications.

The manufacturer is liable for intentional acts and gross negligence. The manufacturer shall be liable for slight negligence only if this involves the breach of a major obligation deemed essential for the purpose of the contract (cardinal obligation) and the fulfillment of which the customer may regularly rely upon or for damages resulting from injury to life body or health. The manufacturer is obliged to act with due diligence.

Upon the determination of whether the manufacturer has culpability, it is to be considered that, as a matter of fact, it is not possible to provide software on an error-free basis. For events of slight negligence, total liability is limited to the amount of the foreseeable damage, the occurrence of which must typically be expected; however, the maximum of such liability arising from the contractual relationship is limited to a total of EURO 100,000.00. The manufacturer shall not be liable for other damages, consequential damages, or lost profits.

The preceding provisions also apply in favour of any vicarious agent of the manufacturer. Liability under product liability law remains unaffected. For the loss of data and/or programs, the manufacturer is not liable insofar the damages are based on the fact that the user refrained from conducting data security measures and thereby ensuring that the lost data could be restored with a justifiable expense. Before commissioning the device and an application written with the CODESYS Development System, the user is obligated to perform sufficient tests in a safe environment.

§ 6       Termination

For non-time limited software this Agreement may be terminated at any time by uninstalling from the device the described Software from the manufacturer and destroying all copies thereof.

If the software is limited in time (subscription or subscription), the user agreement ends with the termination of the subscription or subscription on the expiry date of the agreed period of use. The termination of the time limited use can take place at any time, but must take place at the latest one month before the end of the expiration of the temporal limitation, in order to still be effective at the end of the current subscription period. If this does not take place or is done too late, the period of use is automatically extended by the period of the time limit agreed in the data sheet. After the end of the period of use, the functions of the software are no longer available or are only available to a very limited extent.

§ 7       Governing Law

This License Agreement shall be governed by the laws of the Federal Republic of Germany excluding CISG. The place of performance and the court of jurisdiction for all disputes arising from or in connection with this agreement is 87439 Kempten (Germany). Claims may also be asserted against each contracting party in its general place of jurisdiction.



§ 8       Severability Clause

Should one provision of this contract be or become invalid, or should the contract contain a gap, the validity of the remaining provisions shall remain unaffected. In place of the ineffective provisions, or in order to fill the gap, a provision shall apply which, in so far as legally viable, approaches the original intention of the contractual parties as closely as possible, or what can be assumed to have been their intention if they had considered the point in question.

Product Description

PROFINET (Process Field Network) is an open standard for realtime industrial Ethernet systems in automation technology. It is promoted by the user organization PI (PROFIBUS & PROFINET International as an umbrella group of the PROFIBUS user organization PNO) and is regarded as the successor of PROFIBUS. PROFINET uses IEEE 802.3 (Standard Ethernet) based Profinet RT protocol for realtime cyclic IO data exchange and UDP/IP for acyclic services.

The fully integrated CODESYS PROFINET Solution provides a uniform configurator for different variants of underlying PROFINET Controller communication stacks:

    Protocol stack in the form of a CODESYS library (in IEC 61131-3 code), operates on standard network interface cards.
    For CODESYS Control RTE high performance ethernet adapter drivers are available (see requirements).
    The ethernet adapter is not used exclusively, it’s still available for all other applications using TCP/IP on this adapter (e.g. CODESYS Visualisation, Web Browser).


  • configurator for settings of PROFINET Controller

  • configuration of as slaves (single AR to PROFINET field device) with communications settings

  • configuration of device/module specific parameters, in- and output-mapping

  • status page with detailed view of currently pendig diagnostics and previously received alarms

  • scan dialog with device-import function, online/offline compare, I&M data

  • topology configurator (for device exchange, IRT-planning)

  • TCI support

Picture 1: Configuration with validation

Picture 2: Diagnosis in Status Page

Picture 3: Scan Dialog with I&M Functions

Profinet-Stack (IEC)

CODESYS PROFINET Controller Stack in principle can run on any standard ethernet adapter hardware (see requirements and restrictions). This ethernet adapter is still be used for other services like CODESYS Communication (with IDE), Web-Server, or other CODESYS Fieldbuses (except EtherCAT). The CODESYS Runtime and the operating system (e.g. firewall) have to be configured correctly. For details, see CODESYS Online Help / Fieldbus Support (



PROFINET Specification


Conformance Class


Max. Number of connections

64 (default) - 1024

Max. IO-Data (total)

no limit

Max. IO-Data (per slave)

1440 input and 1440 byte output

Max. acyclic data

16 KB

Plattforms / OS (see restrictions)

Windows, Linux, VxWorks, WinCE


32/64 Bit



Automatic Name Assignment (Device Exchange)




Fast Startup





Client, see Dual Port

Dual Port

yes, see below

Shared Device


Device Access AR


System Redundancy



depends on Plattform ( ** see below)
tested with 64 frames / ms
CODESYS PROFINET Controller (IEC) and Dual-Port Interface:
With standard Ethernet Adapter hardware only single port devices are possible, i.e. each PROFINET Controller can handle just one port. (The system itself may have more than one Ethernet adapter, maybe running a PROFINET Device on it).
A Dual-Port Controller (e.g. for MRP support or a ‘daisy-chain’) may be implemented with special dual-port (bridge) Ethernet chipsets, but this requires some runtime adaptions by the OEM.

Performance CODESYS PROFINET Controller (IEC):
The IO performance, i.e. the possible transmitted ethernet frames / ms differs between outstanding (CODESYS Control RTE) and weak (out of the box Win CE).
This depends nearly solely on the CODESYS Runtime’s SysEthernet implementation.
Of course a system that manages only 8 frames / ms can handle for example 32 slaves - but ‘only’ with an update interval of 4 ms.

Examples with 1 ms update rate:


Frames / ms



CODESYS Raspberry Pi SL


Programming Interface (API for IEC application)

The PROFINET Controller provides a rich API for Profinet related functions and utilities that can be used by the application at runtime.



DCP-Identify (Bus-Scan)

Function block ProfinetCommon.DCP_Identify


Function block ProfinetCommon.DCP_Set / DCP_Get
set / get IP-Address or Stationname

Factory Reset

Function block ProfinetCommon.DCP_Reset


- 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
xError: Connection aborted / failed
xDiagnosis: diagnosis available
xModuleDiff: module configuration not matching (wrong or missing).

Status Outputs Controller

Implicit Profinet Controller function block:
xOnline: Profinet Controller is online
xBusy: Controller is in startup phase
xError: Profinet Controller is in error state
xDataValid: All IO-Data of the configured Profinet devices is valid.

Dynamic connect/abort

Implicit Profinet Controller or slave function block, method SetCommunicationState()

Generic access on device- and module-configuration

Function block ProfinetCommon.DeviceIterator and SubmoduleIterator
Generic API for iterating Slave- or Module Configuration and Status

Diagnosis Shadowing

Function block ProfinetCommon.DiagnosisBuffer
All Diagnosis Data is locally buffered

Receive Alarms

Function block CommFB.RALARM

Acyclic Read/Write

Function block CommFB.RDREC / WRREC

Direct IO-Data access

Function block CommFB.SETIO_PART / GETIO_PART

Device-Access AR

Function block CommFB.CNCT


Function block DED.Reconfigure
Enable/Disable modules, slaves or the complete Profinet stack
Function block IoDrvProfinetBase.ControllerConfigUtil:
Change configured Stationname, Slot / Subslot oder device-settings in application.


Programming System

CODESYS Development System V3.5.17.0 or higher

Runtime System

CODESYS Control V3.5.17.0 or higher

Supported Platforms/ Devices

CODESYS runtime system with these components
* SysEthernet
* SysSocket

Note: Use the project Device Reader to find out the supported features of your device. Device Reader is available for free in the CODESYS Store.

Additional Requirements

Technical requirements
* Ethernet Adapter (for Control RTE with Intel or Realtek chip)

Legal requirements
A certification by a PI Test Lab is mandatory for every PROFINET Controller or Device that is sold to end-users.
Details on certification can be found here:


Certification is currently possible for
* Control RTE > V3.5.18.30
* Linux based runtimes > V3.5.17.30


Single device license: The license can be used on the target device/PLC on which the CODESYS runtime system is installed.

Licenses are activated on a software-based license container (soft container), which is permanently connected to the controller. Alternatively, the license can be stored on a CODESYS Key (USB dongle). By replugging the CODESYS Key, the license can be used on any other controller.

Required Accessories

Optional: CODESYS Key


No Support

Technical support is not included with this product. To obtain technical support, please purchase a CODESYS Support Ticket.


For general error messages or pre-sales inquiries, please use the "My Question" contact form directly, which can also be used without logging in. A list of alternative support resources can be found in the support section of the CODESYS Group website.


CODESYS Corporation
A member of the CODESYS Group

200 Cummings Center, Suite 272-D
Beverly, MA 01915, USA

Additional Downloads


Version History

This is a license only product, for runtimes with a corresponding preinstalled library. No version information available.