胡玉莹,张继驰
(1.国网辽宁省电力有限公司信息通信分公司,辽宁 沈阳 110006;2.国网辽宁省电力有限公司检修分公司,辽宁 沈阳 110003)
随着智能电网建设的推进,电网业务呈现多样化发展趋势。变电站作为电网的支撑节点,其监控系统需要以更灵活、可靠的方式承载各类应用功能,以满足电网监视、控制及管理需求。智能变电站一体化监控系统部署了运行监视、操作与控制、信息综合分析与智能告警、运行管理、辅助应用五大应用功能,标准,但各厂家产品仍然沿用传统软件架构,平台与应用相互捆绑,应用互不兼容,不符合当前平台化、开放化的IT技术理念[1-4]。
其不足和问题主要体现为系统的封闭性和差异性,对于用户来说使可供选择的应用少且互不兼容,部署运行新应用时不可避免地对原有系统进行改造,增加了系统投入和运行不稳定性。对于厂家来说,封闭体系导致在应用新技术、新标准时往往需要对系统整体进行改动,产品版本变动频繁,增加了软件开发和管理成本。在电网运行管理方面,“无人值守”、“调控一体”需要变电站与主站能够建立更为高效、灵活的业务协同互动机制,以充分利用变电站信息采集、监视控制和设备管理等软硬件资源,支撑各类主站业务的开展。
为此,本文在充分吸收智能变电站研究与应用实践成果基础上,借鉴IT行业先进技术理念,对变电站监控系统架构、多业务类型数据存储、服务访问接口、应用功能模块化、平台与应用互操作测试等关键技术进行思考,构建出先进、开放、规范的变电站监控系统。为实现以上目的,本文提出的系统包含以下3个要素:基于开放平台技术的系统架构,多源数据虚拟化存储与访问技术以及支持业务互换的应用模块化技术[5-7]。
传统智能变电站的监控系统,均为厂家根据自家产品专门定制。因此变电站后台系统应用与平台耦合度极高,后期无论是出现硬件问题需要更换设备,或系统应用功能不足需要更新系统,均只能继续寻找原厂家重新进行定制,甚至可能出现因定制程度过高,以至于原厂家也无法在现有设备或系统基础上进行升级。这使变电站的后期维护成本大大提高。
因此,本文提出了基于开放平台技术的“平台+APP”系统架构(见图1),建立了变电站监控系统开放式的服务架构,采用基于“Integrated Design”设计理念,构建包括架构元件、联结器、任务流的系统架构设计方案。这使厂家可以轻松根据用户需求,对监控系统进行模块化定制,并适配于大部分变电站设备平台。
图1 平台+APP架构
为实现这种开放式服务架构,平台主体应采用分布式设计结构,将系统按不同功能分层,各模块与层级之间采用消息通信机制进行连接,模块与层级本身的耦合度低,系统可以根据不同的应用需求,通过配置实现各种模块的增减,可裁减性强,系统架构如图2所示。
图2 系统总体架构
该系统架构分为硬件层、操作系统层、通信总线层、数据库层、公共服务层和应用层。其核心系统是ORT(operation run time)底层架构、通信软总线、实时数据库及其管理程序、基本SCADA处理模块,这些模块构成一个最小的运行系统。在最小系统的基础上可以按需要部署应用模块,包括前置通信模块、操作图形界面、AVQC、防误闭锁、五防操作票、程控、拓扑计算、智能告警等应用。每个应用之间可通过内部消息总线进行消息传递,可独立运行。每个应用提供的子功能可通过系统功能组态灵活配置。
系统架构的各部分通过支持多业务实时数据并发访问的总线技术进行数据交换。本文使用面向对象的软件编程技术,同时采用模型标准化和接口标准化的技术思想和理念,以模型驱动理论和分布式系统技术为基础,提出满足监控系统开放平台中实时数据传输需求的高性能的标准软总线,总线内部架构如图3所示。
图3 系统软总线的内部架构
为了保证平台的安全可靠,通过借鉴LDAP树形结构化层次化权限管理方案,建立不同业务应用的专属访问权限,从数据层级对应用访问的权限进行管理和控制,对于实时控制类数据进行保护隔离,进一步提升平台的安全性,保证各功能在其限定的权限内工作。按模块化管理思路首先用主程序、子程序、子过程等部分综合描述软件的主要结构,以及程序运行的具体流程、定义各部分之间的联系以及数据输入、输出的方向。最终的结果是得到一系列以功能模块为单位的算法描述,并以功能模块为单位进行具体程序设计[8-9]。
对于一个高集成而又开放的系统来说,如何构建一个合格的存储、访问方式是关键之一。一方面由于系统高度集成,本身体量较小,运行速度极快,系统的存储与访问技术要能够符合系统高集成的特点,满足数据存储与访问的实时性要求;另一方面要考虑到,由于系统是开放的,往往数据来源是多类型的,系统的的存储与访问技术要能兼容多种数据类型,并进行统一储存,而在其他系统提出访问需求时提供正确的数据格式。
为达成这种要求,本文基于虚拟化存储的实时数据库技术,采用其历史数据混合存储能力实现变电站不同业务数据的存储;为了达到数据高效访问目标,使用了多重HASH数据访问技术,保证了开放平台基础数据的统一存储与访问。
实时数据库系统管理保存在内存缓冲区中电力系统运行的实时数据,为了适应多业务不同实时性要求的数据统一存储,采用基于虚拟化存储技术以提高系统的响应速度和处理能力。大容量非实时数据的数据模型存于历史库,各应用服务器(逻辑)上实时库中的数据从历史库中下装,下装后即可为其他客户端提供数据访问服务。为了实现站内数据采集与同步,需解决数据的多源性和通信协议的多样性问题。变电站的通信对象包括间隔层各类IED,站控层的监控主机、综合应用服务器、数据服务器以及调控主站。数据库内部及其与间隔层、站控层设备交互信息流如图4所示[10]。
图4 变电站数据库采集与同步信息流
在进行数据读取时,系统采用基于多重HASH的数据访问技术,使所有二次设备信息模型中的数据集都有一个唯一的索引标识,变电站监控系统数据检索可依托该索引建立快速的数据库检索机制,实现数据的快速访问。
为使系统模块化,实现系统应用可以根据用户需求灵活进行调整,本文使用基于反射机制的平台服务接口以及动态可配置的多业务访问模型,并将服务按照逻辑层次和部署层次进行划分[11-12]。
反射机制允许程序在运行期能够分析类结构特征,并能操作程序内部属性,取得类的内部信息。可以动态调整系统行为。标准服务接口技术是一种应用程序体系结构,它将该体系结构中所有功能都定义为相互独立的服务,这些服务通过定义明确的接口,以定义好的顺序调用这些服务形成业务流程。
监控系统开放平台可以完成特定功能的服务调用来实现自身应用的需求,再通过为这些服务定义的中间接口去实现集成。这其中接口部分的状态监测采用了反射机制,保证进程的状态可监视。平台集成实时/历史数据访问、文件访问等多种服务功能,提供统一的跨进程公共数据访问接口。扩展应用采用独立进程,通过公共服务接口获取平台提供的数据,并将处理的结果返回平台,其系统结构如图5所示[10]。
图5 系统结构
在传统的结构化分析方法中存在反馈机制,高层模块需要调用低层模块,而低层模块的改动会直接影响到高层模块,迫使高层模块也必须做出改动。而在良好的面向对象程序设计(OOP)中,高层模块应独立于低层模块,使模块可以非常容易地被重用,不会出现底层模块发生变化导致高层模块难以起到应有作用的情况。这也即框架设计的核心原则——依赖倒置原则(DIP)。在DIP原则中,每个较高层次都为它所需的服务提供一个抽象接口,低层模块则利用这个抽象接口接收高层模块的指令,每个高层模块都通过该抽象接口与下一层进行间接连接。这样高层就独立于低层,对低层的修改不会影响到高层。监控系统开放平台内集成实时/历史数据访问、文件访问等多种服务功能,提供统一的跨进程公共数据访问接口。高级应用将作为一个独立的进程,通过公共服务访问接口获取平台提供的数据,并将处理的结果返回到应用平台[13]。这是利用了设计模式(Design Patterns)中的工厂模式来实现。在具体实现时需要创建一个Dao Factory类,其功能是根据配置文件的设置,返回符合高层模块需求的数据或反馈。对于高层模块的运行来说,只是通过接口得到本身需要的数据或指令回馈,然后使用这些数据或指令向上继续反馈,完成用户所下指令。而接口得到的数据或反馈来自于哪个底层模块,高层模块并不清楚。通过这种方式,避免了让高层模块直接调用具体底层模块,导致上下层模块直接进行数据交换,而是将任务本身拆分,将其通过接口分别发送给底层模块,实现模块的松耦合,提高了底层模块的重复利用性。如图6所示。
图6 基于可配置的数据访问模型结构
本文提出了一种先进、开放、规范的变电站监控系统,来满足当前平台化、开放化的IT技术理念。这种构想可以极大程度上减少智能变电站用户的经济、精力成本,并能够灵活地根据用户的需求,随时进行应用功能定制。此外,该系统集成度高,与其他平台、系统兼容性好,适用于多种场合,可以进行大面积推广应用。