StoreStep.cs 11.0 KB
 
namespace OnlineStore.DeviceLibrary
{

    /// <summary>
    /// 等待启动/已经停止,初始化完成, 正常运行中,可以进行新的处理,忙碌,重置
    /// </summary>
    public enum StoreRunStatus
    {
        /// <summary>
        /// 等待启动/已经停止
        /// </summary>
        Wait = 0,
        /// <summary>
        ///  初始化 ,原点返回状态中,只有流水线使用
        /// </summary>
        HomeMoving = 1,

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

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

    }
    /// <summary>
    ///1=设备联机(正常就绪)(入库后,BOX恢复原始状态)(出库后,移载装置恢复原始状态),
    ///2=急停,3=故障,4=警告,5=调试
    /// 6=入库执行中,7=入仓完成,8=入仓失败
    /// 9=出库执行,10=出仓完成,11=出库失败
    /// </summary>
    public enum StoreStatus
    {
        /// <summary>
        /// 1=设备联机(正常就绪)(入库后,BOX恢复原始状态)(出库后,移载装置恢复原始状态),
        /// </summary>
        StoreOnline = 1,
        /// <summary>
        ///2=急停中
        /// </summary>
        SuddenStop = 2,
        /// <summary>
        /// 3=故障中
        /// </summary>
        InTrouble = 3,
        /// <summary>
        /// 4=警告
        /// </summary>
        Warning = 4,
        /// <summary>
        /// 5=设备调试中 
        /// </summary>
        Debugging = 5,
        /// <summary>
        /// 6=入库执行中 
        /// </summary>
        InStoreExecute = 6,
        /// <summary>
        /// 7= 入仓位完成(料仓Box把料盘放入对应的库位中,装置还未恢复原始状态) 
        /// </summary>
        InStoreEnd = 7,
        /// <summary>
        /// 8=入库失败
        /// </summary>
        InStoreFaild = 8,
        /// <summary>
        /// 9=出库执行中",
        /// </summary>
        OutStoreExecute = 9,
        /// <summary>
        ///10= 出仓位完成( 料盘已经放到Box门口) 
        /// </summary>
        OutStoreBoxEnd = 10,
        /// <summary>
        /// 12=移栽出库移栽过程中(移栽完成后变成OnLine)
        /// </summary>
        OutMoveExecute = 12,
        /// <summary>
        ///11=出库失败
        /// </summary>
        OutStoreFaild = 11,
        /// <summary>
        /// 重置中(原点返回和重置都发此状态)
        /// </summary>
        ResetMove = 13,
    }

    /// <summary>
    /// 料仓运动状态(当料仓状态=busy时,才会有此运动状态)
    /// </summary>
    public enum StoreMoveStep
    {
        /// <summary>
        /// 无操作,等待状态
        /// </summary>
        Wait = 0,
        #region 料仓原点返回和重置步骤
        /// <summary>
        /// 复位,,定位气缸下降
        /// </summary>
        SH_10_LocationCylinderBack = 010,

        /// <summary>
        /// 复位,轴三先相对走3000
        /// </summary>
        SH_11_InOutMove = 011,
        /// <summary>
        /// 复位,,轴三进出轴先返回原点
        /// </summary>
        SH_12_InOutBack = 012,

        /// <summary>
        /// 复位,,轴三返回P1点
        /// </summary>
        SH_13_InOutToP1 = 013,
        /// <summary>
        ///  复位,,升降轴,原点返回
        /// </summary>
        SH_14_UpdownBack = 014,
        /// <summary>
        /// 复位:升降轴到待机点P1
        /// </summary>
        SH_15_UpdownToP1,

        /// <summary>
        /// 复位,前后轴原点返回
        /// </summary>
        SH_16_MiddleBack,
        /// <summary>
        /// 复位:前后轴返回P1
        /// </summary>
        SH_17_MiddleToP1,


        /// <summary>
        /// 复位:叉子走到P1
        /// </summary>
        SP1_01_InOutToP1 = 031,
        /// <summary>
        /// 复位:关闭门
        /// </summary>
        SP1_02_CloseDoor,
        /// <summary>
        /// 复位:升降轴到P1
        /// </summary>
        SP1_03_UpdownToP1,
        /// <summary>
        /// 复位:升降轴到P1
        /// </summary>
        SP1_04_MiddleToP1 ,
        /// <summary>
        /// 复位:前后轴到P1
        /// </summary>
        SP1_05_ShelfForward,


        #endregion


        #region 料仓内部出库步骤


        /// <summary>
        ///出库:叉子先运动到P1
        /// </summary>
        SO_01_DeviceBack = 101,

        /// <summary>
        ///  出库:前后轴至P2(库位点),托架后退) 
        /// </summary>
        SO_02_ToBagPosition = 102,
        /// <summary>
        ///  出库:升降轴至P5(库位出库前点)
        /// </summary>
        SO_03_UpdownMove= 103,
        /// <summary>
        ///  出库:叉子进入库位中,  轴3( 叉子) 至P3(库位取放料点)
        /// </summary>
        SO_04_DeviceToBag = 104,

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


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

        /// <summary>
        /// 出库:检测叉子是否有料
        /// </summary>
        SO_07_CheckHasTray = 107,


        /// <summary>
        /// 出库:叉子进出料口,,轴3( 叉子) 至P2( 进料口取料点)
        /// /// </summary>
        SO_08_UpdownBack = 108,
        /// <summary>
        /// 出库:所有设备运行到门,,轴1( 转盘) 至P1( 待机点)轴2( 上下) 至P2( 进料口出料前点)
        /// </summary>
        SO_09_ToDoorPosition = 109,
        /// <summary>
        /// 等待门口无料盘
        /// </summary>
        SO_10_WaitNoTray = 110,

        
        /// <summary>
        /// 出库:叉子进出料口,,轴3( 叉子) 至P2( 进料口取料点)
        /// /// </summary>
        SO_11_DeviceToDoor = 111,
        /// <summary>
        /// 出库:把物品放下,,轴2( 上下) 至P8( 进料口出料缓冲点)轴4( 压紧) 至P1( 待机点)
        /// </summary>
        SO_12_DevicePutWare = 112,
        /// <summary>
        /// 出库:叉子从出料口返回,,轴3( 叉子) 动作至P1( 待机点)
        /// </summary>
        SO_13_DeviceOutFromDoor = 113,

        /// <summary>
        /// 出库:判断物料信号
        /// </summary>
        SO_14_CheckShelfDI = 114,
        /// <summary>
        /// 出库:升降轴返回,,  轴2至P1( 待机点)
        /// </summary>
        SO_15_GoBack = 115,
        ///// <summary>
        ///// 等待拿走物品
        ///// </summary>
        //SO_15_WaitTake = 115,

        #endregion

        #region 料仓内部入库步骤
        /// <summary>
        /// 入库检测
        /// </summary>
        SI_00_TrayCheck = 200,

        /// <summary>
        /// 入库。。进出轴(叉子)先返回P1,关闭门锁
        /// </summary>
        SI_02_InOutAxisHome = 202,
        /// <summary>
        /// 入库。。所有轴先回到待机点,轴2、轴1 动作到P1, 托架后退
        /// </summary>
        SI_03_ReturnHome = 203,

        /// <summary>
        /// 入库。。叉子进入入料口,轴3( 叉子) 至P2( 进料口取料点)
        /// </summary>
        SI_05_DeviceToDoor = 205,
        /// <summary>
        /// 入库。。把物品放入叉子上,轴2( 上下) 至P7( 进料口取料缓冲点) 
        /// </summary>
        SI_06_UpdownAxisUp = 206,


        /// <summary>
        /// 入库。。叉子 从入料口抽出,轴3( 叉子) 至P1( 待机点)
        /// </summary>
        SI_07_InoutBack = 207,

        /// <summary>
        /// 入库。。等待物料信号到位
        /// </summary>
        SI_08_WaitShelfDI = 208,
        /// <summary>
        /// 入库。。移动到库位点,前后轴 至P3(库位入库前点)
        /// </summary>
        SI_09_MoveToBag = 209,
        /// <summary>
        /// 入库。。移动到库位点,升降轴到库位
        /// </summary>
        SI_10_UpdownToBag = 210,

        /// <summary>
        /// 入库。。叉子进入库位中, 进出轴至P4(库位取放料点)
        /// </summary>
        SI_11_DeviceToBag = 211,
        /// <summary>
        /// 入库。。放下物品,轴2( 上下) 至P4( 库位入料缓冲点)  
        /// </summary>
        SI_12_PutWareToBag = 212,
        /// <summary>
        /// 入库。。叉子从库位中返回,轴3( 叉子) 动作至P1( 待机点)
        /// </summary>
        SI_13_DeviceBackFromBag = 213,

        /// <summary>
        /// 入库。判断料叉物料检测信号是否消失
        /// </summary>
        SI_14_CheckTrayIsGo = 214,
        /// <summary>
        /// 入库。。升降轴返回
        /// </summary>
        SI_15_UpdownBack = 215,
        /// <summary>
        /// 入库。。进出轴返回
        /// </summary>
        SI_16_GoBack = 216,

        #endregion

        #region 手动料仓出入库步骤

        /// <summary>
        /// 手动料仓,已经写入开门IO
        /// </summary>
        M_Begin_OpenDoor = 1000,
        /// <summary>
        /// 手动料仓,已经收到开门信号
        /// </summary>
        M_End_OpenDoor = 1001,
        /// <summary>
        /// 手动料仓,已经收到关门信号
        /// </summary>
        M_CloseDoor = 1002,
        #endregion

        #region 移栽装置原点返回和重置步骤

        /// <summary>
        /// 料仓移栽装置,,上下气缸上升端
        /// </summary>
        H_UpDownCylinder_Up = 2001,
        /// <summary>
        /// 料仓移载装置,其他气缸运行到初始状态( 顶升气缸下降端,前后气缸后退端,夹料气缸放松端,阻挡气缸输入=0 )
        /// </summary>
        H_OtherCylinder_Back = 2002,

        #endregion



    }

    public enum StoreAlarmType
    {
        /// <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,
    }
}