PI数据库技术在变电运行报表中的应用
2011-09-12张文军周起明
张文军,周起明
(衢州电力局,浙江 衢州 324000)
变电运行报表对电力企业掌握和分析电力设备状况以及制定电网发展计划起着不可或缺的作用。各级电力企业对运行报表都非常重视,对报表上报时间严格控制,要求基层班组必须在规定时间内完成报表的正确上报。然而随着电网规模的不断扩大和“监控中心+操作站”运行值班模式的推进,以前分散在各个集控站的报表填报工作都集中到了监控中心,在人手紧缺的情况下,要在短时间内完成所辖变电站大量数据的填写上报并保证其正确性,对监控中心是很大的挑战。
衢州电网监控中心在运行报表填报工作中引入了PI数据库技术,实现报表的自动生成,大大提高了工作效率,很好地解决了紧缺的人力资源与巨大的安全生产压力之间的矛盾,取得了非常好的效果。本文将以PI数据库技术在衢州电网监控中心电压报表中的应用为例,介绍PI数据库技术在运行报表中的具体应用。
1 传统报表填报方式的问题
传统的电压报表(格式见表1)填报方式有两种,一种是人工抄录,另一种是利用现有监控系统报表功能,拷贝数据并整理填写报表。由于数据量巨大,两种方式都存在效率低下的问题,难以满足报表上报的及时性和准确性要求。采用第一种方式单人抄录并填写一条母线所有数据的时间约为20 min,衢州电网监控中心目前下辖各等级变电站23座,有各种电压等级的母线113条,共需时间2260 min,5人同时工作才能在1个工作日内完成。采用第二种方式时,由于监控系统的报表格式与要求格式差别较大,要经过U盘拷贝数据、整理数据再填入报表的过程,平均完成一条母线所有数据填报大约需要12 min,总耗时约23 h。虽然第二种方式的效率高于第一种方式,但在填报过程中要用U盘接入监控系统工作站主机拷贝数据,存在网络安全风险。因此必须找到更科学、更高效的方法。
2 设计思路
分析电压报表的填报内容可以发现,报表需采集的母线整点时间电压值都保存在SCADA系统历史数据库中,“最大值”、“最小值”及“平均值”也可以通过分析计算SCADA历史数据库数据得到,而超上限、超下限则利用Excel函数就可轻易完成。其他的信息如“填报人”、“填报时间”等可以利用Excel自带的VBA编辑器编程实现。因而只需要找到一个合适的平台,建立与SCADA系统历史数据库的连接,利用计算机技术实现数据的查找、填写和简单运算,就可实现报表的自动生成,大幅提高工作效率。
衢州电力局PI实时数据库数据源自SCADA历史数据库,且PI系统具有丰富的客户端工具,其中PI DataLink软件可轻松实现Excel表格与PI数据库的连接,利用这项功能结合电子表格本身的功能,就可以灵活地收集、分析和填报数据。基于以上分析,按照电压报表格式建立一套Excel模板,利用PI DataLink的查询函数从PI数据库中读取数据并写入Excel相应单元格中,再利用VBA编辑器编程完成报表其他信息的填写并建立新的Excel工作簿,将模板内报表格式及数据复制到新的Excel报表中,形成不包含PI DataLink公式的最终电压报表,流程如图1所示。
3 实现过程
3.1 安装PI DataLink软件
图1 系统流程图
在Excel中以加载宏的形式加载PI DataLink插件后,就会在Excel中出现一个菜单,利用此菜单可方便调用PI DataLink内的函数。
3.2 制作电压报表模板
制作模板分几个步骤,一是按电压报表格式绘制表格,二是在需要显示数据的单元格内输入PI查询函数,三是利用Excel自身的函数或公式计算超上限、超下限率及合格率,最后利用VBA编写程序完成报表中的“填报时间”等其他信息并形成最终电压报表。具体步骤如下:
(1)按照电压报表格式绘制Excel表格,每一个工作表(即Excel工作簿中的一个sheet表)对应一条母线电压报表,一个Excel工作簿中可包含多条母线电压报表。
(2)在需要填报数据的报表单元格中输入PI查询函数,也可以采用VBA编程的方式,但PI DataLink提供了多种访问PI数据库的查询函数,使用这些函数基本可以满足数据信息的查询要求。由于电压报表涉及的数据运算求值都很简单,应用PI DataLink自带的查询函数比用VBA编程更加简单,具体方法是:在要填报数据信息的单元格内输入等号,并在等号后输入查询函数的公式,如“=PIArcVal(数据点名,查询时间,PI服务器名称,取值方式)”。具体到电压报表,“数据点名”即为该条母线在PI实时数据库中的点号或编号,如崇文变电站35kVⅠ段母线在PI数据库中的编号为“'QZ.E_02300004180020”。考虑到电压报表每次上报的设备不变,利用Excel的绝对引用功能,将数据点名放在每个sheet表中的特定单元格内,这样只需改一个数据点名,表格其他部分保持不变就能得到另一条母线的电压报表。另外,因电压报表为每月填报一次,填报的数据都是每月1日至30或31日的整点电压值及最大值,因此可以将时间信息如“2010-9-”放在特定单元格中,其他数据单元格进行引用,则也只需改动一个单元格的时间就可以得到任意年月的电压数据。如将数据点名“'QZ.E_02300004180020”放在sheet1的“$B$8”,年月数据“2010-9-”放在sheet1的“$R$6”,PI服务器名为 ddata,则存放崇文变电站35kVⅠ段母线2010年9月1日9点电压值的单元格可输入:“=PIArcVal($B$8,$R$6&”1”&"09∶00",0,"ddata","auto")”。 其他最大值、最小值及平均值都可用PI-DataLink的PICalcVal() 函 数 取 得 ,如 “=PICalcVal($B$8,$R$6&”1”&"00∶00",$R$6&A9&"23∶59","maximum",1,0,"ddata")”,表示 2010年 9月 1日00∶00-23∶59崇文变电站35kVⅠ段母线电压最大值,最小值和平均值只需将参数maximum改成minimum和average即可。
表1 衢州地区变电站母线电压监测统计月报
(3)利用Excel自身函数或公式计算超上限、超下限率及合格率,超上限和超下限数据可利用Excel自带if函数实现。为使报表填写更灵活,可将电压上、下限值填写在特定单元格,当限值改变时,只需更改单个单元格而不需更改其他单元格公式。具体操作方法可在超上限单元格输入“=if((上限值-最大值)>0,0,(最大值-上限值)/上限值*100%)”,实际应用时“上限值”为存放上限值的单元格,“最大值”为存放最大值的单元格。超下限、合格率的计算与此类似。
(4)自动填写“填报时间”等其他信息,并形成最终电压报表。利用VBA编辑器,在工作簿SelectionChange()事件中编写代码,任意单元格发生变化后,即自动重算所有工作表并自动执行VBA代码。自动填写完成报表其他信息的代码后,还要编写代码来新建Excel工作簿,将模板内所有报表格式及数值复制到新Excel工作簿并保存。这是因为如果报表接收者没有安装PI DataLink,虽然可以看到数据,但由于无法识别这些公式,就无法对报表进行修改。新建的Excel工作表不包含公式,但格式数据齐全,报表接收者可以方便地对数据进行查看和修改。
4 实际应用效果及特点
最终的电压报表格式与表1类似,实际使用时只需打开电压报表模板,将时间单元格内的年月改成目标年月,即可取得所需月份的电压报表。实际应用后,完成衢州电网监控中心所辖23座变电站的电压报表只需5 min,相比传统方法的23 h,工作效率大大提高。应用PI数据库技术进行电压填报具有以下特点:
(1)使用简便,除点击打开模板外全过程自动实现,不需人工干预,极易操作。
(2)所有的母线电压报表可放在一个Excel工作簿模板内,全部实现自动计算,便于管理,实用性强。
5 结语
PI数据库以其强大的数据处理功能和丰富的接口功能,方便各层次用户根据自身需求定制数据服务。除电压报表外,衢州电网监控中心的负荷实测报表、主变运行月报等运行报表都已采用PI数据库技术实现了自动填报。随着PI ProcessBook等其他软件工具在变电运行和电力调度部门的广泛应用,基于PI数据库技术的二次开发在电力生产中将有更加广阔的应用前景。
[1][美]汉森.Excel 2003与VBA编程从入门到精通(中文版)[M].李兆斌译.北京:电子工业出版社,2004.
[2]宋人杰,于健,范光伟.基于PI数据库的电厂报表系统的实现[J].东北电力学院学报,2005,24(4)∶47-50.