在基于多信号流图的故障推理算法中,比较经典的是TEAMS-RT算法[6]。该算法具有较小的计算复杂度,可以胜任大规模系统的快速故障诊断。但这种算法是一种穷举搜索方法,得到的推理结果虽然会将各种可能性列出,却无法给出每种可能性的大小,即得不到诊断问题的最优解。当故障源的个数未知时,会造成较高的虚警率,给维修人员带来不便。
文献[7, 8]提出了一种可以用于故障诊断的分支定界算法,其思想是在获得冲突集的基础上将最小诊断集的求解过程映射为整数规划问题,通过对树形节点的分支、定界以及剪支来求解诊断问题的最优解。但是,文献[7, 8]并没有给出冲突集的求解方法,因此不能直接应用于实际的故障诊断问题;且随着系统模型复杂程度的提升,冲突集对故障诊断算法效率的影响越来越明显,快速、准确地获取冲突集能够显著地提高故障诊断的正确率和效率。传统的冲突集求解算法都是基于模型的[9, 10, 11],系统模型越复杂,算法效率就越低。因此本文将分支定界算法与多信号流图相结合,提出了一种基于多信号流图和分支定界算法的故障诊断方法。该方法可以更加高效地解决大规模复杂系统的故障诊断问题,能够更加准确地定位故障,同时也能够避免穷举问题造成的搜索“爆炸”。
1 多信号流图建模方法1.1 多信号流图模型多信号流图模型通过跟踪系统每一元件影响的信号的流向以及每一测试可以检测的信号[12],在系统结构模型的基础上描述故障与测试的依赖关系。模型有下列组成元素:有限的系统构成元件集合C={c1,c2,…,cL};n维有限测试集合T={t1,t2,…,tn};与元件相关的信号集合S={s1,s2,…,sk};r维测试点集合Tp={Tp1,Tp2,…,Tpr};每个测试点Tpi对应的一组测试集Sp(Tpi);每个元件ci影响的一组信号集Sc(ci);每个测试tj检测到的一组信号子集St(tj)。
1.2 多信号流图建模多信号流图的建模步骤一般分为如下3步[5]:
步骤1 建立结构模型、原理图或概念方框图,用连接线表示出故障传递关系。
步骤2 根据系统的结构和功能,将信号集加载到元件或测试中。
步骤3 为一些特殊的情形修正模型,如通过与节点构建冗余元件,利用开关节点对系统不同运行模式建模,对包括机内测试(Built-in Test,BIT)的元件设计相应的BIT属性。
1.3 相关矩阵在多信号流图模型中,故障源与测试之间的依赖关系是通过对元件和测试定义关联信号来实现的,以此为基础生成故障-测试相关性矩阵D=[dij]作为诊断知识。矩阵D中,行代表测试,列代表元件。若第i个测试能检测到系统第j个元件的故障,则dij=1;否则,dij=0。
2 基于分支定界算法的故障诊断本文提出的故障诊断方法将多信号流图模型与分支定界算法相结合,利用多信号流图所生成的D矩阵以及观测向量生成冲突集,再通过分支定界算法和冲突集求解最小诊断集。在寻求最小诊断集阶段,先将求解过程映射为0-1整数规划问题,这使得在求解伊始就能迅速地得到解集中元素个数的上下界,以此为基础再运用分支定界算法,即可得到故障诊断的最优解。
2.1 由D矩阵和观测向量产生冲突集在基于模型的故障诊断中,冲突集是指预期行为与观测行为不一致的元件的集合[13]。观测向量O=[oi]与T={ti}相对应,是由各测试数据经过处理后得出的测试结果,oi=0代表测试通过,oi=1代表测试不通过。
由多信号流图生成D矩阵后,选择O中值为1的测试对应的D矩阵中的行作为冲突集Ci,组成0-1矩阵A作为冲突集的关联矩阵。关联矩阵的示意图如图 1所示,矩阵中的列Fi代表元件。
图 1 冲突集关联矩阵示意图Fig. 1 Schematic for dependency matrix of conflict sets |
图选项 |
2.2 最小诊断集求解过程到整数规划的映射冲突集矩阵A产生后,就可以用式(1)描述最小诊断集的求解过程:
式中:x=(x1,x2,…,xn)为故障源向量,当且仅当A的第j列Fj属于最小诊断集时,xj=1,否则xj=0;bT=(1,1,…,1)为所有元素的值全为1的列向量。由式(1)可以看出,待求解的问题转化为了0-1整数规划问题。
解决整数规划问题的核心是寻找最小诊断集的上界和下界。上界由Upper_Bound[A]表示,本文的求法是选择矩阵A中权值最大的列a1,然后删除这一列以及该列所有不为0的元素所在的行;重复下去,直到得到空矩阵。假设获得的a1共有t个,则t是这个线性规划问题的上界。下界由Lower_Bound[A]表示,求解时考虑Ax≥b的1范数。由||b||1=p(其中p为b的元素个数),有
2.3 故障诊断分支定界算法故障诊断分支定界算法是以分支、定界、剪支为基础的[14, 15]。基本思想是:首先分别研究将冲突集矩阵中权值最大的列作为解集和非解集中的元素这2种情况下碰集的求解问题,即分支;然后应用最小诊断集上下界的计算方法确定这2个子问题的上下界,即定界;最后对于无法得到全局最优解的情况不做进一步分支和定界,即剪支。迭代上述过程直到得到故障诊断问题的最优解。
设冲突集矩阵A为p×n阶0-1矩阵,列的集合表示为{1,2,…,n}。分支定界算法的求解过程就是搜索树形解空间的过程,树的节点用λ=(M,Tin,Tout)表示。其中:Tin和Tout为A的列标号集合,Tin中的元素为解的子集,Tout中的元素不属于解。在求解的过程中,M是A与Tin∪Tout的差集。Labels是一个集合列表,用于存储搜索树的各个节点。最小诊断集用Solution表示。
在介绍算法之前,先定义如下几种功能函数。
1) 3种节点操作
Place_Finding[Tin,Tout,j]:从A中找到与M中的第j列对应的列,简化表示为j;
Remove_0[M,j]:删除M中的第j列;
Remove_1[M,j]:删除M中所有与第j列相交不为0的行,并删除第j列。
2) 节点化简方法
Rule_1~Rule_5代表节点化简的5种规则。
用Rule*[λ]表示对节点λ使用Rule_1~Rule_5进行处理,直到不能再化简为止。
3) 节点分裂方法
在找到节点λ=(M,Tin,Tout)中权值最大的列j后,定义2个新的节点:
基于式(8)的定义,分裂方法定义为
4) 节点上下限表示方法
5) 节点上限集合表示方法
节点上限集合表示为Upper_Bound_Set[λ],由Tin中的元素以及求Upper_Bound[M]时所有权值最大的列的集合组成。
6) 解测试函数
7) 叶节点测试函数
式中:U=Upper_Bound[λ]为解集的上界。
算法的故障诊断流程如图 2所示,具体步骤如下:
步骤1 根节点生成。令λ0=(A,?,?),U=Upper_Bound[λ0],Solution←?。将λ0添加到Labels集合中。
步骤2 节点化简。应用Rule*[λ]函数对Labels中的节点进行化简,化简后的节点表示为λ=(M,Tin,Tout)。
步骤3 对当前节点λ求解。
① 若Upper_Bound[λ] < U & Test_Solution[λ]=false,则U=Upper_Bound[λ],Solution←Upper_Bound_Set[λ]。
② 若Upper_Bound[λ] < U & Test_Solution[λ]=true,则U=Upper_Bound[λ],Solution←Tin。
③ 若Upper_Bound[λ]=U & Test_Solution[λ]=true & Solution=?,则Solution←Tin。
④ 若Upper_Bound[λ]=U & Test_Leaf[λ,U]=true & Solution=?,则Solution←Upper_Bound_Set[λ]。
步骤4 节点分裂。由Test_Leaf[λ,U]函数判断λ是否为叶节点,若结果为“否”,则运用函数Split[λ]将节点分裂成2个新的节点λ1、λ2并将它们添加到Labels集合中;否则说明λ已经不能继续分裂,将λ从Labels集合中删除。
步骤5 若节点已穷尽,则Solution就是最优解;若仍有未处理的节点,则转步骤2。
图 2 基于分支定界算法的故障诊断流程Fig. 2 Fault diagnosis flow based on branch-and-bound algorithm |
图选项 |
2.4 特定情况下对算法的修正在节点化简阶段,对于Rule_1,若M存在全1列k,原算法的处理方式是直接将这一列所对应的故障xk作为最优解,而实际情况可能是存在多种故障源而非发生单一故障。为了确定系统发生的真实故障,本文的处理步骤如下:
步骤1 选择观测向量O中值为0的测试组成通过测试集合TPass_Test_Set。遍历该集合中的测试,求所有通过测试所检测元件集的并集:
步骤2 判断xk是否属于TGood_Set。若是,则删除第k列;否则,xk为最优解。
3 某型飞机燃油系统建模及在线故障诊断将第2节所述诊断方法用于某型机载燃油系统中进行验证,系统原理图如图 3所示。
图 3 某型飞机燃油系统原理图Fig. 3 Schematic diagram of an aircraft fuel system |
图选项 |
飞机为三油箱布局,飞行时首先消耗中央翼燃油箱内的燃油,此时只有中央翼超控泵工作,而供油油箱增压泵出口单向活门保持关闭;一旦中央翼油箱燃油耗尽,中央翼超控泵关断,供油油箱增压泵单向活门打开,向发动机供油。油箱内均装有液位传感器测量燃油存量,管路及燃油泵出口处均安装有压力传感器测量压力。
对于上述燃油系统,采用MATLAB/Simulink软件进行建模仿真。图 4是在Simulink中搭建的燃油系统仿真模型。模型中传感器提供相应仿真信号用以观测实际系统状态,由此生成观测向量作为冲突集产生的依据。
图 4 某型飞机燃油系统Simulink仿真模型Fig. 4 Simulink simulation model of an aircraft fuel system |
图选项 |
分析该型飞机燃油系统各元件的实际交联关系,并假设所有元件的故障均为功能故障。采用第1节描述的多信号流图建模方法,得出该飞机燃油系统的多信号流图模型如图 5所示。该模型中共包括12个元件的13种故障模式,设置6个测试点,12个测试。图 5中电源元件对应2种故障模式,即电源欠压与电源过压,分别表示为1.1和1.2,其他元件分别对应单一故障模式。由于传感器输出的信号可能具有多种故障征兆,为了获得更高的故障隔离率,在各个测试点上又分别设置了对应不同故障征兆的多种测试。
图 5 某型飞机燃油系统多信号流图模型Fig. 5 Multi-signal flow graph model of an aircraft fuel system |
图选项 |
根据多信号流图中各故障元件与测试的依赖关系可生成相关矩阵(见表 1)。表中故障元件的标号与图 5中各矩形模块的标号相对应。
表 1 某型飞机燃油系统相关矩阵Table 1 Dependency matrix of an aircraft fuel system
故障元件 | 1.1 | 1.2 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
T1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
T2 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
T3 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
T4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
T5 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
T6 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
T7 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
T8 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
T9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
T10 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
T11 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
T12 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
表选项
将D矩阵及实时观测向量作为输入,按照第2节给出的诊断算法进行故障诊断,可以得到系统中各元件的健康状态,分为正常和故障2种。
为了证明本文故障诊断方法的有效性,将本文算法与常用的故障诊断算法TEAMS-RT进行比较。后者通过遍历通过和失败的测试再根据相关矩阵中测试与故障源的依赖关系进行推理,输出一个包含故障的、可疑的、正常的以及未知的元件状态集合列表[5]。
分别将2种诊断算法运行在CPU 1.87 GHz、内存2 GB的PC机上。在仿真阶段将单一故障或多种故障组合注入系统,表 2分别列出了注入1、2、3和4种故障时2种算法的诊断对比结果。由表 2可以看出,针对某型机载燃油系统,在不考虑故障掩藏的情况下,无论发生单故障还是多故障,采用本文算法都能够更准确地定位故障。而TEAMS-RT算法则有可能得不到准确的故障元件。这是因为TEAMS-RT算法是一种穷举搜索算法,当无法由测试结果唯一确定故障源时,将会列出所有可能的诊断结果从而造成较高的虚警率。例如当注入故障2时,该算法只给出了所有可疑元件,但无法得知每种元件故障的可能性大小,即无法精确定位故障;而本文算法则会根据对搜索树节点的分支以及上下界的求解来寻找最小诊断集,从而得到最优解,使故障定位更加准确。
表 2 2种诊断算法的结果对比Table 2 Comparison results of two diagnostic algorithms
注入故障 | TEAMS-RT算法 | 本文算法故障元件 | |
故障元件 | 可疑元件 | ||
2 | 2,3,4,6,8,9 | 2 | |
5 | 5 | 6,8,9 | 5 |
5,1.1 | 5,1.1 | 6,8,9 | 5,1.1 |
5,10 | 5,10 | 8,9 | 5,10 |
5,10,1.1 | 5,10,1.1 | 8,9 | 5,10,1.1 |
5,11,1.1 | 5,11,1.1 | 6,8,9 | 5,11,1.1 |
3,5,10,1.2 | 3,10,1.2 | 5,8,9 | 3,5,10,1.2 |
2,8,9,11 | 11 | 2,8,9,3,6,4 | 2,11 |
表选项
进一步比较2种诊断算法的计算时间,部分结果如表 3所示。算法运行的时间定义为从仿真时故障注入到推理机得出推理结果的时间,表 3列出的结果均为1 000次算法运行时间的平均值。由表 3可以看出,针对某型机载燃油系统,TEAMS-RT算法与本文算法的时间消耗在一个数量级上。系统模型越复杂,D矩阵的阶数越高,本文算法在速度上所具有的优势越大。
表 3 2种诊断算法计算时间对比Table 3 Computation time comparison of two diagnostic algorithms
注入故障 | TEAMS-RT算法时间/ms | 本文算法时间/ms |
2 | 0.212 | 0.169 |
5 | 0.211 | 0.165 |
5,1.1 | 0.211 | 0.207 |
5,10 | 0.174 | 0.209 |
表选项
另外,对本文算法的实时性进行模拟实验。在模拟实时系统的故障诊断时,采用本文仿真平台,每秒取100个传感器数据生成对应的监测向量作为算法的输入,即离散时间步长为0.01 s,本文算法也可以满足该实时性要求。
4 结 论本文提出了完整的基于多信号流图和分支定界算法的故障诊断方法,并通过对机载燃油系统的故障诊断进行了仿真验证。该故障诊断方法有效地融合了多信号流图在表达故障诊断知识和故障冲突集上的优势,并通过结合分支定界算法优化了求解故障诊断最优解的过程。与常用的故障诊断方法的比较证明了本文算法的有效性、快速性和实时性。本文提出的故障诊断方法能够实现各种单故障的诊断和对多故障的有效隔离,可以胜任大型复杂系统的故障诊断问题。
参考文献
[1] | TAN X D,QIU J,LIU G J,et al.A novel approach of testability modeling and analysis for PHM systems based on failure evolution mechanism[J].Chinese Journal of Aeronautics,2013,26(3):766-776. |
Click to display the text | |
[2] | CUI Y Q,SHI J Y,WANG Z L.An analytical model of electronic fault diagnosis on extension of the dependency theory[J].Reliability Engineering & System Safety,2015,133:192-202. |
Click to display the text | |
[3] | YANG L,YU P Q,TANG H.Real-time failure diagnosis technology for satellites based on multi-signal model[C]//2014 7th International Symposium on Computational Intelligence and Design (ISCID).Piscataway,NJ:IEEE Press,2014,1:360-364. |
Click to display the text | |
[4] | 李凯凯,丁天宝,吕启元.基于多信号流图模型的装备故障诊断方法[J].火炮发射与控制学报,2012,33(1):68-71. LI K K,DING T B,LYU Q Y.Fault diagnosis method of equipment based on multi-signal flow graphs model[J].Journal of Gun Launch & Control,2012,33(1):68-71(in Chinese). |
Cited By in Cnki | |
[5] | DEB S,PATTPATI K R,RAGHAVAN V,et al.Multi signal flow graphs:A novel approach for system testability analysis and fault diagnosis[J].IEEE Aerospace and Electronic Systems Magazine,1995,10(5):14-25. |
Click to display the text | |
[6] | MATHUR A,DEB S,PATTPATI K R.Modeling and real-time diagnostics in TEAMS-RT[C]//Proceedings of the American Control Conference.Piscataway,NJ:IEEE Press,1998:1610-1614. |
Click to display the text | |
[7] | FIJANY A,VATAN F.New high performance algorithmic solution for diagnosis problem[C]//IEEE Aerospace Conference.Piscataway,NJ:IEEE Press,2005:3863-3873. |
Click to display the text | |
[8] | FIJANY A,VATAN F.A new efficient algorithm for analyzing and optimizing the system of sensors[C]//IEEE Aerospace Conference.Piscataway,NJ:IEEE Press,2006:1-8. |
Click to display the text | |
[9] | FIJANY A,VATAN F,BARRETT A.A novel efficient method for conflicts set generation for model-based diagnosis[C]//2009 3rd IEEE International Conference on Space Mission Challenges for Information Technology.Piscataway,NJ:IEEE Press,2009:346-354. |
Click to display the text | |
[10] | 赵相福,欧阳丹彤.基于模型的诊断中产生所有极小冲突集的新方法[J].吉林大学学报(工学版),2007,37(2):413-418. ZHAO X F,OUYANG D T.New methods for deriving all minimal conflict sets in model-based diagnosis[J].Journal of Jilin University(Engineering and Technology Edition),2007,37(2):413-418(in Chinese). |
Cited By in Cnki (12) | |
[11] | 欧阳丹彤,焦玉,赵相福.基于ATMS的冲突识别及诊断测量方法[J].吉林大学学报(工学版),2009,39(6):1601-1606. OUYANG D T,JIAO Y,ZHAO X F.Approach for conflict sets identification and diagnostic measurement based on ATMS[J].Journal of Jilin University(Engineering and Technology Edition),2009,39(6):1601-1606(in Chinese). |
Cited By in Cnki (1) | |
[12] | 陈世杰,连可,王厚军.采用多信号流图模型的雷达接收机故障诊断方法[J].电子科技大学学报,2009,38(1):87-91. CHEN S J,LIAN K,WANG H J.Fault diagnosis method of radar receiver using multi-signal flow graphs model[J].Journal of University of Electronic Science and Technology of China,2009,38(1):87-91(in Chinese). |
Cited By in Cnki (15) | |
[13] | 宋东,周建民,王彦文.基于模型的飞机燃油系统故障诊断系统的设计与实现[J].测控技术,2011,30(4):43-46. SONG D,ZHOU J M,WANG Y W.Design and implementation of model-based fault diagnosis for fuel system of aircraft[J].Measurement & Control Technology,2011,30(4):43-46(in Chinese). |
Cited By in Cnki (9) | |
[14] | 于战科,倪明放,汪泽焱,等.整数线性规划的改进分支定界算法[J].计算机应用,2011,31(S02):36-38. YU Z K,NI M F,WANG Z Y,et al.Revised branch-and-bound algorithm for integer linear programming[J].Journal of Computer Applications,2011,31(S02):36-38(in Chinese). |
Cited By in Cnki (2) | |
[15] | 赵洪山,陈亮.输电线扩展规划分支定界算法[J].电力系统保护与控制,2010,38(11):60-66. ZHAO H S,CHEN L.Transmission line expansion planning branch and bound method[J].Power System Protection and Control,2010,38(11):60-66(in Chinese). |
Cited By in Cnki (2) |