StoreStep.cs 7.9 KB
using log4net;
using OnlineStore.Common;
using OnlineStore.DeviceLibrary;
using OnlineStore.LoadCSVLibrary;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.IO.Ports;
using System.Linq;
using System.Text;
 
using System.Windows.Forms;

namespace OnlineStore.DeviceLibrary
{
    
    /// <summary>
    /// 等待启动/已经停止,初始化完成, 正常运行中,可以进行新的处理,忙碌,重置
    /// </summary>
    public enum RunStatus
    {
        /// <summary>
        /// 等待启动/已经停止
        /// </summary>
        Wait = 0,
        /// <summary>
        ///  初始化 ,原点返回状态中
        /// </summary>
        HomeMoving = 1,

        /// <summary>
        /// 设备正在重置中,请稍后
        /// </summary>
        Reset = 2, 
        /// <summary>
        /// 正常运行中,可以进行新的处理
        /// </summary>
        Runing = 3,

        /// <summary>
        /// 正在忙碌中,请稍后
        /// </summary>
        Busy = 4,

    }
   
    
    public enum MoveStep
    {
        /// <summary>
        /// 无操作,等待状态
        /// </summary>
        Wait = 0,
        #region VMI流水线原点返回和重置步骤
        /// <summary>
        /// VMI流水线复位:所有阻挡上升
        /// </summary>
        VMI_H_StopUp=010,

        /// <summary>
        /// VMI流水线复位:线体开始转动
        /// </summary>
        VMI_H_LineRun = 011,
 
        #endregion


        #region VMI流水线内部出库步骤
        /// <summary>
        ///VMI流水线出库,,定位气缸下降
        /// </summary>
        SO_01_LocationCylinderDown=101,
        /// <summary>
        ///VMI流水线出库:叉子先运动到P1
        /// </summary>
        SO_02_DeviceBack = 102,

        /// <summary>
        ///  VMI流水线出库,,所有轴运行到库位,  轴4( 压紧) 至P3(压紧前点) ,轴1( 转盘) 至P2( 库位点),轴2(上下) 至P5(库位出库前点) 
        /// </summary>
        SO_03_ToBagPosition = 103,
        /// <summary>
        ///  VMI流水线出库,,叉子进入库位中,  轴3( 叉子) 至P3(库位取放料点)
        /// </summary>
        SO_04_DeviceToBag = 104,

        /// <summary>
        ///VMI流水线出库,, 库位的物品放入叉子上,轴2( 上下) 至P6( 库位出料缓冲点),轴4( 压紧) 至P2(压紧点)
        /// </summary>
        SO_05_BagWareToDevice = 105,

        /// <summary>
        ///VMI流水线出库,,叉子从 库位返回,轴3( 叉子) 至P1( 待机点)
        /// </summary>
        SO_06_BagDeviceBack = 106,

        /// <summary>
        /// VMI流水线出库,定位气缸伸出(有压紧轴的不需要此步骤),,定位气缸伸出   Y103-1/PCI5O1-83)   Y103-2/PCI5O1-90)   Y103-3/PCI5O1-95)   伸出到位
        /// </summary>
        SO_07_LocationCylinder_Up = 107,

        /// <summary>
        /// VMI流水线出库,,所有设备运行到门,,轴1( 转盘) 至P1( 待机点)轴2( 上下) 至P2( 进料口出料前点)
        /// </summary>
        SO_08_ToDoorPosition = 108,

        /// <summary>
        /// VMI流水线出库,定位气缸退回(有压紧轴的不需要此步骤),,定位气缸退回(Y104-1/PCI5O1-84)  (Y104-2/PCI5O1-91)   (Y104-2/PCI5O1-96)   退回到位
        /// </summary>
        SO_09_LocationCylinder_Down = 109,
        /// <summary>
        /// 等待门口无料盘
        /// </summary>
        SO_091_WaitNoTray=115,

        /// <summary>
        /// VMI流水线出库,,叉子进出料口,,轴3( 叉子) 至P2( 进料口取料点)
        /// /// </summary>
        SO_10_DeviceToDoor = 110,
        /// <summary>
        /// VMI流水线出库,,把物品放下,,轴2( 上下) 至P8( 进料口出料缓冲点)轴4( 压紧) 至P1( 待机点)
        /// </summary>
        SO_11_DevicePutWare = 111,
        /// <summary>
        /// VMI流水线出库,,叉子从出料口返回,,轴3( 叉子) 动作至P1( 待机点)
        /// </summary>
        SO_12_DeviceOutFromDoor = 112,

        /// <summary>
        /// VMI流水线出库,,升降轴返回,,  轴2至P1( 待机点)
        /// </summary>
        SO_13_GoBack = 113,
        /// <summary>
        /// 等待拿走物品
        /// </summary>
        SO_14_WaitTake=114,

        #endregion

        #region VMI流水线内部入库步骤
        /// <summary>
        /// 入库检测
        /// </summary>
        SI_00_TrayCheck=200,
        /// <summary>
        /// 入库,。定位气缸下降
        /// </summary>
        SI_01_LocationCylinderDown=201,
        /// <summary>
        /// 入库。。进出轴(叉子)先返回P1
        /// </summary>
        SI_02_InOutAxisHome = 202,
        /// <summary>
        /// 入库。。所有轴先回到待机点,轴2、轴1 动作到P1,,轴4动作至P3
        /// </summary>
        SI_03_ReturnHome = 203,
        /// <summary>
        /// 入库。。压紧物品(有压紧轴的才需要此步骤),轴4( 压紧) 至P3(压紧前点)
        /// </summary>
        SI_04_CompressWare = 204,
        /// <summary>
        /// 入库。。叉子进入入料口,轴3( 叉子) 至P2( 进料口取料点)
        /// </summary>
        SI_05_DeviceToDoor = 205,
        /// <summary>
        /// 入库。。把物品放入叉子上,轴2( 上下) 至P7( 进料口取料缓冲点),压紧物品(有压紧轴的才需要此步骤),轴4( 压紧) 至P2(压紧点)
        /// </summary>
        SI_06_DoorWarToDevice = 206,
         
        /// <summary>
        /// 入库。。叉子 从入料口抽出,轴3( 叉子) 至P1( 待机点)
        /// </summary>
        SI_07_DeviceBackFromDoor = 207,
        /// <summary>
        /// 入库。。,定位气缸伸出 (有压紧轴的不需要此步骤) 
        /// </summary>
        SI_08_LocationCylinder_Up = 208,
        /// <summary>
        /// 入库。。移动到库位点,轴1( 转盘) 至P2( 库位点)轴2(上下) 至P3(库位入库前点)
        /// </summary>
        SI_09_MoveToBag = 209,
        /// <summary>
        /// 入库。。定位气缸退回 (有压紧轴的不需要此步骤)
        /// </summary>
        SI_10_LocationCylinder_Down = 210,
        /// <summary>
        /// 入库。。叉子进入库位中,轴3( 叉子) 至P3(库位取放料点)
        /// </summary>
        SI_11_DeviceToBag = 211,
        /// <summary>
        /// 入库。。放下物品,轴2( 上下) 至P4( 库位入料缓冲点)轴4( 压紧) 至P3( 压紧前点)
        /// </summary>
        SI_12_PutWareToBag = 212,
        /// <summary>
        /// 入库。。叉子从库位中返回,轴3( 叉子) 动作至P1( 待机点)
        /// </summary>
        SI_13_DeviceBackFromBag = 213,
        /// <summary>
        /// 入库。。返回待机点,轴2/轴1/轴4动作至P1( 待机点))开始
        /// </summary>
        SI_14_GoBack = 214,

        #endregion

    
    }

    public enum AlarmType
    {
        /// <summary>
        /// 没有报警
        /// </summary>
        None = 0,
        ///// <summary>
        ///// 轴报警
        ///// </summary>
        //AxisAlarm = 1, 
        /// <summary>
        /// 收到急停
        /// </summary>
        SuddenStop = 10,
        ///// <summary>
        ///// 没有气压信号
        ///// </summary>
        //NoAirCheck = 11,
        ///// <summary>
        ///// 轴运动错误,没有达到指定脉冲,但是io判断已停止运动
        ///// </summary>
        //AxisMoveError = 20,
        /// <summary>
        /// io信号超时未收到
        /// </summary>
        IoSingleTimeOut = 30,
        ///// <summary>
        ///// 电钢报警
        ///// </summary>
        //StellAlarm=50,
    }
}