电力-104规约实际测试1「建议收藏」

电力-104规约实际测试1「建议收藏」104规约实际测试

大家好,又见面了,我是你们的朋友全栈君。

​ 以太网104规约实际测试1 ​

​ 以太网104规约实际测试2 ​

 以太网104规约实际测试3​​​​​​​

————————————————————————————————————————

调试规约(IEC104V1.0)

一.简介

1.1基本介绍

本规约的标准为国标IEC60870-5-104(2002)

基本定义:端口号2404,站端为客户端,控端为服务器,平衡式传输,2BytE站地址,2BytE传送原因,3BytE信息地址。

1.2事件分配

事件

含义

用途

备注

ASDU01  0x01

M-SP-NA-1:单点信息

总召唤中的遥信

ASDU11  0x0B

M-ME-NB-1:测量值,标度化值

总召唤中的遥测

ASDU30  0x1E

M-SP-TB-1:带时标CP56TimE2A的单点信息

SOE上传

ASDU45  0x2D

C-SC-NA-1:单命令

遥控

ASDU49  0x31

C-SE-NC-1:设定值命令,标度化值

设定值命令

ASDU100  0x64

C-IC-NA-1:总召唤命令

总召唤命令

ASDU102  0x66

C-RD-NA-1:读命令

读定值命令

ASDU103  0x67

C-CS-NA-1:时钟同步命令

时钟同步命令

具体报文及注意事项详见第二章。

————————————————————————————————————————

二.报文流程及示例

2.1 首次握手(U帧)

发送>激活传输启动: 

68(启动符)04(长度) 07(控制域)00 00 00

接收>确认激活传输启动 : 

68(启动符)04(长度)0B(控制域) 00 00 00

2.2 总召唤

召唤YC,YX(可变长I帧)初始化后定时发送总召唤。

发送→总召唤

68 (启动符)0E (长度)00 00(发送序号) 00 00(接收序号) 64(类型标识) 01(可变结构限定词) 06 00 (传送原因)01 00(公共地址即FTU站址) 00 00 00(信息体地址) 14(QOI,区分是总召唤还是分组召唤,02年修改后的规约中没有分组召唤) 

接收→S帧 :

68 04 01 00 02 00

接收→总召唤确认(发送帧的镜像,除传送原因不同)

68 (启动符)0E(长度) 02 00(发送序号) 02 00(接收序号) 64(类型标识) 01(可变结构限定词) 07 00(传送原因) 01 00 (公共地址即FTU站址) 00 00 00(信息体地址)14(同上) 

发送→S帧 :

68 04 01 00 00 00

接收→YX帧(以类型标识1为例) :

68 (启动符)16(长度) 04 00(发送序号) 02 00(接收序号) 01 (类型标识)03(可变结构限定词) 14 00(传送原因) 01 00 (公共地址即FTU站址)01 00 00(遥信地址1) 00 ()02 00 00(遥信地址2) 00() 03 00 00 (遥信地址3)00 ()

发送→S帧 :

68 04 01 00 00 00

接收→YC帧(以类型标识9为例) :

68 (启动符)25 (长度)06 00 (发送序号)02 00(接收序号) 09(类型标识) 88(可变结构限定词) 14 00(传送原因) 01 00(公共地址即FTU站址) 01 40 00 (信息体地址)00 00 (遥测值0)00(品质描述词QDS) 00 00(遥测值0) 00 (品质描述词QDS)00 00 (遥测值0)00 (品质描述词QDS)00 00(遥测值0) 00 (品质描述词QDS)00 00(遥测值0) 00(品质描述词QDS) 00 00 (遥测值0)00(品质描述词QDS) 00 00 (遥测值0)00(品质描述词QDS) 00 00 (遥测值0)00(品质描述词QDS)

发送→S帧 :

68 04 01 00 00 00

接收→结束总召唤帧 :

68 (启动符)0E(长度) 08 00(发送序号) 02 00(接收序号) 64 (类型标识)01(可变结构限定词) 0A 00(传送原因) 01 00 (公共地址即FTU站址)00 00 00(信息体地址) 14(QOI,区分是总召唤还是分组召唤,02年修改后的规约中没有分组召唤) 

2.3 如果FTU有变化数据主动上送

SOE主动上送,类型标识为0x1e,与国标相比,会多上送动作值及通道信息,通道信息在与电流及电压故障相关的SOE中有效。

接收→变位遥信 :

68 (启动符)18(长度) 06 00(发送序号) 00 00 (接收序号)1E(类型标识)01(可变结构限定词)03 00 (传送原因) 00 00(公共地址即FTU站址) 0F 10 00(信息体地址) 01() 0C 0E(毫秒,2个字节) 3A() 0B() 16() 04 () 0F () 00 00 (动作值) 0C(通道信息)

发送→S帧 :

68 04 01 00 1a 00

2.4 发送对时报文

发送→对时命令 :

68 (启动符)14(长度)00 00(发送序号)02 00(接收序号)67(类型标识)01(可变结构限定词)06 00(传送原因)01 00(公共地址即FTU站址) 00 00 00(信息体地址) EC 2E(毫秒,2个字节) 0C() 0C() 0C() 0C() 0C()

接收→对时确认 :

68(启动符)14(长度)0A 00(发送序号)04 00(接收序号)67(类型标识)01(可变结构限定词)07 00(传送原因)01 00(公共地址即FTU站址) 00 00 00(信息体地址) F2 2E (毫秒,2个字节)0C() 0C() 0C() 0C() 0C()

2.5遥控 

本套标准的遥信使用的是单点遥信,因为控制器的开出会自动释放掉,因此不会执行分操作,只有合命令

发送→遥控预置 :

68(启动符)0e(长度)00 00(发送序号)00 00(接收序号)2d(类型标识)01(可变结构限定词)06 00(传送原因)01 00(公共地址即FTU站址) 01 60 00(信息体地址)81(控合)

接收→遥控返校 :

68(启动符)0E(长度)0C 00(发送序号)06 00(接收序号)2d(类型标识)01(可变结构限定词)07 00(传送原因)01 00 (公共地址即FTU站址)01 60 00(信息体地址)81(控合) 

发送→遥控执行 :

68(启动符)0e(长度)00 00(发送序号)00 00(接收序号)2d(类型标识)01(可变结构限定词)06 00(传送原因)01 00(公共地址即FTU站址)01 60 00(信息体地址)01(控合)

接收→执行确认 :

68(启动符)0e(长度)0e 00(发送序号)08 00(接收序号)2d(类型标识)01(可变结构限定词)0a 00(传送原因)01 00(公共地址即FTU站址)01 60 00(信息体地址)01(控合)

发送→遥控撤消 :

68(启动符)0e(长度)02 00(发送序号)02 00(接收序号)2d(类型标识)01(可变结构限定词)08 00(传送原因)01 00(公共地址即FTU站址)01 60 00(信息体地址)01(控合)

接收→撤消确认 :

68(启动符)0e(长度)12 00(发送序号)0a 00(接收序号)2d(类型标识)01(可变结构限定词)09 00(传送原因)01 00(公共地址即FTU站址)01 60 00(信息体地址)01(控合)

2.6遥调

2.6.1读取定值

遥调用于远程读取修改系统的定值,定值上传使用的是ASDU12(短浮点)命令。同时,因为控制器一次最多传送10个定值,因此主站需要一次性读取多个点号的定值时,从站会分多次上送。

2.6.1.1读取单个定值

发送>定值读取

68(启动符)0D(长度)00 00(发送序号)00 00(接收序号)66(类型标识)01(可变结构限定词)05 00(传送原因)01 00(公共地址即FTU站址)0D 50 00(信息体地址) 

接收>定值上传

68(启动符)10(长度)00 00(发送序号)02 00(接收序号)0B(类型标识)01(可变结构限定词)0A 00(传送原因)01 00(公共地址即FTU站址)0D 50 00(信息体地址) 02 00(定值值2) 00(品质因数) 

2.6.1.2读取多个定值

发送>定值读取

68(启动符)0D(长度)00 00(发送序号)00 00(接收序号)66(类型标识)CB(可变结构限定词)05 00(传送原因)0100(公共地址即FTU站址)01 50 00(信息体地址)

接收>定值上传

68(启动符)67(长度)04 00(发送序号)06 00(接收序号)0B(类型标识)9E(可变结构限定词)05 00(传送原因)01 00(公共地址即FTU站址)01 50 00(信息体地址)10 27(定值)00 (品质因数)10 27(定值) 00(品质因数) 10 27(定值) 00(品质因数) 10 27(定值)00 (品质因数)10 27(定值)00 (品质因数)10 27(定值)00(品质因数) 10 27(定值)00(品质因数) 10 27(定值)00 (品质因数)10 27(定值)00(品质因数) 10 27 (定值)00(品质因数) 10 27(定值)00(品质因数)10 27(定值)00(品质因数)02 00(定值)00(品质因数)D0 07(定值)00(品质因数)00 00(定值)00(品质因数)e8 03(定值)00(品质因数)00 00(定值)00(品质因数)00 00(定值)00(品质因数)00 00(定值)00(品质因数)f4 01(定值)00(品质因数)14 00(定值)00(品质因数)00 00(定值)00(品质因数)E8 03(定值)00(品质因数)E8 03(定值)00(品质因数)00 00(定值)00(品质因数)50 46(定值)00(品质因数)64 00(定值)00(品质因数)00 00(定值)00(品质因数)88 13(定值)00(品质因数)64 00(定值)00(品质因数) 

发送→S帧 :

68 04 01 00 00 00

接收>定值上传

68(启动符) 67(长度)06 00(发送序号)06 00(接收序号)0b(类型标识)9E(可变结构限定词)05 00(传送原因)01 00(公共地址即FTU站址)1F 50 00(信息体地址)00 00(定值)00(品质因数) 60 6D(定值)00(品质因数) 64 00(定值)00(品质因数) 00 00(定值)00(品质因数) 03 00(定值)00(品质因数) 0A 00(定值)00(品质因数) 64 00(定值)00(品质因数) C8 00(定值)00(品质因数) B8 0B(定值)00(品质因数) 00 00(定值)00(品质因数) 00 00(定值)00(品质因数) 00 00(定值)00(品质因数) E8 03(定值)00(品质因数) 00 00(定值)00(品质因数) 01 00(定值)00(品质因数) 14 00(定值)00(品质因数) 01 00(定值)00(品质因数) 14 00(定值)00(品质因数) 01 00(定值)00(品质因数) 01 00(定值)00(品质因数) 0F 00(定值)00(品质因数) 00 00(定值)00(品质因数) 01 00(定值)00(品质因数) 01 00(定值)00(品质因数) 64 00(定值)00(品质因数) 64 00(定值)00(品质因数) 30 75(定值)00(品质因数) E8 03(定值)00(品质因数) 01 00(定值)00(品质因数) 03 00(定值)00(品质因数) 

发送→S帧 :

68 04 01 00 00 00

接收>定值上传 

68(启动符)3A(长度)08 00(发送序号)06 00(接收序号)0B(类型标识)8F(可变结构限定词)0a 00(传送原因)01 00(公共地址即FTU站址)3D 50 00(信息体地址)00 00(定值)00(品质因数) 00 00(定值)00(品质因数) 01 00(定值)00(品质因数) A1 69(定值)00(品质因数) 14 00(定值)00(品质因数) AA 00(定值)00(品质因数) 4F 00(定值)00(品质因数) E7 00(定值)00(品质因数) 01 00(定值)00(品质因数) 00 00(定值)00(品质因数) 88 13(定值)00(品质因数) C8 00(定值)00(品质因数) 00 00(定值)00(品质因数) 50 46(定值)00(品质因数) C8 00(定值)00(品质因数)

2.6.2修改定值

2.6.2.1单点设置

发送>修改定值

68(启动符)10(长度)02 00(发送序号)04 00(接收序号)31(类型标识)01(可变结构限定词)0A 00(传送原因)01 00(公共地址即FTU站址)0D 50 00(信息体地址)02 00(定值)00(品质因数)

接收>定值修改完成并上传 

68(启动符)10(长度)00 00(发送序号)02 00(接收序号)31(类型标识)01(可变结构限定词)07 00(传送原因)01 00(公共地址即FTU站址)0D 50 00(信息体地址)02 00(定值)00(品质因数)

2.6.2.2多点设置

发送>修改定值:

68(启动符)67(长度)00 00(发送序号)02 00(接收序号)31(类型标识)9E(可变结构限定词)06 00(传送原因)01 00(公共地址即FTU站址)01 50 00(信息体地址)10 27(定值)00(品质因数)10 27(定值)00(品质因数)10 27(定值)00(品质因数)10 27(定值)00(品质因数)10 27(定值)00(品质因数)10 27(定值)00(品质因数)10 27(定值)00(品质因数)10 27(定值)00(品质因数)10 27(定值)00(品质因数)10 27(定值)00(品质因数)10 27(定值)00(品质因数)10 27(定值)00(品质因数)00 00(定值)00(品质因数)D0 07(定值)00(品质因数)00 00(定值)00(品质因数)E8 03(定值)00(品质因数)00 00(定值)00(品质因数)00 00(定值)00(品质因数)00 00(定值)00(品质因数)F4 01(定值)00(品质因数)14 00(定值)00(品质因数)00 00(定值)00(品质因数)E8 03(定值)00(品质因数)E8 03(定值)00(品质因数)00 00(定值)00(品质因数)50 46(定值)00(品质因数)64 00(定值)00(品质因数)00 00(定值)00(品质因数)88 13(定值)00(品质因数)64 00(定值)00(品质因数)

接收>定值修改完成并上传:

68(启动符)67(长度)04 00(发送序号)06 00(接收序号)31(类型标识)1E(可变结构限定词)07 00(传送原因)01 00(公共地址即FTU站址)01 50 00(信息体地址)10 27(定值)00(品质因数)10 27(定值)00(品质因数)10 27(定值)00(品质因数)10 27(定值)00(品质因数)10 27(定值)00(品质因数)10 27(定值)00(品质因数)10 27(定值)00(品质因数)10 27(定值)00(品质因数)10 27(定值)00(品质因数)10 27(定值)00(品质因数)10 27(定值)00(品质因数)10 27(定值)00(品质因数)00 00(定值)00(品质因数)D0 07(定值)00(品质因数)00 00(定值)00(品质因数)E8 03(定值)00(品质因数)00 00(定值)00(品质因数)00 00(定值)00(品质因数)00 00(定值)00(品质因数)F4 01(定值)00(品质因数)14 00(定值)00(品质因数)00 00(定值)00(品质因数)E8 03(定值)00(品质因数)E8 03(定值)00(品质因数)00 00(定值)00(品质因数)50 46(定值)00(品质因数)64 00(定值)00(品质因数)00 00(定值)00(品质因数)88 13(定值)00(品质因数)64 00(定值)00(品质因数)

2.7测试

如果主站超过一定时间没有下发报文或RTU也没有上送任何报文则双方都可以按频率发送U帧,测试帧

发送→U帧 :

68  04  43  00  00  00

接收→应答 :

68  04  83  00  00  00

————————————————————————————————————————

三.超时设定

参数

默认值

备注

选择值

t0

30s

连接建立的超时

 

t1

15s

发送或测试APDU的超时

 

t2

10s

无数据报文t2

 

t3

20s

长期空闲t3 >t1状态下发送测试帧的超时

 

T0 连接建立的超时,指主站端一直发出连接请求,在30秒内得不到连接建立成功的状态下,要向应用层提示,说明无法建立连接,一般可设置进行多次连接,当每次连接都超过30秒无法建立成功时给出提示。(当前控制器为服务器模式,此计数未用)

T1 发送或测试APDU的超时,指当发送一个APDU帧时,开始T1计时,在15秒内,如果得不到对方通过I帧或S帧的确认时,连接将被重新建立。这个过程是双向的,即对于厂站端和主站端当这个过程任一方发生时,两方的连接都需关闭,重新建立连接。

T2 发送报文的确认超时,指当收到一个I格式报文时,需要在0-10秒内给予确认。如果没有确认就可能发生T1超时,而从新建立连接。(T2未用)

T3 发送测试帧的超时,指当厂站端和主站端在无I格式数据需要发送,也无S格式帧进行确认时,数据链路空闲达到20秒,发送U格式TESTFR帧,以确定数据链路是否连通。发送测试帧后,若在T1时间内没有收到测试确认,则连接关闭,若达到20秒,则再次发送TESTFR帧。若在T3时间内收到I格式帧、S格式帧、U格式帧则计时计数器重新触发。

————————————————————————————————————————

四.IEC 60870-5-104规定的K值和W值

当报文接收方收到发送方的I格式报文后,如果没有I格式报文需要发送给对方,可以向对方发送S格式报文以对所接收到的报文进行确认;
为了防止I格式报文在传送过程中丢失或重复传送 ,IEC 60870-5-104的I格式报文的控制域定义了发送序号N(S)和接收序号R(S),发送方每发送一个I格式报文,其发送序号应加1,接收方每接收到一个与其接收序号相等的I格式报文后,其接收序号也应加1。需要注意的是,每次重新建立TCP连接后,调度主站和子站RTU的接收序号和发送序号都应清零,因此在双方开始数据传送后,接收方若收到一个I格式报文,应判断此I格式报文的发送序号是否等于自己的接收序号。若相等则应将自己接收序号加1,若此 I格式报文的发送序号大于自己的接收序号,这说明发送方发送的一些报文出现了丢失;若此I格式报文的发送序号小于自己的接收序号,这意味着发送方出现了重复传送。此外,I格式和S格式报文的接收序号表明了发送该报文的一方对已接收到的I格式报文的确认,若发送方发送的某一I格式报文后长时间无法在对方的接收序号中得到确认,这就意味着发生了报文丢失。当出现上述这些报文丢失、错序的情况时,通常意味着TCP连接出现了问题,发送方或接收方应关闭现在的 TCP连接然后再重新建立新的TCP连接,并在新的TCP连接上重新开始会话过程。在主站端和子站RTU端进行通信时,接收方可以使用S格式报文(当有应用服务单元需要发送给对方时,可使用I格式报文)对已接收到的I格式报文进行确认,以免发送方超时收不到确认信息而重新建立TCP连接。这就存在一个接收方收到多少个I格式报文进行一次确认的问题,以及发送方应在多少个I格式报文未得到确认时停止发送数据。IEC 60870-5-104规定了两个参数k和w,其取值范围为1到32767,其中k表示发送方在有k个I格式报文未得到对方的确认时,将停止数据传送,w 表示接收方最迟在接收了w个I格式报文后应发出认可;IEC 60870-5-104规定k和w的默认值分别为12个APDU和8个APDU。在实际中,k和w的具体取值可以根据TCP连接双方的数据通信量来加以确定,对于子站RTU端来说,每收到一个调度端的I格式报文都应立即进行响应,其w的取值实际上为1,由于RTU端可以循环向调度端发送遥信、遥测等信息,因此k的取值与其循环发送的定时周期有关,通常12到20APDU就足够了;对于主站端,由于不停接收到RTU的数据,因此应及时地给以确认,通常w取小于8个APDU的值。

————————————————————————————————————————

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151396.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号