智能电网中电力设备接入中间件的设计
2016-02-13谷勇浩于华东徐长福路永玲王永非吕俊峰党育军
熊 飞,谷勇浩,于华东,徐长福,路永玲,王永非,吕俊峰,党育军,王 鹏
(1. 国家电网公司信息通信分公司,北京 100761;2. 北京邮电大学,计算机学院智能通信软件与多媒体北京市重点实验室,北京 100876;3. 国网信息通信产业集团有限公司研发中心,北京 102211;4. 国网江苏省电力公司电力科学研究院,南京 211103;5. 中国科学院计算技术研究所,北京 100080)
智能电网中电力设备接入中间件的设计
熊 飞1,谷勇浩2,于华东3,徐长福4,路永玲4,王永非2,吕俊峰1,党育军1,王 鹏5
(1. 国家电网公司信息通信分公司,北京 100761;2. 北京邮电大学,计算机学院智能通信软件与多媒体北京市重点实验室,北京 100876;3. 国网信息通信产业集团有限公司研发中心,北京 102211;4. 国网江苏省电力公司电力科学研究院,南京 211103;5. 中国科学院计算技术研究所,北京 100080)
随着电力行业的发展,越来越多种类的电力设备开始应用到生产中来,如何方便快捷地把新增设备接入到应用系统的同时很好地匹配新增设备规约成为研究热点。目前对新增规约处理的方法中的一种是开发新代码匹配新增规约,但是这种方式重复工作量大。第二种是使用规约转换器,实现新增规约与原来规约的转换,但是该方法对系统应用层代码修改较大,同时降低了系统的兼容性、稳定性、互操作性和软件平滑升级的能力。本文提出一种基于中间件层的电力设备接入方法,通过中间件层来屏蔽不同设备不同规约间的报文差异,向应用层提供统一接口,降低新增规约的工作量,最后通过总召命令实例来说明中间件层对应用层与设备规约的匹配。
智能电网;规约转换;电力设备接入;中间件
0 引言
随着电力行业的发展,我国进入智能电网全面建设阶段,在智能化变电站、发电、智能输电、智能配电网、智能用电和智能调度等方面要接入大量新的智能设备,同时原有应用系统要匹配这些新增规约。如果采用传统的规约转换方式[1]虽然能够从一定程度上减少协议匹配中的工作量,但是仍需要修改应用层代码,还需要大量人力物力进行系统维护升级,本文在原有规约转换的基础上提出在应用层与设备规约层间新增一个中间件层的方法,向应用层提供统一稳定的接口,降低新增设备和新增规约时的工作量。
1 相关工作
目前当新增设备接入到系统时,传统方法[2]是给新增设备的规约编写一个规约匹配程序,实现设备与上位机或监控主站的通信。这种方法可以把新增规约和系统原有规约关联起来,此方法的优点是通过新旧规约的关联关系,使规约转换相对独立,代码修改量比较小,修改起来相对简单。但是缺点也比较明显,首先是不同规约转换中会有重复部分,此方法并没有将公共部分加以抽象、提取和封装;其次当出现协议交叉转换时难实现;而且要求开发人员必须熟悉规约及规约之间的映射关系;最后由于所用协议转换种类较多,对应用系统中规约的管理带来麻烦。
改进后方法[3]是新增一个规约转换器。具体做法是在源规约与目标规约之间建立数据库用于实时转换(P-RTDB)。在进行转换之前先将通信规约转换中相同功能部分提取出来组成一个通用规约,源规约和目标规约通过调用通用规约部分实时访问P-RTDB,对于规约特有部分进行单独编码转换,实现对不同规约的转换,该方法节省了通信规约软件开发的人力物力成本,使开发变的更加容易。但是这种方法仍然会出现在新增规约的时候对应用层代码进行修改,仍会给应用层软件的维护和平滑升级带来困难。
文献[4]提出了一种比较通用的规约转换器的设计方案。该方案基于分布式客户端/服务器(C/S)的体系架构,其中请求规约转换的程序为客户端,提供规约转换的程序为服务端。服务端还是一个数据转发中心,把不同客户端的请求进行规约转换后发送给指定客户端。数据实时转发是通过“观察者模式”实现,通过推/拉方式提高数据转发效率。同时该方法还提供了传统规约与IEC61850规约转换时的数据结构,使得每个规约转换节点的通信程序只需开发一次,提高了效率,减轻了传统规约转换器给变电站综合自动化带来的负面影响。但是该系统的规约转换工作集中到“观察者”服务器上来,很容易因为一台服务器宕机导致整个系统崩溃,同时也没从根本上解决新增规约后应用层程序完全自适应的问题。
文献[5]-[8]把目前比较成熟的软件框架技术和规约转换方法相结合提出将CORBA技术和分布式硬件平台结合应用于IEC61 850规约转换装置的方法。但该方法只是提出了非IEC61 850规约向IEC61 850规约转换的方法,并没有给出通用的规约转换方法以及具体转换形式和过程;还有的分析了变电站自动化系统升级改造中出现的许多新问题和产生问题原因,介绍了中间件技术的特点和几种典型的中间件,并结合变电站自动化系统的结构,提出了在变电站自动化系统中应用中间件技术的思路。但是并未深入说明如何将中间件技术和规约转换结合起来解决规约转换中的问题;还有的提出采用COM技术将各规约做成组件的形式,最大限度地将客户和规约的具体实现分开,需要某种规约就导入对应的组件,客户面对的只是接口,这样做使程序非常灵活而且便于维护,提高了程序的重用性。但是此方法仍不能解决当新增规约时对应用层修改的问题。
文献[9]将系统分为三层。业务处理层主要通过获取通信系统采集设备上传的信息后进行综合处理,规约的调度转换以及资源的管理和配置等;规约适配层主要是将采集的设备信息进行规约处理,按指定策略进行规约转换、规约调度;物理接口层是直接与设备进行交互的,直接从设备接收数据以及直接向设备下发数据,并进行设备物理端口的控制、参数的设定等。这种分层设计基本实现规约的转换及向业务层提供设备数据,但是并没有深入说明如何实现协议适配层,以及向业务层提供的数据标准规约格式。
2 电力设备接入中间件层设计
通过引用中间件层,可向应用层提供统一接口,方便应用系统的维护和升级。同时向下匹配各种设备规约,实现应用系统中接入设备的灵活性和多样性。
2.1 基于中间件层的电力设备接入体系
基于中间件层的电力设备接入体系结构如图1所示。
图1 基于中间件层的电力设备接入体系结构图
应用层是面向用户的,主站可以通过应用层显示设备状态和向设备下发命令。中间件层连接应用层和设备层并且在两层间完成协议转换。网络层根据设备接入地点和方式的不同选择局域网、互联网、VPN等。接入的电力设备包括一次设备、二次设备等。中间件是适用于应用程序与数据源之间的互操作模型[10]。中间件向上对应用层提供设备状态信息,向下对设备感知层下达指令信息。中间件可以接入发电、输电、变电、用电环节设备,通过中间件可以控制单独一个设备,也可以向一类设备发送命令,或者向一组设备下达指令。同时,应用层屏蔽不同设备的差异,向应用层提供统一接口。当新增或删去设备时,系统都能快速地自适应。
2.2 电力设备接入中间件层的设计
中间件层向应用层提供初始化链路、设备添加、设备删除、设备分组、设备实时信息监控、设备指令操作等接口。中间件层对不同种类设备进行分类接入处理,对同一类设备也有添加、删除、控制和监视等操作。中间件层与电力设备间的交互数据分为连续型、离散型、字符型等数据类型。添加过程需要新接入的设备先发送请求添加报文,在主监控站对设备相关信息进行确认并决定授权后,再下发允许添加报文,在设备添加成功后,要向主监控站发添加成功确认报文。删除过程由主监控站先行发起。在控制操作中主监控站下发控制命令,比如对开关的遥控命令,包括控开和控合等;在监视操作中由设备向主监控站上传实时信息,如电度信息,刀闸状态信息等。
2.2.1 中间件层向应用层提供一接口
中间件层在应用层之下,向应用层提供统一接口,接口报文格式如图2所示。
图2 中间件层向上提供接口的报文格式
1、字段含义如下:
(1)启动字符:(固定字符)68H。
(2)报文长度:(10字节)包括校验字段但不包括开始字符和结束字符。
(3)传输方向:(1字节)从主站到子站为1,从子站到主站为2。
(4)命令字:(8字节)定义不同命令如初始化链路、遥控、总召唤等。
(5)主站标识符:(20字节)点对点通信中主站的唯一标识符。
(6)设备标识符:(20字节)点对点通信中设备的唯一标识符。
(7)设备类型ID:(20字节)离散数值类型设备:断路器,刀闸。连续数据类型设备:变压器等。
(8)数据个数:(8字节)本次传送的数据的个数。
(9)数据类型:(8字节)分为离散型、连续型、字符型。
(10)数据值域:(不定长)由数据个数字段及数据类型决定数据值域的大小。
(11)帧校验和:(定长-2字节)CRC校验的校验和。
(12)结束字符:(固定字符)86H。
2、重点字段说明
(1)命令字:定义不同控制命令,如初始化链路、遥控、总召唤等。
(2)设备类型ID:离散数值类型设备:断路器,刀闸。连续数据类型设备:变压器、互感器,智能表,用电设备等。根据不同类型的设备,定义每一种类型的ID。
(3)数据类型:分为离散型、连续型、字符型。其中,离散型数据为整型数据,标识设备状态,例如刀闸状态(连接为1,断开为0);连续型数据为浮点型数据,标识设备采集的数值,例如五遥信息[11]、定值信息等;字符型为不定长字符串类型,标识除离散型和连续以外的数据类型,例如SOE(事件顺序记录)、时间等。
2.2.2 中间件层向下匹配各类规约
在图1的体系结构图中,中间件层通过网络监控电力设备,在监控过程中常用到的规约有IEC101、IEC103、MODBUS等,把这些规约定义为设备规约层,中间件层需要对这些规约进行匹配,中间件层与设备规约层匹配如图3所示。
图3 中间件层与规约层的匹配
中间件层需要与设备现有协议进行对接,从设备层发来的不同类型的报文中提取出相应字段,封装成图2所示的报文后发送给应用层。
3 中间件层设计实例
总召是在主站初始化后召唤子站的所有数据,主站下发总召命令,子站需回复确认命令,然后等待主站召唤数据。主站下发召唤数据命令,子站收到命令后就连续地以总召唤的信息内容按组地形成被召唤的信息(如遥信、遥测信息)返回给主站。总召过程如图4所示。
图4 总召过程
本实例只描述主站向子站下发总召命令的过程,并通过中间件层协议报文的设计来匹配IEC101规约。其中IEC101规约格式如图5所示。其中ASDU (Application Service Data Unit)是应用服务数据单元,L表示报文长度。
图5 IEC101规约格式
总召命令报文中只有命令字段,根据命令字段就可以完成对IEC101规约中总召报文的转换,所以数据字段为空,主站下发总召命令下发规约报文如图6所示。
在与IEC101匹配的过程中,图5中的链路地址就是子站地址,对应图6中的ALL TYPE ID字段,图5中的类型标识对应图6中的命令字段CALL,图5中的公共地址对应图6中的设备标识符中的ALL ID字段,图5中的信息体时标为当前系统时间,传送原因根据命令字定义为总召。另外,图6中其他字段含义见图2中的字段说明。
图6 应用层下发报文
4 结语
针对电力系统中不同新增电力设备种类的接入,导致频繁修改用户应用程序的问题,我们在应用层之下新增一个设备接入中间件层,此中间件层向应用层提供了统一的接口,从而方便了用户使用和维护现有的电力系统软件,最后通过一个总召命令实例来说明中间件层对应用层与设备规约的匹配。
[1] 刘军. 电力通信网综合监控系统协议转换的研究与分析[J].中国电子商情: 通信市场, 2011(6): 40-43.
[2] 李庆良. 综合自动化变电站中通讯规约的规范化[J]. 山西电力, 2003(s2): 40-41.
[3] 孟建良, 赵鹏, 牛为华. NET Framework模型在电力通信协议转换系统中的应用[J]. 电力系统自动化, 2006, 30(18): 70-73.
[4] 高志勇, 宋康, 陈勇,等. 一种通用的基于“观察者模式”的规约转换器设计方案[J]. 电力自动化设备, 2011, 31(9): 108-110.
[5] 王文龙, 徐广辉, 朱中华. 基于CORBA技术的IEC61850规约转换装置[J]. 电力系统保护与控制, 2009, 37(7): 63-66.
[6] 杨秋霞. 中间件技术在变电站自动化系统中的应用[J]. 黑龙江电力, 2005, 27(5): 330-332.
[7] 刘艳华, 王渺. COM技术在规约转换软件中的应用[J]. 电力系统保护与控制, 2004, 32(11): 65-67.
[8] Prakash A, Thomas M S, Gautam A. Integration of JEDs Using Legacy and 1EC61850 Protocol[C]// International Conference on Power Electronics, Drives and Energy Systems. 2007: 1-5.
[9] 宋明中, 侯思祖, 赵建立,等. 电力通信监控网规约转换器设计与实现[J]. 电力学报, 2001, 16(4): 253-256.
[10] 高素春. 中间件概述[J]. 辽东学院学报(社会科学版), 2003, 5(6): 61-63.
[11] 王建军. 电力系统中五遥系统的应用与实现[J]. 信息技术与信息化, 2014(12): 156-158.
[12] 沈鸿. 分析IEC 870-5-101规约及其应用[J]. 广东电力, 2000, 13(6): 36-39.
Middleware Design of Power Equipment Access for Smart Grid
XIONG Fei1, GU YONG-hao2, YU Hua-dong3, XU Chang-fu4, LU Yong-ling4, WANG Yong-fei2, LV Jun-feng1, DANG Yu-jun1, WANG Peng5
(1. State Grid Information & Telecommunication Branch Company,Beijing 100761, China; 2. Beijing Key Laboratory of Intelligent Telecommunication Software and Multimedia, School of Computer Science, Beijing University of Posts and Telecommunications, Beijing 100876, China; 3. R&D Center of State Grid Information & Telecommunication Group Co., LTD., Beijing 102211, China; 4. Jiangsu Electric Power Company Research Institute, Nanjing City 211103, China; 5. Institute of computing technology, Chinese Academy of Sciences, Beijing 100080, China)
With the development of the power industry, and more types of electrical equipment being used in production, how to quickly and easily add new devices to the application system and match the new equipment protocols has become a hot topic. One kind of current methods for new protocols is developing new code to match these protocols, which has too heavy workload. The second method is to use protocol converters between new protocols and the original protocols, which needs great changes of application code and at the same time reduces system’s compatibility, stability, interoperability and the ability of software upgrade smoothly. This paper presents a power devices access method based on middleware to mask the differences on different packets between different devices and different protocols, and provide a unified interface for application layer to reduce the workload of adding new protocol. In the final section, one example of total by-call command is illustrated to explain how to match the application layer and device statute by design the protocol packet of the middleware layer.
Smart grid; Protocol conversion; Power equipment access; Middleware
TM73
A
10.3969/j.issn.1003-6970.2016.12.003
本文受国家电网科技项目(SGTYHT/15-JS-191),国家自然科学基金资助项目(61173017),工信部通信软科学基金资助项目(2014-R-42,2015-R-29)
熊飞(1983-),男,博士,高工,研究方向:从事电力骨干传输网、物联网技术的研究;谷勇浩(1980-),男,博士,高工,研究方向:网络及信息安全技术研究;于华东(1973-),男,硕士,高工,研究方向:无线通信技术研究;徐长福(1970-),男,硕士,高工,研究方向:电力无线专网应用技术研究、智能巡检及状态监测新技术研究等。
本文著录格式:熊飞,谷勇浩,于华东,等. 智能电网中电力设备接入中间件的设计[J]. 软件,2016,37(12):13-16