OPC Unified Architecture (OPC UA)

OPC Unified Architecture (in short OPC UA) is the most recent OPC specification from the OPC Foundation and differs significantly from its predecessors (DA, A&E, HDA). OPC UA forms a new standard, which is completely based on a service-oriented architecture.

The main factor for a new OPC architecture is the cancellation of the component port by Microsoft. The previous binding of OPC to COM/DCOM has been replaced by a unique communication stack.

Refer to the supported OPC UA profiles chapter to find out which functionality is supported by the WinCC OA OPC UA client and server.

Advantages of OPC UA

  • Up-to-date specification (divided into 11 specifications).

  • Combines OPC DA, A&E, HDA and Commands to one new standard.

  • Platform-independence, therefore available on Linux for the first time.

  • Redundancy support.

  • Scalability (embedded controllers up to and including mainframes).

  • Rapidity (in comparison to web services).

  • Security (security concept as fixed-implemented part).

  • Service-oriented architecture (SOA, request <-> response).

  • Configurable timeouts for every service.

  • Data exchange via messages.

  • Messages with huge data volume can be divided into several messages.

  • Servers support profiles (DA and/or A&E).

  • Client is able to ask the server for supported profiles.

  • Heartbeat for connection supervision in both directions. That means the server as well as the client recognize interruptions.

  • Buffering of data and acknowledgements of transmitted data. Connection interrupts do not lead to data lose anymore. Lost data can be required.

  • Server memorizes data that has been sent (configurable time).

When using OPC UA the known restrictions and notes have to be considered!

Architecture and Connection Establishment (connection flow)

OPC UA server architecture

The server accepts connections to several clients at the same time.

OPC UA client architecture

Connection establishment and flow

The servers to which the connection shall be established are read from the configuration file during driver start-up. The client starts the first connection attempt to all active servers at the same time. In case of a failure a new connection attempt is started after the time set in the Reconnect Timer parameter in the Client configuration panel.

As soon as the connection to the server is established Browsing for Items is possible. Selecting the node from which data is received or to which data is sent is possible before browsing.

After defining the peripheral address the driver creates the declared subscription and adds the Monitored Items to the subscription. Each subscription contains a number of its Monitored Items. From this time it is possible to receive data from the Monitored Items.

The general query can be triggered for all servers, one selective server or one certain subscription (see Data Exchange).

The client is able to connect to several servers at the same time (only UA Native Binary is supported). It is recommended that you only connect to up to 50 servers to one client. Start additional clients in case more servers are necessary.

Configuration in WinCC OA

OPC UA server

All data that shall be accessible over OPC UA has to be defined within data point groups. The assignment of the data point elements (= "items") takes place via the data point groups OPCUARead (readable), OPCUAWrite (readable and writable), OPCUAAlarm (alarms) and OPCUAHARead (historical access). For further information see Access to WinCC OA data.

Static settings for the WinCC OA OPC UA server are carried out in the WinCC OA configuration file. Depending on the specified section the entry applies either to all servers ([opcuasrv] section) or to one certain WinCC OA OPC UA server ([opcuasrv_x] section; the x indicates the manager number). See also possible config entries for the OPC UA server.

Information on the WinCC OA OPC UA server is stored in the internal data point type _OPCUAPvssServer (see Internal data points of the OPC UA server).

OPC UA client

Configuration settings for the WinCC OA OPC UA client are carried out in the panel for configuration of the servers, where the parameters for each client-server connection can be set independently. The parameters are stored in the internal connection data point of type _OPCUAServer.

The configuration of a subscription is carried out in the panel for configuration of a subscription.

Static settings for the WinCC OA OPC UA client are specified in the section [opcua] or [opcua_x] of the config file (see possible config entries for the OPC UA client).

Chapter overview

Chapter Description
OPC Unified Architecture, Basics Basic information on OPC Unified Architecture - advantages of the new architecture, connection establishment and flow, and configuration of the WinCC OA OPC UA client and server.
Requirements and Installation Requirements for the use of the WinCC OA OPC UA client and server and their installation.
Setup of the Communication between OPC UA Client and Server Description of the steps needed for communication setup between WinCC OA OPC UA client and server.
OPC UA Server
OPC UA Server, basics Basic information on the OPC UA server.
Access to WinCC OA data
Data point groups Information on the data point groups OPCUARead, OPCUAWrite, OPCUAAlarm and on the flow of the data access.
OPC UA Server CNS Information regarding OPC UA CNS and definition of the server address space.
Data Exchange Information on assignment of OPC UA attributes to WinCC OA attributes and OPC UA data types to WinCC OA data types.
Security
User Authentication Information on user authentication via different security profiles.
Security Settings Information on security strategy and on the message security concept.
Alarms and Conditions Description of the OPC UA Alarms & Conditions (A&C) functionality of the WinCC OA OPC UA server.
Historical Access Description of the OPC UA Historical Access functionality of the WinCC OA OPC UA server.
Possible Config Entries for the OPC UA Server Description of the possible config entries and debug flags for the WinCC OA OPC UA server.
Internal data points of the OPC UA server Description of the internal data point types and data point elements of the WinCC OA OPC UA server.
Redundancy Information on WinCC OA redundancy and OPC UA server redundancy.
OPC UA Client
Configuration of the Servers Description of the panel for configuration of the OPC UA servers on the client.
Configuration of a Subscription Description of the panel for configuration of a subscription.
Definition of the Peripheral Address of the OPC UA Driver Information on defining a peripheral address of the OPC UA client.
Browsing for Items Description of the panel for browsing for Monitored Items in the OPC UA address space.
OPC UA Discovery Information on using server discovery.
Security Information on the security profile of the WinCC OA OPC UA client.
Data Exchange General information on the data exchange (Monitored Items) with the aid of subscriptions, assignment of WinCC OA attributes to OPC UA attributes and information on general query.
Buffering during connection loss Information on using buffered data.
OPC UA Status Codes List of the OPC UA status codes which have to be mapped to WinCC OA user bits.
Alarms and Events Description of the OPC UA Alarms & Conditions (A&C) functionality of the WinCC OA OPC UA client.
Historical Access Description of the OPC UA Historical Access functionality of the WinCC OA OPC UA client.
Possible config entries for the OPC UA client Description of the possible config entries for the WinCC OA OPC UA client.
Debug Flags for the OPC UA Client Description of the debug flags for the WinCC OA OPC UA client.
Internal data points of the OPC UA client Description of the internal data point types and data point elements of the WinCC OA OPC UA client.
Redundancy Information on client redundancy.
Certificates Creation, management, use and formats of certificates.
Notes and Restrictions Notes and restrictions regarding the use of the OPC UA client and server.
Supported OPC UA profiles List of supported OPC UA profiles.
Glossary Description of the used terms and abbreviations regarding OPC UA.