加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

IEC104规约调试小结

(2018-05-11 08:44:19)
标签:

365

目录:

一、IEC-60870-5-104的实施过程

1、TCP连接的建立过程

2、循环遥测数据传送

3、总召唤过程

4、校时过程

5、子站事件主动上传

6、遥控/遥调过程

7、召唤电度过程

8、关于报文重复和丢失的处理机制

9、关于超时的定义

二、四遥信息体基地址范围

三、一些报文字节数的设置 

四、以公共地址字节数=2、传输原因字节数=2、信息体地址字节数=3为例基本报文分析

第一步:首次握手(U帧)

第二步:总召唤(I帧)

第三步发送对时报文

第四步电度总召唤

第五步如果RTU有变化数据主动上送

1)主动上送变位遥信,类型标识为1或3

2)主动上送SOE,类型标识为0x1e或0x1f

第六步发送测试帧

第七步遥控

五、补充说明

六、参考

1、远动传输规约之IEC60870-5-104篇

2、104规约中定时器超时和报文错乱丢失处理方案

3、IEC104规约报文说明(有文件操作,较详细)


-----------------------------------------------------------------------------------------------------------

一、IEC-60870-5-104的实施过程
1、TCP连接的建立过程

站端RTU作为服务器,在建立TCP连接前,应一直处于侦听状态并等待调度端的连接请求,当TCP连接已经建立,则应持续地监测TCP连接的状态,以便TCP连接被关闭后能重新进入侦听状态并初始化一些与TCP连接状态有关的程序变量;调度端作为客户机,在建立TCP连接前,应不断地向站端RTU发出连接请求,一旦连接请求被接收,则应监测TCP连接的状态,以便TCP连接被关闭后重新发出连接请求。需要注意的是,每次连接被建立后,调度端和站端RTU应将发送和接收序号清零,并且子站只有在收到了调度系统的STARTDT后,才能响应数据召唤以及循环上送数据,但在收到STARTDT之前,子站对于遥控、设点等命令仍然应进行响应。

-----------------------------------
2、循环遥测数据传送

对于遥测量,可以使用类型标识为9(归一化值)、11(标度化值)和13(短浮点数)的ASDU定时循环向调度端发送。

-----------------------------------
3、总召唤过程

调度主站向子站发送总召唤命令帧(类型标识为100,传输原因为6),子站向主站发送总召唤命令确认帧(类型标识为100,传输原因为7),然后子站向主站发送单点遥信帧(类型标识为1)和双点遥信帧(类型标识为3),最后向主站发送总召唤命令结束帧(类型标识为100,传输原因为10)。

-----------------------------------
4、校时过程

调度主站向子站发送时间同步帧(类型标识为104,传输原因6),子站收到后立即更新系统时钟并向主站发送时间同步确认帧(类型标识为104,传输原因7)。需要注意的是,在以太网上进行时钟同步,要求最大的网络延时小于接收站时钟所要求的准确度,即如果网络提供者保证在网络中的延时不会超过400ms(典型的X.25 WAN值),在子站所要求的准确度为1s,这样时钟同步才有效。使用这个校时过程可以避免成百上千地在子站安装GPS卫星定位系统,但如果网络延时很大或者子站所要求的准确度很高(例如1ms),则变电站综合自动化系统必须安装精确度很高的全球定位系统(GPS),而以上的时钟同步过程实际上就没有意义了。

-----------------------------------
5、子站事件主动上传

以太网对于调度端和子站端都是一个全双工高速网络,因此IEC6080-5-104必然使用平衡式传输。当子站发生了突发事件,子站将根据具体情况主动向主站发送下述报文:遥信变位帧(单点遥信类型标识为1, 双点遥信类型标识为3,传输原因为3)、遥信SOE帧(单点遥信类型标识为30, 双点遥信类型标识为31,传输原因为3)、调压变分接头状态变化帧(类型标识为32,传输原因为3)、继电保护装置事件(类型标识为38)、继电保护装置成组启动事件(类型标识为39)、继电保护装置成组输出电路信息(类型标识为40)。

-----------------------------------
6、遥控/遥调过程

主站发送遥控/遥调选择命令(类型标识为46/47,传输原因为6,S/E=1),子站返回遥控/遥调返校(类型标识为46/47,传输原因为7,S/E=1),主站下发遥控/遥调执行命令(类型标识为46/47,传输原因为6,S/E=0),子站返回遥控/遥调执行确认(类型标识为46/47,传输原因为7,S/E=0),当遥控/遥调操作执行完毕后,子站返回遥控/遥调操作结束命令(类型标识为46/47,传输原因为10,S/E=0)。

-----------------------------------
7、召唤电度过程

主站发送电度量冻结命令(类型标识为101,传输原因为6),子站返回电度量冻结确认(类型标识为101,传输原因为7),然后子站发送电度量数据(类型标识为15,传输原因为37),最后子站发送电度量召唤结束命令(类型标识为101,传输原因为10)。

-----------------------------------

8、关于报文重复和丢失的处理机制

http://s4/mw690/001gz4SZzy7j2DPaFEf63&690

发送序号和接收序号是连续编码的偶数,用于保证信息的正确性和完整性。但序号的增加终究要溢出,即65534(0xFFFE)之后的序号将会变成0,而接收方对接收序号不连续的I帧将会丢弃。104规约规定,连续出现12帧接收序号不连续的情况,104的服务端将会中止当前通信,等待104的客户端重新建立连接。这个序列号不连续的阈值在不同的变电站远动机中的设置并不相同。

主站下发启动激活报文的目的是在接收序号大于某个设定值(比如0xEEC0)时,通知终端清零,接收序号和发送序号重新开始计数。大部分终端在数据正常传输进(己经是启动状态),只是向主站应答启动,激活确认帧68 04 0B 00 00 00,而上传的I帧中的发送序号依旧正常计数。这种处理方式并没有违反规约,但它导致了主站报“接收序列号不连续”错误,并且主站接下来会连续下发发送序号从0开始计数的总召、对时等I格式帧,终端接收后也会因接收序号不连续、错误次数越阈值而关闭本次会话。主站被迫从头与终端建立连接、会话和数据传输,主站画面的数据刷新需要经过较长时间才能恢复正常。

主站只采用下发启动激活报文、试图清零双方的I格式通信帧序号的方法不妥。根据104规约,主站应在下发激活报文之前下发停止激活报文68 04 13 00 00 00。

需要注意的是,每次重新建立TCP连接后,调度主站和子站RTU的接收序号和发送序号都应清零,因此在双方开始数据传送后,接收方若收到一个I格式报文,应判断此I格式报文的发送序号是否等于自己的接收序号。若相等则应将自己接收序号加1,若此I格式报文的发送序号大于自己的接收序号,这说明发送方发送的一些报文出现了丢失;若此I格式报文的发送序号小于自己的接收序号,这意味着发送方出现了重复传送。此外,I格式和S格式报文的接收序号表明了发送该报文的一方对已接收到的I格式报文的确认,若发送方发送的某一I格式报文后长时间无法在对方的接收序号中得到确认,这就意味着发生了报文丢失。当出现上述这些报文丢失、错序的情况时,通常意味着TCP连接出现了问题,发送方或接收方应关闭现在的TCP连接然后再重新建立新的TCP连接,并在新的TCP连接上重新开始会话过程。

-----------------------------------

9、关于超时的定义

http://s2/mw690/001gz4SZzy7j2D6sTgB81&690

-----------------------------------------------------------------------------------------------------------

二、四遥信息体基地址范围

“可设置104调度规约”有1997年和2002年两个版本,在流程上没有什么变化,02版只是在97版上扩展了遥测、遥信等信息体基体址,区别如下:

类别

1997版基地址

2002版基地址

遥信

1H-----400H

1H-----4000H

遥测

701H-----900H

4001H-----5000H

遥控

B01H-----B80H

6001H-----6100H

设点

B81H-----COOH

6201H-----6400H

电度

C01H-----C80H

6401H-----6600H

 

-----------------------------------------------------------------------------------------------------------

三、一些报文字节数的设置 

类别

配置方式

公共地址字节数

2

传输原因字节数

2

信息体地址字节数

3

此配置要根据主站来定,有的主站可能设为1,1,2,我们要改与主站一致。

 

-----------------------------------------------------------------------------------------------------------

四、以公共地址字节数=2、传输原因字节数=2、信息体地址字节数=3为例基本报文分析。

下面的报文以1997版说明。

U帧-Undefin未编号的控制功能类型,I帧-Information信息传输格式类型,S帧-Scout编号的监视功能类型

第一步:首次握手(U帧)

发送→激活传输启动         68启动符04长度07控制域00  00  00

接收→确认激活传输启动 : 68启动符04长度0B控制域00  00  00

-----------------------------------

第二步:总召唤(I帧)

召唤遥测YC、遥信YX(可变长I帧)初始化后定时发送总召唤,每次总召唤的间隔时间一般设为15分钟召唤一次,不同的主站系统设置不同。

发送→总召唤     

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

接收→S帧 :

注意:记录接收到的长帧,双方可以按频率发送,比如接收8帧I帧回答一帧S帧,也可以要求接收1帧I帧就应答1帧S帧。

68  04  01  00  02  00

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

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

发送→S帧 :

注意:记录接收到的长帧,双方可以按频率发送,比如接收8帧I帧回答一帧S帧,也可以要求接收1帧I帧就应答1帧S帧。

68  04  01  00  02  00

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

68启动符1A长度02  00发送序号02  00接收序号01类型标示,单点遥信04可变结构限定词,有4个遥信上送14  00传输原因,响应总召唤01  00公共地址即RTU地址03 00 00信息体地址,第3号遥信00遥信分

////////////////////////////////////////////////////////////////////////////////////////////////////////////

发送→S帧 :

68  04  01  00  04  00

接收→遥信YX帧(以类型标识3双点遥信为例) :

68启动符1E长度04  00发送序号02  00接收序号03类型标示,双点遥信05可变结构限定词,有5个遥信上送14  00传输原因,响应总召唤) 01  00公共地址01 00 00信息体地址,第1号遥信02遥信合06 00 00信息体地址,第6号遥信02遥信合0A 00 00信息体地址,第10号遥信01遥信分0B 00 00信息体地址,第11号遥信02遥信合0C 00 00信息体地址,第12号遥信01遥信分

     ///////////////////////////////////////////////////////////////////////////////////////////////////////////

发送→S帧 :

68  04  01  00  06  00

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

68启动符13长度06  00发送序号02  00接收序号09类型标示,带品质描述的遥测规一化测量值82可变结构限定词,有2个连续遥测上送14  00传输原因,响应总召唤01  00公共地址01 07 00信息体地址,从0X0701开始第0号遥测A1 10遥测值10A100品质描述89 15遥测值158900品质描述

发送→S帧 :

68  04  01  00  08  00

接收→结束总召唤帧 :

68启动符0E长度08  00发送序号02  00接收序号64类型标示01可变结构限定词0A  00传输原因01  00公共地址00 00 00信息体地址14同上

发送→S帧 :

68  04  01  00  0A  00

-----------------------------------

第三步发送对时报文(通过设置RTU参数表中的”对时间隔”,单位是分钟,一般是20分钟)

发送→对时命令 :

68启动符14长度02  00发送序号0A  00接收序号67类型标示01可变结构限定词06  00传输原因01  00公共地址00 00 00信息体地址01毫秒低位02毫秒高位03分钟0481日与星期0905

接收→对时确认 :

68启动符14长度0C  00发送序号02  00接收序号67类型标示01可变结构限定词07  00传输原因01  00公共地址00 00 00信息体地址**毫秒低位**毫秒高位28分钟1081日与星期0318 

发送→S帧 :

68  04  01  00  0E  00

-----------------------------------

第四步电度总召唤(如果没有电度此步骤可以省略且可以在对时之前以送.通过设置参数中”全数据扫描间隔”,单位是分钟一般是15分钟召唤一次,如果不需要召唤电度一定要将参数中的电度个数设为0)

发送→召唤电度 :

68启动符0E长度04  00发送序号0E  00接收序号65类型标示01可变结构限定词06  00传输原因01  00公共地址00 00 00信息体地址45QCC

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

68启动符0E长度10  00发送序号06  00接收序号65类型标示01可变结构限定词07  00传输原因01  00公共地址00 00 00信息体地址45QCC

发送→S帧 :

68  04  01  00  12  00

接收→电度数据 :

68启动符1A长度12  00发送序号06  00接收序号0F类型标示02可变结构限定词,有两个电度量上送05  00传输原因01  00公共地址01 0C 00信息体地址,从0X0C01开始第0号电度00 00 00 00电度值00描述信息02 0C 00信息体地址,从0X0C01开始第1号电度00 00 00 00电度值01描述信息

发送→S帧 :

68  04  01  00  14  00

接收→结束总召唤帧 :

68启动符0E长度14  00发送序号06  00接收序号65类型标示01可变结构限定词0A  00传输原因01  00公共地址00 00 00信息体地址45QCC

发送→S帧 :

68  04  01  00  16  00

-----------------------------------

第五步如果RTU有变化数据主动上送

      1)主动上送变位遥信,类型标识为1或3

接收→变位遥信 :

68启动符0E长度16  00发送序号06  00接收序号01类型标示,单点遥信01可变结构限定词,有1个变位遥信上送03  00传输原因,表突发事件01  00公共地址即RTU地址03 00 00信息体地址,第3号遥信00遥信分

发送→S帧 :

68  04  01  00  18  00

接收→变位遥信 :

68启动符0E长度18  00发送序号06  00接收序号03类型标示,双点遥信01可变结构限定词,有1个变位遥信上送03  00传输原因,表突发事件01  00公共地址即RTU地址06 00 00信息体地址,第6号遥信01遥信分

发送→S帧 :

68  04  01  00  1a  00

-------------------

2)主动上送SOE,类型标识为0x1e或0x1f

接收→SOE :

68启动符15长度1a  00发送序号06  00接收序号1e类型标示,单点遥信01可变结构限定词,有1个SOE03  00传输原因,表突发事件01  00公共地址即RTU地址08 00 00信息体地址,第8号遥信00遥信分ad毫秒低位39毫秒高位1c分钟107a日与星期0b05

发送→S帧 :

68  04  01  00  1c  00

接收→SOE :

68启动符15长度1c  00发送序号06  00接收序号1f类型标示,双点遥信01可变结构限定词,有1个SOE03  00传输原因,表突发事件01  00公共地址即RTU地址0a 00 00信息体地址,第10遥信01遥信分2f毫秒低位40毫秒高位1c分钟107a日与星期0b05

-----------------------------------

第六步:发送测试帧

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

发送→U帧 :

68  04  43  00  00  00

接收→应答 :

68  04  83  00  00  00

-----------------------------------

第七步遥控

发送→遥控预置 :

68启动符0e长度20  00发送序号06  00接收序号2e类型标示01可变结构限定词06  00传输原因01  00公共地址即RTU地址05 0b 00信息体地址,遥控号=0xb05-0xb01=482控合

接收→遥控返校 :

68启动符0e长度0e  00发送序号06  00接收序号2e类型标示01可变结构限定词07  00传输原因01  00公共地址即RTU地址05 0b 00信息体地址,遥控号=0xb05-0xb01=482控合

发送→遥控执行 :

68启动符0e长度04  00发送序号18  00接收序号2e类型标示01可变结构限定词06  00传输原因01  00公共地址即RTU地址05 0b 00信息体地址,遥控号=0xb05-0xb01=402控合

接收→执行确认 :

68启动符0e长度12  00发送序号08  00接收序号2e类型标示01可变结构限定词07  00传输原因01  00公共地址即RTU地址05 0b 00信息体地址,遥控号=0xb05-0xb01=402控合

发送→遥控撤消 :

68启动符0e长度04  00发送序号18  00接收序号2e类型标示01可变结构限定词08  00传输原因01  00公共地址即RTU地址05 0b 00信息体地址,遥控号=0xb05-0xb01=402控合

接收→撤消确认 :

68启动符0e长度12  00发送序号08  00接收序号2e类型标示01可变结构限定词09  00传输原因01  00公共地址即RTU地址05 0b 00信息体地址,遥控号=0xb05-0xb01=402控合

 

-----------------------------------------------------------------------------------------------------------

五、补充说明

1、报文中的长度指的是除启动字符与长度字节的所有字节。

-----------------------------------

2、注意长帧报文中的“发送序号”与“接收序号”具有抗报文丢失功能。

-----------------------------------

3、常用的类型标识:

遥测:09———带品质描述的规一化测量值,每个遥测值占3个字节

0a———带3个字节时标的且具有品质描述的测量值,每个遥测值占6个字节

0b———不带时标的标度化值,每个遥测值占3个字节

0c———带3个时标的标度化值,每个遥测值占6个字节

0d———带品质描述的浮点测量值,每个遥测值占5个字节

0e———带3个字节时标且具有品质描述的浮点值,每个遥测值占8个字节

15———不带品质描述的遥测值,每个遥测值占2个字节

遥信: 01———不带时标的单点遥信,每个遥信占1个字节

03———不带时标的双点遥信,每个遥信占1个字节

14———具有状态变位检出的成组单点遥信,每个字节8个遥信

SOE: 02———带3个字节短时标的单点遥信

04———带3个字节短时标的双点遥信

1e———带7个字节时标的单点遥信

04———带7个字节时标的双点遥信

KWH: 0f———不带时标的电能量,每个电能量占5个字节

10———带3个字节短时标的电能量,每个电能量占8个字节

25———带7个字节短时标的电能量,每个电能量占12个字节

其他:

2e———双点遥控

2f———双点遥调

64———召唤全数据

65———召唤全电度

67———时钟同步

-----------------------------------

4、常用的传送原因列表:

1———周期、循环

2———背景扫描

3———突发

4———初始化

5———请求或被请求

6———激活

7———激活确认

8———停止激活

9———停止激活确认

0a———激活结束

14———响应总召唤


-----------------------------------------------------------------------------------------------------------

六、参考

1、远动传输规约之IEC60870-5-104篇

2、104规约中定时器超时和报文错乱丢失处理方案

3、IEC104规约报文说明(有文件操作,较详细)

----------------------------------------------------------------------------------------------------------

分享: 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有