Op-ed Column: Hands on the PROFINET Community Stack

  • Post category:MEMBER NEWS
  • Reading time:8 mins read

Note: the following is a 3rd party op-ed column. The views and opinions are the author’s.


Christmas came early this year. Courtesy of “Santa” (aka Siemens), a new toolkit is available that increases your deployment options and vastly reduces the struggle and expense of developing and deploying PROFINET solutions on the plant floor!

Introduction

While PROFINET, over the last two decades, has been very attractive to manufacturers requiring fast, deterministic control networks, it has taken time for developers of factory floor devices to catch up. This is because supporting PROFINET network communications is not easy due to its complexity.

In 2021, Siemens moved its PROFINET software stack from a Siemens-offered product to an open source 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 developers. It also describes the first known available toolkit, based on the Community Stack, for industrial device developers.

Is PROFINET now Open Source?

PROFINET provides a large number of advantages to manufacturers. Other control networks can’t match the speed, determinism, integrated safety, information models and the many other features available in PROFINET.

Despite its dominant features, factory floor devices supporting PROFINET continued to come to market slowly in the early years. The reasons for this included:

  • The resource requirements required for devices supporting PROFINET[1].
  • The somewhat peculiar way devices must model their data. That data modeling, though reasonable for I/O systems, is difficult to adapt to meters, linear actuators, bar code readers and other non-I/O type industrial devices.
  • The significant expense of the available toolkits, development processes and PROFINET certification.
  • Older, slower, less resourced processors couldn’t support the large, complicated PROFINET software stack.
  • The number of technology vendors providing PROFINET toolkits due to the complexity of PROFINET specifications.

Siemens came to believe that to increase the number of devices with PROFINET, it had to make the development process faster and simpler. While the PROFINET technology is and always will be complex, Siemens could open its IP (source code) to make PROFINET devices easier and faster to deploy.

The result is the PROFINET Community stack, a vendor-based community for software companies developing toolkits.

[1] Remember that when PROFINET was introduced over twenty years ago, processors were much less resourced than they are today.

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 software 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. Having the CS source code is as close to having a complete PROFINET application as a chicken in the vegetable patch means that you’ll be having fried chicken and mashed potatoes for lunch. The basics are there but there’s a lot of work to get from one to the other.

The PROFINET CS is also not a true open-source solution available to anyone and everyone. Only current members of PI can join, and only if they agree and 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 two words that describe the PROFINET CS are large and complex. That isn’t a surprise, as PROFINET provides a more comprehensive set of features than any other industrial protocol. The most difficult task for developers starting an implementation of the CS is to comprehend what all the hundreds of files are, what they all do and where and how to get started. The CS is well-documented, almost too well-documented, as there are numerous documents that entail many hours of studying to comprehend.

The stack itself is composed of the Siemens 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 may 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 Community Stack Developer Toolkit

While anyone can get the CS and implement it, a faster time-to-market option is the Real Time Automation PROFINET Developer Toolkit for Device-side and Controller-side communications[2]. 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 – Instead of using the hundreds of opcodes required by the CS Component Manager, 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 protocol driver can switch to a different protocol driver with no code changes[3] 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 CS toolkit get the training, documentation and support needed to support PROFINET end-devices at their customer sites.

[2] The Controller-side implementation is scheduled for 2025.

[3] 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

For more information on using the PROFINET Development Kit in your factory floor device, speak to an application specialist by calling: 1-800-249-1612, emailing: solutions[AT]rtautomation.com or clicking: PROFINET Developers Solutions.


John S Rinaldi
Chief Strategist
Real Time Automation