• Traeger Industry Components GmbH - OPC UA .NET SDK for Client and Server
OPC UA .NET SDK for Client and Server

OPC UA .NET SDK for Client and Server


Client & Server
in C# / VB.NET
quick and easy.

Introduction: https://opcua.traeger.de/

Development: https://docs.traeger.de/en/software/sdk/opc-ua/net/

NuGet Package: https://www.nuget.org/packages/Opc.UaFx.Advanced/

Samples: https://github.com/Traeger-GmbH/opcuanet-samples/


The OPC UA .NET SDK allows rapid and easy development of Client and / or Server applications using .NET. With a few lines of code you can realize your application in minutes. The SDK is provided for .NET Standard 2.0+, .NET Core 3+ and .NET Framework 4.6+. Therefore the SDK supports Windows, Linux, macOS, Android, iOS and Unity. No installation required, just download the ZIP or NuGet package and get started.


  • OPC UA with DA, AE, HDA and more
  • OPC UA Companion Specifications
  • OPC Classic (with just a different URI)
  • Dynamic & Typed Data Access
  • Automatic Data Type En-/Decoding
  • Intelligent Scalable Browsing
  • Automatic Request Partitioning
  • Unified Node & Data Type System
  • NodeSet Import & Export
  • … 

​More details: https://opcua.traeger.de/

API-Design with Microsoft Standards

The API-Design of our SDK is guided by the Microsoft Framework Design Guidelines. The API of the SDK provides the familiarity of already known .NET APIs and therefore boosts your getting started experience and minimizes your overall developement effort.

Royalty Free License

Our licensing models allow you to develop and distribute as many applications (with our OPC UA SDK) as you want – without any additional license fee.

Code Examples

OPC UA Client – C# Code Example

using (var client = new OpcClient("opc.tcp://localhost:4840"))

    var temperature = client.ReadNode("ns=2;s=Temperature");
    Console.WriteLine("Current Temperature is {0} °C", temperature);

OPC UA Server – C# Code Example

var temperatureNode = new OpcDataVariableNode<double>("Temperature", 100.0);

using (var server = new OpcServer("opc.tcp://localhost:4840/", temperatureNode))

    while (true) {
        if (temperatureNode.Value == 110)
            temperatureNode.Value = 100;