using System; using System.ComponentModel; namespace WCS.Protocol.SX.Protocol.Robot { /// /// 机械手工位状态 /// [Flags] public enum RobotState : ushort { /// /// 完成取货信号 /// [Description("完成取货信号")] GetFinish = 1 << 0, /// /// 完成放货信号 /// [Description("完成放货信号")] PutFinish = 1 << 1, /// /// 设备故障状态 /// [Description("设备故障状态")] Alarm = 1 << 2, /// /// 当前任务完成 /// [Description("当前任务完成")] TaskFinish = 1 << 3, /// /// 设备上有货 /// [Description("设备上有货")] Loaded = 1 << 4, /// /// 机器人在原位 /// [Description("机器人在原位")] ForkCenter = 1 << 5, /// /// 反馈WCS能否发任务,1:可以发任务 0:不能发任务 /// [Description("反馈WCS能否发任务,1:可以发任务 0:不能发任务")] IssueTask = 1 << 6, /// /// 备用s /// [Description("备用")] Res = 1 << 7, /// /// 备用 /// [Description("备用")] Res1 = 1 << 8, /// /// 备用 /// [Description("备用")] Res2 = 1 << 9, /// /// 备用 /// [Description("备用")] Res3 = 1 << 10, /// /// 备用 /// [Description("备用")] Res4 = 1 << 11, /// /// 备用 /// [Description("备用")] Res5 = 1 << 12, /// /// 备用 /// [Description("备用")] Res6 = 1 << 13, /// /// 备用 /// [Description("备用")] Res7 = 1 << 14, /// /// 备用 /// [Description("备用")] Res8 = 1 << 15, } /// /// 机械臂模式 /// public enum RobotMode : short { /// /// 自动 /// [Description("自动")] 自动 = 1, /// /// 手动 /// [Description("手动")] 手动 = 2, /// /// 报警 /// [Description("报警")] 故障 = 3 } /// /// 机械臂运行状态 /// public enum RobotRunStatus : short { /// /// 空闲 /// [Description("空闲")] 空闲 = 1, /// /// 入库抓取中 /// [Description("入库抓取中")] 抓取中 = 2, /// /// 入库放置中 /// [Description("入库放置中")] 放置中 = 3, } /// /// 机械臂报警 /// [Flags] public enum RobotAlarm : Int32 { 气压不足 = 1 << 0, 集合故障 = 1 << 1, 相机拍照报警 = 1 << 2, 真空报警 = 1 << 3, 夹具打开报警 = 1 << 4, 夹具关闭报警 = 1 << 5, 吸盘上升报警 = 1 << 6, 吸盘下降报警 = 1 << 7, 一号位抓取无货 = 1 << 8, 二号位抓取无货 = 1 << 9, 掉料检测1报警 = 1 << 10, 掉料检测2报警 = 1 << 11, 掉料检测3报警 = 1 << 12, 任务数据错误 = 1 << 13 } /// /// 机械臂指令 /// [Flags] public enum RobotCmdType : ushort { /// /// 码垛结束 /// [Description("码垛结束")] End = 1 >> 0, /// /// 备用 /// [Description("备用")] Res7 = 1 >> 1, /// /// 备用 /// [Description("备用")] Res8 = 1 >> 2, /// /// 备用 /// [Description("备用")] Res9 = 1 >> 3, /// /// 备用 /// [Description("备用")] Res10 = 1 >> 4, /// /// 备用 /// [Description("备用")] Res11 = 1 >> 5, /// /// 备用 /// [Description("备用")] Res12 = 1 >> 6, /// /// 备用 /// [Description("备用")] Res13 = 1 >> 7, /// /// 备用 /// [Description("备用")] Res14 = 1 >> 8, /// /// 备用 /// [Description("备用")] Res = 1 >> 9, /// /// 备用 /// [Description("备用")] Res1 = 1 >> 10, /// /// 备用 /// [Description("备用")] Res2 = 1 >> 11, /// /// 备用 /// [Description("备用")] Res3 = 1 >> 12, /// /// 备用 /// [Description("备用")] Res4 = 1 >> 13, /// /// 备用 /// [Description("备用")] Res5 = 1 >> 14, /// /// 备用 /// [Description("备用")] Res6 = 1 >> 15, } public enum RobotStationCmd : short { 开始码垛 = 1, 强制完成 = 2, 完成确认 = 3 } public enum RobotStationRqst : short { 完成码垛 = 1 } public enum RobotCmd : short { 抓取 = 1, 抓取完成确认 = 2, } public enum RobotRqst : short { 抓取完成 = 1, } }