MainMachine _BtnProcess.cs 5.1 KB
using CodeLibrary;
using OnlineStore.Common;
using OnlineStore.LoadCSVLibrary;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace DeviceLibrary
{
    partial class MainMachine
    {
        void BtnProcess()
        {
            string isskiptest = ConfigHelper.Config.Get("Hardwareversion", "V2");
            string newagvdispose = ConfigHelper.Config.Get("HardwareversionofAGV", "V2");
            if (isskiptest == "V2")
            {
                //硬件v2版本,已经去除料车检测X11的io
                if ((RightMoveInfo.IsStep(MoveStep.Wait) || RightMoveInfo.IsStep(MoveStep.REND))
               && IOValue(IO_Type.Right_BTN).Equals(IO_VALUE.HIGH))
                {
                    //有料,出料,无料,进料
                    if (IOValue(IO_Type.RightEnd_Check).Equals(IO_VALUE.HIGH))
                    {
                        RightMoveInfo.NewMove(MoveStep.R30_OutShelf);
                        LogUtil.info("BtnProcess:进料串感应到有料,进料口确认");
                    }
                    else
                    {
                        RightMoveInfo.NewMove(MoveStep.R40_InShelf);
                    }
                }

                if ((LeftMoveInfo.IsStep(MoveStep.Wait) || LeftMoveInfo.IsStep(MoveStep.LEND) || LeftMoveInfo.IsStep(MoveStep.L10_WaitReelPut))
                   && IOValue(IO_Type.Left_BTN).Equals(IO_VALUE.HIGH))
                {
                    if (IOValue(IO_Type.LeftEnd_Check).Equals(IO_VALUE.HIGH))
                    {
                        LeftMoveInfo.NewMove(MoveStep.L50_OutShelf);
                    }
                    else
                    {
                        LeftMoveInfo.NewMove(MoveStep.L60_InShelf);
                    }
                }
            }
            else if (newagvdispose == "V2")
            {
                if ((RightMoveInfo.IsStep(MoveStep.Wait) || RightMoveInfo.IsStep(MoveStep.REND))
              && IOValue(IO_Type.Right_BTN).Equals(IO_VALUE.HIGH)
              && IOValue(IO_Type.RightCar_Check).Equals(IO_VALUE.HIGH))
                {
                    //有料,出料,无料,进料
                    if (IOValue(IO_Type.RightEnd_Check).Equals(IO_VALUE.HIGH))
                    {
                        RightMoveInfo.NewMove(MoveStep.R30_OutShelf);
                        LogUtil.info("BtnProcess:进料串感应到有料,进料口确认");
                    }
                    else
                    {
                        RightMoveInfo.NewMove(MoveStep.R40_InShelf);
                    }
                }

                if ((LeftMoveInfo.IsStep(MoveStep.Wait) || LeftMoveInfo.IsStep(MoveStep.LEND) || LeftMoveInfo.IsStep(MoveStep.L10_WaitReelPut))
                   && IOValue(IO_Type.Left_BTN).Equals(IO_VALUE.HIGH)
                    && IOValue(IO_Type.LeftCar_Check).Equals(IO_VALUE.HIGH))
                {
                    if (IOValue(IO_Type.LeftEnd_Check).Equals(IO_VALUE.HIGH))
                    {
                        LeftMoveInfo.NewMove(MoveStep.L50_OutShelf);
                    }
                    else
                    {
                        LeftMoveInfo.NewMove(MoveStep.L60_InShelf);
                    }
                }
            }
            else
            {
                //右侧按钮按下,有料,出料
                if (RightMoveInfo.IsStep(MoveStep.Wait)
                    && IOValue(IO_Type.Right_BTN).Equals(IO_VALUE.HIGH)
                    && IOValue(IO_Type.RightEnd_Check).Equals(IO_VALUE.HIGH)
                    && IOValue(IO_Type.RightCar_Check).Equals(IO_VALUE.HIGH))
                {
                    RightMoveInfo.NewMove(MoveStep.R30_OutShelf);
                    LogUtil.info("BtnProcess:进料串感应到有料,进料口确认,检测到小车");
                }
                //右侧按钮按下,无料,阻挡下降
                else if (RightMoveInfo.IsStep(MoveStep.Wait)
                    && IOValue(IO_Type.Right_BTN).Equals(IO_VALUE.HIGH)
                    && IOValue(IO_Type.RightEnd_Check).Equals(IO_VALUE.LOW)
                    && IOValue(IO_Type.RightStopUP).Equals(IO_VALUE.LOW))
                {
                    CylinderMove(null, IO_Type.RightStopUP, IO_Type.RightStopDown);
                }
                if (LeftMoveInfo.IsStep(MoveStep.Wait)
                    && IOValue(IO_Type.Left_BTN).Equals(IO_VALUE.HIGH)
                    && IOValue(IO_Type.LeftEnd_Check).Equals(IO_VALUE.HIGH)
                    && IOValue(IO_Type.LeftCar_Check).Equals(IO_VALUE.HIGH))
                {
                    LeftMoveInfo.NewMove(MoveStep.L50_OutShelf);
                }
                else if (LeftMoveInfo.IsStep(MoveStep.Wait)
                    && IOValue(IO_Type.Left_BTN).Equals(IO_VALUE.HIGH)
                    && IOValue(IO_Type.LeftEnd_Check).Equals(IO_VALUE.LOW)
                    && IOValue(IO_Type.LeftStopUP).Equals(IO_VALUE.LOW))
                {
                    CylinderMove(null, IO_Type.LeftStopUP, IO_Type.LeftStopDown);
                }
            }
        }
    }
}