IEC104规约调试小结

标签:
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
第六步:发送测试帧
第七步:遥控
五、补充说明
六、参考
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帧)
发送→激活传输启动
接收→确认激活传输启动 :
-----------------------------------
第二步:总召唤(I帧)
召唤遥测YC、遥信YX(可变长I帧)初始化后定时发送总召唤,每次总召唤的间隔时间一般设为15分钟召唤一次,不同的主站系统设置不同。
发送→总召唤
68(启动符)0E(长度)00
接收→S帧 :
注意:记录接收到的长帧,双方可以按频率发送,比如接收8帧I帧回答一帧S帧,也可以要求接收1帧I帧就应答1帧S帧。
68
接收→总召唤确认(发送帧的镜像,除传送原因不同) :
68(启动符)0E(长度)00
发送→S帧 :
注意:记录接收到的长帧,双方可以按频率发送,比如接收8帧I帧回答一帧S帧,也可以要求接收1帧I帧就应答1帧S帧。
68
接收→遥信YX帧(以类型标识1单点遥信为例) :
68(启动符)1A(长度)02
////////////////////////////////////////////////////////////////////////////////////////////////////////////
发送→S帧 :
68
接收→遥信YX帧(以类型标识3双点遥信为例) :
68(启动符)1E(长度)04
发送→S帧 :
68
接收→遥测YC帧(以类型标识9为例) :
68(启动符)13(长度)06
发送→S帧 :
68
接收→结束总召唤帧 :
68(启动符)0E(长度)08
发送→S帧 :
68
-----------------------------------
第三步:发送对时报文(通过设置RTU参数表中的”对时间隔”,单位是分钟,一般是20分钟)
发送→对时命令 :
68(启动符)14(长度)02
接收→对时确认 :
68(启动符)14(长度)0C
发送→S帧 :
68
-----------------------------------
第四步:电度总召唤(如果没有电度此步骤可以省略且可以在对时之前以送.通过设置参数中”全数据扫描间隔”,单位是分钟一般是15分钟召唤一次,如果不需要召唤电度一定要将参数中的电度个数设为0)
发送→召唤电度 :
68(启动符)0E(长度)04
接收→召唤确认(发送帧的镜像,除传送原因不同) :
68(启动符)0E(长度)10
发送→S帧 :
68
接收→电度数据 :
68(启动符)1A(长度)12
发送→S帧 :
68
接收→结束总召唤帧 :
68(启动符)0E(长度)14
发送→S帧 :
68
-----------------------------------
第五步:如果RTU有变化数据主动上送
接收→变位遥信 :
68(启动符)0E(长度)16
发送→S帧 :
68
接收→变位遥信 :
68(启动符)0E(长度)18
发送→S帧 :
68
-------------------
2)主动上送SOE,类型标识为0x1e或0x1f
接收→SOE :
68(启动符)15(长度)1a
发送→S帧 :
68
接收→SOE :
68(启动符)15(长度)1c
-----------------------------------
第六步:发送测试帧
如果主站超过一定时间没有下发报文或RTU也没有上送任何报文则双方都可以按频率发送U帧,测试帧
发送→U帧 :
68
接收→应答 :
68
-----------------------------------
第七步:遥控
发送→遥控预置 :
68(启动符)0e(长度)20
接收→遥控返校 :
68(启动符)0e(长度)0e
发送→遥控执行 :
68(启动符)0e(长度)04
接收→执行确认 :
68(启动符)0e(长度)12
发送→遥控撤消 :
68(启动符)0e(长度)04
接收→撤消确认 :
68(启动符)0e(长度)12
-----------------------------------------------------------------------------------------------------------
五、补充说明
1、报文中的长度指的是除启动字符与长度字节的所有字节。
-----------------------------------
2、注意长帧报文中的“发送序号”与“接收序号”具有抗报文丢失功能。
-----------------------------------
3、常用的类型标识:
遥测:09———带品质描述的规一化测量值,每个遥测值占3个字节
0a———带3个字节时标的且具有品质描述的测量值,每个遥测值占6个字节
0b———不带时标的标度化值,每个遥测值占3个字节
0c———带3个时标的标度化值,每个遥测值占6个字节
0d———带品质描述的浮点测量值,每个遥测值占5个字节
0e———带3个字节时标且具有品质描述的浮点值,每个遥测值占8个字节
15———不带品质描述的遥测值,每个遥测值占2个字节
遥信:
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———响应总召唤
-----------------------------------------------------------------------------------------------------------
六、参考
3、IEC104规约报文说明(有文件操作,较详细)
----------------------------------------------------------------------------------------------------------
喜欢
0
赠金笔