文献标识码: A
文章编号: 0258-7998(2015)04-0163-04
0 引言
符号有向图(SDG)作为一种定性的故障诊断方法,能反映复杂系统内部变量间的因果关系,直观地展示故障的传播,在故障诊断和安全评估领域中被广泛应用。在故障诊断方面,TARJAN R[1]、SHIOZAKI J[2]等在前人基础上对算法进行了许多改进,提高了推理效率。YU C C等[3]在SDG半定量化方面也做出了突出贡献。在安全评估方面,VENKATASUBRAMANIAN V[4]成功地将SDG应用于化工领域中。国内的吴重光[5,6]、萧德云[7,8]等在这些领域也做了大量的工作。然而,对于大规模复杂工业系统,将SDG方法用于模型构建、系统推理和SDG绘制上仍需要较强的专业背景和较大的工作量。
本文详细描述了基于Django框架[9]的故障诊断和安全评估平台的开发过程。该平台采用了分层SDG模型和一种新的推理方法,继承了Django易开发、便于更新维护、可二次利用的特点。本平台支持系统模型的在线存储和编辑、影响方程组文本文件上传、自动化推理、故障传播路径查询和分层SDG的自动绘制。
1 SDG相关理论
SDG模型由节点集和节点间的支路组成,其中每一个节点通常表示物理变量或事件。节点状态值有3种:“+1”、“-1”、“0”,分别对应节点所代表的变量超过了允许的上限、低于允许的下限、处于正常范围。若某一变量(起始节点)的偏差会直接影响另一变量(终止节点)的偏差,则通过由起始节点指向终止节点的支路相连。用实线箭头或“+”号表示正作用,即起始节点与终止节点同时增大或减小;虚线箭头或“-”号表示反作用,即起始节点增大(减小)时,终止节点减小(增大)。
某一时刻,系统所有节点状态的一个集合称为该系统的一个样本,其中状态不为“0”的节点称为有效节点。在某一样本下,如果直接相连的两个节点的状态值乘积和两者之间的支路作用符号相同,则称该支路在此样本下为相容支路。由相容支路首尾连接组成的连通路径称为相容通路。
在SDG模型的推理方法中,反向推理是指利用当前的故障节点状态,通过反向寻找相容通路来确定系统可能的故障源,即所谓的故障诊断;正向推理是指利用SDG模型中已知节点状态和节点间的相互关系进行正向搜索,推测下一时刻节点可能出现的状态,寻找故障造成的所有不利后果,即所谓的安全评估。
2 平台设计
2.1 平台框架的设计
平台整体框架如图1所示,分为浏览器端和服务器端两大部分。
图1 平台框架
浏览器端包含两部分:(1)人机交互界面用于获取用户输入数据和结果显示;(2)AJAX引擎可以在不重新加载页面的情况下,对安全评估的结果进行更新显示,有效减少了安全评估时的操作量。
服务器端基于Django的设计模式,由Python编写而成。主要包含五部分:(1)URL映射器用于建立用户输入网址与处理函数的映射关系;(2)表现层决定浏览器端的显示内容,通过Django的模板实现;(3)业务逻辑层是整个平台的核心,包含分层、推理等算法的具体实现;(4)数据存取层是表现层与数据库交换数据的桥梁,通过使用Django的模型实现;(5)数据库主要存储系统模型信息和用户信息。
在业务逻辑层,为了提高推理效率,该平台采用了将分层SDG模型、故障诊断和安全评估相结合的推理方法。首先,对系统的SDG模型进行分层处理,在分层SDG模型中,故障只能影响本层或比之更低的层的节点,从而有效减少故障源搜索空间。其次,利用分层结果减少故障源搜索空间,进行反向推理,实现对系统的故障诊断。最后,利用故障诊断结果,结合改进的正向推理算法,实现对系统的安全评估。
2.2 分层算法
本平台采用可达性的分层方法[10]对SDG模型进行分层。可达矩阵的计算方法如下:
P=A0+A1+…+An (1)
其中:A为SDG模型的邻接矩阵,n为A的阶数,An表示A的n次方。P为SDG模型的可达矩阵。
本平台中,分层算法如下所示:
输入:有向图模型?酌。
输出:分层节点结果集S。
(1)由?酌获取系统临界矩阵A,令计数变量k=0;
(2)利用式(1)得到可达矩阵P;
(3)依次选取未被标记j(j∈[0,n-1]),若对于任意i∈[0,n-1],满足Pij≠0时,Pji≠0,则Sk=Sk∪j,同时标记j;
(4)令矩阵P的第m(m∈Sk)行全清0,令S=S∪{Sk},k=k+1,重复步骤(3)、(4),直至Sk=θ。
2.3 反向推理
本平台利用模型的分层结果、相容通路原理和深度优先算法进行反向推理算法的设计。反向推理算法的实现如下:
输入:有向图模型?酌,分层结果S。
输出:故障源集合F。
(1)获取系统所有有效节点,得到集合C;
(2)随机从C中选取未被标记节点vi,并做访问标记,查询vi在分层SDG模型中所在的层n;
(3)从Sm(m≤n)中选取以vi为终止节点的起始节点vj,若存在vj满足vi与vj之间路径ai满足相容支路,则分以下情况处理:
①若vj未被标记,则标记vj,同时以vj为终止节点,令vi=vj,重复步骤(3);
②若vj已被标记,则跳至步骤(2);
③否则,F=F∪{vi};
(4)若C中仍存在未被标记节点,测重复步骤(2),直到所有节点被标记。
2.4 改进的正向推理
对于SDG的正向推理,通常依据式(2):
但式(2)成立的前提为故障在各支路的传播速度相同,这与事实不符。在某些情况下,该方法会影响推理结果的完备性,并且该方法难以获取故障传播路径。
为改进上述方法的不足,本平台首先利用广度优先算法,得到由故障源节点为起点的所有传播路径集合,路径中的节点即为受影响节点。其次,利用式(3)得到受影响节点在各个传播路径下的状态值,从而得到所有受影响节点及其状态值的集合,实现对系统的安全评估。
定义 “[]”表示有序集合,如[v1,v2,v3,…,vn]表示v1,v2,v3…vn间有序。
正向推理算法的实现如下:
输入:有向图模型?酌,故障源节点vx∈F。
输出:受影响节点集合E、以故障源为起点的路径集合L、及路径L上各节点状态值集合T。
(1)依次获取以vx为起始节点的所有终止节点,构成终止节点集合Sy。得到以vx为起点的路径[vx,vy](vy∈Sy),受影响节点集合E=E∪Sy;
(2)选取以vy∈Sy为起始节点的所有终止节点,构成终止节点集合Sz,得到以vx为起点经过vy的路径[vx,vy,vz](vy∈Sz),受影响节点集合E=E∪Sz;
(3)通过步骤(1)、(2)得到以vx(vx∈F)为起始节点的所有路径L、最终的受影响节点集合E;
(4)利用式(3)和路径集合L,得出路径上对应节状态值集T。
3 TEP实例验证
TEP[11]是一个经典的用于故障诊断研究的化工厂仿真平台。本平台生成的TEP的分层SDG模型如图 2所示,其符号说明见表1。节点由高层至底层显示:用白色节点表示正常节点,深灰色节点表示正向偏差节点,浅灰色节点表示反向偏差节点;实线箭头表示正作用支路;虚线箭头表示反作用支路;灰色直线和数字表示节点所在的层。
为了对本平台的有效性进行验证,处理故障模式1(A/C进料比发生阶跃变化)的数据[12],得到一个系统故障样本,如表 2所示。
基于表2列出的故障样本,系统推理出的故障诊断和安全评估结果如图3所示。
在故障诊断结果窗口,系统推理出故障源为节点XC6、节点P16和节点T18,进一步推测出这是由于A/C进料比发生变化引起。与文献[13]比较可知,推理结果正确。
在安全评估结果窗口,平台显示出下一刻所有可能受影响的节点。以选中故障源节点XC6和受影响节点V43为例,传播路径窗口自动列出故障由节点XC6传播到节点V43的两条路径以及路径中各节点的状态值,得到在节点XC6发生故障的影响下,节点V43可能出现的状态值集为{1}。
实际分析,XC6的升高,使得反应器中反应物E、A成分减少。其中,(1)节点XE6的降低,造成节点V43变大;(2)节点XA6的降低,造成节点V44变大,节点F1增加,使得节点XA6增加,又进一步造成了节点XE6的降低,节点V43变大。上述两种情况与传播路径窗口中的两条路径一致。
4 结论
目前,SDG模型已应用于复杂生产系统的故障诊断和安全评估领域,但是将SDG方法用于系统推理和SDG绘制上仍需要较强的专业背景和较大的工作量。基于上述原因,本文详细描述了基于SDG方法的故障诊断和安全评估平台的开发过程,平台的开发基于开源Django框架,具有搭建简单、操作方便、易于二次开发等特点。该平台利用分层SDG模型和新的推理算法实现对系统的故障诊断和安全评估,支持故障传播路径查询和分层SDG的自动绘制。TEP实例结果证明平台的推理结果完备、有效。该平台有效降低了SDG方法对专业背景的要求,减少了使用SDG方法过程中的工作量,有较好的应用前景。
参考文献
[1] TARJAN R.Depth-first search and linear graph algorithms[J].SIAM Journal on Computing,1972,1(2):146-160.
[2] SHIOZAKI J,MATSUYAMA H,O′SHIMA E,et al.An improved algorithm for diagnosis of system failures in the chemical process[J].Computers & Chemical Engineering,1985,9(3):285-293.
[3] YU C C,LEE C.Fault diagnosis based on qualitative/quan-titative process knowledge[J].AIChE Journal,1991,37(4):617-628.
[4] VENKATASUBRAMANIAN V,ZHAO J,VISWANATHAN S.Intelligent systems for HAZOP analysis of complex process plants[J].Computers & Chemical Engineering,2000,24(9):2291-2302.
[5] 张贝克,许欣,高东,等.基于定性趋势与符号有向图的模型校核方法[J].化工学报,2013,64(12):4536-4543.
[6] ZHANG B,XU X,MA X,et al.SDG-based model valida-tion in chemical process simulation[J].Chinese Journal of Chemical Engineering,2013,21(8):876-885.
[7] YANG F,SHAH S,XIAO D.Signed directed graph based modeling and its validation from process knowledge and process data[J].International Journal of Applied Mathematics and Computer Science,2012,22(1):41-53.
[8] YANG F,XIAO D,SHAH S L.Signed directed graph-based hierarchical modelling and fault propagation analysis for large-scale systems[J].IET Control Theory & Applica-tions,2013,7(4):537-550.
[9] Django project[EB/OL].[2014-11-20].https://www.django-project.com/.
[10] SEHGAL R,GANDHI O P,ANGRA S.Fault location of tribo-mechanical systems-a graph theory and matrix approach[J].Reliability Engineering and System Safety,2000,70(1):1-14.
[11] DOWNS J J,VOGEL E F.A plant-wide industrial process control problem[J].Computers & Chemical Engineering,1993,17(3):245-255.
[12] Tennessee eastman challenge archive[DB/OL].[2014-11-20].http://depts.washington.edu/control/LARRY/TE/down-load.html.
[13] 韩晓明.基于符号有向图和支持向量机的故障诊断方法的研究[D].太原:太原理工大学,2011.