Prof. Net
PROFINET IO Device(从站)· RT Class 1 常规周期 · 基于 P-Net 协议栈
Prof. Net 是 Darra 工业自动化产品线的 PROFINET 从站产品。设备侧接入西门子等 PROFINET IO 控制器(PLC),通过 6 语言 SDK 提供从站配置、过程数据读写、报警与诊断能力,供工程师在自己的应用/上位机中集成。
产品定位(真实规格,不自吹)
| 项 | 规格 |
|---|---|
| 角色 | PROFINET IO Device(从站) |
| 实时等级 | RT Class 1(常规周期报文),周期 1 ms 起(可配),软实时,不支持 IRT / RTC3 |
| 协议栈 | P-Net(rt-labs 开源栈,vendored,Conformance Class A/B) |
| 周期保障 | 普通线程 + 常规 DPC 定时器;无核隔离 / 无 TSC 校准 / 无 24h-72h soak 承诺(区别于 DarraRT 硬实时线) |
| 支持控制器 | 支持标准 PROFINET IO 控制器的西门子 TIA Portal 等工程组态 |
| 配置交付 | GSDML 文件(TIA 导入)+ 运行配置 XML(Service 加载) |
| 平台 | Windows(NDIS 协议驱动 + 服务 Darra.Pnet.Service + GUI) |
六大交付物
| # | 交付物 | 说明 | 文档入口 |
|---|---|---|---|
| ① | 驱动 | NDIS 协议驱动(0x8892 周期帧编解码、IOCR 管理、过程映像共享内存) | 快速开始 |
| ② | 服务 | Windows Service 控制面:PNIO-CM / DCP / LLDP / Alarm / SNMP / P-Net 状态机,HTTP API(端口 18840) | 快速开始 |
| ③ | GUI | 设备/槽位/过程数据/报警配置,输出 GSDML + 运行配置 XML | 快速开始 |
| ④ | SDK | 6 语言(C# / C / C++ / Java / Python / Rust),ETH 式单一入口 DarraPnet:启停 + 地址化 IO 读写 + PDO 结构体映射 + 变量联想;可 native 直连或经服务 HTTP 18840(与 Web API 同层) | API 参考 |
| ⑤ | 测试 | 驱动冒烟、6 语言 SDK 冒烟、配置生成回读、GUI 冒烟、西门子 PLC 模拟器对测(基础) | 概念说明 |
| ⑥ | 安装包 | WinForms 安装向导,Payload 解压 + netcfg 装驱动 + 服务安装 | 快速开始 |
统一 API 面(6 语言一致)
SDK 属性表遵循 Darra ETH SDK 规范:类别(设备/从站/IO/报警/配置/诊断)+ 读写 列。SDK 不做配置(配置由 GUI 导出运行配置 XML → Service 加载),只负责【使用】——启停 + IO 读写。
| 入口 / 类 | 职责 | 语言页 |
|---|---|---|
DarraPnet(单一入口) | 构造(native 直连)/ LoadConfig / Connect(服务模式 18840)+ Start / Stop + 地址化 IO 读写 | C#(基准) |
Pdo / Variables | PDO 结构体映射 / 变量联想(层级联想,SlotLayout 自动建表) | 同上 |
Slave / Io / Alarm / Config / Diag | 从站控制 / 槽位过程数据 / 报警 / 运行配置只读 / 诊断(仅 native 直连;服务模式经 HTTP API 查询) | 同上 |
两种运行模式:
| 模式 | 创建方式 | 说明 |
|---|---|---|
| 连接服务模式(推荐) | DarraPnet.Connect(host, 18840) | SDK 与 Web API 同层,由服务运行——经服务 HTTP API(端口 18840 固定)转发启停 / IO,由服务承载从站运行;host 可 127.0.0.1 本地或局域网 |
| native 直连 | new DarraPnet(ip) / DarraPnet.LoadConfig(xml) | 直接加载 DarraPnet.dll,应用内初始化 native 栈 + 1 ms 周期驱动线程;LoadConfig 从运行配置 XML 读站点名 / 网卡 / IP / 槽位布局 |
地址化读写(ETH 式地址):I0.0 / IB0 / IW2 / ID4(I 区输入面,设备→控制器)、Q0.0 / QB0 / QW2 / QD4(Q 区输出面,控制器→设备)、M0.0 / MB0 / MW0 / MD0(内部存储)、DB1.DBX0.0 / DBB2 / DBW0 / DBD4(DB 区槽位数据块)。字/双字大端序,偏移即字节偏移、不强制 2/4 对齐(HSL 习惯:IW3 / DB1.DBW3 合法,公共解析器 PnetAddress.Parse 单源)。
环境要求
- Windows 10/11 x64(服务端);驱动安装需管理员权限
- .NET 8(服务 / SDK C# 包 / GUI)
- 西门子 TIA Portal(V15 及以上,导入 GSDML)
- 目标机安装驱动:
netcfg -l <inf> -c p -i <协议名>(安装包自动执行;协议名见安装脚本,详见快速开始)
后续阅读
- 快速开始 — 5 步跑通:装驱动 → 启服务 → GUI 生成 GSDML → TIA 导入 → IO 读写
- PROFINET 从站概念 — 槽位/子模块/过程映像/IOPS/IOCS
- RT Class 1 周期帧说明 — 0x8892 帧格式(简化级)