- Publish date: 07/04/2019
- Product release date: 07/04/2019
- Product Webpage
OPC UA .NET SDK for Client and Server
OPC UA
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/
Description
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.
Features
- 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")) { client.Connect(); 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)) { server.Start(); while (true) { if (temperatureNode.Value == 110) temperatureNode.Value = 100; else temperatureNode.Value++; temperatureNode.ApplyChanges(server.SystemContext); Thread.Sleep(1000); } }