using FLY.Thick.Base.Common;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FLY.Thick.Base.IService
{
///
/// 膜位置检测;
/// 通过辊接近开关,或者编码器2;
/// 支持同步;
///
public interface IFilmPositionDetectService : INotifyPropertyChanged
{
#region 状态
///
/// 线速度 m/min
///
double FilmVelocity { get; }
///
/// 膜位置, m
///
double FilmPosition { get; }
///
/// 工作中
///
bool IsRunning { get; }
///
/// 当前正在使用的 与机头测厚仪偏移,单位m
///
double VDistanceWithHeaderInUsed { get; }
///
/// 当前正在使用的 激光探头与 X光的偏移,单位m
///
double VSensorOffsetInUsed { get; }
///
/// 已经重新开始测量
///
bool HasReset { 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; }
///
/// 本测厚仪探头与机头测厚仪探头距离单位m
///
double VDistanceWithHeader { get; set; }
///
/// 纵向光纤传感器与本测厚仪探头距离 单位m;
/// 修改此值,会改变纵向偏移
///
double VSensorOffset { get; set; }
#endregion
///
/// 主轴激光传感器检测到 1->0 变化 事件
///
event FilmPosAt01EventHandler FilmPosAt01Event;
///
/// 设置膜位置为某值
///
/// 极片位置m
void Reset(double filmPos);
///
/// 把膜位置设置为 -VDistanceWithHeader
///
void Reset();
///
/// 清除 hasReset标志位
///
void ClearResetState();
///
/// 服务器 从 机头得到的 0->1 事件,给机尾
///
/// 极片位置m
void SetFilmPosAt01(double filmPos);
///
/// 停止测量
///
void Stop();
///
/// 启动测量
///
void Start();
}
///
/// 0->1 时极片位置事件
///
public class FilmPosAt01EventArgs : EventArgs
{
///
/// 极片位置单位m
///
public double filmPos;
}
///
///
///
///
///
public delegate void FilmPosAt01EventHandler(object s, FilmPosAt01EventArgs e);
}