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://travis-ci.com/rtlabs-com/p-net](https://travis-ci.com/rtlabs-com/p-net)
* RT-Labs: [https://rt-labs.com](https://rt-labs.com)
[![Build Status](https://api.travis-ci.com/rtlabs-com/p-net.svg?branch=master)](https://travis-ci.com/rtlabs-com/p-net)
p-net
-----
Profinet device stack implementation. Key features:
* Profinet v2.4
* Conformance Class A and B
* Real Time Class 1
* 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:
* 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. The I&M data is supported for the device, but not for individual modules.
Limitations or not yet implemented:
* Only a single Ethernet port (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
* No UDP frames at alarm (just the default alarm mechanism is implemented)
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.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
------------
The p-net stack contains no third party components. Its external dependencies are:
* C-library
* An operating system (if used)
Tools used for building and documentation (not shipped in the resulting binaries):
* cmake (BSD 3-clause License)
* Sphinx (BSD license)
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 Debuger/Profinet调试工具软件 (198个子文件)
pf_cmrpc.c 145KB
pf_cmdev.c 144KB
pf_block_writer.c 125KB
pf_alarm.c 83KB
pf_dcp.c 58KB
sampleapp_common.c 55KB
pf_lldp.c 51KB
pf_cmina.c 51KB
pf_fspm.c 36KB
lldp-mib.c 32KB
pf_block_reader.c 31KB
pf_ppm.c 31KB
pf_diag.c 30KB
pf_pdport.c 30KB
pf_cpm.c 27KB
pf_cmrdr.c 26KB
dwmac1000.c 20KB
pf_scheduler.c 15KB
system_mib.c 15KB
lldp-ext-pno-mib.c 15KB
lldp-ext-dot3-mib.c 15KB
sampleapp_main.c 14KB
pf_snmp.c 13KB
pnet_api.c 13KB
pf_cmrpc_epm.c 11KB
pf_cmsm.c 9KB
pf_cmio.c 9KB
lldpRemTable.c 8KB
rowindex.c 8KB
lldpXdot3RemPortTable.c 8KB
lldpXPnoRemTable.c 8KB
pnal.c 8KB
sampleapp_main.c 8KB
pf_cmwrr.c 7KB
pf_file.c 7KB
pf_cmpbe.c 7KB
lldpRemManAddrTable.c 7KB
lldpXdot3LocPortTable.c 7KB
lldpXPnoLocTable.c 7KB
pf_cmsu.c 7KB
lldpLocPortTable.c 6KB
lldpLocManAddrTable.c 6KB
pnal.c 5KB
lldpConfigManAddrTable.c 5KB
pnal_filetools.c 5KB
pf_eth.c 5KB
pnal_eth.c 4KB
lldpLocalSystemData.c 4KB
pnal_snmp.c 3KB
pnal_eth.c 3KB
pnal_udp.c 2KB
pnal_udp.c 2KB
pf_port.c 2KB
pnal_snmp.c 2KB
pf_udp.c 2KB
pf_cmrpc_helpers.c 2KB
pf_cmdmc.c 815B
pf_ptcp.c 609B
pf_cmrs.c 609B
.clang-format 1KB
Linux.cmake 3KB
rt-kernel.cmake 1KB
FindNetSNMPAgent.cmake 1KB
FindNetSNMP.cmake 1KB
test_cmrpc.cpp 36KB
test_diag.cpp 31KB
test_lldp.cpp 27KB
test_cmrdr.cpp 18KB
utils_for_testing.cpp 18KB
test_pnetapi.cpp 17KB
test_dcp.cpp 13KB
test_cmdev.cpp 12KB
test_alarm.cpp 11KB
test_file.cpp 11KB
test_cmina.cpp 9KB
test_snmp.cpp 6KB
mocks.cpp 6KB
test_block_reader.cpp 6KB
test_cpm.cpp 5KB
test_scheduler.cpp 4KB
test_fspm.cpp 4KB
test_port.cpp 3KB
test_ppm.cpp 3KB
test_cmdmc.cpp 749B
test_cmpbe.cpp 749B
test_cmwdr.cpp 749B
test_cmsu.cpp 746B
test_cmio.cpp 746B
test_cmsm.cpp 746B
test_cmrs.cpp 746B
test_ptcp.cpp 746B
test_eth.cpp 743B
pf_test.cpp 718B
fix_table_width.css 443B
change_header_size.css 51B
AlarmStateMachines.drawio 3KB
TutorialOverview.drawio 2KB
pf_types.h 83KB
pnet_api.h 74KB
pf_block_writer.h 30KB
共 198 条
- 1
- 2
hlhyd
- 粉丝: 5
- 资源: 16
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页