1 Star 3 Fork 2

如果能重来/p-net

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0
p-net Profinet device stack =========================== 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) p-net ----- Profinet device stack implementation. Key features: * Profinet v2.4 * 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. 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. Limitations or not yet implemented: * 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 of shared device (connection to multiple controllers) * 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. 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. 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). 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 ``` 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 device stack for embedded devices 展开 收起
C 等 4 种语言
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

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

搜索帮助