跳到主要内容

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) 由服务运行
GUIDarra_Pnet_GUI/配置工具,输出 GSDML XML(TIA 导入)+ 运行配置 XML(Service 加载)
SDKDarra_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.c win32 移植 + 序数导出 DarraPnet.dll
  • SDK 双形态:可 native 直连(加载 DarraPnet.dll,应用内初始化栈 + 1ms 周期驱动),或经服务 HTTP 18840 连接服务(服务模式,与 Web API 同层,由服务承载从站运行)——两种模式地址化 IO 语义一致。

快速开始

  1. 装驱动(测试机):Darra_Pnet_Kernel/Windows/scripts/install-pnet.ps1
  2. 启服务:安装包或 sc create(见 Darra_Pnet_Service/ README)
  3. 配置:GUI 生成 GSDML → 西门子 TIA 导入 → 生成运行配置 XML → Service 加载
  4. 开发: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/)。