2 Star 11 Fork 16

Bili_Delta/p-net

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0
# P-net Profinet device stack for embedded systems ## Web resources - Source repository: [https://github.com/rtlabs-com/p-net](https://github.com/rtlabs-com/p-net) - Documentation: [https://rt-labs.com/docs/p-net](https://rt-labs.com/docs/p-net) - Continuous integration: [https://github.com/rtlabs-com/p-net/actions](https://github.com/rtlabs-com/p-net/actions) - RT-Labs (stack integration, certification services and training): [https://rt-labs.com](https://rt-labs.com) [![Build Status](https://github.com/rtlabs-com/p-net/workflows/Build/badge.svg?branch=master)](https://github.com/rtlabs-com/p-net/actions?workflow=Build) [![CodeQL](https://github.com/rtlabs-com/p-net/workflows/CodeQL/badge.svg?branch=master)](https://github.com/rtlabs-com/p-net/actions?workflow=CodeQL) ## Key features - Profinet v2.43 - Conformance Class A and B - Real Time Class 1 - Multiple Ethernet ports - Easy to use - Extensive documentation and instructions on how to get started. - Build and run sample application on Raspberry Pi in 30 minutes. - Portable - Written in C. - Linux, RTOS or bare metal. - Sources for supported port layers provided. 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. The stack is supplied with full sources including porting layers and a sample application. Also C++ (any version) is supported for application development. The main requirement on the platform is that it can send and receive raw Ethernet Layer 2 frames. This software is dual-licensed, with GPL version 3 and a commercial license. If you intend to use this stack in a commercial product, you likely need to buy a license. See LICENSE.md for more details. ## Getting started See the tutorial in the documentation: [https://rt-labs.com/docs/p-net/tutorial.html](https://rt-labs.com/docs/p-net/tutorial.html) Note that you need to include submodules when cloning: ``` git clone --recurse-submodules https://github.com/rtlabs-com/p-net.git ``` ## Features - Multiple Ethernet ports (for Linux only, so far) - TCP/IP - LLDP - SNMP - 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. The I&M data is supported for the device, but not for individual modules. - Shared device (connection to multiple controllers) ## Limitations - This is a device stack, which means that the IO-controller/master/PLC side is not supported. - No media redundancy (No MRP support) - Legacy startup mode is not fully implemented - No support for RT_CLASS_UDP - No support for DHCP - No fast start-up - No MC multicast device-to-device - No support for shared inputs - Supports only full connections, not the limited "DeviceAccess" connection type. - No iPar (parameter server) support - No support for time synchronization - No UDP frames at alarm (just the default alarm mechanism is implemented) - No ProfiDrive or ProfiSafe profiles. ## 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.14 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 2020.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). ## Dependencies Some of the platform-dependent parts are located in the OSAL repository and the cmake-tools repository. - [https://github.com/rtlabs-com/osal](https://github.com/rtlabs-com/osal) - [https://github.com/rtlabs-com/cmake-tools](https://github.com/rtlabs-com/cmake-tools) Those are downloaded automatically during install. The p-net stack contains no third party components. Its external dependencies are: - C-library - An operating system (if used) - For conformance class B you need an SNMP implementation. On Linux is net-snmp (BSD License) used [http://www.net-snmp.org](http://www.net-snmp.org) Tools used for building, testing and documentation (not shipped in the resulting binaries): - cmake (BSD 3-clause License) [https://cmake.org](https://cmake.org) - gtest (BSD-3-Clause License) [https://github.com/google/googletest](https://github.com/google/googletest) - Sphinx (BSD license) [https://www.sphinx-doc.org](https://www.sphinx-doc.org) - Doxygen (GPL v2) [https://www.doxygen.nl](https://www.doxygen.nl/index.html) - clang-format (Apache License 2.0) [https://clang.llvm.org](https://clang.llvm.org/docs/ClangFormat.html) ## 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](https://rt-labs.com/contribution).

简介

profinet 开源资料 展开 收起
C 等 4 种语言
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/bili_delta/p-net.git
git@gitee.com:bili_delta/p-net.git
bili_delta
p-net
p-net
master

搜索帮助