本论文为数据类硕士论文前言,关于基于DL/T645—2007通信规约报文的相关毕业论文的格式,可用于数据论文写作研究的大学硕士与本科毕业论文开题报告范文和优秀学术职称论文参考文献资料下载。免费教你怎么写数据及字节及地址方面论文范文。
1 前言:
DL/T 645-2007《多功能电能表通信规约》,统一和规范多功能电能表与数据终端设备进行数据交换时的物理连接和协议.信息量的确定以DL/T 614—2007《多功能电能表》为依据.数据链路层 (data-link layer)负责数据终端设备与多功能电能表之间通信链路的建立并以帧为单位传输信息,保证信息的顺序传送,具有传输差错检测功能.应用层(application layer)利用数据链路层的信息传递功能,在数据终端设备与多功能电能表之间发送、接收各种数据信息.
2.DL/T645-2007通信规约下主从站报文数据通信传输流程
3.数据链路层
3.1 数据链路层的功能
负责数据终端设备与多功能电能表之间通信链路的建立并以帧为单位传输信息,保证信息的顺序传送,具有传输差错检测功能.
DL/T 645-2007《多功能电能表通信规约》为主-从结构的半双工通信方式.手持单元或其它数据终端为主站,多功能电能表为从站.每个多功能电能表均有各自的地址编码.通信链路的建立与解除均由主站发出的信息帧来控制.每帧由帧起始符、从站地址域、控制码、数据域长度、数据域、帧信息纵向校验码及帧结束符7个域组成.每部分由若干字节组成.
3.2 字节格式
每字节含8位二进制码,传输时加上一个起始位(0)、一个偶校验位和一个停止位(1), 共 11位.其传输序列如图7所示.D0 是字节的最低有效位,D7 是字节的最高有效位.先传低位,后传高位,0→D0→D1→D2→D3→D4→D5→D6→D7→P→1.起始位8位数据偶校验位停止位传送方向.
图为字节传输序列
3.3 帧格式
3.3.1 帧起始符固定为 68H
3.3.2 地址域A0~A5
地址域由6个字节构成,每字节2位BCD码, 低地址字节在先,高地址字节在后.当使用的地址码长度不足6字节时,高位用十六进制AAH或00补足6字节,根据电表厂家要求选择.当地址为999999999999时,为广播地址.
3.3.3 数据域DATA
数据域包括 数据标识 和 数据等.传输时发送方按字节进行加0x33处理,接受方按字节进行减33H处理.
3.3.3.1数据区的第1,2个字节是数据标识:
目前我们使用的程序是读4种电量的数据块,共20个电量.
查询命令的数据区只包含2个字节的数据标识, 应答报文的数据区包含: 类型标识 + 电度数据.
3.3.3.2以上每种数据块包含5个电量, 依次是: 总电能, 尖峰, 峰, 平, 谷
3.3.4校验码CS
从帧起始符开始到校验码之间的所有字节的算术和,模256.不计超过256的溢出值.
3.3.5 结束符16H
标识一帧的结束,其值为16H.
4.DL/T 645-2007《多功能电能表通信规约》报文分析
根据DL/T 645-2007《多功能电能表通信规约》,主站在发送帧信息之前,先发送3个字节0xFE以唤醒接收方.地址域和数据均先传送低位字节,后传送高位字节.
电度值的4个字节都是按 +33H传送.
对于配地址文件(.gy)的, 以表地址为“ 156237191832 ”为例进行相应的报文分析.
4.1 主站查询“正向有功数据块”
分析: 两个68之间的6个字节是地址,第11,12个字节是数据标识:0x52 0xc3分别减0x33后为 0x1f 0x90 表示正向有功.(注:数据区的第1,2个字节是数据标识“0x1f 0x90”表示正向有功数据块)
每种数据块传5个电度值,依次为: 总正向有功, 尖峰, 峰, 平, 谷.其对应的数据如下:
4.2 主站查询“反向有功数据块”
分析: 两个68之间的6个字节是地址0x62 0xc3 是数据标识分别减0x33后为 0x2f 0x90表示反向有功.(注:数据区的第1,2个字节是数据标识“0x2f 0x90”表示反向有功数据块)
每种数据块传5个电度值,依次为: 总反向有功, 尖峰, 峰, 平, 谷
4.3 查询“正向无功数据块”
4.4 查询“反向无功数据块”
分析: 两个68之间的6个字节是地址0x62 0x 是数据标识, 减0x33后为 0x2f 0x91表示反向无功(注:数据区的第1,2个字节是数据标识“0x1f 0x91”表示正向无功数据块)
每种数据块传5个电度值,依次为: 总反向无功, 尖峰, 峰, 平, 谷
ab 89 67 45, 分别 -0x33后是 78 56 34 12 , 实际值就是12345678
54 46 47 48, 分别 -0x33后是 21 13 14 15 , 实际值就是15141321
33 33 33 33, 分别 -0x33后是 00 00 00 00 , 实际值就是0