法律状态公告日
法律状态信息
法律状态
2016-05-18
授权
授权
2014-04-23
实质审查的生效 IPC(主分类):G05B23/02 申请日:20131120
实质审查的生效
2014-03-05
公开
公开
技术领域
本发明涉及PLC在线故障诊断领域,是一种基于Petri网特征结 构的PLC在线故障诊断方法。
背景技术
可编程逻辑控制器(PLC)是工业控制系统中典型的控制器硬件, 广泛地应用于钢铁、石油、化工、电力和交通系统的监控。而PLC系 统中的故障问题更是面临着高复杂性难题:在现场总线技术的支持 下,工业控制系统规模和结构复杂性增长迅速,比如地铁交通控制系 统和核电控制系统等等,由于系统的状态个数随着传感器和执行机构 的数目呈指数级增长,仅由5辆自动导航车辆组成的物流系统的状态 就达数百万之巨,因此PLC系统中的故障诊断问题面临与生俱来的高 计算复杂性。
发明内容
本发明的目的在于提出一种采用系统结构信息,无需遍历系统状 态空间,且能够满足实时性要求的有效的PLC在线故障诊断方法。
一种基于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程序 中的输入,判断故障的类型,是执行机构故障还是传感器故障,输出 故障概率最大的传感器或执行机构,退出算法。
针对PLC传感器和执行结构中出现的故障问题,本发明提出了基 于普通Petri网结构特征的故障诊断方法,首先,建立PLC对象的规 范普通Petri网模型;其次,提出该普通Petri网模型的严格最小库 所不变量和特征库所不变量集合,从而借助特征库所不变量集合描述 普通Petri网模型的结构信息;再次,基于特征库所不变量集合,提 出任意当前标识的故障函数,利用故障诊断函数完成故障识别和定 位。由于本发明采用了系统结构信息,无需遍历系统状态空间,降低 了计算的复杂性,能够满足实时性的要求,利于工程应用。
附图说明
图1为本发明的流程示意图;
图2为实施例的俯视示意图;
图3为实施例的PLC梯形图;
图4为实施例程序中的输入及输出所对应的物理含义;
图5为实施例运行的Petri网模型;
图6为实施例Petri网中各结点对应的物理含义。
以下结合附图和具体实施例对本发明作进一步详述。
具体实施方式
如图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程序 中的输入,判断故障的类型,是执行机构故障还是传感器故障,输出 故障概率最大的传感器或执行机构,退出算法。
实施例:
如图2所示为一个3工位钻床的工作台的俯视示意图,当按下启 动按钮后,3个工位同时工作,其中一个工位,系统驱动送料液压缸 将工件送到圆形工作台上,然后送料液压机构退回。在同一时刻,在 另1个工位上系统将工件加紧并钻孔,然后钻头向上返回初始位置, 并松开工件。在最后1个工件则自动用深度计测量加工的孔是否合 格。如果合格则测量头自动上升,并自动卸下加工好的工件,然后卸 料液压机构返回。如果不合格,测量头返回后由人工取走次品,然后 用按钮发出人工卸料完成的重启信号。当3个工位的操作都完成后, 其顺时针旋转120°,以便为下一次送料、装夹及加工、测量的循环 做好准备。最后系统返回初始位置。其PLC程序如图3所示。图4为 实施例程序中的输入及输出所对应的物理含义。如图5所示,为将图 3的PLC程序的梯形图转化相应的Petri网。Petri网中各结点对应 的物理含义如图6所示。
基于上面给定的Petri网模型,算出3工位钻床工作台的关联矩 阵D,如下:
求解严格最小库所不变量y,得到如下方程组:
分别选取
令y1=ξ1,y2=ξ2,y3=ξ3,得到一个特征库所不变量集:
Y={y1,y2,y3}
其中三个严格最小库所不变量为:
给定一个当前标识:
m′=[0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1]T,带入步骤4中得到:
因此当前标识m′对应的故障矩阵为:
则相应的故障函数为则计算出如下结果:
λ(p1)=3,λ(p2)=1λ(p3)=1,λ(p4)=1,λ(p5)=1,λ(p6)=1,λ(p7)=1,λ(p8)=λ(p9)= λ(p10)=λ(p11)=λ(p12)=λ(p13)=λ(p14)=λ(p15)=λ(p16)=1,λ(p17)=3。
比较一下大小,发现λ(p1)和λ(p17)取值最大,则故障发生在p1、p17这两 个库所处的概率最大。
现在根据Petri网的演化规则判断,库所p17与库所p9、p15和p16不 可能同时出现标识,变迁t14未激发,库所p17中未能够出现标识,这与 给出的标识m′矛盾,则库所p17处出现故障,工作台此时不可能处于旋 转状态。此类故障为PLC程序中执行机构出现故障。
机译: 基于扩展Petri网的控制目标系统建模方法及基于扩展Petri网的控制器
机译: 基于RFSI和PLC的基于RSSI和PLC的基于位置的服务系统和方法
机译: 基于可重编程系统在PLC中央单元和专用PLC协处理器之间分配PLC任务的方法和系统