The following figure illustrates a logical view of PN Driver architecture along with EPS internals.
EPS bundles the PROFINET stack and its configuration, shared services, drivers and abstraction layers that facilitates porting PN Driver to target platforms.
PN Driver adds controller and device implementation on top of EPS and offers the IO-Base API for the user to implement automation tasks.
The EPS contains the following parts:
- A core with an API to start up/shut down the PROFINET stack
-
An implementation and API for
- Locks
- Threads
- Mailboxes
- Events
- Timer
- Local memory management
-
The PROFINET stack components
-
Logical Device (LD) PNIO components
Contain all PROFINET IP based components and, optionally, the IP stack itself. You can use PN Driver with OpenBSD IP stack (https://www.openbsd.org/) which is integrated in the codebase or the IP stack which is provided by the Linux system. Using Linux IP stack is possible only with some limitations. Please refer to PN Driver Quick Start document for the details of using Linux IP stack.
-
Hardware Device (HD) PNIO components
Contain PROFINET L2 protocol layer and the PROFINET context management.
-
-
An abstraction for the system calls to the operating system (see section POSIX API/Macro IF (OS abstraction)) as well as the platform (see section EPS PLF (hardware abstraction))
-
An abstraction to the application (see section EPS APP (application abstraction))
-
An API to integrate pluggable drivers (see section EPS driver concept (Ethernet adapters abstraction))
-
A library of sample driver for different network adapters (see section PN Device Driver)
-
A trace system for internal diagnostics (see section Trace)