日期:2014-05-17  浏览次数:20941 次

根据UDP格式修改代码 求救!!!
2 UDP包头格式
大小为 6+ 13+13*N
数据包识别码 1个BYTE,0xAA
数据包识别码 1个BYTE,0x55
机组号 1个BYTE
数据体长度Len 2个BYTE,无符号短整型
校验码CS 1个BYTE
数据包Data N个BYTE(N*13 + 13)

UDP包总长度 = 1 + 1 + 1 + 2 + 1 + Sizeof(Data)
数据体长度Len, 即Sizeof(Data)
机组号标识哪一台机组的数据,双方通讯时协商确定。

3 UDP数据体Data格式
测量值时间Time(S) 4个BYTE,长整型
转速SaveSpeed 4个BYTE, 浮点型,单位rpm
有功功率 4个BYTE, 浮点型,单位MW
通道个数 1个BYTE
通道1 13个BYTE
通道2 13个BYTE
… …
通道N 13个BYTE

测量值时间Time(S)代表从起始时间点(1970年1月1日0时0分0秒)开始到当前的时间的计数值,单位是秒。

4 通道格式

通道ID 1个BYTE
峰峰值AmpPPK 2个BYTE,无符号短整型,单位μm
一倍频幅值Amp1X 2个BYTE,无符号短整型,单位μm
一倍频相位Arg1X 2个BYTE,无符号短整型,单位度
二倍频幅值Amp2X 2个BYTE,无符号短整型,单位μm
0.5倍频幅值AmpHalf 2个BYTE,无符号短整型,单位μm
间隙电压gapvolt 2个BYTE,无符号短整型,单位mv


根据上面的内容 修改下面的解析   怎么修改阿........   跪求


try
                    {
                        LogUtility.Info(String.Format("---------------------------接收到长度为{0}的字节包,开始进行解析--------------------------------", _messageBytes.Length));

                        #region 数据解析区域,解析后的数据往DnaMemoryService中添加

                        LogUtility.Info("源节点编号 : " + _messageBytes[0]);
                        LogUtility.Info("数据点组号 : " + _messageBytes[1]);
                        LogUtility.Info("数据点类型 : " + _messageBytes[2]);
                        byte groupNum = _messageBytes[1];
                        byte type = _messageBytes[2];
                        short pointNum = BitConverter.ToInt16(_messageBytes, 3);
                        short dataLen = BitConverter.ToInt16(_messageBytes, 5);