OPC historical data access > DeltaV OPC History Server

OPC HDA custom interfaces and methods

Individuals writing programs to access the DeltaV Continuous Historian historical data using the DeltaV OPC History Server should be familiar with the OPC Historical Data Access Specification.

The DeltaV OPC History Server implements the following OPC HDA custom interfaces and methods.

IOPCCommon

The IOPCCommon interface is defined in the OPC Common Definitions and Interfaces specification. The following methods make up this interface:
  • IOPCCommon::SetLocaleID

    The only supported locale is English with a sublanguage of US English.

  • IOPCCommon::GetLocaleID

    The value returned from this method corresponds to English with a sublanguage of US English.

  • IOPCCommon::QueryAvailableLocaleIDs

    The available locale is returned by this method.

  • IOPCCommon::GetErrorString

    This method may be used to convert from an HRESULT returned by any of the methods or the HRESULT for an HDA Item into a user friendly description of the error.

  • IOPCCommon::SetClientName

    This method may be used by a client to set the name of the client. The client name is used in some of the events recorded in the Windows Event Log.

IConnectionPointContainer

The IConnectionPointContainer is a Microsoft defined interface used to obtain call back interfaces. The DeltaV OPC History Server implements this interface in support of the client providing an IOPCShutdown interface. The methods making up this interface are:
  • IConnectionPointContainer::EnumConnectionPoints

    Only the IOPCShutdown interface is included in the IEnumConnectionPoints enumerator.

  • IConnectionPointContainer::FindConnectionPoint

    This method may be used to obtain the interface corresponding to the IID_IOPCShutdown.

IOPCShutdown

This is a client-side interface used by the DeltaV OPC History Server to notify clients when the supporting DeltaV services are shutting down. The single method provided by this interface is:
  • IOPCShutdown::ShutdownRequest

    This method is invoked by the DeltaV OPC History Server to notify the client that the DeltaV services are shutting down.

IOPCHDA_Server

This interface is the primary interface for the DeltaV OPC History Server. The IOPCHDA_Server interface provides a method for setting up access to historical data values. The methods that make up this interface are:
  • IOPCHDA_Server::GetItemAttributes
    This method returns the list of attributes supported by the DeltaV OPC History Server. These are:
    • Data Type
    • Stepped
    • ItemID
    • Maximum Time Interval
    • Minimum Time Interval
    • Exception Deviation (expressed in Engineering Units)
    • Current DeltaV Module Description
    • Current DeltaV Engineering Units
    • Current DeltaV Engineering Units 100% Value (default is 100)
    • Current DeltaV Engineering Units 0% Value (default is 0)
    • Last download of Continuous Historian
    • Continuous Historian On Scan
    • Named Set
  • IOPCHDA_Server::GetAggregates
    This method returns the list of aggregates supported by the DeltaV OPC History Server. These are:
    • Interpolative
    • Time Average
    • Count
    • Minimum Actual Time
    • Minimum
    • Maximum Actual Time
    • Maximum
    • Start
    • End
    • Average
    • Total
  • IOPCHDA_Server::GetHistorianStatus

    This method may be used to obtain the status of the DeltaV OPC History Server.

  • IOPCHDA_Server::GetItemHandles

    This method returns associations between server handles and client handles for specific HDA items.

  • IOPCHDA_Server::ReleaseItemHandles

    This method releases associations between server handles and client handles for specific HDA items.

  • IOPCHDA_Server::ValidateItemIDs

    This method validates that specific HDA Item IDs are known to the server.

  • IOPCHDA_Server::CreateBrowse

    This method returns a pointer to an OPCHDA_Browser interface. The Item ID filtering is specified as part of the creation of a new browser.

IOPCHDA_Browser

This interface provides a method to access the list of OPC HDA Item IDs that pass the filter criteria set when this browser was created. It should be noted that the DeltaV Continuous Historian provides a flat list of historical parameters. Thus, the DeltaV OPC History Server provides a flat list of OPC HDA Item IDs.
  • IOPCHDA_Browser::GetEnum

    This method returns an enumeration containing all of the OPC HDA Item IDs provided by the DeltaV Continuous Historian that pass the filter criteria.

  • IOPCHDA_Browser::ChangeBrowsePosition

    This method may be used to move up and down the list of OPC HDA Item IDs or to move directly to a particular OPC HDA Item ID.

  • IOPCHDA_Browser::GetItemID

    This method provides a way to obtain the current OPC HDA Item ID.

  • IOPCHDA_Browser::GetBranchPosition

    This method provides the current OPC HDA Item ID.

IOPCHDA_SyncRead

This interface provides access to the data held by the DeltaV Continuous Historian.
  • IOPCHDA_SyncRead::ReadRaw

    This method reads the values, qualities, and time stamps from the DeltaV Continuous Historian database for the specified time domain for one or more OPC HDA Items.

  • IOPCHDA_SyncRead::ReadProcessed

    This method requests an aggregate value or values to be computed by the DeltaV Continuous Historian for one or more OPC HDA Items, providing values, qualities, and time stamps. See IOPCHDA_Server::GetAggregates for a list of supported aggregates.

  • IOPCHDA_SyncRead::ReadAtTime

    This method is not supported by the DeltaV OPC History Server at this time.

  • IOPCHDA_SyncRead::ReadModified

    This method is not supported by the DeltaV OPC History Server at this time.

  • IOPCHDA_SyncRead::ReadAttribute

    This method reads the attribute values and time stamps for the specified time domain for an item. The DeltaV OPC History Server only supports current values for attributes. See IOPCHDA_Server::GetItemAttributes for a list of supported attributes.