基于Multi―Agent的电网故障精确诊断系统的研究

时间:2022-08-24 04:08:17

基于Multi―Agent的电网故障精确诊断系统的研究

【摘要】提高电网故障智能诊断系统的精确性能够帮助工作人员更加快速、准确的判断故障类型与故障元件,做出更具针对性的决策,缩短事故处理的时间,有效地预防和控制突发事故。本文提出一种基于多Agent系统的电网故障精确诊断方法和系统结构,并采用FIPA ACL专用语言对Agent间的通信与写作进行程序编写,并将模糊算法和神经网络混合诊断策略应用于该系统,有效提高诊断系统的实时性与精确性。

【关键词】Agent;电网系统;故障诊断;精确

1.电网故障精确诊断系统的整体设计

电网故障诊断系统的多Agent模型包括数据采集层、数据处理层、故障诊断层、故障决策层、检修计划层,系统的整体结构如图1所示。

图1 基于Multi-Agent的电网故障精确诊断系统结构

各Agent的功能描述如下:

(1)实时数据采集Agent:从SCADA系统中获取电网状态的数据并对数据整理传至故障诊断Agent,同时监听故障跳闸事件,唤醒结线分析Agent与故障诊断Agent。

(2)结线分析Agent:确定并显示停电区域,对该区域接线进行局部结线分析。

(3)故障类型库、故障诊断Agent与诊断结果评估Agent:这是整个诊断系统的核心部分。故障类型库多个Agent并行工作,根据开关跳闸信号,来判断可能的故障类型;故障诊断Agent求得故障隶属度最大的故障,初步确定故障类型;诊断结果评估Agent则得到故障的严重程度。

(4)案例分析Agent:是通过实时数据得到的诊断结果处理成案例,为以后的诊断工作提供辅助。

(5)规则库管理Agent:提供诊断规则,对规则库的维护和管理。

(6)接线图生成Agent:自动生成厂站接线图,以便故障类型库调用;在故障发生后,可以将故障跳闸区域显示在屏幕上。

2.电网故障诊断系统的核心部件设计

2.1 故障类型库

诊断Agent内部结构如图2所示:

图2 故障分析Agent内部结构

主要部件功能如下:

(1)控制部件:对Agent的动作及任务进行分析、优化、监控以及执行。

(2)数据存储器:负责存储收到的用于诊断的故障数据,以及诊断过程中产生的中间结果。

(3)推理机控制器:实现对多Agent协作的联合调度,负责启动、监控、终止推理机的工作,并对诊断结果进行评价。

(4)推理机:利用数据及知识对故障进行诊断。启动执行面向基本活动的计算,推理产生的中间结果送入数据存储器,最终结果送给推理机控制器。

2.2 故障诊断Agent与结果评估Agent

故障诊断评估过程如图3所示:

图3 故障诊断评估过程

模糊算法是通过对现实对象的分析,处理数据并构建模糊型数学模型,用隶属关系将数据元素集合灵活成模糊集合,确定隶属函数,获得现实对象的隶属度。

设给定论域U,U在闭区间[0,1]中的任一映射μA。

可确定U的一个模糊子集A。

μA(x)称为A的隶属函数,μA(xi)称为元素xi的隶属度。当μA(xi)=1时,则xi完全属于模糊集合A,当μA(xi)=0则xi完全不属于模糊集A.μA(xi)越接近于1,xi属于A的程度就越大。

BP网络是一种误差反向传播的神经网络,BP算法的基本思想是梯度下降法,它采用梯度搜索技术,以期使网络的实际输出值与期望输出值的误差均方值为最小。输入样本的预测权重处理方法对BP神经网络进行训练能够进一步确认故障类型并很好地区分故障的严重的程度。

采用下述方法获得多组预测组合的样本输出Q:

n为该样本采用的预测个数,m为该故障的最大预测数。

其中:

3.诊断系统的通信与编码实现

(1)由图2与图3所示,系统的通信采用FIPA ACL通信语言编程实现。FIPA ACL通信语言是智能物理Agent基金会(FIPA)做的对Agent通信语言标准化的工作,其特点是层次结构清晰,由通信层、消息层、内容层组成,具有可行前提条件和预期通信效果并且具有标准EBNF格式语法,具有标准化内容语言。

FIPA规定了22个通讯动作。如图4所示FIPA请求协议的通信行为:

图4 FIPA请求协议

(2)故障类型库Agent的故障类型推理部分使用PROLOG语言进行编程,PROLOG语言是一种说明性语言,具有表达能力强、坚实的数学基础(一阶谓词逻辑)、自动回溯、支持递归调用等特点,广泛应用于AI领域,只要给出求解问题所需要的事实和规则,PROLOG就能使用演绎推理的方法去解决问题。

其余采用JAVA语言编程实现,利用JAVA的多线程编程接口,开发人员可以方便得写出支持多线程的应用程序,提高程序执行效率。多线程关键代码如下:

创建线程之后,可用getName()或setNam ()来创建线程名字。通过start()来激活线程,Thread.sleep()来让线程等待。线程在执行之后消除,也可以终止线程。

4.结论

本文研究设计了电网的故障诊断系统,并将Multi-Agent技术应用其中,满足诊断对象的网络分布化、故障多元化的要求,使用多种语言混合编程,可以互相弥补缺点,发挥优势,提高Agent系统的质量,并使用多线程技术提高系统效率,采用模糊-神经算法的混合诊断策略,提高系统的诊断精度。

参考文献

[1]陈华,陈少华,杨宜民.多Agent系统及其在电力系统继电保护中的应用[J].电气应用,2005.

[2]朱永利,卢锦玲,等.基于Multi-agent的电网故障诊断系统的研究[J].继电器,2006.

[3]陈玉林,等.电网故障诊断方法综述[J].中国电力,2006.

[4]杨行峻,郑君里.人工ANN[M].北京:高等教育出版社,1992.

[5]周明.基于模糊推理的分布式电力系统故障诊断专家系统[J].电力系统自动化,2001,25(24):33-36.

[6]蒋伟进,许宇胜.基于MAS的分布式智能故障诊断模型与关键技术研究[J].南京大学学报:自然科学版,2004,40(4):483-496.

[7]蒋伟进,许宇胜.多智能体的分布式智能故障诊断[J].控制理论与应用,2004,21(6):945-950.

[8]王慧,孙铁利.一种新的基于Java和Prolog的智能Agent实现方案[J].计算机科学,2006.

[9]董爱兵,王小平,曹立明.基于FIPA ACL和RDF的Agent通信语言[J].计算机应用研究,2005.

基金项目:国家科技型中小企业创新基金(项目编号民:No.11c26216203816)。

作者简介:

程金山(1986―),男,满族,河北唐山人,硕士研究生,现就读于兰州交通大学。

李媛(1987―),女,甘肃庆阳人,硕士研究生,现就读于兰州交通大学。

上一篇:DCS控制系统在制药车间的常见故障及日常维护 下一篇:基于DEA法的高等教育投入产出效率评价