Пример #1
0
        //参数配置
        static public byte[] SendJoint_ParameterConfig(Frame_ParameterConfig ParameterConfig)
        {
            try
            {
                List <byte> msgTemp = new List <byte>();
                //头
                msgTemp.Add(0x7A);
                msgTemp.Add(0x7A);
                //协议版本号
                msgTemp.Add(0x01);
                msgTemp.Add(0x00);
                msgTemp.Add(0x02);
                //命令字
                msgTemp.Add(0x04);
                //数据长度
                msgTemp.Add(0x00);
                msgTemp.Add(0x00);
                //校验和
                byte[] byteTemp = new byte[msgTemp.Count];
                msgTemp.CopyTo(byteTemp);
                byte[] crc16 = BitConverter.GetBytes(ConvertData.CRC16(byteTemp, 8, byteTemp.Length - 8));
                msgTemp.Add(crc16[0]);
                msgTemp.Add(crc16[1]);
                //结束符
                msgTemp.Add(0x7B);
                msgTemp.Add(0x7B);

                byteTemp = new byte[msgTemp.Count];
                msgTemp.CopyTo(byteTemp);
                return(byteTemp);
            }
            catch (Exception ex)
            {
                ToolAPI.XMLOperation.WriteLogXmlNoTail("GprsResolveDataV100.SendJoint_ParameterConfig:error", ex.Message + "|" + ex.StackTrace.ToString());
                return(null);
            }
        }
Пример #2
0
 //参数配置
 //7A 7A 01 00 02 04 32 00 31 32 33 34 35 36 37 38 17 10 31 17 34 00 17 10 31 01 00 01 01 01 00 02 00 03 00 04 00 05 00 06 00 07 00 08 00 09 00 0a 00 0b 00 0c 00 0d 00 31 32 33 D4 18 7b 7b
 //7a 7a 01 00 02 04 00 00 00 00 7b 7b
 static public void ReceiveDispose_ParameterConfig(byte[] data, TcpSocketClient client)
 {
     try
     {
         Frame_ParameterConfig dataFrame = new Frame_ParameterConfig();
         //设备编号
         byte[] sn = new byte[8];   //设备编号
         for (int i = 0; i < 8; i++)
         {
             sn[i] = data[i];
         }
         dataFrame.DeviceNo = Encoding.ASCII.GetString(sn);  //获取设备编号ASCII
         //参数修改时间
         string tStr = ConvertData.ToHexString(data, 8, 6);
         try
         {
             dataFrame.ParameterUpdateTime = DateTime.ParseExact(tStr, "yyMMddHHmmss", System.Globalization.CultureInfo.InvariantCulture);
         }
         catch (Exception)
         {
             dataFrame.ParameterUpdateTime = DateTime.Now;
         }
         //安装时间
         tStr = ConvertData.ToHexString(data, 14, 3);
         try
         {
             dataFrame.InstallDate = DateTime.ParseExact(tStr, "yyMMdd", System.Globalization.CultureInfo.InvariantCulture);
         }
         catch (Exception)
         {
             dataFrame.InstallDate = DateTime.Now;
         }
         //额定载荷
         UShortValue us = new UShortValue();
         us.bValue1           = data[17];
         us.bValue2           = data[18];
         dataFrame.LoadRating = us.sValue;
         //预警系数
         dataFrame.EarlyAlarmCoefficient = data[19];
         //报警系数
         dataFrame.AlarmCoefficient = data[20];
         //空载AD1
         ShortValue s = new ShortValue();
         s.bValue1          = data[21];
         s.bValue2          = data[22];
         dataFrame.EmptyAD1 = s.sValue;
         //空载AD2
         s.bValue1          = data[23];
         s.bValue2          = data[24];
         dataFrame.EmptyAD2 = s.sValue;
         //空载AD3
         s.bValue1          = data[25];
         s.bValue2          = data[26];
         dataFrame.EmptyAD3 = s.sValue;
         //空载AD4
         s.bValue1          = data[27];
         s.bValue2          = data[28];
         dataFrame.EmptyAD4 = s.sValue;
         //空载AD
         s.bValue1         = data[29];
         s.bValue2         = data[30];
         dataFrame.EmptyAD = s.sValue;
         //标准重物AD1
         s.bValue1 = data[31];
         s.bValue2 = data[32];
         dataFrame.StandardLoadAD1 = s.sValue;
         //标准重物AD2
         s.bValue1 = data[33];
         s.bValue2 = data[34];
         dataFrame.StandardLoadAD2 = s.sValue;
         //标准重物AD3
         s.bValue1 = data[35];
         s.bValue2 = data[36];
         dataFrame.StandardLoadAD3 = s.sValue;
         //标准重物AD4
         s.bValue1 = data[37];
         s.bValue2 = data[38];
         dataFrame.StandardLoadAD1 = s.sValue;
         //标准重物AD
         s.bValue1 = data[39];
         s.bValue2 = data[40];
         dataFrame.StandardLoadAD = s.sValue;
         //标准重物
         s.bValue1 = data[41];
         s.bValue2 = data[42];
         dataFrame.StandardLoad = s.sValue;
         //倾角预警值
         s.bValue1 = data[43];
         s.bValue2 = data[44];
         dataFrame.AngleEarlyAlarm = s.sValue;
         //倾角报警值
         s.bValue1            = data[45];
         s.bValue2            = data[46];
         dataFrame.AngleAlarm = s.sValue;
         //软件版本号 ASCII
         byte[] SoftVersion = new byte[data.Length - 47];
         for (int i = 47, j = 0; i < data.Length; i++, j++)
         {
             SoftVersion[j] = data[i];
         }
         dataFrame.SoftVersion = Encoding.ASCII.GetString(SoftVersion);
         //拼接应答
         byte[] result = SendJoint_ParameterConfig(dataFrame);
         if (result != null)
         {
             client.SendBuffer(result);
         }
     }
     catch (Exception)
     { }
 }