Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说电力行业cdt,101,104规约_国网电力设备预防性试验规程,希望能够帮助你!!!。
一、简介
1.1基本介绍
1.2事件分配
二、报文流程及示例
2.1 首次握手(U帧)
2.2 总召唤
2.3 如果FTU有变化数据主动上送
2.4 发送对时报文
2.5遥控
2.6遥调
2.6.1读取定值
2.6.2修改定值
2.7测试帧
三、超时设定
四、IEC104规定的K值和W值
侧重于IEC60870-5-101:电力IEC101/104规约基础1
侧重于IEC60870-5-104:电力IEC101/104规约基础2
以太网IEC 60870-5-104规约实际测试1
以太网IEC 60870-5-104规约实际测试2
以太网IEC 60870-5-104规约实际测试3
本规约的标准为国标IEC60870-5-104(2002)
基本定义:端口号2404,站端为客户端,控端为服务器,平衡式传输,2BytE站地址,2BytE传送原因,3BytE信息地址。
事件 |
含义 |
用途 |
备注 |
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:时钟同步命令 |
时钟同步命令 |
具体报文及注意事项详见第二章。
发送>激活传输启动:
68(启动符)04(长度) 07(控制域)00 00 00
接收>确认激活传输启动 :
68(启动符)04(长度)0B(控制域) 00 00 00
召唤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年修改后的规约中没有分组召唤)
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
发送→对时命令 :
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(年)
本套标准的遥信使用的是单点遥信,因为控制器的开出会自动释放掉,因此不会执行分操作,只有合命令
发送→遥控预置 :
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(控合)
遥调用于远程读取修改系统的定值,定值上传使用的是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.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(品质因数)
如果主站超过一定时间没有下发报文或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格式帧则计时计数器重新触发。
1、当报文接收方收到发送方的I格式报文后,如果没有I格式报文需要发送给对方,可以向对方发送S格式报文以对所接收到的报文进行确认;为了防止I格式报文在传送过程中丢失或重复传送 ,IEC 60870-5-104的I格式报文的控制域定义了发送序号N(S)和接收序号R(S),发送方每发送一个I格式报文,其发送序号应加1,接收方每接收到一个与其接收序号相等的I格式报文后,其接收序号也应加1。
2、需要注意的是,每次重新建立TCP连接后,调度主站和子站RTU的接收序号和发送序号都应清零,因此在双方开始数据传送后,接收方若收到一个I格式报文,应判断此I格式报文的发送序号是否等于自己的接收序号。若相等则应将自己接收序号加1,若此 I格式报文的发送序号大于自己的接收序号,这说明发送方发送的一些报文出现了丢失;若此I格式报文的发送序号小于自己的接收序号,这意味着发送方出现了重复传送。
3、此外,I格式和S格式报文的接收序号表明了发送该报文的一方对已接收到的I格式报文的确认,若发送方发送的某一I格式报文后长时间无法在对方的接收序号中得到确认,这就意味着发生了报文丢失。当出现上述这些报文丢失、错序的情况时,通常意味着TCP连接出现了问题,发送方或接收方应关闭现在的 TCP连接然后再重新建立新的TCP连接,并在新的TCP连接上重新开始会话过程。
4、在主站端和子站RTU端进行通信时,接收方可以使用S格式报文(当有应用服务单元需要发送给对方时,可使用I格式报文)对已接收到的I格式报文进行确认,以免发送方超时收不到确认信息而重新建立TCP连接。这就存在一个接收方收到多少个I格式报文进行一次确认的问题,以及发送方应在多少个I格式报文未得到确认时停止发送数据。
5、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的值。
无人扶我青云志,我自踏雪至山巅。觉得不错,动动发财的小手点个赞哦!
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章