BoxPosition.cs 6.5 KB
using OnlineStore.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 

namespace OnlineStore.LoadCSVLibrary
{
     
    public class BoxPosition : PositionBase
    {    /// <summary>
        /// 对应的料仓ID(流水线料仓需要用此字段区分哪个BOX)
        /// </summary>
        [CSVAttribute("料仓ID")]
        public int StoreId { get; set; }

        /// <summary>
        /// PRO,0,行走机构_存储库位取放点位P3,MoveAxis_P3,100,,,,,,,,,,,,
        /// </summary>
        [CSVAttribute("存储库位取放点位P3")]
        public int MoveAxis_P3 { get; set; }
        /// <summary>
        /// 料斗进出轴料屉提取点
        /// P2 对应 A面
        /// P4 对应 B面
        /// </summary>
        [CSVAttribute("料斗进出轴料屉提取点P2P4")]
        public int PullAxis_Inout_P2_P4 { get; set; }

        /// <summary>
        /// 料斗进出轴料屉库位点
        /// P3 对应 A面
        /// P5 对应 B面
        /// </summary>
        [CSVAttribute("料斗进出轴料屉库位点P3P5")]
        public int PullAxis_Inout_P3_P5 { get; set; }
        /// <summary>
        /// 料斗升降轴料屉提取高点P3
        /// </summary>
        [CSVAttribute("料斗升降轴料屉提取高点P3")]
        public int PullAxis_Updown_P3 { get; set; }
        /// <summary>
        /// 料斗升降轴料屉提取低点P4
        /// </summary>
        [CSVAttribute("料斗升降轴料屉提取低点P4")]
        public int PullAxis_Updown_P4 { get; set; }

        /// <summary>
        /// 移栽升降轴料屉上方过渡点
        /// P6 对应 A面
        /// P12 对应 B面
        /// </summary>
        [CSVAttribute("移栽升降轴料屉上方过渡点P6P12")]
        public int Updown_P6_P12 { get; set; }
        /// <summary>
        /// 移栽升降轴料屉取放点
        /// P7 对应 A面
        /// P13 对应 B面
        /// </summary>
        [CSVAttribute("移栽升降轴料屉取放点P7P13")]
        public int Updown_P7_P13 { get; set; }
        /// <summary>
        /// AB移栽X轴料屉库位取放料点P3
        /// </summary>
        [CSVAttribute("AB移栽X轴料屉库位取放料点P3")]
        public int XAxis_AB_P3 { get; set; }

        /// <summary>
        /// AB移栽压紧轴压紧前点P2
        /// </summary>
        [CSVAttribute("AB移栽压紧轴压紧前点P2")]
        public int ComAxis_AB_P2 { get; set; }
        /// <summary>
        /// AB移栽压紧轴压紧点P3
        /// </summary>
        [CSVAttribute("AB移栽压紧轴压紧点P3")]
        public int ComAxis_AB_P3 { get; set; }
        /// <summary>
        ///  PRO,0,料斗拉取升降轴_料屉提取水平点P2,PullAxis_Updown_P2,100,,,,,,,,,,,,
        /// </summary>
        [CSVAttribute("料斗拉取升降轴_料屉提取水平点P2")]
        public int PullAxis_Updown_P2 { get; set; }
        public static bool CheckPosition(BoxPosition position, BoxEquip_Config Config)
        { 
            try
            {
                //if (Config.Middle_Axis.PositionIsHasLimit())
                //{
                //    int mMin = Config.Middle_Axis.PositionMin;
                //    int mMax = Config.Middle_Axis.PositionMax;
                //    if (mMin > position.MiddleAxis_Position_P2 || mMax < position.MiddleAxis_Position_P2)
                //    {
                //        LogUtil.error(position.PositionNum + " MiddleAxis_Position_P2位置超出" + Config.Middle_Axis.Explain + "上下限(" + mMin + "-" + mMax + ")");
                //        return false;
                //    }
                //}
                //if (Config.InOut_Axis.PositionIsHasLimit())
                //{
                //    int iMin = Config.InOut_Axis.PositionMin;
                //    int iMax = Config.InOut_Axis.PositionMax;
                //    if (iMin > position.InOutAxis_DoorPosition_P2 || iMax < position.InOutAxis_DoorPosition_P2)
                //    {
                //        LogUtil.error(position.PositionNum + " InOutAxis_DoorPosition_P2位置超出" + Config.InOut_Axis.Explain + "上下限(" + iMin + "-" + iMax + ")");
                //        return false;
                //    }
                //    if (iMin > position.InOutAxis_Position_P3 || iMax < position.InOutAxis_Position_P3)
                //    {
                //        LogUtil.error(position.PositionNum + " InOutAxis_Position_P3位置超出" + Config.InOut_Axis.Explain + "上下限(" + iMin + "-" + iMax + ")");
                //        return false;
                //    }
                //}
                //if (Config.UpDown_Axis.PositionIsHasLimit())
                //{
                //    int uMin = Config.UpDown_Axis.PositionMin;
                //    int uMax = Config.UpDown_Axis.PositionMax;
                //    if (uMin > position.UpDownAxis_IHPosition_P3 || uMax < position.UpDownAxis_IHPosition_P3)
                //    {
                //        LogUtil.error(position.PositionNum + " UpDownAxis_IHPosition_P3位置超出" + Config.UpDown_Axis.Explain + "上下限(" + uMin + "-" + uMax + ")");
                //        return false;
                //    }
                //    if (uMin > position.UpDownAxis_ILPosition_P4 || uMax < position.UpDownAxis_ILPosition_P4)
                //    {
                //        LogUtil.error(position.PositionNum + " UpDownAxis_ILPosition_P4位置超出" + Config.UpDown_Axis.Explain + "上下限(" + uMin + "-" + uMax + ")");
                //        return false;
                //    }
                //    if (uMin > position.UpDownAxis_OHPosition_P5 || uMax < position.UpDownAxis_OHPosition_P5)
                //    {
                //        LogUtil.error(position.PositionNum + " UpDownAxis_OHPosition_P5位置超出" + Config.UpDown_Axis.Explain + "上下限(" + uMin + "-" + uMax + ")");
                //        return false;
                //    }
                //    if (uMin > position.UpDownAxis_OLPosition_P6 || uMax < position.UpDownAxis_OLPosition_P6)
                //    {
                //        LogUtil.error(position.PositionNum + " UpDownAxis_OLPosition_P6位置超出" + Config.UpDown_Axis.Explain + "上下限(" + uMin + "-" + uMax + ")");
                //        return false;
                //    }
                //}
            }
            catch (Exception ex)
            {
                LogUtil.error("验证" + position.PositionNum + "的位置范围出错:" + ex.ToString());
            }
            return true;

        }
    }
}