MainMachine_ServerControl.cs 3.7 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
    {
        public string doSingleInOpenNgDoor()
        {
            LogUtil.info("请求单盘入库,打开门");
            if (ClampMoveInfo.MoveStep == MoveStep.Wait)
            {
                ClampMoveInfo.NewMove(MoveStep.SingleIn);
                return "开始单盘入库";
            }
            return "取料机构运转中,无法单盘入库";
        }
        
        public string doTakeOutReel()
        {
            LogUtil.info("请求下降出库料串");
            var step = RobotManage.mainMachine.StringMoveInfo.MoveStep;
            var clampstep = RobotManage.mainMachine.ClampMoveInfo.MoveStep;
            if (step == MoveStep.StringReadyGet && clampstep >= MoveStep.ReelClamp_GetHeight)
            {
                RobotManage.mainMachine.StringMoveInfo.NextMoveStep(MoveStep.StringOut_01);                
                return "开始释放料串";
            }
            if (step == MoveStep.StringReadyPut)
            {
                RobotManage.mainMachine.StringMoveInfo.NextMoveStep(MoveStep.StringOut_01);
                return "开始释放料串";
            }
            LogUtil.info($"料串无法释放,料仓正在出入库中:{StringMoveInfo.MoveStep}");
            return $"料串无法释放,料仓正在出入库中.";
        }
        public string doSingleInCloseNgDoor()
        {
            LogUtil.info("请求单盘入库,关闭门");
            if (ClampMoveInfo.MoveStep == MoveStep.SingleInReady)
            {
                ClampMoveInfo.NewMove(MoveStep.SingleInRun);
                return "关闭单料门";
            }
            LogUtil.info($"取料机构当前没有在等待单盘入库:{ClampMoveInfo.MoveStep}");
            return $"取料机构当前没有在等待单盘入库:{ClampMoveInfo.MoveStep}";
        }

        public string doOpenBatchDoor()
        {
            LogUtil.info("请求打开批量料门");
            var step = RobotManage.mainMachine.StringMoveInfo.MoveStep;
            var clampstep = RobotManage.mainMachine.ClampMoveInfo.MoveStep;

            StringMoveInfo.LastSetpTime = DateTime.Now;
            StringMoveInfo.IsInWait = true;
            if (!ConfigHelper.Config.Get("Device_Disable_StringDoor", false))
                CylinderMove(StringMoveInfo, IO_Type.StringDoor_Close, IO_Type.StringDoor_Open, IO_VALUE.HIGH);
            return "开始打开折叠门";

            //LogUtil.info($"批量料门无法打开,料仓正在出入库中:{StringMoveInfo.MoveStep}");
            //return $"批量料门无法打开,料仓正在出入库中.";
        }
        public string doCloseBatchDoor()
        {
            LogUtil.info("请求关闭批量料门");
            if (IOValue(IO_Type.StringFront_Check).Equals(IO_VALUE.HIGH))
            {
                LogUtil.info("料串尚未到位无法关门X09=High");
                return $"料串尚未到位无法关门X09=High";
            }

            //RobotManage.mainMachine.StringMoveInfo.NewMove(MoveStep.Wait);
            //RobotManage.mainMachine.StringMoveInfo.NextMoveStep(RobotManage.mainMachine.StringMoveInfo.MoveStep);
            StringMoveInfo.LastSetpTime = DateTime.Now;
            StringMoveInfo.IsInWait = true;
            if (!ConfigHelper.Config.Get("Device_Disable_StringDoor", false))
                CylinderMove(StringMoveInfo, IO_Type.StringDoor_Close, IO_Type.StringDoor_Open, IO_VALUE.LOW);
            return $"批量料门关闭";
        }
    }
}