Hi everyone,

There are many articles and entries regarding the use of recalculations within the AF 2015 system and how users are managing or getting around the current implementation of the Analysis engine within AF.

I am interested to see how other users have implemented their systems in regards to calculations and recalculations whilst taking into consideration the following:

- Late Bound data

- Out of order data

- sequenced calculations

- Change of Algorithm recalculations

- Calculation data timestamped at a particular time (e.g. 8:00:00) & the recalculation timestamped at the same time.

We are trying to avoid using ACE/PE for these particular functions.

What I'm particularly interested in hearing from users about is the design considerations taken whilst keeping some of the above constraints in mind. I am interested to hear from users that have had these issues and their current design considerations for their AF structure to be able to satisfy these criteria.

A common occurrence is the calculation of data at the beginning of a shift for a specific time stamp (e.g. 08:00:00), and there may be some late bound manually entered data an hour or so later - with the recalculation time stamped again at 08:00:00, taking into account the new data entered.

Has anybody had any experience with utilizing Event Frames Attributes and the 'Recapture Values' function to provide some sort of recalculation functionality? Are people saving all calculation results as PI Points, or in the AF database? Are users deleting any data before commencing a Backfill within the tool to rewrite the data - is this a manual or automated function for you?

If anybody has any examples for reference that would be appreciated - such as screenshots, documents or comments.

Thanks!

This one is fairly easy now with AF 2.7.

Your shift calculations can be offset by a couple of hours but you can now alter the output timestamp to align to your shift time. You still need to decide a suitable offset but in your example of 08:00 then you could run the calculations at 10:00 but use the "Advanced" output timestamp to set the calculation output to "t+8h". In your algorithm you would use value calls such as "TagVal('Attribute','t+8h')" etc if you wanted to capture the times at the end of the shift, or totals over a shift etc.

There are some AF service configuration options for dealing with late arriving data, but for fixed period calculations such as a shift then the above is typically more suitable. You just know that operators will never enter manual data on time, there will always be a lag.

OOO data is a different ball game and will be dependent on what you are calculating. There are a number of discussions on here about recalculating and the need to remove previously calculated outputs first. There are certain scenarios where I've automated this approach, but generally the calculations I've implemented in AF are considered correct at that point in time...if there is missing data then the calculation would reflect that, usually with a digital status.