using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.Reflection;
using System.Diagnostics;
using System.Windows.Media;
using Misc;

namespace FLY.IBC.Common
{
    public class IBCData:INotifyPropertyChanged
    {
        public IBCData()
        {
        }
        /// <summary>
        /// 与PLC连接状态
        /// </summary>
        public bool IsConnectedWithPLC { get; set; }
        #region 辅助代码生成
        /// <summary>
        /// 进风指示
        /// </summary>
        [Description("进风指示")]
        public bool IsInletAirOn{ get; set; }

        /// <summary>
        /// 进风运行频率(Hz)(自动调节)
        /// </summary>
        [Description("进风运行频率(Hz)(自动调节)")]
        public float InletAirFreq{ get; set; }

        /// <summary>
        /// 进风设定频率(Hz)
        /// </summary>
        [Description("进风设定频率(Hz)")]
        public float InletAirFreqSet{ get; set; }

        /// <summary>
        /// 出风指示
        /// </summary>
        [Description("出风指示")]
        public bool IsOutletAirOn{ get; set; }

        /// <summary>
        /// 出风运行频率(Hz)
        /// </summary>
        [Description("出风运行频率(Hz)")]
        public float OutletAirFreq{ get; set; }

        /// <summary>
        /// 出风设定频率(Hz)
        /// </summary>
        [Description("出风设定频率(Hz)")]
        public float OutletAirFreqSet{ get; set; }

        /// <summary>
        /// 出风设定频率后通知
        /// </summary>
        [Description("出风设定频率后通知")]
        public bool IsOutletAirFreqChanged{ get; set; }

        /// <summary>
        /// 折径显示(mm)
        /// </summary>
        [Description("折径显示(mm)")]
        public float FilmWidth{ get; set; }

        /// <summary>
        /// 折径设定(mm)
        /// </summary>
        [Description("折径设定(mm)")]
        public float FilmWidthSet{ get; set; }

        /// <summary>
        /// 折径设定后通知
        /// </summary>
        [Description("折径设定后通知")]
        public bool IsFilmWidthChanged{ get; set; }

        /// <summary>
        /// 误差校正
        /// </summary>
        [Description("误差校正")]
        public float ErrorCorrection{ get; set; }

        /// <summary>
        /// IBC自动
        /// </summary>
        [Description("IBC自动")]
        public bool IsIBCAuto{ get; set; }

        /// <summary>
        /// K1
        /// </summary>
        [Description("K1")]
        public float K1{ get; set; }

        /// <summary>
        /// K2
        /// </summary>
        [Description("K2")]
        public float K2{ get; set; }

        /// <summary>
        /// K3
        /// </summary>
        [Description("K3")]
        public float K3{ get; set; }

        /// <summary>
        /// L
        /// </summary>
        [Description("L")]
        public float L{ get; set; }

        /// <summary>
        /// 膜泡校正A
        /// </summary>
        [Description("膜泡校正A")]
        public float BubbleCorrA{ get; set; }

        /// <summary>
        /// 膜泡校正B
        /// </summary>
        [Description("膜泡校正B")]
        public float BubbleCorrB{ get; set; }

        /// <summary>
        /// 膜泡校正C
        /// </summary>
        [Description("膜泡校正C")]
        public float BubbleCorrC{ get; set; }

        /// <summary>
        /// 膜泡校正R
        /// </summary>
        [Description("膜泡校正R")]
        public float BubbleCorrR{ get; set; }

        /// <summary>
        /// 采样周期
        /// </summary>
        [Description("采样周期")]
        public float SampleInterval{ get; set; }

        /// <summary>
        /// 区间1设置
        /// </summary>
        [Description("区间1设置")]
        public float Area1Set{ get; set; }

        /// <summary>
        /// 区间1P
        /// </summary>
        [Description("区间1P")]
        public float Area1P{ get; set; }

        /// <summary>
        /// 区间1I
        /// </summary>
        [Description("区间1I")]
        public float Area1I{ get; set; }

        /// <summary>
        /// 区间1D
        /// </summary>
        [Description("区间1D")]
        public float Area1D{ get; set; }

        /// <summary>
        /// 区间1DI
        /// </summary>
        [Description("区间1DI")]
        public float Area1DI{ get; set; }

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

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

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

        /// <summary>
        /// 进风速度
        /// </summary>
        [Description("进风速度")]
        public float InletAirVelocity{ get; set; }

        /// <summary>
        /// 出风速度
        /// </summary>
        [Description("出风速度")]
        public float OutletAirVelocity{ get; set; }

        /// <summary>
        /// 区间2设置
        /// </summary>
        [Description("区间2设置")]
        public float Area2Set{ get; set; }

        /// <summary>
        /// 区间2P
        /// </summary>
        [Description("区间2P")]
        public float Area2P{ get; set; }

        /// <summary>
        /// 区间2I
        /// </summary>
        [Description("区间2I")]
        public float Area2I{ get; set; }

        /// <summary>
        /// 区间2D
        /// </summary>
        [Description("区间2D")]
        public float Area2D{ get; set; }

        /// <summary>
        /// 传感器1盲区
        /// </summary>
        [Description("传感器1盲区")]
        public float Sensor1DeadZone{ get; set; }

        /// <summary>
        /// 传感器2盲区
        /// </summary>
        [Description("传感器2盲区")]
        public float Sensor2DeadZone{ get; set; }

        /// <summary>
        /// 传感器3盲区
        /// </summary>
        [Description("传感器3盲区")]
        public float Sensor3DeadZone{ get; set; }

        /// <summary>
        /// 传感器1系数
        /// </summary>
        [Description("传感器1系数")]
        public float Sensor1Factor{ get; set; }

        /// <summary>
        /// 传感器2系数
        /// </summary>
        [Description("传感器2系数")]
        public float Sensor2Factor{ get; set; }

        /// <summary>
        /// 传感器3系数
        /// </summary>
        [Description("传感器3系数")]
        public float Sensor3Factor{ get; set; }

        /// <summary>
        /// 进风变频故障报警
        /// </summary>
        [Description("进风变频故障报警")]
        [IsError()]
        public bool IsInletAirMotorError{ get; set; }

        /// <summary>
        /// 出风变频故障报警
        /// </summary>
        [Description("出风变频故障报警")]
        [IsError()]
        public bool IsOutletAirMotorError{ get; set; }

        /// <summary>
        /// 进风变频通讯报警
        /// </summary>
        [Description("进风变频通讯报警")]
        [IsError()]
        public bool IsInletAirCommError{ get; set; }

        /// <summary>
        /// 出风变频通讯报警
        /// </summary>
        [Description("出风变频通讯报警")]
        [IsError()]
        public bool IsOutletAirCommError{ get; set; }

        #endregion

        public event PropertyChangedEventHandler PropertyChanged;

    }
}