using Misc;
using System.ComponentModel;

namespace FLY.Winder.Common
{
    public class WinderAccessory : INotifyPropertyChanged
    {
        public WinderAccessory()
        {

        }

        #region 辅助代码生成
        /// <summary>
        /// 设定速度(m/min)
        /// </summary>
        [Description("设定速度(m/min)")]
        public float VelocitySet{ get; set; }

        /// <summary>
        /// 速度确定(┷)
        /// </summary>
        [Description("速度确定(┷)")]
        public bool IsVelocityChanged{ get; set; }

        /// <summary>
        /// 速度显示(m/min)
        /// </summary>
        [Description("速度显示(m/min)")]
        public float Velocity{ get; set; }

        /// <summary>
        /// 上牵引电机电流(A)
        /// </summary>
        [Description("上牵引电机电流(A)")]
        public float Traction1Current{ get; set; }

        /// <summary>
        /// 上牵引开启显示
        /// </summary>
        [Description("上牵引开启显示")]
        public bool IsTraction1On{ get; set; }

        /// <summary>
        /// 上牵引开启设置
        /// </summary>
        [Description("上牵引开启设置")]
        public bool IsTraction1OnSet{ get; set; }

        /// <summary>
        /// 二牵引设定张力(kg)
        /// </summary>
        [Description("二牵引设定张力(kg)")]
        public float Traction2TensionKgSet{ get; set; }

        /// <summary>
        /// 二牵引实际张力(kg)
        /// </summary>
        [Description("二牵引实际张力(kg)")]
        public float Traction2TensionKg{ get; set; }

        /// <summary>
        /// 二牵引电机电流(A)
        /// </summary>
        [Description("二牵引电机电流(A)")]
        public float Traction2Current{ get; set; }

        /// <summary>
        /// 二牵引手动
        /// </summary>
        [Description("二牵引手动")]
        public bool IsTraction2Manual{ get; set; }

        /// <summary>
        /// 二牵引开启显示
        /// </summary>
        [Description("二牵引开启显示")]
        public bool IsTraction2On{ get; set; }

        /// <summary>
        /// 二牵引开启设置
        /// </summary>
        [Description("二牵引开启设置")]
        public bool IsTraction2OnSet{ get; set; }

        /// <summary>
        /// 旋转塔正转
        /// </summary>
        [Description("旋转塔正转")]
        public bool IsRotaryForw{ get; set; }

        /// <summary>
        /// 旋转塔反转
        /// </summary>
        [Description("旋转塔反转")]
        public bool IsRotaryBackw{ get; set; }

        /// <summary>
        /// 旋转塔正向机械限位
        /// </summary>
        [Description("旋转塔正向机械限位")]
        public bool IsRotaryForwLimit{ get; set; }

        /// <summary>
        /// 旋转塔正转换向限位
        /// </summary>
        [Description("旋转塔正转换向限位")]
        public bool IsRotaryForwTurn{ get; set; }

        /// <summary>
        /// 旋转塔复位原点限位
        /// </summary>
        [Description("旋转塔复位原点限位")]
        public bool IsRotaryOrgSign{ get; set; }

        /// <summary>
        /// 旋转塔反转换向限位
        /// </summary>
        [Description("旋转塔反转换向限位")]
        public bool IsRotaryBackwTurn{ get; set; }

        /// <summary>
        /// 旋转塔反向机械限位
        /// </summary>
        [Description("旋转塔反向机械限位")]
        public bool IsRotaryBackwLimit{ get; set; }

        /// <summary>
        /// 旋转塔电机频率设定(Hz)
        /// </summary>
        [Description("旋转塔电机频率设定(Hz)")]
        public float RotaryFreqSet{ get; set; }

        /// <summary>
        /// 旋转塔电机频率确定
        /// </summary>
        [Description("旋转塔电机频率确定")]
        public bool IsRotaryFreqChanged{ get; set; }

        /// <summary>
        /// 旋转塔电机频率显示(Hz)
        /// </summary>
        [Description("旋转塔电机频率显示(Hz)")]
        public float RotaryFreq{ get; set; }

        /// <summary>
        /// 旋转塔电机电流(A)
        /// </summary>
        [Description("旋转塔电机电流(A)")]
        public float RotaryCurrent{ get; set; }

        /// <summary>
        /// 旋转塔复位指示
        /// </summary>
        [Description("旋转塔复位指示")]
        public bool IsRotaryOrg{ get; set; }

        /// <summary>
        /// 旋转塔复位(┷)
        /// </summary>
        [Description("旋转塔复位(┷)")]
        public bool RotaryOrg{ get; set; }

        /// <summary>
        /// 旋转塔开启指示
        /// </summary>
        [Description("旋转塔开启指示")]
        public bool IsRotaryOn{ get; set; }

        /// <summary>
        /// 旋转塔开启(┷)
        /// </summary>
        [Description("旋转塔开启(┷)")]
        public bool RotaryOn{ get; set; }

        /// <summary>
        /// 一牵引调试On
        /// </summary>
        [Description("一牵引调试On")]
        public bool IsTraction1Debug{ get; set; }

        /// <summary>
        /// 一牵引辊筒直径
        /// </summary>
        [Description("一牵引辊筒直径")]
        public float Traction1RollerD{ get; set; }

        /// <summary>
        /// 一牵引传动速比
        /// </summary>
        [Description("一牵引传动速比")]
        public float Traction1GearRatio{ get; set; }

        /// <summary>
        /// 一牵引同步速度
        /// </summary>
        [Description("一牵引同步速度")]
        public float Traction1SyncV{ get; set; }

        /// <summary>
        /// 一牵引实际速度
        /// </summary>
        [Description("一牵引实际速度")]
        public float Traction1Velocity{ get; set; }

        /// <summary>
        /// 二牵引张力反馈
        /// </summary>
        [Description("二牵引张力反馈")]
        public float Traction2Tension{ get; set; }

        /// <summary>
        /// 二牵引张力设定
        /// </summary>
        [Description("二牵引张力设定")]
        public float Traction2TensionSet{ get; set; }

        /// <summary>
        /// 二牵引增益设定
        /// </summary>
        [Description("二牵引增益设定")]
        public float Traction2Gain{ get; set; }

        /// <summary>
        /// 二牵引积分时间
        /// </summary>
        [Description("二牵引积分时间")]
        public float Traction2ITime{ get; set; }

        /// <summary>
        /// 二牵引调节系数
        /// </summary>
        [Description("二牵引调节系数")]
        public float Traction2Factor{ get; set; }

        /// <summary>
        /// 二牵引辊筒直径
        /// </summary>
        [Description("二牵引辊筒直径")]
        public float Traction2RollerD{ get; set; }

        /// <summary>
        /// 二牵引传动速比
        /// </summary>
        [Description("二牵引传动速比")]
        public float Traction2GearRatio{ get; set; }

        /// <summary>
        /// 二牵引PID结果
        /// </summary>
        [Description("二牵引PID结果")]
        public float Traction2PIDResult{ get; set; }

        /// <summary>
        /// 二牵引PID调节
        /// </summary>
        [Description("二牵引PID调节")]
        public float Traction2PIDAdjust{ get; set; }

        /// <summary>
        /// 二牵引同步速度
        /// </summary>
        [Description("二牵引同步速度")]
        public float Traction2SyncV{ get; set; }

        /// <summary>
        /// 二牵引实际速度
        /// </summary>
        [Description("二牵引实际速度")]
        public float Traction2Velocity{ get; set; }

        /// <summary>
        /// 速度系数
        /// </summary>
        [Description("速度系数")]
        public float VelocityFactor{ get; set; }

        /// <summary>
        /// 加减时间
        /// </summary>
        [Description("加减时间")]
        public float AccDecTime{ get; set; }

        /// <summary>
        /// 二牵引升降增益
        /// </summary>
        [Description("二牵引升降增益")]
        public float Traction2LiftGain{ get; set; }

        /// <summary>
        /// 张力检测设定
        /// </summary>
        [Description("张力检测设定")]
        public float TensionDetection{ get; set; }

        /// <summary>
        /// 收卷计米辊周长(mm)
        /// </summary>
        [Description("收卷计米辊周长(mm)")]
        public float WinderMeasurePerimeter{ get; set; }

        /// <summary>
        /// 张力检测量程(kg)
        /// </summary>
        [Description("张力检测量程(kg)")]
        public float TensionDetectionRange{ get; set; }

        /// <summary>
        /// 收卷最大直径
        /// </summary>
        [Description("收卷最大直径")]
        public float WindMaxDia{ get; set; }

        /// <summary>
        /// 主牵引风机过载报警!!!请检查 (OFF)
        /// </summary>
        [Description("主牵引风机过载报警!!!请检查")]
        [IsError(offIsError:true)]
        public bool IsError_T1FanOL{ get; set; }

        /// <summary>
        /// 主牵引变频故障报警!!!请检查 (ON)
        /// </summary>
        [Description("主牵引变频故障报警!!!请检查")]
        [IsError()]
        public bool IsError_T1VFD{ get; set; }

        /// <summary>
        /// 二牵引变频故障报警!!!请检查 (ON)
        /// </summary>
        [Description("二牵引变频故障报警!!!请检查")]
        [IsError()]
        public bool IsError_T2VFD{ get; set; }

        /// <summary>
        /// 二牵引风机过载报警!!!请检查 (OFF)
        /// </summary>
        [Description("二牵引风机过载报警!!!请检查")]
        [IsError(offIsError:true)]
        public bool IsError_T2FanOL{ get; set; }

        /// <summary>
        /// 旋转塔变频故障报警!!!请检查 (ON)
        /// </summary>
        [Description("旋转塔变频故障报警!!!请检查")]
        [IsError()]
        public bool IsError_RotaryVFD{ get; set; }

        /// <summary>
        /// 二牵引拉线急停开启!!!请复位 (OFF)
        /// </summary>
        [Description("二牵引拉线急停开启!!!请复位")]
        [IsError(offIsError:true)]
        public bool IsError_T2Scram{ get; set; }

        /// <summary>
        /// 电柜急停开启!!!请复位 (OFF)
        /// </summary>
        [Description("电柜急停开启!!!请复位")]
        [IsError(offIsError:true)]
        public bool IsError_Scram{ get; set; }

        /// <summary>
        /// 主牵引拉线急停开启!!!请复位 (OFF)
        /// </summary>
        [Description("主牵引拉线急停开启!!!请复位")]
        [IsError(offIsError:true)]
        public bool IsError_T1Scram{ get; set; }

        /// <summary>
        /// 客户急停开启!!!请复位 (OFF)
        /// </summary>
        [Description("客户急停开启!!!请复位")]
        [IsError(offIsError:true)]
        public bool IsError_CustomerScram{ get; set; }

        /// <summary>
        /// 旋转塔正转已到极限位!!!请检查 (OFF)
        /// </summary>
        [Description("旋转塔正转已到极限位!!!请检查")]
        [IsError(offIsError:true)]
        public bool IsError_RotaryForwLimit{ get; set; }

        /// <summary>
        /// 旋转塔反转已到极限位!!!请检查 (OFF)
        /// </summary>
        [Description("旋转塔反转已到极限位!!!请检查")]
        [IsError(offIsError:true)]
        public bool IsError_RotaryBackwLimit{ get; set; }

        /// <summary>
        /// 气垫辊1电源故障!!!请检查 (OFF)
        /// </summary>
        [Description("气垫辊1电源故障!!!请检查")]
        [IsError(offIsError:true)]
        public bool IsError_AirRoller1Power{ get; set; }

        /// <summary>
        /// 气垫辊2电源故障!!!请检查 (OFF)
        /// </summary>
        [Description("气垫辊2电源故障!!!请检查")]
        [IsError(offIsError:true)]
        public bool IsError_AirRoller2Power{ get; set; }

        /// <summary>
        /// 主牵引变频通讯报警!!!请检查 (ON)
        /// </summary>
        [Description("主牵引变频通讯报警!!!请检查")]
        [IsError()]
        public bool IsError_T1CommErr{ get; set; }

        /// <summary>
        /// 二牵引变频通讯报警!!!请检查 (ON)
        /// </summary>
        [Description("二牵引变频通讯报警!!!请检查")]
        [IsError()]
        public bool IsError_T2CommErr{ get; set; }

        /// <summary>
        /// 转塔变频通讯报警!!!请检查 (ON)
        /// </summary>
        [Description("转塔变频通讯报警!!!请检查")]
        [IsError()]
        public bool IsError_RotaryCommErr{ get; set; }

        /// <summary>
        /// 人字夹板电源故障!!!请检查 (OFF)
        /// </summary>
        [Description("人字夹板电源故障!!!请检查")]
        [IsError(offIsError:true)]
        public bool IsError_Splint1CommErr{ get; set; }

        /// <summary>
        /// 侧夹板电源故障!!!请检查 (OFF)
        /// </summary>
        [Description("侧夹板电源故障!!!请检查")]
        [IsError(offIsError:true)]
        public bool IsError_Splint2CommErr{ get; set; }

        /// <summary>
        /// 转塔正向极限锁定!!!请解除 (ON)
        /// </summary>
        [Description("转塔正向极限锁定!!!请解除")]
        [IsError()]
        public bool IsError_RotaryFlLock{ get; set; }

        /// <summary>
        /// 转塔反向极限锁定!!!请解除 (ON)
        /// </summary>
        [Description("转塔反向极限锁定!!!请解除")]
        [IsError()]
        public bool IsError_RotaryBlLock{ get; set; }

        #endregion

        public event PropertyChangedEventHandler PropertyChanged;
    }
}