主权项 |
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>·</mo><mi>m</mi><mo>≠</mo><msub><mi>y</mi><mi>i</mi></msub><mo>·</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>≠</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>·</mo><mi>m</mi><mo>=</mo><msub><mi>y</mi><mi>i</mi></msub><mo>·</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>≠</mo><mn>0</mn></mtd></mtr></mtable></mfenced><mo>,</mo><mn>1</mn><mo>≤</mo><mi>i</mi><mo>≤</mo><mi>k</mi><mo>,</mo><mn>1</mn><mo>≤</mo><mi>j</mi><mo>≤</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程序中的输入,判断故障的类型,是执行机构故障还是传感器故障,输出故障概率最大的传感器或执行机构,退出算法。 |