import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';
AI 提示词
复制下面这段交给 AI(ChatGPT / Claude / Copilot / Codex)。把括号里的内容换成你自己的。
先读取 https://profinet.darra.xyz/ai-prompts.txt
用 C# SDK(可改 Java / Python / C / C++ / Rust)写 PROFINET IO Device 程序。
功能:(例如 Start 后看 Connected,写 QW2,读 IW0)
SDK 快速开始
Darra Profinet Slave SDK 六语言 API 一致:地址化读写 I / Q,先诊断再过程数据。详细参考见 SDK 文档。
快速开始
using Darra.PnS;
using (var device = new DarraPnS()) // 站名 / 网卡在配置工具里设好,构造不传
{
if (device.Start() != PnSErrorCode.Success) return;
if (!device.Connected) return; // 等 IO 控制器连上
device.WriteInt16("QW2", 123); // 写 Q:设备 → 控制器
short cmd = 0;
device.ReadInt16("IW0", out cmd); // 读 I:控制器 → 设备
device.Stop();
}
核心 API
| 类别 | 调用 | 说明 |
|---|---|---|
| 建会话 | new DarraPnS() | 无参构造,不传主机。DarraPnS.Connect() 是静态旧别名 |
| 启停 | Start() / Stop() | 连接门在 Start 时占;Stop 后要重新建会话 |
| 读 I | ReadInt16("IW0", out v) | 控制器 → 设备,只读 |
| 写 Q | WriteInt16("QW2", v) | 设备 → 控制器。写 I 返回 NotSupported |
| 状态 | Connected / State / ErrorCode / ErrorMessage | Start 成功 ≠ 主站已连,看 Connected |
| 过程数据质量 | IoStatus | IOPS/IOCS:0x80 = GOOD,0x00 = BAD |
地址:I0.0 / IB0 / IW2 / ID4,以及 Q0.0 / QB0 / QW2 / QD4。字 / 双字大端。无 M、无 DB。
六语言对照
| 操作 | C# | Java | Python | C++ | Rust | C |
|---|---|---|---|---|---|---|
| 建会话 | new DarraPnS() | new PnSService() | PnSService() | PnSService device; | PnSService::new() | PnSServiceConnectRealtime() |
| 启动 | Start() | start() | start() | Start() | start() | PnSServiceStart() |
| 读字 | ReadInt16("IW2", out v) | readInt16("IW2") | read_int16("IW2") | ReadInt16("IW2") | read_int16("IW2") | PnSServiceReadInt16() |
| 写字 | WriteInt16("QW2", v) | writeInt16("QW2", v) | write_int16("QW2", v) | WriteInt16("QW2", v) | write_int16("QW2", v) | PnSServiceWriteInt16() |
详见 SDK 各语言文档。