MainMachine_ServerControl.cs 4.0 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);                
                return crc.GetString(L.string_begin_release, "开始释放料串");
            }
            if (step == MoveStep.StringReadyPut)
            {
                RobotManage.mainMachine.StringMoveInfo.NextMoveStep(MoveStep.StringOut_01);
                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)
            {
                ClampMoveInfo.NewMove(MoveStep.SingleInRun);
                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;
            if (!ConfigHelper.Config.Get("Device_Disable_StringDoor", false))
                StringDoorOpen(StringMoveInfo);
            return crc.GetString(L.begin_open_string_door, "开始打开料串门");

            //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 crc.GetString(L.string_not_onposition_01, "料串尚未到位无法关门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))
                StringDoorClose(StringMoveInfo);
            return crc.GetString(L.begin_close_string_door, "开始关闭料串门");
        }
    }
}