跳到主要内容

快速开始

5 步跑通 Darra Profinet Slave(PROFINET IO Device):安装 → 启服务 → GUI 导出 GSDML → TIA 导入 → 启动会话并查看诊断

周期在 GUI / 控制器侧自由配置,最低 1 ms。

环境

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

第 1 步:安装

以管理员运行安装包:

安装包/安装包.exe

装完后目录默认是 C:\DARRA\Profinet_Slave

装了什么名字
Windows 服务DarraPnSService
GUI / 6 语言 SDK / 文档安装目录

按安装向导完成即可。

第 2 步:启动服务

sc.exe start DarraPnSService

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

主站已在连时 不要停止从站。

第 3 步:GUI 导出 GSDML

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

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

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

周期在 GUI / TIA 中配置,最低 1 ms。

第 4 步:TIA 导入

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

细节见 TIA 导入指南

第 5 步:启动会话并查看诊断

真正用法是西门子式诊断:先看运行态,再按需读写过程数据。结构体映射只是可选写法,不是主路径。

using DarraPnS.PnSlave;

var device = DarraPnS.Connect();
if (device.Start() != PnSErrorCode.Success)
{
Console.WriteLine(device.LastServiceError);
return;
}

// 运行态:是否已与 IO 控制器建立周期交换
bool online = device.Connected;
PnSState state = device.State;
var err = device.ErrorCode;
string msg = device.ErrorMessage;

// 过程数据(西门子 I / Q 地址)
device.WriteInt16("IW2", 123);
device.ReadInt16("QW0", out short cmd);

device.Stop();

Connected == true 才表示周期数据在换。Start 成功只说明本会话已启动,不等于控制器已连。

属性含义
Connected是否已与 IO 控制器建立周期数据交换
State运行态枚举
ErrorCode / ErrorMessage最近一次运行错误

过程数据按控制器视角:I 是设备发给控制器的输入,Q 是控制器发给设备的输出。各语言 API 见 C# API,本机观测见 Web API

验证

判据
服务DarraPnSService 正在运行
TIA硬件目录出现 Darra Profinet Slave,能分配站名 / IP
诊断Connected 为 true,State 正常,ErrorCode 无错误
过程数据控制器侧能看到设备输入;设备侧能读到控制器输出

常见问题

现象处理
服务起不来用 GUI 重导出 device.xml,确认服务加载的是这份
TIA 找不到设备TIA 导入
已组态但未进入数据交换站名 / IP 是否与 TIA 一致;看 State / ErrorMessage
周期不稳周期最低 1 ms

相关