电力101/104规约文件服务报文浅析

C++ 专栏收录该内容
10 篇文章 0 订阅

引言

国家电网公司配网101/104规约(试行)新增了读写定值区号、读写参数和定值、文件传输、软件升级等功能,本文拟结合平衡101规约或104规约通信过程中的实际报文解析“文件传输”交互过程,以便理解文件传输功能的实现原理。

对于文件服务报文,101规约和104规约仅APCI部分不同,ASDU部分相同。以下实例报文中,除写文件报文来源于平衡101规约外,其余报文均来源于104规约通信。

参考标准:国家电网公司《配电自动化系统应用DLT634.5101-2002实施细则(试行)》《配电自动化系统应用DLT634.5104-2009实施细则(试行)》

1.文件服务报文结构(104规约)

这里写图片描述
其中信息对象定义如下:
这里写图片描述
各类文件服务的附加数据包格式不同。

2.召唤文件目录服务报文

2.1文件目录召唤

这里写图片描述

报文实例:
这里写图片描述

2.2目录召唤确认

这里写图片描述

报文实例:
这里写图片描述

3.读文件服务报文

3.1读文件激活

这里写图片描述

报文实例:

Phy   68 32 06 00 0E 00 D2 00 06 00 01 00 00 00 00 02 03 22 42 41 59 30 30 5F 30 30 30 30 5F 32 30 31 37 30 39 32 35 5F 31 37 32 36 31 35 5F 31 34 33 2E 63 66 67
Dat   APDU长度L=50 I帧 发送序列号NS=3 接收序列号NR=7
App  类型标识符TI=文件传输(210)
        可变帧长限定词VSQ=0
        传送原因COT=激活(6)   源发站地址=00(0)
        ASDU公共地址=01 00(1)
        信息对象地址IOA=0x0(0)
            附加数据包类型=文件传输(2)
            操作标识=读文件激活(3)
            文件名称=BAY00_0000_20170925_172615_143.cfg 

3.2读文件激活确认

这里写图片描述

报文实例:

Phy   68 3B 0E 00 08 00 D2 01 07 00 01 00 00 00 00 02 04 00 22 42 41 59 30 30 5F 30 30 30 30 5F 32 30 31 37 30 39 32 35 5F 31 37 32 36 31 35 5F 31 34 33 2E 63 66 67 00 00 00 00 D4 05 00 00
Dat   APDU长度L=59 I帧 发送序列号NS=7 接收序列号NR=4
App  类型标识符TI=文件传输(210)
        可变帧长限定词VSQ=1
        传送原因COT=激活确认(7)   源发站地址=00(0)
        ASDU公共地址=01 00(1)
        信息对象地址IOA=0x0(0)
            附加数据包类型=文件传输(2)
            操作标识=读文件激活确认(4)
            结果描述字=成功(0)
            文件名称=BAY00_0000_20170925_172615_143.cfg
            文件ID=0 文件大小=1492    

3.3读文件数据传输

这里写图片描述

报文实例:

Phy   68 AF 10 00 08 00 D2 01 05 00 01 00 00 00 00 02 05 00 00 00 00 00 00 00 00 01 50 52 53 2D 33 30 30 30 2C 31 30 31 2C 31 39 39 39 0D 0A 33 38 2C 39 41 2C 32 39 44 0D 0A 31 2C 30 2D 49 61 31 2C 41 2C 2C 41 2C 30 2E 30 30 32 35 30 30 2C 30 2E 30 30 30 30 30 30 2C 30 2E 30 30 30 30 30 30 2C 2D 33 32 37 36 37 2C 33 32 37 36 37 2C 31 30 30 30 2C 31 2C 53 0D 0A 32 2C 31 2D 49 62 31 2C 42 2C 2C 41 2C 30 2E 30 30 32 35 30 30 2C 30 2E 30 30 30 30 30 30 2C 30 2E 30 30 30 30 30 30 2C 2D 33 32 37 36 37 2C 33 32 37 36 37 2C 31 30 30 30 04
Dat   APDU长度L=175 I帧 发送序列号NS=8 接收序列号NR=4
App  类型标识符TI=文件传输(210)
        可变帧长限定词VSQ=1
        传送原因COT=请求或者被请求(5)   源发站地址=00(0)
        ASDU公共地址=01 00(1)
        信息对象地址IOA=0x0(0)
            附加数据包类型=文件传输(2)
            操作标识=读文件数据(5)
            文件ID=0 数据段号=0 后续标志=有后续(1)
            文件数据=文件校验正确,校验码04   

----中间报文省略----

Phy   68 A7 22 00 08 00 D2 01 05 00 01 00 00 00 00 02 05 00 00 00 00 46 05 00 00 00 5F C1 AA C2 E7 BF AA B9 D8 BA CF D5 A2 B6 AF D7 F7 2C 20 2C 20 2C 30 0D 0A 33 31 2C 33 5F 32 39 5F 31 CF DF C2 B7 B9 FD B8 BA BA C9 32 B6 CE 2C 20 2C 20 2C 30 0D 0A 35 30 0D 0A 31 0D 0A 34 30 30 30 2C 38 30 34 0D 0A 30 39 2F 32 35 2F 32 30 31 37 2C 31 37 3A 32 36 3A 31 35 2E 30 36 33 30 30 30 0D 0A 30 39 2F 32 35 2F 32 30 31 37 2C 31 37 3A 32 36 3A 31 35 2E 31 34 33 30 30 30 0D 0A 42 49 4E 41 52 59 0D 0A 31 2E 30 30 0D 0A EB
Dat   APDU长度L=167 I帧 发送序列号NS=17 接收序列号NR=4
App  类型标识符TI=文件传输(210)
        可变帧长限定词VSQ=1
        传送原因COT=请求或者被请求(5)   源发站地址=00(0)
        ASDU公共地址=01 00(1)
        信息对象地址IOA=0x0(0)
            附加数据包类型=文件传输(2)
            操作标识=读文件数据(5)
            文件ID=0 数据段号=1350 后续标志=无后续(0)
            文件数据=文件校验正确,校验码EB   

3.4读文件数据传输确认

这里写图片描述

报文实例:

Phy   68 18 08 00 24 00 D2 01 05 00 01 00 00 00 00 02 06 00 00 00 00 D4 05 00 00 00
Dat   APDU长度L=24 I帧 发送序列号NS=4 接收序列号NR=18
App  类型标识符TI=文件传输(210)
        可变帧长限定词VSQ=1
        传送原因COT=请求或者被请求(5)   源发站地址=00(0)
        ASDU公共地址=01 00(1)
        信息对象地址IOA=0x0(0)
            附加数据包类型=文件传输(2)
            操作标识=读文件数据响应(6)
            文件ID=0 数据段号=1492 后续标志=无后续(0)    

4.写文件服务报文

注意:以下实例报文来自平衡101规约通信过程。

4.1写文件激活

这里写图片描述

报文实例:

Phy   68 27 27 68 F3 01 00 D2 00 06 00 01 00 00 00 02 07 11 53 72 31 32 30 30 46 74 75 5F 41 72 6D 2E 6F 75 74 00 00 00 00 08 C7 28 00 9A 16
Dat   可变帧长格式
        报文长度L=39 传输方向DIR=1(主站下行报文) 启动标志位PRM=1(启动报文) 帧计数位FCB=1 帧计数有效位FCV=1 链路功能码FC=3(发送/确认:用户数据)
        地址域=01 00(1)
        帧校验和CS=9A
App  类型标识符TI=文件传输(210)
        可变帧长限定词VSQ=0
        传送原因COT=激活(6)   源发站地址=00(0)
        ASDU公共地址=01 00(1)
        信息对象地址IOA=0x0(0)
            附加数据包类型=文件传输(2)
            操作标识=写文件激活(7)
            文件名称=Sr1200Ftu_Arm.out
            文件ID=00000000
            文件大小=2672392    

4.2写文件激活确认

这里写图片描述

报文实例:

Phy   68 28 28 68 53 01 00 D2 01 07 00 01 00 00 00 02 08 00 11 53 72 31 32 30 30 46 74 75 5F 41 72 6D 2E 6F 75 74 00 00 00 00 08 C7 28 00 FD 16
Dat   可变帧长格式
        报文长度L=40 传输方向DIR=0(终端上行报文) 启动标志位PRM=1(启动报文) 帧计数位FCB=0 帧计数有效位FCV=1 链路功能码FC=3(发送/确认:用户数据)
        地址域=01 00(1)
        帧校验和CS=FD
App  类型标识符TI=文件传输(210)
        可变帧长限定词VSQ=1
        传送原因COT=激活确认(7)   源发站地址=00(0)
        ASDU公共地址=01 00(1)
        信息对象地址IOA=0x0(0)
            附加数据包类型=文件传输(2)
            操作标识=写文件激活确认(8)
            结果描述字=成功(0)
            文件名称=Sr1200Ftu_Arm.out
            文件ID=0 文件大小=2672392 

4.3写文件数据传输

这里写图片描述

报文实例:

Phy   68 FC FC 68 D3 01 00 D2 00 05 00 01 00 00 00 02 09 00 00 00 00 00 00 00 00 01 7F 45 4C 46 01 01 01 61 00 00 00 00 00 00 00 00 01 00 28 00 01 00 00 00 00 00 00 00 00 00 00 00 AC 79 1D 00 00 00 00 00 34 00 00 00 00 00 28 00 12 00 0F 00 01 18 A0 E1 02 28 A0 E1 FF 00 00 E2 30 40 2D E9 41 18 A0 E1 42 58 A0 E1 06 00 50 E3 00 F1 9F 97 32 00 00 EA 40 00 00 00 50 00 00 00 68 00 00 00 80 00 00 00 90 00 00 00 A0 00 00 00 B0 00 00 00 01 18 B0 E1 30 80 BD 18 D4 40 9F E5 33 00 00 EA 01 38 A0 E1 23 18 A0 E1 08 00 51 E3 30 80 BD 88 C0 20 9F E5 2F 00 00 EA 01 38 A0 E1 23 18 A0 E1 01 00 51 E3 30 80 BD 88 AC 20 9F E5 2F 00 00 EA 01 18 B0 E1 30 80 BD 18 A0 40 9F E5 33 00 00 EA 01 18 B0 E1 30 80 BD 18 94 40 9F E5 33 00 00 EA 01 18 B0 E1 30 80 BD 18 88 40 9F E5 33 00 00 EA 01 16 E4 16
Dat   可变帧长格式
        报文长度L=252 传输方向DIR=1(主站下行报文) 启动标志位PRM=1(启动报文) 帧计数位FCB=0 帧计数有效位FCV=1 链路功能码FC=3(发送/确认:用户数据)
        地址域=01 00(1)
        帧校验和CS=E4
App  类型标识符TI=文件传输(210)
        可变帧长限定词VSQ=0
        传送原因COT=请求或者被请求(5)   源发站地址=00(0)
        ASDU公共地址=01 00(1)
        信息对象地址IOA=0x0(0)
            附加数据包类型=文件传输(2)
            操作标识=写文件数据(9)
            文件ID=00000000 数据段号=0 后续标志=有后续(1)
            文件数据=文件校验正确,校验码16   

----中间报文省略----

Phy   68 D6 D6 68 F3 01 00 D2 00 05 00 01 00 00 00 02 09 00 00 00 00 49 C6 28 00 00 6C 5F 52 75 6E 4D 61 69 6E 54 61 69 6E 5F 53 65 6E 64 5F 49 67 69 5F 4F 76 65 72 00 52 6C 79 5F 49 45 43 31 30 31 5F 52 65 63 69 65 76 65 00 65 6E 75 6D 53 74 72 54 79 70 65 00 55 61 72 74 44 72 76 5F 54 78 53 74 61 72 74 75 70 00 67 5F 62 79 4C 6F 67 4E 6F 31 35 38 38 00 47 52 6C 79 5F 52 53 52 65 6C 61 79 00 52 65 63 5F 4C 6F 61 64 48 69 73 74 6F 72 79 00 67 5F 70 74 4C 70 73 63 31 52 65 67 00 44 73 70 5F 49 6E 74 65 72 5F 4B 4F 44 65 62 75 67 00 4C 6F 63 61 6C 5F 52 75 6E 4D 61 69 6E 54 61 69 6E 5F 53 65 6E 64 5F 4C 69 6E 6B 5F 53 68 6F 72 74 5F 46 72 61 6D 65 00 D0 AE 16
Dat   可变帧长格式
        报文长度L=214 传输方向DIR=1(主站下行报文) 启动标志位PRM=1(启动报文) 帧计数位FCB=1 帧计数有效位FCV=1 链路功能码FC=3(发送/确认:用户数据)
        地址域=01 00(1)
        帧校验和CS=AE
App  类型标识符TI=文件传输(210)
        可变帧长限定词VSQ=0
        传送原因COT=请求或者被请求(5)   源发站地址=00(0)
        ASDU公共地址=01 00(1)
        信息对象地址IOA=0x0(0)
            附加数据包类型=文件传输(2)
            操作标识=写文件数据(9)
            文件ID=00000000 数据段号=2672201 后续标志=无后续(0)
            文件数据=文件校验正确,校验码D0   

4.4写文件数据传输确认

这里写图片描述

报文实例:

Phy   68 16 16 68 53 01 00 D2 01 05 00 01 00 00 00 02 0A 00 00 00 00 08 C7 28 00 00 30 16
Dat   可变帧长格式
        报文长度L=22 传输方向DIR=0(终端上行报文) 启动标志位PRM=1(启动报文) 帧计数位FCB=0 帧计数有效位FCV=1 链路功能码FC=3(发送/确认:用户数据)
        地址域=01 00(1)
        帧校验和CS=30
App  类型标识符TI=文件传输(210)
        可变帧长限定词VSQ=1
        传送原因COT=请求或者被请求(5)   源发站地址=00(0)
        ASDU公共地址=01 00(1)
        信息对象地址IOA=0x0(0)
            附加数据包类型=文件传输(2)
            操作标识=写文件数据响应(10)
            文件ID=0 数据段号=2672392     结果描述字=成功(0)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- IEC-60870-5-104:应用模型是:物理层,链路层,网络层,传输层,应用层 物理层保证数据的正确送达,保证如何避免冲突。(物理层利用如 RS232上利用全双工) 链路层负责具体对那个slave的通讯,对于成功与否,是否重传由链路层控制(RS485 2线利用禁止链路层确认) 应用层负责具体的一些应用,如问全数据还是单点数据还是类数据等(网络利用CSMA/CD等保证避免冲突的发生) --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 基本定义:端口号2404,站端为Server 控端为Client,平衡式传输,2Byte站地址,2Byte传送原因,3Byte信息地址。 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 注: APDU 应用规约数据单元(整个数据) = APCI 应用规约控制信息(固定6个字节) + ASDU 应用服务数据单元(长度可变) --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- APDU长度(系统-特定参数,指定每个系统APDU的最大长度)APDU的最大长度域为253(缺省)。视具体系统最大长度可以压缩。 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 【1个例子】 104报文分析 BUF序 0 1 2 3 4 5 6 7 8 9 .10 11 12 13 14 15 16 17 18 19 20 21 22 M->R:68 15 10 00 02 00 1E 01 03 00 01 00 79 00 00 01 10 01 24 13 D2 0A 02 分析的结果是I (主动上报SOE,主动上报是因为104是平衡式规约报文头固定为0x68,即十进制104 长度15字节(不是6帧的,都是I帧) 发送序号=8【控制字节的解析 10 00 02 00 ,发送序号:0010H/2=16/2=8】 接收序号=1 【控制字节的解析 10 00 02 00 ,接收序号:0002H/2=2/2 =1】
©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值