Store_Config.cs 12.4 KB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace OnlineStore.LoadCSVLibrary
{
    public class Store_Config : BaseConfig
    {
        public Store_Config()
            : base()
        {
        }
        public Store_Config(int id, string cid, string type, string filepath)
            : base(id, cid, type, filepath)
        {
        }


        /// <summary>
        ///  AXIS,,T1_提升机构升降轴,T1_Batch_Axis,1,COM3,,250,500,500,100,200,1000,10,1000,0,0
        /// </summary>
        [ConfigProAttribute("T1_Batch_Axis")]
        public ConfigMoveAxis T1_Batch_Axis { get; set; }
        /// <summary>
        ///  AXIS,,T2_取料机构旋转轴,T2_Middle_Axis,2,COM3,,1000,1000,1000,200,500,500,10,1000,0,0
        /// </summary>
        [ConfigProAttribute("T2_Middle_Axis")]
        public ConfigMoveAxis T2_Middle_Axis { get; set; }
        /// <summary>
        ///  AXIS,,T3_取料机构上下轴,T3_Updown_Axis,3,COM3,,800,1000,1000,200,500,500,10,1000,0,0
        /// </summary>
        [ConfigProAttribute("T3_Updown_Axis")]
        public ConfigMoveAxis T3_Updown_Axis { get; set; }
        /// <summary>
        ///  PRO,,IO模块对应的DI数量,IO_DILength,192.168.200.21#16;192.168.200.22#16;192.168.200.23#8
        /// </summary>
        [ConfigProAttribute("IO_DILength")]
        public string IO_DILength { get; set; }
        /// <summary>
        ///  PRO,,IO模块对应的DO数量,IO_DOLength,192.168.200.21#16;192.168.200.22#16;192.168.200.23#8
        /// </summary>
        [ConfigProAttribute("IO_DOLength")]
        public string IO_DOLength { get; set; }
        ///// <summary>
        /////  PRO,,第一块IO模块IP,PRO_AOI_IP_1,192.168.200.21
        ///// </summary>
        //[ConfigProAttribute("PRO_AOI_IP_1")]
        //public int PRO_AOI_IP_1 { get; set; }
        ///// <summary>
        /////  PRO,,第二块IO模块IP,PRO_AOI_IP_2,192.168.200.22
        ///// </summary>
        //[ConfigProAttribute("PRO_AOI_IP_2")]
        //public int PRO_AOI_IP_2 { get; set; }
        ///// <summary>
        /////  PRO,,第三块IO模块IP,PRO_AOI_IP_3,192.168.200.23
        ///// </summary>
        //[ConfigProAttribute("PRO_AOI_IP_3")]
        //public int PRO_AOI_IP_3 { get; set; }
        /// <summary>
        ///  PRO,,预警温度,WarnTemperate,80
        /// </summary>
        [ConfigProAttribute("WarnTemperate")]
        public int WarnTemperate { get; set; }
        /// <summary>
        ///  PRO,,预警湿度,WarnHumidity,80
        /// </summary>
        [ConfigProAttribute("WarnHumidity")]
        public int WarnHumidity { get; set; }
        /// <summary>
        ///  PRO,,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000
        /// </summary>
        [ConfigProAttribute("Box_ResetMCount")]
        public int Box_ResetMCount { get; set; }
        /// <summary>
        ///  PRO,,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100
        /// </summary>
        [ConfigProAttribute("Box_ResetACount")]
        public int Box_ResetACount { get; set; }
        /// <summary>
        ///  PRO,,IO信号超时时间(毫秒),IOSingle_TimerOut,10000
        /// </summary>
        [ConfigProAttribute("IOSingle_TimerOut")]
        public int IOSingle_TimerOut { get; set; }
        /// <summary>
        ///  PRO,,需要吹气的温度(温度标准),Max_Temperature,0
        /// </summary>
        [ConfigProAttribute("Max_Temperature")]
        public int Max_Temperature { get; set; }
        /// <summary>
        ///  PRO,,需要吹气的湿度(湿度标准),Max_Humidity,10
        /// </summary>
        [ConfigProAttribute("Max_Humidity")]
        public int Max_Humidity { get; set; }
        /// <summary>
        ///  PRO,,每次吹气的时间(分钟),BlowAir_Time,10
        /// </summary>
        [ConfigProAttribute("BlowAir_Time")]
        public int BlowAir_Time { get; set; }
        /// <summary>
        ///  PRO,,两次吹气间隔(分钟),BlowAir_Interval,10
        /// </summary>
        [ConfigProAttribute("BlowAir_Interval")]
        public int BlowAir_Interval { get; set; }
        /// <summary>
        ///  PRO,0,是否调试状态(1=调试,0=正常),IsDebug,1
        /// </summary>
        [ConfigProAttribute("IsDebug")]
        public int IsDebug { get; set; }
        /// <summary>
        ///  PRO,,气压检测IO关闭需要持续的时间,AirCheckSeconds,3
        /// </summary>
        [ConfigProAttribute("AirCheckSeconds")]
        public int AirCheckSeconds { get; set; }
        /// <summary>
        ///  PRO,,所有料仓的CID(用#号分隔),All_CIDs,packing-1#packing-2
        /// </summary>
        [ConfigProAttribute("All_CIDs")]
        public string  All_CIDs { get; set; }
        /// <summary>
        ///  PRO,,扫码的相机名称(多个用#分隔),CameraNameList,GigE:MV-CE200-10GC (00D76546875)
        /// </summary>
        [ConfigProAttribute("CameraNameList")]
        public string CameraNameList { get; set; }



        /// <summary>
        ///  PRO,0,T1_提升轴待机点 P1,BatchAxis_P1,5000,, ,
        /// </summary>
        [ConfigProAttribute("BatchAxis_P1")]
        public int BatchAxis_P1 { get; set; }
        /// <summary>
        ///  PRO,0,T1_提升轴上升目标点_P2,BatchAxis_P2,4000,, ,
        /// </summary>
        [ConfigProAttribute("BatchAxis_P2")]
        public int BatchAxis_P2 { get; set; }
        /// <summary>
        ///  PRO,0,T1_提升轴P1速度,BatchAxis_P1Speed,4000
        /// </summary>
        [ConfigProAttribute("BatchAxis_P1Speed")]
        public int BatchAxis_P1Speed { get; set; }
        /// <summary>
        ///  PRO,0,T1_提升轴P2速度,BatchAxis_P2Speed,500,, ,
        /// </summary>
        [ConfigProAttribute("BatchAxis_P2Speed")]
        public int BatchAxis_P2Speed { get; set; }
        /// <summary>
        ///  PRO,0,T1_提升轴高度转换系数(1mm对应的脉冲),BatchAxis_ChangeValue,11000
        /// </summary>
        [ConfigProAttribute("BatchAxis_ChangeValue")]
        public int BatchAxis_ChangeValue { get; set; }
        /// <summary>
        ///  PRO,0,T2_旋转轴待机点/取放料点 P1,MiddleAxis_P1,5000
        /// </summary>
        [ConfigProAttribute("MiddleAxis_P1")]
        public int MiddleAxis_P1 { get; set; }
        /// <summary>
        ///  PRO,0,T2_旋转轴左侧料仓取放料点_P2,MiddleAxis_P2,59000
        /// </summary>
        [ConfigProAttribute("MiddleAxis_P2")]
        public int MiddleAxis_P2 { get; set; }
        /// <summary>
        ///  PRO,0,T2_旋转轴右侧料仓取放料点_P3,MiddleAxis_P3,59000
        /// </summary>
        [ConfigProAttribute("MiddleAxis_P3")]
        public int MiddleAxis_P3 { get; set; }
        /// <summary>
        ///  PRO,0,T2_旋转轴P1速度,MiddleAxis_P1Speed,500
        /// </summary>
        [ConfigProAttribute("MiddleAxis_P1Speed")]
        public int MiddleAxis_P1Speed { get; set; }
        /// <summary>
        ///  PRO,0,T2_旋转轴P2速度,MiddleAxis_P2Speed,500
        /// </summary>
        [ConfigProAttribute("MiddleAxis_P2Speed")]
        public int MiddleAxis_P2Speed { get; set; }
        /// <summary>
        ///  PRO,0,T2_旋转轴P3速度,MiddleAxis_P3Speed,500
        /// </summary>
        [ConfigProAttribute("MiddleAxis_P3Speed")]
        public int MiddleAxis_P3Speed { get; set; }
        /// <summary>
        ///  PRO,0,T3_升降轴料串取放料低点 P1,UpdownAxis_P1,5000
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P1")]
        public int UpdownAxis_P1 { get; set; }
        /// <summary>
        ///  PRO,0,T3_升降轴料串取放料高点 P2,UpdownAxis_P2,5001
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P2")]
        public int UpdownAxis_P2 { get; set; }
        /// <summary>
        ///  PRO,0,T3_升降轴左侧料仓取放料低点 P3,UpdownAxis_P3,5002
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P3")]
        public int UpdownAxis_P3 { get; set; }
        /// <summary>
        ///  PRO,0,T3_升降轴左侧料仓取放料高点 P4,UpdownAxis_P4,5003
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P4")]
        public int UpdownAxis_P4 { get; set; }
        /// <summary>
        ///  PRO,0,T3_升降轴右侧料仓取放料低点 P5,UpdownAxis_P5,5004
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P5")]
        public int UpdownAxis_P5 { get; set; }
        /// <summary>
        ///  PRO,0,T3_升降轴右侧料仓取放料高点 P6,UpdownAxis_P6,5005
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P6")]
        public int UpdownAxis_P6 { get; set; }
        /// <summary>
        ///  PRO,0,T2_升降轴P1速度,UpdownAxis_P1Speed,500
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P1Speed")]
        public int UpdownAxis_P1Speed { get; set; }
        /// <summary>
        ///  PRO,0,T2_升降轴P2速度,UpdownAxis_P2Speed,501
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P2Speed")]
        public int UpdownAxis_P2Speed { get; set; }
        /// <summary>
        ///  PRO,0,T2_升降轴P3速度,UpdownAxis_P3Speed,502
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P3Speed")]
        public int UpdownAxis_P3Speed { get; set; }
        /// <summary>
        ///  PRO,0,T2_升降轴P4速度,UpdownAxis_P4Speed,503
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P4Speed")]
        public int UpdownAxis_P4Speed { get; set; }
        /// <summary>
        ///  PRO,0,T2_升降轴P5速度,UpdownAxis_P5Speed,504
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P5Speed")]
        public int UpdownAxis_P5Speed { get; set; }
        /// <summary>
        ///  PRO,0,T2_升降轴P6速度,UpdownAxis_P6Speed,505
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P6Speed")]
        public int UpdownAxis_P6Speed { get; set; }



        private List<string> CameraList = new List<string>();
        public List<string> GetCameraList()
        {
            if (CameraList == null)
            {
                CameraList = new List<string>();
                string[] arrayList = CameraNameList.Split('#');
                foreach (string str in arrayList)
                {
                    string camera = str.Trim();
                    if (string.IsNullOrEmpty(camera).Equals(false))
                    {
                        CameraList.Add(camera);
                    }
                }
            }
            return CameraList;
        }
        private Dictionary<string, ushort> DILengthMap = null;
        private Dictionary<string, ushort> DOLengthMap = null;
        public ushort GetDILength(string ip)
        {
            try
            {
                if (DILengthMap == null)
                {
                    DILengthMap = new Dictionary<string, ushort>();
                    string[] arrayList = IO_DILength.Split(';');
                    foreach (string str in arrayList)
                    {
                        string[] arrStr = str.Split('#');
                        if (arrStr.Length == 2)
                        {
                            string ioip = arrStr[0];
                            ushort length = Convert.ToUInt16(arrStr[1]);
                            DILengthMap.Add(ioip, length);
                        }
                    }
                }
            }
            catch (Exception ex)
            {

            }
            if (DILengthMap.ContainsKey(ip))
            {
                return DILengthMap[ip];
            }
            return 16;
        }
        public ushort GetDOLength(string ip)
        {
            try
            {
                if (DOLengthMap == null)
                {
                    DOLengthMap = new Dictionary<string, ushort>();
                    string[] arrayList = IO_DOLength.Split(';');
                    foreach (string str in arrayList)
                    {
                        string[] arrStr = str.Split('#');
                        if (arrStr.Length == 2)
                        {
                            string ioip = arrStr[0];
                            ushort length = Convert.ToUInt16(arrStr[1]);
                            DOLengthMap.Add(ioip, length);
                        }
                    }
                }
            }
            catch (Exception ex)
            {

            }
            if (DOLengthMap.ContainsKey(ip))
            {
                return DOLengthMap[ip];
            }
            return 16;
        }

    }
}