IEC608705102规约解析.docx
《IEC608705102规约解析.docx》由会员分享,可在线阅读,更多相关《IEC608705102规约解析.docx(28页珍藏版)》请在冰豆网上搜索。
![IEC608705102规约解析.docx](https://file1.bdocx.com/fileroot1/2022-11/21/ef6ef7c9-8a71-4186-bb63-8d84d76e56d0/ef6ef7c9-8a71-4186-bb63-8d84d76e56d01.gif)
IEC608705102规约解析
IEC60870-5-102
规约解析
——部颁DL/T719-2000
文件状态
文件标识
[]草稿
当前版本
Ver4.01
[]正在修改
起草
[]试运行
签发
[√]正式发布
发布日期
北京煜邦电力技术有限公司
1.帧格式
1)单字符
长度:
1字节
E5
2)定长帧
长度:
6字节
启动字符(10H)
用户数据区
控制域C
地址域AL
地址域AH
帧校验CS
结束符16H
3)变长帧
长度:
L+6字节(小于256)
启动字符(68H)
L
L
启动字符(68H)
用户数据区
控制域C
地址域AL
地址域AH
ASDU*
校验和CS
结束字符16H
说明:
a)单字符用于子站向主站传输的确认(肯定或否定);
b)控制域是用来区别不同的帧和数据传输方向的单字节,详见第二节;
c)地址域是链路地址(一般是RTU编号),2字节,低字节在前,高字节在后;
d)帧校验是用户数据区的各字节的算术和对256的模;
e)变长帧中的L为用户数据区的长度,2个L相等;
f)变长帧中的ASDU为应用服务数据单元,详见第三节;
g)数据传输方式:
是异步传输方式,11位,其中启动位为二进制0,数据位8位,一个偶校验位,一个停止位。
2.链路层解析—控制域
控制域包含了传输方向、传输状态以及链路功能类型等信息,1字节,各个位定义如下:
1)主站侧
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
0
1
FCB
FCV
功能码
FCB位:
主站确认子站已收到命令帧并发送下一帧命令帧的时候,要将FCB位取反,表示是一帧新的命令帧;否则,保持FCB位不变,表示要求子站重发上一帧数据。
FCV位:
FCV位取0,表示不需要考虑FCB为是否取反,此时FCB位应该取0;反之,FCV位取1,表示FCB位取反有效,子站通过FCB位的状态判断下一步做什么,重发或者是继续。
功能码:
表示链路功能命令,即子站从链路层判断需要执行什么操作。
code
FT
FUCTION
FCV
0x00
发送/确认帧
复位通信单元CU
0
0x03
发送/确认帧
下发数据命令
1(变长)
0x09
请求/响应
召唤链路状态
0
0x0A
请求/响应
召唤I级用户数据
1
0x0B
请求/响应
召唤II级用户数据
1
I级用户数据:
历史数据;
II级用户数据;
最近一次采集的电能数据;如果在下一次采集电能数据之前再次召唤II级用户数据,子站应该返回“没有所召唤的数据”,即,II级用户数据上传之后就不再是II级用户数据了。
功能码0x00,0x09,0x0A,0x0B用于定长帧;功能码0x03用于变长帧,下发召唤数据命令。
2)子站侧
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
0
0
ACD
DFC
功能码
ACD位:
ACD位取1表示子站有I级用户数据等待上传,主站接收数据完成之后应该发送召唤I级用户数据命令;反之,ACD位取0表示子站待传数据已全部上传完成。
DFC位:
DFC位是数据流控制位,取0表示子站可接收数据,取1表示子站缓冲区已满,无法接收数据。
功能码:
code
FT
FUCTION
0x00
确认帧
响应链路复位
0x01
确认帧
链路忙,没收到报文
0x08
响应帧
以数据响应请求帧(变长)
0x09
响应帧
没有所召唤的数据
0x0B
响应帧
响应请求链路状态
功能码0x00,0x01,0x09,0x0B用于定长帧;功能码0x08用于变长帧,上传数据。
3.应用层解析—ASDU
1)ASDU结构
数据单元标识符(6Bytes)
类型标识
可变结构限定词(VSQ)
传输原因(COT)
ADDRL
虚拟设备地址
ADDRH
记录地址(RAD)
数据区
信息体地址(IOA)
信息体1
信息元素集
时间
信息体地址(IOA)
信息体n
信息体n
时间
2)ASDU类型标识
1字节,在主站侧表示的是主站召唤的数据类型,例如子站系统时间、子站单点信息、子站电能数据,等等;在子站侧表示的是子站上传的信息元素的类型。
ASDU类型标识的详细清单如下。
ASDU类型标识详细定义
主站侧:
标识
功能
注释
100
读制造厂和产品规范
101
读带时标的单点信息的记录
102
读一个选定时间范围的带时标的单点信息的记录
常用
103
读采集器的当前系统时间
常用
104
读最早累计时段的积分电能量—表底值
常用
120
读选定时间范围、选定地址范围的积分电能量—表底值
常用
121
读选定时间范围、选定地址范围的积分电能量—增量值
128
时钟同步
常用
170
读指定地址范围和时间范围的复费率积分电能量—表底值
常用
171
读指定地址范围的遥测量当前值
常用
172
读指定累计时段、选定地址范围的遥测量
子站侧:
标识
功能
注释
1
带时标的单点信息
常用
2
积分电能量—表底值,4字节
常用
5
积分电能量—增量值,4字节
70
初始化结束
常用
71
采集器的制造厂和产品规范
72
采集器的当前系统时间
常用
128
时钟同步
常用
160
复费率积分电能量—表底值,4字节
常用
161
遥测量当前值
常用
162
遥测量历史值
3)可变结构限定词(VSQ)
1字节,低7位表示信息体数目,最高位是寻址方法位SQ位。
SQ取0,表示后面的每个信息体都有信息体地址,VSQ取值0-127;SQ取1,表示只有第一个信息体有信息体地址,后续的信息体是连续的,VSQ取值128-255。
4)传输原因(COT)
1字节,已使用的COT类型如下:
COT
解释
方向(下面为发出方)
4
初始化
子站侧
5
请求/被请求
主站侧/子站侧
6
激活
主站侧
7
激活确认
子站侧
8
停止激活
主站侧
9
停止激活确认
子站侧
10
激活终止
子站侧
13
无所请求数据
子站侧
14
无所请求的ASDU类型
子站侧
15
记录地址错误
子站侧
16
虚拟设备地址错误
子站侧
17
无所请求的信息体
子站侧
18
无所请求的累计时段
子站侧
48
时钟同步
主站侧/子站侧
在主站侧,COT表示命令的请求方式,例如,是请求应答(COT=5)还是激活上传数据(COT=6);在子站测,COT表示应答方式,以及是否有数据待传。
5)虚拟设备地址
2字节,指虚拟RTU设备地址,一般在终端的采集量超过255个才使用。
可以将采集量分组,每组即是一个虚拟RTU设备。
采用虚拟RTU设备,可以针对不同需求的主站上传不同的数据,做到数据隔离,节省信道资源,并且起到数据保密功能。
在没有设置虚拟RTU设备的情况下,虚拟设备地址一般取0。
6)记录地址(RAD)
1字节,用来表示同类数据的不同缓冲区类型,已使用的RAD类型如下:
RAD
解释
0
缺省
11
电能累计量累计时段1
12
电能累计量累计时段2
13
电能累计量累计时段3
51
全部单点信息
52
单点信息记录区段1(一般指终端设备的单点信息)
53
单点信息记录区段2(一般指电能表的单点信息)
7)信息体
在不同的主站命令帧和子站上传数据帧中,信息体有不同的结构,具体解释在第4、5两节。
8)时间表示
a)时间信息a
5字节,表示年、月、日、时、分,以及周,具体定义如下:
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
分
0
0
分(0-59)
时
0
备用(0)
时(0-23)
周/日
周(1-7)
日(1-31)
月
(未使用)
(未使用)
月(1-12)
年
(0)
年(0-99)
用于电能数据、分时电量和遥测量历史数据的时标。
b)时间信息b
7字节,表示年、月、日、时、分、秒、毫秒,以及周,具体定义如下:
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
毫秒
毫秒(包括秒字节低两位,共10位)(0-999)
秒
秒(0-59)
毫秒
分
0
0
分(0-59)
时
0
备用(0)
时(0-23)
周/日
周(1-7)
日(1-31)
月
(未使用)
(未使用)
月(1-12)
年
(0)
年(0-99)
用于单点信息的时标,以及子站系统时间。
4.主站命令结构
只选取包含信息体元素或者常用的ASDU类型。
ASDU类型
VSQ
COT
RAD
信息体
102-单点信息
1
6
0/51/52/53
起始和结束时间,时间信息a
103-子站时钟
0
5
0
无
120-电能量
1
6
0/11/12/13
起始和结束地址(取值1-255);
起始和结束时间,时间信息a
128-时钟同步
1
48
0
主站系统时间,时间信息b
5.子站数据结构
1)单点信息
每条单点信息的信息体包含9字节,定义如下:
信息体地址(SPA),1字节
详见单点信息地址表
单点信息限定词(SPQ),高7位
单点信息状态(SPI),低1位
详见单点信息地址表
时间信息b
单点信息地址表
终端事件:
事件
SPA
SPQ
SPI
退出系统
180
3
0
启动系统
1
3
0
时钟同步
7
5
0
修改参数
15
1
0
电源故障
3
1
0
电池故障
4
1
0
硬件故障
8
1
0
打印机故障
8
33
0
通讯模块故障
8
49
0
电能表事件:
事件
SPA
SPQ
SPI
通讯失败
128
电能表序号
1
通讯恢复
128
电能表序号
0
PT失压(发生)
A:
135
电能表序号
未使用
B:
136
C:
137
断相(发生)
A:
129
电能表序号
未使用
B:
130
C:
131
过压(发生)
A:
132
电能表序号
未使用
B:
133
C:
134
2)电能数据
信息体1
……
信息体n
公共时标
每个累计时段的电能数据分别组帧,公共时标用时间信息a表示,位于全部信息体的后面;每个电能数据信息体包含7字节,定义如下:
信息体地址
1字节
电能数据
4字节
帧计数
1字节
电能数据校验
1字节
信息体地址对应在子站注册的采集量的编号,取值1-255。
帧计数字节定义如下:
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
数据状态
0
0
帧计数
数据状态位表示信息体中的电能数据是否为有效数据,0为有效,1为无效。
帧计数在上传电能数据、分时电量、遥测量时使用,每上传完成一个累计时段的数据,帧计数加1;如果同一累计时段的数据需要分帧上传,帧计数不变。
电能数据校验是保护电能数据有效的另一个标志,是计算ASDU类型标识、虚拟设备地址、记录地址、信息体地址、电能累计量、帧计数、以及公共时标个字节的算术和取256的模。
?
?
?
3)分时电量
帧结构与电能数据基本相同,差别在于信息体的结构不同;信息体共包含27字节,具体定义如下:
信息体地址
1字节
分时电量数据
24字节
帧计数
1字节
电能数据校验
1字节
除了分时电量数据之外,定义与电能数据信息体中一致;分时电量数据定义如下:
总电量(4字节)
费率1(4字节)—尖
费率2(4字节)—峰
费率3(4字节)—平
费率4(4字节)—谷
费率5(4字节)—暂未使用
4)遥测量
信息体1
……
信息体n
公共时标
历史数据帧包含公共时标,瞬时数据帧中没有。
每个遥测量信息体包含6字节,定义如下:
信息体地址
1字节
遥测量数据
4字节
数据状态
1字节
信息体地址的定义请参考附录C,取值1-255。
数据状态字节定义如下:
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
数据状态
保留(0)
数据状态位表示信息体中的遥测量数据是否为有效数据,0为有效,1为无效。
6.报文示例
RTU地址1。
1)链路层通讯
a)复位链路单元
主站:
104001004116
子站:
102001002116
主站:
107A01007B16
子站:
680B0B6808010046010401000000025716
下面开始解析:
主站:
10//帧头
40//控制字C0x40=01000000
0
1
0
0
0
0
0
0
保留
下行
FCB
FCV=0,表示关闭FCB功能
功能码:
0x0,复位通信单元
0100//地址,低位在前
41//校验和
16//帧尾
子站:
10//帧头
20//控制字C0x20=00100000
0
0
1
0
0
0
0
0
保留
上行
ACD=1,表示有I级数据等待上传。
DFC=0,表示子站可接收数据。
功能码:
0x0,确认帧,响应链路复位。
0100//地址
21//校验和
16//帧尾
主站:
10//帧头
7A//控制字C0x7A=01111010
0
1
1
1
1
0
1
0
保留
下行
FCB=1,取反,要求子站发下一帧。
FCV=1,表示启用FCB功能
功能码:
0xA,召唤I级用户数据
0100//地址
7B//校验和
16//帧尾
子站:
68//帧头
0B//帧长
0B//帧长,重复一次。
68//帧头,表示帧头结束。
08//控制字,0x08=00001000
0
0
0
0
1
0
0
0
保留
上行
ACD=0,表示子站无数据上传。
DFCV=0,表示子站能够接收数据。
功能码:
0x8,以数据响应请求帧
0100//链路地址
//ASDU开始
//4601040100000002
46//类型标识,表示初始化结束。
01//VSQ=0x01,SQ位=0,表示后面每个信息体都有地址,共
//一个信息体。
04//初始化
0100//RTU地址
00//RAD,记录地址,0表示缺省。
0002//信息体,解释?
?
?
?
?
//ASDU结束
57//校验和
16//结束字符
b)召唤链路状态
主站:
104901004A16
子站:
100B01000C16
下面开始解析:
主站:
10//帧头
49//控制字,0x49=01001001
0
1
0
0
1
0
0
1
保留
下行
FCB
FCV=0,表示关闭FCB功能
功能码:
0x9,召唤链路状态
0100//RTU地址
4A//校验和
16//帧尾
子站:
10//帧头
0B//控制字,0x0B=00001011
0
0
0
0
1
0
1
1
保留
上行
ACD=0,表示无数据上传
DFC=0,表示子站能够接收数据。
功能码:
0xB,召唤链路状态
0100//RTU地址
0C//校验和
16
2)读取子站系统时间
主站:
68090968730100670005010000E116
子站:
E5
主站:
105A01005B16
子站时间:
05年6月13日,星期一,13时21分59秒。
子站:
6810106808010048010501000000EC150D2D06059E16
下面开始解析:
主站:
68090968
73//控制字,0x73=01110011
0100//RTU地址
//ASDU开始
67//类型标识,0x67=103,读采集器的当前系统时间
00//VSQ,
05//COT,请求
0100//ADDR
00//RAD
//ASDU结束
E1//校验和
16
子站:
E5//子站回复该字符,表示子站已收到。
主站:
10
5A//0x5A=01011010
0
1
0
1
1
0
1
0
保留
下行
FCB,翻转该位表示新命令
FCV=1,表示启用FCB功能
功能码:
0xA,
请求1类数据?
0100
5B
16
子站时间:
05年6月13日,星期一,13时21分59秒。
子站:
68101068
08//控制字0x08=00001000
0
0
0
0
1
0
0
0
保留
上行
ACD=0,表示数据上传完毕。
DFC=0,表示子站可接收数据。
功能码:
0x8,响应帧,以数据响应请求帧。
0100//RTU地址
48//类型标识,0x48=72,采集器的当前系统时间
01//VSQ
05//COT,被请求
0100//RTUADDRESS
00//RAD,缺省。
//00EC150D2D0605//时间,7字节。
//二进制表示为
//00EC150D2D0605
//00000000111011000001100100001101001011010000011000001001
毫秒00秒59分时13周1日13月6年05
21分?
9E//校验和
16//帧结束符
3)子站系统时钟同步
主站时间:
05年06月13日,星期一,13时37分37秒。
主站:
681010687301008001300100000094250D2D06052416
子站:
E5
主站:
105A01005B16
子站:
681010680801008001300100000094250D2D0605B916
下面开始解析:
主站:
68101068
73//其中,后4bits=0x3表示:
下发数据命令。
0100//RTU
80//ASDU类型标识,0x80=128,时钟同步。
01//VSQ
30//COT
0100//RTU
00//RAD
0094250D2D0605//新时间
24
16
子站:
E5
主站:
105A01005B16
子站:
681010680801008001300100000094250D2D0605B916
4)采集单点信息
累计时段:
05年06月14日00时00分-05年06月14日14时00分。
主站:
6813136873010066010601000000000E0605000E0E06052216
子站:
E5
主站:
105A01005B16
子站:
6813136808010066010701000000000E0605000E0E0605B816(镜像帧确认)
主站:
107A01007B16
子站:
68F3F368080100011A05010000010600C4150A4E0605800300E4190A4E0605800500E4190A4E0605800700E4190A4E0605800900E4190A4E0605800B00E4190A4E0605800D00E4190A4E0605800F00E4190A4E0605801100E4190A4E0605801300E4190A4E0605801500E4190A4E0605801700E4190A4E0605801900E4190A4E0605801B00E4190A4E0605801D00E4190A4E06050F020074370A4E06050F020084370A4E06050F020084370A4E0605B4060084370A4E0605010600C0370A4E0605800300E0000B4E0605800500E0000B4E0605800700E0000B4E0605800900E0000B4E0605800B00E0000B4E0605800D00E0000B4E06050B16
主站:
105A01005B16
子站