智能变电站虚端子导入导出方法研究

2015-06-05 14:56郑文彬王瑞彪
综合智慧能源 2015年2期
关键词:哈希端子间隔

郑文彬,王瑞彪

智能变电站虚端子导入导出方法研究

郑文彬1,王瑞彪2

(1.国电南瑞科技股份有限公司,南京 210061;2.无锡健科智能科技有限公司,江苏 无锡 210428)

介绍了一种智能变电站调试或扩建改造中导入导出虚端子信息的方法。将虚端子信息录入固定格式的文件中,一键式导入虚端子信息,完成全站虚端子配置,然后一键式导出虚端子信息文件。该文件既方便扩建改造时改写虚端子连接关系,也方便工程备份虚端子连接关系。工程实践证明,该功能大大减少了智能变电站虚端子配置的工作量。

智能变电站;虚端子;面向通用对象的变电站事件;过程层采样值;匹配

0 引言

传统变电站的微机保护设置开入、开出、出口等端子排,保护装置的各开关量、出口以及二次间隔装置之间遥测的采集等都一一对应于具体的端子,保护设计及测控四遥(遥信、遥控、遥测、遥调)设计时,都通过实际电缆实现端子到端子的变电站二次设备和一次设备的连接,以及保护装置至一次设备的出口。与传统变电站不同的是,智能变电站[1-2]全站所有二次装置的信息均为数字信息,保护及测控装置之间均采用光缆连接;二次微机装置之间无传统变电站的电缆连接,而是采用IEC 61850[3]规约进行通信,通过变电站通信网络第6部分DL/T 860.6建模,通过变电站通信网络第8部分DL/T 860.8实现多种变电站设备和馈线设备之间的互操作及设备装置之间的信息交互、共享,以达到与传统变电站装置之间用电缆点对点连接的效果。

按面向通用对象的变电站事件(GOOSE)方式实现各保护装置之间信息的交互、跳合闸出口,按过程层采样值(SV)实现保护装置、测控装置到合并单元测量的采集等。在此,传统的端子概念消失了,取而代之的是基于网络传输的数字信号,即GOOSE[4]虚端子、SV虚端子。虚端子[5]信息隐藏在变电站配置描述(SCD)[6-8]文件中,不便于直观地查看,尤其对SCD文件结构不熟悉的人员,直接到SCD文件中查看这些隐藏于其中的虚端子信息很不方便。在智能变电站的建设或扩建改造过程中,当智能装置中的虚端子连接关系发生变化时,如何快速关联好这些虚端子关系并把关联好的虚端子关系以指定的文件格式导出保存,是本文讨论的重点。

1 智能变电站虚端子链接关系导入方法

1.1 智能变电站模型组态集成

在智能变电站调试中,根据工程设计要求收集该站所需要的所有装置模型(*.icd),仔细研究设计院蓝图或变电站设计图纸,分析各装置类型,运用正确的模型(*.icd)进行系统组态集成。

1.2 导入前按固定格式完成虚端子导入文件

在集成好组态模型之后,开始虚端子配置。根据设计院提供的接线图及虚端子信息表,整理各设备之间关联关系,配合完成虚端子表格文件的录入,即录入固定格式的Excel文件。

在此简单说明Excel文档的格式。以某变电站某二次间隔为单位创建一个Excel文档,Excel文件名称为当前间隔名称,文档中根据当前间隔中含有的所有二次智能电子装置分别建立以智能电子装置名称(IEDName)为名的Sheet。图1为某变电站虚端子文件模板,该模板为一个220 kV的间隔,该间隔包括7个装置,即建有7个Sheet,分别以IEDName名称为Sheet名称。每个Sheet中含10列:第1列即为该装置所有虚端子信号的编号;第2列为信息集编号,作为预留;第3~6列为该装置的虚端子信息,该装置作为起点设备,虚端子定义即为虚端子中文描述,名称即为该智能电子装置的中文描述,虚端子号即为该装置中的信息标号,若为GOOSE即为GOIN_n,若为SV即为SVIN_n,数据属性即为该虚端子的Reference;第7~10列为发送装置,即该装置接收到哪些装置的哪些信息。列名称的具体解释不再赘述。

新建智能变电站时,需要根据该智能变电站虚端子设计蓝图按图1所示的格式创建相应的虚端子间隔文档,录入虚端子信息,得到虚端子导入文件。

图1 虚端子文件模板

智能变电站进行扩建改造时,根据扩建设计虚端子图纸,该间隔装置虚端子关联发生变化时,只需要更改过去备份的该间隔Excel文档中的Sheet内容,遇到间隔中装置数量发生变化时,需增添以扩建装置名称为名的Sheet,完成虚端子条目信息录入,得到新的虚端子导入文件。

以上几种虚端子文件的信息录入,都是为后面一键式导入虚端子做准备。

1.3 虚端子导入程序流程

程序入口传入虚端子文件存放路径,加载SCD文件[6],获得全站电压等级和间隔名称,依次用间隔名称匹配传入的虚端子文件名。匹配成功,即程序入口传入的虚端子文件路径含有此间隔虚端子文件;否则,发出告警找不到传入虚端子文件能够匹配的间隔,循环进入下一个间隔虚端子匹配文件查找。

读取虚端子文件,获得文档中Sheet名称,获得接收IEDName,逐行读取该Sheet中的行内容,获取要导入的关键行列内容。起点设备栏下列名为虚端子定义(即接受虚端子中文描述,rDesc)及数据属性(即接收虚端子Reference,rRef);终点设备栏下列名为虚端子定义(即发送虚端子中文描述,sDesc)和数据属性(即发送虚端子的Reference,sRef)。虚端子导入程序流程如图2所示。

1.4 添加虚端子关系

在SCD文件中,每个装置模型文件中逻辑节点LLN0下的Inputs节点里定义该装置接收哪些外部的发送信号Ref,每个外部发送信号sRef和内部接收信号rRef在Inputs组成一个extRef实例。确定rRef是接收装置模型文件中的接收虚端子信号,sRef是发送装置模型文件中的发送虚端子信号。若rRef,sRef对应的虚端子连接关系(extRef)在接收装置的LLN0节点下Inputs节点中不存在,此时需要在接收装置该Inputs节点下添加此虚端子关系,把sRef字符串按关键字符进行分段,分解出智能电子装置名称(IEDName)、逻辑设备(Ld)、逻辑节点(Ln)、数据对象(DoName)及数据属性(DaName);若某个字符串分解结果为null,则置空。以上分解的各节内容即为extRef的外部发送属性元素内容,rRef则为extRef中的内部接收虚端子(intAddr)属性元素内容。最后,根据所获得的属性填写extRef子属性元素,保存后虚端子关系添加成功。

1.5 添加虚端子描述

添加好虚端子关系后,利用前面逐行获取的相应列内容(rDesc,sDesc)把描述导入到IED模型中去。描述主要位于模型的DOI属性以及DAI的DU属性中,根据模型查找功能依次查找对应的属性,把描述添加进去。导入虚端子描述流程如图3所示。

2 虚端子导出方法

工程调试中和调试结束后,在已经配好虚端子关系的SCD文件中,可以一键式导出该工程所有间隔的虚端子关系表文件,格式同本文前面讨论的导入虚端子关系文档。这个文档既可以作该智能变电站虚端子信息备份使用,也可为今后该智能变电站扩建改造时一键式导入虚端子关系打好基础。

图2 虚端子导入程序流程

加载SCD文件后,软件对SCD进行解析提取,依次提取电压等级、间隔名称,得到间隔下所有智能电子装置,建立智能电子装置链表。依次建立以间隔名命名的Excel文档,以IEDName为Sheet名,把IEDName中虚端子关联关系导出填入文档中。

下面主要介绍Excel文档中某个Sheet内容的获取,因为1个Sheet名代表1个接收的智能装置名称,以某智能装置的虚端子关系导出为例解释导出方法。

软件自动加载到智能电子装置,获取向该智能装置发送虚端子信号的所有外部装置名称,建立外部发送装置模型实例链表,逐次获取此链表中装置实例,可得到实例模型文件,此即为发送装置模型文件。从模型文件中获取外部发送装置的GOOSE,SV发送数据集,建立发送数据集哈希表。哈希表中Value用结构体定义,此结构体包括发送智能装置中文描述(IEDDesc)、发送中文信息描述(fcdaDesc)以及GOOUT_n(SVOUT_n),分别各自建立GOOSE和SV的哈希表,以便后面导出虚端子时使用。

图3 导入虚端子描述流程

获取该智能电子装置下所有虚端子接收关系实例(InputsInst),建立InputsInst链表,判断InputsInst属性,若为GOOSE接收即置标志为“GOIN”,若为SV接收即置标志为“SVIN”;根据InputsInst属性确定在后面导出时用前一段建立的GOOSE哈希表还是SV哈希表;读取InputsInst下子元素实例extRefInst属性,取得rRef和sRef,根据InputsInst属性确定哈希表类型;用sRef作为键值,去查找相应的哈希表,即可得到此sRef对应的发送智能装置名称描述(IEDDesc),fcdaDesc,GOOUT(SVOUT)序号及接收GOIN(SVIN)序号;通过接收虚端子rRef及接收智能装置实例(IEDInst)可以获得 rDesc(即接收IEDDesc),这样就获得了一条虚端子信息中虚端子文件表要填写的信息;依次循环读取extRefInst实例,获取虚端子文件需要的录入的信息。程序流程如图4所示。

3 软件开发工具及编码实现

3.1 软硬件环境

编译采用Windows系统,编译器使用Eclipse,语言使用Java,硬件环境为PC机。

3.2 程序编码实现

3.2.1 虚端子导入编码

(1)虚端子导入主函数。

public static boolean importVirtualMapFile(String importPath,

ArrayList<String>conList,IProgressMonitormonitor)

(2)匹配成功虚端子文件,获得文件读取。

private static void getExcelSheetList(String excel,ArrayList<String> conList,IProgressMonitor monitor)

(3)获得外部发送装置相关发送数据集子元素(fcda)哈希表。

private static void getAllMap Info(String s_ied,IProgressMonitormonitor)

(4)判断虚端子文件中接收rRef是否存在于接收装置模型中:存在返回true,执行下一步;不存在返回false,记录不存在信息,读取虚端子文件中下一行虚端子信息。

private static boolean judge_rRef(String rRef,CommonClsInstance iedInst,ArrayList<String>con-List)

(5)添加虚端子关联关系。

private static void inputextRef(CommonClsInstance extRefinst,String sRef)

(6)导入虚端子描述。

private static void inputextRefDesc(Common-ClsInstance iedInst,

CommonClsInstance extRefinst, String sRef,String sDesc,

String rDesc)

3.2.2 虚端子文件导出编码

(1)导出虚端子文件主函数。

public static boolean exportVirutalMapFile(int type,String exportPath,

IProgressMonitormonitor)

(2)获取间隔节点,依次建立间隔虚端子文件,导出虚端子准备。

public static boolean exportMapFile(BayNode bayNode,String exportPath,int type,IProgressMonitor monitor)

(3)得到该装置接收外部装置相关发送数据集子元素(fcda)哈希表。

private static void getRelated InMapInfo(ArrayList<String>relatedInIeds,IProgressMonitormonitormonitor)

(4)自适应设计文档行高(因为有的内容可能在一个单元格会多行出现)。

图4 虚端子导出程序流程

public static float getExcelCellAutoHeight(String str,float fontCountInline)

(5)输出字符距离。

public static float getregex(String charStr)

(6)导出虚端子文件填写函数。

private static void exportAllSend Info(HSSFWorkbook wb,HSSFSheet tSheet,IedItem_Mapping ied Item,CommonClsInstance ied Inst,ArrayList<String>relatedOutIeds,int type)

4 结束语

智能变电站虚端子文件导入导出软件已经应用于工程实践中,实践证明,软件的应用大大减轻了智能变电站虚端子配置工作量,可一键式导入导出虚端子文件,提高了工作效率,保证了配置的正确性,在智能变电站调试或扩建改造中发挥了一定的作用。

考虑到以后智能变电站会大面积推广,虚端子的功能还有待进一步提高,尤其是在本文中提到的导入虚端子前准备的虚端子文件编写功能需要进一步改善,以实现更强大的虚端子配置功能。

[1]何光宇,孙英云.智能电网基础[M].北京:中国电力出版社,2010.

[2]刘贞,殷小虹.智能变电站的实现[J].机电信息,2009(36):26-29.

[3]钟清.智能电网关键技术研究[M].北京:中国电力出版社,2011.

[4]张帆.面向通用对象的变电站事件(GOOSE)实时解析和预警系统[D].广州:华南理工大学,2010.

[5]高亚栋,朱炳铨,李慧,等.数字化变电站的“虚端子”设计方法与应用研究[J].电力系统保护与控制,2011,39(5):124-127.

[6]吴永超,王增平,吕燕石,等.变电站配置语言的应用及解析[J].电力系统保护与控制,2009,37(15):38-41.

[7]程少军,陈晓.智能电子装置的SCL文档配置工具的设计与实现[J].继电器,2007,35(20):47-50.

[8]高翔.数字化变电站应用技术[M].北京:中国电力出版社,2008.

(本文责编:刘芳)

TM 76:TM 63

:A

:1674-1951(2015)02-0016-05

郑文彬(1976—),男,陕西宝鸡人,工程师,从事智能变电站组态集成的研究(E-mail:zwb616@126.com)。

2014-07-09;

2014-11-03

王瑞彪(1977—),男,山西太原人,工程师,从事智能网络的研究。

猜你喜欢
哈希端子间隔
基于特征选择的局部敏感哈希位选择算法
汽车新型搭铁端子的设计与应用
哈希值处理 功能全面更易用
间隔问题
文件哈希值处理一条龙
2011 款大众EOS 车发动机偶尔无法起动
间隔之谜
熔断型端子压接模具研究
双排端子结构的ZIF连接器
巧用哈希数值传递文件