using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace IStation.Model.Monitor
|
{
|
/// <summary>
|
/// 过滤参数
|
/// </summary>
|
public class FilterParameters : JsonModel<FilterParameters>
|
{
|
/// <summary>
|
/// 最大阀值
|
/// </summary>
|
public double? MaxThresholdValue { get; set; }
|
|
/// <summary>
|
/// 最小阀值
|
/// </summary>
|
public double? MinThresholdValue { get; set; }
|
|
/// <summary>
|
/// 突变阀值
|
/// </summary>
|
public double? MutThresholdValue { get; set; }
|
|
/// <summary>
|
/// 过滤
|
/// </summary>
|
public bool Filter(double value_current, double? value_pre)
|
{
|
if (MaxThresholdValue != null)
|
{
|
if (value_current > MaxThresholdValue.Value)
|
{
|
return false;
|
}
|
}
|
if (MinThresholdValue != null)
|
{
|
if (value_current < MinThresholdValue.Value)
|
{
|
return false;
|
}
|
}
|
if (value_pre != null)
|
{
|
if (MutThresholdValue != null)
|
{
|
if (Math.Abs(value_current - value_pre.Value) > MutThresholdValue)
|
{
|
return false;
|
}
|
}
|
}
|
return true;
|
}
|
}
|
}
|