using FLY.Thick.Base.Common; using FObjBase.Reflect; using System; using System.ComponentModel; namespace FLY.Thick.Base.IService { /// /// 膜位置检测; /// 通过辊接近开关,或者编码器2; /// 支持同步; /// public interface IFilmPositionDetectService : INotifyPropertyChanged { #region 状态 /// /// 线速度 m/min /// double FilmVelocity { get; } /// /// 膜位置, m /// double FilmPosition { get; } /// /// 复位标识,从同步服务器发送过来的 /// int ResetMark { get; } #endregion #region 参数 /// /// 线速度阀值,低于阀值,速度直接变为0 /// double FilmVThreshold { get; set; } /// /// 线速度来源 /// FilmVSRC FilmVSrc { get; set; } /// /// 线速度:编码器2 mm/pulse /// double Encoder2_mmpp { get; set; } /// /// 线速度:1圈多少mm /// double MmOfR { get; set; } #endregion /// /// 设置膜位置为某值 /// /// 极片位置m void Reset(double filmPos); /// /// 让同步信号输出 1->0 /// void SyncSysTime(); /// /// 纵向光纤传感器检测到 0到1 变化 事件 /// 或 /// sysTime同步信号触发 0到1 变化 事件 /// [Push(typeof(SysTimeFilmPosEventArgs))] event EventHandler SysTimeFilmPosEvent; /// /// 设置膜位置为某值; 同步服务器调用的 /// /// 极片位置m /// AD盒sysTime /// 复位标识 void Reset(double filmPos, DateTime sysTime, int resetMark); } /// /// 从 0 到 1 时极片位置事件 /// public class SysTimeFilmPosEventArgs : EventArgs { /// /// sysTime 的同步信号触发 /// public bool IsSysTimeSync; /// /// AD盒的SysTime /// public DateTime SysTime; /// /// 极片位置单位m, 精度0.000m /// public double FilmPos; } /// /// /// /// /// public delegate void SysTimeFilmPosEventHandler(object s, SysTimeFilmPosEventArgs e); }