i have 2 attribute (x and y):
The attribute y should calculatethe integral of x.
How can Ido?In the list ofPI FORMULA I can not findtheappropriate function.
Thanks a lot
The Formula Data Reference offers only a very basic set of functions but the good news is that you have a bunch of choices.
1. The first and foremost recommendation is to use Asset Based Analytics. The TagTot() function delivers the time weighted integral. Asset Based Analytics was introduced with PI AF Server 2014.
2. You can write a Custom Data Reference to provide you with the required functionality
3. Use PI Performance Equation Scheduler as the calculation engine. Again the function would be TagTot()
4. Use PI Totalizer Subsystem. Please see KB00793 - How to set up a PI Totalizer point to do a Monthly or Daily Integral (Time Weighted Total)
5. Use PI Advanced Calculation Engine (PI ACE)
Thanks Gregor, for my situation I think that way number 3 is the most praticable.
How, in AF, I can use PI PEs?
In other words: I have an attribute (AAAA) with a PI Point (tag XXX); in another attribute (BBBB) i want to do TagTot()/integral of AAAA.
- Which is the Data Reference of attribute AAAA? Formula?
- In the tab "Formula Configuration", how can I use and specify parameters of integral (for example, time range)?
PI Performance Equation Scheduler doesn't know about AF, only about PI points. This said, you will need to configure the calculated tag on the PI Data Archive and link it to your attribute y (BBBB). For setting up a single PI Performance Equation tag, I suggest using PI System Management Tools (PI SMT) -> Points -> Performance Equations. Please note that you don't refer attribute x (AAAA) but the underlying PI point (XXX).
With options # 4 and 5 you would need to operate outside the Asset Framework world too. Only the first 2 options are "Asset aware".
What's your reason for not using Asset Based Analytics?
I cannot use Option 1 because my AF is 2012. Where I can find more information about how to use Custom Data Reference?
Your use case is a good argument to update your AF Server to the current version.
Creating a Custom Data Reference involves programming where functionality is available out of the box either going with e.g. PI Performance Equation Scheduler (PE) or with Asset Based Analytics. Well, if there's a good reason for not upgrading your AF Server at this point in time, PE is a good choice - fast and simple to achieve.
Finally it's your decision but I consider creating a custom Data Reference a waste of time for this purpose except you take it as an exercise. The White Paper about Implementing AF 2.x Data References can be found at vCampus Library.
I'm a bit confused, either i see an easy option, or i misunderstand integrals.
Can't you just just the "Time Range Override" on the PI Point DataReference, and calculate the time-weighted total for a fixed timerange?
I didn't take this possible option into account. I am currently looking at the PI Point Data Reference dialog. As far as I can see, one would have to specify a relative time. If I am not mistaken the result would be a moving total because the relative time specifies a moving period of fixed length. If this is the kind of integration Marco is looking for, it's indeed a very easy and straight forward option inside AF.
It's always a bit of a tradeoff, as i agree that this integration feature, while very powerful, can be slightly confusing to users (e.g. using CoreSight) when the data is plotted in a trend. This quickly moves into the grey area between AF model design, and mapping presentation layer requirements to this business layer.
If you get interpolated data from the attribute, with an interpolation interval that matches the set relative time, you have a very easy way of doing integrals from flows to volumes. My personal best practice is to place statistical deratives of flow attributes in a child-attribute, where the child-attribute name describes what kind of statistical derative is shown:
- Attribute: Flow
- Child attribute: Average hour
- Child attribute: Average day
Do beware that using child-attributes in e.g. WebParts requires some tricks...
Retrieving data ...