InputEquip_Config.cs 14.3 KB
using log4net;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;

namespace OnlineStore.LoadCSVLibrary
{
   
    public class InputEquip_Config : DeviceConfig
    {
        public InputEquip_Config()
            : base()
        {
        }
        public InputEquip_Config(int id,  string type, string filepath)
            : base(id,  LoadCSVLibrary.DeviceType.OutputDevice, filepath)
        {
        }


        /// <summary>
        /// 设备是否处于调试状态(1=调试,0=正常)
        /// </summary>
        [ConfigProAttribute("IsDebug")]
        public int IsDebug { get; set; }

        /// <summary>
        /// PRO,0,左入料线体相机名称,LeftCamera,GigE:MV-CE200-10GC(00D77519052),,,,,
        /// </summary>
        [ConfigProAttribute("LeftCamera")]
        public string LeftCamera { get; set; }
        /// <summary>
        /// PRO,0,右入料线体相机名称,RightCamera,GigE:MV-CE200-10GC(00D77519052),,,,,
        [ConfigProAttribute("RightCamera")]
        public string RightCamera { get; set; }

        

         
        /// <summary>
        ///   PRO,0,左侧上料口AGV站号名称,LeftAgvName,C5,,,,,
        /// </summary>
        [ConfigProAttribute("LeftAgvName", false)]
        public string LeftAgvName { get; set; }
        /// <summary>
        ///   PRO,0,右侧上料口AGV站号名称,RightAgvName,C6,,,,,
        /// </summary>
        [ConfigProAttribute("RightAgvName", false)]
        public string RightAgvName { get; set; }



        /// <summary>
        ///   PRO	0	移栽上下运动是否使用伺服 UpDownUseAxis	1
        /// </summary>
        [ConfigProAttribute("UpDownUseAxis")]
        public int UpDownUseAxis { get; set; }



        /// <summary>
        ///  PRO,0,左侧提升轴待机点 P1,L_BatchAxisP1,48000,,,,,
        /// </summary>
        [ConfigProAttribute("L_BatchAxisP1")]
        public int L_BatchAxisP1 { get; set; }
        ///// <summary>
        /////  PRO,0,左侧提升轴下降位置P2,L_BatchAxisP2,-48000,,,,,
        ///// </summary>
        //[ConfigProAttribute("L_BatchAxisP2")]
        //public int L_BatchAxisP2 { get; set; }
        /// <summary>
        ///  PRO,0,左侧提升轴缓慢上升目标位置P3,L_BatchAxisP3,5914000,,,,,
        /// </summary>
        [ConfigProAttribute("L_BatchAxisP3")]
        public int L_BatchAxisP3 { get; set; }
        /// <summary>
        ///  PRO,0,右侧提升轴待机点 P1,R_BatchAxisP1,48000,,,,,
        /// </summary>
        [ConfigProAttribute("R_BatchAxisP1")]
        public int R_BatchAxisP1 { get; set; }
        ///// <summary>
        /////  PRO,0,右侧提升轴下降位置P2,R_BatchAxisP2,-48000,,,,,
        ///// </summary>
        //[ConfigProAttribute("R_BatchAxisP2")]
        //public int R_BatchAxisP2 { get; set; }
        /// <summary>
        ///  PRO,0,右侧提升轴缓慢上升目标位置P3,R_BatchAxisP3,5914000,,,,,
        /// </summary>
        [ConfigProAttribute("R_BatchAxisP3")]
        public int R_BatchAxisP3 { get; set; }


        /// <summary>
        ///PRO	0	提升轴P1速度 BatchAxis_P1Speed	400
        /// </summary>
        [ConfigProAttribute("BatchAxis_P1Speed", true)]
        public int BatchAxis_P1Speed { get; set; }
        ///// <summary>
        /////PRO	0	提升轴P2速度 BatchAxis_P2Speed	400
        ///// </summary>
        //[ConfigProAttribute("BatchAxis_P2Speed", true)]
        //public int BatchAxis_P2Speed { get; set; }
        /// <summary>
        ///PRO	0	提升轴P3速度 BatchAxis_P3Speed	50
        /// </summary>
        [ConfigProAttribute("BatchAxis_P3Speed", true)]
        public int BatchAxis_P3Speed { get; set; }
         
        /// <summary>
        ///PRO,0,提升上料轴高度转换系数(1mm对应的脉冲),Height_ChangeValue,5000,,,,,
        /// </summary>
        [ConfigProAttribute("Height_ChangeValue", true)]
        public int Height_ChangeValue { get; set; }
      
      
        /// <summary>
        ///  PRO	0	取料升降轴待机点 P1 UpdownAxis_P1	403000
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P1", true)]
        public int UpdownAxis_P1 { get; set; }
        /// <summary>
        ///  PRO,0,取料升降轴取料点P2_左侧,UpdownAxis_P2_L,281000,,,,,
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P2_L")]
        public int UpdownAxis_P2_L { get; set; }
        /// <summary>
        ///  PRO,0,取料升降轴取料点P2_右侧,UpdownAxis_P2_R,281000,,,,,
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P2_R")]
        public int UpdownAxis_P2_R { get; set; }
        /// <summary>
        ///  PRO,0,取料升降轴料串上方P3取料/放料位置,UpdownAxis_P3,20000,,,,,
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P3", true)]
        public int UpdownAxis_P3 { get; set; }
        /// <summary>
        ///  PRO,0,取料升降轴工位高层放料点P4,UpdownAxis_P4_H,281000,,,,,
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P4_H")]
        public int UpdownAxis_P4_H { get; set; } 
        /// <summary>
        ///  PRO,0,取料升降轴工位底层放料点P5,UpdownAxis_P4_L,10000,,,,,
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P4_L")]
        public int UpdownAxis_P4_L { get; set; }
        /// <summary>
        ///   PRO,0,取料升降轴走到待机点速度,UpdownAxis_P1Speed,400,,,,,
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P1Speed", true)]
        public int UpdownAxis_P1Speed { get; set; }
        /// <summary>
        /// PRO,0,取料升降轴P2速度,UpdownAxis_P2Speed,500,,,,,
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P2Speed", true)]
        public int UpdownAxis_P2Speed { get; set; }

        /// <summary>
        /// PRO,0,取料升降轴P3速度,UpdownAxis_P3Speed,400,,,,, 
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P3Speed", true)]
        public int UpdownAxis_P3Speed { get; set; }
        /// <summary>
        ///  PRO,0,取料升降轴P4速度,UpdownAxis_P4Speed,1201,,,,,
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P4Speed")]
        public int UpdownAxis_P4Speed { get; set; }


        /// <summary>
        ///  PRO,0,取料旋转轴待机点P1,MiddleAxis_P1,1000,,,,,
        /// </summary>
        [ConfigProAttribute("MiddleAxis_P1")]
        public int MiddleAxis_P1 { get; set; }
        /// <summary>
        ///  PRO,0,取料旋转轴取料点P2_左侧 ,MiddleAxis_P2_L,300100,,,,,
        /// </summary>
        [ConfigProAttribute("MiddleAxis_P2_L")]
        public int MiddleAxis_P2_L { get; set; }
        /// <summary>
        ///  PRO,0,取料旋转轴取料点P2_右侧 ,MiddleAxis_P2_R,400101,,,,,
        /// </summary>
        [ConfigProAttribute("MiddleAxis_P2_R")]
        public int MiddleAxis_P2_R { get; set; }
        /// <summary>
        ///  PRO,0,取料旋转轴XRay入口放料点P3,MiddleAxis_P3,500102,,,,,
        /// </summary>
        [ConfigProAttribute("MiddleAxis_P3")]
        public int MiddleAxis_P3 { get; set; }
        /// <summary>
        ///  PRO,0,取料旋转轴工位放料点P4,MiddleAxis_P4,600103,,,,,
        /// </summary>
        [ConfigProAttribute("MiddleAxis_P4")]
        public int MiddleAxis_P4 { get; set; }
        /// <summary>
        ///  PRO,0,取料旋转轴P1速度,MiddleAxis_P1Speed,4000,,,,,
        /// </summary>
        [ConfigProAttribute("MiddleAxis_P1Speed")]
        public int MiddleAxis_P1Speed { get; set; }
        /// <summary>
        ///  PRO,0,取料旋转轴P2速度,MiddleAxis_P2Speed,4000,,,,,
        /// </summary>
        [ConfigProAttribute("MiddleAxis_P2Speed")]
        public int MiddleAxis_P2Speed { get; set; }
        /// <summary>
        ///  PRO,0,取料旋转轴P3速度,MiddleAxis_P3Speed,500,,,,,
        /// </summary>
        [ConfigProAttribute("MiddleAxis_P3Speed")]
        public int MiddleAxis_P3Speed { get; set; }
        /// <summary>
        ///  PRO,0,取料旋转轴P4速度,MiddleAxis_P4Speed,501,,,,,
        /// </summary>
        [ConfigProAttribute("MiddleAxis_P4Speed")]
        public int MiddleAxis_P4Speed { get; set; }
        /// <summary>
        ///  PRO,0,取料进出轴待机点P1,InoutAxis_P1,1000,,,,,
        /// </summary>
        [ConfigProAttribute("InoutAxis_P1")]
        public int InoutAxis_P1 { get; set; }
        /// <summary>
        ///  PRO,0,取料进出轴取料点P2_左侧 ,InoutAxis_P2_L,30000,,,,,
        /// </summary>
        [ConfigProAttribute("InoutAxis_P2_L")]
        public int InoutAxis_P2_L { get; set; }
        /// <summary>
        ///  PRO,0,取料进出轴取料点P2_右侧 ,InoutAxis_P2_R,30001,,,,,
        /// </summary>
        [ConfigProAttribute("InoutAxis_P2_R")]
        public int InoutAxis_P2_R { get; set; }
        /// <summary>
        ///  PRO,0,取料进出轴XRay入口放料点P3,InoutAxis_P3,30002,,,,,
        /// </summary>
        [ConfigProAttribute("InoutAxis_P3")]
        public int InoutAxis_P3 { get; set; }
        /// <summary>
        ///  PRO,0,取料进出轴工位放料点P4,InoutAxis_P4,30003,,,,,
        /// </summary>
        [ConfigProAttribute("InoutAxis_P4")]
        public int InoutAxis_P4 { get; set; }
        /// <summary>
        ///  PRO,0,取料进出轴P1速度,InoutAxis_P1Speed,4000,,,,,
        /// </summary>
        [ConfigProAttribute("InoutAxis_P1Speed")]
        public int InoutAxis_P1Speed { get; set; }
        /// <summary>
        ///  PRO,0,取料进出轴P2速度,InoutAxis_P2Speed,4000,,,,,
        /// </summary>
        [ConfigProAttribute("InoutAxis_P2Speed")]
        public int InoutAxis_P2Speed { get; set; }
        /// <summary>
        ///  PRO,0,取料进出轴P3速度,InoutAxis_P3Speed,500,,,,,
        /// </summary>
        [ConfigProAttribute("InoutAxis_P3Speed")]
        public int InoutAxis_P3Speed { get; set; }
        /// <summary>
        ///  PRO,0,取料进出轴P4速度,InoutAxis_P4Speed,501,,,,,
        /// </summary>
        [ConfigProAttribute("InoutAxis_P4Speed")]
        public int InoutAxis_P4Speed { get; set; }


        //private Dictionary<string, int> UpdownP2DetialMap = null;

        //public Dictionary<string, int> LoadP2DetialMap()
        //{
        //    try
        //    {
        //        if (UpdownP2DetialMap == null)
        //        {
        //            UpdownP2DetialMap = new Dictionary<string, int>();
        //            string[] arrayList = UpDownP2DetialList.Split(';');
        //            foreach (string str in arrayList)
        //            {
        //                string[] arrStr = str.Split('=');
        //                if (arrStr.Length == 2)
        //                {
        //                    string key = arrStr[0].Trim().ToUpper();
        //                    if (key.Equals("0X0"))
        //                    {
        //                        continue;
        //                    }
        //                    int length = Convert.ToInt32(arrStr[1].Trim());
        //                    UpdownP2DetialMap.Add(key, length);
        //                }
        //            }
        //        }
        //    }
        //    catch (Exception ex)
        //    {

        //    }
        //    return UpdownP2DetialMap;
        //}

        //public int GetUpdownP2Detial(int trayHeight, int traySize = 8)
        //{
        //    LoadP2DetialMap();
        //    string fkey = traySize + "X" + trayHeight;
        //    if (UpdownP2DetialMap.ContainsKey(fkey))
        //    {
        //        return UpdownP2DetialMap[fkey];
        //    }
        //    else
        //    {
        //        return GetUpdownP2(trayHeight);
        //    }
        //    return -1;
        //}


        //public void UpdateUpdownP2Detial(int size, int height, int sizePosition)
        //{
        //    string fkey = size + "X" + height;
        //    string newPositionStr = "";
        //    if (UpdownP2DetialMap.ContainsKey(fkey))
        //    {
        //        UpdownP2DetialMap[fkey] = sizePosition;
        //    }
        //    else
        //    {

        //        UpdownP2DetialMap.Add(fkey, sizePosition);
        //    }
        //    foreach (string key in UpdownP2DetialMap.Keys)
        //    {
        //        newPositionStr += key + "=" + UpdownP2DetialMap[key] + ";";
        //    }
        //    newPositionStr = newPositionStr.Substring(0, newPositionStr.Length - 1);
        //    UpDownP2DetialList = newPositionStr;
        //}

 

        //private Dictionary<int, int> UpDownPositionP2Map = null; 
        //public  int GetUpdownP2(int trayHeight)
        //{
        //    try
        //    {
        //        if (UpDownPositionP2Map == null)
        //        {
        //            UpDownPositionP2Map = new Dictionary<int, int>();
        //            string[] arrayList = UpDownP2List.Split(';');
        //            foreach (string str in arrayList)
        //            {
        //                string[] arrStr = str.Split('=');
        //                if (arrStr.Length == 2)
        //                {
        //                    int height = Convert.ToInt32(arrStr[0].Trim());
        //                    int length = Convert.ToInt32(arrStr[1].Trim());
        //                    UpDownPositionP2Map.Add(height, length);
        //                }
        //            }
        //        }
        //    }
        //    catch (Exception ex)
        //    {

        //    }
        //    if (UpDownPositionP2Map.ContainsKey(trayHeight))
        //    {
        //        return UpDownPositionP2Map[trayHeight];
        //    }else if (UpDownPositionP2Map.ContainsKey(0))
        //    {
        //        return UpDownPositionP2Map[0];
        //    }
        //    return -1;
        //}

        //public void UpdateUpdownP2(int size, int sizePosition)
        //{
        //    string newPositionStr = "";
        //    if (UpDownPositionP2Map.ContainsKey(size))
        //    {
        //        UpDownPositionP2Map[size] = sizePosition;
        //    }
        //    else
        //    {

        //        UpDownPositionP2Map.Add(size, sizePosition);
        //    }
        //    foreach(int  key in UpDownPositionP2Map.Keys)
        //    {
        //        newPositionStr += key + "=" + UpDownPositionP2Map[key] + ";";
        //    }
        //    newPositionStr = newPositionStr.Substring(0, newPositionStr.Length - 1);
        //    UpDownP2List = newPositionStr;
        //}

    
        public void SetAxisParam()
        { 
        }
    }
}