MainMachine_ServerControl.cs 4.2 KB
using CodeLibrary;
using OnlineStore;
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 crc.GetString(L.begin_singlein ,"开始单盘入库");
            }
            return crc.GetString(L.Clamp_Axis_running_cant_singlein,"取料机构运转中,无法单盘入库");
        }
        
        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);
                StringState = StringStateE.ManualOut;
                return crc.GetString(L.string_begin_release, "开始释放料串");
            }
            if (step == MoveStep.StringReadyPut)
            {
                RobotManage.mainMachine.StringMoveInfo.NextMoveStep(MoveStep.StringOut_01);
                StringState = StringStateE.ManualOut;
                return crc.GetString(L.string_begin_release, "开始释放料串");
            }
            LogUtil.info($"料串无法释放,料仓正在出入库中:{StringMoveInfo.MoveStep}");
            return crc.GetString(L.store_running_cant_inout, "料串无法释放,料仓正在出入库中.");
        }
        public string doSingleInCloseNgDoor()
        {
            LogUtil.info("请求关闭单料门");
            if (ClampMoveInfo.MoveStep == MoveStep.SingleInReady)
            {
                LogUtil.info("请求单盘入库,关闭门");
                ClampMoveInfo.NewMove(MoveStep.SingleInRun);
                return crc.GetString(L.close_singledoor, "关闭单料门");
            }
            else if (IOValue(IO_Type.NGDoor_Close).Equals(IO_VALUE.LOW))
            {
                LogUtil.info("单料门打开状态, 关闭");
                SingleDoor.ToLow(null);
                return crc.GetString(L.close_singledoor, "关闭单料门");
            }

            LogUtil.info($"取料机构当前没有在等待单盘入库:{ClampMoveInfo.MoveStep}");
            return crc.GetString(L.not_in_single_prosses, "当前没有在等待单盘入库:") + 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;
            CylinderMove(StringMoveInfo, IO_Type.BatchDoor_Close, IO_Type.BatchDoor_Open, IO_VALUE.HIGH);
            return crc.GetString(L.begin_open_string_door, "开始打开料串门");

            //LogUtil.info($"批量料门无法打开,料仓正在出入库中:{StringMoveInfo.MoveStep}");
            //return $"批量料门无法打开,料仓正在出入库中.";
        }
        public string doCloseBatchDoor()
        {
            LogUtil.info("请求关闭批量料门");
            if (IOValue(IO_Type.DoorClose_LoadMaterial).Equals(IO_VALUE.LOW))
            {
                LogUtil.info("批量门未关闭无法锁门X07=High");
                return crc.GetString(L.batch_door_not_close_cant_lock, "批量门未关闭无法锁门X07=High");//0704
            }

            StringMoveInfo.LastSetpTime = DateTime.Now;
            StringMoveInfo.IsInWait = true;
            CylinderMove(StringMoveInfo, IO_Type.BatchDoor_Close, IO_Type.BatchDoor_Open, IO_VALUE.LOW);
            return crc.GetString(L.begin_lock_batch_door, "开始锁上批量门");//0704
        }
    }
}