using System; namespace WCS.Entity.Protocol.SRM { /// /// 速度模式 /// public enum SCSpeedMode : short { 正常 = 0, 低速 = 1 } /// /// 运行状态 /// public enum SCRunStatus : short { 空闲 = 1, 取货行走 = 2, 取货伸叉 = 3, 取货抬叉 = 4, 取货收叉 = 5, 放货行走 = 6, 放货伸叉 = 7, 取货降叉 = 8, 放货收叉 = 9, 维护 = 99 } /// /// 运行模式 /// public enum SCMode : short { 远程 = 1, 半自动 = 2, 手动 = 3, 维修 = 4 } /// /// 货叉状态 /// [Flags] public enum SRMForkStatus : ushort { 握手 = 1 << 0, 取货完成 = 1 << 1, 放货完成 = 1 << 2, 设备故障 = 1 << 3, 任务完成 = 1 << 4, 有货 = 1 << 5, 货叉中位 = 1 << 6, WCS能否发任务 = 1 << 7, 备用1 = 1 << 8, 备用2 = 1 << 9, 备用3 = 1 << 10, 备用4 = 1 << 11, 备用5 = 1 << 12, 备用6 = 1 << 13, 备用7 = 1 << 14, 备用8 = 1 << 15, } /// /// 堆垛机报警 /// [Flags] public enum SCAlarm : ulong { 无 = 0, 主柜急停 = 1L << 0, 分柜急停 = 1L << 1, 取货点异常 = 1L << 2, 放货点有货 = 1L << 3, 货叉取货完成后无货 = 1L << 4, 货叉无任务有货异常 = 1L << 5, 货叉运行超时 = 1L << 6, 货叉左侧超行程 = 1L << 7, 货物左前坍塌 = 1L << 8, 货物右前坍塌 = 1L << 9, 前限位触发 = 1L << 10, 后限位触发 = 1L << 11, 上限位触发 = 1L << 12, 下限位触发 = 1L << 13, 超载限位触发 = 1L << 14, 松绳限位触发1 = 1L << 15, 行走运动超行程 = 1L << 16, 起升运动超行程 = 1L << 17, 行走变频器报警 = 1L << 18, 提升变频器报警 = 1L << 19, 货叉变频器报警 = 1L << 20, 提升超速报警 = 1L << 21, 风扇, 灯, 插座空开 = 1L << 22, 触摸屏, 光通讯, 激光测距空开 = 1L << 23, 行走马达保护器 = 1L << 24, 行走抱闸空开 = 1L << 25, 起升马达保护器 = 1L << 26, 起升抱闸空开 = 1L << 27, 货叉马达保护器 = 1L << 28, 货叉抱闸空开 = 1L << 29, 安全门打开 = 1L << 30, 安全继电器报警 = 1L << 31, 当前货位已禁用 = 1L << 32, 组态中断报警 = 1L << 33, 货物左前超出 = 1L << 34, 货物左后超出 = 1L << 35, 货物右前超出 = 1L << 36, 货物右后超出 = 1L << 37, 相序保护 = 1L << 38, 货物右超高1M5 = 1L << 39, 安全门1报警 = 1L << 40, 安全门2报警 = 1L << 41, 行走测距信号丢失报警 = 1L << 42, 提升测距信号丢失报警 = 1L << 43, 行走定位失败 = 1L << 44, 提升定位失败 = 1L << 45, 回中定位失败 = 1L << 46, //根据堆垛机通讯协议定义 下述报警暂时不存在 堆垛机巷道有人进入, 光通讯中断 = 1L << 47, 货叉位置错误 = 1L << 48, 货叉编码器报警 = 1L << 49, 货叉编码器报警中间位 = 1L << 50, 货叉中位光电异常 = 1L << 51, 载货台电源空开 = 1L << 52, 按钮, 安全回路空开 = 1L << 53, 货物左后坍塌 = 1L << 54, 货物右后坍塌 = 1L << 55, 登梯口急停 = 1L << 56, 货物左超高1M9 = 1L << 57, 货物右超高1M9 = 1L << 58, 松绳限位触发2 = 1L << 59, 货叉右侧超行程 = 1L << 60, 取放货托盘总数超限 = 1L << 61, 安全门急停 = 1L << 62, } }