Darra PROFINET Slave
西门子 PROFINET IO Device(从站) 产品 — 基于 P-Net (rt-labs) 开源协议栈。
简化级(用户 2026-08-07 裁定):常规 RT Class 1 周期报文(周期下限 1ms 起以实测为准),不做顶级硬实时循环(无核隔离 / TSC 校准 / 24h soak 承诺)。测试走基础模块。
交付物
| # | 交付物 | 位置 | 说明 |
|---|---|---|---|
| ① | 驱动 | Darra_Pnet_Kernel/ | NDIS 协议驱动 DarraRT_Pnet.sys,数据面(周期 PPM/CPM 帧 + 过程映像 + 看门狗 + 0x8892/0x88CC 帧环) |
| ② | 服务 | Darra_Pnet_Service/ | Windows Service,控制面(PNIO-CM / DCP / LLDP / Alarm / P-Net 状态机),把 Windows 作为 PROFINET IO 设备运行;Web API (18840) 由服务运行 |
| ③ | GUI | Darra_Pnet_GUI/ | 配置工具,输出 GSDML XML(TIA 导入)+ 运行配置 XML(Service 加载) |
| ④ | SDK | Darra_Pnet_SDK/ | 6 语言:C# / C / C++ / Java / Python / Rust。ETH 式单一入口 DarraPnet:启停 + 地址化 IO 读写(I0.0/IB0/IW2/QW0/DB1.DBX0.0)+ PDO 结构体映射 + 变量联想;可 native 直连(加载 DarraPnet.dll)或 经服务 HTTP 18840 连接服务(服务模式,与 Web API 同层,由服务承载从站运行) |
| ⑤ | 测试 | 测试项目/ | 基础测试模块(驱动 / SDK 6 语言 / 配置 / GUI / 模拟器对测) |
| ⑥ | 安装包 | 安装包/ | WinForms 向导 + 嵌入式 Payload.zip,装到 C:\DARRA\Profinet_Slave |
| ⑦ | 官网 | docs/ | Docusaurus API 文档官网 |
架构分工
- 驱动(数据面):已建立 IOCR 的周期帧收发、过程映像读写、看门狗——SDK 地址化 IO(I/Q/M/DB 区)最终映射到驱动过程映像(共享内存 GlobalIO 风格),数据面驱动化。
- 服务(控制面):PNIO-CM、DCP、LLDP、Alarm、SNMP、P-Net 状态机。
- 核心:vendored 上游 p-net(
Darra_Pnet_Core/ThirdParty/p-net/,88 文件,Profinet v2.43,Conformance Class A/B,RT Class 1,GPLv3/商业双许可,只读)+pnal_port.cwin32 移植 + 序数导出DarraPnet.dll。 - SDK 双形态:可 native 直连(加载
DarraPnet.dll,应用内初始化栈 + 1ms 周期驱动),或经服务 HTTP 18840 连接服务(服务模式,与 Web API 同层,由服务承载从站运行)——两种模式地址化 IO 语义一致。
快速开始
- 装驱动(测试机):
Darra_Pnet_Kernel/Windows/scripts/install-pnet.ps1 - 启服务:安装包或
sc create(见Darra_Pnet_Service/README) - 配置:GUI 生成 GSDML → 西门子 TIA 导入 → 生成运行配置 XML → Service 加载
- 开发:6 语言 SDK(见
Darra_Pnet_SDK/README)
约束
- 全部注释中文,UTF-8;源码英文 PascalCase;C snake_case。
- Web API (HTTP 18840, 固定) 由服务运行, 与 SDK 同层; SDK 可 native 直连(经 native 核心)或经服务 HTTP 18840(服务模式)使用。
- 简化级:RT Class 1,常规周期;支持 IRT 之外的能力边界 = Conformance Class A/B。
- 版本:1.0.0(单源
version/)。