支持IEC61850通信规约的水情自动测报系统
2014-07-26熊光亚安保庆陈向飞李秋水张忠旭
熊光亚 , 安保庆 , 陈向飞 , 李秋水 , 张忠旭
(1.国网电力科学研究院,江苏 南京210003;2.南京南瑞集团公司,江苏 南京 210003)
随着水电厂对生产运行管理智能化、精细化要求的日益增加,原有的这些自动化系统的运行模式已不能满足需求,一些固有的缺陷导致自动化系统管理困难,效率低下,主要体现在:缺少统一的接口标准和数据结构模型,各自动化设备和系统间接口复杂,难以相互兼容与互操作,不同厂家设备间的互操作性更难以实现,导致系统管理维护困难[1]。
国际电工委员会第57技术委员会 (IECTC57)制定了有关自动化系统通信的国际标准IEC61850,并正式出版发行了水电厂监控通信标准IEC61850-7-410。将IEC61850通讯规约应用于水电厂自动化系统将使各种现地装置之间以及系统和主站之间的接口标准化,便于水电厂自动化设备之间以及和主站系统之间的互操作。正是在这个基础上,国内的一些水电厂制订了智能化改造方案并付诸实施,其主要目标之一就是实现全厂各自动化系统以及主站系统在统一的接口标准基础上的互联,以及实现各类自动化信息的共享与综合应用。
水电厂水情自动测报系统主要实现自动采集水库流域范围内代表性站点的雨量和水位信息,并将信息自动传输至中心站,由中心站软件自动进行处理、分析乃至决策。水情自动测报系统是水电厂和电网水库调度自动化的基础,是水电厂电力生产过程中的重要组成部分,为水电厂的经济运行和安全度汛发挥了重要作用[2]。
1 IE C61 850建模说明
IEC61850虽然是一套通讯规范,但其核心思想是将一个自动化装置按照逻辑功能层次结构建立设备模型,这个模型可以用标准的XML语言来描述。在IEC61850中,自动化装置统称为IED。即,智能电子设备[3]。对于IED建模,IEC61850在逻辑上主要定义了服务器 (Server)、 逻辑设备 (LD)、 逻辑节点 (LN)、 数据对象 (Data)4个层次[4]。
例如,假设有一个用于输电线路的自动电压控制装置,其包含了4路电压测量、4路电流测量、4路电压控制输出。按照IEC61850建模的定义,首先将这个IED装置定义为服务器,接下来定义逻辑设备,按照传统思路对IED的设备功能进行划分,电压测量、电流测量、电压控制输出功能可以分别定义为一个逻辑设备,即电压测量设备、电流测量设备和电压控制输出设备;但是也可以换一种思路,电压控制输出功能是依赖于电压和电流测量结果的,这三种功能也可以合成为一个功能,因此也可以把这3种功能组合成一个逻辑设备。由此可以看出,逻辑设备在IED中实际是一个虚拟的设备,它并不能独立于IED存在,而是在IED中用来完成特定功能的单元。这个特定的功能可以是单独的一种功能,也可以是多个相互依赖的功能的组合。逻辑节点就是为完成逻辑设备功能的一个最小单元,一个逻辑设备可以包含1个或多个逻辑节点。按照后一种建模思路,该IEC61850模型架构如图1所示。
图1 IEC61850模型示例
在IEC61850-7-410中,定义了IEC61850用于水电厂自动化系统需要的附加公用数据种类、逻辑节点以及数据对象,还定义了水文功能逻辑节点;但是这些已定义的水文逻辑节点远不能满足水情自动测报系统的应用需求,缺少如雨量、电池电压、遥测站内部温度等关键信息,并且也没有在符合水情自动测报系统装置工作方式的前提下进行建模。因此要对水电厂水情自动测报系统进行IEC61850建模,仅利用IEC61850-7-410中的定义是远远不够的,必须根据实际需求重新设计模型。
2 水情自动测报系统的IE C61 850模型设计
2.1 建模难点
2.1.1 网络通道问题
关于数据通信,IEC61850定义了MMS(制造报文规范)、GOOSE、SMV三种方式[5],MMS一般用于IED与主站系统之间,而GOOSE、SMV一般用于IED设备之间。其中MMS通讯基于TCP/IP协议,要求IED和主站系统之间具备以太网通道。
水电厂中的计算机监控系统、调速励磁系统、五防系统等现地自动化系统的装置和数字化变电站中的自动化装置在工作方式上类似,并且装置都安装在水电厂内部,装置与主站系统之间方便架设以太网,这些系统的装置可以很方便地基于IEC61850建模,也很容易实现和主站通过MMS报文通讯。但对于水情自动测报系统这种非实时数据采集系统来说,由于系统测量雨水情的装置安装在野外,考虑到建设成本、设备功耗等因素,装置和主站之间无法架设以太网,水情遥测站采集的数据一般通过超短波、短消息、卫星等通信方式将数据传输到主站,无法和主站系统直接采用IEC61850规约进行交互。也就是说,在针对水情自动测报系统建模时,装置不能作为IEC61850中的服务器。
2.1.2 装置历史数据的提取
IEC61850最初是为变电站自动化装置互联设计的。变电站的装置都是高速数据采集设备,一般是不保存历史测量数据的,只需要采集当前数据,并传送给主站系统即可。而水情自动测报系统和这些实时性要求较高的现地自动化系统的工作方式不同,平时大部分情况下装置处于休眠装置,到定时时间后,装置从休眠中恢复并执行采集和发信任务,执行完毕后又重新恢复休眠。装置每次测量的数据一般要求保存在本地,以便中心站随时进行提取。在IEC61850建模时,要实现历史数据的提取,不能仅仅定义需要提取历史数据的数据对象本身,还需要包括提取数据相关的时间信息。这在传统的IEC61850模型中是没有的。
2.2 模型设计方案
2.2.1 服务器
由于IEC61850的MMS报文通讯要求IED与主站系统之间必须具备以太网,而水情自动测报系统的装置一般安装在野外,不能直接和主站系统基于以太网进行通讯。因此考虑将原中心站的水情数据采集通信机作为系统的IED,即由这个IED作为61850模型中的服务器。这个IED既负责和水情测报系统的遥测站通过远程信道进行通讯,收集遥测站自报的雨水情数据;又负责和主站系统通过IEC61850规约进行通讯。这种架构对于水电厂现有的水情自动测报系统的遥测站来说,无需作任何改变;而对于运行在中心站的数据采集通信机来说,需要在软件程序中增加支持61850的通讯功能,以便和主站系统进行通讯。
2.2.2 逻辑设备
按照前面关于逻辑设备的描述,逻辑设备是一种特定的功能或几组功能的组合,如果按照IEC61850对于逻辑设备的普遍定义方法,水情自动测报系统中的逻辑设备可以按照测量对象的类型划分。如,雨量测量归为一种逻辑设备,水位测量归为一种逻辑设备,电池电压测量又归为一种逻辑设备。但是,这种逻辑设备的划分思路和目前水情自动测报系统的工作机制并不能配合得很好。现有水情数据采集程序和遥测站之间的通讯协议决定了二者进行交互时,是按照单个遥测站进行的,而不是某个逻辑设备。如果采用这种方法定义逻辑设备,中心站程序在通过远程信道和遥测站进行交互时存在大量的点号转换工作;并且当系统中增加一个水情遥测站时,这个遥测站可能同时包含了雨量测量、水位测量、电压测量等功能。这样需要在现有的模型中增加多个不同类型的逻辑节点,对模型的变动较大。
因此,在对水电厂水情自动测报系统建模时,我们将某一类遥测站作为一种逻辑设备。例如,将所有雨量遥测站作为一种逻辑设备,而所有水位遥测站作为另外一种逻辑设备。按照这种设计思路,不同的逻辑设备可能在功能上有一定重复,例如雨量遥测站和水位遥测站都具备电压测量功能;但另一方面,这种设计思路相对更直观,和系统现有的按单站进行交互的工作机制更吻合;并且当系统中增加一个遥测站时,只需要在对应的逻辑设备中增加一个逻辑节点即可。这样对模型的变动相对前一种方法要小。这种设计思路可以理解成面向对象建模对通用分类信息体系的一种妥协。这也是传统自动化系统内核未按照面向对象建模造成的IEC61850工程实施的难点[6],在IEC61850推广的初级阶段,这种思路不失为新老产品平滑过渡的一种可行方案。
2.2.3 逻辑节点
在逻辑设备确定后,逻辑节点也就确定了。我们在水情自动测报系统建模时设计了雨量遥测站和水位遥测站两种逻辑设备。雨量遥测站对应的逻辑节点就是单个的雨量遥测站,而水位遥测站对应的逻辑节点就是单个的水位遥测站。
2.2.4 数据对象
单个雨量遥测逻辑节点设计的数据对象包括:降雨量累计值;蓄电池电压;机箱温度;雨量测量间隔;数据自报间隔;雨量分辨率。单个水位遥测逻辑节点设计的数据对象:水位当前值;蓄电池电压;机箱温度;水位测量间隔;数据自报间隔;水位基值;雨量分辨率;Ⅲ水位传感器预热时间。这两种逻辑节点的前3个数据对象属于自报数据,在实际运行过程中是由遥测站主动上报到中心站的,而后面的数据对象都属于遥测站的基本工作参数,一般可由中心站下发指令进行远程修改,平时并不主动上报。
2.2.5 报告控制块与数据集
在IEC61850模型中,设置报告控制块与数据集的目的是只有当服务端的数据对象属性发生变化时,服务端程序才会将该测值传送给客户端程序。这对客户端程序来说,无需不断地对所有数据对象进行扫描,可以大大节省网络通信开销。
数据集在IEC61850模型中一般用来表示一个逻辑设备下的同一类数据对象。例如在水情自动测报系统中,雨量遥测逻辑设备下的所有降雨量累计值可以设置为一个数据集。所有的蓄电池电压可以设置为另外一个数据集。针对每个数据集,还需要设置一个对应的报告控制块。当报告控制块所监视数据集中的数据对象属性发生变化时,就会触发1个报告的产生[7],客户端程序通过查询数据报告,可以判断是否有新的数据达到。相对于查询所有数据对象,只查询数据报告网络开销要小得多。
2.2.6 数据对象历史数据提取的实现
在水情自动测报系统中,针对某个传感器 (如雨量或水位)有提取历史数据的需求,而在IEC61850中,一般都只要求提取某个数据对象的当前值。要基于IEC61850规约实现针对某个数据对象历史数据的提取,需要对模型进行特殊的设计。
对于某个数据对象历史数据的提取,至少需要有3个元素:数据对象本身,历史数据的开始时间,历史数据的结束时间。在模型设计时,可以将这3个元素都作为逻辑节点的数据对象,以一个雨量遥测逻辑节点为例,在逻辑节点下增加3个数据对象(见图2)。
图2 实现历史数据提取功能的IEC61850模型数据对象设置
当主站系统需要提取图2中雨量历史数据时,需置历史数据开始时间和结束时间,同时将雨量历史数据提取标志置为有效,数据采集服务器检查到标志有效后,从这两个时间数据对象中提取相应的时间信息,生成相应的报文,向遥测站发出提取历史数据的命令,并重新将该标志置为无效。
3 服务端程序设计
3.1 程序架构
服务端程序运行在中心站的水情数据采集通信机中,为降低对原有系统结构的破坏,同时也降低运行管理人员对程序变化的不适应,新程序保留了原有数据采集程序的遥测站远程通信功能以及用户界面,只增加了用于实现IEC61850通讯功能的多个动态链接库。程序的总体架构见图3,上半部用于实现和水情遥测站间的通信,而下半部61850驱动用于实现和主站系统间的通信,二者间的数据交互通过一个短地址-内部传输点号映射表实现。
图3 水情自动测报系统IEC61850服务端程序基本架构
程序的基本工作流程如下:①程序接收到遥测站的自报数据,对数据解析后将某个数据对象转换为映射表中的短地址发送给服务端驱动,由驱动转换为一个内部传输点号,并进行MMS报文封装,传送给主站系统。②当主站系统需要对遥测站进行参数设置或提取历史数据时,主站系统发送相应的命令给服务器端程序,由服务端驱动对命令的MMS报文进行解析;然后再将内部传输点号转换为实际的数据对象,交给数据采集部分处理,按照远程通信协议进行报文封装,并发送给遥测站。
3.2 XML模型文件的处理
服务端程序在运行时需要加载模型文件,IEC61850建模时建议使用XML语言,如果最终生成的模型文件较小,在100 K字节以内,可以由服务端程序直接加载。如果模型文件较大,应该将XML文件转换为易于快速处理的格式,以加快程序启动后模型文件的加载速度。
对于一个包括100个遥测站的水情自动测报系统,如按照本文所述方法建模,用标准XML语言描述的水情自动测报系统模型文件大约为500 K字节左右,实测2.6 GHz主频CPU的服务器对该文件进行完全解析花费时间约3 s左右。如果是更大规模的水情自动测报系统,XML解析的时间会更长。因此,在实际应用中,将XML模型文件转变为一个自定义的二进制格式文件,将这个文件放置在服务端程序运行目录下;则程序启动后无需对XML进行解析,可大大加快程序加载速度。
4 结 语
本水情自动测报系统建模方法,解决了水情自动测报系统因通信条件在实现61850接口方面的难题。用该方法设计的水情自动测报系统61850模型以及基于此模型的服务端、客户端程序已经在松江河及白山水电厂智能化改造项目中成功应用,在不改变原有水情自动测报系统基础架构与硬软件的基础上实现了系统向61850架构的平滑过渡。
[1] 王德宽,张毅,刘晓波,何飞跃,余江城,段振国 智能水电厂自动化系统总体构想初探[J].水电站机电技术,2011,34(6):2.
[2] 裴哲义.水电厂水情自动测报系统和电网水调自动化系统发展回顾与展望[J].水电自动化与大坝监测, 2005, 29(3):1.
[3] DLT 860.7-1变电站通信网络和系统.第7-1_部分:变电站和馈线设备的基本通信结构_原理和模型:2[S].
[4] DLT 860.7-2变电站通信网络和系统.第7-2_部分:变电站和馈线设备的基本通信结构_抽象通信服务接口(ACSI):4[S].
[5] 彭志强,朱辰,徐洁.基于IEC 61850标准探讨智能水电厂建设[J].能源技术经济, 2011, 23(9):25-26.
[6] 陆岩,胡道徐,马文龙.IEC 61850信息建模的反思与变通[J].电力自动化设备, 2008, 28(10):2.
[7] 王聪,张毅,文正国.基于IEC 61850标准的水电厂监控系统信息建模[J].水电自动化与大坝监测, 2012, 36(6):3-4.