Q / GDW 376.1—2009电力用户用电信息采集系统通信协议报文解析示例
1.集中器登录主站注册帧报文
//该帧为集中器发送给主站的登录注册帧
登录: 68 32 00 32 00 68 C9 03 44 04 00 00 02 71 00 00 01 00 88 16
解析:
68 //帧起始符
32 00 //数据长度2字节,数据类型排列顺序为低位在前高位在后,正序数值为0x0032,转换为二进制为0b0000000000110010,
//最低d1~d0两位为协议类型,为0b10代表为376.1协议使用标志;
//d15~d2为长度,为报文的用户数据区长度,对应的二进制值为0b1100,转换为十进制为12,即原始报文的红色部分
32 00 //内容解释同上,使用2个长度表示长度确认比对
68 //帧起始符
C9 //控制域C,二进制数值为0b11001001,对应d7~d0位
|
D7 |
D6 |
D5 |
D4 |
D3~D0 |
上行方向 |
传输方向位DIR |
启动标志位PRM |
要求访问位ACD |
保留 |
功能码 |
|
1 |
1 |
0 |
0 |
1001 |
//d7:传输方向位DIR,d7位的数值为1,代表此帧报文是由终端发出的上行报文
//d6:启动标志位PRM,d6位的数值为1,代表此帧报文来自启动站
//d5:要求访问位,d5位的数值为0,ACD=1表示终端有重要事件等待访问,则附加信息域中带有事件计数器EC(EC见本部分4.3.4.6.3);ACD=0表示终端无事件数据等待访问。
//d4:保留
//d3~d0:功能码,对应值为9,当启动标志位PRM=1时,代表该帧报文的帧类型为请求/响应帧,服务功能为链路测试,及使用于AFN=02的应用层功能码
功能码定义(PRM=1)
功能码 |
帧 类 型 |
服务功能 |
0 |
— |
备用 |
1 |
发送∕确认 |
复位命令 |
2~3 |
— |
备用 |
4 |
发送∕无回答 |
用户数据 |
5~8 |
— |
备用 |
9 |
请求∕响应帧 |
链路测试 |
10 |
请求∕响应帧 |
请求1级数据 |
11 |
请求∕响应帧 |
请求2级数据 |
12~15 |
— |
备用 |
03 44 04 00 00 //地址域:地址域分为三部分,03 44|04 00|00
//地址域由行政区划码A1、终端地址A2、主站地址和组地址标志A3组成,格式见表4。
地址域 |
数据格式 |
字节数 |
对应数值 |
行政区划码A1 |
BCD |
2 |
03 44 |
终端地址A2 |
BIN |
2 |
04 00 |
主站地址和组地址标志A3 |
BIN |
1 |
00 |
//第一部分为行政区划码A1,行政区划码按GB 2260—91的规定执行,数据格式为两字节BCD码-03 44,字节顺序为低位在前高位在后,实际数值应为4403
//第二部分为终端地址A2,终端地址A2选址范围为1~65535。A2=0000H为无效地址,A2=FFFFH且A3的D0位为“1”时表示系统广播地址,数据格式为两//字节BIN码--04 00,字节顺序为低位在前高位在后,实际数值应为0004
//第三部分为主站地址和组地址标志A3,A3的D0位为终端组地址标志,D0=0表示终端地址A2为单地址;D0=1表示终端地址A2为组地址;A3的D1~D7组//成0~127个主站地址MSA。主站启动的发送帧的MSA应为非零值,其终端响应帧的MSA应与主站发送帧的MSA相同。终端启动发送帧的MSA应为零,其主//站响应帧的MSA也应为零。数据格式为1字节BIN码--00,A3的d0位为终端组地址标志,d0=0表示终端地址A2为单地址,d7~d1为主站地址MSA,另外该//帧是由终端发起的上行报文,终端启动发送帧的MSA应为0,其主站的响应帧也应为0,这是硬性规定,如果不是0,则一定是错误的
02 //应用层功能码AFN:应用层功能码由一字节组成,采用二进制编码表示,对应数值为02H,代表应用功能为链路接口检测
71 //帧序列域SEQ:帧序列域长度为1字节,0x71转换为二进制为0b01110001,对应下图的相关标志为:
D7 |
D6 |
D5 |
D4 |
D3D0 |
TpV |
FIR |
FIN |
CON |
PSEQ∕RSEQ |
0 |
1 |
1 |
1 |
0001 |
//TpV:帧时间标签有效位,TpV=0,表示在附加信息域中无时间标签Tp;TpV=1,表示在附加信息域中带有时间标签Tp
//首帧标志FIR、末帧标志FIN,FIR:置“1”,报文的第一帧。FIN:置“1”,报文的最后一帧。FIR、FIN组合状态所表示的含义见下表。
FIR |
FIN |
应用说明 |
0 |
0 |
多帧:中间帧 |
0 |
1 |
多帧:结束帧 |
1 |
0 |
多帧:第1帧,有后续帧。 |
1 |
1 |
单帧 |
//请求确认标志位CON:在所收到的报文中,CON位置“1”,表示需要对该帧报文进行确认;置“0”,表示不需要对该帧报文进行确认。
//启动帧序号PSEQ,取自1字节的启动帧计数器PFC的低4位计数值0~15。启动帧帧序号计数器PFC,每一对启动站和从动站之间均有1个独立的、由1字节构成的计数范围为0~255的启动帧帧序号计数器PFC,用于记录当前启动帧的序号。启动站每发送1帧报文,该计数器加1,从0~255循环加1递增;重发帧则不加1。目前该值为0b0001
00 00 //信息点DA:信息点DA由信息点元DA1和信息点组DA2两个字节构成。DA2采用二进制编码方式表示信息点组,低位在前高位在后,DA1对位表示某一信息点组的1~8个信息点,以此共同构成信息点标识pn(n=1~2040),当DA1和DA2全为“0”时,表示终端信息点,用p0表示;运算规则为(DA2-1)*8+DA1对应位的值就是信息点标识pn,格式见下图。
信息点组DA2 |
信息点元DA1 |
|||||||
D7~D0 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
1 |
p8 |
p7 |
p6 |
p5 |
p4 |
p3 |
p2 |
p1 |
2 |
p16 |
p15 |
p14 |
p13 |
p12 |
p11 |
p10 |
p9 |
3 |
p24 |
p23 |
p22 |
p21 |
p20 |
p19 |
p18 |
p17 |
… |
… |
… |
… |
… |
… |
… |
… |
… |
255 |
P2040 |
P2039 |
P2038 |
P2037 |
P2036 |
P2035 |
P2034 |
P2033 |
信息点组DA1 |
对应值 |
0x80 |
8 |
0x40 |