I have run into a scenario where I am retrieving all the PI Points and PointAttriburtes from a server accross a slow internet connection (from Germany to US) and I keep recieving an error. The PI server does have fair amount of points (aprox 35,000). The error appears to happen at random on a different PI Point each time (my guess is it is a timeout issue - after a specified amount of time). I have included the basic calls being made below:
ptList = this.piServer.GetPoints(" tag='*' ", null);
for (int i = 0; i < ptList.Count; ++i)
object refIndex = i;
PISDK.PIPoint pt = ptList.get_Item(ref refIndex);
foreach PISDK.PointAttribute attr in pt.PointAttributes) // <--- error happens on this line
Error:"Object is no longer connected to the server. The connection was explicitly closed. CPIPoint::get_PointAttributes"
I have not completely ruled out my own application's code from causing this error; however, I was hoping to get any additional info from the PI side of things as possiblle. Are there any known Timeouts when using the PI SDK? Is there any additional information on this error anywhere - it seems odd that I am able to get a reference to the PI Point but not get the PointAttributes for that point?
FYI: If I perform the same code from a US machine to the US server, I do not get any errors (I'm guessing again because it completes quite a bit faster and the timeout is not reached).
Any help would be greatly appreciated!