using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel; using FObjBase; using FObjBase.Reflect; namespace FLY.Thick.Base.IService { //剔除!!!!! public interface IRejectService:INotifyPropertyChanged { /// <summary> /// 使能 /// </summary> bool Enable { get; set; } /// <summary> /// 规格范围,Math.Abs(value-Target) > UpperLimitRatio*Target 都要被删除 /// </summary> double LimitRangeRatio { get; set; } /// <summary> /// 剔除阈值,低于 ThresholdRatio*Target 都要被删除 /// </summary> double ThresholdRatio { get; set; } /// <summary> /// 滤波范围,单位脉冲 /// </summary> int SmoothRange { get; set; } /// <summary> /// 当前数据需要剔除,那么它的前后Range2个脉冲的数据都是删除,单位脉冲 /// </summary> int RejectRange { get; set; } /// <summary> /// 调试数据更新时间,用于让客户端 决定什么时候 下载调试数据 /// </summary> DateTime DebugUpdateTime { get; } [Call(typeof(RejectDebugData))] void GetDebugData(AsyncCBHandler asyncDelegate, object asyncContext); void Apply(); } public class RejectDebugData { public int start_grid; /// <summary> /// 滤波后的数据 /// </summary> public double[] filterDatas; /// <summary> /// 剔除后的数据 /// </summary> public double[] rejectDatas; /// <summary> /// 上面的数据,都是grid数据,最后需要以脉冲显示在画面上 /// </summary> public int posOfGrid; /// <summary> /// 目标值 /// </summary> public double target; } }