OPC UA HDA Server

About OPC UA HDA

About OPC Unified Access (UA) Historical Data Access (HDA)

OPC UA HDA is widespread standard, which provides specifications to retrieve and analyze historical process data. This data is typically stored in a process data archive, database, or a remote terminal unit (RTU). You can analyze this data for trending, fault prediction, performance assessment, and so on.

Advantages of Using OPC UA HDA
  • With OPC UA HDA, the exchange of historical data between an application and any data archive is consistent. Therefore, OPC UA HDA client applications that implement trends, reports, or spreadsheets can retrieve historical process data from Historian and other OPC UA HDA servers.
  • OPC UA HDA is created to allow various advanced automation applications to communicate with one another based on the historical data, regardless of the manufacturer or the platform/programming language on which they have been created. This allows greater flexibility and reliability when setting up automation systems.
  • The OPC UA HDA server specification provides a common view of automation information managed by the system for which the server was written.
  • Developing OPC UA-compliant applications is simplified because only one I/O interface is required.
  • Using OPC-compliant applications increases the flexibility of your automation processes because they can also communicate with devices other than those specified by the applications' developers.
  • Multiple OPC UA HDA compliant client applications can communicate with an OPC UA HDA server simultaneously.
For more information on OPC UA HDA, visit the OPC Foundation's website.

Data Flow

The following diagram shows the data flow between the OPC UA HDA clients, the OPC UA HDA server, and Proficy Historian.

About the Historian OPC UA HDA Server

The Historian OPC UA HDA server retrieves historical process data from Proficy Historian, and sends it to OPC UA HDA clients. It dynamically updates the clients when tags are added and/or deleted in Historian. Clients that comply with this specification can connect to the OPC UA HDA server to retrieve data from Historian.

Features of the OPC UA HDA Server
  • The server complies with the OPC HDA Server specification 1.7.2.
  • The server can retrieve current data as well as historical data.
  • You can browse for all the tags available in Historian.
  • You can convert Historian timestamps, data types, and qualities to OPC HDA timestamps, data types, and qualities, respectively.
  • You can automatically reconnect to the Historian server when connection is lost.
  • You can connect multiple instances of the OPC UA HDA clients to the same server without any additional configuration. The OPC UA HDA server has been tested with the following OPC UA HDA clients; you can, however, use any client that supports the encryption types supported by the OPC UA HDA server:
Limitations
  • The OPC UA HDA server supports only synchronous read raw interface.
  • The OPC UA HDA server currently does not support models, aggregation, and alarms and events data. It only supports tag data.

The OPC UA HDA Server Workflow

This topic provides the high-level steps to get started with the Historian OPC UA HDA server. These steps are required only for the initial setup. After you perform these steps, you can use an OPC UA HDA client to retrieve and analyze the historical data.
Step Number Step Notes
1 Install Historian. This step is required.
2 Install the OPC UA HDA Server. This step is required. You can install Historian and the OPC UA HDA server either on the same machine or on different machines.
3 Configure the OPC UA HDA server settings. This step is required only if you want to change the default settings or the values you provided while installing the OPC UA HDA server.
4 Install an OPC UA HDA client. This step is required only if you want to use a third-party OPC UA HDA client.
5 Connect the OPC UA HDA server and the OPC UA HDA client. This step is required only if you want to use a third-party OPC UA HDA client. In this step, the server and the client exchange certificates to establish a secure connection.
6 Authenticate the user to connect to the OPC UA HDA server. This step is required only if you want to use a third-party OPC UA HDA client. You can use authentication based on user credentials or a certificate. Anonymous authentication is not supported.

Configure the OPC UA HDA Server Settings

Before you begin

Procedure

  1. Run the ihistopcuahdaserverconfigtool.exe file as an administrator. This file is located in the following folder: <installation drive>:\Program Files\GE Digital\Historian OPCUA HDA Server
    The Proficy Historian OPC UA Server Configuration window appears.

  2. Provide values in the available fields as described in the following table.
    Field Description
    Port Enter the TCP port number on which you want the OPC UA HDA server to run. By default, the value in this field is 48010.
    Hostname Enter the host name of the machine on which you have installed the OPC UA HDA server.
    Network Address Enter the DNS name or IP address of the machine on which you have installed the OPC UA HDA server. The network address must be the computer name or an IP address, as this represents how OPC clients will locate the OPC UA HDA server.
    Organization Name Enter the name of the organization that is deploying the OPC UA HDA server.
    Endpoint Url Identifies the network endpoint that the OPC clients use to communicate with the OPC UA HDA server. This field is disabled and populated with a value in the following format: opc.tcp://<network address>:<port>/.
    Application Url Identifies a unique identifier for the OPC UA HDA server. This field is disabled and populated with a value in the following format: urn:<host name>:<organization name>:HDAServer).
    Machine Name Enter the name of the machine on which Historian is installed.
    UserName Enter the username to connect to the Historian server.
    Password Enter the password to connect to the Historian server.
  3. Select Logging.
    The Logging section appears.
  4. If you want to enable logging, select the Logging Enabled check box, and then provide values as described in the following table.
    Field Description Default Value Valid Values
    No of Log Files The maximum number of log file backups that you want to retain. 5 1 to 100
    Max Entries per Log file The maximum number of lines that you want in the log file before it is backed up and a new log is created. 100000 1000 to 1000,000,000
    Optimize Log Output Indicates whether the log output is buffered before it is saved to disk. False
    • True
    • False
    Application Trace Level The level of trace information that you want the OPC UA HDA server to log. Error
    • None
    • Error
    • Warning
    • Info
    • Debug
    Stack Log Level The level of trace information that you want the OPC UA HDA stack to log. Error
    • None
    • Error
    • Warning
    • Info
    • Debug
    Log File Path The path of the log file. You can provide a folder other than the default one; the log file will be created in that folder. <installation drive>:\ProgramData\GEDigitalUA\logs\UaSdkCppBundleSource/HDAServer.log
  5. Select Security, and provide values as described in the following table.
    Field Description
    Allow secure communication with data privacy (SignAndEncrypt) If you select this option, all communication is kept private, and the OPC clients are authenticated.
    Allow secure communication without data privacy (SingOnly) If you select this option, all communication is visible, but the OPC clients are authenticated.
    Allow communication with no security (None) If you select this option, a certificate is not used for communication between OPC clients and the OPC UA HDA server. This option is not recommended; you can use it only in a non-production environment.
    Basic256Sha256 This policy is acceptable and more likely to be supported by older versions of the OPC UA HDA clients.
    Aes128Sha256RsaOaep This policy is secure and is faster than the most secure policies. However, older versions of the OPC UA HDA clients do not support it.
    Aes256Sha256RsaPss This policy is the more secure one. However, older versions of the OPC UA HDA clients do not support it.
    Basic128Rsa15 This policy has theoretical problems and is not recommended.
    Basic256 This policy has known vulnerabilities and must not be used unless absolutely necessary.

What to do next

Establish a connection between the OPC UA HDA server and the OPC UA client that you want to use.

Connect the OPC UA HDA Server and the OPC UA HDA Client

About this task

To establish a connection between the OPC UA HDA server and an OPC UA client:
  1. The OPC UA HDA server sends a certificate to the OPC UA client.
  2. The OPC UA client sends a certificate to the OPC UA HDA server.
This topic describes how to perform these steps.

Procedure

  1. Start the OPC UA HDA server. To do so, run the Historian OPC UA HDA Server service.
  2. Access the OPC UA client application, and create a connection with the endpoint URL that you provided while configuring the OPC UA HDA server settings.
  3. Select the security settings that you want to use for the OPC UA client.
    The OPC UA HDA server sends the server certificate to the OPC UA client. A message appears, asking you to accept the server certificate.
  4. Accept the server certificate.
    The OPC UA client sends a certificate to the OPC UA HDA server. However, an error message appears, stating that verifying the certificate has failed. This happens because, by default, the client certificate is rejected.
  5. Accept the client certificate:
    1. In the Proficy Historian OPC UA Server Configuration widow, select Trust List.
      The client certificate appears. A icon appears next to the certificate, indicating that it is rejected.
    2. Select the row containing the client certificate, and then select Trust Certificate.
      A message appears, asking you to confirm that you want to trust the client certificate.
    3. Select Yes.
      A icon appears next to the certificate, indicating that it is trusted.
  6. Access the OPC UA HDA client, and process the connection that you have created.
    A message appears, asking you to accept the server certificate.
  7. Accept the server certificate.
    Connection between the OPC UA HDA server and the OPC UA HDA client is established.

What to do next

Authenticate the user who will use the OPC UA HDA client.

Authenticate a User to Connect to the OPC UA HDA Server

About this task

You can authenticate a user based on one of the following methods:
  • User credentials: In this method, you will use the credentials of a Historian user. When you do so, the OPC UA HDA server validates the credentials by connecting to the Historian server, and then grants access.
    Note: The user is authenticated regardless of whether the Historian server is part of a stand-alone or a distributed Historian system.
  • Certificate: In this method, you will provide a trusted certificate and a private key of the OPC UA HDA server. The server validates that the certificate is the same as the user certificate stored in the server, and then grants access.
    Tip: You can generate a self-signed certificate and its keys using the Proficy Historian OPC UA Server Configuration tool, which is provided with the OPC UA HDA server.
Anonymous authentication is not supported.

Procedure

  1. Access the OPC UA HDA client.
  2. If you want to authenticate a user using the user credentials, select the appropriate option in the user authentication window, and then enter the username and password of the Historian user.
  3. If you want to authenticate a user using a certificate:
    1. Select the appropriate option in the user authentication window.
    2. Provide the certificate and the private key (which are stored in the .der and .pem formats respectively). If needed, enter a password for the private key.

Results

The user is authenticated. A list of Historian tags appears in the OPC UA HDA client. These tags are represented as models in the client, categorized based on the data type. The OPC UA HDA server collects tag data from Historian, and sends it to the client. You can now use the client to access a trend chart of the tag data and analyze it.

Supported Attributes

The following table provides a list of the attributes supported by the OPC UA HDA server:
Historian Property Type OPC UA HDA Attributes Data Type Description
Engineering Units OpcUa_Range String The units for the item (for example, kg/sec).
Engineering Units Range OpcUa_EUInformation Int16 The upper and lower range of the engineering units.
Data Type OPCHDA_ DATA_TYPE Int16 The data type for the item. For information, refer to Supported Data Types.
TagDescription OPCHDA_ DESCRIPTION String The description of the item.

Supported Data Types

The following table provides a list of data types in Historian and the corresponding ones in the OPC Classic HDA server and the OPC UA HDA server.

Data Type in Proficy Historian

Data Type in the OPC Classic HDA server or the OPC UA HDA server.

Single Integer

VT_I2&endash; 16 bit signed integer

Double Integer

VT_I4- 32 bit signed integer

Quad Integer

VT_I8- 64 bit quad integer

Unsigned Single Integer

VT_UI2- 16 bit unsigned single integer

Unsigned Double Integer

VT_UI4- 32 bit unsigned single integer

Unsigned Quad Integer

VT_UI8- 62 bit quad integer

Byte

VT_I1

Boolean

VT_BOOL

SingleFloat

VT_R4- 32 bit float

Double Float

VT_R8- 64 bit double float

Variable String

VT_BSTR

Fixed String

VT_BSTR

Date

VT_DATE

Blob

VT_BSTR

Supported Quality Values

The following table provides a list of the quality values in Historian and the corresponding ones in the OPC UA HDA server.

Proficy Historian Quality OPC Classic HDA Quality Description
ihOPCGood OPC_ QUALITY_ GOOD Indicates that there is no need for inspection. This quality is returned for the tags that have all the values archived properly.
ihOPCBad OPC_ QUALITY_ BAD Indicates a need for attention. This quality is returned for the tags that had problems during the collection.

Troubleshooting OPC UA HDA Server Issues

Unable to Connect to the Server

Issue: When you attempt to connect to the OPC UA HDA server from an OPC UA HDA client, a message appears, stating that you cannot connect to the server.

Diagnostics:
  • Ensure that user authentication for the OPC UA HDA server is based on either user credentials or certificates. Anonymous authentication is not supported.
  • If you have selected authentication based on user credentials, ensure that you have entered the correct credentials of the Historian server.