BoxConfig.cs 9.7 KB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


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


        /// <summary>
        ///轴2升降轴 运动上下轴
        /// </summary>
        [ConfigProAttribute("UpDown_Axis")]
        public ConfigMoveAxis UpDown_Axis { get; set; }
        /// <summary>
        /// 轴1旋转轴 运动中轴
        /// </summary>
        [ConfigProAttribute("Middle_Axis")]
        public ConfigMoveAxis Middle_Axis { get; set; }
        /// <summary>
        /// 轴3进出轴
        /// </summary>
        [ConfigProAttribute("InOut_Axis")]
        public ConfigMoveAxis InOut_Axis { get; set; }
        /// <summary>
        /// 轴3压紧轴
        /// </summary>
        [ConfigProAttribute("Comp_Axis")]
        public ConfigMoveAxis Comp_Axis { get; set; }



        /// <summary>
        /// PRO	升降轴(轴2)P1速度	UpDownAxis_P1_Speed
        /// </summary>
        [ConfigProAttribute("UpDownAxis_P1_Speed")]
        public int UpDownAxis_P1_Speed { get; set; }
        /// <summary>
        /// PRO	升降轴(轴2)P2速度	UpDownAxis_P2_Speed
        /// </summary>
        [ConfigProAttribute("UpDownAxis_P2_Speed")]
        public int UpDownAxis_P2_Speed { get; set; }
        /// <summary>
        /// PRO	升降轴(轴2)P3速度	UpDownAxis_P3_Speed
        /// </summary>
        [ConfigProAttribute("UpDownAxis_P3_Speed")]
        public int UpDownAxis_P3_Speed { get; set; }
        /// <summary>
        /// PRO	升降轴(轴2)P4速度	UpDownAxis_P4_Speed
        /// </summary>
        [ConfigProAttribute("UpDownAxis_P4_Speed")]
        public int UpDownAxis_P4_Speed { get; set; }
        /// <summary>
        /// PRO	升降轴(轴2)P5速度	UpDownAxis_P5_Speed
        /// </summary>
        [ConfigProAttribute("UpDownAxis_P5_Speed")]
        public int UpDownAxis_P5_Speed { get; set; }
        /// <summary>
        /// PRO	升降轴(轴2)P6速度	UpDownAxis_P6_Speed
        /// </summary>
        [ConfigProAttribute("UpDownAxis_P6_Speed")]
        public int UpDownAxis_P6_Speed { get; set; }


        /// <summary>
        /// PRO	升降轴(轴2)P7速度	UpDownAxis_P7_Speed
        /// </summary>
        [ConfigProAttribute("UpDownAxis_P7_Speed")]
        public int UpDownAxis_P7_Speed { get; set; }


        /// <summary>
        /// PRO	升降轴(轴2)P8速度	UpDownAxis_P8_Speed
        /// </summary>
        [ConfigProAttribute("UpDownAxis_P8_Speed")]
        public int UpDownAxis_P8_Speed { get; set; }

        /// <summary>
        /// PRO	旋转轴(轴1)P1速度	MiddleAxis_P1_Speed
        /// </summary>
        [ConfigProAttribute("MiddleAxis_P1_Speed")]
        public int MiddleAxis_P1_Speed { get; set; }

        /// <summary>
        /// PRO	旋转轴(轴1)P2速度	MiddleAxis_P2_Speed
        /// </summary>
        [ConfigProAttribute("MiddleAxis_P2_Speed")]
        public int MiddleAxis_P2_Speed { get; set; }

        /// <summary>
        /// PRO	进出轴(轴3)P1速度	InOutAxis_P1_Speed
        /// </summary>
        [ConfigProAttribute("InOutAxis_P1_Speed")]
        public int InOutAxis_P1_Speed { get; set; }

        /// <summary>
        /// PRO	进出轴(轴3)P2速度	InOutAxis_P2_Speed
        /// </summary>
        [ConfigProAttribute("InOutAxis_P2_Speed")]
        public int InOutAxis_P2_Speed { get; set; }
        /// <summary>
        /// PRO	进出轴(轴3)P3速度	InOutAxis_P3_Speed	
        /// </summary>
        [ConfigProAttribute("InOutAxis_P3_Speed")]
        public int InOutAxis_P3_Speed { get; set; }

     
        /// <summary>
        ///  PRO,BOX出入库次数多少次时,会自动重置旋转轴,Box_ResetMCount,10,,,,,
        /// </summary>
        [ConfigProAttribute("Box_ResetMCount")]
        public int Box_ResetMCount { get; set; }
        /// <summary>
        ///  PRO,BOX出入库次数多少次时,会自动重置操作(会重置所有轴),Box_ResetACount,100,,,,,
        /// </summary>
        [ConfigProAttribute("Box_ResetACount")]
        public int Box_ResetACount { get; set; }
         
        /// <summary>
        ///  PRO	IO信号超时时间(毫秒)	IOSingle_TimerOut	5000
        /// </summary>
        [ConfigProAttribute("IOSingle_TimerOut", false)]
        public int IOSingle_TimerOut { get; set; }

        /// <summary>
        /// 升降轴 进料口取料点 P1
        /// </summary>
        [ConfigProAttribute("UpDownAxis_DoorOPosition_P1")]
        public int UpDownAxis_DoorOPosition_P1 { get; set; }
        /// <summary>
        /// 升降轴 进料口出料前点 P2
        /// </summary>
        [ConfigProAttribute("UpDownAxis_DoorIPosition_P2")]
        public int UpDownAxis_DoorIPosition_P2 { get; set; }

        /// <summary>
        /// 升降轴 进料口取料缓冲点 P7
        /// </summary>
        [ConfigProAttribute("UpDownAxis_DoorOBPosition_P7")]
        public int UpDownAxis_DoorOBPosition_P7 { get; set; }

        /// <summary>
        /// 升降轴 进料口出料缓冲点 P8
        /// </summary>
        [ConfigProAttribute("UpDownAxis_DoorIBPosition_P8")]
        public int UpDownAxis_DoorIBPosition_P8 { get; set; }
 
        /// <summary>
        /// PRO	旋转轴(轴1)P1 待机原位点	MiddleAxis_P1_Position
        /// </summary>
        [ConfigProAttribute("MiddleAxis_P1_Position")]
        public int MiddleAxis_P1_Position { get; set; }
        /// <summary>
        /// PRO	进出轴(轴3)P1待机原位点	InOutAxis_P1_Position
        /// </summary>
        [ConfigProAttribute("InOutAxis_P1_Position")]
        public int InOutAxis_P1_Position { get; set; }
        /// <summary>
        /// PRO	押金轴(轴4)P1待机原位点	CompressAxis_P1_Position
        /// </summary>
        [ConfigProAttribute("CompressAxis_P1_Position")]
        public int CompressAxis_P1_Position { get; set; }

        /// <summary>
        /// PRO	是否使用料盘检测信号	IsUse_Tray_Check
        /// </summary>
        [ConfigProAttribute("IsUse_Tray_Check")]
        public int IsUse_Tray_Check { get; set; }
          

        /// <summary>
        /// PRO 压紧轴(轴4)P1速度 CompAxis_P1_Speed	100
        /// </summary>
        [ConfigProAttribute("CompAxis_P1_Speed")]
        public int CompAxis_P1_Speed { get; set; }
        /// <summary>
        /// PRO 压紧轴(轴4)P2速度 CompAxis_P2_Speed	100
        /// </summary>
        [ConfigProAttribute("CompAxis_P2_Speed")]
        public int CompAxis_P2_Speed { get; set; }
        /// <summary>
        ///PRO 压紧轴(轴4)P3速度 CompAxis_P3_Speed	100
        /// </summary>
        [ConfigProAttribute("CompAxis_P3_Speed")]
        public int CompAxis_P3_Speed { get; set; }

        /// <summary>
        /// PRO,温湿度端口号,Humiture_Port,COM1,,,,,,,
        /// </summary>
        [ConfigProAttribute("Humiture_Port", true)]
        public string Humiture_Port { get; set; }

        /// <summary>
        /// PRO	每次吹气的时间(分钟)	BlowAir_Time	10
        /// </summary>
        [ConfigProAttribute("BlowAir_Time", false)]
        public int BlowAir_Time { get; set; }

        /// <summary>
        /// PRO	两次吹气间隔(分钟)	BlowAir_Interval	10
        /// </summary>
        [ConfigProAttribute("BlowAir_Interval", false)]
        public int BlowAir_Interval { get; set; }

        /// <summary>
        ///  PRO,0,是否调试状态,ISDebug,0,,,,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("ISDebug")]
        public int ISDebug { get; set; } 
        public ushort GetDILength(string ip)
        {
            return 16; 
        }
        public ushort GetDOLength(string ip)
        {
            return 16; 
        }

        /// <summary>
        ///  PRO,0,压紧轴(轴4)P2压紧点列表,CompAxis_P2_List,8=385001;,,,,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("CompAxis_P2_List",false)]
        public string CompAxis_P2_List { get; set; }

        /// <summary>
        ///   PRO,,仓门口相机IP,Camera_IP,192.168.1.123,,,,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("Camera_Name", false)]
        public string Camera_Name { get; set; }


        /// <summary>
        ///    PRO,,拍照相机名称,PhotoCamera_Name,,,,,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("PhotoCamera_Name", false)]
        public string PhotoCamera_Name { get; set; }
        private Dictionary<int, int> CompP2Map = null;

        public Dictionary<int, int> LoadCompP2Map()
        {
            try
            {
                if (CompP2Map == null)
                {
                    CompP2Map = new Dictionary<int, int>();
                    string[] arrayList = CompAxis_P2_List.Split(';');
                    foreach (string str in arrayList)
                    {
                        string[] arrStr = str.Split('=');
                        if (arrStr.Length == 2)
                        {
                            int height = Convert.ToInt32(arrStr[0].Trim()); 
                            int comp2 = Convert.ToInt32(arrStr[1].Trim());
                            CompP2Map.Add(height, comp2);
                        }
                    }
                }
            }
            catch (Exception ex)
            {

            }
            return CompP2Map;
        }
        public int GetCompP2(int height)
        {
            if(CompP2Map == null)
            {
                LoadCompP2Map();
            }
            if (CompP2Map.ContainsKey(height))
            {
                return CompP2Map[height];
            }
            return 0;
        }
    }
}