using System; using System.Collections.Generic; using System.ComponentModel; using System.Text; namespace WCS_Client.Frm { [Flags] public enum RgvFault1Enum : ushort { RGVF001_RGV前后防撞条故障 = 1 << 0, RGVF002_RGV载货极限光电故障 = 1 << 1, RGVF003_RGV输送线变频器故障 = 1 << 2, RGVF004_RGV行走变频器故障 = 1 << 3, RGVF005_RGV扫码器故障 = 1 << 4, RGVF006_RGV位置值故障 = 1 << 5, RGVF007_RGV定位失败 = 1 << 6, RGVF008_RGV取放货时位置偏差过大 = 1 << 7, RGVF009_RGV急停按下 = 1 << 8, RGVF010_主柜急停按下 = 1 << 9, RGVF011_站台货物超出 = 1 << 10, RGVF012_RGV输送线超时 = 1 << 11, RGVF013_RGV输送线光电异常 = 1 << 12, RGVF014_RGV任务号与站台任务号不匹配 = 1 << 13, RGVF015_RGV不支持此任务类型 = 1 << 14, RGVF016_RGV目标站台与交互站台号不一致 = 1 << 15, } [Flags] public enum RgvFault2Enum : ushort { RGVF025_RGV硬极限故障 = 1 << 0, RGVF026_RGV软极限故障 = 1 << 1, RGVF027_RGV货物超出故障 = 1 << 2, RGVF028_RGV行走测距信号丢失 = 1 << 3, RGVF029_RGV行走变频器故障 = 1 << 4, RGVF030_RGV = 1 << 5, RGVF031_RGV = 1 << 6, RGVF032_RGV急停按下 = 1 << 7, RGVF017_RGV站台号错误 = 1 << 8, RGVF018_RGV任务类型错误 = 1 << 9, RGVF019_RGV任务号错误 = 1 << 10, RGVF020_RGV货物超出故障 = 1 << 11, RGVF021_RGV输送线变频器故障 = 1 << 12, RGVF022_RGV输送线传感器异常 = 1 << 13, RGVF023_RGV输送线运行超时 = 1 << 14, RGVF024_RGV输送线总故障 = 1 << 15, } [Flags] public enum RgvFault3Enum : ushort { RGVF041_RGV硬极限故障 = 1 << 0, RGVF042_RGV软极限故障 = 1 << 1, RGVF043_RGV货物超出故障 = 1 << 2, RGVF044_RGV行走测距信号丢失 = 1 << 3, RGVF045_RGV行走变频器故障 = 1 << 4, RGVF046_RGV = 1 << 5, RGVF047_RGV = 1 << 6, RGVF048_RGV急停按下 = 1 << 7, RGVF033_RGV站台号错误 = 1 << 8, RGVF034_RGV任务类型错误 = 1 << 9, RGVF035_RGV任务号错误 = 1 << 10, RGVF036_RGV货物超出故障 = 1 << 11, RGVF037_RGV输送线变频器故障 = 1 << 12, RGVF038_RGV输送线传感器异常 = 1 << 13, RGVF039_RGV输送线运行超时 = 1 << 14, RGVF040_RGV输送线总故障 = 1 << 15, } [Flags] public enum RgvStatus1Enum : ushort { RGVS001_RGV与站台交互完成 = 1 << 0, RGVS002_RGV前方有障暂停运行 = 1 << 1, RGVS003_RGV = 1 << 2, RGVS004_RGV = 1 << 3, RGVS005_RGV = 1 << 4, RGVS006_RGV = 1 << 5, RGVS007_RGV = 1 << 6, RGVS008_RGV = 1 << 7, RGVS009_RGV运行 = 1 << 8, RGVS010_RGV移动中 = 1 << 9, RGVS011_RGV取货中 = 1 << 10, RGVS012_RGV放货中 = 1 << 11, RGVS013_RGV变址运行 = 1 << 12, RGVS014_RGV定位完成 = 1 << 13, RGVS015_RGV有货光电 = 1 << 14, RGVS016_RGV与站台交互中 = 1 << 15, } [Flags] public enum RgvStatus2Enum : ushort { RGVS017_RGV任务挂起 = 1 << 0, RGVS018_RGV移动中 = 1 << 1, RGVS019_RGV取货中 = 1 << 2, RGVS020_RGV放货中 = 1 << 3, RGVS021_RGV定位完全 = 1 << 4, RGVS022_RGV有货光电 = 1 << 5, RGVS023_RGV与站台交互中 = 1 << 6, RGVS024_RGV与站台交互完 = 1 << 7, RGVS025_RGV = 1 << 8, RGVS026_RGV = 1 << 9, RGVS027_RGV = 1 << 10, RGVS028_RGV = 1 << 11, RGVS029_RGV = 1 << 12, RGVS030_RGV = 1 << 13, RGVS031_RGV = 1 << 14, RGVS032_RGV = 1 << 15, } [Flags] public enum RgvStatus3Enum : ushort { RGVS033_RGV任务挂起 = 1 << 0, RGVS034_RGV移动中 = 1 << 1, RGVS035_RGV取货中 = 1 << 2, RGVS036_RGV放货中 = 1 << 3, RGVS037_RGV定位完全 = 1 << 4, RGVS038_RGV有货光电 = 1 << 5, RGVS039_RGV与站台交互中 = 1 << 6, RGVS040_RGV与站台交互完 = 1 << 7, RGVS041_RGV = 1 << 8, RGVS042_RGV = 1 << 9, RGVS043_RGV = 1 << 10, RGVS044_RGV = 1 << 11, RGVS045_RGV = 1 << 12, RGVS046_RGV = 1 << 13, RGVS047_RGV = 1 << 14, RGVS048_RGV = 1 << 15, } public enum Auto_RGVstatusEnum { 未知 = 0, 自动 = 1, 半自动 = 2, 手动 = 3, 维护 = 4 } public enum RGV_StatusEnum { 未知 = 0, 空闲 = 1, 取货中 = 2, 送货中 = 3, 小车移动中 = 4, 故障 = 5 } public class RGVSignal : EquipmentSignal { #region variable #endregion; #region Properties #region DB520 /// /// 任务号 /// [Description("任务号")] public uint DB520_TaskID_1 { get { return Query_uint_DB_WCS_ReadWrite(0); } } /// /// 任务类型 /// [Description("任务类型(1取货、2放货、3移动、4码盘、5拆盘 、6、变更放货站台、7变更取货站台 (环穿、双工位使用))")] public ushort DB520_TaskType_1 { get { return Query_ushort_DB_WCS_ReadWrite(4); } } /// /// 起始地址 /// [Description("起始地址")] public ushort DB520_StartPosition_1 { get { return Query_ushort_DB_WCS_ReadWrite(6); } } /// /// 目标地址 /// [Description("目标地址")] public ushort DB520_DestPosition_1 { get { return Query_ushort_DB_WCS_ReadWrite(8); } } /// /// 优先级 /// [Description("优先级")] public ushort DB520_Priority_1 { get { return Query_ushort_DB_WCS_ReadWrite(10); } } /// /// 备注 /// [Description("备注")] public ushort DB520_Res1_1 { get { return Query_ushort_DB_WCS_ReadWrite(12); } } /// /// 备注 /// [Description("备注")] public ushort DB520_Res2_1 { get { return Query_ushort_DB_WCS_ReadWrite(14); } } /// /// 触发信号 /// [Description("触发信号")] public ushort DB520_Trigger_1 { get { return Query_ushort_DB_WCS_ReadWrite(16); } } /// /// 任务号 /// [Description("任务号")] public uint DB520_TaskID_2 { get { return Query_uint_DB_WCS_ReadWrite(18); } } /// /// 任务类型 /// [Description("任务类型(1取货、2放货、3移动、4码盘、5拆盘 、6、变更放货站台、7变更取货站台 (环穿、双工位使用))")] public ushort DB520_TaskType_2 { get { return Query_ushort_DB_WCS_ReadWrite(22); } } /// /// 起始地址 /// [Description("起始地址")] public ushort DB520_StartPosition_2 { get { return Query_ushort_DB_WCS_ReadWrite(24); } } /// /// 目标地址 /// [Description("目标地址")] public ushort DB520_DestPosition_2 { get { return Query_ushort_DB_WCS_ReadWrite(26); } } /// /// 优先级 /// [Description("优先级")] public ushort DB520_Priority_2 { get { return Query_ushort_DB_WCS_ReadWrite(28); } } /// /// 备注 /// [Description("备注")] public ushort DB520_Res1_2 { get { return Query_ushort_DB_WCS_ReadWrite(30); } } /// /// 备注 /// [Description("备注")] public ushort DB520_Res2_2 { get { return Query_ushort_DB_WCS_ReadWrite(32); } } /// /// 触发信号 /// [Description("触发信号")] public ushort DB520_Trigger_2 { get { return Query_ushort_DB_WCS_ReadWrite(34); } } #endregion; #region DB521 /// /// 任务号 /// [Description("任务号")] public uint DB521_TaskID_1 { get { return Query_uint_DB_WCS_Read(0); } } /// /// 任务类型 /// [Description("任务类型(1取货、2放货、3移动、4码盘、5拆盘 、6、变更放货站台、7变更取货站台 (环穿、双工位使用))")] public ushort DB521_TaskType_1 { get { return Query_ushort_DB_WCS_Read(4); } } /// /// 起始地址 /// [Description("起始地址")] public ushort DB521_StartPosition_1 { get { return Query_ushort_DB_WCS_Read(6); } } /// /// 目标地址 /// [Description("目标地址")] public ushort DB521_DestPosition_1 { get { return Query_ushort_DB_WCS_Read(8); } } /// /// 优先级 /// [Description("优先级")] public ushort DB521_Priority_1 { get { return Query_ushort_DB_WCS_Read(10); } } /// /// 备注 /// [Description("备注")] public ushort DB521_Res1_1 { get { return Query_ushort_DB_WCS_Read(12); } } /// /// 备注 /// [Description("备注")] public ushort DB521_Res2_1 { get { return Query_ushort_DB_WCS_Read(14); } } /// /// 光电有货状态 /// [Description("光电有货状态")] public bool DB521_PH_Status_1 { get { return Query_bool_DB_WCS_Read(16, 0); } } /// /// RGV到站 /// [Description("RGV到站")] public bool DB521_ToSition_1 { get { return Query_bool_DB_WCS_Read(16, 1); } } /// /// 任务完成 /// [Description("任务完成")] public bool DB521_Finish_1 { get { return Query_bool_DB_WCS_Read(16, 2); } } /// /// 任务号 /// [Description("任务号")] public uint DB521_TaskID_2 { get { return Query_uint_DB_WCS_Read(18); } } /// /// 任务类型 /// [Description("任务类型(1取货、2放货、3移动、4码盘、5拆盘 、6、变更放货站台、7变更取货站台 (环穿、双工位使用))")] public ushort DB521_TaskType_2 { get { return Query_ushort_DB_WCS_Read(22); } } /// /// 起始地址 /// [Description("起始地址")] public ushort DB521_StartPosition_2 { get { return Query_ushort_DB_WCS_Read(24); } } /// /// 目标地址 /// [Description("目标地址")] public ushort DB521_DestPosition_2 { get { return Query_ushort_DB_WCS_Read(26); } } /// /// 优先级 /// [Description("优先级")] public ushort DB521_Priority_2 { get { return Query_ushort_DB_WCS_Read(28); } } /// /// 备注 /// [Description("备注")] public ushort DB521_Res1_2 { get { return Query_ushort_DB_WCS_Read(30); } } /// /// 备注 /// [Description("备注")] public ushort DB521_Res2_2 { get { return Query_ushort_DB_WCS_Read(32); } } /// /// 光电有货状态 /// [Description("光电有货状态")] public bool DB521_PH_Status_2 { get { return Query_bool_DB_WCS_Read(34, 0); } } /// /// RGV到站 /// [Description("RGV到站")] public bool DB521_ToSition_2 { get { return Query_bool_DB_WCS_Read(34, 1); } } /// /// 任务完成 /// [Description("任务完成")] public bool DB521_Finish_2 { get { return Query_bool_DB_WCS_Read(34, 2); } } /// /// 系统状态(1空闲、2取货中、3送货中、4小车移动中、5 故障) /// [Description("系统状态(1空闲、2取货中、3送货中、4小车移动中、5 故障)")] public ushort DB521_SystemStatus { get { return Query_ushort_DB_WCS_Read(36); } } public RGV_StatusEnum DB521_SystemStatusCh { get { return (RGV_StatusEnum)DB521_SystemStatus; } } /// /// WorkMode:1自动、2半自动、3手动、4 维护 /// [Description("工作模式(1自动、2半自动、3手动、4 维护)")] public ushort DB521_WorkMode { get { return Query_ushort_DB_WCS_Read(38); } } public Auto_RGVstatusEnum DB521_WorkModeCh { get { return (Auto_RGVstatusEnum)DB521_WorkMode; } } /// /// 备注 /// [Description("备注")] public ushort DB521_Res { get { return Query_ushort_DB_WCS_Read(40); } } /// /// 位置值 /// [Description("位置值")] public ushort DB521_Position { get { return Query_ushort_DB_WCS_Read(42); } } /// /// 运行公里数 /// [Description("运行公里数")] public uint DB521_Mileage { get { return Query_uint_DB_WCS_Read(46); } } /// /// 运行时间(单位:小时,带小数) /// [Description("运行时间(单位:小时,带小数)")] public float DB521_Runtime { get { return Query_float_DB_WCS_Read(50); //return Query_uint_DB_WCS_Read(50); } } #endregion; #region DB523 [Description("故障总清单")] public string AlarmFault { get { StringBuilder sb = new StringBuilder(); if (AlarmFault1 != 0) { sb.Append(AlarmFault1.ToString()); } if (AlarmFault2 != 0) { sb.Append(AlarmFault2.ToString()); } if (AlarmFault3 != 0) { sb.Append(AlarmFault3.ToString()); } return sb.ToString(); } } /// /// 环穿 /// [Description("环穿故障")] public RgvFault1Enum AlarmFault1 { get { ushort num = Query_ushort_DB_Equ_Status(0); return (RgvFault1Enum)num; } } /// /// 工位1 /// [Description("工位1故障")] public RgvFault2Enum AlarmFault2 { get { ushort num = Query_ushort_DB_Equ_Status(2); return (RgvFault2Enum)num; } } /// /// 工位2 /// [Description("工位2故障")] public RgvFault3Enum AlarmFault3 { get { ushort num = Query_ushort_DB_Equ_Status(4); return (RgvFault3Enum)num; } } /// /// 环穿 /// [Description("环穿状态")] public RgvStatus1Enum Status1 { get { ushort num = Query_ushort_DB_Equ_Status(6); return (RgvStatus1Enum)num; } } /// /// 工位1 /// [Description("工位1状态")] public RgvStatus2Enum Status2 { get { ushort num = Query_ushort_DB_Equ_Status(8); return (RgvStatus2Enum)num; } } /// /// 工位2 /// [Description("工位2状态")] public RgvStatus3Enum Status3 { get { ushort num = Query_ushort_DB_Equ_Status(8); return (RgvStatus3Enum)num; } } #endregion; #endregion; #region Constructor public RGVSignal(string plcname, List equDBInfoSet) : base(plcname, equDBInfoSet) { } #endregion; #region Method #endregion; } }