/// <summary> /// 解析倾角仪上报的数据 /// </summary> /// <param name="msg"></param> public static void ParseInclinometerMsg(byte[] msg) { try { string code = msg[5].ToString("X2") + msg[6].ToString("X2") + msg[7].ToString("X2") + msg[8].ToString("X2"); string serialPort = msg[10].ToString("X2"); string address = msg[11].ToString("X2") + msg[12].ToString("X2"); string producer = msg[13].ToString("X2"); byte[] newArr = new byte[] { msg[14], msg[15], msg[16], msg[17] }; float x = BitConverter.ToSingle(newArr, 0); newArr[0] = msg[18]; newArr[1] = msg[19]; newArr[2] = msg[20]; newArr[3] = msg[21]; float y = BitConverter.ToSingle(newArr, 0); string time = ExplainUtils.oneByteToInteger(msg[22]).ToString().PadLeft(2, '0') + ExplainUtils.oneByteToInteger(msg[23]).ToString().PadLeft(2, '0') + ExplainUtils.oneByteToInteger(msg[24]).ToString().PadLeft(2, '0') + ExplainUtils.oneByteToInteger(msg[25]).ToString().PadLeft(2, '0') + ExplainUtils.oneByteToInteger(msg[26]).ToString().PadLeft(2, '0') + ExplainUtils.oneByteToInteger(msg[27]).ToString().PadLeft(2, '0');//时标 Console.WriteLine("code:{0},serialPort:{1},address:{2},producer:{3},X:{4},Y:{5},timestamp:{6}", code, serialPort, address, producer, x, y, time); logger.Info("parse inclinometer data >> code:" + code + ",serialPort:" + serialPort + ",address:" + address + ",producer:" + producer + ",X:" + x + ",Y:" + y + ",timestamp:" + time); } catch (Exception e) { String content = BitConverter.ToString(msg).Replace("-", " "); logger.Error("<<Method-ParseInclinometerMsg>>" + e.Message + "Data:" + content); } }