1.一种基于Petri网的PLC在线故障诊断方法,其特征在于包括如下步骤:步骤1、输入系统运行的PLC程序;
步骤2、将给定的PLC程序转化为相应的普通Petri网模型N,给出初始标识m0和任意标识m;
步骤3、求出普通Petri网模型N的关联矩阵D,该关联矩阵D表征着网结构中各结点之间的关系;
步骤4、利用方程y·D=0,其中向量y表示库所不变量,计算一个特征库所不变量集合Y={y1,y2,…,yk},k=1,2,…,其中y1到yk为y·D=0的一个基础解系;
步骤5、判断yi·m=yi·m0等式是否成立,i=1,2,…,k;如果所有等式均成立,则没有故障发生,退出算法;否则,执行步骤6;
步骤6、计算故障矩阵T(m),其中:
从严格最小库所不变量yi中获取非零列,即j列所对应的库所pj所携带的系统信息,若在任意标识m下,库所间关系不满足严格最小库所不变量yi,则在该严格最小库所不变量yi中携带系统信息的库所pj可能存在故障,记其T(m)i,j为1;同理,若库所间关系满足严格最小库所不变量yi,则该严格最小库所不变量yi中携带系统信息的库所pj无故障,记其T(m)i,j为-1;而yi中零列,即表示系统信息的库所pj的故障情况未知,记其T(m)i,j为0;
步骤7、计算故障函数λm,其中 i=1,2,…,k,j=1,2,…n;
步骤8、比较这n个库所的故障函数λm(pj),选出最大的λm(pj)max,则故障出现在第j个库所pj的概率最大,第j个库所pj对应PLC程序中的输入,判断故障的类型,是执行机构故障还是传感器故障,输出故障概率最大的传感器或执行机构,退出算法。