/// <summary> /// SubMaxMin delegate. Subtracts min from max value in a timespan. /// </summary> /// <param name="rdxQuery"></param> /// <param name="opcUaNode"></param> public static async Task SubMaxMin(RDXOeeKpiQuery rdxQuery, ContosoOpcUaNode opcUaNode) { double max = await rdxQuery.OpcUaQueries.GetAggregatedNode(rdxQuery.SearchSpan, rdxQuery.AppUri, opcUaNode.NodeId, RDXOpcUaQueries.MaxValues()); double min = await rdxQuery.OpcUaQueries.GetAggregatedNode(rdxQuery.SearchSpan, rdxQuery.AppUri, opcUaNode.NodeId, RDXOpcUaQueries.MinValues()); opcUaNode.Last.Value = max - min; opcUaNode.Last.Time = rdxQuery.SearchSpan.To; opcUaNode.UpdateRelevance(rdxQuery.TopologyNode); }
/// <summary> /// Max delegate. Returns largest value in a timespan. /// </summary> public static Task Max(RDXOeeKpiQuery rdxQuery, ContosoOpcUaNode opcUaNode) { return(Aggregate(rdxQuery, opcUaNode, RDXOpcUaQueries.MaxValues())); }