Introduction & History
In 2021, Siemens donated its PROFINET software stack to PROFIBUS & PROFINET International (PI) in what would become an offering known as the PROFINET Community Stack. The Community Stack contains full PROFINET Controller & Device functionality with well-defined APIs, which leverage easy adaptation to individual target hardware, operating systems, and IP stacks.
This article describes the PROFINET Community Stack, the reasons for it, how it works and what it means for device developers. It also describes the first known available toolkit based on the Community Stack, from the company Real Time Automation.
Despite the availability of PROFINET toolkits from a variety of solution providers, the PROFINET Community Stack is a foundation for solution providers –upon which they can build their toolkits. This makes the development process faster and simpler by offering to harmonize the core functions of the stack, whilst allowing solution providers to adapt it for their customers (PROFINET device developers).
What is the PROFINET Community Stack?
The PROFINET Community Stack (CS) is a team managed by PROFIBUS and PROFINET International (PI). The PROFINET CS team is tasked with accelerating the adoption of PROFINET. Any member of PI can join the CS team. PI formed the team, and Siemens contributed the Intellectual Property for PROFINET Controller and Device applications.
The CS team is designed to be a community of experts in PROFINET technology that will enhance and support PROFINET toolkit providers worldwide. While any member of PI can join the CS team and use the CS, the team encourages solution providers to provide toolkits, APIs, and hardware interfaces that will simplify a device developers’ adoption of PROFINET.
The PROFINET Community Stack is not a source for a complete PROFINET Controller or Device solution. It provides a Linux hardware interface and a series of command codes that a user application can implement to instantiate a solution. The PROFINET CS is available to any member of PI so long as they sign the CS license agreement. Like an open-source license, the CS license requires developers to submit any enhancements to the community. Also, like most open-source technologies, there is limited support available to assist developers implementing the technology.
A Quick Technical Overview of the PROFINET Community Stack
The PROFINET Community Stack is extensive, encompassing the broad set of features of the protocol. The task for developers starting an implementation of the CS is to comprehend what the files are, what they all do and where and how to get started. The CS is well documented, as there are many pages that describe the individual files and functions.
The stack itself is composed of the PROFINET core interfaced to an application by a Component Manager. The user application communicates with the Component Manager using request/response communications. Hundreds of command codes (opcodes in CS terminology) are used to request CS services. A response is returned for every service request submitted to the Component Manager.
For hardware adaptation, the CS is delivered with a Linux driver that can work with many Linux platforms.
Of course, The CS stack still does not relieve the developer of the task of converting device application data into the standard PROFINET Module/Slot/Point notation. The developer must design that data model and submit it to the Component Manager using a series of request/response messages.
A CS-based Toolkit
While anyone can get the CS and implement it, the first known commercialized implementation is the Real Time Automation PROFINET Developer Toolkit for Device-side and Controller-side communications[1]. This toolkit simplifies and accelerates the adoption of the CS for PROFINET products. Built to enable fast and simplified adoption of PROFINET, it also includes:
- The Real Time Automation (RTA) Common API – Applications can access the CS using RTA’s standard protocol driver API. This identical API is available for all RTA protocol drivers. Developers implementing PROFINET, BACnet, EtherNet/IP, or any other RTA driver can switch to a different protocol with no code changes[2] except those that pass protocol-specific data.
- A Complete Hardware Adaptation Layer – RTA is adapting the PROFINET CS end-device toolkit for Linux, Windows and other operating systems and hardware architectures.
- Data Modeling – RTA provides developers with as much or as little technical knowledge as they need to map their internal device data to the Module/Slot/Point notation of PROFINET.
- Certification Assistance – The toolkit simplifies the certification process for device developers.
- Customer Support – Developers using RTA’s PROFINET Developer toolkit get the training, documentation and support needed to support PROFINET end-devices at their customer sites.
[1] The Controller-side implementation is scheduled for 2025.
[2] Changes to data structures to support the alternate protocol are still required.
Several implementations of the CS using the RTA PROFINET Developers Toolkit are complete or in progress:
Barcode Reader
A global leader in safety and identification is using the toolkit to develop a new factory floor, PROFINET-enabled barcode reader. That barcode reader is scheduled for final PROFINET certification in late 2024 and release in Q1 of 2025.
RTConnect Module
RTA is incorporating the CS into the RTConnect Module. The RTConnect Module is a small, on-board gateway that adapts a device for PROFINET, EtherNet/IP, Logix PLC, BACnet, Modbus TCP and other communication protocols. This module is a fast-time-to-market solution for customers needing a coprocessor to manage Ethernet communications with PROFINET and other protocol drivers.
Where to go for More Information
Learn more about the RTA PROFINET Developers Solution here
Learn more about the RTConnect Module here