BoxEquip_PosDebug.cs 7.9 KB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OnlineStore.DeviceLibrary
{
    partial class BoxEquip
    {
        public bool isInitPosDebugInfo = false;
        public void InitPosDebugInfo()
        {
            PosDebugResultManager.Init(PositionNumList);
            isInitPosDebugInfo = PosDebugResultManager.isInit;
        }

        public void PosDebugProcess()
        {
            if (MoveInfo.IsInWait)
            {
                CheckWait(MoveInfo);
            }
            if (MoveInfo.IsInWait)
            {
                return;
            }
            switch(MoveInfo.MoveStep)
            {
                case StepEnum.SP_00_1_StartPosDebug:
                    PullAxisToP1("库位调试");
                    break;
                case StepEnum.SP_00_2_PullAxisReady:
                    SetBoxStatus(DeviceStatus.Debugging, RunStatus.Busy);
                    MoveInfo.NextMoveStep(StepEnum.SP_02_VerifyBufferState);
                    break;
                case StepEnum.SP_00_3_CheckMoveAxisSafe:

                    break;
                case StepEnum.SP_01_ToBufferArea:
                    MoveInfo.NextMoveStep(StepEnum.SP_02_VerifyBufferState);
                    LogInfo($"库位调试 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");

                    break;

                case StepEnum.SP_02_VerifyBufferState:
                    MoveInfo.NextMoveStep(StepEnum.SP_03_XAxisToBuff);
                    LogInfo($"库位调试 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
                    break;

                case StepEnum.SP_03_XAxisToBuff:
                    MoveInfo.NextMoveStep(StepEnum.SP_04_GetReel);
                    LogInfo($"库位调试 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
                    break;

                case StepEnum.SP_04_GetReel:
                    MoveInfo.NextMoveStep(StepEnum.SP_05_XAxisBackToP1);
                    LogInfo($"库位调试 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
                    break;

                case StepEnum.SP_05_XAxisBackToP1:
                    MoveInfo.NextMoveStep(StepEnum.SP_06_ClearBuffInfo);
                    LogInfo($"库位调试 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
                    break;

                case StepEnum.SP_06_ClearBuffInfo:
                    MoveInfo.NextMoveStep(StepEnum.SP_07_MiddleToP3);
                    LogInfo($"库位调试 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
                    break;
                case StepEnum.SP_07_MiddleToP3:
                    MoveInfo.NextMoveStep(StepEnum.SP_08_ToPosition);
                    LogInfo($"库位调试 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
                    break;

                case StepEnum.SP_08_ToPosition:
                    MoveInfo.NextMoveStep(StepEnum.SP_09_ToDrawer);
                    LogInfo($"库位调试 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
                    break;

                case StepEnum.SP_09_ToDrawer:
                    MoveInfo.NextMoveStep(StepEnum.SP_10_LiftDrawer);
                    LogInfo($"库位调试 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
                    break;

                case StepEnum.SP_10_LiftDrawer:
                    MoveInfo.NextMoveStep(StepEnum.SP_11_PullDrawer);
                    LogInfo($"库位调试 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
                    break;

                case StepEnum.SP_11_PullDrawer:
                    MoveInfo.NextMoveStep(StepEnum.SP_12_DropDrawerToPos);
                    LogInfo($"库位调试 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
                    break;

                case StepEnum.SP_12_DropDrawerToPos:
                    MoveInfo.NextMoveStep(StepEnum.SP_13_PutReel);
                    LogInfo($"库位调试 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
                    break;

                case StepEnum.SP_13_PutReel:
                    MoveInfo.NextMoveStep(StepEnum.SP_14_ReleaseCompress);
                    LogInfo($"库位调试 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
                    break;

                case StepEnum.SP_14_ReleaseCompress:
                    MoveInfo.NextMoveStep(StepEnum.SP_15_UpDownBack);
                    LogInfo($"库位调试 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
                    break;

                case StepEnum.SP_15_UpDownBack:
                    MoveInfo.NextMoveStep(StepEnum.SP_16_GetReel);
                    LogInfo($"库位调试 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
                    break;

                case StepEnum.SP_16_GetReel:
                    MoveInfo.NextMoveStep(StepEnum.SP_17_StartCompress);
                    LogInfo($"库位调试 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
                    break;

                case StepEnum.SP_17_StartCompress:
                    MoveInfo.NextMoveStep(StepEnum.SP_18_UpDownBack);
                    LogInfo($"库位调试 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
                    break;

                case StepEnum.SP_18_UpDownBack:
                    MoveInfo.NextMoveStep(StepEnum.SP_19_CheckDrawerFinish);
                    LogInfo($"库位调试 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
                    break;

                case StepEnum.SP_19_CheckDrawerFinish:
                    MoveInfo.NextMoveStep(StepEnum.SP_20_LiftTray);
                    LogInfo($"库位调试 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
                    break;

                case StepEnum.SP_20_LiftTray:
                    MoveInfo.NextMoveStep(StepEnum.SP_21_PushTray);
                    LogInfo($"库位调试 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
                    break;

                case StepEnum.SP_21_PushTray:
                    MoveInfo.NextMoveStep(StepEnum.SP_22_PutTrayMiddle);
                    LogInfo($"库位调试 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
                    break;

                case StepEnum.SP_22_PutTrayMiddle:
                    MoveInfo.NextMoveStep(StepEnum.SP_23_PutTrayDown);
                    LogInfo($"库位调试 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
                    break;

                case StepEnum.SP_23_PutTrayDown:
                    MoveInfo.NextMoveStep(StepEnum.SP_24_InoutBack);
                    LogInfo($"库位调试 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
                    break;

                case StepEnum.SP_24_InoutBack:
                    MoveInfo.NextMoveStep(StepEnum.SP_25_ToNextGrid);
                    LogInfo($"库位调试 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
                    break;

                case StepEnum.SP_25_ToNextGrid:
                    SetBoxStatus(DeviceStatus.Debugging, RunStatus.Runing);
                    MoveInfo.EndMove(); 
                    break;
            }
        }
    }
    public class PosDebugInfo
    {
        public string PosSide { get; set; }
        public int StartDrawerRow { get; set; }
        public int StartDrawerCol { get; set; }
        public int StartRowInDrawer { get; set; }
        public int StartColInDrawer { get; set; }
        public int EndDrawerRow { get; set; }
        public int EndDrawerCol { get; set; }
        public int EndRowInDrawer { get; set; }
        public int EndColInDrawer { get; set; }
    }
}