Giter Site home page Giter Site logo

p-net's Introduction

p-net Profinet device stack

Web resources

Build Status

p-net

The rt-labs Profinet stack p-net is used for Profinet device implementations. It is easy to use and provides a small footprint. It is especially well suited for embedded systems where resources are limited and efficiency is crucial.

It is written in C and can be run on bare-metal hardware, an RTOS such as rt-kernel, or on Linux. The main requirement is that the platform can send and receive raw Ethernet Layer 2 frames. The p-net stack is supplied with full sources including a porting layer.

Also C++ (any version) is supported.

rt-labs p-net is developed according to specification 2.3:

  • Conformance Class A (Class B upon request)
  • Real Time Class 1

Features:

  • TCP/IP
  • RT (real-time)
  • Address resolution
  • Parameterization
  • Process IO data exchange
  • Alarm handling
  • Configurable number of modules and sub-modules
  • Bare-metal or OS
  • Porting layer provided
  • Supports I&M0 - I&M4

Limitations or not yet implemented:

  • IPv4 only
  • Only a single Ethernet interface (no media redundancy)
  • No startup mode legacy
  • No support for RT_CLASS_UDP
  • No support for DHCP
  • No fast start-up
  • No MC multicast device-to-device
  • No iPar (parameter server) support
  • No support for time synchronization

This software is dual-licensed, with GPL version 3 and a commercial license. See LICENSE.md for more details.

Requirements

The platform must be able to send and receive raw Ethernet Layer 2 frames, and the Ethernet driver must be able to handle full size frames. It should also avoid copying data, for performance reasons.

  • cmake 3.13 or later

For Linux:

  • gcc 4.6 or later
  • See the "Real-time properties of Linux" page in the documentation on how to improve Linux timing

For rt-kernel:

  • Workbench 2017.1 or later

An example of microcontroller we have been using is the Infineon XMC4800, which has an ARM Cortex-M4 running at 144 MHz, with 2 MB Flash and 352 kB RAM. It runs rt-kernel, and we have tested it with 9 Profinet slots each having 8 digital inputs and 8 digital outputs (one bit each). The values are sent and received each millisecond (PLC watchdog setting 3 ms).

Contributions

Contributions are welcome. If you want to contribute you will need to sign a Contributor License Agreement and send it to us either by e-mail or by physical mail. More information is available on https://rt-labs.com/contribution.

p-net's People

Contributors

hefloryd avatar olbjo avatar pyhys avatar tjohej avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.