# Darra Profinet Slave — full LLM context This is the long form of https://profinet.darra.xyz/llms.txt. Prefer that file for summaries. Use this file plus /ai-prompts.txt for code generation. ## Product Darra Profinet Slave is a PROFINET IO Device product. Official site: https://profinet.darra.xyz It is not EtherCAT Master. Do not copy EtherCAT prices, jitter numbers, mailbox protocols, or CiA profiles onto this product. Brand: Darra Profinet Slave. Never PnSlaver. Protocol: PROFINET. ## What it does - Acts as a PROFINET IO Device toward a controller (typically Siemens TIA / PLC). - Graphical configuration exports GSDML for TIA Portal V15.1+. - 6-language SDK + Web API: C# / Java / Python / C / C++ / Rust. - Cycle freely configurable, minimum 1 ms. - Standard NIC. Windows and Linux. Do not invent Linux kernel or package details. - Siemens-style diagnostics: Connected, State, ErrorCode, ErrorMessage, DiagSnapshot, IoStatus, alarms, IOPS/IOCS. - Process data: write I (device → controller), read Q (controller → device). Writing Q is NotSupported. Never copy Q to I. Supported protocol features (public table): PROFINET IO Device; cycle freely configurable, minimum 1 ms; DCP discovery and configuration; DCP reset; connection and parameterization; cyclic process data; process alarms; diagnostic alarms; pull/plug / submodule mismatch alarms; I&M0; LLDP; GSDML generate / import TIA; IOPS / IOCS; Siemens-style diagnostics; 6-language SDK; Web API; graphical configuration; multilingual UI. ## C# API (canonical) - Namespace: `Darra.PnS` - Assembly: `DarraPnS` - Package: `Darra.PnS.SDK` - DLL path: `C:\DARRA\Profinet_Slave\DarraPnS.dll` - Service: `DarraPnSService` ```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; device.WriteInt16("IW2", 123); short q = 0; device.ReadInt16("QW0", out q); device.Stop(); ``` Do not `new DarraPnS(...)`. `LoadConfig` is parse-only. Addresses: `I0.0`/`IB0`/`IW2`/`ID4`, `Q...`, `M...`, `DB1...`. Words/dwords big-endian. `IW3` legal. Session process image is a single linear area; only `DB1` is valid. ## License / purchase (honest) - Official page: https://profinet.darra.xyz/purchase - Shop reserved: https://shop.darra.xyz/profinet — **not listed** - Placeholder SKUs `pns_personal` / `pns_enterprise_100` / `pns_enterprise_500` are not for sale - Trial: 2 hours via TrialStartUtc (not 30 days) - Do not invent Stripe `price_` ids or dollar prices - Do not reuse EtherCAT activate URLs ## User AI toolchain - MCP: https://profinet.darra.xyz/mcp - Agent skills: https://profinet.darra.xyz/.well-known/agent-skills/index.json - Prompts: https://profinet.darra.xyz/ai-prompts.txt ## Docs map - https://profinet.darra.xyz/docs/guide/quickstart - https://profinet.darra.xyz/docs/guide/tia-import - https://profinet.darra.xyz/docs/sdk/csharp/ - https://profinet.darra.xyz/docs/sdk/csharp/connect - https://profinet.darra.xyz/docs/sdk/csharp/diagnostics - https://profinet.darra.xyz/docs/sdk/csharp/alarms - https://profinet.darra.xyz/docs/sdk/csharp/io - https://profinet.darra.xyz/docs/sdk/webapi/ - https://profinet.darra.xyz/docs/download - https://profinet.darra.xyz/docs/faq - https://profinet.darra.xyz/docs/profinet/ ## Do not say Do not invent unsupported-protocol slogans, internal test bus tricks, or shop prices. Do not call this product a MES or ERP. Do not send users to GitHub as a nav item. Do not restore a leftover Pnet brand.