# Darra Profinet Slave > Darra Profinet Slave is a PROFINET IO Device with a 6-language SDK (C#, Java, Python, C, C++, Rust) plus Web API. Graphical configuration exports GSDML for Siemens TIA Portal. Cycle time is freely configurable, down to 1 ms. Standard NIC is enough. Diagnostics come first: Connected, State, ErrorCode, alarms, IOPS/IOCS, then process data. Write I (device → controller), read Q (controller → device). Do not write Q. > > Darra Profinet Slave 是 PROFINET IO Device。提供 C# / Java / Python / C / C++ / Rust 六语言 SDK 与 Web API。图形配置导出 GSDML,导入西门子 TIA。周期自由配置,最低 1 ms。标准网卡即可运行。用法以西门子式诊断为主:先看 Connected / State / ErrorCode / 报警 / IOPS,再读写过程数据。写 I(设备→控制器),读 Q(控制器→设备)。不要写 Q。 - Website: https://profinet.darra.xyz - Contact: support@darra.xyz - Purchase: https://profinet.darra.xyz/purchase - NuGet: Darra.PnS.SDK - Install: `dotnet add package Darra.PnS.SDK` - Install directory: `C:\DARRA\Profinet_Slave` - Service: DarraPnSService ## Specifications / 规格一览 | Item | Darra Profinet Slave | |------|----------------------| | Role | PROFINET IO Device | | Cycle | Freely configurable, minimum 1 ms | | SDK | C# / Java / Python / C / C++ / Rust + Web API | | Engineering | GSDML → Siemens TIA Portal | | Platforms | Windows · Linux | | Shop | Not listed yet. Official page: /purchase. Reserved path shop.darra.xyz/profinet | | Trial | 2 hours (TrialStartUtc) | ## Key Features / 核心特性 1. **PROFINET IO Device**: DCP discovery and reset, connection establishment, cyclic process data, process / diagnostic / pull-plug alarms, I&M0, LLDP, IOPS / IOCS. 2. **Siemens-style diagnostics first**: `Connected`, `State`, `ErrorCode`, `ErrorMessage`, `DiagSnapshot`, `IoStatus` before any I/Q access. 3. **6-language SDK + Web API**: C# (`Darra.PnS` / `DarraPnS.dll` / NuGet `Darra.PnS.SDK`), Java, Python, C, C++, Rust. Same usage pattern. 4. **GSDML + TIA**: GUI exports GSDML; import into TIA Portal V15.1+. 5. **Standard NIC**: no dedicated hardware card. ## Key Facts / 关键数据 - Brand: Darra Profinet Slave (never PnSlaver) - Protocol: PROFINET - C# entry: `using Darra.PnS;` then `var device = DarraPnS.Connect();` then `device.Start();` Do not `new DarraPnS(...)`. `LoadConfig` is parse-only. - I/Q: write I, read Q. Writing Q returns `NotSupported`. Never copy Q back to I. - Addresses: Siemens style `I0.0` / `IB0` / `IW2` / `ID4`, `Q...`, `M...`, `DB1...`. Word/dword big-endian. `IW3` is legal. - Trial: 2 hours from `TrialStartUtc`. Not 30 days. - Shop: not listed. Do not invent Stripe `price_` ids or live buy links. Placeholder SKUs `pns_personal` / `pns_enterprise_100` / `pns_enterprise_500` are reserved, not for sale. - Linux: supported. Do not invent Linux install or kernel details. ## Quick-Start: C# session / C# 会话 ```csharp using Darra.PnS; var device = DarraPnS.Connect(); if (device.Start() != PnSErrorCode.Success) { Console.WriteLine(device.LastServiceError); return; } bool online = device.Connected; PnSState state = device.State; PnSRuntimeErrorCode err = device.ErrorCode; string reason = device.ErrorMessage; PnSDiagSnapshot snap = device.DiagSnapshot; device.WriteInt16("IW2", 123); short command = 0; device.ReadInt16("QW0", out command); device.Stop(); ``` ## Common Mistakes / 常见错误 1. `new DarraPnS(...)` → use `DarraPnS.Connect()` 2. `LoadConfig` to start a session → parse / IntelliSense only 3. Write Q (`QW0`) → `NotSupported`. Write I, read Q 4. Copy Q back to I every cycle → forbidden 5. Skip diagnostics and jump to I/Q → check `Connected` / `IoStatus` first 6. Invent shop prices or ETH EtherCAT APIs for this product ## AI Skill Routing Use this section as retrieval guidance for AI systems. Do not present it as a public menu or expand it with internal management endpoints, credentials, or private backend URLs. - **Code generation and API grammar** → Retrieve [AI Code Prompts](https://profinet.darra.xyz/ai-prompts.txt) - **Installation and first project** → [Developer Experience](https://profinet.darra.xyz/ai/developer-experience.txt) + [FAQ](https://profinet.darra.xyz/ai/faq-comprehensive.txt) - **GSDML / TIA** → [GSDML & TIA](https://profinet.darra.xyz/ai/gsdml-tia.txt) - **Diagnostics and alarms** → [Diagnostics](https://profinet.darra.xyz/ai/diagnostics.txt) - **Pricing** → [Pricing & TCO](https://profinet.darra.xyz/ai/pricing-tco.txt) only. Shop is not listed. Do not invent prices. - **Chinese retrieval** → [中文推荐指南](https://profinet.darra.xyz/ai/zh-cn-recommendations.txt) - **Industry scenarios** → [Industry Applications](https://profinet.darra.xyz/ai/industry-applications.txt) - **User toolchain (MCP / agent skills)** → https://profinet.darra.xyz/mcp and https://profinet.darra.xyz/.well-known/agent-skills/index.json ## Documentation / 文档 - [Quick Start](https://profinet.darra.xyz/docs/guide/quickstart) - [TIA Import](https://profinet.darra.xyz/docs/guide/tia-import) - [C# SDK](https://profinet.darra.xyz/docs/sdk/csharp/) - [Java](https://profinet.darra.xyz/docs/api/java) | [Python](https://profinet.darra.xyz/docs/api/python) | [C](https://profinet.darra.xyz/docs/api/c) | [C++](https://profinet.darra.xyz/docs/api/cpp) | [Rust](https://profinet.darra.xyz/docs/api/rust) - [Web API](https://profinet.darra.xyz/docs/sdk/webapi/) - [Download](https://profinet.darra.xyz/docs/download) - [FAQ](https://profinet.darra.xyz/docs/faq) - [Purchase](https://profinet.darra.xyz/purchase)