马 凯,黄 曙,余南华,慕宗君,方 伟,张巧霞
(1.广东电网公司 电力科学研究院,广东 广州510080;2.许继电气技术中心,河南 许昌461000)
随着网络技术的发展,国际电工委员会制定了IEC60870-5-104协议用于实现调度主站系统与远动装置间通过网络传输数据,IEC60870-5-104协议使用的网络模型请参见文献[1]。
在实际传输中,远动装置与调度主站系统通过TCP地址建立链路连接,一个IP地址和一个端口号确定一个唯一的TCP地址。由于端口号的限制,远动装置在实现IEC60870-5-104规约时会出现多个应用程序绑定相同IP地址和端口号的问题。随着智能电网二次一体化的发展,远动装置将成为变电站端的数据中心,它要实现的功能会更多,需要与主站通信的应用程序也更多,端口号冲突的问题也会更加突出,本文探讨了一种利用网络代理技术解决该问题的方法。
目前变电站调度系统一般采用三级调度主站配置,每级调度主站需要采集的变电站数据信息内容是不同的,因此对于远动装置来说,需要针对每级调度主站创建不同的数据信息转发表,以满足不同调度主站的信息获取需求。变电站端远动通信设备为了实现向不同的主站转发不同数据表,为每个主站创建一个IEC60870-5-104规约转发进程,每个进程只负责同一个主站交互数据。远动各转发进程与主站间的数据通信如图1所示。
图1 远动装置与多主站间数据通信
该方法实现简单,且当一个进程出现异常时,只会影响一级调度的数据传输,对其他调度主站的信息交互不会产生影响。但是该方法在实现上存在问题:由于端口号的限制,图1中3个IEC60870-5-104规约进程使用相同的端口号2404,造成了多个进程共同绑定一个IP地址+端口号,而TCP/IP协议必须通过不同的端口号才能区分不同的应用程序。
随着调控一体化、告警直传、远程浏览的大力推进及应用,变电站内监控系统功能采用分布式部署,对外通过远动装置统一出口。此时部署在监控服务器上的告警直传、远程浏览等应用程序通过远动装置与多个主站进行数据通信时也存在相同的问题。
一种常用的解决方案是将多个端口冲突的进程合并为一个进程,但是随着智能变电站的发展与建设,对远动装置提出了更高的要求。新一代远动装置需要完成测控、PMU、保护、电量、故障录波等所有变电站数据的统一采集、统一存储、统一出口,由于系统功能的复杂性,该方案已经无法实现。
网络代理是用来实现局域网内的多台计算机通过一个实际的IP地址连接到Internet的一种方法:在局域网与Internet间增加一个代理服务器,仅给代理服务器申请一个真实的IP地址,局域网内部的客户机由代理服务器分配一个虚拟的内部IP即可。局域网内的客户机向Internet发送数据时,先将数据发送给代理服务器,然后再由代理服务器转发出去,网络代理的模型如图2所示。
图2 网络代理模型
代理服务器在局域网客户机与真实的Internet上的服务器之间进行中继转发,完成访问控制,地址转换等任务。网络代理技术使局域网内的多台计算机可以通过一个实际的IP连接到Internet上。远动系统的多个应用程序需要通过一个IP和端口号连接到Internet上,与此有相似性,因此可以将网络代理的模型应用于远动系统。
将网络代理模型引入远动系统,在远动中增加一个网络代理服务程序,它绑定对外的IP地址和2404端口号,与所有的调度主站及所有的远动应用程序建立TCP/IP连接,调度主站与应用程序不建立直接连接。网络代理服务程序就像图2中的代理服务器一样将从主站来的数据转发给应用程序,将应用程序上送的数据转发给主站。
网络代理服务程序功能需求:
(1)与各级主站建立TCP连接,与主站交互数据,管理TCP连接;
(2)与被代理的应用程序交互数据;
(3)建立主站地址与应用程序间的地址映射规则,根据规则确定从主站来的数据是发给哪个应用程序的,应用程序的数据是发给哪个主站的;
(4)应满足被代理的应用程序与代理程序可以分布式部署要求;
(5)网络代理服务程序还应满足转发延迟性能要求。
网络代理服务程序有两种实现方式,一种是在应用层实现,一种是在IP层或者更低层实现。本文实现的网络代理服务程序采用在应用层实现的方法,这中实现方式的好处是:
网络代理服务程序与主站间及应用程序间都通过TCP/IP协议传输数据,可以实现网络代理服务程序与应用程序的分布式部署。网络代理服务程序在应用层实现,网络代理服务程序不进行TCP数据包的解析,仅仅实现连接的转换,从而保证了转换的时间效率,且可以适用于任何基于TCP/IP协议的通信规约。网络代理服务程序实现方式如图3所示。
图3 网络代理服务程序的实现方式
网络代理服务程序可以单独部署到一台计算机上,也可以和应用程序部署在同一台计算机上。同一台计算机上可以部署一个或者多个代理程序。代理服务程序与主站间、与应用程序间都是通过TCP/IP连接进行数据交换。网络代理服务程序部署如图4所示。图4中描述了网络代理服务程序的两种部署方式:
(1)代理服务程序与被代理的应用程序在同一主机上。部署在远动主机上的104规约转发程序、故障录波转发程序、继保信息转发程序通过部署在同一远动装置上的网络代理服务程序与外部多个主站交互数据。
(2)代理服务程序与被代理的应用程序分别部署在不同的主机上。图中部署在监控服务器上的告警直传应用程序与远程浏览应用程序通过部署在远动上的代理服务程序与多个主站交互数据。
图4 网络代理服务程序部署方式
图5 描述了网络代理服务程序的内部软件结构:
与主站通信模块socket_server:负责网络代理服务程序与调度主站之间建立TCP/IP连接、接收主站发送的数据,向主站发送数据;
主站地址转换模块:描述连接的调度主站网络信息,作为规则的输入,通过规则找到目的应用程序的地址;
应用程序地址转换模块:描述要应用程序的网络信息,根据应用程序的地址通过规则找到目的主站地址。
规则模块:建立调度主站与应用程序之间的地址映射规则,该映射通过读取配置文件建立;规则子模块还负责在socket_server与socket_master之间建立数据指针级连接。
图5 网络代理服务程序软件体系结构
与应用进程通信模块scoket_master:负责在网络代理服务程序与被代理的各应用程序间建立TCP/IP网络连接、数据信息交互。
如图6所示为一组逻辑规则的模型,每一个调度主站IP地址由一个规约模块绑定的IP地址和一个规约模块绑定的端口号对应。该逻辑规则模型建立了调度主站与IEC60870-5-104规约模块之间的对应关系。
图6 逻辑规则模型
如图7所示为一个逻辑规则配置示例,该配置文件采用XML文件格式。描述了两个规约模块与调度主站之间的连接关系。
10.3 3.178.65主站与10.33.178.81调度主站访问绑定2405端口的规约发表模块,实现他们之间的数据信息交互。
10.3 3.6.6主站与10.33.6.7调度主站访问绑定2406端口的规约发表模块,实现他们之间的数据信息交互。
铜块打磨抛光去除表面氧化层,用乙醇和去离子水多次清洗,氮气吹干待用。配置浓度为0.02 M硝酸银溶液, 铜块浸入硝酸银溶液,控制化学镀时间分别为10 s、20 s、30 s、60 s。取出后,用去离子水清洗表面,除去未参加反应的硝酸银,然后氮气吹干待用。
网络代理服务程序对外绑定的IP地址为10.33.187.193,对外绑定的端口号为2404。
图7 逻辑规则配置示例
3.4.1 连接建立流程
调度主站向远动装置网络代理服务程序发起socket连接请求,与外部主站通信模块接收到调度主站的连接请求后,获取调度主站的IP地址信息,调用规则子模块验证调度主站IP地址信息,如果能够找到相应的规则,将命令消息转移到socket_master处理模块,否则,拒绝调度主站的本次连接。
socket_master模块根据规则向被代理的应用程序发起网络连接请求,应用程序响应或拒绝网络连接请求。规则子模块在socket_server与socket_master之间建立数据指针级连接,以便于以后的数据信息交互。
主站与应用程序连接建立流程如图8所示。
图8 连接建立序列
3.4.2 接收到调度数据流程
调度主站向网络代理服务程序发送TCP/IP数据包,网络代理服务程序的socket_server接收到调度主站的TCP/IP数据包后,获取socket_master连接指针信息,通过scoket_master连接把接收到TCP/IP数据包发送给IEC60870-5-104规约模块。应用程序接收调度数据流程如图9所示。
图9 应用程序接收调度数据序列
应用程序向网络代理服务程序发出TCP/IP数据包,网络代理服务程序的socket_master接收到本地转发表模块的TCP/IP数据包后,获取socket_server连接指针信息,通过socket_server把接收到的TCP/IP数据包发送给调度主站。应用程序主动发起数据流程如图10所示。
图10 应用程序主动发起数据流程序列
3.4.4 连接断开流程:
调度主站发起断链:调度主站由于某些原因需要断开与网络代理服务程序的TCP/IP连接时,网络代理服务程序同时断开与IEC60870-5-104规约模块之间的TCP/IP连接。调度主站发起断链流程如图11所示。
规约模块发起断链:IEC60870-5-104规约模块由于某些原因需要断开与网络代理服务程序的TCP/IP连接时,网络代理服务程序同时断开与调度主站之间的TCP/IP连接。
图11 调度主站发起断链流程序列
本文提出的网络代理服务程序受到远动装置支持的实际网卡个数限制,由于一个规约进程一般仅绑定一个端口号,而规约进程需要判别每个连接的对方IP地址,因此,每个应用程序的最大连接个数为远动装置的实际物理网卡个数。
远动装置能够支持的调度连接数目也受到远动装置本身能够支持的应用进程个数限制,由于每个应用进程支持的连接个数有限,当同一级调度存在多个IP地址来访问转发表时,需要采用扩展应用进程个数来解决,即:调度主站连接个数=规约进程个数*物理网卡个数。
本文详细介绍了在远动装置中实现一个网络代理服务程序的方法,以实现远动装置多个应用进程同时使用相同IP与端口号与多级调度主站通信。该网络代理服务程序能够实现基于TCP/IP协议的网络连接转换,建立调度主站与远动转发应用程序之间的网络连接;网络代理服务程序不进行TCP数据包的解析,仅仅实现连接的转换,从而保证了转换的时间效率。
由于网络代理服务程序不进行TCP数据包的解析,仅仅实现连接的转换,因此,可以适用于任何基于TCP/IP协议的通信规约。
该方法经过变电站现场实际运行,在远动装置采用多个转发进程与多级调度通信方面具有很好的效果,并且能够满足调度数据网双平面建设的需求。
[1]DU Long,SHI Luning, YANG Jinbai. Application of IEC60870-5-104telecontrol protocol based on TCP/IP in direct dispatching station[J].Power System Protection and Control,2008,36 (17):51-52 (in Chinese).[杜龙,施鲁宁,杨晋柏.基于TCP/IP的IEC60870-5-104远动通信协议在直调厂站中的应用[J].电力系统保护与控制,2008,36(17):51-52.]
[2]LIU Shuang,SHI Guoyou,ZHANG Yuanqiang.Design and implementation of communication software based on TCP/IP protocol and multithreading technology[J].Computer Engineering and Design,2010,31 (11):1417-1418 (in Chinese).[刘爽,史国友,张远强.基于TCP/IP协议和多线程的通信软件的设与实现[J].计算机工程与设计,2010,31(11):1417-1418.]
[3]CHANG Guanghui,HAO Junjie,LIU Dichen,et al.Design of the integrated data platform in electric power control center based on multi-agent technology[J].Electric Power Automation Equipment,2008,32 (1):85-89 (in Chinese).[畅广辉,镐俊杰,刘涤尘,等.基于多代理技术的电力控制中心综合数据平台设计[J].电力系统自动化,2008,32 (1):85-89.]
[4]YUAN Tianyun.The analyses of intelligence multi-agent technology and the application of protective relaying[J].Development &Innovation of Machinery &Electrical Products,2007,20 (2):109-110 (in Chinese).[袁天云.智能多代理技术及其在继电保护中的应用[J].机电产品开发与创新,2007,20 (2):109-110.]
[5]LEI Yuhong,LIU Yicheng.A simple network agent's service routine based on DELPHI[J].Techniques of Automation and Applications,2007,26 (5):62-65 (in Chinese).[雷于红,刘益成.基于DELPHI的简单网络代理服务程序实现[J].自动化技术与应用,2007,26 (5):62-65.]
[6]HU Chunchao,CAI Zexiang,ZHU Zhihan.Frame-based transmission reliability analysis of the digital substation key messages[J].Power System Protection and Control,2011,39(9):91-96.(in Chinese).[胡春潮,蔡泽祥,竹之涵.提高数字化变电站关键报文传输可靠性方法研究[J].电力系统保护与控制,2011,39 (9):91-96.]
[7]ZHOU Lianyin,MU Xin.Design of home site based on electrical network mutil-protocol real-time monitor system[J].Computer Engineering and Design,2008,29 (14):3788-3790(in Chinese).[周莲英,穆鑫.基于多规约的电网实时监测主站系统的设计[J].计算机工程与设计,2008,29(14):3788-3790.]
[8]FENG Yi,LIN Rong,FENG Yan.Study of transferring automation information by using digital channel[J].Power System Protection and Control,2010,38 (12),135-137 (in Chinese).[冯毅,林榕,冯岩.利用数字通道传输自动化信息的方案研究[J].电力系统保护与制,2010,38 (12),135-137.]
[9]ZHANG Qi,SHI Jinwei,XU Junjie.Extended research and application of IEC 60870-5-104in the hydropower plant and dispatching communication for power network[J].Electric Power System Protection and Control,2011,39 (15):127-131(in Chinese).[张齐,史金伟,徐俊杰.104规约在水电厂与电网调度通讯中的扩展研究及应用[J].电力系统保护与控制,2011,39 (15):127-131.]
[10]DI Wenhui,LI Jingwei,LIU Jun.Testing software of power telecontrol communication based on 101protocol[J].Computer Engineering and Design,2009,30 (12):3030-3034(in Chinese).[狄文辉,李敬伟,刘晙.基于101规约的电力远动通信测试软件[J].计算机工程与设计,2009,30(12):3030-3034.]