Ejemplo n.º 1
0
        public override byte[] WriteMsg()
        {
            string data = "";

            data += UserNo.PadLeft(8, '0');
            data += SerialNumber.PadLeft(8, '0');
            data += StartTime.ToString("yyyyMMddHHmmss").Substring(2).PadLeft(12, '0');
            data += ((int)(StartResidualWater * 10)).ToString().PadLeft(8, '0');
            data += ((int)(StartResidualElectric * 10)).ToString().PadLeft(8, '0');
            data += ((int)(YearElectricUsed * 10)).ToString().PadLeft(8, '0');
            data += ((int)(YearWaterUsed * 10)).ToString().PadLeft(8, '0');
            data += ((int)(YearExploitation * 10)).ToString().PadLeft(8, '0');
            data += ((int)(YearSurplus * 10)).ToString().PadLeft(8, '0');

            IsPW = false;
            PW   = "";
            IsTP = false;
            TP   = "";

            UserData = data;

            UserDataBytes = HexStringUtility.HexStringToByteArray(UserData);

            return(WriteMsg2());
        }
        public string WriteMsg()
        {
            if (Values == null || Values.Length != 12)
            {
                return("雨量预警阈值设置非法!");
            }

            UserData  = "";
            UserData += SerialNumber.ToString("X").PadLeft(4, '0');
            UserData += SendTime.ToString("yyMMddHHmmss").PadLeft(12, '0');
            UserData += "01";
            UserData += Values[0].ToString("X").PadLeft(2, '0');
            UserData += Values[1].ToString("X").PadLeft(2, '0');
            UserData += Values[2].ToString("X").PadLeft(2, '0');
            UserData += "03";
            UserData += Values[3].ToString("X").PadLeft(2, '0');
            UserData += Values[4].ToString("X").PadLeft(2, '0');
            UserData += Values[5].ToString("X").PadLeft(2, '0');
            UserData += "06";
            UserData += Values[6].ToString("X").PadLeft(2, '0');
            UserData += Values[7].ToString("X").PadLeft(2, '0');
            UserData += Values[8].ToString("X").PadLeft(2, '0');
            UserData += "12";
            UserData += Values[9].ToString("X").PadLeft(2, '0');
            UserData += Values[10].ToString("X").PadLeft(2, '0');
            UserData += Values[11].ToString("X").PadLeft(2, '0');

            UserDataBytes = HexStringUtility.HexStringToByteArray(UserData);
            return(WriteMsgBase());
        }
        public string ReadMsg()
        {
            if (MsgList == null || MsgList.Length == 0)
            {
                if (ShowLog)
                {
                    logHelper.Error("无信息,无法分析!");
                }
                return("无信息,无法分析!");
            }

            UserDataAll = "";
            int c = 0;

            foreach (WaterBaseMessage bm in MsgList)
            {
                c++;
                if (bm != null && bm.UserData != null)
                {
                    UserDataAll += bm.UserData;
                }
                else
                {
                    if (ShowLog)
                    {
                        logHelper.Error("第" + c + "包无信息,无法分析!");
                    }
                    return("第" + c + "包无信息,无法分析!");
                }
            }

            UserDataBytesAll = HexStringUtility.HexStringToByteArray(UserDataAll);

            return(ReadMsg(UserDataAll));
        }
Ejemplo n.º 4
0
        public string WriteMsg()
        {
            try
            {
                if (Iden_04 == null)
                {
                    return("时间步长码出错");
                }

                if (Iden == null)
                {
                    return("要素标识符非法");
                }

                UserData  = "";
                UserData += SerialNumber.ToString("X").PadLeft(4, '0');
                UserData += SendTime.ToString("yyMMddHHmmss").PadLeft(12, '0');

                UserData += StartTime.ToString("yyMMddHH").PadLeft(8, '0');
                UserData += EndTime.ToString("yyMMddHH").PadLeft(8, '0');

                UserData += Iden_04.GetHexStr();
                UserData += Iden.GetHexStrHead();

                UserDataBytes = HexStringUtility.HexStringToByteArray(UserData);
                return(WriteMsgBase());
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }
Ejemplo n.º 5
0
        public string WriteMsg()
        {
            UserData  = "";
            UserData += SerialNumber.ToString("X").PadLeft(4, '0');
            UserData += SendTime.ToString("yyMMddHHmmss").PadLeft(12, '0');

            int count = (Ps.Length - 1) / 8 + 1;

            UserData += Ps.Length.ToString("X").PadLeft(2, '0');
            string s = "";

            for (int i = 0; i < Ps.Length; i++)
            {
                if (Ps[i])
                {
                    s = "1" + s;
                }
                else
                {
                    s = "0" + s;
                }
            }
            s         = s.PadLeft(8 * ((count - 1) / 8 + 1), '0');
            UserData += HexStringUtility.BinStringToHexString(s);

            UserDataBytes = HexStringUtility.HexStringToByteArray(UserData);
            return(WriteMsgBase());
        }
        public static string ReadMsg(WaterBaseMessage[] MsgList, out string UserDataAll, out byte[] UserDataBytesAll)
        {
            UserDataAll      = "";
            UserDataBytesAll = null;

            if (MsgList == null || MsgList.Length == 0)
            {
                return("无信息,无法分析!");
            }

            UserDataAll = "";
            int c = 0;

            foreach (WaterBaseMessage bm in MsgList)
            {
                c++;
                if (bm != null && bm.UserData != null)
                {
                    UserDataAll += bm.UserData;
                }
                else
                {
                    return("第" + c + "包无信息,无法分析!");
                }
            }

            UserDataBytesAll = HexStringUtility.HexStringToByteArray(UserDataAll);

            return("");
        }
        public byte[] GetDeviceSerialBytes(string serialString)
        {
            byte[] device = new byte[7];

            //string t;
            int  index = 0;
            byte vv    = 0;

            if (serialString.Length < 14)
            {
                return(device);
            }
            device = HexStringUtility.HexStringToByteArray(serialString.Substring(0, 14));

            /*
             * for (int i = 0; i < 14; i += 2)
             * {
             *  vv = byte.Parse(serialString.Substring(i, 1));
             *  vv = (byte)((vv << 4) | (byte.Parse(serialString.Substring(i + 1, 1))));
             *
             *
             *  device[index] = vv;
             *  index = index + 1;
             * }
             */
            return(device);
        }
        public override byte[] WriteMsg()
        {
            int yy = Acq_Time.Year - 2000;
            int MM = Acq_Time.Month;
            int dd = Acq_Time.Day;
            int HH = Acq_Time.Hour;
            int mm = Acq_Time.Minute;
            int ss = Acq_Time.Second;

            string data = yy.ToString().PadLeft(2, '0') + MM.ToString().PadLeft(2, '0') + dd.ToString().PadLeft(2, '0') +
                          HH.ToString().PadLeft(2, '0') + mm.ToString().PadLeft(2, '0') + ss.ToString().PadLeft(2, '0') +
                          ((int)(GroundWaterLevel * 100)).ToString("X").PadLeft(4, '0') +
                          ((int)(LineLength * 100)).ToString("X").PadLeft(4, '0') +
                          ((short)(GroundWaterTempture * 10)).ToString("X").PadLeft(4, '0') +
                          Retain1.ToString("X").PadLeft(2, '0') +
                          Retain2.ToString("X").PadLeft(2, '0') +
                          Retain3.ToString("X").PadLeft(2, '0') +
                          CRC.ToString("X").PadLeft(2, '0') +
                          "";

            IsPW = false;
            PW   = "";
            IsTP = false;
            TP   = "";

            UserData = data;

            UserDataBytes = HexStringUtility.HexStringToByteArray(UserData);

            return(WriteMsg2());
        }
Ejemplo n.º 9
0
        private void SaveFile(string[] fileStrs, string LoginName, string filename)
        {
            DateTime dateNew = DateTime.Now;
            //myLogger.Info("SaveFile fileStrs:" + fileStrs.Length + ",LoginName:" + LoginName + ",filename:" + filename);
            string rootpath = "md/UpFiles/" + LoginName + "/" + dateNew.ToString("yyyy-MM-dd") + "/";
            string path     = Server.MapPath("~/" + rootpath);

            if (!Directory.Exists(path))
            {
                try
                {
                    Directory.CreateDirectory(path);
                }
                catch
                {
                }
            }
            StringBuilder fileStrFull = new StringBuilder();

            foreach (string fileStr in fileStrs)
            {
                fileStrFull.Append(fileStr);
            }
            byte[] bsFile = HexStringUtility.HexStringToByteArray(fileStrFull.ToString());

            try
            {
                System.IO.File.WriteAllBytes(path + dateNew.ToString("HHmmssfff") + "_" + filename, bsFile);
                myLogger.Info("上传文件" + filename + "保存成功!");
            }
            catch (Exception ex)
            {
                myLogger.Info("上传文件" + filename + "保存失败!" + Environment.NewLine + ex.Message);
            }
        }
        public string WriteMsg()
        {
            UserData  = "";
            UserData += SerialNumber.ToString("X").PadLeft(4, '0');
            UserData += SendTime.ToString("yyMMddHHmmss").PadLeft(12, '0');

            UserDataBytes = HexStringUtility.HexStringToByteArray(UserData);
            return(WriteMsgBase());
        }
        public static string GetMsgList_WriteMsg(WaterBaseMessage wbm, string UserDataAll, out byte[] UserDataBytesAll, out WaterBaseMessage[] MsgList)
        {
            UserDataBytesAll = HexStringUtility.HexStringToByteArray(UserDataAll);

            wbm.DataBeginChar = (byte)WaterBaseProtocol.DataBeginChar.STX;
            if (UserDataBytesAll.Length > WaterBaseProtocol.PocketSize)
            {
                wbm.TotalPackage  = (UserDataBytesAll.Length - 1) / WaterBaseProtocol.PocketSize + 1;
                wbm.DataBeginChar = (byte)WaterBaseProtocol.DataBeginChar.SYN;
            }
            else
            {
                wbm.TotalPackage = 1;
            }
            MsgList = new WaterBaseMessage[wbm.TotalPackage];

            for (int i = 0; i < wbm.TotalPackage; i++)
            {
                WaterBaseMessage bm = new WaterBaseMessage();
                bm.CenterStation  = wbm.CenterStation;
                bm.RemoteStation  = wbm.RemoteStation;
                bm.PW             = wbm.PW;
                bm.AFN            = wbm.AFN;
                bm.UpOrDown       = wbm.UpOrDown;
                bm.TotalPackage   = wbm.TotalPackage;
                bm.CurrentPackage = i + 1;
                bm.DataBeginChar  = wbm.DataBeginChar;
                byte[] bs = null;
                if (i == wbm.TotalPackage - 1)
                {
                    bs = new byte[UserDataBytesAll.Length - WaterBaseProtocol.PocketSize * i];
                    wbm.DataEndChar = (byte)WaterBaseProtocol.DataEndChar_Up.ETX;
                }
                else
                {
                    bs = new byte[WaterBaseProtocol.PocketSize];
                    wbm.DataEndChar = (byte)WaterBaseProtocol.DataEndChar_Up.ETB;
                }
                bm.DataEndChar = wbm.DataEndChar;
                Array.Copy(UserDataBytesAll, WaterBaseProtocol.PocketSize * i, bs, 0, bs.Length);
                bm.UserDataBytes = bs;

                string msg = bm.WriteMsgBase();
                if (msg == "")
                {
                    MsgList[i] = bm;
                }
                else
                {
                    MsgList = null;
                    return((i + 1) + ":" + msg);
                }
            }

            return("");
        }
        public override bool processCommand(DTU.GateWay.Protocol.Command command)
        {
            string receive = HexStringUtility.ByteArrayToHexString(command.Data);

            LogHelper.Info("收到的数据为:[" + userToken.ConnectedSocket.RemoteEndPoint.ToString() + "]" + receive);
            ShowLogData.add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":[" + userToken.ConnectedSocket.RemoteEndPoint.ToString() + "]" + receive);

            byte[] data = HexStringUtility.HexStringToByteArray(receive);
            //data[data.Length - 1] = FormatHelper.CheckSum(data, 0, data.Length - 1);
            send(data, 0, data.Length);

            return(true);
        }
 public override string ReadMsg()
 {
     try
     {
         string data = UserData;
         Result = HexStringUtility.HexStringToByteArray(UserData)[0];
         return("");
     }
     catch
     {
         return("获取关泵响应信息出错");
     }
 }
        public string WriteMsg()
        {
            UserData  = "";
            UserData += SerialNumber.ToString("X").PadLeft(4, '0');
            UserData += SendTime.ToString("yyMMddHHmmss").PadLeft(12, '0');
            Identifier_45 iden = new Identifier_45();

            iden.AlarmStateV = "0".PadLeft(32, '0');
            iden.AlarmStateV = (isUsed ? "1" : "0").PadRight(10, '0').PadLeft(32, '0');
            UserData        += iden.GetHexStr();
            UserDataBytes    = HexStringUtility.HexStringToByteArray(UserData);
            return(WriteMsgBase());
        }
Ejemplo n.º 15
0
        //kqz 2016-12-31 增加
        public string WriteMsg()
        {
            UserData  = "";
            UserData += SerialNumber.ToString("X").PadLeft(4, '0');
            UserData += SendTime.ToString("yyMMddHHmmss").PadLeft(12, '0');
            UserData += RType.ToString("X").PadLeft(2, '0');
            UserData += IsSend.ToString("X").PadLeft(2, '0');
            //kqz 2016-12-31 增加
            UserData += NumAuthenType.ToString("X").PadLeft(2, '0');
            //kqz 2016-12-31 增加
            UserDataBytes = HexStringUtility.HexStringToByteArray(UserData);

            return(WriteMsgBase());
        }
Ejemplo n.º 16
0
        public string WriteMsg()
        {
            UserData  = "";
            UserData += SerialNumber.ToString("X").PadLeft(4, '0');
            UserData += SendTime.ToString("yyMMddHHmmss").PadLeft(12, '0');

            foreach (RTUParam rp in List_RTUParam)
            {
                UserData += rp.GetHexStrHead();
            }

            UserDataBytes = HexStringUtility.HexStringToByteArray(UserData);
            return(WriteMsgBase());
        }
        public override byte[] WriteMsg()
        {
            string data = HexStringUtility.ByteArrayToHexString(new byte[] { Result });

            IsPW = false;
            PW   = "";
            IsTP = false;
            TP   = "";

            UserData = data;

            UserDataBytes = HexStringUtility.HexStringToByteArray(UserData);

            return(WriteMsg2());
        }
        public override byte[] WriteMsg()
        {
            string data = ((int)(YearExploitation * 10)).ToString().PadLeft(8, '0');

            IsPW = false;
            PW   = "";
            IsTP = false;
            TP   = "";

            UserData = data;

            UserDataBytes = HexStringUtility.HexStringToByteArray(UserData);

            return(WriteMsg2());
        }
Ejemplo n.º 19
0
        public override string ReadMsg()
        {
            string data = UserData;

            try
            {
                Sum = Convert.ToInt16(data.Substring(0, 4), 16);
            }
            catch (Exception ex)
            {
                Sum = 0;
                if (ShowLog)
                {
                    logHelper.Error(ex.Message + Environment.NewLine + "获取总包数出错" + " " + RawDataStr);
                }
                return("获取总包数出错");
            }

            try
            {
                Curr = Convert.ToInt16(data.Substring(4, 4), 16);
            }
            catch (Exception ex)
            {
                Curr = 0;
                if (ShowLog)
                {
                    logHelper.Error(ex.Message + Environment.NewLine + "获取当前包数出错" + " " + RawDataStr);
                }
                return("获取当前包数出错");
            }


            try
            {
                Content = HexStringUtility.HexStringToByteArray(data.Substring(8));
            }
            catch (Exception ex)
            {
                if (ShowLog)
                {
                    logHelper.Error(ex.Message + Environment.NewLine + "获取包内容出错" + " " + RawDataStr);
                }
                return("获取包内容出错");
            }

            return("");
        }
Ejemplo n.º 20
0
        public override byte[] WriteMsg()
        {
            string data = Range.ToString("X").PadLeft(2, '0') + ((int)(LineLength * 100)).ToString("X").PadLeft(4, '0');

            DateTime dateNow = DateTime.Now;

            IsPW = true;
            PW   = "0000";
            IsTP = true;
            TP   = dateNow.ToString("ssmmHHdd") + "00";

            UserData = data;

            UserDataBytes = HexStringUtility.HexStringToByteArray(UserData);

            return(WriteMsg2());
        }
        public string WriteMsg()
        {
            UserData  = "";
            UserData += SerialNumber.ToString("X").PadLeft(4, '0');
            UserData += SendTime.ToString("yyMMddHHmmss").PadLeft(12, '0');

            foreach (Identifier iden in List_Identifier)
            {
                if (iden != null)
                {
                    UserData += iden.GetHexStrHead();
                }
            }

            UserDataBytes = HexStringUtility.HexStringToByteArray(UserData);
            return(WriteMsgBase());
        }
Ejemplo n.º 22
0
        public override byte[] WriteMsg()
        {
            string data = "";

            DateTime dateNow = DateTime.Now;

            IsPW = true;
            PW   = "0000";
            IsTP = true;
            TP   = dateNow.ToString("ssmmHHdd") + "00";

            UserData = data;

            UserDataBytes = HexStringUtility.HexStringToByteArray(UserData);

            return(WriteMsg2());
        }
Ejemplo n.º 23
0
 public override string ReadMsg()
 {
     try
     {
         string data = UserData;
         Result = HexStringUtility.HexStringToByteArray(UserData)[0];
         return("");
     }
     catch (Exception ex)
     {
         if (ShowLog)
         {
             logHelper.Error(ex.Message + Environment.NewLine + "获取水位计参数设置响应信息出错" + " " + RawDataStr);
         }
         return("获取水位计参数设置响应信息出错");
     }
 }
Ejemplo n.º 24
0
        public override byte[] WriteMsg()
        {
            string data = ((int)(YearExploitation * 10)).ToString().PadLeft(8, '0');

            DateTime dateNow = DateTime.Now;

            IsPW = true;
            PW   = "0000";
            IsTP = true;
            TP   = dateNow.ToString("ssmmHHdd") + "00";

            UserData = data;

            UserDataBytes = HexStringUtility.HexStringToByteArray(UserData);

            return(WriteMsg2());
        }
        public byte[] WriteMsg2()
        {
            DateTime    dateNow  = DateTime.Now;
            List <byte> list     = new List <byte>();
            List <byte> BodyList = new List <byte>();

            BodyList.Add(ControlField);
            BodyList.AddRange(HexStringUtility.HexStringToByteArray(AddressField));
            BodyList.Add(StationType);
            BodyList.AddRange(HexStringUtility.HexStringToByteArray(StationCode.ToString("X").PadLeft(4, '0')));
            BodyList.Add(AFN);
            BodyList.AddRange(UserDataBytes);
            if (IsPW)
            {
                BodyList.AddRange(HexStringUtility.HexStringToByteArray(PW));
            }
            if (IsTP)
            {
                BodyList.AddRange(HexStringUtility.HexStringToByteArray(TP));
            }

            Length = BodyList.Count;

            CC = FormatHelper.GetXorByte(BodyList.ToArray(), 0, BodyList.ToArray().Length);

            list.Add(BeginChar);
            list.Add(FormatHelper.IntToByte(Length));
            //list.Add(BeginChar);
            byte bState = 0;

            if (IsPW)
            {
                bState += 1;
            }
            if (IsTP)
            {
                bState += 2;
            }
            list.Add(bState);
            list.AddRange(BodyList);
            list.Add(CC);
            list.Add(EndChar);

            return(list.ToArray());
        }
Ejemplo n.º 26
0
        public override byte[] WriteMsg()
        {
            string data = Sum.ToString("X").PadLeft(4, '0');

            data += Curr.ToString("X").PadLeft(4, '0');
            data += HexStringUtility.ByteArrayToHexString(Content);

            IsPW = false;
            PW   = "";
            IsTP = false;
            TP   = "";

            UserData = data;

            UserDataBytes = HexStringUtility.HexStringToByteArray(UserData);

            return(WriteMsg2());
        }
Ejemplo n.º 27
0
        //end add by kqz 2017-6-24
        public override byte[] WriteMsg()
        {
            string data = HexStringUtility.BinStringToHexString(State).PadLeft(8, '0');

            data += DateTimeNew.ToString("yyyyMMddHHmmss").Substring(2).PadLeft(12, '0');
            //data += ((int)(ElectricUsed * 10)).ToString().PadLeft(8, '0');
            data += ((int)(WaterUsed * 10)).ToString().PadLeft(8, '0');

            IsPW = false;
            PW   = "";
            IsTP = false;
            TP   = "";

            UserData = data;

            UserDataBytes = HexStringUtility.HexStringToByteArray(UserData);

            return(WriteMsg2());
        }
        public string WriteMsg()
        {
            if (Phone.Trim().Length > 11)
            {
                return("预警责任人号码修改非法!");
            }

            if (Phone.Trim() != "" && Tools.GetTest(Phone.Trim()) != "数字")
            {
                return("预警责任人号码修改非法!");
            }

            UserData  = "";
            UserData += SerialNumber.ToString("X").PadLeft(4, '0');
            UserData += SendTime.ToString("yyMMddHHmmss").PadLeft(12, '0');
            UserData += OrderNum.ToString("X").PadLeft(2, '0');
            UserData += HexStringUtility.StrToHexString(Phone.Trim());

            UserDataBytes = HexStringUtility.HexStringToByteArray(UserData);
            return(WriteMsgBase());
        }
        public string WriteMsg()
        {
            UserData  = "";
            UserData += SerialNumber.ToString("X").PadLeft(4, '0');
            UserData += SendTime.ToString("yyMMddHHmmss").PadLeft(12, '0');
            if (PlayCount < 1)
            {
                PlayCount = 1;
            }
            if (PlayCount > 255)
            {
                PlayCount = 255;
            }
            UserData += PlayCount.ToString("X").PadLeft(2, '0');
            if (PlayRole < 1)
            {
                PlayRole = 1;
            }
            if (PlayRole > 15)
            {
                PlayRole = 15;
            }
            if (PlaySpeed < 1)
            {
                PlaySpeed = 1;
            }
            if (PlaySpeed > 15)
            {
                PlaySpeed = 15;
            }
            UserData += PlaySpeed.ToString("X") + PlayRole.ToString("X");
            if (PlayContext.Length > 400)
            {
                PlayContext = PlayContext.Substring(0, 400);
            }
            UserData += HexStringUtility.StrToHexString(PlayContext.Trim());

            UserDataBytes = HexStringUtility.HexStringToByteArray(UserData);
            return(WriteMsgBase());
        }
Ejemplo n.º 30
0
        public override byte[] WriteMsg()
        {
            string data = "";

            foreach (int StationCodeSub in StationCodeList)
            {
                data += StationCodeSub.ToString("X").PadLeft(4, '0');
            }

            DateTime dateNow = DateTime.Now;

            IsPW = true;
            PW   = "0000";
            IsTP = true;
            TP   = dateNow.ToString("ssmmHHdd") + "00";

            UserData = data;

            UserDataBytes = HexStringUtility.HexStringToByteArray(UserData);

            return(WriteMsg2());
        }