Ejemplo n.º 1
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());
        }
Ejemplo n.º 2
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.º 3
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 override string GetHexStr()
        {
            StringBuilder builderC = new StringBuilder();

            if (BitStr.Length <= 64)
            {
                builderC.Append(HexStringUtility.BinStringToHexString(BitStr.PadLeft(64, '0')));
            }
            else
            {
                builderC.Append(HexStringUtility.BinStringToHexString(BitStr.Substring(0, 64)));
            }

            StringBuilder builder = new StringBuilder();

            builder.Append(Key.ToString("X").PadLeft(2, '0'));
            Length = Convert.ToByte(WaterBaseProtocol.GetLengthHexStr(builderC.ToString().Length / 2, 0), 16);
            builder.Append(Length.ToString("X").PadLeft(2, '0'));
            builder.Append(builderC.ToString());
            return(builder.ToString());
        }
        public override string GetHexStr()
        {
            int ByteCount = 4;
            int Digits    = 0;

            StringBuilder builderC = new StringBuilder();

            if (AlarmStateV.Length <= 32)
            {
                builderC.Append(HexStringUtility.BinStringToHexString(AlarmStateV).PadLeft(8, '0'));
            }
            else
            {
                builderC.Append(HexStringUtility.BinStringToHexString(AlarmStateV).Substring(0, 8));
            }

            StringBuilder builder = new StringBuilder();

            builder.Append(Key.ToString("X").PadLeft(2, '0'));
            Length = Convert.ToByte(WaterBaseProtocol.GetLengthHexStr(ByteCount, Digits), 16);
            builder.Append(Length.ToString("X").PadLeft(2, '0'));
            builder.Append(builderC.ToString());
            return(builder.ToString());
        }