换流站控制保护系统故障辅助诊断系统的研制
2015-04-20郝为
郝为
摘 要:为了能够更好的实时跟踪定位换流站主机事件和服务器的故障。文章将开发一套直流换流站控制保护系统的故障辅助诊断系统。采用Netdde技术,利用已有的软件接口实时监视主机可疑状态量,并绘制状态量的变化趋势曲线,通过异常状态量定位主机故障;对于服务器故障诊断,创建服务器的警告和错误事件的存储过程,通过实时调用存储过程获取服务器的故障信息。利用该系统,能够快速帮助用户对各类直流控制保护系统故障进行监视,跟踪及定位,它对原有诊断工具进行了整合,补充和完善同时又不影响原有系统的正常运行。
关键词:换流站;诊断系统;实时跟踪;NeTDDE;软件接口
引言
随着直流输电系统技术的逐渐成熟,国内直流工程大量投运,其中以ABB和南瑞公司为主的MACH2直流控制保护系统,在国内广泛应用。其异常诊断主要依赖于原有SCADA系统中工程师工作站自带的一系列异常诊断软件,主要包括异常报文显示工具Intouch,异常状态监视工具Hidraw,直流控制保护系统自定义录波工具Inspect和波形查看工具Reval等[1-2]。
湖北省境内多数换流站运行时间较长,这些由国外厂家提供的控制保护异常诊断工具一直没有更新,其设计存在不足,如存在无法诊断服务器异常,控制保护系统状态量监视功能不完善,旧有诊断工具功能分散等问题。导致2010年江陵换流站出现长达10个月的双极控制保护主机频繁死机异常,利用上述诊断工具无论是现场检修人员还是生产厂家均无法对异常进行准确定位,严重危及直流系统正常运行[3]。
1 系统功能设计
本软件系统将利用直流控制保护系统已有的软件接口,对系统的一些状态量和开关状态进行连续地监视、分析以及对服务器的报警事件进行监视,帮助运行和检修人员对各类故障进行跟踪及定位。
包括以下主要功能:(1)对控制保护主机软件系统中全部状态量的实时监视和连续记录功能;(2)对服务器数据库系统故障信息的实时监视及连续记录功能;(3)任一状态量越限检测、告警功能;(4)服务器数据库数据可视化浏览,检索及修改功能。
直流换流站辅助诊断系统可分为主机故障诊断部分和服务器故障诊断部分,根据功能要求系统分为四个部分。分别是:查询量监视模块、历史数据回放模块、服务器事件探测器模块,数据库访问模块。四个子功能模块分别完成其对应的软件功能,并通过诊断系统统一的可视化界面进行操作。
其系统结构如图1所示。
整个诊断系统采用自上而下的分层式模块化开发流程,整个系统共分为三层,分别是用户界面层,逻辑功能层,数据获取层。用户界面为用户提供友好的诊断系统界面,同时通过用户界面调用逻辑功能层的子功能模块,完成相应的故障诊断功能。
2 Netdde技术
数据获取层为逻辑功能层提供需要的数据,按照数据来源的不同可分为,控制保护系统状态量获取模块,数据库故障信息获取模块以及数据库数据获取模块。数据获取模块是本系统功能正常实现的基础。
控制保护主机接入站内局域网,并通过Netdde协议向SCADA发送数据及获取命令,如何利用Netdde接口从主机收集数据是本功能的关键,其基本的数据获取过程如图2所示。
图2 NetDDE动态数据交换
在图2中,主机将数据通过Netdde协议转换成能够在以太网上传播的数据包,诊断系统通过Netdde协议对数据包进行解析,最终转换为数据,从而实现了诊断系统至主机的数据获取流程。其關键技术难点在于诊断系统对Netdde数据包的解析[4]。
3 功能实现
3.1 运行状态监视模块
目前,站内开关量的获取主要是根据Intouch报文来获得,而Intouch报文只能获取某模块出现问题,它并不能反映到某个具体元件出了故障,因此需要对该模块的部分开关量进行监视。开关元件的老化,机械抖动等原因,会导致开关元件瞬时误动作(断开或是闭合),对于故障状态监视工具Hidraw很难扑捉到开关的瞬时故障[5]。
本模块主要是为了解决监控系统收到高层级(如屏柜)的报警信号后,如何定位异常至较低层级(如板卡),也方便运行人员对可疑状态量进行长时连续监测,同时提供越线报警功能,减少运行人员的工作量,免除运行人员长时间对故障状态监视工具Hidraw进行实时监视。
为了方便运行人员和检修人员方便快速定位故障,此模块功能结构图如图3所示。
图3 运行量查询功能图
监视量主要包括模拟状态量和数字开关量。主要依据运行人员对主机状态量是否有异常或Intouch发出来的报警,来启动该系统对可疑状态量进行监视。
监视内容分为状态量和开关量,对于状态量,系统每毫秒采集、保存一次数据,并绘制实时变化曲线。数据保存是为设备故障终端提供依据,也方便历史数据回放。绘制实时曲线可以方便地观察状态量的变化趋势,同时也有利于分析故障,趋势曲线支持暂停继续,放大缩小以及鼠标能扑捉到曲线上点的值大小。通过控制timer控件enabled的属性来控制绘图数据的获取,从而实现暂停继续功能;利用WindowsAPI中的PeekMessage函数来获取鼠标滚轮滚动的消息,定义结构体lpMsg参数中的wParam参数,用来表示鼠标滚轮是向上还是向下,wparam>0表示向上动作消息,反之则向下动作消息,通过设置最大和最小消息范围参数wMsgFilterMin、wMsgFilterMax的值为 &H20A,表示要检索的是鼠标滚动消息,然后通过绘图控件picture的Scale参数改变绘图坐标系统的大小,从而实现放大缩小的功能。最后利用picture控件Mouse_Move事件来捕捉曲线上的点,然后根据捕捉点的时间来获取对应状态量的值。对于开关量;只输出0和1两种状态。同样每1ms采集保存一次开关量状态,不绘制开关量变化曲线。
查询量越线检测需要设置状态量的阈值,超过阈值给予报警,同时保存故障数据。越线量采用红色标记,给工作人员提示;采用Access文件来保存数据,两个Access文件,分别用来保存全部数据和异常数据。
3.2 服务器事件探测模块
本模块主要是用于监视控制保护系统的数据库服务器,定位主机数据连接、通信和存储至服务器过程中的异常或故障,避免主机或服务器长时间的不反应或卡死。通过对数据库服务器警告和错误事件的跟踪,还可以跟踪服务器的操作用户和异常操作事件。由于有些换流站自身的原因,产生了许多警告事件,为了更好的定位故障,可对警告和错误事件按时间或按用户名进行筛选,最后还提供事件导出功能,将筛选事件保存在Microsoft Word文件中,方便工作人员作分析报告。为了方便工作人员方便快速定位服务器故障,此模块功能结构图如图4所示。
图4 数据库实时故障检测功能结构
通过SQL语句建立事件探测器模块,采用ADO技术连接所需要监视的数据库,然后通过sp_trace_create语句创建跟踪定义;接着使用sp_trace_generateevent创建跟踪警告和错误事件,主要包括Attention(用于收集所有提示事件,如客户中断请求或连接中断等)、Exception (SQL Server产生的异常错误事件)、Excecution Warnings(执行SQL语句或存储过程时出的警告);然后使用 sp_trace_setevent添加跟踪的事件列,主要有TextData(跟踪事件的相关信息)、NTDomainName(用户所属的Windows NT域)、ClientHostName(发起请求的客户计算机名称)、ApplicationName(客户端连接SQLServer的应用程序名)、StartTime(启动事件的时间)、Seventy(异常错误的严重级别);接着通过sp_trace_setfilter语句设置对应事件数据列的条件进行筛选;设置完成后通过sp_trace_setstatus开启或暂停跟踪,最后利用 fn_trace_gettable獲得以表格格式返回跟踪警告和错误事件数据列的信息,为了方便分析故障和做分析报告,将使用Microsoft Word文件保存警告和错误事件的数据列,即记录警告和错误事件信息,文件名将以当前时间命名[6]。
3.3 数据库访问模块
数据库访问主要是用于对SQL Server数据库中数据的查询以及删除功能。当直流换流站控制保护系统返回异常或故障信息时,在分析故障时需要查询当日事件表Event和所有事件表Point;每个换流站在配置直流控制保存系统时,由于自身的原因产生了一些警告事件,它并不影响直流换流站的正常运行,因此需要提供一个删除的功能,数据库访问模块的功能结构图如图5所示。
图5 数据库访问功能结构图
数据库存在于局域网内,为了方便快捷运行人员访问数据库,将数据库配置成ODBC(Open Database Connectivity)数据源,ODBC是微软公司提出的标准数据库访问接口,它与SQL Server服务器具有良好的兼容性;采用ADO(ActiveX Data Object)接口对象法访问配置好的ODBC数据源,ADO对象具有更多的属性和方法,其中可以通过设置ADO的PageSize(页大小)、PageCount(页数目)以及AbsolutePage(绝对页)属性来实现分页显示,同时它也提供灵活的多条件查询[7]。
4 结束语
利用Netdde技术,本系统向接入站内局域网的控制保护主机的SCADA发送数据及获取命令,并通过NetDDE协议监视不同厂家控制保护系统的可疑状态量和开关量,从而快速、精确定位异常层级及设备或板卡。由于数据库服务器与控制保护主机系统的高度耦合,本系统还研制了专用的SQL事件跟踪模块,以监测数据连接、通信以及存储过程中的异常或异常,避免主机或服务器长时间没反应或卡死等异常;同时监测服务器的操作用户和异常操作事件,以尽快地定位异常,有效地减少了换流站的异常排查时间。
参考文献
[1]李锋锋.HVDC超高压直流输电系统控制保护软件的研究[D].上海交通大学,2006.
[2]田杰.高压直流控制保护系统的设计与实现[J].电力自动化设备,2005,25(9):10-14.
[3]戴迪.基于MACH2系统的事件流故障排查方法[J].湖北电力,2011,35(6):18-20.
[4]何海江.NetDDE在自动化网络中的应用[J].微计算机信息,2002,18(6):54-57.
[5]王靖.组态软件InTouch在电力监控系统中的应用[D].天津大学软件学院,2008.
[6]周国宾.SQL Server数据库数据操作跟踪系统的设计与实现[J].福建电脑,2005,12(1):60-62.
[7]马绍良.用ODBC实现SQL Server 2000在VB中的应用[J].计算机应用,2003,23(1):115-118.