Aggregates
An Aggregate is a special type of class that acts as an extension of another class. Unlike other classes, aggregate classes derive from the CAggregate class (rather than the CDBObject class).
Each aggregate has its own name, Fields, and Methods and is used to store a set of data.
Example:
The CGenericModbusOSPSTN table includes the PSTN aggregate—the PSTN aggregate groups specific configuration for a PSTN outstation's communication settings.
Aggregates cannot contain other aggregates.
Each aggregate can be either fixed or optional and single or multi-type:
- Fixed/Optional:
- A Fixed aggregate exists for every database item of the relevant type
- An Optional aggregate can be enabled or disabled on each database item as required.
- Single/Multi-Type:
- A Single aggregate is fixed as the same class (for example, the Redirection aggregate on an item with alarms is fixed as the CAlarmRedirectionList class)
- A Multi-Type aggregate allows a choice of classes (for example, the ConnectionPoint aggregate on a channel provides multiple types of classes).
You may need to include aggregates in expressions for animations and Logic programs. For example, you may need to include an aggregate in an expression that uses a historic calculation tag (see OPC Historic Aggregates (Algorithms) in the ClearSCADA Guide to Expressions).
You can use the ClearSCADA Database Schema to display information about the aggregates for each class (see Working with the Database Schema).