Config_T1.cs 8.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 Config_T1 : DeviceConfig
    {
        public Config_T1()
            : base()
        {
        }
        public Config_T1(int id,  string type, string filepath)
            : base(id, type, filepath)
        {
        }

        public override List<ConfigMoveAxis> moveAxisList { get; set; }
        /// <summary>
        ///  AXIS,,出料提升轴,T_Batch_Axis,6,HC,,8000,15000,15000,500,4000,15000,10,100,0,0
        /// </summary>
        [ConfigProAttribute("T_Batch_Axis")]
        public ConfigMoveAxis T_Batch_Axis { get; set; }
        /// <summary>
        ///  AXIS,,出料移栽轴,T_Pan_Axis,7,HC,,20000,30000,30000,500,4000,15000,10,100,0,0
        /// </summary>
        [ConfigProAttribute("T_Pan_Axis")]
        public ConfigMoveAxis T_Pan_Axis { get; set; }
        /// <summary>
        ///  AXIS,,出料升降轴,T_Updown_Axis,8,HC,,20000,30000,30000,500,4000,15000,10,100,0,0
        /// </summary>
        [ConfigProAttribute("T_Updown_Axis")]
        public ConfigMoveAxis T_Updown_Axis { get; set; }
        /// <summary>
        ///  AXIS,,皮带线出口定位,T_TrayPos_Axis,9,HC,,35000,60000,60000,1000,5000,20000,500,100,0,0
        /// </summary>
        [ConfigProAttribute("T_TrayPos_Axis")]
        public ConfigMoveAxis T_TrayPos_Axis { get; set; }
        /// <summary>
        ///  AXIS,,出料移栽Y轴,T_Y_Axis,10,HC,,20000,30000,30000,500,4000,15000,10,100,0,0
        /// </summary>
        [ConfigProAttribute("T_Y_Axis")]
        public ConfigMoveAxis T_Y_Axis { get; set; }

        /// <summary>
        ///  PRO,30,TrayPos定位列表,TrayPos_List,8=999;12=99;20=999,,,,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("TrayPos_List")]
        public string TrayPos_List { get; set; }
        /// <summary>
        ///  PRO,30,提升轴待机点 P1,BatchAxis_P1,500,,,,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("BatchAxis_P1")]
        public int BatchAxis_P1 { get; set; }
        /// <summary>
        ///  PRO,30,提升轴上升目标点_P2,BatchAxis_P2,562083,,,,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("BatchAxis_P2")]
        public int BatchAxis_P2 { get; set; }

        /// <summary>
        ///  PRO,30,提升轴高度转换系数(1mm对应的脉冲),BatchAxis_ChangeValue,996,,,,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("BatchAxis_ChangeValue")]
        public int BatchAxis_ChangeValue { get; set; }
        /// <summary>
        ///  PRO,30,升降轴待机点P1,UpdownAxis_P1,7,,,,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P1")]
        public int UpdownAxis_P1 { get; set; }
        /// <summary>
        ///  PRO,30,升降轴取料点P2,UpdownAxis_P2,6,,,,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P2")]
        public int UpdownAxis_P2 { get; set; }
        /// <summary>
        ///  PRO,30,升降轴高度转换系数(1mm对应的脉冲),UpdownAxis_ChangeValue,5,,,,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("UpdownAxis_ChangeValue")]
        public int UpdownAxis_ChangeValue { get; set; }
        /// <summary>
        ///  PRO,30,升降轴放料点P3,UpdownAxis_P3,200,,,,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P3")]
        public int UpdownAxis_P3 { get; set; }

        /// <summary>
        ///  PRO,30,提升轴待机点 P1,BatchAxis_P1,500,,,8000,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("BatchAxis_P1_speed")]
        public int BatchAxis_P1_speed { get; set; }
        /// <summary>
        ///  PRO,30,提升轴上升目标点_P2,BatchAxis_P2,562083,,,8000,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("BatchAxis_P2_speed")]
        public int BatchAxis_P2_speed { get; set; }
        /// <summary>
        ///  PRO,30,横移待机取料点P1,Pan_P1,9,,,20000,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("Pan_P1")]
        public int Pan_P1 { get; set; }
        /// <summary>
        ///  PRO,30,横移放料点P2,Pan_P2,9,,,20000,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("Pan_P2")]
        public int Pan_P2 { get; set; }
        /// <summary>
        ///  PRO,30,升降轴待机点P1,UpdownAxis_P1,7,,,20000,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P1_speed")]
        public int UpdownAxis_P1_speed { get; set; }
        /// <summary>
        ///  PRO,30,升降轴取料点P2,UpdownAxis_P2,6,,,20000,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P2_speed")]
        public int UpdownAxis_P2_speed { get; set; }
        /// <summary>
        ///  PRO,30,升降轴放料点P3,UpdownAxis_P3,200,,,20000,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("UpdownAxis_P3_speed")]
        public int UpdownAxis_P3_speed { get; set; }

        /// <summary>
        ///  PRO,30,横移待机取料点P1,Pan_P1,9,,,20000,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("Pan_P1_speed")]
        public int Pan_P1_speed { get; set; }
        /// <summary>
        ///  PRO,30,横移放料点P2,Pan_P2,9,,,20000,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("Pan_P2_speed")]
        public int Pan_P2_speed { get; set; }
        /// <summary>
        ///  PRO,30,料盘定位待机点P1,TrayPos_P1,0,,,35000,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("TrayPos_P1")]
        public int TrayPos_P1 { get; set; }
        /// <summary>
        ///  PRO,30,料盘定位待机点P1,TrayPos_P1,0,,,35000,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("TrayPos_P1_speed")]
        public int TrayPos_P1_speed { get; set; }

        /// <summary>
        ///  PRO,30,料串中心点X坐标,String_Center_X,1000,,,,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("String_Center_X")]
        public int String_Center_X { get; set; }
        /// <summary>
        ///  PRO,30,料串中心点Y坐标,String_Center_Y,1000,,,,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("String_Center_Y")]
        public int String_Center_Y { get; set; }
        /// <summary>
        ///  PRO,30,料串允许偏离像素值,String_Offset_Range_Px,1000,,,,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("String_Offset_Range_Px")]
        public int String_Offset_Range_Px { get; set; }

        /// <summary>
        ///  PRO,30,料串定位相机,String_Camera,GigE:MV-CE200-10GC (00F98806639),,,,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("String_Camera")]
        public string String_Camera { get; set; }

        /// <summary>
        ///  PRO,20,Y轴待机取料点P1,Y_P1,5700,,,20000,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("Y_P1")]
        public int Y_P1 { get; set; }
        /// <summary>
        ///  PRO,20,Y轴放料基准点P2,Y_P2,77614,,,20000,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("Y_P2")]
        public int Y_P2 { get; set; }
        /// <summary>
        ///  PRO,30,料串图像/X轴比值,Cam_Pixel_X_Ratio,147,,,,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("Cam_Pixel_X_Ratio")]
        public int Cam_Pixel_X_Ratio { get; set; }
        /// <summary>
        ///  PRO,30,料串图像/Y轴比值,Cam_Pixel_Y_Ratio,147,,,,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("Cam_Pixel_Y_Ratio")]
        public int Cam_Pixel_Y_Ratio { get; set; }
        /// <summary>
        ///  PRO,20,Y轴待机取料点P1,Y_P1,5700,,,20000,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("Y_P1_speed")]
        public int Y_P1_speed { get; set; }
        /// <summary>
        ///  PRO,20,Y轴放料基准点P2,Y_P2,77614,,,20000,,,,,,,,,
        /// </summary>
        [ConfigProAttribute("Y_P2_speed")]
        public int Y_P2_speed { get; set; }

        private Dictionary<int, int> TrayPos_ListMap = null;
        public int GetTrayPos(int width = 8)
        {
            TrayPos_ListMap = LoadPMap(TrayPos_ListMap, TrayPos_List);
            if (TrayPos_ListMap.ContainsKey(width))
            {
                return TrayPos_ListMap[width];
            }
            else if (TrayPos_ListMap.ContainsKey(0))
            {
                return TrayPos_ListMap[0];
            }
            return -1;
        }
    }
}