CDT报文帧结构
CDT报文每帧都是以同步字开头,并有控制字,除少数帧外均应有信息字。信息字的数量依实际需要设定,帧长度可变。
同步字 | 控制字 | 信息字1 | …… | 信息字N | 同步字 | 控制字 |
---|
1、SOE的同步字
一般就是三组十六进制 EB90H。
EB 90 EB 90 EB 90
2、SOE的控制字
同样是6个字节,每个字节定义如下表所示,从上到下即从前到后B1到B6字节
字节顺序 | 字节含义 |
---|---|
B0 | 控制字节 |
B1 | 帧类别 |
B2 | 信息字数n |
B3 | 源站址 |
B4 | 目的站址 |
B5 | 校验码 |
2.1、B0 控制字节
SOE的控制字的第一个字节是 71H,为什么是71H?
第一个字节的结构如下
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 |
---|---|---|---|---|---|---|---|
E | L | S | D | 0 | 0 | 0 | 1 |
1. E:扩展位
当E=0时使用部颁CDT已定义的帧类别,在SOE报文中,帧类别为26H
当E=1时帧类别可另行定义, 以便扩展功能。
2. L:帧长定义位。
当L=0时表示本帧信息字数n为0, 即本帧没有信息字
3. S:源站地址
在上行信息中,SOE即由子站发送到主站的上行信息,S=1表示控制字中源站址有内容,源站址字节即代表信息始发站的站号,即子站站号;
4. D:目的站地址
在上行信息中,D=1,目的站址字节代表主站站号。
由上述信息可得,E=0,L=1,S=1,D=1,再加上b4~b0为0001,即01110001。所以SOE控制字的第一字节是71H
2.2、B1 帧类别
CDT规约规定时间顺序记录 (E帧)SOE的帧类别代码为26H,
2.3、B2 信息字数n
信息字数n表示该帧中所含信息字数量,即信息字1至信息字n的总数,n=0表示无
信息字。E帧长度不得大于A帧长度
2.4、B3 源站址
即该帧报文发送站的地址,SOE为子站发往主站,在B1控制字节中已经设置S=1,所以这里是子站地址
2.5、B4 目的站地址
即该帧报文送达站地址,在控制字节中已经设置D=1,所以这里是主站地址
2.6、B5 校验码
略
3、SOE的信息格式
SOE信息由两个信息字组成,每个信息字由Bn~Bn+5共6个字节构成:功能码1个字节,信息、数据码4个字节和校验码1个字节,其通用格式如下表所示。
字节顺序 | 字节含义 |
---|---|
Bn | 功能码 |
Bn+1 | 信息、数据 |
Bn+2 | 信息、数据 |
Bn+3 | 信息、数据 |
Bn+4 | 信息、数据 |
Bn+5 | 校验码 |
3.1、SOE的第一个信息字
第一个信息字功能码为80H,具体每个字节含义如下,有部分字节中含有保留位,用x代替,实际为二进制0填充
字节顺序 | 字节含义 |
---|---|
B0 | 80H |
B1 | 毫秒(低字节) b7b6b5b4b3b2b1b0 |
B2 | 毫秒(高字节) xxxxxxb9b8 |
B3 | 秒 xxb5b4b3b2b1b0 |
B4 | 分 xxb5b4b3b2b1b0 |
B5 | 校验码 |
3.2、SOE的第二个信息字
第二个信息字的功能码为81H,具体每个字节含义如下,有部分字节中含有保留位,用x代替,实际为二进制0填充
字节顺序 | 字节含义 |
---|---|
B0 | 81H |
B1 | 时 xxxb4b3b2b1b0 |
B2 | 日 xxxb4b3b2b1b0 |
B3 | 对象号(低字节) b7b6b5b4b3b2b1b0 |
B4 | 合分 b15 xxx 对象号(高字节)b11b10b9b8 |
B5 | 校验码 |
4、实例报文解析
下边是子站发送给主站的一段SOE报文
EB 90 EB 90 EB 90
71 26 06 01 00 D1
80 62 00 38 09 7F
81 0E 04 FF 0F 9F
80 62 00 38 09 7F
81 0E 04 FF 0F 9F
80 62 00 38 09 7F
81 0E 04 FF 0F 9F
根据本文前三小节的解释,可对以上报文做出解析
对象号为4095的开关在 4日14时09分56秒98毫秒 发生 分 事件
报文 | 详细解释 |
---|---|
EB 90 EB 90 EB 90 | 同步字,由三组EB 90组成 |
71 26 06 01 00 D1 | 控制字,71H是控制字节,二进制形式为01110001,由2.1小节,我们可以这一帧报文的帧类别由B1=26决定,就是SOE帧了,当前帧包含(B2=06)个信息字,当前控制字包含了源站地址(B3=1),主站地址(B4=0) |
80 62 00 38 09 7F | 80H 是功能码,由3.1小节可知,该信息字为SOE的第一个信息字,0062H换成二进制位011000100,等于十进制98,38H去除保留位换成十进制为56(秒),09H换成十进制为9(分) |
81 0E 04 FF 0F 9F | 81H 是功能码,该信息字为SOE第二个信息字,0EH十进制为14(时),04H换成十进制为4(日),0FFFH换成十进制为4095(对象号), b15=0,分 |
80 62 00 38 09 7F 81 0E 04 FF 0F 9F 80 62 00 38 09 7F 81 0E 04 FF 0F 9F | 第二次和第三次重复发送的SOE信息 |