I have data loss while reading recordedValues from PIServer archived values

I try to read each 5s a specific timerange, I got sometimes a missed data.

using this method : 

var pointResultsList = pointList.RecordedValues(timeRange, boundaryTypeAF, null, false, config);

 PIPagingConfiguration config = new PIPagingConfiguration(PIPageType.TagCount, 1000);

 

Does the PIPagingConfiguration parameters affect ?

Should I add an operationTimeoutOverride to config ?

Parents
  • You should move the config line before the RecordedValues call.

    The PIPagingConfiguration parameters do NOT affect the missing data.

    You should not add an operationTimeoutOverride unless you have a crazy amount of tags that are providing subsecond readings. Can you share more about this?

     

    5 seconds is a tiny time range. What makes you think you have missed data? Note that if you are using certain visual tools, like SMT or PI System Explorer, that the timestamps shown to you may omit the subseconds, which makes you think a recorded values is missing, when it would be included in the next call.

     

    How are you setting the timerange? Presumably in a loop, but do you use the current EndTime for the next StartTime or do you add a something to EndTime? Some may add 1.0/65536.0 of a second, which is roughly equal to 152.6 ticks. Others may add 152 ticks. Can you share what you do?

     

Reply
  • You should move the config line before the RecordedValues call.

    The PIPagingConfiguration parameters do NOT affect the missing data.

    You should not add an operationTimeoutOverride unless you have a crazy amount of tags that are providing subsecond readings. Can you share more about this?

     

    5 seconds is a tiny time range. What makes you think you have missed data? Note that if you are using certain visual tools, like SMT or PI System Explorer, that the timestamps shown to you may omit the subseconds, which makes you think a recorded values is missing, when it would be included in the next call.

     

    How are you setting the timerange? Presumably in a loop, but do you use the current EndTime for the next StartTime or do you add a something to EndTime? Some may add 1.0/65536.0 of a second, which is roughly equal to 152.6 ticks. Others may add 152 ticks. Can you share what you do?

     

Children
No Data