OPC UA Framework Advanced

OPC UA Client and Server development made easy


Successful with only a few lines of code

Book - The whole Manual as eBook


OPC UA Framework Advanced Class Library

Here you find the documentation for the API of the OPC UA Framework:

Find the complete Class Library in Evaluation Paket as download on your distributors web site.

OPC UA .NET SDK for Clients – Evaluation Package1)
Download ZIP Archive of Opc.UaFx.Client (Version: 2.7.3.1 – 2019-05-23)
Download NuGet Package of Opc.UaFx.Client (Version: 2.7.3.1 – 2019-05-23)

OPC UA .NET SDK for Clients and Servers – Evaluation Package2)
Download ZIP Archive of Opc.UaFx.Advanced (Version: 2.7.3.1 – 2019-05-23)
Download NuGet Package of Opc.UaFx.Advanced (Version: 2.7.3.1 – 2019-05-23)

OPC Watch (Version: 2.7.3.1 – 2019-05-23)
A free and simple but professional OPC UA Client to access OPC UA Servers.

Version History - The list of improvements in each version

Find Downloads on your distributors website.

OPC UA Features

  • Data Access (DA)
  • Methods
  • Events
  • Alarm & Conditions
  • Historian Data (HDA)
  • FileType (files can be directly embedded and approached)
  • Extension of the OPC UA Stack from the OPC-Foundation to comfortable and mature functionality
  • no difficult “code joggling” as necessary in direct use of the Foundation Stack
  • intuitive and easy usability of the framework guarantee the best possible benefit
  • Client / Server application with only a few lines of code
  • support of the Microsoft OPC UA Stack in the nearby future
  • Configuration
    • directly in the code
    • XML-based
    • through external file
  • Access / Policies
    • integrateable user management
    • User Token Policy configuration via ACL (Access Control Lists)
    • allround authentification possibilities
    • User / Password
    • Certificates
    • White / Blacklisting of user rights
    • automatic generation of Client- / Server certificates
    • free choice of certificate storage (Cerificate Stores): file system, operating system or application
  • Nodes
    • “easy to use” Node management
    • user-dependent access to Nodes possible
    • Comfort Browsing
    • Callbacks / events triggered by Node access (read / write / subscribe)
  • unlimited number of connections

Requirements

Operating system

  • Windows 32 / 64 Bit with .NET Framework (minimum 4.0)
  • also Linux / macOS with support of the Microsoft Stack

Languages

  • C#
  • VB.NET

Prospects - First impressions of upcoming features

Example C# 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);
                }
            }
        }
    }
}

Excample C# Code OPC UA Server

namespace Server
{
    using System.Threading;
 
    using Opc.UaFx;
    using Opc.UaFx.Server;
 
    internal static 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);
                }
            }
        }
    }
}

Terms

OPC UA

OPC UA stands for OPC Unified Architecture, shortened OPC UA. Contrasting to the predecessor OPC, OPC UA especially differenciates itself through the ability to not only transport machine data (meassurements, parameters etc.), but also describe the data semantically in order for machines to read it. OPC UA means: Openess Productivity Connectivity Unified Architechture.

Node

The “Node” is the most basic element of the OPC UA. Nearly every element is “reduced” to one “Node”, so to say. Hearby the Nodes stand within direct relation to each other.
The Wikipedia definition about the OPC Unified Architecture contains a fitting description for the term “Node”:
“The OPC information model is a so-called Full Mesh Network based on nodes. Nodes hold process data as well as all other types of metadata.” Source: wikipedia.org/wiki/OPC_Unified_Architecture

  • A Node resembles an object from object oriented programming.
  • A Node has attributes, which can be read (Data Access (DA), Historical Data Access (HDA)).
  • Nodes are used for process data as well as for all other types of metadata.
  • The therefore modelled OPC Address Space contains a type model with which all data types are specified.

NodeId

The OPC specification defines that every Node can be uniquely identified in the Adress Space via an Identifier (=NodeId). The NodeId is defined either by a GUID (Global Unique Identifier), a numeric expression, an array of bytes or a string value. In general but not necessarily, the NodeId contains the “Namespace”.

Address Space

All Nodes supplied and processed in the OPC UA are administrated in a so-called Address Space. The Address Space depicts a kind of logical storage. In this “storage” the contained Nodes can logically refer to one or more Nodes in the same or another Address Space.

View

The “Address Space” mentioned / visualized earlier can be logically segmented into one or more Views. While there is one Default View, Custom Views can contain one or more Nodes.

NodeManager

The Node Manager supplies one or more Nodes and defines their relationships towards each other. Predefined System Node Managers are:

  • Core Node Manager (defines i.a. Type Nodes and System Nodes)
  • Diagnostics Node Manager (supplies Nodes for diagnostics)
  • Master Node Manager (the “administrator” of all Node Managers, it delegates calls to the concerning Node Managers)

Service

OPC UA defines a series of different Services by means of which the Client interacts with the Server. Those Services are server-sided implemented as Methods and are used for:

  • reading and writing Note attributes / values
  • administrating Node References
  • browsing of Nodes
  • reading and writing historical values
  • calling Methods
  • administrating subscriptions
  • e.a.
1) , 2) Your “License Code” turns the package into a productive full version.