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;
}
}