About the Calculation Collector

The Calculation Collector allows you to 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 any other Historian tag. The following figure depicts the data flow in a calculation. The output from a calculation is always a single Historian tag.

On upgrading the Calculation Collector from 7.0 SP2\7.0 SP3\7.0 SP4 to 7.0 SP5 or later versions, you will notice the following:
  • The previous version of the collector will be in the stopped state and the new version of the collector will be in the running state. In the previous installs of Historian 7.0 (SP2\SP3\SP4), the Calculation Collector name was indicated using the destinationNode_Collector. But from SP5 onwards, the collector name is indicated as sourceNode_Collector.
  • The data collection will be stopped for the tags which were added earlier to the Calculation Collector.
To overcome this:
  • you must change the collector to the newer version in Tag properties for all the tags which were added using the older version of the collector.
  • delete the older version of the collector from the Collectors tab in VB Admin.
Note: 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).
You can use the following inputs in a calculation:
  • 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.
Note: 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.

When to use the Calculation Collector

This section provides some guidance about where to perform calculations in your application. In general, calculations on data from devices or user input can be done:

  • In the SCADA database (iFIX or other)
  • In a VB SDK program
  • By using input scaling with your Historian collector
  • By the Calculation Collector
  • By the Historian OLE DB provider
  • By reporting tools such as Crystal Reports
  • With the Excel Add-In

Use the Calculation Collector when you want to keep a history of calculation values. Also, since the Calculation Collector is capable of thousands of calculations per second, it is generally preferred over a VB SDK program performing the same functions.