FeederData.cs 5.16 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190
using FLY.OBJComponents.IService;
using System.Collections.Generic;
using System.ComponentModel;

namespace FLY.DownBlowing.Common
{
    public class FeederData : INotifyPropertyChanged
    {
        public FeederData()
        {

        }
        public void Init(string number) 
        {
            Number = number;
            FeedersBinding();
        }
        /// <summary>
        /// 名称:A,B,C,D,E
        /// </summary>
        public string Number { get; set; }

        #region 辅助代码生成
        /// <summary>
        /// 吸料开1
        /// </summary>
        [Description("吸料开1")]
        public bool IsFeederOn1{ get; set; }

        /// <summary>
        /// 吸料开2
        /// </summary>
        [Description("吸料开2")]
        public bool IsFeederOn2{ get; set; }

        /// <summary>
        /// 吸料开3
        /// </summary>
        [Description("吸料开3")]
        public bool IsFeederOn3{ get; set; }

        /// <summary>
        /// 吸料开4
        /// </summary>
        [Description("吸料开4")]
        public bool IsFeederOn4{ get; set; }

        /// <summary>
        /// 吸料开5
        /// </summary>
        [Description("吸料开5")]
        public bool IsFeederOn5{ get; set; }

        /// <summary>
        /// 吸料开6
        /// </summary>
        [Description("吸料开6")]
        public bool IsFeederOn6{ get; set; }

        /// <summary>
        /// 吸料复位1(按1)
        /// </summary>
        [Description("吸料复位1(按1)")]
        public bool FeederReset1{ get; set; }

        /// <summary>
        /// 吸料复位2(按1)
        /// </summary>
        [Description("吸料复位2(按1)")]
        public bool FeederReset2{ get; set; }

        /// <summary>
        /// 吸料复位3(按1)
        /// </summary>
        [Description("吸料复位3(按1)")]
        public bool FeederReset3{ get; set; }

        /// <summary>
        /// 吸料复位4(按1)
        /// </summary>
        [Description("吸料复位4(按1)")]
        public bool FeederReset4{ get; set; }

        /// <summary>
        /// 吸料复位5(按1)
        /// </summary>
        [Description("吸料复位5(按1)")]
        public bool FeederReset5{ get; set; }

        /// <summary>
        /// 吸料复位6(按1)
        /// </summary>
        [Description("吸料复位6(按1)")]
        public bool FeederReset6{ get; set; }

        /// <summary>
        /// 吸料复位有效1
        /// </summary>
        [Description("吸料复位有效1")]
        public bool IsFeederResetValid1{ get; set; }

        /// <summary>
        /// 吸料复位有效2
        /// </summary>
        [Description("吸料复位有效2")]
        public bool IsFeederResetValid2{ get; set; }

        /// <summary>
        /// 吸料复位有效3
        /// </summary>
        [Description("吸料复位有效3")]
        public bool IsFeederResetValid3{ get; set; }

        /// <summary>
        /// 吸料复位有效4
        /// </summary>
        [Description("吸料复位有效4")]
        public bool IsFeederResetValid4{ get; set; }

        /// <summary>
        /// 吸料复位有效5
        /// </summary>
        [Description("吸料复位有效5")]
        public bool IsFeederResetValid5{ get; set; }

        /// <summary>
        /// 吸料复位有效6
        /// </summary>
        [Description("吸料复位有效6")]
        public bool IsFeederResetValid6{ get; set; }

        #endregion

        [Newtonsoft.Json.JsonIgnore]
        public List<FeederCell> Feeders { get; } = new List<FeederCell>();

        /// <summary>
        /// 每个料仓 绑定到 对应的队列
        /// </summary>
        void FeedersBinding()
        {
            Feeders.Clear();

            for (int i = 0; i < 6; i++)
            {
                int no = i + 1;
                FeederCell feeder = new FeederCell();
                feeder.Number = no.ToString();

                Misc.BindingOperations.SetBinding(this, $"IsFeederOn{no}", feeder, nameof(feeder.IsFeederOn), Misc.BindingOperations.BindingMode.TwoWay);
                Misc.BindingOperations.SetBinding(this, $"FeederReset{no}", feeder, nameof(feeder.FeederReset), Misc.BindingOperations.BindingMode.TwoWay);
                Misc.BindingOperations.SetBinding(this, $"IsFeederResetValid{no}", feeder, nameof(feeder.IsFeederResetValid));

                Feeders.Add(feeder);
            }


        }

        public event PropertyChangedEventHandler PropertyChanged;
    }

    public class FeederCell : INotifyPropertyChanged
    {
        /// <summary>
        /// 序号
        /// </summary>
        public string Number { get; set; }

        /// <summary>
        /// 吸料开1
        /// </summary>
        [Description("吸料开")]
        public bool IsFeederOn { get; set; }

        /// <summary>
        /// 吸料复位1(按1)
        /// </summary>
        [Description("吸料复位(按1)")]
        public bool FeederReset { get; set; }

        /// <summary>
        /// 吸料复位有效6
        /// </summary>
        [Description("吸料复位有效")]
        public bool IsFeederResetValid { get; set; }

        public event PropertyChangedEventHandler PropertyChanged;
    }
}