Calculation Collector Overview

Important: You do not have the latest version of Historian! You are missing out on the newest capabilities and enhanced security. For information on all the latest features, see the Historian product page. For more information on upgrades, contact your GE Digital sales agent or e-mail GE Digital Sales Support. For the most up-to-date documentation, go here.

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.

Source, Destination and Trigger Tags

The Calculation Collector utilizes three types of Historian tags:
Source tags
One or more tags used in a calculation formula.
A Destination tag
A single Historian tag that stores the result of the calculation and which must be different from the Source tag(s) of the calculation. A Destination tag can be the source of another calculation.
Trigger tags
Tag that causes an event-based calculation to fire. You can have a Trigger tag that is not a Source tag.

Understanding Trigger Tags

With the Calculation and Server-to-Server Collectors, there are polled and event-based calculation triggers. When you use event-based triggers, you also have trigger tags. A trigger tag controls the firing of an event-based calculation.

The following figure shows how you can use the Calculation Collector to perform a more complex calculation with several tags and multiple calculations resulting in one output tag. It also shows how the output of one calculation can be used as input to another.

Figure: Complex Calculation

Tag Admin Security Group

Create a tag administrative security group to prevent a user from intentionally or unintentionally launching malicious VBScript code. For example, if a user connected to your archiver and created a calculation tag to file system object, that user could potentially delete all the files on your hard drive. This type of intentional or unintentional activity can be prevented by using the iH Tag Admins security group.

In addition, when you create a tag administrative security group, you can protect proprietary information by limiting access to individual tags to different users. For more information, refer to Implementing Tag Level Security.