为了降低或者避免高铁事故所带来的影响,需要及时检测、准确诊断并消除铁路通信网络的故障,提升系统的安全可靠性.根据通信网络故障诊断的特点,提出基于传统Petri网的改进算法应用到铁路通信故障诊断,为诊断故障提供了新的方法.
With the rapid development of high speed railway and constant expansion of communications network scale, a higher requirement for the reliability of network communication is put forward. To reduce or avoid the impact of the accident, quick detection, accurate diagnosis and faults elimination are required to improve the safety and reliability of the system. According to the characters of fault, a new method to solve the fault diagnosis based on the traditional Petri net was proposed, which was applied in the fault diagnosis fields for railway communication.
铁路通信系统是整个铁路运输管理系统的重要组成部分,是铁路实现统一指挥、统一调度、保证铁路运输安全、提高运输效率和改进管理水平的重要基础设施[1].随着高速铁路的快速发展,铁路通信网络规模越来越大,其上所承载的高铁业务越来越多,在提高网络可靠性与运力的同时,网络通信传输故障是不可避免的.某一设备元件的故障可能会引起连锁反应,导致大面积的网络瘫痪.同时,自然灾害及人为的故障破坏也会导致网络通信中断事故[2],由此会造成巨大的经济损失和严重的人员伤亡,甚至造成灾难性后果,产生不良社会影响.为了最大限度降低故障率,提高系统可靠性,有针对性地对关键设备、线路进行实时监控与故障诊断,做到尽早发现设备在运行过程中的各种隐患,以快速实现故障定位和故障类型识别,成为网络管理设备诊断系统面临和解决的首要问题.
近几十年来,网络故障诊断理论研究得到了快速发展,基于专家系统、人工神经网络、模糊理论、遗传算法的故障诊断技术已被广泛应用.笔者提出基于Petri网的故障诊断方法,应用到铁路通信网络故障诊断中,以实现故障快速诊断与定位,提高网络系统的可靠性,保证列车运行安全.
1 传统Petri网故障诊断局限性Petri网是一种适合描述异步并发现象的系统模型,既有严格的数学定义,又有直观的图形表示,适合人们对客观事件的思维过程和认知方式[3]. Petri网对处理离散资源流动的事件是一种有效的方法,直观的图形化方式使认识Petri的推理过程更加清晰,简单的矩阵运算,能快、准、稳地识别并定位故障.
传统Petri网描述的是资源的流动过程,变迁点火事件的发生,托肯(Token)沿着弧线方向由变迁的输入库所流至变迁的输出库所,随之托肯在变迁的输入库所中消失,表现为Petri网中资源具有不可重用性和不可覆盖性,不适合网络故障传播事实. 图 1给出了用Petri网表示的故障传播模型,图 1中圆圈代表库所,表示系统状态或故障信息,圆圈中黑点表示库所中的托肯资源数量,矩形框代表变迁,变迁点火表示为变迁事件发生.
按照传统的Petri理论,在图 1故障传播模型中在库所p2处存在着资源竞争冲突,在库所p4处存在着资源冲撞,但在故障传播过程中存在并发特性,存在多因一果、一因多果、多因多果现象,多个故障信息沿着多条传播路径最后汇聚到中心设备爆发故障.另外,在传统的Petri网中,变迁点火的发生,将消耗变迁输入库所的托肯,按照这种故障事件描述方式,表示故障传播发生后,故障源的故障将会消失,这与故障传播事实不符.因此,传统的Petri网不能客观描述实际故障传播特性,将针对传统Petri网实施适当改造以适合描述故障实际传播特性.
2 改进的Petri网故障诊断模型改进后的Petri网络故障诊断模型,变迁前的输入库所中的托肯不会因变迁事件的发生而消失,同时也不存在资源冲突和冲撞问题,此时,在Petri网变迁点火不再是资源的流动,而是故障信息的繁衍和衍生.故障信息可以沿多条路径传播,可以是“横向”也可以是“纵向”传播,而且可以相互叠加,产生更加严重的故障,符合故障诊断事实.
2.1 Petri网故障诊断模型定义设Σ=(P, T, F, K, W, S, M0, I, O)为9元组有向网[4-6],其中
1) P={p1, p2, …, pn}为非空有限库所集;
2) T={t1, t2, …, tn}为非空有限变迁集,表示故障事件的发生;
3) F⊆P×T∪T×P(×为笛卡尔积);
dom (F)∪cod (F)=P∪T其中:
$\begin{array}{l} {\rm{dom}}\left( F \right) = \left\{ {x|\exists y:\left( {x,y} \right) \in F} \right\}\\ {\rm{cod}}\left( F \right) = \left\{ {y|\exists x:\left( {x,y} \right) \in F} \right\} \end{array}$ |
分别为F的定义域和值域.
4) K:P→{0, 1}为故障Petri网的容量函数;
5) W为弧上的权函数,默认值为1;
6) S记录变迁的路径标签集合,系统初始集合为空; Tk(n)表示变迁Tk在时刻k点火,变迁点火后,S=S+{Tk(n)};
7) M0为系统初始状态;
8) I为系统输入库所集;
9) O为系统输出库所集.
2.2 Petri网关联矩阵和状态方程关联矩阵和状态方程是Petri网建模和分析的最主要的工具,传统的Petri网的关联矩阵和状态方程不适合计算故障Petri网的变迁点火过程,所以有必要对故障Petri网的关联矩阵和状态方程重新定义.
1) 关联矩阵
令Σ=(P, T, F, K, W, S, M0, I, O)为一个故障Petri网,P={p1, p2, …, pn},T={t1, t2, …, tm},n, m∈z+,矩阵C=[cij](1≤i≤n, 1≤j≤m)是Σ的关联矩阵,其中cij=W (tj, pi).
2) 状态方程
${M_{k + 1}} = {M_k} + (C{U_k})$ |
其中:Mk, Mk+1分别为第K次变迁点火时的初始表示集和结果表示集. C=[cij]为n行m列矩阵,Uk为k时刻的变迁序列,是由0, 1组成的m×1矩阵.
3 Petri网故障诊断算法1) 确定Petri网初始标识M0=cp×1为p行1列矩,关联矩阵为Ci×j=W (tj, Pi)(1≤i≤n, 1≤j≤m),并令S=Ø,路径标签计数器t=0,并查找路径标签集中的路径,对已经执行过的变迁打上标签,不再重复执行此变迁.
2) 由M0初始状态标识,根据变迁点火规则条件,写出此时Uk变迁序列矩阵.
3) 变迁点火后,按照变迁规则,由状态方程写出新的状态标识Mk+1,并把变迁路径加入到S,计数器t=t+1.
4) 如有多条路径重复步骤3).
5) 由以上步骤计算目标库所托肯,如果目标托肯值大于0,说明故障发生,否则没有故障发生.
4 Petri网故障诊断实例图 2所示为某铁路局综合通信网管故障诊断系统开发时所建立的一个故障诊断模型.p1~p8为终端节点设备,其中带有黑点的p5表示有故障发生,p12为目标节点.
根据以上介绍的算法,针对具体案例,做诊断过程如下.
1) 初始状态M0=[0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]T,变迁路径标签集合S=Ø,计数器t=0.
2) 求出关联矩阵
$\mathit{\boldsymbol{C}} = \left[ {\begin{array}{*{20}{c}} 0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0\\ 1&0&0&0&0&0&0\\ 0&0&0&0&0&0&0\\ 0&1&1&0&0&0&0\\ 0&0&0&1&0&0&0\\ 0&0&0&0&1&1&0\\ 0&0&0&0&0&0&1 \end{array}} \right]$ |
3) 根据案例知,变迁t3满足点火条件,此时点火变迁序列U1=[0, 0, 1, 0, 0, 0, 0]T.
4) 变迁t3点火后,由状态方程计算出M1=[0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0]T,将变迁t3加入S={t3(0)}, t=t+1=1.
5) 变迁t6满足点火条件,点火变迁序列为
U2=[0, 0, 0, 0, 0, 1, 0]T
6) 重复执行步骤4,
M2=[0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0]T,将变迁t6加S={t2(0), t6(1)}, t=t+1=2.
7) 变迁t7满足点火条件,变迁点火序列
U3=[0, 0, 0, 0, 0, 0, 1]T
8) 重复执行4) M3=[0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1]T,变迁路径集S={t2(0), t6(1), t7(2)}, t=t+1=3.
综合以上计算分析由最终目标状态标识M3=[0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1]T知,目标节点存在托肯,由此可以说明目标节点必定会发生故障,同时从路径集合知,故障传播路径节点为p5→p9→p11→p12.另一方面,由变迁路径集中的信息,也可以用来网络故障预警,当设备p5存在故障信息时,根据Petri网的严格形式化推理过程,设备p9, p11, p12必然会发生故障事件.可以看出,状态标识Mk清晰记录了系统各状态下的故障信息,方便维护工作人员快速维护网络[7-8].
5 结束语以高速铁路通信网络故障诊断为研究对象,从通信网络故障诊断的实际发生及传播机理入手,提出了基于传统Petri网故障诊断技术.分析了传统Petri网的局限性,提出改进的Petri网模型算法,不仅为网络故障诊断技术提供了新的解决方法,也为国家重大项目的实施奠定了技术基础.
铁路通信网络故障诊断方法是一项长期而复杂的研究工作,目前仅对基于Petri网的故障诊断技术做了部分工作,望今后工作有如下几方面:
1) 在Petri网的层级化研究领域多做工作,以适应网络规模的快速发展;
2) 结合机器学习、人工智能算法增强故障诊断的可信度;
3) 利用云、大数据技术加速关联矩阵算法,提升故障快速诊断能力.
[1] | 谢朋帅. 京广高铁传输系统安全性研究[D]. 北京: 中国铁道科学技术研究院, 2014. http://cdmd.cnki.com.cn/Article/CDMD-83801-1015500226.htm |
[2] | 陈玉宝, 夏继强, 邬学礼. Petri网模型在故障诊断领域的应用研究[J]. 中国机械工程, 2000, 11(12): 1386–1388. doi: 10.3321/j.issn:1004-132X.2000.12.022 |
[3] | 袁崇义. Petri网原理与应用[M]. 北京: 电子工业出版社, 2005. |
[4] | Motameni H, Ghassempouri T, Nematzadeh H. Evaluating the reliability of communication diagram using fuzzy Petri nets[C]//Software Engineering and Service Science, IEEE International Conference. London: EuroJournals Publishing, 2011: 506-526. |
[5] | 杨健维. 基于模糊Petri网的电网故障诊断方法研究[D]. 成都: 西南交通大学, 2008. http://cdmd.cnki.com.cn/Article/CDMD-10613-1012389685.htm |
[6] | 付阶辉. 基于Petri网的故障诊断方法研究[D]. 南京: 东南大学, 2004. http://d.wanfangdata.com.cn/Periodical/gyybyzdhzz200506002 |
[7] | 赵志刚, 吕慧显, 钱积新. 新型Petri网络故障诊断算法研究[J]. 计算机工程与应用, 2003, 39(1): 86–87, 160. |
[8] | 李厦. 基于Petri网的故障诊断技术研究及其在液压系统中的应用[D]. 上海: 同济大学, 2006. http://d.wanfangdata.com.cn/Thesis/Y1026460 |