2.1 petri网结构和分析方法
从图形上看,petri网由4种不同类型的元素组成,即库所(place,用“○”表示)、转移(transition,用“|”表示)、连接库所和转移的有向弧及位于库所中的托肯(token,用“·”表示)。库所表示系统状态的逻辑描述,转移表示系统中事件或行为产生过程,输入函数(i)和输出函数(o)分别描述库所和转移之间的联结函数关系。若一库所被赋与k个标记(k为非负整数),则说该库所有k个托肯,也称该库所被标记。于是定义标记petri网为一5元组:
∑=(p,t,i,o,m)。以图1所示petri网为例对上述定义进行具体描述[6]。
∑=(p,t,i,o,m);
p={p1,p2,p3,p4};
m=(1 0 0 0);
i(t1)={p1};o(t1)={p2};
i(t2)={p1};o(t2)={p3};
i(t3)={p2,p3};o(t3)={p4};
图1 petri网模型
petri网的执行过程受控于网中托肯的数量和分布情况,并通过转移的点火得以实现。一个转移可点火,首先该转移必须允许点火,即转移使能。一个转移使能的前提条件是该转移的每一个输入库所中被标记的托肯数至少等于该所到该转移的有向弧数。也就是说一个转移的所有输入库所中至少包括一个托肯(假设每条有向弧的权均为1)。体现petri网动态行为的启动规则是:若库所代表的条件满足,转移就点火,点火后转移的输入库所的托肯数等于原托肯数减去该库所到转移的输出弧数。转移的点火使petri网的标记由m转变为m’。
关联矩阵和状态方程是petri网分析和建模的主要工具,状态方程的表示为
m=m0+ct*uo
m,m0分别点火前后的初始标识集和结果标识集;ct为关联矩阵,u为点火序列,由0,1组成的n×1列矩阵。
2.2 故障树到petri网的转换
故障树是事件间的一种布尔逻辑关系模型,也是一种特殊的树状逻辑因果关系图,它用规定的事件,逻辑门和其它符号描述系统中各种事件之间的因果关系[3][4]。
petri网能够用图形符号表示事件的原因和结果间的关系。按照使能规则每个逻辑门都能够用petri网模型来表示。将故障树的各种逻辑连接关系简化为只有库所和转移组成,以有向弧为连接边的网络,使系统的故障模型简洁、易懂,使故障的传播关系一目了然,更重要的是可以采用petri网的可达性和状态方程来进行故障诊断.根据所建立的诊断petri网模型,就可以通过矩阵操作来诊断故障元件。
2.3 故障petri网诊断方法
在基于故障petri网的故障诊断处理时,其目的主要是找出故障源。输入库所的初始标识可表示为故障发生的征兆,若有征兆出现,则该输入库所就包含一个托肯,否则库所为空。而最终标识的求解可以通过故障petri网可达性和状态方程来实现,推理过程结束时,如果目标库所中含有托肯,则表示故障事件发生了,否则表示没有故障发生。
而由故障传播的特性可知,故障petri网中流动的是故障信息,变迁点火后其输入库所中托肯数目并不发生变化,只是在变迁的输出库所中产生一个新的托肯。在这种情况下,在故障petri网中,在此为了简化建模计算,假设当某个变迁点火后其输入库所中托肯消失,但可从m0…mk-1可知当前状态前各级库所中的托肯。
petri网故障诊断模型的建立:
步骤1:根据诊断问题的逻辑关系,如故障树,建立诊断问题的petri网模型;
步骤2: 写出对应故障征兆和目标故障的初始库所和目标库所;
步骤3: 确定故障petri网的初始标识m0,并求出关联矩阵ct,时间标签计数器k=0;
步骤4:由当前的标示mk根据变迁使能规则,求出变迁点火序列uk,若有uk存在,则转入步骤5,否则步骤6;
步骤5:求系统下一状态,k=k+1;转步骤4;
步骤 6:取最后的标识为系统结果状态,从该标识判断目标库所包含的托肯数,若为1,则该故障事件发生,反之则不然。
3 基于petri网的机车故障诊断模型
现以ss7型电力机车电源柜故障为例[5],其故障树模型如图2所示。
图2 故障树模型
t: 电源柜故障;a1:晶闸管故障;a2:阻容保护板故障;a3:稳压触发板损坏;a4:机破;x1:变压器绕组太小且匝数太多;x2:过电压吸收电阻开路;x3:电容炸裂;x4:b组脉冲变压器接线错误;x5:kbr与kbc接线错误;x6:吸收电阻烧毁;x7:qs34没有接通;