About the Calculation Collector

Using the Calculation collector, you can perform data calculations on values already in the archiver. It retrieves data from tags in the Historian archive, performs the calculation, and then stores the resulting values into new archive tags. You can then access these tags like you access any other Historian tag.

Features of the Calculation Collector

The Calculation collector performs calculations on the following values:
  • Current values of other Historian tags in the same archiver.
  • Previous raw samples of other tags in the same archiver.
  • Calculated values of other Historian tags in the same archiver, such as minimum, maximum, average, or standard deviation. You can specify a time range for these calculations or perform a filtered query. You can use the resulting single number in a calculation.
  • Interpolated values of other Historian tags in the same archiver.
  • Any data retrievable using a VBScript, file I/O, ADO, and so on.

Data Flow

The following image shows the data flow in a Calculation collector. The output from a calculation is always a single Historian tag.

Advantages of Using the Calculation Collector

  • The Calculation collector can keep a history of the calculated values.
  • It can perform thousands of calculations per second. Therefore, it is generally preferred to a VB SDK program performing the same functions.
  • It can perform calculations on data stored in the following sources:
    • A SCADA database (such as iFIX)
    • A VB SDK program
    • A Historian collector (using input scaling)
    • By the Calculation collector
    • The Historian OLE DB provider
    • Reporting tools such as Crystal Reports
    • The Historian Excel Add-In

Limitations

  • Python Expression Tags are not supported for use together with the Calculation collector. The behavior of the Calculation collector is different from that of Python Expression Tags, which are used in cases where you do not want to store a raw data value, but wish to store only derived values. For more information, refer to Python Expression Tag Examples.
  • You cannot store specific numeric qualities or sub-qualities in a calculation formula. You can only set a good or bad data quality in the Calculation collector; that is you can store Good for NonSpecific (when quality > 0 in the calculation formula) or Bad for CalcFailed (when quality = 0 in the calculation formula).