| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338 | 
							- using System;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- using System.Text;
 
- using WCS.Data;
 
- namespace WCS_Client.Frm
 
- {
 
-     public enum EquipmentType
 
-     {
 
-         srm = 1,
 
-         conveyor = 2,
 
-         rgv = 3
 
-     }
 
-     public enum DB_TypeEnum
 
-     {
 
-         WCS可读可写DB = 1,
 
-         WCS只读DB = 2,
 
-         WCS状态和故障DB = 3,
 
-         WCS读取扫码DB = 4,
 
-         WCS读写扩展DB1 = 5,
 
-         WCS读写扩展DB2 = 6,
 
-         WCS读写扩展DB3 = 7,
 
-     }
 
-     public class EquipmentSignal
 
-     {
 
-         protected string PlcName { get; set; }
 
-         protected List<ConvDbInfo> EquDbInfoSet = new List<ConvDbInfo>();
 
-         public byte[] DB_WCS_ReadWrite
 
-         {
 
-             get
 
-             {
 
-                 return Current.PlcSet.SingleOrDefault(v => v.PLC_NAME == PlcName)
 
-                               .WCS_DBSet
 
-                               .SingleOrDefault(v => v.DB_NAME == EquDbInfo_ReadWrite.DBName)
 
-                               .DB_EQUDATA.Skip(EquDbInfo_ReadWrite.DBReadIndox).Take(EquDbInfo_ReadWrite.DBReadLength).ToArray();
 
-             }
 
-         }
 
-         public byte[] DB_WCS_Read
 
-         {
 
-             get
 
-             {
 
-                 return Current.PlcSet.SingleOrDefault(v => v.PLC_NAME == PlcName)
 
-                               .WCS_DBSet.SingleOrDefault(v => v.DB_NAME == EquDbInfo_Read.DBName)
 
-                               .DB_EQUDATA.Skip(EquDbInfo_Read.DBReadIndox).Take(EquDbInfo_Read.DBReadLength).ToArray();
 
-             }
 
-         }
 
-         public byte[] DB_Equ_Status
 
-         {
 
-             get
 
-             {
 
-                 return Current.PlcSet.SingleOrDefault(v => v.PLC_NAME == PlcName)
 
-                               .WCS_DBSet.SingleOrDefault(v => v.DB_NAME == EquDbInfo_Status.DBName)
 
-                               .DB_EQUDATA.Skip(EquDbInfo_Status.DBReadIndox).Take(EquDbInfo_Status.DBReadLength).ToArray();
 
-             }
 
-         }
 
-         public byte[] DB_Equ_BarCode
 
-         {
 
-             get
 
-             {
 
-                 if (EquDbInfo_BarCode == null)
 
-                 {
 
-                     return new byte[0]; 
 
-                 }
 
-                 else
 
-                 {
 
-                     return Current.PlcSet.SingleOrDefault(v => v.PLC_NAME == PlcName)
 
-                                .WCS_DBSet.SingleOrDefault(v => v.DB_NAME == EquDbInfo_BarCode.DBName)
 
-                                .DB_EQUDATA.Skip(EquDbInfo_BarCode.DBReadIndox).Take(EquDbInfo_BarCode.DBReadLength).ToArray();
 
-                 }
 
-             }
 
-         }
 
-         public ConvDbInfo EquDbInfo_ReadWrite
 
-         {
 
-             get
 
-             {
 
-                 return EquDbInfoSet.FirstOrDefault(v => v.DBType == DB_TypeEnum.WCS可读可写DB);
 
-             }
 
-         }
 
-         public ConvDbInfo EquDbInfo_Read
 
-         {
 
-             get
 
-             {
 
-                 return EquDbInfoSet.FirstOrDefault(v => v.DBType == DB_TypeEnum.WCS只读DB);
 
-             }
 
-         }
 
-         public ConvDbInfo EquDbInfo_Status
 
-         {
 
-             get
 
-             {
 
-                 return EquDbInfoSet.FirstOrDefault(v => v.DBType == DB_TypeEnum.WCS状态和故障DB);
 
-             }
 
-         }
 
-         public ConvDbInfo EquDbInfo_BarCode
 
-         {
 
-             get
 
-             {
 
-                 return EquDbInfoSet.FirstOrDefault(v => v.DBType == DB_TypeEnum.WCS读取扫码DB);
 
-             }
 
-         }
 
-         public ConvDbInfo EquDbInfo_ExtendOne
 
-         {
 
-             get
 
-             {
 
-                 return EquDbInfoSet.FirstOrDefault(v => v.DBType == DB_TypeEnum.WCS读写扩展DB1);
 
-             }
 
-         }
 
-         public ConvDbInfo EquDbInfo_ExtendTwo
 
-         {
 
-             get
 
-             {
 
-                 return EquDbInfoSet.FirstOrDefault(v => v.DBType == DB_TypeEnum.WCS读写扩展DB2);
 
-             }
 
-         }
 
-         public ConvDbInfo EquDbInfo_ExtendThree
 
-         {
 
-             get
 
-             {
 
-                 return EquDbInfoSet.FirstOrDefault(v => v.DBType == DB_TypeEnum.WCS读写扩展DB3);
 
-             }
 
-         }
 
-         public EquipmentSignal(string plcname,List<ConvDbInfo> equDBInfoSet)
 
-         {
 
-             PlcName = plcname;
 
-             EquDbInfoSet = equDBInfoSet;
 
-         }
 
-         public dynamic QueryDB_WCS_ReadWriteSignal(string backType, int offset, int boolOffset = 0)
 
-         {
 
-             return QueryDB_Equ_Signal(EquDbInfo_ReadWrite, DB_WCS_ReadWrite, backType, offset, boolOffset);
 
-         }
 
-         public dynamic QueryDB_WCS_ReadSignal(string backType, int offset, int boolOffset = 0)
 
-         {
 
-              return QueryDB_Equ_Signal(EquDbInfo_Read, DB_WCS_Read, backType, offset, boolOffset);
 
-         }
 
-         public dynamic QueryDB_Equ_StatusSignal(string backType, int offset, int boolOffset = 0)
 
-         {
 
-             return QueryDB_Equ_Signal(EquDbInfo_Status, DB_Equ_Status, backType, offset, boolOffset);
 
-         }
 
-         private dynamic QueryDB_Equ_Signal(ConvDbInfo equDbInfo, byte[] dB_Equ, string backType, int offset, int boolOffset = 0)
 
-         {
 
-             dynamic result = null;
 
-             try
 
-             {
 
-                 //int startindex = equDbInfo.DBReadIndox + offset;
 
-                 if (backType == "string")
 
-                 {
 
-                     byte[] dbad = dB_Equ.Skip(offset).Take(4).ToArray();
 
-                     result = ExtendsUtil.GetBarCodeStr(dbad).Trim();
 
-                 }
 
-                 else if (backType == "uint" || backType == "UInt32" || backType == "enumUInt32")
 
-                 {
 
-                     result = Convert.ToUInt32(dB_Equ[offset] * 256 * 256 * 256 + dB_Equ[offset + 1] * 256 * 256 + dB_Equ[offset + 2] * 256 + dB_Equ[offset + 3]);
 
-                 }
 
-                 else if (backType == "float")
 
-                 {
 
-                     byte[] singleBytetemp = dB_Equ.Skip(offset).Take(4).ToArray();
 
-                     byte[] singleByte = new byte[4];
 
-                     singleByte[0] = singleBytetemp[3];
 
-                     singleByte[1] = singleBytetemp[2];
 
-                     singleByte[2] = singleBytetemp[1];
 
-                     singleByte[3] = singleBytetemp[0];
 
-                     result = BitConverter.ToSingle(singleByte, 0);
 
-                 }
 
-                 else if (backType == "ushort" || backType == "enumUInt16" || backType == "UInt16")
 
-                 {
 
-                     result = Convert.ToUInt16(dB_Equ[offset] * 256 + dB_Equ[offset + 1]);
 
-                 }
 
-                 else if (backType == "byte" || backType == "enumByte")
 
-                 {
 
-                     result = Convert.ToByte(dB_Equ[offset]);
 
-                 }
 
-                 else if (backType == "bool")
 
-                 {
 
-                     result = PlcHelper.ByteToBool(dB_Equ[offset], boolOffset);
 
-                 }
 
-                 else
 
-                 {
 
-                     throw new Exception(string.Format("WCS读取到未知类型[{0}]无法解析,请检查输入类型是否正确", backType));
 
-                 }
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-                 //Log4netHelper.Logger_Error.ErrorFormat(ex.ToString());
 
-             }
 
-             return result;
 
-         }
 
-         public string Query_string_DB_WCS_ReadWrite(int offset)
 
-         {
 
-             return Query_string(EquDbInfo_ReadWrite, DB_WCS_ReadWrite, offset);
 
-         }
 
-         public string Query_string_DB_WCS_Read(int offset)
 
-         {
 
-             return Query_string(EquDbInfo_Read, DB_WCS_Read, offset);
 
-         }
 
-         public string Query_string_DB_Equ_Status(int offset)
 
-         {
 
-             return Query_string(EquDbInfo_Status, DB_Equ_Status, offset);
 
-         }
 
-         public string Query_string(ConvDbInfo equDbInfo, byte[] dB_Equ, int offset)
 
-         {
 
-             //int startindex = equDbInfo.DBReadIndox + offset;
 
-             byte[] dbad = dB_Equ.Skip(offset).Take(4).ToArray();
 
-             return ExtendsUtil.GetBarCodeStr(dbad).Trim();
 
-         }
 
-         public int Query_int_DB_WCS_ReadWrite(int offset)
 
-         {
 
-             return Query_int(EquDbInfo_ReadWrite, DB_WCS_ReadWrite, offset);
 
-         }
 
-         public uint Query_uint_DB_WCS_ReadWrite(int offset)
 
-         {
 
-             return Query_uint(EquDbInfo_ReadWrite, DB_WCS_ReadWrite, offset);
 
-         }
 
-         public uint Query_uint_DB_WCS_Read(int offset)
 
-         {
 
-             return Query_uint(EquDbInfo_Read, DB_WCS_Read, offset);
 
-         }
 
-         public int Query_int_DB_WCS_Read(int offset)
 
-         {
 
-             return Query_int(EquDbInfo_Read, DB_WCS_Read, offset);
 
-         }
 
-         public uint Query_uint_DB_Equ_Status(int offset)
 
-         {
 
-             return Query_uint(EquDbInfo_Status, DB_Equ_Status, offset);
 
-         }
 
-         public int Query_int(ConvDbInfo equDbInfo, byte[] dB_Equ, int offset)
 
-         {
 
-             //int startindex = equDbInfo.DBReadIndox + offset;
 
-             return Convert.ToInt32(dB_Equ[offset] * 256 * 256 * 256 + dB_Equ[offset + 1] * 256 * 256 + dB_Equ[offset + 2] * 256 + dB_Equ[offset + 3]);
 
-         }
 
-         public uint Query_uint(ConvDbInfo equDbInfo, byte[] dB_Equ, int offset)
 
-         {
 
-             //int startindex = equDbInfo.DBReadIndox + offset;
 
-             return Convert.ToUInt32(dB_Equ[offset] * 256 * 256 * 256 + dB_Equ[offset + 1] * 256 * 256 + dB_Equ[offset + 2] * 256 + dB_Equ[offset + 3]);
 
-         }
 
-         public float Query_float_DB_WCS_ReadWrite(int offset)
 
-         {
 
-             return Query_float(EquDbInfo_ReadWrite, DB_WCS_ReadWrite, offset);
 
-         }
 
-         public float Query_float_DB_WCS_Read(int offset)
 
-         {
 
-             return Query_float(EquDbInfo_Read, DB_WCS_Read, offset);
 
-         }
 
-         public float Query_float_DB_Equ_Status(int offset)
 
-         {
 
-             return Query_float(EquDbInfo_Status, DB_Equ_Status, offset);
 
-         }
 
-         public float Query_float(ConvDbInfo equDbInfo, byte[] dB_Equ, int offset)
 
-         {
 
-             //int startindex = equDbInfo.DBReadIndox + offset;
 
-             byte[] singleBytetemp = dB_Equ.Skip(offset).Take(4).ToArray();
 
-             byte[] singleByte = new byte[4];
 
-             singleByte[0] = singleBytetemp[3];
 
-             singleByte[1] = singleBytetemp[2];
 
-             singleByte[2] = singleBytetemp[1];
 
-             singleByte[3] = singleBytetemp[0];
 
-             return BitConverter.ToSingle(singleByte, 0);
 
-         }
 
-         public ushort Query_ushort_DB_WCS_ReadWrite(int offset)
 
-         {
 
-             return Query_ushort(EquDbInfo_ReadWrite, DB_WCS_ReadWrite, offset);
 
-         }
 
-         public ushort Query_ushort_DB_WCS_Read(int offset)
 
-         {
 
-             return Query_ushort(EquDbInfo_Read, DB_WCS_Read, offset);
 
-         }
 
-         public ushort Query_ushort_DB_Equ_Status(int offset)
 
-         {
 
-             return Query_ushort(EquDbInfo_Status, DB_Equ_Status, offset);
 
-         }
 
-         public ushort Query_ushort(ConvDbInfo equDbInfo, byte[] dB_Equ, int offset)
 
-         {
 
-             //int startindex = equDbInfo.DBReadIndox + offset;
 
-             return Convert.ToUInt16(dB_Equ[offset] * 256 + dB_Equ[offset + 1]);
 
-         }
 
-         public byte Query_byte_DB_WCS_ReadWrite(int offset)
 
-         {
 
-             return Query_byte(EquDbInfo_ReadWrite, DB_WCS_ReadWrite, offset);
 
-         }
 
-         public byte Query_byte_DB_WCS_Read(int offset)
 
-         {
 
-             return Query_byte(EquDbInfo_Read, DB_WCS_Read, offset);
 
-         }
 
-         public byte Query_byte_DB_Equ_Status(int offset)
 
-         {
 
-             return Query_byte(EquDbInfo_Status, DB_Equ_Status, offset);
 
-         }
 
-         public byte Query_byte(ConvDbInfo equDbInfo, byte[] dB_Equ, int offset)
 
-         {
 
-             //int startindex = equDbInfo.DBReadIndox + offset;
 
-             return Convert.ToByte(dB_Equ[offset]);
 
-         }
 
-         public bool Query_bool_DB_WCS_ReadWrite(int offset, int boolOffset = 0)
 
-         {
 
-             return Query_bool(EquDbInfo_ReadWrite, DB_WCS_ReadWrite, offset, boolOffset);
 
-         }
 
-         public bool Query_bool_DB_WCS_Read(int offset, int boolOffset = 0)
 
-         {
 
-             return Query_bool(EquDbInfo_Read, DB_WCS_Read, offset, boolOffset);
 
-         }
 
-         public bool Query_bool_DB_Equ_Status(int offset, int boolOffset = 0)
 
-         {
 
-             return Query_bool(EquDbInfo_Status, DB_Equ_Status, offset, boolOffset);
 
-         }
 
-         public bool Query_bool(ConvDbInfo equDbInfo, byte[] dB_Equ, int offset, int boolOffset = 0)
 
-         {
 
-             //int startindex = equDbInfo.DBReadIndox + offset;
 
-             return PlcHelper.ByteToBool(dB_Equ[offset], boolOffset);
 
-         }
 
-         public List<string> Query_BarCode()
 
-         {
 
-             List<string> barCodeSet = new List<string>();
 
-             if (EquDbInfo_BarCode != null)
 
-             {
 
-                 foreach (var item in EquDbInfo_BarCode.ScannSet)
 
-                 {
 
-                     //byte[] dbsann = DB_Equ_BarCode.Skip(item.SCANN_SEQUENCE * item.SCANN_LENGTH).Take(item.SCANN_LENGTH).ToArray();
 
-                     string barcode = ExtendsUtil.GetBarCodeStr(DB_Equ_BarCode).Replace("\r", "").Replace("\0", "").Trim();
 
-                     barCodeSet.Add(barcode);
 
-                 }
 
-             }
 
-             return barCodeSet;
 
-         }
 
-     }
 
-     public class ConvDbInfo
 
-     {
 
-         public int DBName { get; set; }
 
-         public DB_TypeEnum DBType { get; set; }
 
-         public int DBReadIndox { get; set; }
 
-         public int DBReadLength { get; set; }
 
-         public List<WCS_SCANN> ScannSet = new List<WCS_SCANN>();
 
-     }
 
- }
 
 
  |