using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using SqlSugar; namespace WCS_Client.Frm { [Flags] public enum ConvFaultEnum : ushort { C009_超时故障 = 1 << 0, C010_驱动故障 = 1 << 1, C011_空气开关故障 = 1 << 2, C012_前极限故障 = 1 << 3, C013_后极限故障 = 1 << 4, C014_无Ready信号_请检查柜内空开 = 1 << 5, C015_上极限故障 = 1 << 6, C016_下极限故障 = 1 << 7, C001_总故障 = 1 << 8, C002_急停故障 = 1 << 9, C003_超时故障 = 1 << 10, C004_驱动故障 = 1 << 11, C005_空气开关故障 = 1 << 12, C006_传感器异常故障 = 1 << 13, C007_超边故障 = 1 << 14, C008_无Ready信号_请检查柜内空开 = 1 << 15 } public class ConvSignal : EquipmentSignal { #region variable #endregion; #region Properties #region DB520信号 /// /// 任务号 /// [Description("任务号")] public int DB520_Tasknum { get { return Query_int_DB_WCS_ReadWrite(0); } } /// /// 货物条码 /// [Description("货物条码(码垛的箱子尺寸编码:10个码垛位使用该信号))")] public uint DB520_Goodscode { get { return Query_uint_DB_WCS_ReadWrite(4); } } /// /// 货物类型 /// [Description("货物类型(剁型:10个码垛位使用该信号;码垛位置:1390使用该信号)")] public ushort DB520_Goodstype { get { return Query_ushort_DB_WCS_ReadWrite(8); } } /// /// 货物尺寸 /// [Description("货物尺寸(子托盘的尺寸编码:10个码垛位使用该信号;码垛箱子尺寸编码:1390使用该信号)")] public ushort DB520_Goodssize { get { return Query_ushort_DB_WCS_ReadWrite(10); } } /// /// 起始地址 /// [Description("起始地址")] public ushort DB520_Goodsstart { get { return Query_ushort_DB_WCS_ReadWrite(12); } } /// /// 目标地址 /// [Description("目标地址")] public ushort DB520_Goodsend { get { return Query_ushort_DB_WCS_ReadWrite(14); } } /// /// WCS确认信号 /// [Description("WCS确认信号")] public bool DB520_Confirm { get { return Query_bool_DB_WCS_ReadWrite(16, 1); } } /// /// 任务删除 /// [Description("任务删除")] public bool DB520_TaskDelete { get { return Query_bool_DB_WCS_ReadWrite(16, 2); } } /// /// 上位未分配任务 /// [Description("上位未分配任务")] public bool DB520_Notask { get { return Query_bool_DB_WCS_ReadWrite(16, 3); } } [Description("子托盘颜色((蓝,白,绿)):蓝(10个码垛位使用该信号)")] public bool DB520_TrayColor_One { get { return Query_bool_DB_WCS_ReadWrite(16, 6); } } [Description("子托盘颜色((蓝,白,绿)):白(10个码垛位使用该信号)")] public bool DB520_TrayColor_Two { get { return Query_bool_DB_WCS_ReadWrite(16, 7); } } [Description("子托盘颜色((蓝,白,绿)):绿(10个码垛位使用该信号)")] public bool DB520_TrayColor_Three { get { return Query_bool_DB_WCS_ReadWrite(17, 0); } } /// /// 备用(滚筒转动) /// [Description("备用(放货请求(4#1097;5#1104;6#1107;7#1112;18#1200);码垛强制完成:1390使用该信号;是否缠膜:1204使用该信号)")] public bool DB520_RollerTurn { get { return Query_bool_DB_WCS_ReadWrite(17, 5); } } /// /// 备用 /// [Description("备用(放货完成(4#1097;5#1104;6#1107;7#1112;18#1200);码垛强制完成(10个码垛位使用该信号)")] public bool DB520_Res01 { get { return Query_bool_DB_WCS_ReadWrite(17, 6); } } [Description("备用(取货请求(4#1097;5#1104;6#1107;7#1112;18#1199);码垛是否含子托盘(10个码垛位使用该信号))")] public bool DB520_Res02 { get { return Query_bool_DB_WCS_ReadWrite(17, 7); } } [Description("备用(取货完成(4#1097;5#1104;6#1107;7#1112;18#1199))")] public ushort DB520_Res03 { get { return Query_ushort_DB_WCS_ReadWrite(18); } } [Description("备用")] public ushort DB520_Res04 { get { return Query_ushort_DB_WCS_ReadWrite(20); } } #endregion; #region DB521信号 /// /// 任务号 /// [Description("任务号")] public int DB521_Tasknum { get { return Query_int_DB_WCS_Read(0); } } /// /// 货物条码(电控唯一值,每次加1) /// [Description("货物条码(二坐标完成任务号:1044);码垛的箱子尺寸编码:(10个码垛位使用该信号)")] public uint DB521_Goodscode { get { return Query_uint_DB_WCS_Read(4); } } ///// ///// 货物条码(电控唯一值,每次加1) ///// //public string DB521_Goodscode //{ // get // { // return Query_string_DB_WCS_Read(4); // } //} /// /// 货物类型 /// [Description("货物类型(熟化房是否在线(0.离线;1.在线;):1508,1509);码垛剁型:(10个码垛位使用该信号);码垛位置:1390使用该信号")] public ushort DB521_Goodstype { get { return Query_ushort_DB_WCS_Read(8); } } /// /// 货物尺寸 /// [Description("货物尺寸(熟化房烘烤时间(单位小时):1508,1509);码垛子托盘的尺寸编码:(10个码垛位使用该信号);码垛箱子尺寸编码:1390使用该信号")] public ushort DB521_Goodssize { get { return Query_ushort_DB_WCS_Read(10); } } /// /// 起始地址 /// [Description("起始地址(熟化房模式(1.自动;2.手动;3.半自动;):1508,1509)")] public ushort DB521_Goodsstart { get { return Query_ushort_DB_WCS_Read(12); } } /// /// 目标地址 /// [Description("目标地址(熟化房切线状态(1.切线中;2.切线完成):1508,1509)")] public ushort DB521_Goodsend { get { return Query_ushort_DB_WCS_Read(14); } } /// /// PLC请求信号 /// [Description("PLC请求信号")] public bool DB521_Request { get { return Query_bool_DB_WCS_Read(16, 0); } } /// /// WCS确认信号 /// [Description("WCS确认信号")] public bool DB521_Confirm { get { return Query_bool_DB_WCS_Read(16, 1); } } /// /// 任务删除 /// [Description("任务删除")] public bool DB521_TaskDelete { get { return Query_bool_DB_WCS_Read(16, 2); } } /// /// 上位未分配任务 /// [Description("上位未分配任务")] public bool DB521_Notask { get { return Query_bool_DB_WCS_Read(16, 3); } } /// /// 光电有货状态位 /// [Description("光电有货状态位")] public bool CvDB51_PH_Status { get { return Query_bool_DB_WCS_Read(16, 4); } } /// /// 外形/条码等货物故障 /// [Description("外形/条码等货物故障")] public bool DB521_Goods_Err { get { return Query_bool_DB_WCS_Read(16, 5); } } /// /// 前超长故障 /// [Description("前超长故障(允许放货(4#1097;5#1104;6#1107;7#1112));子托盘颜色((蓝,白,绿)):蓝(10个码垛位使用该信号)")] public bool DB521_F_Outside { get { return Query_bool_DB_WCS_Read(16, 6); } } /// /// 后超长故障 /// [Description("后超长故障(放货允许离开(4#1097;5#1104;6#1107;7#1112));子托盘颜色((蓝,白,绿)):白(10个码垛位使用该信号)")] public bool DB521_B_Outside { get { return Query_bool_DB_WCS_Read(16, 7); } } /// /// 左超宽故障 /// [Description("左超宽故障(允许取货(4#1097;5#1104;6#1107;7#1112;18#1199));子托盘颜色((蓝,白,绿)):白(10个码垛位使用该信号)")] public bool DB521_L_Outside { get { return Query_bool_DB_WCS_Read(17, 0); } } /// /// 右超宽故障 /// [Description("右超宽故障(取货允许离开(4#1097;5#1104;6#1107;7#1112;18#1199))")] public bool DB521_R_Outside { get { return Query_bool_DB_WCS_Read(17, 1); } } /// /// 超高故障 /// [Description("超高故障")] public bool DB521_H_Outside { get { return Query_bool_DB_WCS_Read(17, 2); } } /// /// 条码未读出 /// [Description("条码未读出")] public bool DB521_BCR_Noread { get { return Query_bool_DB_WCS_Read(17, 3); } } /// /// 超重 /// [Description("超重(码垛托盘高度<900:10个码垛位使用该信号)")] public bool DB521_Overload { get { return Query_bool_DB_WCS_Read(17, 4); } } [Description("备用(码垛托盘高度>1700:10个码垛位使用该信号);码垛强制完成:1390使用该信号")] public bool DB521_Res01 { get { return Query_bool_DB_WCS_Read(17, 5); } } [Description("备用(码垛强制完成:10个码垛位使用该信号)")] public bool DB521_Res02 { get { return Query_bool_DB_WCS_Read(17, 6); } } [Description("备用(允许放货(18#1200));码垛是否含子托盘:10个码垛位使用该信号")] public bool DB521_Res03 { get { return Query_bool_DB_WCS_Read(17, 7); } } [Description("备用")] public uint DB521_Res04_1 { get { return Query_ushort_DB_WCS_Read(18); } } [Description("备用")] public uint DB521_Res04_2 { get { return Query_ushort_DB_WCS_Read(20); } } /// /// 备用 /// [Description("备用(重量:1214;放货完成允许离开:18#1200;二坐标完成信号:1044;熟化房温度:1508,1509);码垛请求类型:1.请求码垛2.子托盘拍照异常3.纸箱与码垛位置的尺寸不匹配4.码垛强制完成已执行5.码垛正常完成6母托盘异常(子托盘是否有与实际不匹配):10个码垛位使用该信号")] public uint DB521_Res04 { get { return Query_uint_DB_WCS_Read(18); } } #endregion; #region DB523 设备状态 [Description("设备故障")] public ConvFaultEnum ConvFault { get { ushort num = Query_ushort_DB_Equ_Status(0); return (ConvFaultEnum)num; } } /// /// 总故障 /// [Description("总故障")] public bool DB523_Fault { get { return Query_bool_DB_Equ_Status(0, 0); } } /// /// 急停故障 /// [Description("急停故障")] public bool DB523_ES_Fault { get { return Query_bool_DB_Equ_Status(0, 1); } } /// /// 超时故障 /// [Description("超时故障")] public bool DB523_Timeout_Fault_1 { get { return Query_bool_DB_Equ_Status(0, 2); } } /// /// 驱动故障 /// [Description("驱动故障")] public bool DB523_INV_Fault_1 { get { return Query_bool_DB_Equ_Status(0, 3); } } /// /// 空气开关故障 /// [Description("空气开关故障")] public bool DB523_QF_Fault_1 { get { return Query_bool_DB_Equ_Status(0, 4); } } /// /// 传感器异常故障 /// [Description("传感器异常故障")] public bool DB523_Sensor_Fault_1 { get { return Query_bool_DB_Equ_Status(0, 5); } } /// /// 超边故障 /// [Description("超边故障")] public bool DB523_Outside_Fault_1 { get { return Query_bool_DB_Equ_Status(0, 6); } } /// /// 无Ready信号,请检查柜内空开 /// [Description("无Ready信号,请检查柜内空开")] public bool DB523_NoReady_1 { get { return Query_bool_DB_Equ_Status(0, 7); } } /// /// 超时故障2 /// [Description("超时故障2")] public bool DB523_Timeout_Fault_2 { get { return Query_bool_DB_Equ_Status(1, 0); } } /// /// 驱动故障2 /// [Description("驱动故障2")] public bool DB523_INV_Fault_2 { get { return Query_bool_DB_Equ_Status(1, 1); } } /// /// 空气开关故障2 /// [Description("空气开关故障2")] public bool DB523_QF_Fault_2 { get { return Query_bool_DB_Equ_Status(1, 2); } } /// /// 前极限故障 /// [Description("前极限故障")] public bool DB523_Front_Limited_Fault_2 { get { return Query_bool_DB_Equ_Status(1, 3); } } /// /// 后极限故障 /// [Description("后极限故障")] public bool DB523_Back_Limited_Fault_2 { get { return Query_bool_DB_Equ_Status(1, 4); } } /// /// 无Ready信号,请检查柜内空开2 /// [Description("无Ready信号,请检查柜内空开2")] public bool DB523_NoReady_2 { get { return Query_bool_DB_Equ_Status(1, 5); } } /// /// 上极限故障 /// [Description("上极限故障")] public bool DB523_UP_Limited_Fault_2 { get { return Query_bool_DB_Equ_Status(1, 6); } } /// /// 下极限故障 /// [Description("下极限故障")] public bool DB523_DN_Limited_Fault_2 { get { return Query_bool_DB_Equ_Status(1, 7); } } /// /// 自动位(1为自动) /// [Description("自动位(1为自动)")] public bool DB523_Auto { get { return Query_bool_DB_Equ_Status(4, 0); } } /// /// 选中状态位 /// [Description("选中状态位")] public bool DB523_Choice_Bit { get { return Query_bool_DB_Equ_Status(4, 1); } } /// /// 任务有货状态位 /// [Description("任务有货状态位")] public bool DB523_OT_Status { get { return Query_bool_DB_Equ_Status(4, 2); } } /// /// 光电有货状态位 /// [Description("光电有货状态位")] public bool DB523_PH_Status { get { return Query_bool_DB_Equ_Status(4, 3); } } /// /// 运行状态位 /// [Description("运行状态位")] public bool DB523_Run { get { return Query_bool_DB_Equ_Status(4, 4); } } /// /// 正转 /// [Description("正转")] public bool DB523_Fwd_1 { get { return Query_bool_DB_Equ_Status(4, 5); } } /// /// 反转 /// [Description("反转")] public bool DB523_Rev_1 { get { return Query_bool_DB_Equ_Status(4, 6); } } /// /// 上升/右转/伸出(顶升移栽升降、拆码盘机升降、提升机升降、拆码盘机拨叉伸出) /// [Description("上升/右转/伸出(顶升移栽升降、拆码盘机升降、提升机升降、拆码盘机拨叉伸出)")] public bool DB523_Up_Right_Front_2 { get { return Query_bool_DB_Equ_Status(4, 7); } } /// /// 下降/左转/缩回(顶升移栽升降、拆码盘机升降、提升机升降、拆码盘机拨叉缩回) /// [Description("下降/左转/缩回(顶升移栽升降、拆码盘机升降、提升机升降、拆码盘机拨叉缩回)")] public bool DB523_Down_Left_Back_2 { get { return Query_bool_DB_Equ_Status(5, 0); } } /// /// 高位(顶升移栽升降、拆码盘机升降、提升机升降) /// [Description("高位(顶升移栽升降、拆码盘机升降、提升机升降)")] public bool DB523_High_Station_2 { get { return Query_bool_DB_Equ_Status(5, 1); } } /// /// 中位(拆码盘机升降) /// [Description("中位(拆码盘机升降)")] public bool DB523_Mid_Station_2 { get { return Query_bool_DB_Equ_Status(5, 2); } } /// /// 低位(顶升移栽升降、拆码盘机升降、提升机升降) /// [Description("低位(顶升移栽升降、拆码盘机升降、提升机升降)")] public bool DB523_Low_Station_2 { get { return Query_bool_DB_Equ_Status(5, 3); } } /// /// 前位(拆码盘机拨叉伸出) /// [Description("前位(拆码盘机拨叉伸出)")] public bool DB523_Front_Station_2 { get { return Query_bool_DB_Equ_Status(5, 4); } } /// /// 后位(拆码盘机拨叉缩回) /// [Description("后位(拆码盘机拨叉缩回)")] public bool DB523_Back_Station_2 { get { return Query_bool_DB_Equ_Status(5, 5); } } /// /// 运行时间(Dint)单位小时(带小数) /// [Description("运行时间(Dint)单位小时(带小数)")] public float DB523_Runtime { get { return Query_float_DB_Equ_Status(6); } } #endregion; #region 条码信息 [Description("条码信息")] public string BarCodeStr { get { return string.Join(";", Query_BarCode().ToArray()); } } public List BarCodeSet { get { return Query_BarCode(); } } #endregion #endregion; #region Constructor public ConvSignal(string plcname, List equDBInfoSet) : base(plcname, equDBInfoSet) { } #endregion; #region Method #endregion; } }