Build OPC UA .NET applications using .NET StandardLibrary

UA .NET is an OPC UA stack and a number of sample applications.
Developed in C# using .NET StandardLibrary

From the OPC Foundation

The official OPC Foundation OPC UA .NET StandardLibrary Stack and sample applications.

Donated to the community for development of OPC UA applications and to assure that OPC UA becomes the defacto-standard technology for the Industrial-Internet-of-Things and Industrie 4.0.

Numerous products, organizations, and other standards-bodies rely on OPC UA as their communications back-bone, with more joining daily.

Visit https://opcfoundation.org/ for more information.


OPC Foundation Membership

OPC Foundation membership provides funding to continue the research and development necessary to expand the capabilities and benefits of OPC UA.

Become a Member Now [benefits]

Quality

Stack: Is in the responsibility of the OPC Foundation and working groups. It will be extended and modified to match the OPC UA specification.

OPC Foundation appointed contractors are responsible for assuring a reasonable quality, including bug-fixes and enhancements at the direction of the OPC Foundation as well as contributions from the community.

The stack is regularly tested with other applications, the OPC Compliance Test Tool, and at various Interoperability Workshops.

Sample Libraries/Applications: Are provided to the community for further enhancement.

License

This repository includes the UA .NET Stack sample libraries and sample applications, all based on the .NET StandardLibrary. The UA .NET StandardLibrary Stack follows a dual-license:

  • OPC Foundation Corporate Members: RCL
  • Everybody else: GPL 2.0

RCL enables OPC Foundation members to deploy their applications using the software without being required to disclose the application code. Non-members licensed under GPL 2.0 must disclose their application code when using the software.

If OPC Foundation Corporate Membership is terminated, the licence reverts to GPL 2.0 whenever any fixes or updates published on GitHub are applied to the former member’s application. This includes updates acquired by fetching any Git commit made after membership termination or the use of binaries distributed in OPC NuGet packages that were posted after the membership termination date.

Note: Dual license applies to this repository only; GPL 2.0 applies to all other repositories

All samples, the platform layers, and files generated with the ModelCompiler by means of the OPC UA NodeSet are provided under the MIT license.

Introduction

The UA .NET and UA .NET Standard Stack include an OPC UA stack and a number of Sample Applications.

UA .NET Standard Stack is developed in C# using .NET StandardLibrary making it deployable for multiple platforms.

OPC UA Sample Code Overview

Detailed information about OPC UA can be found in the Specifications:

Note: An OPC Foundation website account is needed (registration is free)

Extensive Documentation

All code within this repository contains in-line annotation used for generating developer documentation describing the interfaces, objects, properties, methods, and events, etc.

Additional documentation to help newcomers is provided in the 'Getting Started' section, below.

UA Profile Documentation

Learn how to build compliant self-describing applications using Profiles:

Getting Started

See the following help resources:

  • Application overview
    A listing and brief description of each application within the .NET Solution
  • Walkthrough: Client/Server Connection
    New users can learn the basics of OPC such as connecting, browsing, reading, writing, and subscribing to nodes etc.
  • Walkthrough: Securing Applications
    Learn about OPC UA application security by following these step by step instructions showing to establish and break application trusts.
  • Building your first UA Server
    Complete walk-through from creating the project, selecting an application template, building your address space, testing the Server, and deployment.
  • Building your first UA Client
    Complete walk-through from creating the project, selecting an application template, and consuming data.
  • Compliance Testing
    Before you deploy any applications you must ensure they are compliant. The Compliance Test Tool will test your Servers and Clients and is an essential tool that is available at the OPC Foundation website.

Dependencies

The sample applications require the CertificateGenerator application which is tracked in the Misc-Tools repository.

Instructions:

  1. Clone and build the CertificateGenerator in Visual Studio
  2. Clone and build this .NET solution; do not run any of the sample applications yet
  3. Copy the CertificateGenerator output to the .NET Sample Applications output directory

Certified Reference Implementations

The OPC Foundation recommends the use of Certified products only.

This code is provided with 2 Lab Certified applications:

Lab certification means that an OPC UA product was tested in a sanctioned Lab and successfully demonstrated compliance, interoperability, robustness/recovery, and resource efficiency. Certified products are ready for production use. Learn more.

Products built from this source code are not inherently certified.
Learn more about certifying your product(s).

Fork me on GitHub

Submit an issue or a suggestion

Submit an issue here.

Working Group Participation

The OPC Foundation contains multiple working groups that work hard to deliver OPC Specifications, Sample Applications, Compliance Test Tools, and more. Your participation can help steer OPC UA technology. Get involved today!

Fork and contribute

If you find an issue in the documentation or in the code, you can fork and send a pull request to the master branch.

Follow us