AnsweredAssumed Answered

PI AF SDK による エラー解消方法について

Question asked by YasutomoMatsuura on Nov 21, 2018
Latest reply on Nov 14, 2019 by YasutomoMatsuura

お世話になっております。質問させてください。

 

PI AF SDK(v4.0.30319) を利用してPI DAのデータを取得しています。

 

以下の要件を満たそうと実行したところ,エラーが発生しました。

 

Tag数:3000点

データ周期:1秒周期

期間:半年

 

エラー解消方法についてアプローチ方法についてご教示お願い致します。

 

仮説として,何かのタイムアウトもしくはサイズ制限かなと推測しております。

仮にPIDA側で上記設定が行われていた場合,PI AF SDKから変更可能でしょうか。

 

--- 以下,参考ソース,メッセージとスタックトレースです ---

<pre>

private List<AFValues> GetSpecifiedPITagData(List<string> tags, AFTimeRange timeRange, AFTimeSpan interval)

{

 

    PIPointList piPointList = new PIPointList(PIPoint.FindPIPoints(_PIServer, tags));

 

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

 

    List<AFValues> afValuesList = piPointList.InterpolatedValues(timeRange, interval, null, false, config).ToList();

 

    return afValuesList;

 

}

 

message: 操作は取り消されました。

stack trace:

   場所 System.Collections.Concurrent.BlockingCollection`1.TryTakeWithNoTimeValidation(T& item, Int32 millisecondsTimeout, CancellationToken cancellationToken, CancellationTokenSource combinedTokenSource)

   場所 System.Collections.Concurrent.BlockingCollection`1.<GetConsumingEnumerable>d__68.MoveNext()

   場所 OSIsoft.AF.PI.PIPageProcessor`2.PageDisposer`1.MoveNext()

   場所 System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)

   場所 System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)

   場所 xxxxxxxxxxx.Common.PIAccess.GetSpecifiedPITagData(List`1 tags, AFTimeRange timeRange, AFTimeSpan interval)

   場所 xxxxxxxxxxx.Common.PIAccess.GetPITagDataForTimeRange(List`1 tags, DateTime startTime, DateTime endTime, String interval)

   場所 xxxxxxxxxxx.xxxxxxxxx.ExportPiData(String filePath)

</ pre>

Outcomes