大家好,又见面了,我是你们的朋友全栈君。
调试规约(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值
————————————————————————————————————————
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151396.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...