C++ Based OPC UA Client/Server/PubSub SDK  1.7.6.537
AggregateCalculatorCount Class Reference

Calculates the value of the aggregates Count, DurationInStateNonZero, DurationInStateZero, NumberOfTransitions and AnnotationCount. More...

#include <aggregatecalculatorcount.h>

Inherits AggregateCalculator.

Public Member Functions

 AggregateCalculatorCount (UaNodeId aggregateId, UaDateTime startTime, UaDateTime endTime, double processingInterval, bool stepped, OpcUa_AggregateConfiguration &configuration)
 Initializes the aggregate calculator. More...
 
bool UsesInterpolatedBounds ()
 Indicates whether this aggregate uses Interpolated Bounding Values. More...
 

Static Public Member Functions

static
AggregateCalculatorInterface
CreateCalculator (UaNodeId aggregateId, UaDateTime startTime, UaDateTime endTime, double processingInterval, bool stepped, OpcUa_AggregateConfiguration &configuration)
 Used by the Aggregators factory to create a new instance of the aggregate calculator. More...
 

Protected Member Functions

UaDataValue ComputeValue (TimeSlice &slice)
 Computes the value for the timeslice. More...
 
UaDataValue ComputeCount (TimeSlice &slice)
 Calculates the Count aggregate for the timeslice. More...
 
UaDataValue ComputeAnnotationCount (TimeSlice &slice)
 Calculates the AnnotationCount aggregate for the timeslice. More...
 
UaDataValue ComputeDurationInState (TimeSlice &slice, bool isNonZero)
 Calculates the DurationInStateZero and DurationInStateNonZero aggregates for the timeslice. More...
 
UaDataValue ComputeNumberOfTransitions (TimeSlice &slice)
 Calculates the Count aggregate for the timeslice. More...
 

Detailed Description

Calculates the value of the aggregates Count, DurationInStateNonZero, DurationInStateZero, NumberOfTransitions and AnnotationCount.

Constructor & Destructor Documentation

AggregateCalculatorCount::AggregateCalculatorCount ( UaNodeId  aggregateId,
UaDateTime  startTime,
UaDateTime  endTime,
double  processingInterval,
bool  stepped,
OpcUa_AggregateConfiguration configuration 
)

Initializes the aggregate calculator.

Parameters
aggregateIdThe aggregate function to apply.
startTimeThe start time.
endTimeThe end time.
processingIntervalThe processing interval.
steppedWhether to use stepped interpolation.
configurationThe aggregate configuration.

Member Function Documentation

UaDataValue AggregateCalculatorCount::ComputeAnnotationCount ( TimeSlice slice)
protected

Calculates the AnnotationCount aggregate for the timeslice.

UaDataValue AggregateCalculatorCount::ComputeCount ( TimeSlice slice)
protected

Calculates the Count aggregate for the timeslice.

UaDataValue AggregateCalculatorCount::ComputeDurationInState ( TimeSlice slice,
bool  isNonZero 
)
protected

Calculates the DurationInStateZero and DurationInStateNonZero aggregates for the timeslice.

UaDataValue AggregateCalculatorCount::ComputeNumberOfTransitions ( TimeSlice slice)
protected

Calculates the Count aggregate for the timeslice.

UaDataValue AggregateCalculatorCount::ComputeValue ( TimeSlice slice)
protectedvirtual

Computes the value for the timeslice.

Reimplemented from AggregateCalculator.

AggregateCalculatorInterface * AggregateCalculatorCount::CreateCalculator ( UaNodeId  aggregateId,
UaDateTime  startTime,
UaDateTime  endTime,
double  processingInterval,
bool  stepped,
OpcUa_AggregateConfiguration configuration 
)
static

Used by the Aggregators factory to create a new instance of the aggregate calculator.

Parameters
aggregateIdThe aggregate function to apply.
startTimeThe start time.
endTimeThe end time.
processingIntervalThe processing interval.
steppedWhether to use stepped interpolation.
configurationThe aggregate configuration.
bool AggregateCalculatorCount::UsesInterpolatedBounds ( )
virtual

Indicates whether this aggregate uses Interpolated Bounding Values.

Returns
True if this aggregate uses Interpolated Bounding Values and false if it uses Simple Bounding Values.

Reimplemented from AggregateCalculator.


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