电力102规约报文解析
来源:互联网 发布:淘宝详情页制作教程 编辑:程序博客网 时间:2024/04/29 15:55
IEC102 应用报文分6大类:通讯连接,读时钟,读历史数据,读实时数据,读事件信息,对时。
传输过程的启动仅限于某一固定点,在规约中主站端为启动站,而电能计量数据终端设备位于计数站,始终为从动站。本系统中的1 级用户数据包括较早时段存储起来的电量和读—应用服务数据单元请求的全部信息。本系统中的数据采用低字节在前,高字节在后的传输方式。
102报文的基本格式:
帧长可以变化102报文的基本格式:
102报文的基本说明:
a) 单字符用于子站向主站传输的确认(肯定或否定);
b) 控制域是用来区别不同的帧和数据传输方向的单字节,详见第二节;
c) 地址域是链路地址(一般是RTU编号),2字节,低字节在前,高字节在后;
d) 帧校验是用户数据区的各字节的算术和对256的模;
e) 变长帧中的L为用户数据区的长度,2个L相等;
f) 变长帧中的ASDU为应用服务数据单元,详见第三节;
g) 数据传输方式:是异步传输方式,11位,其中启动位为二进制0,数据位8位,一个偶校验位,一个停止位。
1. 链路层解析—控制域
控制域包含了传输方向、传输状态以及链路功能类型等信息,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用于变长帧,上传数据。
2. 应用层解析—ASDU
1) ASDU结构
数据单元标识符(6 Bytes)
类型标识
可变结构限定词(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)
用于单点信息的时标,以及子站系统时间。
3. 主站命令结构
只选取包含信息体元素或者常用的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
4. 子站数据结构
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为无效。
报文示例:
68 15 15 68 53 01 00 78 01 06 01 00 0B 01 0A 0F 00 12 03 0F 15 00 12 03 0F 56 16
15H:指的是从控制域开始到校验码之前的字节个数,共计15H=21个字节
报文分析
68 15 15 68 //帧头
53 //控制域
01 00 //RTU地址
78
01
06 //激活
01 00 //RTU地址
0B
01 //起始点01,第1个点
0A //结束点0A,第10个点
0F 00 12 03 0F //起始时间0F(15分) 00(0时) 12(18日) 03(3月) 0F(15年)
15 00 12 03 0F //结束时间15(21分) 00(0时) 12(18日) 03(3月) 0F(15年)
56 //校验和
16 //帧尾
10 5A 01 00 5B 16
10
5A //召唤I级数据
01 00 //RTU地址
5B //校验和
16 //帧尾
68 15 15 68 28 01 00 78 01 07 01 00 0B 01 08 0F 00 92 03 0F 14 00 92 03 0F 29 16
68 15 15 68 //帧头
28 //控制域
01 00 //RTU地址
78
01
07 //激活确认
01 00 //RTU地址
0B
01 //起始点01,第1个点
08 //结束点08,第8个点(此时采集器实际就只有前8个点)
0F 00 92 03 0F
//起始时间0F(15分)00(0时)92(1001 0010高3位星期4,低5位18日) 03(3月) 0F(15年)
14 00 92 03 0F
//结束时间14(20分)00(0时)92(1001 0010高3位星期4,低5位18日) 03(3月) 0F(15年)
- 电力102规约报文解析
- IEC102报文详解(电力规约)
- IEC102报文详解(电力规约)
- IEC104 电力规约解析
- IEC104 电力规约解析
- TH-600电力远动报文规约分析仪
- 电力101/104规约文件服务报文浅析
- 广东标准102规约报文
- DLT645-2007 规约 电表 报文解析
- 电力信息采集的通用型通信规约解析系统研究与设计
- IEC103规约报文举例
- 电力104规约的一些学习
- Q / GDW 376.1—2009电力用户用电信息采集系统通信协议报文解析示例
- 电力101/104规约中遥测量类型转换
- 密码 报文分析 规约对比(97-07)
- DL/T645规约解析
- 继电保护装置规约104规约解析
- 报文解析
- Linux初学之文件映射
- C++——1913: 成绩评估
- 单链表的循环
- 疯狂Java学习笔记(42)----------HashTable,HashMap和HashSet
- asp.net系统中根据经纬度坐标,直接调用google地图,显示位置
- 电力102规约报文解析
- set up test environment
- 猜牌问题
- KEIL工具之编译优化选项
- 枚举(enum)的使用
- cookie和session
- 怎么写一个递归程序
- Java-----2、理解面向对象
- ATM自助取款机与CDM自助存款机工作原理