using FLY.FeedbackRenZiJia.Common; using FLY.FeedbackRenZiJia.IService; using FLY.FeedbackRenZiJia.OBJ_INTERFACE; using FObjBase; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; namespace FLY.FeedbackRenZiJia.Client { public class HeatBufServiceClient : FObjBase.Reflect.Reflect_SeviceClient, IHeatBufService { protected override Type InterfaceType => typeof(IHeatBufService); #region 属性,对外接口 #region 参数 /// /// 加热生效曲线,允许为空,则不生效 /// public int[] HeatEffectCurve { get; set; } /// /// 厚度稳定范围 %, 偏差在范围内,都是稳定的 /// public int StableRange { get; set; } = 2; /// /// 对位模式, 加热与厚度相关性阀值, 相关性 >=0.7 /// public double ThresholdR { get; set; } = 0.7; /// /// 对位模式 厚度%差 的极差 >= +4%-4%=8%, 单位% /// public int ThresholdMaxMin { get; set; } = 8; /// /// % /// 最大sigma, 只有当前的sigma 在 最大sigma 与 最小 sigma 内,才能控制 /// public int ThresholdSigmaMax { get; set; } = 20; /// /// % /// 最小sigma, 只有当前的sigma 在 最大sigma 与 最小 sigma 内,才能控制 /// public double ThresholdSigmaMin { get; set; } = 2; #endregion #region 状态 /// /// 总延时 =Delay+mRenZiJiaService.FilmLength/mRenZiJiaService.Velocity /// public TimeSpan Delay { get; set; } = TimeSpan.FromSeconds(100); #region 对位 /// /// 对位查找范围 默认 ±120°, 最大值 180°,最小值 50° /// public int SearchRange { get; set; } = 120; /// /// 计算的最佳复位区号 /// public int BestOrgBoltNo { get; set; } = -1; /// /// 计算的最佳复位区号 对应的 加热/厚度 /// public double BestKp { get; set; } = -1; /// /// 计算的最佳复位区号 对应的 加热与厚度相关性 /// public double MaxR { get; set; } = -1; /// /// 计算的最佳复位区号 对应的 厚度%变化极差 单位% /// public int MaxMin { get; set; } = -1; /// /// MaxR 对应的 数据幅 Id0 /// public long MaxR_Id0 { get; set; } /// /// MaxR 对应的 数据幅 Id1 /// public long MaxR_Id1 { get; set; } /// /// MaxR 对应的 数据幅 时间 /// public DateTime MaxR_Time { get; set; } #endregion #region 稳定性 /// /// 当前检测出来的厚度数据 稳定状态 /// public STABILITY Stability { get; set; } = STABILITY.IDLE; /// /// 当前检测出来的厚度数据 的稳定性 /// public double CurrR { get; set; } = -1; /// /// 当前检测出来的厚度数据 2Sigma /// public double Curr2Sigma { get; set; } = -1; /// /// 当前检测出来的厚度数据,时间 /// public DateTime CurrTime { get; set; } = DateTime.MinValue; #endregion #region 每个分区状态 public bool[] BoltIsStable { get; set; } #endregion #endregion #endregion public HeatBufServiceClient(UInt32 serviceId) : base(serviceId) { } public HeatBufServiceClient(UInt32 serviceId, string connName) : base(serviceId, connName) { } public void Apply() { Call(nameof(Apply)); } } }