MainMachine _BtnProcess.cs 3.4 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");
            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);
                    }
                    else
                    {
                        RightMoveInfo.NewMove(MoveStep.R40_InShelf);
                    }                   
                }

                if ((LeftMoveInfo.IsStep(MoveStep.Wait) || LeftMoveInfo.IsStep(MoveStep.REND))
                   && 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 (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);
                }
                //右侧按钮按下,无料,阻挡下降
                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);
                }
            }                     
        }
    }
}