C++ Based OPC UA Client & Server SDK (Bundle)

The UA SDK is a C++ library that supports you in writing portable C++ OPC UA Servers. The UA SDK actually consists of two SDKs, a Server SDK and a Client SDK. Both use the same UA Base Library which does all the C++ encapsulation of the raw ANSI C types that are defined in the OPC UA Communication Stack by the OPC Foundation.

The SDK simplifies the UA stack APIs, implements common UA functionality needed in most or all UA applications, provides base functionality and helper functions, implements the security handling and provides samples for common use cases. The C++ OPC UA Server SDK provides a C++ class library used to develop OPC UA Servers providing a standard interface to vendor specific systems. The OPC UA Server is normally used to describe the available information from a vendor system and to provide access to the data for external systems in a standardized way.

To make the implementation of C++ based OPC UA Servers as easy as possible, the SDK

  • implements all common UA functionality as reference implementation,
  • defines interfaces to integrate the vendor system data into the OPC UA Server,
  • provides base and helper classes implementing often used functionality for a vendor system integration,
  • provides wrapper classes for all system functionality and OPC UA structures,
  • provides sample implementations and make files for Windows and Linux,
  • and provides UA stack platform layers for Windows and Linux.

As an additional feature the SDK itself is platform independent and depends only on the OPC UA ANSI C Stack and its platform layer and the crypto API defined by the stack. There is no dependency on other libraries than the OPC UA ANSI C Stack and its dependencies. The figure shows the main modules of the SDK and the integration into a server application.

The C++ based Server SDK is bundled with the Client SDK. See the Client SDK product page for more information.

Supported OPC UA Services

  • FindServer, GetEndpoints
  • CreateSession, ActivateSession, CloseSession
  • Browse, Translate, RegisterNodes, UnregisterNodes
  • Read, HistoryRead
  • Write, HistoryUpdate
  • Call
  • CreateSubscription, ModifySubscription, DeleteSusbcription, TransferSubscriptions
  • CreateMonitoredItems, ModifyMonitoredItems, DeleteMonitoredItems
  • Publish, Republish

The OPC Logo is property of The OPC Foundation and is used under license.

Product Variants

EditionsWindows Binary, Source Code
License TypesBinary Developer License (single seat), Source Code Developer License (single seat), Evaluation License
Target PlatformsWindows 32, Windows 64, Linux, vxWorks, QNX
DevelopmentMS Visual Studio Project Files, CMake cross compile build environment
(can generate project for Visual Studio, Eclipse, Makefiles …)

Read the complete software license agreement.

Supported Features and Profiles

  • Data Access
  • Events
  • Methods
  • Alarms & Conditions
  • Historical Access

More detailed information can be found on the next tab.

Security None, Basic128Rsa15(default-off), Basic256(default-off), Basic256Sha256, Aes128-Sha256-RsaOaep, Aes256-Sha256-RsaPss
General Standard 2017 UA Server Profile, Node Management Server Facet, Client Redundancy Facet, Redundancy Visible Server Facet, Query, Reverse Connect Facet, Request State Change Server Facet, Global Certificate Management Server Facet, User Role Base Server Facet, User Role Management Server Facet
Data Access DataAccess Server Facet, Complex Type 2017 Server Facet, Durable Subscription Server Facet
Events Standard Event Subscription Server Facet, Address Space Notifier Server Facet, Auditing Server Facet
Methods Method Server Facet, State Machine Server Facet, File Access Server Facet
Alarms & Conditions A&C Base Condition Server Facet, A&C Address Space Instance Server Facet, A&C Enable Server Facet, A&C Alarm Server Facet, A&C Acknowledgeable Alarm Server Facet, A&C Exclusive Alarming Server Facet, A&C Non-Exclusive Alarming Server Facet, A&C Previous Instances Server Facet, A&C Dialog Server Facet, A&C AlarmMetrics Server Facet, A&C Refresh2 Server Facet
Historical Access Historical Raw Data Server Facet, Historical Aggregate Server Facet, Historical Data AtTime Server Facet, Historical Access Modified Data Server Facet, Historical Annotation Server Facet, Historical Data Insert Server Facet, Historical Data Update Server Facet, Historical Data Replace Server Facet, Historical Data Delete Server Facet, Historical Access Structured Data Server Facet, Base Historical Event Server Facet, Historical Event Update Server Facet, Historical Event Replace Server Facet, Historical Event Insert Server Facet, Historical Event Delete Server Facet
  • UA Stack, Base Library, Server Library, Client Library
  • CMake build files (generate your favorite VisualStudio solution)
  • comes with examples, tutorials, documentation
  • support package including 15 support incidents
  • first year maintenance package
  • one UaModeler runtime license (for XML-Export)
  • one UaExpert runtime license (for XML-Export)

UaGateway

The UaGateway is designed to integrate “classic” OPC products into OPC UA Environments. Its main features are connecting UA clients to COM/DCOM Servers (Wrapper), accessing UA Servers with COM/DCOM clients (Proxy), and tunneling COM/DCOM through a secure UA connection. Please refer to the UaGateway product page for further information.

OPC UA Training

Unified Automation offers seminars, workshop, and hands-on classes to help you getting started with OPC UA and our SDK Products. Please refer to the following pages for more information.

It is also possible to book in-house training tailored to your company’s reqirements.

OPC UA Book

The book “OPC Unified Architecture” is written by Wolfgang Mahnke, Stefan-Helmut Leitner, and Matthias Damm, one of the trainers of Unified Automation.

“This book provides you a solid foundation to learn everything you could ever want to know about developing world-class products for multi-vendor interoperability based on OPC UA”, says Tom Burke, President of the OPC Foundation