本文整理汇总了C#中Opc.Ua.Server.TimeSlice.EndMatch方法的典型用法代码示例。如果您正苦于以下问题:C# TimeSlice.EndMatch方法的具体用法?C# TimeSlice.EndMatch怎么用?C# TimeSlice.EndMatch使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Opc.Ua.Server.TimeSlice
的用法示例。
在下文中一共展示了TimeSlice.EndMatch方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: UpdateBoundingValues
public override void UpdateBoundingValues(TimeSlice bucket, AggregateState state)
{
BoundingValue EarlyBound = bucket.EarlyBound;
BoundingValue LateBound = bucket.LateBound;
if (bucket.ExactMatch(state.LatestTimestamp))
{
EarlyBound.RawPoint = state.LatePoint == null ? state.EarlyPoint : state.LatePoint;
EarlyBound.DerivationType = BoundingValueType.QualityRaw;
}
else
{
if (EarlyBound.DerivationType != BoundingValueType.QualityRaw)
{
if (EarlyBound.EarlyPoint == null)
{
if ((state.EarlyPoint != null) && (state.EarlyPoint.SourceTimestamp < bucket.From))
{
EarlyBound.EarlyPoint = state.EarlyPoint;
}
}
if (EarlyBound.LatePoint == null)
{
if ((state.LatePoint != null) && (state.LatePoint.SourceTimestamp >= bucket.From))
{
EarlyBound.CurrentBadPoints = new List<DataValue>();
foreach (DataValue dv in state.CurrentBadPoints)
if (dv.SourceTimestamp < EarlyBound.Timestamp)
EarlyBound.CurrentBadPoints.Add(dv);
EarlyBound.DerivationType = BoundingValueType.QualityInterpolation;
}
}
}
if (state.HasTerminated && (state.LatePoint == null))
{
EarlyBound.CurrentBadPoints = new List<DataValue>();
foreach (DataValue dv in state.CurrentBadPoints)
if (dv.SourceTimestamp < EarlyBound.Timestamp)
EarlyBound.CurrentBadPoints.Add(dv);
EarlyBound.DerivationType = BoundingValueType.QualityExtrapolation;
}
}
if (bucket.EndMatch(state.LatestTimestamp))
{
LateBound.RawPoint = state.LatePoint == null ? state.EarlyPoint : state.LatePoint;
LateBound.DerivationType = BoundingValueType.QualityRaw;
}
else
{
if (LateBound.DerivationType != BoundingValueType.QualityRaw)
{
if ((state.EarlyPoint != null) && (state.EarlyPoint.SourceTimestamp < bucket.To))
LateBound.EarlyPoint = state.EarlyPoint;
if (LateBound.LatePoint == null)
{
if ((state.LatePoint != null) && (state.LatePoint.SourceTimestamp >= bucket.To))
{
LateBound.CurrentBadPoints = new List<DataValue>();
foreach (DataValue dv in state.CurrentBadPoints)
if (dv.SourceTimestamp < LateBound.Timestamp)
LateBound.CurrentBadPoints.Add(dv);
LateBound.DerivationType = BoundingValueType.QualityInterpolation;
}
}
}
if (state.HasTerminated && (state.LatePoint == null))
{
LateBound.CurrentBadPoints = new List<DataValue>();
foreach (DataValue dv in state.CurrentBadPoints)
if (dv.SourceTimestamp < LateBound.Timestamp)
LateBound.CurrentBadPoints.Add(dv);
LateBound.DerivationType = BoundingValueType.QualityExtrapolation;
}
}
}