Ejemplo n.º 1
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);
            }
        }
Ejemplo n.º 2
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);
            }
        }
        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 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 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.º 6
0
        public string ReadMsg()
        {
            if (UserDataBytes == null || UserDataBytes.Length == 0)
            {
                if (ShowLog)
                {
                    logHelper.Error("无信息,无法分析!");
                }
                return("无信息,无法分析!");
            }

            UserData = HexStringUtility.ByteArrayToHexString(UserDataBytes);

            try
            {
                SerialNumber = Convert.ToInt16(UserData.Substring(0, 4), 16);
            }
            catch (Exception ex)
            {
                if (ShowLog)
                {
                    logHelper.Error(ex.Message + Environment.NewLine + "获取流水号出错" + " " + RawDataStr);
                }
                return("获取流水号出错");
            }

            try
            {
                SendTime = DateTime.ParseExact("20" + UserData.Substring(4, 12), "yyyyMMddHHmmss", CultureInfo.InvariantCulture);
            }
            catch (Exception ex)
            {
                if (ShowLog)
                {
                    logHelper.Error(ex.Message + Environment.NewLine + "获取发报时间出错" + " " + RawDataStr);
                }
                return("获取发报时间出错");
            }

            try
            {
                int count = Convert.ToInt32(UserData.Substring(16, 2), 16);
                Ps = new bool[8 * count];
                string hexStr = UserData.Substring(18, count * 2);
                string binStr = HexStringUtility.HexStringToBinString(hexStr);
                for (int i = 0; i < binStr.Length; i++)
                {
                    Ps[binStr.Length - i - 1] = binStr[i] == '1';
                }
            }
            catch (Exception ex) {
                if (ShowLog)
                {
                    logHelper.Error(ex.Message + Environment.NewLine + "获取泵开关状态出错" + " " + RawDataStr);
                }
                return("获取泵开关状态出错");
            }

            return("");
        }
Ejemplo n.º 7
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 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));
        }
        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);
        }
Ejemplo n.º 10
0
        public string WriteMsg()
        {
            if (Phone.Trim().Length > 11)
            {
                return("预警责任人号码读取非法!");
            }

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

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

            byte[]             UserDataBytesAllTmp;
            WaterBaseMessage[] MsgListTmp;
            string             msg = WaterBaseMessageService.GetMsgList_WriteMsg(this, UserDataAll, out UserDataBytesAllTmp, out MsgListTmp);

            if (msg == "")
            {
                UserDataBytesAll = UserDataBytesAllTmp;
                MsgList          = MsgListTmp;
            }
            else
            {
                if (ShowLog)
                {
                    logHelper.Error(msg);
                }
            }
            return(msg);
        }
Ejemplo n.º 11
0
        public string ReadMsg()
        {
            if (UserDataBytes == null || UserDataBytes.Length == 0)
            {
                if (ShowLog)
                {
                    logHelper.Error("无信息,无法分析!");
                }
                return("无信息,无法分析!");
            }

            UserData = HexStringUtility.ByteArrayToHexString(UserDataBytes);

            short    SerialNumberTmp;
            DateTime SendTimeTmp;
            string   msg = WaterBaseMessageService.GetSerialNumberAndSendTime(UserData, out SerialNumberTmp, out SendTimeTmp);

            if (msg == "")
            {
                SerialNumber = SerialNumberTmp;
                SendTime     = SendTimeTmp;
            }
            else
            {
                if (ShowLog)
                {
                    logHelper.Error(msg);
                }
                return(msg);
            }

            return("");
        }
Ejemplo n.º 12
0
        public string WriteMsg()
        {
            UserDataAll += SerialNumber.ToString("X").PadLeft(4, '0');
            UserDataAll += SendTime.ToString("yyMMddHHmmss").PadLeft(12, '0');
            UserDataAll += Iden_F1.GetHexStr();
            VersionL     = (byte)HexStringUtility.StrToByteArray(VersionC).Length;
            UserDataAll += VersionL.ToString("X").PadLeft(2, '0');
            UserDataAll += HexStringUtility.StrToHexString(VersionC);

            byte[]             UserDataBytesAllTmp;
            WaterBaseMessage[] MsgListTmp;
            string             msg = WaterBaseMessageService.GetMsgList_WriteMsg(this, UserDataAll, out UserDataBytesAllTmp, out MsgListTmp);

            if (msg == "")
            {
                UserDataBytesAll = UserDataBytesAllTmp;
                MsgList          = MsgListTmp;
            }
            else
            {
                if (ShowLog)
                {
                    logHelper.Error(msg);
                }
            }
            return(msg);
        }
        public string ReadMsg(string UserDataAll)
        {
            short    SerialNumberTmp;
            DateTime SendTimeTmp;
            string   msg = WaterBaseMessageService.GetSerialNumberAndSendTime(UserDataAll, out SerialNumberTmp, out SendTimeTmp);

            if (msg == "")
            {
                SerialNumber = SerialNumberTmp;
                SendTime     = SendTimeTmp;
            }
            else
            {
                if (ShowLog)
                {
                    logHelper.Error(msg);
                }
                return(msg);
            }

            try
            {
                Iden_F1 = new Identifier_F1();
                Iden_F1.RemoteStation = UserDataAll.Substring(20, 10);
            }
            catch (Exception ex)
            {
                if (ShowLog)
                {
                    logHelper.Error(ex.Message + Environment.NewLine + "获取遥测站出错" + " " + RawDataStr);
                }
                return("获取遥测站出错");
            }

            try
            {
                string Remain = UserDataAll.Substring(30);
                int    count  = Convert.ToInt32(Remain.Substring(0, 2), 16);
                Ps = new bool[count];
                string hexStr = Remain.Substring(2, ((count - 1) / 8 + 1) * 2);
                string binStr = HexStringUtility.HexStringToBinString(hexStr);
                for (int i = 0; i < binStr.Length; i++)
                {
                    if (count > binStr.Length - i - 1)
                    {
                        Ps[binStr.Length - i - 1] = binStr[i] == '1';
                    }
                }
            }
            catch (Exception ex)
            {
                if (ShowLog)
                {
                    logHelper.Error(ex.Message + Environment.NewLine + "获取泵开关状态出错" + " " + RawDataStr);
                }
                return("获取泵开关状态出错");
            }

            return("");
        }
Ejemplo n.º 14
0
        private void button2_Click(object sender, EventArgs e)
        {
            if (this.comboBox1.SelectedIndex < 1)
            {
                SafeSetText(textBox2, "请选择一个终端", false);
                setAllButtonEnable(true);
                return;
            }
            string deviceNo    = this.comboBox1.Text.ToString().Trim();
            Device device      = DeviceModule.GetDeviceByFullDeviceNo(deviceNo);
            string resDeviceNo = DeviceModule.GetDeviceNoMain(deviceNo);
            Device resDevice   = DeviceModule.GetDeviceByFullDeviceNo(resDeviceNo);

            if (resDeviceNo.Length != 15)
            {
                SafeSetText(textBox2, "终端编号错误!" + resDeviceNo, false);
                setAllButtonEnable(true);
                return;
            }

            CmdToDtuClosePump cmd6 = new CmdToDtuClosePump();

            cmd6.AddressField = DeviceModule.DeviceNo_Normal2Hex(deviceNo);
            cmd6.StationType  = (byte)device.StationType;
            cmd6.StationCode  = device.StationType == 2 ? device.StationCode : 0;
            cmd6.RawDataChar  = cmd6.WriteMsg(dateTimePicker1.Value);
            cmd6.RawDataStr   = HexStringUtility.ByteArrayToHexString(cmd6.RawDataChar);

            this.textBox2.Text = cmd6.RawDataStr;
        }
Ejemplo n.º 15
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()
        {
            UserData  = "";
            UserData += SerialNumber.ToString("X").PadLeft(4, '0');
            UserData += SendTime.ToString("yyMMddHHmmss").PadLeft(12, '0');

            UserDataBytes = HexStringUtility.HexStringToByteArray(UserData);
            return(WriteMsgBase());
        }
Ejemplo n.º 17
0
        public string ReadMsg(string UserDataAll)
        {
            short    SerialNumberTmp;
            DateTime SendTimeTmp;
            string   msg = WaterBaseMessageService.GetSerialNumberAndSendTime(UserDataAll, out SerialNumberTmp, out SendTimeTmp);

            if (msg == "")
            {
                SerialNumber = SerialNumberTmp;
                SendTime     = SendTimeTmp;
            }
            else
            {
                if (ShowLog)
                {
                    logHelper.Error(msg);
                }
                return(msg);
            }

            try
            {
                OrderNum = Convert.ToByte(UserDataAll.Substring(16, 2), 16);
            }
            catch (Exception ex)
            {
                if (ShowLog)
                {
                    logHelper.Error(ex.Message + Environment.NewLine + "获取手机号序号出错" + " " + RawDataStr);
                }
                return("获取手机号序号出错");
            }

            try
            {
                if (UserDataAll.Length - 18 > 0)
                {
                    string str = UserDataAll.Substring(18, UserDataAll.Length - 18);
                    Phone = HexStringUtility.HexStringToStr(str);
                }
                else
                {
                    Phone = "";
                }
            }
            catch (Exception ex)
            {
                if (ShowLog)
                {
                    logHelper.Error(ex.Message + Environment.NewLine + "获取手机号出错" + " " + RawDataStr);
                }
                return("获取手机号出错");
            }

            return("");
        }
        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("");
        }
Ejemplo n.º 19
0
        public string WriteMsg()
        {
            UserDataAll += SerialNumber.ToString("X").PadLeft(4, '0');
            UserDataAll += SendTime.ToString("yyMMddHHmmss").PadLeft(12, '0');
            UserDataAll += Iden_F1.GetHexStr();

            int count = Ps.Length < PsOpen.Length ? Ps.Length : PsOpen.Length;

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

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

            for (int i = 0; i < count; i++)
            {
                if (PsOpen[i] <= 9999)
                {
                    UserData += PsOpen[i].ToString().PadLeft(4, '0');
                }
                else if (PsOpen[i] > 9999)
                {
                    UserData += PsOpen[i].ToString().Substring(PsOpen[i].ToString().Length - 4);
                }
            }

            byte[]             UserDataBytesAllTmp;
            WaterBaseMessage[] MsgListTmp;
            string             msg = WaterBaseMessageService.GetMsgList_WriteMsg(this, UserDataAll, out UserDataBytesAllTmp, out MsgListTmp);

            if (msg == "")
            {
                UserDataBytesAll = UserDataBytesAllTmp;
                MsgList          = MsgListTmp;
            }
            else
            {
                if (ShowLog)
                {
                    logHelper.Error(msg);
                }
            }
            return(msg);
        }
Ejemplo n.º 20
0
 public override void SetVal(int ByteCount, int Digits, string hexStr)
 {
     try
     {
         this.SimNoTypeV = Convert.ToInt32(HexStringUtility.HexStringToStr(hexStr.Substring(0, 2)));
         this.SimNo      = HexStringUtility.HexStringToStr(hexStr.Substring(2));
     }
     catch
     {
     }
 }
        public string ReadMsg()
        {
            if (UserDataBytes == null || UserDataBytes.Length == 0)
            {
                if (ShowLog)
                {
                    logHelper.Error("无信息,无法分析!");
                }
                return("无信息,无法分析!");
            }

            UserData = HexStringUtility.ByteArrayToHexString(UserDataBytes);

            try
            {
                SerialNumber = Convert.ToInt16(UserData.Substring(0, 4), 16);
            }
            catch (Exception ex)
            {
                if (ShowLog)
                {
                    logHelper.Error(ex.Message + Environment.NewLine + "获取流水号出错" + " " + RawDataStr);
                }
                return("获取流水号出错");
            }

            try
            {
                SendTime = DateTime.ParseExact("20" + UserData.Substring(4, 12), "yyyyMMddHHmmss", CultureInfo.InvariantCulture);
            }
            catch (Exception ex)
            {
                if (ShowLog)
                {
                    logHelper.Error(ex.Message + Environment.NewLine + "获取发报时间出错" + " " + RawDataStr);
                }
                return("获取发报时间出错");
            }

            try
            {
                RC = Convert.ToByte(UserData.Substring(16), 16);
            }
            catch (Exception ex)
            {
                if (ShowLog)
                {
                    logHelper.Error(ex.Message + Environment.NewLine + "获取定值控制出错" + " " + RawDataStr);
                }
                return("获取定值控制出错");
            }

            return("");
        }
        public override void SetVal(int ByteCount, int Digits, string hexStr)
        {
            if (ByteCount <= 0 && Digits <= 0)
            {
                ByteCount = 4;
                Digits    = 0;
            }

            this.Length = Convert.ToByte(WaterBaseProtocol.GetLengthHexStr(ByteCount, Digits), 16);

            this.AlarmStateV = HexStringUtility.HexStringToBinString(hexStr).PadLeft(32, '0');
        }
        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());
        }
 public override string ReadMsg()
 {
     try
     {
         string data = UserData;
         Result = HexStringUtility.HexStringToByteArray(UserData)[0];
         return("");
     }
     catch
     {
         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);
        }
Ejemplo n.º 26
0
        public string ReadMsg(string UserDataAll)
        {
            short    SerialNumberTmp;
            DateTime SendTimeTmp;
            string   msg = WaterBaseMessageService.GetSerialNumberAndSendTime(UserDataAll, out SerialNumberTmp, out SendTimeTmp);

            if (msg == "")
            {
                SerialNumber = SerialNumberTmp;
                SendTime     = SendTimeTmp;
            }
            else
            {
                if (ShowLog)
                {
                    logHelper.Error(msg);
                }
                return(msg);
            }

            try
            {
                Iden_F1 = new Identifier_F1();
                Iden_F1.RemoteStation = UserDataAll.Substring(20, 10);
            }
            catch (Exception ex)
            {
                if (ShowLog)
                {
                    logHelper.Error(ex.Message + Environment.NewLine + "获取遥测站出错" + " " + RawDataStr);
                }
                return("获取遥测站出错");
            }

            try
            {
                VersionL = Convert.ToByte(UserDataAll.Substring(30, 2), 16);
                VersionC = HexStringUtility.HexStringToStr(UserDataAll.Substring(32, 2 * VersionL));
            }
            catch (Exception ex)
            {
                if (ShowLog)
                {
                    logHelper.Error(ex.Message + Environment.NewLine + "获取版本信息出错" + " " + RawDataStr);
                }
                return("获取版本信息出错");
            }

            return("");
        }
Ejemplo n.º 27
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.º 28
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());
        }
Ejemplo n.º 29
0
        private JavaScriptObject ClosePumpCmd(HttpRequest request)
        {
            string DeviceNo = request["DeviceNo"] ?? "";
            string SendTime = request["SendTime"] ?? "";

            JavaScriptObject result = new JavaScriptObject();

            result.Add("Result", false);
            result.Add("Message", "");
            try
            {
                DateTime OperationTime = DateTime.Parse(SendTime);

                CmdToDtuClosePump cmd = new CmdToDtuClosePump();
                cmd.AddressField = DeviceNo.Substring(0, 12) + Convert.ToInt32(DeviceNo.Substring(12, 3)).ToString("X").PadLeft(2, '0');
                byte[] bs  = cmd.WriteMsg(OperationTime);
                string str = HexStringUtility.ByteArrayToHexString(bs);

                Device device = DeviceModule.GetDeviceByFullDeviceNo(DeviceNo);
                if (device == null)
                {
                    result["Message"] = "设备长编号" + DeviceNo + "不存在!";
                }
                else
                {
                    DeviceOperation op = new DeviceOperation();

                    op.DeviceNo      = DeviceNo;
                    op.DeviceName    = device.DeviceName;
                    op.OperationTime = OperationTime;
                    op.OperationType = "远程关泵";
                    op.RawData       = str;
                    op.Remark        = "";
                    op.UserId        = 0;
                    op.UserName      = "******";
                    op.State         = "发送成功";

                    DeviceOperationModule.AddDeviceOperation(op);

                    result["Result"] = true;
                }
            }
            catch (Exception ex)
            {
                result["Message"] = "关泵命令保存出错!";
                myLogger.Error(ex.Message);
            }
            return(result);
        }
        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());
        }