PROFINET Software Product
PROFINET is realtime-enabled. It uses IT standards like TCP/IP and makes an integration into ﬁeldbus systems possible. PROFINET was standardized by the IEC speciﬁcations IEC 61158 and IEC 61784. port offers an implementation of the PROFINET stack for slave devices with conformance class A / class B together with realtime class 1.
low resource consumption,usability with and without an (OS) operating systemhigh portabilityNEW: supports version 2.31 of the PROFINET specificationProvides the best conditions for the conformance testing of the PNOSupplied with embedded μIP UDP / IP stackSupport for (almost) all the TCP / IP stack by generic and Raw UDP socket connection
port offers a PROFINET slave stack implementation for conformance class A / class B as well as for Real-Time class 1.
port’s solution offers:
- extrem low ressource requirements
- can be operated w/o OS as well as with an OS
- easy porting to other platforms
- Greatly simplified API: modules / slot configurations can be specified by API during initialization easy.
- use of a central callback function
- Implemented standard callbacks for all stack functions: they only implement desired deviations from the standard behavior.
- Better separation of platform-specific and platform-independent code
- standardization of the memory configuration for all supported platforms
- Platform-independent demonstration Example with data processing, LED and Button Support (if available on hardware)
- Numerous improvements in memory management, logging functions, etc.
- Code Cleanup: You save a few hundred LOC with the same functionality.
Our experienced engineers support you with engineering services for implementation as well as with customer specific adaptations or extensions. port is supporting the customer from the very first trial until the product is certified.
The PROFINET Protocol Stack provides all required services for a PROFINET IO compliant communication according to the IEC standards IEC 61158 and IEC 61784. It facilitates easy and fast development of PROFINET IO devices.
Access to the hardware is carried out via a hardware abstraction layer. Drivers are available for different CPU- and Ethernet controller with and without operating system. For fast bus access the Ethernet drivers are highly optimized.
With port’s multiprotocol FPGA solution also other Industrial Ethernet Protocols, e.g. EtherCAT, EtherNet/IP and POWERLINK can be integrated. An uniform user interface makes it easy to implement different protocols.
The PROFINET Protocol Stack is completely written in ANSI-C and can be compiled with every ANSI-C compliant compiler. Depending on the required scope of functionality the PROFINET Protocol Stack is available in different expansion stages. All versions of the PROFINET Protocol Stack are compatible to each other and are constantly tested with the current conformance test of the PNO for compliance with the standard.
The user application communicates with the PROFINET Protocol Stack through function calls and call-back functions.
Configuration and scaling of the PROFINET Protocol Stack is done with the help of the PROFINET Designtool. With it the PROFINET Protocol Stack can be tailored to an optimum to the available resources of the application. Besides the creation of the object directory all settings for the hardware can be carried out with it.
The PROFINET Protocol Stack consists of a hardware independent and a hardware dependent part that communicate with message queues. The hardware dependent part consists of controlling software for the Ethernet MAC controller and timer functions.
The application communicates only with the hardware independent part of the PROFINET Protocol Stack. That way it is possible to exchange drivers without any influence on the functionality of the application. The initialization of PROFINET IO services is done with function calls within the application. During the execution of the application the PROFINET Protocol Stack executes all necessary communication tasks autonomously and informs the application about successful received PROFINET IO messages with the help of callback functions.
Communication requests from other devices as well as necessary periodical tasks and time out monitoring is handled within the PROFINET Protocol Stack. All requests are proved for correctness (access rights, data types etc.). The application is notified after completion of the communication and occurrence of failures, respectively, through service oriented callback functions. In these callback functions appropriate actions can be carried out from the application.
The high degree of scalability of the PROFINET Protocol Stack is of particular importance for devices with limited resources. On one hand, this is achieved by the modularity in individual service groups, and on the other hand, through the use of compiler directives in the respective modules. Thus, the code size is proportional to the utilized PROFINET services.
Scope of delivery
Delivery of the PROFINET Protocol Stack comprises different example programs that describe the usage of the various PROFINET services. All examples contain a complete implementation of a PROFINET IO device including the object directory as well as application code. These are ready to be compiled and run. Among the detailed documented source code there is the reference manual and a printed user manual as documentation available.
The PROFINET Protocol Stack is constantly improved and adopted to customer requirements. In order to keep up with the latest version of the PROFINET Protocol Stack port provides its customers an update service.
Support (up to 45 days after purchase)
The support engineers of port are ready to answer all questions by email, phone or fax regarding the initial operation of the PROFINET Protocol Stack or further questions to the topic PROFINET IO.
- support by telephone free of charge
- support by E-Mail free of charge
- update service free of charge
With a maintenance contract will help ensure the continued support mentioned above. Please ask the current conditions in our service area. (email@example.com).
Licensing conditions (excerpt)
PROFINET Protocol Stack for one-time license fee in the form of a product / project or site license is collected. Further license fees do not arise from the deployment of the software within the same company (no runtime licenses). It is not allowed to hand over the software and the implementation, respectively, towards a third party.
PROFINET Stack CCA: 0210/xx - please click for inquiry here
PROFINET Stack CC-B - please click here for inquiry
Datasheet & Downloads
The data sheets are currently being revised, please contact our sales team directly.
Compatibility & Testing
our PROFINET stack (CC-A / RT1) was successfully tested with the following industrial controls:
- Bosch Rexroth IndraControl L65: Ok.
- Siemens S7-1500: Ok.
- Siemens S7-300: Ok.
- Molex E- F2 Controller Card: Ok.
- TwinCat: Ok.
- KW-Software Controller: Ok.
- Phoenix RFC 470S: Ok.
We are constantly expanding our portfolio of drivers, if you can not find your driver, please send us your inquiry. (please click here)
More information about drivers can be found here: (please click here)
STMicroelectronics - STM32, STM32F4, STM32F7 (coming soon)
Renesas - R-IN32M3, RZN1, RZT1
Linux - 32/64 Bit (GCC/CLANG)
Raspberry Pi (Linux)
Xilinx Zynq (Zedboard, Linux, Smartzynq)
The PROFIernergy profile is available as a standard extension for PROFINET. The profile controls the power consumption of automation devices and systems in production via the PROFINET network. The energy consumption is controlled via open and standardized commands, which are applied to planned and unplanned interruptions in production / processes.
The "PROFIenergy" profile extension from port GmbH fulfills the following properties and functions:
All PE entity classes are supported with the necessary PE commands.
PE Entity Class 1
(PE standby management)
Commands: Start_Pause, End_Pause, List_Energy_Saving_Modes, Get_Mode, PEM_Status, PE_Identify, Start_Pause_with_time_response, Query_Version, PEM_Status_Ext1, Query_Attributes Non-implemented optional commands: Info_Sleep_ModeSOL_ModeSOL_ModeSOL_ModeSOL_Mode
PE Entity Class 2
(PE Measurement functionality)
Commands: PE_Identify, Get_Measurement_List, Get_Measurement_Values, Query_Version, Get_Measurement_List_with_Object_Number, Get_Measurement_Values_with_Object_Number, Query_Attributes Unimplemented optional commands_Meter_Set_Meter_Meter_Engine_Meter_Set_Meter_Engine_Meter_Set_Meter
PE Entity Class 3
(PE Standby Management and Measurement PE)
Commands: Start_Pause, End_Pause, List_Energy_Saving_Modes, Get_Mode, PEM_Status, PE_Identify Get_Measurement_List, Get_Measurement_Values, Start_Pause_with_time_response, Query_Version, Get_Measurement_List_with_Object_Number, Get_Measurement_Values_with_Object_Number, PEM_Status_Ext1, Query_Attributes not implemented optional commands: Info_Sleep_Mode_WOL, Go_Sleep_Mode_WOL, Reset_Energy_Meter, Set_Meter
The PROFIenergy profile supports “Dynamic Time And Energy Values” ,demo applications and GSDMLs for all entity classes.
The profile answers all necessary "service requests" independently and processes "User Specific Energy Saving Modes". "User callback for fashion transitions" is also supported.
The stack does not support float64 measurement IDs / values
The stack itself does not create time stamps for measured values
The stack itself does not calculate time values such as “CTTO - Current Time To Operate”
You need more information and documentation - then please have a look here: