Your PLC data —
Direct. No detours.

Read and write the data blocks, flags and inputs/outputs of your SIMATIC S7 controllers — over TCP/IP, with no additional software on the controller and no additional license. Available for .NET, COM/VBA and MATLAB.

4.8/5 on Trustpilot · 224 reviews
Free evaluation
Royalty-free
.NET · COM/VBA · MATLAB
56,000+ NuGet downloads
10+ Years in use
All S7 controllers compatible
Partner in the MathWorks Connections Program

PLC data in your code.
Direct, with no detours.

From IP address to data block — in just a few lines. Whether .NET, VBA in Excel or MATLAB.

Program.cs — S7 Client (.NET)
// Connect to the S7-1500
var device = new SimaticDevice(
    addressOrHostName: "192.168.0.80",
    type: SimaticDeviceType.S71500);

using (var connection = device.CreateConnection()) {
    connection.Open();

    var count = connection.ReadInt32("DB10.DBD 20");
    Console.WriteLine($"Part count: {count}");
}

Read and write data — in SIEMENS and IEC syntax.

IP address, controller type, open the connection, read the value. No additional software on the controller, no additional PLC program, no additional license — the SDK talks directly to SIMATIC S7 controllers over TCP/IP.

Access to data blocks, flags, inputs/outputs, timers, counters
PDU-optimized for high-performance reads and writes
After a connection drop, reconnects automatically on the next access
Program.bas — S7 Client (VBA/Excel)
' Read PLC data directly in Excel
Dim device As SimaticDevice
Set device = New_SimaticDevice( _
    New_IPDeviceEndPoint("192.168.0.80"))

Dim connection As PlcDeviceConnection
Set connection = device.CreateConnection()

Call connection.Open()

Range("A1").Value = connection.ReadInt32("DB10.DBD 20")

Call connection.Close()

PLC data directly in Excel, Access, VB6 and any COM-capable application.

The COM variant brings SIMATIC S7 data into any application that supports Microsoft's COM technology — VBA macros in Excel, Access databases, VB6 applications and more. Added to Excel in three steps: run the MSI setup, open the VBA editor, add a reference to IPS7LnkNet.Advanced.Com.tlb.

A familiar pattern: open the connection, read and write values, close
Usable directly in VB6, Excel macros and Access forms
One connection per controller, reused when needed
Program.m — S7 Client (MATLAB)
% Process PLC data in MATLAB
>> device = SimaticDevice( ...
       IPDeviceEndPoint('192.168.0.80'));

>> connection = device.CreateConnection();
>> connection.Open();

>> count = connection.ReadInt32('DB10.DBD 20');
>> fprintf('Part count: %d', count);

>> connection.Close();

Live process data directly in MATLAB — as an official toolbox.

The MatLab Toolbox brings SIMATIC S7 data straight into your scripts and Simulink models. Listed in the MathWorks Connections Program — with native MATLAB syntax (M), no .NET wrapper.

Native MATLAB syntax — no foreign language in your workspace
Live data for analysis, simulation and visualization
MathWorks Connections Partner

Six reasons that make the difference

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

Get started right away — no extra software on the PLC

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

No PLC program · 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, reconnects on the next access after a connection drop, PDU-optimized access for consistent data. In productive use at industrial customers for over 10 years.

.NET Framework 4.7.2+ · .NET Standard 2.0 · .NET 10

Three worlds — one SDK concept

.NET for every platform (C#, VB.NET, C++/CLI), COM for VBA, Excel and VB6, MATLAB as a toolbox in the MathWorks Connections Program. Three variants, one consistent API philosophy.

.NET · COM/VBA · MATLAB

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

From LOGO! to S7-1500 — every S7 controller

S7-200, S7-300, S7-400, S7-1200, S7-1500, LOGO! and compatible PLCs such as VIPA S7. Communicates over TCP/IP even with legacy firmware versions.

S7-200 to S7-1500 · LOGO! · VIPA

„We've been using the IP-S7-Link for many years and are thoroughly satisfied with this interface. Every Windows upgrade in the past went off without a single problem."

Bosch
cts
Dr. Ecklebe
KBU-Logistik
Hartmann & Wernicke
IMACO
thinkworks
Lippert

The right SDK for your project

Every variant includes a free evaluation, royalty-free licensing and top-level support from our developers. The 30-minute trial license applies regardless of the variant.

TLX-S LINK COM SDK
PLC data directly in Excel, Access, VB6 and any COM-capable application. For every application built on Microsoft's COM technology: ideal for reporting in an Office environment.
Communication
Enthalten: S7 client development
Enthalten: Data blocks, flags, inputs/outputs, timers, counters
Enthalten: Connection drop detection & connection reuse per controller
Enthalten: SIEMENS & IEC addressing syntax
Development
Enthalten: PDU-optimized access
Nicht enthalten: User-Defined Types (UDTs)
Platform & connectivity
Enthalten: Windows
Nicht enthalten: Linux, macOS
Nicht enthalten: Docker & containers
Enthalten: TCP/IP via Ethernet — onboard or via adapter
Try for free
TLX-S LINK MatLab Toolbox
Live process data in MATLAB scripts and Simulink. Toolbox in the MathWorks Connections Program, with native M syntax. No automatic .NET wrapper generated by MATLAB.
Communication
Enthalten: S7 client development
Enthalten: Data blocks, flags, inputs/outputs, timers, counters
Enthalten: Reconnect on next access & connection pool
Enthalten: SIEMENS & IEC addressing syntax
Development
Enthalten: PDU-optimized access
Nicht enthalten: User-Defined Types (UDTs)
Enthalten: Native M syntax & Simulink-compatible
Platform & connectivity
Enthalten: Windows
Enthalten: Linux, macOS
Nicht enthalten: Docker & containers
Enthalten: TCP/IP via Ethernet — onboard or via adapter
Try for free

Communicates with SIMATIC S7 controllers over TCP/IP via Ethernet — onboard or via an MPI/PROFIBUS-to-Ethernet adapter (e.g. S7-LAN). Supports SIEMENS and IEC addressing syntax across all data areas.

S7-1500S7-1200S7-400S7-300S7-200LOGO!VIPA S7WIN AC RTX

What's inside the SDK

The data foundations are identical across all three variants — the differences lie in language binding, frameworks and platform reach. Behind the name: TLX-S — Traeger Logic Exchange, the S stands for Siemens.

Data areas
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
Performance
PDU-optimized multi-region access · KeepAlive · Watchdog · reconnect on next access · connection pool
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
Structures (UDTs)
Structured PLC data types via your own .NET types, addressable statically & dynamically — .NET only
Controllers & Ethernet
SIMATIC
SIMATIC LOGO! · S7-200 · S7-300 · S7-400 · S7-1200 · S7-1500
Compatible
VIPA S7 · WIN AC RTX · other PLCs
speaking the S7 protocol
Ethernet connection
Onboard ports, PROFINET, MPI/PROFIBUS-to-Ethernet adapter (e.g. S7-LAN), S5-LAN (address S5 controllers like an S7-300), CP-343-1, CP-343-1 IT, CP-343 LEAN, CP-443-1, CP-443-1 IT
Connection channel
OP, PG and others — selectable
Connection
TCP/IP via IP or hostname · slot/rack configurable · TSAPs
Firmware
Older firmware levels too — no
PLC-side adjustments required
Variant-specific specs
What differs between .NET, COM and MATLAB — language binding,
frameworks, runtime and reach.
Eigenschaft .NET SDK IPS7LnkNet.AdvancedCOM SDK IPS7LnkNet.Advanced.ComMatLab Toolbox IPS7LnkNet.Advanced.Matlab
Languages C#, VB.NET, C++/CLIVB6, VBA (Excel, Access, …), any language with COM supportMATLAB (M)
Frameworks .NET Framework 4.7.2+, .NET Standard 2.0 (so also .NET Core 2.0+ and .NET 5 to 9), .NET 10+.NET Framework 4.7.2+.NET Framework 4.7.2+
Runtime environments Microsoft CLR, Mono,
Unity via .NET Standard 2.0
Microsoft CLRMicrosoft CLR, Mono
Platforms Windows, Linux, macOS, DockerWindowsWindows, Linux, macOS
Distribution NuGet · ZIP archiveMSI (x64) · MSI (x86) · ZIP archiveZIP archive
Structured UDTs Yes — your own .NET types,
static & dynamic
— not available— not available
S7-1200 / S7-1500 Enable PUT/GET and create data blocks as 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

„The LINK SDK gives developers direct access to SIMATIC S7 controllers — without the complexity that proprietary protocols usually bring."

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

Ready for direct access
to your controller data?

Download the SDK, read the first data block from your SIMATIC S7 — or talk to our team directly.