using FLY.Thick.Base.Common; using FLY.Thick.Base.IService; using FObjBase.Reflect; using System; namespace FLY.Thick.Base.Client { /// /// /// public class FilmPositionDetectServiceClient : FObjBase.Reflect.Reflect_SeviceClient, IFilmPositionDetectService { protected override Type InterfaceType => typeof(IFilmPositionDetectService); /// /// AD 曲线服务 客户端代理 /// /// public FilmPositionDetectServiceClient(UInt32 id) : base(id) { } /// /// AD 曲线服务 客户端代理 /// /// 服务id /// 连接器 public FilmPositionDetectServiceClient(UInt32 serviceId, string connName) : base(serviceId, connName) { } #region 状态 /// /// 线速度 m/min /// public double FilmVelocity { get; set; } /// /// 膜位置, m /// public double FilmPosition { get; set; } /// /// 复位标识,从同步服务器发送过来的 /// public int ResetMark { get; set; } #endregion #region 参数 /// /// 线速度阀值,低于阀值,速度直接变为0 /// public double FilmVThreshold { get; set; } /// /// 线速度来源 /// public FilmVSRC FilmVSrc { get; set; } /// /// 线速度:编码器2 mm/pulse /// public double Encoder2_mmpp { get; set; } /// /// 线速度:1圈多少mm /// public double MmOfR { get; set; } #endregion /// /// 设置膜位置为某值 /// /// 极片位置m public void Reset(double filmPos) { Call(nameof(Reset), new { filmPos = filmPos }); } /// /// 让同步信号输出 1->0 /// public void SyncSysTime() { Call(nameof(SyncSysTime)); } /// /// 纵向光纤传感器检测到 0到1 变化 事件 /// 或 /// sysTime同步信号触发 0到1 变化 事件 /// [Push(typeof(SysTimeFilmPosEventArgs))] public event EventHandler SysTimeFilmPosEvent; public void Trigger_SysTimeFilmPosEvent(SysTimeFilmPosEventArgs e) { SysTimeFilmPosEvent?.Invoke(this, e); } /// /// 设置膜位置为某值; 同步服务器调用的 /// /// 极片位置m /// AD盒sysTime /// 复位标识 public void Reset(double filmPos, DateTime sysTime, int resetMark) { Call(nameof(Reset), new { filmPos = filmPos, sysTime = sysTime, resetMark = resetMark }); } } }