OPC UA SDK for .NET


The OPC UA .NET SDK comes with an evaluation license which can be used unlimited for each application run for 30 minutes. If this restriction limits your evaluation options, you can request another evaluation license from us for free. Just ask our support (via support@traeger.de) or let us consult you directly and clarify open questions with our developers!


OPC UA .NET SDK for Clients – Evaluation Package1)
Download ZIP Archive of Opc.UaFx.Client (Version: 2.11.3.1 – 2020-11-27)
Download NuGet Package of Opc.UaFx.Client (Version: 2.11.3.1 – 2020-11-27)

OPC UA .NET SDK for Clients and Servers – Evaluation Package2)
Download ZIP Archive of Opc.UaFx.Advanced (Version: 2.11.3.1 – 2020-11-27)
Download NuGet Package of Opc.UaFx.Advanced (Version: 2.11.3.1 – 2020-11-27)

OPC UA .NET SDK for Unity Clients – Evaluation Package3)
Download ZIP Archive of Opc.UaFx.Client (Version: 2.7.2.0 – 2019-05-10)
Download NuGet Package of Opc.UaFx.Client (Version: 2.7.2.0 – 2019-05-10)

OPC UA .NET SDK for .NET Framework 3.5 Clients and Server – Evaluation Package4)
Download ZIP Archive of Opc.UaFx.Advanced (Version: 2.0.1.1 – 2017-06-07)
Download NuGet Package of Opc.UaFx.Advanced (Version: 2.0.1.1 – 2017-06-07)

OPC Watch (Version: 2.11.3.1 – 2020-11-27)
A free and simple but professional OPC UA Client to access OPC UA Servers.

Version History - The list of improvements in each version

There are currently no preview versions available. In case you're interested in some feature the SDK may not fulfill in the latest version:

Do not hesitate and just contact us via support@traeger.de!

OPC UA .NET SDK for Clients and Servers PREV2 for …5)

  • Structured Datatypes (Server-side)
  • NodeSets (Companion Specifications like UMATI)

Download ZIP Archive of Opc.UaFx.Client (Version: 2.9.0.0 – 2019-11-25)
Download NuGet Package of Opc.UaFx.Client (Version: 2.9.0.0 – 2019-11-25)

Download ZIP Archive of Opc.UaFx.Advanced (Version: 2.9.0.0 – 2019-11-25)
Download NuGet Package of Opc.UaFx.Advanced (Version: 2.9.0.0 – 2019-11-25)

Find Downloads on your distributors website.

To connect to OPC Classic Servers in 64 bit applications and to enumerate (= discover) local OPC Classic Servers, the Core Components of the OPC Foundation must be installed on the target system. You can find these on the website of the OPC Foundation or here:

OPC Core Components Redistributables6)
Download ZIP Archive of OPC Core Components (Version: 3.00.107 – 2018-01-30)
Download ZIP Archive of OPC Core Components (Version: 3.00.108 – 2019-12-20)

Example Code: OPC UA Client

namespace Client
{
    using System;
    using System.Threading;
 
    using Opc.UaFx.Client;
 
    public class Program
    {
        public static void Main()
        {
            using (var client = new OpcClient("opc.tcp://localhost:4840")) {
                client.Connect();
 
                while (true) {
                    var temperature = client.ReadNode("ns=2;s=Temperature");
                    Console.WriteLine("Current Temperature is {0} °C", temperature);
 
                    Thread.Sleep(1000);
                }
            }
        }
    }
}
Imports System
Imports System.Threading
 
Imports Opc.UaFx.Client
 
Namespace Client
    Public Class Program
        Public Shared Sub Main()
            Using client = New OpcClient("opc.tcp://localhost:4840")
                client.Connect()
 
                While True
                    Dim temperature = client.ReadNode("ns=2;s=Temperature")
                    Console.WriteLine("Current Temperature is {0} °C", temperature)
 
                    Thread.Sleep(1000)
                End While
            End Using
        End Sub
    End Class
End Namespace

Example Code: OPC UA Server

namespace Server
{
    using System.Threading;
 
    using Opc.UaFx;
    using Opc.UaFx.Server;
 
    public class Program
    {
        public static void Main()
        {
            var temperatureNode = new OpcDataVariableNode<double>("Temperature", 100.0);
 
            using (var server = new OpcServer("opc.tcp://localhost:4840/", temperatureNode)) {
                server.Start();
 
                while (true) {
                    if (temperatureNode.Value == 110)
                        temperatureNode.Value = 100;
                    else
                        temperatureNode.Value++;
 
                    temperatureNode.ApplyChanges(server.SystemContext);
                    Thread.Sleep(1000);
                }
            }
        }
    }
}
Imports System.Threading
 
Imports Opc.UaFx
Imports Opc.UaFx.Server
 
Namespace Server
    Public Class Program
        Public Shared Sub Main()
            Dim temperatureNode = New OpcDataVariableNode(Of Double)("Temperature", 100.0)
 
            Using server = New OpcServer("opc.tcp://localhost:4840/", temperatureNode)
                server.Start()
 
                While True
                    If (temperatureNode.Value = 110) Then
                        temperatureNode.Value = 100
                    Else
                        temperatureNode.Value += 1
                    End If
 
                    temperatureNode.ApplyChanges(server.SystemContext)
                    Thread.Sleep(1000)
                End While
            End Using
        End Sub
    End Class
End Namespace
1) , 2) , 3) , 4) Your “License Code” turns the package into a productive full version.
5) Not recommended for productive use.
6) Provided by the OPC Foundation