换流站控制保护系统故障辅助诊断系统的研制年精选文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
换流站控制保护系统故障辅助诊断系统的研制
引言
随着直流输电系统技术的逐渐成熟,国内直流工程大量投运,其中以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语句设置对应事件数据列的条件