using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel; using System.Collections.ObjectModel; namespace FLY.FeedbackRenZiJia.IService { public interface IHeatCellService : INotifyPropertyChanged { #region 参数 /// /// HeatOffset = ThickPercent * Kp /// double Kp { get; set; } /// /// 自动对位 /// bool IsAutoONo { get; set; } /// /// 自动对位的Kp /// double AutoONoKp { get; set; } /// /// 输出平滑的阀值,只有超出阀值,才平滑 /// double ThresholdHeatSigma { get; set; } /// /// 自控时,不能调整总体上升下降 /// bool IsForbidUpDown { get; set; } /// /// 厚度控制线 , 厚度% 大于 厚度控制线 自动才会加热控制 /// int CtrlLine { get; set; } /// /// 开启打散模式, 打散模式下,以打散度小为目标,控制2sigma在 控制线内 /// bool IsBreakUpMode { get; set; } #endregion #region 状态 /// /// 对应的100% 数据,单位是% 数量是BoltCnt /// int[] ThickPercents { get; } /// /// 当前方向的加热策略,必须保证 0~100 /// int[] Heats { get; } /// /// 加热偏移量 /// int[] Offsets { get; } /// /// Heats+Offsets+Base, 必须保证0~100 /// int[] PreHeats { get; } /// /// PreHeat 每3个计算的sigma, 最大值 /// double MaxHeatSigma { get; } /// /// 当前正在自动对位模式 /// bool IsInAutoONo { get; } #endregion #region 功能 /// /// 参数应用 /// void Apply(); /// /// 手动调整加热增量 /// /// /// void ModifyOffset(int idx, int change); /// /// 参数是 baseheatoffset 的增量 /// /// void ModifyBase(int change); /// /// 清空HeatOffset /// void ClearOffsets(); /// /// 清空PreHeats /// void ClearPreHeats(); /// /// 调整PreHeats /// /// //void ModifyPreHeats(int[] heats); /// /// 执行 HeatOffset = ThickPercent * Factor /// void Cal(); /// /// 平滑 PreHeats /// void Smooth(); /// /// 加热输出应用 /// Heats = PreHeats, Offsets = 0, Base = 0 /// void HeatApply(); #endregion } }