发明名称 基于Petri网的PLC在线故障诊断方法
摘要 本发明一种基于Petri网的PLC在线故障诊断方法,针对PLC传感器和执行结构中出现的故障问题,首先,建立PLC对象的规范普通Petri网模型;其次,提出该普通Petri网模型的严格最小库所不变量和特征库所不变量集合,从而借助特征库所不变量集合描述普通Petri网模型的结构信息;再次,基于特征库所不变量集合,提出任意当前标识的故障函数,利用故障诊断函数完成故障识别和定位。由于本发明采用了系统结构信息,无需遍历系统状态空间,降低了计算的复杂性,能够满足实时性的要求,利于工程应用。
申请公布号 CN103616885A 申请公布日期 2014.03.05
申请号 CN201310589522.5 申请日期 2013.11.20
申请人 华侨大学 发明人 罗继亮;叶丹丹;邵辉
分类号 G05B23/02(2006.01)I 主分类号 G05B23/02(2006.01)I
代理机构 泉州市文华专利代理有限公司 35205 代理人 戴中生
主权项 1.一种基于Petri网的PLC在线故障诊断方法,其特征在于包括如下步骤:步骤1、输入系统运行的PLC程序;步骤2、将给定的PLC程序转化为相应的普通Petri网模型N,给出初始标识m<sub>0</sub>和任意标识m;步骤3、求出普通Petri网模型N的关联矩阵D,该关联矩阵D表征着网结构中各结点之间的关系;步骤4、利用方程y·D=0,其中向量y表示库所不变量,计算一个特征库所不变量集合Y={y<sub>1</sub>,y<sub>2</sub>,…,y<sub>k</sub>},k=1,2,…,其中y<sub>1</sub>到y<sub>k</sub>为y·D=0的一个基础解系;步骤5、判断y<sub>i</sub>·m=y<sub>i</sub>·m<sub>0</sub>等式是否成立,i=1,2,…,k;如果所有等式均成立,则没有故障发生,退出算法;否则,执行步骤6;步骤6、计算故障矩阵T(m),其中:<maths num="0001"><![CDATA[<math><mrow><mi>T</mi><msub><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>1</mn><mo>,</mo></mtd><mtd><msub><mi>y</mi><mi>i</mi></msub><mo>&CenterDot;</mo><mi>m</mi><mo>&NotEqual;</mo><msub><mi>y</mi><mi>i</mi></msub><mo>&CenterDot;</mo><msub><mi>m</mi><mn>0</mn></msub><msub><mrow><mo>^</mo><mi>y</mi></mrow><mi>i</mi></msub><mrow><mo>(</mo><msub><mi>p</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>&NotEqual;</mo><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn><mo>,</mo></mtd><mtd><msub><mi>y</mi><mi>i</mi></msub><mrow><mo>(</mo><msub><mi>p</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><mn>0</mn></mtd></mtr><mtr><mtd><mo>-</mo><mn>1</mn><mo>,</mo></mtd><mtd><msub><mi>y</mi><mi>i</mi></msub><mo>&CenterDot;</mo><mi>m</mi><mo>=</mo><msub><mi>y</mi><mi>i</mi></msub><mo>&CenterDot;</mo><msub><mi>m</mi><mn>0</mn></msub><mo>^</mo><msub><mi>y</mi><mi>i</mi></msub><mrow><mo>(</mo><msub><mi>p</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>&NotEqual;</mo><mn>0</mn></mtd></mtr></mtable></mfenced><mo>,</mo><mn>1</mn><mo>&le;</mo><mi>i</mi><mo>&le;</mo><mi>k</mi><mo>,</mo><mn>1</mn><mo>&le;</mo><mi>j</mi><mo>&le;</mo><mi>n</mi><mo>;</mo></mrow></math>]]></maths>从严格最小库所不变量y<sub>i</sub>中可以获取非零列,即j列所对应的库所p<sub>j</sub>所携带的系统信息,若在任意标识m下,库所间关系不满足严格最小库所不变量y<sub>i</sub>,则在该严格最小库所不变量y<sub>i</sub>中携带系统信息的库所p<sub>j</sub>可能存在故障,记其T(m)<sub>i,j</sub>为1;同理,若库所间关系满足严格最小库所不变量y<sub>i</sub>,则该严格最小库所不变量y<sub>i</sub>中携带系统信息的库所p<sub>j</sub>无故障,记其T(m)<sub>i,j</sub>为-1;而y<sub>i</sub>中零列,即不体现系统信息的库所p<sub>j</sub>的故障情况未知,记其T(m)<sub>i,j</sub>为0;步骤7、计算故障函数λ<sub>m</sub>,其中<img file="FDA0000418414710000021.GIF" wi="463" he="158" />i=1,2,…,k,j=1,2,…n;步骤8、比较这n个库所的故障函数λ<sub>m</sub>(p<sub>j</sub>),选出最大的λ<sub>m</sub>(p<sub>j</sub>)<sub>max</sub>,则故障出现在第j个库所p<sub>j</sub>的概率最大,第j个库所p<sub>j</sub>对应PLC程序中的输入,判断故障的类型,是执行机构故障还是传感器故障,输出故障概率最大的传感器或执行机构,退出算法。
地址 362000 福建省泉州市丰泽区城东华侨大学