贾惠芹
(西安石油大学光电油气测井与检测教育部重点实验室,陕西 西安 710065)
故障树分析法是对各个故障之间关系的一种图形化描述,并将导致故障的原因事件按因果关系逐层列出,用树形图表示出来,从而可直观地看出各个节点之间的影响关系,为检测人员排查设备故障提供了一个直观检测的指导方法[1-2]。随着故障树分析技术的广泛应用,人工建树费时费力,当引起系统故障的因素之间有关联时,很难避免发生逻辑上的误判和漏判[3-4]。近年来相继出现了一些故障树的生成算法,但各类算法的特性和适用范围各异,且目前还没有一个人机界面友好的中文故障树生成软件[5-6]。
本文设计了一种故障树自动生成与诊断模型,并采用图形化编程软件和数据库技术实现了故障树的动态生成与编辑,同时结合自动检测技术,实现了设备故障的实时检测和故障定位。
故障树由若干层数的节点构成。根据设备在物理上的逻辑关系来确定建立的故障树。生成一棵树的算法就是从根节点(第一层)开始,一层一层将树表示出来,并将各层之间的节点按照父子关系连接起来。要实现对故障树的自动生成,首先需要以下元素和工具。
①检测点:检测点是故障树的基本组成部分,它由设备型号、设备所在的分系统、节点名称、故障现象的描述、故障类型和故障等级以及相互逻辑关系等信息组成。如果该检测点是子节点,则需要选择父故障。同时还需要确定节点所在的层、各层上的节点数以及每个节点的父节点。
②检测点之间的逻辑关系:在此需要确定设备的每一个子系统中各个检测点之间的物理逻辑关系,确定每一个分支上所有检测点之间的逻辑关系。
③连线工具:需要通过一种可视化的工具自动把节点根据逻辑关系连接起来。
在分析了故障树的基本要素后,下面需要约定一些故障诊断的规则。
①约定检测点就是节点的一种,故障树中的顶事件为根节点,而中间事件和底事件统称为子节点。每个子节点的上一级故障称为其父节点。
②从根节点向下,如果检测时没有故障,则这条支路不再继续往下走;如果这条支路出现故障,则继续往下检测,直至定位到故障点。
③一个根节点会有多个分支,在故障诊断过程中进行分支选择的原则是次根节点出现的频数以及关键度。
④故障诊断时,先按次根节点出现故障的频数来划分,如果两个频数相同,再按次根节点的关键度来选择。按次根节点出现的频数来确定设备发生故障的概率大小,每出现一次故障则频数保存一次;然后在故障树中根据故障的频数来决定先进入哪个分支。在基于故障树的诊断过程中,每次节点出现错误,则会把数据库中的频数字段加一;然后按次根节点的关键度来确定设备发生故障的概率大小,将次根节点的关键度从大到小排序,故障诊断时先从关键度最大的次根节点开始检测,如此进行下去,即为最快确定故障源的最优方案。
⑤故障树中同层节点之间只有“或”的关系,而下一级节点和上一级节点之间是“与”的关系。
⑥利用虚拟仪器完成对检测点信号的检测。将得到的测试值和数据库中的检测点标称值进行比较,检测点的标称值可能是一个值,也可能是一段波形。
故障检测点信息和节点名称信息存储在数据库中,本文运用数据库的结构化设计和LabVIEW软件把数据库中的故障信息按照节点间的关系生成一棵具体的故障树。
本文主要关注如何采用软件手段方便地实现故障现象与故障树的关联,同时采用一种图形化的手段实现故障树的自动生成。经分析,要实现故障树的自动生成,必须执行以下操作流程:首先进入人机交互软件界面,在故障树的生成与编辑界面下自动生成故障树;在生成的故障树下选择诊断方式后,根据检测点的信号类型选择不同的虚拟仪器[7-8]。本系统中的虚拟仪器主要有“示波器”、“万用表”和“频谱分析仪”,这些仪器的输入端和检测点在物理性能上能连接起来。要实现故障树的动态生成,必须给用户提供以下六个输入接口界面:①设备信息、系统信息、测试数据信息以及节点和检测点信息的录入、编辑和查询等数据库管理界面;②节点之间逻辑关系的选择界面;③故障树自动生成与选择界面;④节点信息和检测点信息之间的关联关系界面;⑤仪器装载和删除界面;⑥实时故障诊断界面。
在LabVIEW下,故障树主要是用布尔型控件来表示节点,用图形控件来表示整个故障树,而用画线工具把节点根据逻辑关系连接起来。具体操作方法如下。
首先把节点信息录入数据库,以便增加一个节点,和此节点相关的信息都存储在数据库表格中。关键度在数据库中也占一个字段,这个值是由用户根据经验值来确定的。其次,按照故障树的信息找出所有树层数为1的节点并进行绘制,然后根据上层节点信息找到其对应的下层故障子节点进行标记,最后根据逻辑关系连接起来。以此类推,一层一层地将故障检测点信息从数据库中查询出,并利用这些信息重绘生成故障树。当利用上述方法生成一棵故障树后,如果发现故障树上的某些节点其信息不符合实际情况时,还可以进行编辑。
节点之间连线长度的确定采用如下方法。
假设根节点的坐标为(X1,Y1)。如果下一层有多个分支,那么对于每一个分支上的节点,假设其坐标为(X2,Y2),分节点和根节点相连的时候,画线的长度即为
通过以上方法把各节点根据父子关系连接起来后,则生成了一棵故障树。而故障树中的每一个节点都是和检测点关联起来的,这就为故障定位提供了依据。
在确定了一棵树的所有节点后,接下来的任务就是利用图形显示控件来表达树。在画故障树之前,首先要确定同一层中节点的最大数,以确定图形控件的长,而根据选定的故障树层数,则可确定图形控件的宽。图形控件的长和宽确定后,即可确定树在屏幕上的位置。通过这种方法,只要把故障树上所有节点的信息录入到数据库,然后再绘制故障树时选择故障树中各个节点以及逻辑关系,就可以生成一棵故障树。
节点之间的逻辑关系在数据库中通过两个属性列区别:父节点信息和所在树的层数。有了这两个属性列,就可以根据数据库的信息生成一棵故障树。
在检查故障树时,可以对不正确的故障树节点信息进行修改。对节点信息的修改实际是使用SQL的选择语句先读取选定节点在数据库中的所有信息,然后执行SQL的update语句,最后修改数据库中选定节点的信息。
将本文所述故障树诊断方法应用到某雷达“统一测控子系统”的故障诊断过程。当选择某一个“设备类型”和“所属分系统”,并选择采用本文的方法生成的故障树时,故障树实时显示在屏幕上;当选择故障树中的某一个“检测点”,其相关信息也直接显示在界面;当选择“诊断模式”和“诊断方式”时,即进入故障检测界面。生成的故障树如图1所示。
图1 故障树图形界面Fig.1 Graphical interface of fault tree
故障树诊断是根据每个节点对应的检测点的信号状态来判定此节点是否正常。检测模式分为手动模式和自动模式[9-10]。
①手动检测模式是用户按照自己的判断时,随机检测故障树中某个节点的状态。当用户选择某个节点后,程序会列出此节点中相应的检测点。选择检测点后,会给出检测点的物理位置、逻辑位置、标准值、故障出现的频数、节点关键度以及出现此故障的解决办法等信息,通过调用虚拟仪器来判定检测点是否有故障。
②自动检测模式是程序自动对整个故障树进行遍历,以确定故障树中的节点和故障路径。具体的算法是,故障树由多级有关联的节点组成,从根节点向下到各子节点的都是“或”的关系,子节点向上到根节点是“与”的关系,即经过检测某个节点正常时,则该节点以下的子节点肯定为正常工作状态;当检测某个节点不正常时,就继续顺着这个根节点继续查找。通过这样的判定规则,当自动检测完一棵故障树后,就可以得出这个故障树的一条清晰的故障检测路径,使用户可以很明确地得出故障所在的具体位置。
诊断模式有本地诊断模式和远程诊断模式。
①本地诊断模式是操作人员在本地进行故障诊断时,操作人员在设备端选择节点后,该节点对应的检测点信息会在列表中显示出来。当选择某一个检测点以及相应功能的虚拟仪器后,则可根据虚拟仪器的测试值以及检测点的标准值来判断测试结果是否正确,从而为排除故障提供实时数据。
②远程诊断模式是为不在现场的专家提供的一种辅助诊断模式。专家在远端选择所要监控的设备端IP地址和相应的虚拟仪器后,连接到该仪器的信号信息就会传输到专家面前,此时专家可根据该检测点的标准值来判断此检测点是否为故障点。
利用本文所提出的故障树诊断方法开发了故障诊断软件,在2 MHz的网络环境下进行了测试,测试结果为检测点信息的网络响应时间在2 s之内;故障定位时间在3 s之内;故障的误报率和漏报率均小于1%;测试结果的上传数据库时间在5 s之内。
故障树诊断能有效地分析和隔离故障,现已成为一种经典的故障诊断技术,也是分析系统可靠性与安全性的重要方法之一。采用计算机手段、开发真正意义上的故障树自动生成与诊断软件,这已成为国际上的主要发展趋势。本文采用图形化软件编程平台LabVIEW和数据库SQL Server 2005,开发了故障树自动生成与实时故障定位软件,该软件实现了故障树的自动生成和虚拟仪器的实时检测,使用方便。目前已应用于某雷达的维修过程,提高了设备的维修效率。
[1] 王兆耀,马永芳,凌志浩.嵌入式系统故障的灰关联分析及其诊断平台[J].自动化仪表,2010,31(8):14 -15.
[2] 王国庆,牛伟,成娟,等.基于阶次小波包与Markov链模型的转子早期故障诊断[J].西北工业大学学报:自然科学版,2012,30(3):466 -471.
[3] 王冠伟,张春霞,庄健,等.流形学习在机械故障诊断中的应用研究[J].工程数学学报,2012,29(4):584 -593.
[4] 鲁文波,蒋伟康.利用声场空间分布特征诊断滚动轴承故障[J].机械工程学报,2012,48(13):68 -72.
[5] 陈剑雪.ACO-BP算法在化工过程故障诊断中的应用[J].化工自动化与仪表,2012(7):872-873.
[6] 陆金铭,孟繁林,申华,等.基于集合经验模态及其瞬时能量密度谱的齿轮故障诊断[J].江苏科技大学学报:自然科学版,2012,26(3):262 -265.
[7] 葛跃飞,王茸,陈世文,等.故障树自动生成技术的研究与实现[J].计算机工程与设计,2009,30(1):207 -209.
[8] 罗航,王厚军,黄建国,等.故障树定量分析及其交互方式的实现[J].电子测量与仪器学报,2010(24):473-480.
[9] 张光迎,马贤颖.软件故障树分析系统的设计和实现[J].飞行器测控学报,2009,28(3):66 -69.
[10] 倪绍徐,张裕芳,易宏,等.基于故障树的智能故障诊断方法[J].上海交通大学学报:自然科学版,42(8):1372-1375.