Your CNC data —
Live. Straight from the controller.

Axis positions, R parameters, GUD variables, tool data — straight from your SINUMERIK 840D or SINUMERIK One into your .NET code. Without DDE, without an HMI dependency. From basic integration to Production Pro, across four tiers.

4.8/5 on Trustpilot · 224 reviews
Free evaluation
Royalty-free
.NET (C#, VB.NET, C++/CLI)
39,000+ NuGet downloads
840D PowerLine, SolutionLine & One
Four Expansion tiers available

NC data in your code.
Live from the controller.

From IP address to axis position — in just a few lines. Channels, axes, tools, R parameters and GUD variables.

Program.cs — read axis position
// Connect to the 840D SolutionLine
using var client = new SinumerikClient("s840d.sl://192.168.0.80");
client.Connect();

// Read the current position of the first axis
var position = client.ReadValue(
    "/Channel/MachineAxis/measPos1");

Console.WriteLine(
    $"Axis 1: {position} mm");

Axis positions, feed rates, tools — live from the NC.

IP address, Connect, ReadValue — done. Access NC variables with the same syntax as in HMI Operate. No DDE, no Sinumerik Operate .NET needed, no extra license.

Access to channels, axes, feed rates, tools and mode groups
Address NC variables in the familiar HMI Operate syntax
R parameters, GUD variables and NSK/DEF symbols
Program.cs — R parameters and GUD variables
// Read R parameters and GUD variables
using var client = new SinumerikClient("s840d.sl://192.168.0.80");
client.Connect();

// Read an R parameter
var r10 = client.ReadValue("/Channel/Parameter/R[10]");

// Read a GUD variable
var myVar = client.ReadValue(
    "/Channel/UserData/myGudVar");

Console.WriteLine($"R10={r10}, GUD={myVar}");

R parameters, GUDs and symbols — through one and the same call.

Standard variables, user-defined GUDs and symbols from NSK/DEF files — all through the same ReadValue call. Addressing follows the familiar NC syntax you know from HMI Operate.

Address standard variables via NC paths
Read and write user-defined GUD variables
Resolve NSK/DEF symbols automatically
Program.cs — alarms and messages
// Receive alarms and messages
using var client = new SinumerikClient("s840d.sl://192.168.0.80");
client.Connect();

// Optional: load translations for your own languages
client.LoadMessages("mbdde_de.com");

// Subscribe to event messages
client.SubscribeEvents((sender, e) =>
    Console.WriteLine(
        $"Alarm: {e.Event.Message}"));

Alarms and messages — five languages built in, more on demand.

Receive NCU alarms and messages, with German, English, French, Italian and Spanish built in — add your own languages via a CSV or MBDDE COM file. Included in the Monitoring+ and Production Pro packages.

Event-based alarm processing
DE, EN, FR, IT, ES built in, your own via CSV or MBDDE COM file
Available from the Monitoring+ tier upward

Six reasons that make the difference

Every one of these addresses a real problem that development teams hit when integrating CNC data.

Get started right away — no HMI, no DDE

Enter the IP address, open the connection, read data. No additional software on the controller, no DDE, no additional license required. The proof of concept is up in minutes.

No DDE · No HMI · No additional license

Royalty-free — one license, unlimited applications

Build as many applications as you like. No per-unit licenses, no runtime fees, no hidden costs per deployment.

∞ applications · 1 license

Industrial reliability — proven in three-shift operation

Stable in three-shift operation, automatic reconnect when the connection drops, PDU-optimized access for consistent data. In productive use at industrial customers.

.NET 6+ · Auto-reconnect

Four tiers — one SDK

From basic integration through file access and live streams all the way to full tool management. Start lean and expand as needed — without switching SDKs.

Basic · AM+ · MO+ · Production Pro

Support from the development team

Support requests for the LINK SDK are answered by the team that builds and maintains the SDK — short paths, technically sound answers, no ticket cascade through external call centers.

Support team · Developer contact

SINUMERIK PowerLine, SolutionLine and One

SolutionLine and One natively over TCP/IP, PowerLine via an MPI/PROFIBUS-to-Ethernet adapter (e.g. S7-LAN). Address NC variables in the familiar HMI Operate syntax — without DDE and without Sinumerik Operate .NET.

SL and One native · PL via Ethernet adapter

„We've had the SDK in use for a few years now. Everything has run smoothly so far and left nothing to be desired.
Best value for money!"

Bosch
Spinner Automation
LTW Intralogistics
Weckenmann Anlagentechnik
Kutzschbach Electronic
Adcotec
The X-Ray Solution
LemnaTec

The right package for your project

Every tier includes a free evaluation, royalty-free licensing and top-level support from our developers.

Base package

TNX-S LINK .NET SDK

Read, write and inspect NC data — axis positions, feed rates, channels, tools, R parameters and GUD variables. The foundation for every CNC data integration.

Enthalten: Read & write NC variables
Enthalten: R parameters, GUDs, NSK/DEF symbols
Enthalten: Channels, axes, feed rates, mode groups
Enthalten: PDU-optimized access & auto-reconnect
Enthalten: .NET Standard 2.0+ / .NET 6+ / Docker
Try for free

Every tier includes all features of the tier below it — start lean and expand as needed.

Automation+
Base + NC file access. Upload and download NC programs, plus general access to the controller's remote file system.
Base package plus:
Enthalten: NC program upload/download
Enthalten: Controller remote file system
Production Pro
MO+ with tool management. Full access to tool tables — read, write and remotely manage tool parameters.
Monitoring+ plus:
Enthalten: Remote tool management
Enthalten: Read & write tool tables
Enthalten: Manage tool parameters

S7+ — access to the integrated PLC

On top of NC data, read and write the data blocks, flags and inputs/outputs of the S7 controller integrated in your 840D. Combines with any tier — NC and PLC data through the same SDK.

Communicates over TCP/IP via Ethernet — SolutionLine and One natively, PowerLine via an MPI/PROFIBUS-to-Ethernet adapter (e.g. S7-LAN). Address NC variables in the familiar HMI Operate syntax. Without DDE and without Sinumerik Operate .NET.

840D SolutionLine840D PowerLine (via Ethernet adapter, e.g. S7-LAN)SINUMERIK One

What's inside the SDK

The SDK addresses NC data directly via path and token syntax — and, with the S7+ add-on, the data areas of the integrated PLC as well. Three controller families are supported, each with its
own connection string. Behind the name: TNX-S — Traeger Numeric Exchange, the S stands for Siemens.

NC data areas
Read / write
Axis positions, feed rates, channels, tools, mode groups
Variables
R parameters (zero-based from v1.1), GUDs, DPR values, NSK/DEF symbols
GUD modules
LUD, GUD, PUD, MGUD, SGUD
Addressing
Path /Channel/..., token 2 1 5 1 71,
alias from NSK
File system
NC programs & directories: list, create, delete, upload/download (from v1.3)
Events
Subscribe to alarms & messages — DE, EN, FR, IT, ES embedded, your own via CSV or MBDDE COM file
PLC data areas S7+ add-on
Operands
Inputs (E / I), outputs (A / Q), peripherals (PE/PA, PI/PQ), flags (M), data blocks (DB), timers (T), counters (Z / C)
Addressing
SIEMENS & IEC syntax — e. g. DB10.DBD20, M 10.1, EB 1
DB range
Data blocks 0–65535 · byte offset 0–65535 · bit offset 0–7
Device info
Location, module identifier, module series, DB sizes, system time
Structures (UDTs)
Structured PLC data types via your own .NET types, addressable statically & dynamically
Data types
Boolean & bits
1 to 8, 16, 32 and 64 bit
also as ARRAY OF
Integers
BYTE · WORD · DWORD · INT · DINT · LINT
also as ARRAY OF
Floating point
REAL · DOUBLE · LREAL
also as ARRAY OF
Date & time
TIME · S5-TIME · DATE · DATE_AND_TIME
also as ARRAY OF
Characters
CHAR through S7-STRING (max. 254 bytes) — also via BYTE with your own encoding
Performance
PDU-optimized multi-region access · KeepAlive · Watchdog · Auto-reconnect · connection pool
Controllers & connection strings
Each controller generation has its own connection string.
Connection is over TCP/IP; IPv6 is supported.
Eigenschaft 840D PowerLine S7-300/400 · MPI/PROFIBUS840D SolutionLine S7-300/400 · Ethernet/PROFINETSINUMERIK One S7-1500 · PROFINET
Connection string s840d.pl://<ip>?nck-mpi=<n>s840d.sl://<ip>one://<ip>
Connection Via MPI/PROFIBUS-to-Ethernet adapter
(e.g. S7-LAN) · X101
X127 (PLC), onboard
X130 (NCK) · PROFINET
X150 (PLC), onboard
X1500 (NCK)
PLC rack/slot Rack 0, slot 2 (default)Rack 0, slot 2 (default)Rack 0, slot 1 (default)
Notes MPI address required
(default MPI=3 / PROFIBUS=13)
Enable routing to the NCK
if needed (corporate network)
Enable PUT/GET
DBs non-optimized
Firewall Open TCP port 102 bidirectionally — applies to all controller families

License once. Deploy without limits.

License model

Perpetual license
One-time payment. Valid indefinitely. Royalty-free. Includes 12 months of Support and Update Service.
Subscription license
Annual payment. Lower entry cost. Support & updates always included.

License type

Single developer
For one developer at one workstation.
Site license
For all developers at one location.
Enterprise license

All licenses are royalty-free — unlimited applications, no per-unit cost per deployment.

License models in detail
Dominik Scharnagl

„CNC data doesn't belong locked away behind the HMI — it belongs wherever your application needs it. That's exactly what we built this SDK for."

Dominik Scharnagl CEO & CTO, Traeger GmbH — architect of the LINK SDK

Ready for direct access
to your NC data?

Install the SDK from NuGet, read your first axis position in under 5 minutes — or talk to our team directly.