CDT(Cycle Distance Transmission)规约,即循环式远动规约,规定了电网数据的采集与监控系统中循环式远动规约的功能、帧结构、信息字结构和传输规则等。
CDT规约适合点对点的远动通道结构及以循环字节同步方式传送远动信息的远动设备与系统;也适合于调度所间以循环式远动规约转发实时远动信息的系统。
CDT规约可以看作是应用层协议,在底层一般用RS485。
CDT规约特点:
帧结构如下:
同步字 | 控制字 | 信息字1 | …… | 信息字N |
---|
同步字为固定的6个字节(H表示16进制):
EBH | 90H | EBH | 90H | EBH | 90H |
---|
控制字也是6个字节:
控制字节 | 帧类别 | 信息字数 | 源站址 | 目的站址 | 校验码 |
---|
信息字的数量由控制字中的信息字数决定。
控制字中的控制字节的8位分别为:
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 |
---|---|---|---|---|---|---|---|
E | L | S | D | 0 | 0 | 0 | 1 |
E: 扩展位。
E=0 时使用已定义的帧类别;
E=1 时帧类别可另行定义,以便扩展功能。
L: 帧长度定义位。
L=0表示本帧没有信息字;
L=1 表示本帧有信息字。
S:源站址定义位
S=1表示控制字中源站址有内容;
S=0表示控制字中源站址无意义。
D:目的站址定义位
D=1表示控制字中目的站址有内容;
上行信息中D=0表示目的站址无意义;下行信息中D=0表示控制字中目的站址字节内容为FFH,即广播命令,所有站同时并执行此命令。
控制字中的帧类别代码定义如下:
帧类别代码 | 上行 E=0 | 下行 E=0 |
---|---|---|
61H | 重要遥测(A帧) | 遥控选择 |
C2H | 次要遥测(B帧) | 遥控执行 |
B3H | 一般遥测(C帧) | 遥控撤消 |
F4H | 遥信状态(D1帧) | 升降选择 |
85H | 电能脉冲记数值(D2帧) | 升降执行 |
26H | 事件顺序记录(E帧) | 升降撤消 |
57H | 设定命令 | |
A8H | ||
D9H | ||
7AH | 设置时钟 | |
0BH | 设置时钟校正值 | |
4CH | 召唤子站时钟 | |
3DH | 复归命令 | |
9EH | 广播命令 | |
EFH |
控制字中的信息字数n表示该帧中所含信息字数量,即信息字1至信息字N的总数,n=0表示无信息字。
控制字中的校验码是用CRC校验,具体说明请参考CDT规约之CRC8校验。
每个信息字也是6个字节,如下。功能码1个字节,信息数据码4个字节和校验码1个字节。
功能码 | 信息数据 | 信息数据 | 信息数据 | 信息数据 | 校验码 |
---|
功能码有256个(00H~FFH),分别代表不同信息用途,具体如下表:
功能码代码 | 信息字个数 | 用途 | 信息位数 | 容量 |
---|---|---|---|---|
00H~7FH | 128 | 遥测 | 16 | 256 |
80H~81H | 2 | 事项顺序记录 | 64 | 4096 |
82H~83H | 备用 | |||
84H~85H | 2 | 子站时钟返送(上行) | 64 | 1 |
86H~89H | 4 | 总加遥测 | 16 | 8 |
8AH | 1 | 频率 | 16 | 2 |
8BH | 1 | 复归命令(下行) | 16 | 16 |
8CH | 1 | 广播命令(下行) | 16 | 16 |
8DH~92H | 6 | 水位 | 24 | 6 |
93H~9FH | 备用 | |||
A0H~DFH | 64 | 电能脉冲记数值 | 32 | 64 |
E0H | 1 | 遥控选择(下行) | 32 | 256 |
E1H | 1 | 遥控返校(上行) | 32 | 256 |
E2H | 1 | 遥控执行(下行) | 32 | 256 |
E3H | 1 | 遥控撤消(下行) | 32 | 256 |
E4H | 1 | 升降选择(下行) | 32 | 256 |
E5H | 1 | 升降返校(上行) | 32 | 256 |
E6H | 1 | 升降执行(下行) | 32 | 256 |
E7H | 1 | 升降撤消(下行) | 32 | 256 |
E8H | 1 | 设置命令(下行) | 32 | 256 |
E9H | 1 | 备用 | ||
EAH | 1 | 备用 | ||
EBH | 1 | 备用 | ||
ECH | 1 | 子站状态信息 | 32 | 1 |
EDH | 1 | 设置时钟校正值(下行) | 32 | 1 |
EEH~EFH | 2 | 设置时钟(下行) | 64 | 1 |
F0H~FFH | 16 | 遥信 | 32 | 512 |
具体每个不同功能的信息字对应的格式这里举一例,其他就不一一列举了,有需要就去查规范就可以了。
以遥测信息字为例,其为6个字节:
字节序号 | 内容 | 解释 |
---|---|---|
1 | 功能码 | 从00H~7FH中选一个 |
2 | 信息数据 | 模拟量1低8位(b7~b0) |
3 | 信息数据 | 模拟量1高8位(b15~b8) |
4 | 信息数据 | 模拟量2低8位(b7~b0) |
5 | 信息数据 | 模拟量2高8位(b15~b8) |
6 | 校验码 | CRC校验码 |
每个信息字可以传送两个遥测量,一个16位。其中b11~b0传送模拟量数值,以二进制码表示,b11=0时为正数,b11=1时为负数,用补码表示;b12和b13没有用;b14=1表示溢出;b15=1表示此模拟量无效。
下面是一段报文:
EB 90 EB 90 EB 90
71 61 10 01 00 F7
01 D9 27 A8 61 33
02 4F 16 30 2A 82
.......
0F 7F 13 93 01 E9
10 B1 24 DD 09 C7
可以看到首先是同步字,三组EB 90。
然后是控制字,控制字中的控制字节为71H,即01110001B,对应L=1,有信息字,S=1,有源站址,D=1,有目的站址。控制字中的帧类别为 61H,说明是A帧遥测。控制字中的信息字数目为 10H,即有16个信息字。后面的01是源站址,00是目的站址。F7H是校验码,可以用CDT规约之CRC8校验中的程序验算。
再接下来就是信息字了。一共16个,中间省略了,其功能码从01H发到10H,正好16个。