OPC UA .NET SDK

OPC UA Client and Server Development with C#, VB.NET and C++/CLI

OPC UA .NET SDK product image
Software Development Kit (SDK) for the development of OPC UA client and server applications for communication via OPC UA v1.03 and higher with support for all OPC UA profiles for Data Access (DA), Historical Data Access (HDA), Alarm & Events (AE) and OPC UA Companion specifications.

How to use

The OPC UA .NET SDK enables the development of OPC UA client and server applications according to OPC UA v1.03 and higher. To implement a server, it is sufficient to define the data nodes (see below). The IP address and the transport protocol are defined with the default values "localhost:4840" and "opc.tcp". To establish a client connection, the server address together with the transport protocol scheme is sufficient (see below). No membership in the OPC Foundation and no licence other than that for Traeger's SDK is required for development!

Code example for an OPC UA server that provides a string via a node.

An OPC UA Server can be realised with just as few lines of code as an OPC UA Client. The OPC UA Server shown above provides a data node including the string value "Hello World!" The provision of the desired data nodes works without a multi-line "node setup". An OPC UA client which processes this data node is shown in the following example of an OPC UA client application.

Code example for an OPC UA client that reads and outputs the values of a node.

Access to the respective data nodes works with the usual NodeId syntax (even after optional resolution via the Browse and Translate services). Any .NET language such as C#, VB.NET and C++/CLI can be used for programming. The interfaces themselves only differ in terms of the programming language used.

Advantages

  • Free evaluation without registration
  • Simple and fast development
  • Industrial reliability
  • API design according to Microsoft standards
  • Royalty-free licences
  • Qualified support
  • Many code examples
  • Regular updates
  • No additional software required
  • Usable without OPC Foundation membership

Characteristics

  • Easy Node Access via BrowseName and NodeId
  • Data Access mit Methods, Subscriptions and Files
  • Structured Data Types via Name-Value Paare, .NET Dynamic / Types
  • Configuration via Code, XML-File or dynamic
  • Alarms, Events and Conditions
  • Security Policies: None, Sign & SignAndEncrypt
  • Security Algorithm: None, Basic128Ras15, Basic256 & Basic256Sha256

OPC UA API

  • Data Client & Server
  • Alarm Client & Server
  • Event Client & Server
  • Historical Data Client & Server
  • Discovery Client & Server

OPC UA Profile

  • Core Characteristics
  • Generic Features
  • Data Access (DA)
  • Event Access (EA)
  • Alarm & Condition (AC)
  • Alarm & Events (AE)
  • Historical Data Access (HDA)

Undecided?

OPC DA servers must (also) be addressed? The SDK is also available as OPC UA .NET SDK + OPC Classic with support for OPC Classic (consisting of OPC DA, OPC HDA and OPC AE)!

Do you want to equip a component, control system or plant with an OPC UA server? This can be done quickly and easily without programming with our OPC UA middleware: Codabix Industrial IoT

The data of several OPC UA servers should be merged, retrievable via REST API, stored in a database, forwarded to other devices or simply visualised? Take a look at our OPC UA Middleware: Codabix Industrial Edge

Still undecided? We will be glad to advise you free of charge and without obligation: Contact us now!

Licensing

Our license options – as individual as your projects. Design your software development the way that suits you best. Whether subscription or lifetime – our license models offer you complete freedom, first-class support and continuous updates. Whether one-off or flexible – find the perfect solution for your vision. Find out more about our license models.

Features

  • Industry 4.0 compliant communication with ...

    Controllers, components and entire plants

  • Reading and writing ...

    Scalar values, arrays and structured data types

  • Providing and publishing ...

    Scalar values, arrays and structured data types

  • Interactive access to nodes such as ...

    Events, alarms, conditions, methods and files

  • Providing nodes for ...

    Events, alarms, conditions, methods and files

  • Reading out server information such as ...

    Location, namespaces, version, status and system time

  • Providing server information such as ...

    Location, namespaces, version, status and system time

  • PDU-optimised access for ...

    High-performance communication and consistent data

  • Termination detection to ensure ...

    Constant connections through automatic reconstruction

  • Addressing of all data areas with ...

    Identifiers in OPC UA NodeId, BrowseName and BrowsePath format, also via LINQ to Nodes

  • Boolean values and numeric values of ...

    1 to 8, 16, 32 and 64 bit data length - also as array and matrix

  • Integer values with and without sign via ...

    Byte, Int16, UInt16, Int32, UInt32, Int64 and UInt64 - also as array and matrix

  • Single/double precision floating point values via ...

    Float (single) and Double - also as array and matrix

  • Date and time values via ...

    TimeSpan and DateTime (UTC)

  • Characters and strings via ...

    Char to string - also via byte with own encoding

  • Structured/complex data types via ...

    dynamic or own .NET types with implicit and explicit coding

  • Supported languages

    C#, VB.NET and C++/CLI

  • Supported frameworks

    .NET Framework 4.6+, .NET Standard 2.0+, .NET Core 3.1+, .NET 5.0+, .NET 6.0+ and .NET 8.0+

  • Supported runtime environments

    Microsoft's CLR, Mono, Xamarin, UWP and Unity

  • Supported platforms

    Windows, Linux, macOS, Android, iOS and Docker