MainMachine _LabelProcess.cs 3.5 KB
using CodeLibrary;
using OnlineStore.Common;
using OnlineStore.LoadCSVLibrary;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DeviceLibrary
{
    partial class MainMachine
    {
        
        void LabelProcess()
        {
            if (CheckWait(LabelMoveInfo))
                return;

            switch (LabelMoveInfo.MoveStep)
            {
                case MoveStep.Lbl01:
                    Label_X_Axis.AbsMove(LabelMoveInfo, Config.Label_X_P2, Config.Label_X_P2_speed);
                    Label_Y_Axis.AbsMove(LabelMoveInfo, Config.Label_Y_P2, Config.Label_Y_P2_speed);
                    Label_Z_Axis.AbsMove(LabelMoveInfo, Config.Label_Z_P2, Config.Label_Z_P2_speed);
                    LabelMoveInfo.NextMoveStep(MoveStep.Lbl_WaitPrint);
                    LabelMoveInfo.log("Label_XYZ转到取标点,等待标签打印完毕");
                    break;
                case MoveStep.Lbl_Printted:
                    LabelMoveInfo.NextMoveStep(MoveStep.Lbl02);
                    CylinderMove(LabelMoveInfo, IO_Type.LabelCylinder_Bck, IO_Type.LabelCylinder_Fwd);
                    IOMove(IO_Type.LabelCylinder_Work, IO_VALUE.HIGH);
                    LabelMoveInfo.log("标签打印完毕,取标气缸下降,开始吸气.");
                    break;
                case MoveStep.Lbl02:
                    CylinderMove(LabelMoveInfo, IO_Type.LabelCylinder_Fwd, IO_Type.LabelCylinder_Bck);
                    LabelMoveInfo.NextMoveStep(MoveStep.Lbl03);
                    LabelMoveInfo.log("标签打印完毕,取标气缸上升,取起标签.");
                    break;
                case MoveStep.Lbl03:
                    if (LeftMoveInfo.MoveStep == MoveStep.L20_WaitLabel)
                    {
                        LabelMoveInfo.NextMoveStep(MoveStep.Lbl10);
                    }
                    else if (LabelMoveInfo.IsTimeOut(60)) {
                        LabelMoveInfo.log("等待左侧料窜可贴标.");
                    }
                    break;
                case MoveStep.Lbl10:
                    Label_X_Axis.AbsMove(LabelMoveInfo, Config.Label_X_P3, Config.Label_X_P3_speed);
                    Label_Y_Axis.AbsMove(LabelMoveInfo, Config.Label_Y_P3, Config.Label_Y_P3_speed);
                    Label_Z_Axis.AbsMove(LabelMoveInfo, Config.Label_Z_P3, Config.Label_Z_P3_speed);
                    LabelMoveInfo.NextMoveStep(MoveStep.Lbl11);
                    LabelMoveInfo.log("Label_XYZ转到贴标点.");
                    break;
                case MoveStep.Lbl11:
                    LabelMoveInfo.NextMoveStep(MoveStep.Lbl12);
                    CylinderMove(LabelMoveInfo, IO_Type.LabelCylinder_Bck, IO_Type.LabelCylinder_Fwd);
                    IOMove(IO_Type.LabelCylinder_Work, IO_VALUE.LOW);
                    LabelMoveInfo.log("取标气缸下降,关闭吸气.");
                    break;
                case MoveStep.Lbl12:
                    CylinderMove(LabelMoveInfo, IO_Type.LabelCylinder_Fwd, IO_Type.LabelCylinder_Bck);
                    LabelMoveInfo.NextMoveStep(MoveStep.Lbl13);
                    LabelMoveInfo.log("取标气缸上升.");
                    break;
                case MoveStep.Lbl13:
                    LeftMoveInfo.NextMoveStep(MoveStep.L30_LabelFinish);
                    LabelMoveInfo.NextMoveStep(MoveStep.Lbl01);
                    LabelMoveInfo.log("完成贴标.");
                    break;
            }
        }



    }
}