跳到主要内容

快速开始

5 步跑通 Darra PnSlave(PROFINET IO Device):装驱动 → 启服务 → GUI 导出 GSDML → TIA 导入 → 写 I / 读 Q

实时主路径是 SDK Connect()(无参)→ Start() 映射过程映像。没有用户周期;周期帧由驱动按 RT Class 1 收发。

环境

要求
系统Windows 10/11 x64,管理员权限
运行时.NET 8
网卡标准以太网卡(不要用 VMnet / TAP 当从站口)
工程软件西门子 TIA Portal V15.1 及以上

第 1 步:安装

以管理员运行安装包:

安装包/安装包.exe

装完后目录默认是 C:\DARRA\Profinet_Slave(磁盘路径尚未改名,产品名是 Darra PnSlave)。

装了什么现网名字
NDIS 协议驱动DarraRT_Pnet.sys(绑卡协议名 DarraRT_Pnet
Windows 服务DarraPnetService
GUI / 6 语言 SDK / 文档安装目录

安装包会自己走 netcfg 绑协议。不要手拷 .sys,也不要反复开关网卡。

第 2 步:启动服务

sc.exe start DarraPnetService

服务管站名 / 网卡 / GSD 对应的运行配置。SDK 不下发配置

备用控制面(GUI / 诊断,不是实时 IO):

Invoke-RestMethod http://127.0.0.1:18840/api/status

端口 18840 固定。主站已在连时 不要 POST /api/stop,会拆数据面。

第 3 步:GUI 导出 GSDML

打开 GUI,配完设备 / 槽位 / 过程数据 / 报警后点「导出」:

文件给谁
device.gsdmlTIA Portal 导入
device.xml服务加载

站名必须和后面 TIA 里分配的设备名一致(规则见 TIA 导入)。

第 4 步:TIA 导入

  1. TIA →「选项」→「管理 GSD 文件」→ 添加 device.gsdml
  2. 硬件目录找到 Darra PnSlave,拖进网络
  3. 分配设备名、IP、IO 控制器
  4. 编译并下载到 PLC

细节见 TIA 导入指南

第 5 步:写 I / 读 Q

主路径:Connect() 无参 → Start() 映射 GlobalIO → 写 I / 读 Q → Stop() 只卸映射。不传 host,不走 HTTP。

using DarraPnet.Pnet;

var pnet = DarraPnet.Connect(); // 实时实例,无参
pnet.Start(); // 映射过程映像,不 POST /api/start

// I 只写:从站输出,设备 → 控制器
pnet.Write(new byte[] { 0x11, 0x22, 0x33, 0x44 });
pnet.WriteBool("I0.0", true);
pnet.WriteInt16("IW2", 0x3344);

// Q 只读:从站输入,控制器 → 设备
pnet.Read(out byte[] q);
pnet.ReadInt16("QW0", out short cmd);
pnet.ReadBool("Q0.0", out bool bit0);

pnet.Stop(); // 只卸映射;在连不 POST /api/stop

测通:改从站输出 I,在控制器(或只读 Q)上看是否跟上。循环 IO 前 4 字节由主站同步,不要把 Q 抄回 I,也不要自己开用户周期线程。

方向用法
II0.0 / IB0 / IW2 / ID4设备 → 控制器只写
QQ0.0 / QB0 / QW2 / QD4控制器 → 设备只读;写返回 NotSupported

其他语言同一条路径:C PnetServiceConnectRealtime、C++ PnetService::Connect()、Java / Python PnetService.connect()、Rust PnetService::connect()。入口见各语言 API 页。

WebAPI 备用:DarraPnet.Connect("127.0.0.1"),端口 18840,给 GUI / 报警 / I&M。实时 IO 不要走这条。

验证

判据
驱动netcfg -q DarraRT_Pnet 有输出
服务sc.exe query DarraPnetService 为 RUNNING
TIA硬件目录出现 Darra PnSlave,能分配站名 / IP
IO写 I → 主站过程映像变化;读 Q 能看到主站下发(前 4 字节为主站同步)

常见问题

现象处理
服务起不来用 GUI 重导出 device.xml,确认服务加载的是这份
TIA 找不到设备TIA 导入
已组态但 Q 不变站名 / IP 是否与 TIA 一致;写的是 I 而不是 Q
写了 I,前 4 字节被改回去正常:前 4 字节是主站同步,不要抄 Q 回 I
周期抖RT Class 1 软实时,无 IRT

相关