376.1简介
一、报文格式定义
起始字符(68H) | ↑ | ||
长度L | 固定长度 | ||
长度L | 的报文头 | ||
起始字符(68H) | ↓ | ||
控制域C | 控制域 | 用户 数据区 |
|
地址域A | 地址域 | ||
链路用户数据
|
链路用户数据 (应用层) |
||
校验和CS | 帧校验和 | ||
结束字符(16H) |
图1 帧格式
例子:
#登录:
68 32 00 32 00 68 c9 00 50 9a 39 00 02 7a 00 00 01 00 69 16
- 长度L
例子中 32 00 32 00 跟规则解析如下:
准则:
帧的基本单元为8位字节。链路层传输顺序为低位在前,高位在后;低字节在前,高字节在后。
- 首先前后颠倒得到:00 32 (这里为16进制)
- 将其转换为2进制:00000000 00110010
长度解析规则:
长度L包括协议.标识和用户数据长度,由2字节组成,如图2:
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
D15 | D14 | D13 | D12 | D11 | D10 | D9 | D8 |
图2 长度定义
协议标识由图2中D0~D1两位编码表示,定义如下:
a) D0=0、D1=0:为禁用;
b) D0=1、D1=0:为《Q/GDW 130—2005电力负荷管理系统数据传输规约》使用;
c) D0=0、D1=1:为本协议使用;
d) D0=1、D1=1,为保留。
用户数据长度L1:由D2~D15组成,采用BIN编码,是控制域、地址域、链路用户数据(应用层)的字节总数。
a) 采用专用无线数传信道,长度L1不大于255;
- b) 采用网络传输,长度L1不大于16383。
- D0=0 D1=1为定义中的C 符合规范
- 长度为 1100 前面为0 所以忽略
- 转换 1100 为十进制 为: 12
- 控制域C
控制域C表示报文传输方向和所提供的传输服务类型的信息,定义见图3:
D7 | D6 | D5 | D4 | D3~D0 | |||
下行方向 | 传输方向位 DIR |
启动标志位 PRM |
帧计数位FCB | 帧计数有效位FCV | 功能码 | ||
上行方向 | 要求访问位ACD | 保留 | |||||
图3 控制字定义
本例中控制域C为 : C9
- 首先转换为2进制: 1100 1001
- 得到DIR=D7=1
DIR=0,表示此帧报文是由主站发出的下行报文; DIR=1,表示此帧报文是由终端发出的上行报文。
- 得到PRM=D6=1
PRM=1,表示此帧报文来自启动站;PRM=0,表示此帧报文来自从动站。
- DIR=1所以为上行,故ACD=D5=0
ACD位用于上行响应报文中。ACD=1表示终端有重要事件等待访问,则附加信息域中带有事件计数器EC(EC见本部分4.3.4.6.3);ACD=0表示终端无事件数据等待访问。
ACD置“1”和置“0”规则:
a) 自上次收到报文后发生新的重要事件,ACD位置“1”;
b) 收到主站请求事件报文并执行后,ACD位置“0”。
- DIR=1所以为上行, D4=0; 保留
- D3~D0为 1001 转换为十进制为: 9
当启动标志位PRM=1时,功能码定义见表2:
表2 功能码定义(PRM=1)
功 能 码 | 帧 类 型 | 服 务 功 能 |
0 | —— | 备用 |
1 | 发送∕确认 | 复位命令 |
表2(续)
功 能 码 | 帧 类 型 | 服 务 功 能 |
2~3 | —— | 备用 |
4 | 发送∕无回答 | 用户数据 |
5~8 | —— | 备用 |
9 | 请求∕响应帧 | 链路测试 |
10 | 请求∕响应帧 | 请求1级数据 |
11 | 请求∕响应帧 | 请求2级数据 |
12~15 | —— | 备用 |
当启动标志位PRM=0时,功能码定义见表3:
表3 功能码定义(PRM=0)
功 能 码 | 帧 类 型 | 服 务 功 能 |
0 | 确认 | 认可 |
1~7 | — | 备用 |
8 | 响应帧 | 用户数据 |
9 | 响应帧 | 否认:无所召唤的数据 |
10 | — | 备用 |
11 | 响应帧 | 链路状态 |
12~15 | — | 备用 |
本部分规定:
a) 启动站功能码10(请求1级数据)用于应用层请求确认(CON=1)的链路传输,应用层请求确认标志见本部分4.3.4.3.4。
b) 启动站功能码11(请求2级数据)用于应用层请求数据的链路传输。
- 由于PRM=1功能码为9得到为链路测试
9 | 请求∕响应帧 | 链路测试 |
- 地址域 A
地址域由行政区划码A1、终端地址A2、主站地址和组地址标志A3组成,格式见表4:
表4 地址域格式
地 址 域 | 数据格式 | 字 节 数 |
行政区划码A1 | BCD | 2 |
终端地址A2 | BIN | 2 |
主站地址和组地址标志A3 | BIN | 1 |
本例中地址域为: 00 50 9a 39 00
- 行政区划码A1=00 50
- 终端地址A2=9a 39
- 主站地址和组地址标志A3=00
- 根据准则将A1颠倒 :50 00
行政区划码按GB 2260—2007的规定执行。
- 根据准则将A2颠倒 : 39 9a 然后转换为十进制:14746
终端地址A2选址范围为1~65535。A2=0000H为无效地址,A2=FFFFH且A3的D0位为“1”时表示系统广播地址。
- A3为00
A3的D0位为终端组地址标志,D0=0表示终端地址A2为单地址;D0=1表示终端地址A2为组地址;A3的D1~D7组成0~127个主站地址MSA。
a) 主站启动的发送帧的MSA应为非零值,其终端响应帧的MSA应与主站发送帧的MSA相同。
b) 终端启动发送帧的MSA应为零,其主站响应帧的MSA也应为零。
- 链路用户数据
应用层(链路用户数据)格式定义见图4:
应用层功能码AFN |
帧序列域SEQ |
数据单元标识1 |
数据单元1 |
…… |
数据单元标识n |
数据单元n |
附加信息域AUX |
图4 应用层定义
对于应用层需要加密的关键数据,加密的数据区包括:应用层功能码、帧序列域、数据单元标识及数据单元部分。
本例中链路用户数据为:02 7a 00 00 01 00
根据定义:
- AFN=02
应用层功能码AFN由一字节组成,采用二进制编码表示,具体定义见表5:
表5 应用层功能码定义
应用功能码AFN | 应用功能定义 |
00H | 确认∕否认 |
01H | 复位 |
02H | 链路接口检测 |
03H | 中继站命令 |
04H | 设置参数 |
05H | 控制命令 |
06H | 身份认证及密钥协商 |
07H | 备用 |
08H | 请求被级联终端主动上报 |
09H | 请求终端配置 |
0AH | 查询参数 |
表5(续)
应用功能码AFN | 应用功能定义 |
0BH | 请求任务数据 |
0CH | 请求1类数据(实时数据) |
0DH | 请求2类数据(历史数据) |
0EH | 请求3类数据(事件数据) |
0FH | 文件传输 |
10H | 数据转发 |
11H~FFH | 备 用 |
- 根据功能码得到本例中的功能为 链路接口检测
02H | 链路接口检测 |
- 查询02H的报文格式
链路接口检测命令上行报文格式见图16:
68H |
L |
L |
68H |
C |
A |
AFN=02H |
SEQ |
数据单元标识(DA=0) |
数据单元 |
CS |
16H |
图16 链路接口检测报文格式
- SEQ=7a
帧序列域SEQ为1字节,用于描述帧之间的传输序列的变化规则,由于受报文长度限制,数据无法在一帧内传输,需要分成多帧传输(每帧都应有数据单元标识,都可以作为独立的报文处理)。SEQ定义如图5:
D7 | D6 | D5 | D4 | D3D0 |
TpV | FIR | FIN | CON | PSEQ∕RSEQ |
图5 SEQ定义
- 将7a转换为二进制:0111 1010
- Tpv=D7=0;
TpV=0,表示在附加信息域中无时间标签Tp;
TpV=1,表示在附加信息域中带有时间标签Tp
- FIR=D6=1;
- FIN=D5=1
FIR:置“1”,报文的第一帧。
FIN:置“1”,报文的最后一帧。
FIR、FIN组合状态所表示的含义见表6:
表6 帧 标 志
FIR | FIN | 应用说明 |
0 | 0 | 多帧:中间帧 |
0 | 1 | 多帧:结束帧 |
1 | 0 | 多帧:第1帧,有后续帧。 |
1 | 1 | 单帧 |
- CON=D4=1
在所收到的报文中,CON位置“1”,表示需要对该帧报文进行确认;置“0”,表示不需要对该帧报文进行确认。
- PSEQ=1010
a) 启动帧序号PSEQ
PSEQ取自1字节的启动帧计数器PFC的低4位计数值0~15。
b) 启动帧帧序号计数器PFC
每一对启动站和从动站之间均有1个独立的、由1字节构成的计数范围为0~255的启动帧帧序号计数器PFC,用于记录当前启动帧的序号。启动站每发送1帧报文,该计数器加1,从0~255循环加1递增;重发帧则不加1。
c) 响应帧序号RSEQ
响应帧序号RSEQ以启动报文中的PSEQ作为第一个响应帧序号,后续响应帧序号在RSEQ的基础上循环加1递增,数值范围为0~15。
d) 帧序号改变规则
1) 启动站发送报文后,当一个期待的响应在超时规定的时间内没有被收到,如果允许启动站重发,则该重发的启动帧序号PSEQ不变。重发次数可设置,最多3次;重发次数为0,则不允许重发。
2) 当TpV=0时,如果从动站连续收到两个具有相同启动帧序号PSEQ的启动报文,通常意味着报文的响应未被对方站收到。在这种情况下,则重发响应(不必重新处理该报文)。
3) 当TpV=0时,如果启动站连续收到两个具有相同响应帧序号RSEQ的响应帧,则不处理第二个响应。
4) 终端能同时处理多个请求。
- 数据单元标识:00 00 01 00
数据单元标识由信息点标识DA和信息类标识DT组成,表示信息点和信息类型,格式见图8:
信息点DA | DA1 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
DA2 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |
信息类DT | DT1 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
DT2 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
图8 数据单元标识定义
- DA 为: 00 00
信息点DA由信息点元DA1和信息点组DA2两个字节构成。
DA2采用二进制编码方式表示信息点组,DA1对位表示某一信息点组的1~8个信息点,以此共同构成信息点标识pn(n=1~2040),格式见图9:
信息点组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 |
图9 信息点格式
当DA1和DA2全为“0”时,表示终端信息点,用p0表示;当DA1=FFH、DA2=00H时,表示所有有效测量点(不含p0)。
信息点标识pn对应于不同信息类标识Fn可以是测量点号、总加组号、控制轮次、直流模拟量端口号、任务号。
运算规则为(DA2-1)*8+DA1对应位的值就是信息点标识pn
- PN=0
- DT 为:01 00
信息类DT由信息类元DT1和信息类组DT2两个字节构成。
DT2采用二进制编码方式表示信息类组,DT1对位表示某一信息类组的1~8种信息类型,以此共同构成信息类标识Fn(n=1~248),格式见图10:
信息类组DT2 | 信息类元DT1 | |||||||
D7~D0 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
0 | F8 | F7 | F6 | F5 | F4 | F3 | F2 | F1 |
1 | F16 | F15 | F14 | F13 | F12 | F11 | F10 | F9 |
2 | F24 | F23 | F22 | F21 | F20 | F19 | F18 | F17 |
…… | …… | …… | …… | …… | …… | …… | …… | …… |
30 | F248 | F247 | F246 | F245 | F244 | F243 | F242 | F241 |
…… | 未定义 | |||||||
255 |
图10 信息类格式
运算规则为DT2*8+DT1对应位的值(8421码)就是信息类标识Fn
16进制 | 真实数值 |
01 | 1 |
02 | 2 |
04 | 3 |
08 | 4 |
10 | 5 |
20 | 6 |
40 | 7 |
80 | 8 |
- DT1=01 DT2=00 根据公式得出fn=1
- 02H 链路接口检测对应的pn fn为
Fn和pn定义见表14:
表14 检测报文Fn定义
Fn | 名 称 及 说 明 | pn |
F1 | 登 录 | p0 |
F2 | 退出登录 | p0 |
F3 | 心 跳 | p0 |
F4~F248 | 备 用 | |
F1:登录
无数据体。
F2:退出登录
无数据体。
- 数据单元:无
- 校验和CS
帧校验和是用户数据区所有字节的八位位组算术和,不考虑溢出位。用户数据区包括控制域、地址域、链路用户数据(应用层)三部分。
本例中相关部分如下:
控制域:C9
地址域:00 50 9a 39 00
链路用户数据: 02 7a 00 00 01 00
相加之和为:269(16进制)
CS为 最后两位 :69
- 结束字符(16H)