I am checking an approach to tackle a situation with thousands of PI Points by Performance Equation (PE) and PIPointList.InterpolatedValuesAtTimes in AF SDK.
Let me simplify the situation in below example:
Assume in a PI Data Archive, Point Source (say 'A') have below 5 PI Tags with below archive values:
A0001 A0002 A0003 A0004 A0005
13:00 75 15 132 110 92
14:00 64 104 116 15 88
After checking PI AF SDK documentation, I know I can retrieve all archive values above using function PIPointList.InterpolatedValuesAtTimes with input parameters
IList<AFTimes> times as 13:00, 14:00
filterExpression as (null)
includeFilteredValues as false
PIPagingConfiguration as PIPagingConfiguration(PIPageType.TagCount, 100);
My question is that is it possible if I only want to retrieve only archive values with > 100 by the same function? In the parameter "filterExpression", it uses Performance Equation.
I am thinking to use TagVal function (e.g. (TagVal('tagname') > 100) but it requires a single tag name as a parameter input while in about functions no single tag can be inputted.
Please let me know if I am thinking in wrong approach and feel free to suggest me other method (even not by the function mentioned above) to retrieve those only 4 archive values with > 100
while the PI Tag Name can be referenced back. (Using above function, the PI Point can be referenced back by pointResults.PIPoint in the example.)
Thanks all for your attention and suggestion!