Bad performance when reading data from AF Attribute with PI Point Array as data reference.

Discussion created by AndersB on Oct 1, 2012
Latest reply on Oct 3, 2012 by AndersB



We are facing a problem with performance issues when we try to read array data from PI via PI AF SDK. We have measurement frames that collect data across a paper track. We measure 600 values across the track approximately every 30 seconds for a total of 80 different properties.


In one real world example we want to read all the data for a single property for the total time of a jumboreel. This can mean that we read 50 - 100 arrays for one jumboreel. A total of 30000 - 60000 values! This operation takes about 30 - 60 seconds which is not acceptable performance. Ideally it would take half a second, not more.


What we are looking for here is best practice for reading "large" arrays via AF SDK.


Today we are using AFElement.FindElements() to find objects in the AF Database, and AFAttribute.GetValue() to get the data itself. At the moment I do not have a clean code example to illustrate this, but if necessary I can provide that.