欢迎来到天天文库
浏览记录
ID:40606554
大小:24.47 KB
页数:7页
时间:2019-08-04
《电表报文解析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、该通信规约适用于本地系统中多功能表的费率装置与手持单元(HHU)或其它数据终端设备进行点对点的或一主多从的数据交换方式,规定了它们之间的物理连接、通信链路及应用技术规范。该协议在做“电力监控”、“水监控”等“工控领域”,具有广泛的应用。协议具体内容可以从网上Google,下面主要介绍下协议的解析方法。 DL645协议需要先发送“前导字节”,用来唤醒从站,当然有些设备是不需要这样唤醒的。在发送帧信息之前,先发送1-4个字节FEH,以唤醒接收方("FEH",H表示16进制,是一个字节), “前导字节” + “取数据报文”=“整体报文”。首
2、先我们先整体了解一个发送报文“6812345678901268010243C3cs16” 在这之前呢,先看一下BCD码。BCD码:二进制编码的十进制代码。比如:0=00001=00012=00103=00114=01005=01016=01107=01118=10009=1001 BCD码:ASCII表示(都是字符)BCD码都是由0~9,10个字符构成。也就是说,BCD码一个字节是两位,一位是0~9,一个字节能够表示00~99。 BCD码1位是2进制的4位。按16进制表示,没有ABCDEF。 帧格式(DL/T645-1997通讯规约标准文档中)帧
3、是传送信息的基本单元。帧格式如图所示。说 明代码帧起始符68H A0 地址域A1A2A3A4A5帧起始符68H控制码C数据长度域L 数据域 DATA校验码CS结束符16H4.2.1 帧起始符68H:标识一帧信息的开始,其值为68H=01101000B。4.2.2地址域A0∽A5:地址域由6个字节构成,每字节2位BCD码。地址长度为12位十进制数,可以为表号、资产号、用户号、设备号等。具体使用可由用户自行决定。当使用的地址码长度不足6字节时,用十六进制AAH补足6字节。低地址位在先,高地址位在后。当地址为999999999999H时,为广播地址。4
4、.2.3 控制码C:控制码的格式如下所示。D7D6D5D4D3D2D1D0 功能码 后续帧标志 从站异常标志 传送方向 D7=0:由主站发出的命令帧 D7=1:由
5、从站发出的应答帧 D6=0:从站正确应答 D6=1:从站对异常信息的应答 D5=0:无后续数据帧 D5=1:有后续数据帧 D4∽D0:请求及应答功能码 00000:保留 00001:读数据 00010:读后续数据 00011:重读数据 00100:写数据 01000:广播校时 01010:写设备地址
6、 01100:更改通信速率 01111:修改密码 10000:最大需量清零4.2.4 数据长度L:L为数据域的字节数。读数据时L≤200,写数据时L≤50,L=0表示无数据域。4.2.5 数据域DATA:数据域包括数据标识和数据、密码等,其结构随控制码的功能而改变。传输时发送方按字节进行加33H处理,接收方按字节进行减33H处理。4.2.6 校验码CS:从帧起始符开始到校验码之前的所有各字节的模256的和,即各字节二进制算术和,不计超过256的溢出值。4.2.7结束符号16H:标识一帧信息
7、的结束,其值为16H=00010110B。 发送报文:6812345678901268010243C3cs16说明如下:68(帧起始符)12 34 56 78 90 12(6字节,没字节两位,共12位地址,BCD码表示。) 68(帧起始符)01(控制码“包含功能码”=01=读取数据)02(数据域长度,指“43,C3”一共是两字节。) “43c3”(“43C3”是数据域,表示读取数据类型=“1090”,发送报文中数据域需要做“+0x33处理”)cs(加校验和,一个字节,根据前面的计算)16(帧结束符) 下面详细的解释下:帧起始符(645协议规
8、定由68H开始,16进制。) 0x12(BCD数值码)---12(string) 转为字符串0x12.ToString("X2")0
此文档下载收益归作者所有