OPC Historical Data Access (OPC HDA) is used to retrieve and analyze historical process data for the purpose of analysis, optimization, inventory control, regulatory compliance, etc. OPC HDA Servers typically retrieve data stored in a Process Data Historian, a relational database, or an RTU (Remote Terminal Unit).
Software applications can use OPC HDA to write historical data as well. This enables applications to write historical data back to a database. This occurs when users need to input manual meter readings (which have a timestamp that occurs in the past), laboratory readings, or even corrections of previously dated information.
OPC HDA can also be used for the automated transfer of data between historians. Corporations can use this to synchronize process historians, or to compensate for interruptions in the real-time transfer of process data. That is, an application can buffer data during a communication outage, and when the real-time connection is restored, the receiving application can use OPC HDA to recover the buffered information. The OPC Foundation is responsible for defining and maintaining the OPC HDA specification.
A growing number of custom applications are being developed in environments like Visual Basic (VB), Delphi, Power Builder, etc. OPC must take this trend into account. Microsoft understands this trend and designed OLE/COM to allow components (written in C and C++ by experts in a specific domain) to be utilized by a custom program (written in VB or Delphi for an entirely different domain). Developers will write software components in C and C++ to encapsulate the intricacies of accessing Historical data, so that business application developers can write code in VB that requests and utilizes historical data.
The intent of this specification is to facilitate the development of OPC Servers for Historical Data Access in C and C++, and to facilitate development of OPC client applications in the language of choice. The architecture and design of the interfaces described in this specification are intended to support development of OPC servers in other languages as well.
The OPC HDA specification tries to identify interfaces used to pass historical information between components which would be suitable to standardization. Additionally this document details the design of those interfaces in such a way as to complement the existing OPC Data Access Interfaces.
There is a loose binding between this and other OPC specifications. This OPC specification is not derived from, nor does it inherit interfaces from, another OPC specification. Where identical interfaces are desired, they are replicated here. Data types are assumed from the Data Access specification. The interfaces in this specification provide time series Historical data. If real time data is desired, a Data Access server and its interfaces should be used. This specification does not deal with historical Alarm or relational type data.
Visit the OPC Foundation website to download the OPC Historical Data Access (OPC HDA) specification.