.NET Based OPC UA Client/Server SDK  3.0.10.493
UnifiedAutomation.UaBase.ReadProcessedDetails Class Reference

Selects a set of aggregate values from the history database by specifying a time domain for one or more variables. More...

Inherits UnifiedAutomation.UaBase.HistoryReadDetails.

Public Member Functions

 ReadProcessedDetails ()
 The default constructor. More...
 
override void Encode (IEncoder encoder)
 
override void Decode (IDecoder decoder)
 
override bool IsEqual (IEncodeable encodeable)
 Checks if encodeable is the same object or has the same content More...
 
override object Clone ()
 
- Public Member Functions inherited from UnifiedAutomation.UaBase.HistoryReadDetails
 HistoryReadDetails ()
 The default constructor. More...
 

Properties

DateTime StartTime [get, set]
 The beginning of the period to read. More...
 
DateTime EndTime [get, set]
 The end of the period to read. More...
 
double ProcessingInterval [get, set]
 The interval between returned aggregate values. More...
 
NodeIdCollection AggregateType [get, set]
 The NodeId of the HistoryAggregate object that indicates the list of aggregates to be used when retrieving processed history. More...
 
AggregateConfiguration AggregateConfiguration [get, set]
 Allows a Client to override aggregate configuration settings ona per call basis. More...
 
override ExpandedNodeId TypeId [get]
 
override ExpandedNodeId BinaryEncodingId [get]
 
override ExpandedNodeId XmlEncodingId [get]
 
- Properties inherited from UnifiedAutomation.UaBase.HistoryReadDetails
virtual ExpandedNodeId TypeId [get]
 
virtual ExpandedNodeId BinaryEncodingId [get]
 
virtual ExpandedNodeId XmlEncodingId [get]
 
- Properties inherited from UnifiedAutomation.UaBase.IEncodeable
ExpandedNodeId TypeId [get]
 Returns the UA type identifier for the encodable type. More...
 
ExpandedNodeId BinaryEncodingId [get]
 Returns the UA type identifier for the default binary encoding for the type. More...
 
ExpandedNodeId XmlEncodingId [get]
 Returns the UA type identifier for the default XML encoding for the type. More...
 

Detailed Description

Selects a set of aggregate values from the history database by specifying a time domain for one or more variables.

This structure is used to compute aggregate values, qualities, and timestamps from data in the history database for the specified time domain for one or more HistoricalDataNodes. The time domain is divided into intervals of duration ProcessingInterval. The specified AggregateType is calculated for each interval beginning with startTime by using the data within the next ProcessingInterval.

For example, this function can provide hourly statistics such as maximum, minimum, and average for each item during the specified time domain if ProcessingInterval is 1 hour.

The domain of the request is defined by startTime, endTime, and ProcessingInterval. All three must be specified. If endTime is less than startTime, the data shall be returned in reverse order with later data coming first. If startTime and endTime are the same, the server shall return Bad_InvalidArgument, as there is no meaningful way to interpret such a case.

The aggregateType[] parameter allows a Client to request multiple aggregate calculations per requested NodeId. If multiple aggregates are requested, a corresponding number of entries are required in the NodesToRead array.

For example, requesting Min aggregate for NodeId FIC101, FIC102 and both Min and Max aggregates for NodeId FIC103 would require NodeId FIC103 to appear twice in the NodesToRead array request parameter.

aggregateType[] NodesToRead[]
Min FIC101
Min FIC102
Min FIC103
Max FIC103

If the array of aggregates does not match the array of NodesToRead, the Server shall return a StatusCode of Bad_AggregateListMismatch. The aggregateConfiguration parameter allows a Client to override the aggregate configuration settings supplied by the AggregateConfiguration object on a per call basis. If the Server does not support the ability to override the aggregate configuration settings, it shall return a StatusCode of Bad_AggregateConfigurationRejected. If the aggregate is not valid for the node, the StatusCode shall be Bad_AggregateNotSupported.

The values used in computing the aggregate for each interval shall include any value that falls exactly on the timestamp at beginning of the interval, but shall not include any value that falls directly on the timestamp ending the interval. Thus, each value shall be included only once in the calculation. If the time domain is in reverse order, we consider the later timestamp to be the one beginning the subinterval, and the earlier timestamp to be the one ending it. Note that this means that simply swapping the start and end times will not result in getting the same values back in reverse order, as the interval being requested in the two cases are not the same.

If an aggregate is taking a long time to calculate, the Server can return partial results with a continuation point. This might be done if the calculation is going to take more time than the Client timeout hint. In some cases it may take longer than the Client timeout hint to calculate even one Aggregate result. Then the server may return zero results with a continuation point that allows the server to resume the calculation on the next Client read call.

Constructor & Destructor Documentation

UnifiedAutomation.UaBase.ReadProcessedDetails.ReadProcessedDetails ( )
inline

The default constructor.

Member Function Documentation

override bool UnifiedAutomation.UaBase.ReadProcessedDetails.IsEqual ( IEncodeable  encodeable)
inlinevirtual

Checks if encodeable is the same object or has the same content

Parameters
encodeable
Returns

Reimplemented from UnifiedAutomation.UaBase.HistoryReadDetails.

Property Documentation

AggregateConfiguration UnifiedAutomation.UaBase.ReadProcessedDetails.AggregateConfiguration
getset

Allows a Client to override aggregate configuration settings ona per call basis.

NodeIdCollection UnifiedAutomation.UaBase.ReadProcessedDetails.AggregateType
getset

The NodeId of the HistoryAggregate object that indicates the list of aggregates to be used when retrieving processed history.

DateTime UnifiedAutomation.UaBase.ReadProcessedDetails.EndTime
getset

The end of the period to read.

double UnifiedAutomation.UaBase.ReadProcessedDetails.ProcessingInterval
getset

The interval between returned aggregate values.

The value 0 indicates that there is no ProcessingInterval defined.

DateTime UnifiedAutomation.UaBase.ReadProcessedDetails.StartTime
getset

The beginning of the period to read.


The documentation for this class was generated from the following file: