数控机床控制系统的Petri网故障诊断方法
2017-04-27罗继亮
池 正,罗继亮,邵 辉
(华侨大学 信息科学与工程学院,厦门 361021)
数控机床控制系统的Petri网故障诊断方法
池 正,罗继亮,邵 辉
(华侨大学 信息科学与工程学院,厦门 361021)
针对数控机床控制系统中传感器和执行机构故障,给出了一种基于Petri网的故障诊断方法:首先,根据数控机床各单元之间的运行逻辑和动态特性,得到了数控机床控制系统的标签Petri网模型;其次,根据各故障类型的行为特征,采用不可观变迁模拟故障;再次,给定任何传感器信号序列,利用Petri网的状态方程推理全部可能的系统行为,从而判断系统是否可能发生故障,并推理故障元件;最后利用一个示例演示验证了本文的方法。
Petri网;数控机床控制系统;传感器;故障诊断;故障变迁
0 引言
数控机床是数字控制机床的简称,是一种装有程序控制系统的自动化机床,广泛运用于各种行业的生产加工中。随着制造系统的规模与结构性复杂性迅速增长,数控机床控制系统也面临着越来越多的故障问题。一旦数控机床出现故障,就将影响加工的效率和准确度。
针对数控机床的故障诊断问题[1],学界已经开展了卓有成效的研究工作。文献[2~3]采用了故障树分析方法,对数控机床的故障进行诊断。但在构建故障树时的工作量相当繁重,难度也较大,不能够及时判断并解决故障问题。文献[4]采用了粗糙集和证据理论的研究方法,提出了一种智能故障诊断方法。但该方法过分依赖自身知识库,且对数据噪声过分敏感。文献[5,6]则采用了人工神经网络的分析方法,模仿人类专家的联想和直觉,为数控机床故障诊断提供了一条新的路径。然而其理论尚未完善,目前还不能够达到人类专家的水准,因此该方法可靠性较低。
然而在数控机床可能出现的故障[7,8]中,由限位传感器等引起的故障是最致命的,有可能导致整个机床的破坏,甚至更加严重的后果。数控机床所进行的任何工作,都必须在确保安全的条件下进行,因此保证数控机床每一轴限位传感器的正常工作是首要任务。而Petri网[9]是研究离散事件动态系统的一种很重要的工具,一些学者[10]就运用了Petri网对柔性制造系统进行建模和分析[11,12],而数控机床是柔性制造系统中的一部分,因此将Petri网理论与数控机床控制系统相结合,能够简洁、深刻的刻画出数控机床控制系统各个部分的动态性质。
为此,本文首先根据数控机床各单元之间的运行逻辑和动态特性,采用分块建模的思想,建立数控机床控制系统的Petri网模型;然后根据各故障类型的行为特征,采用不可观变迁模拟故障,获得该系统的故障Petri网模型;最后提出相应的故障诊断算法,来判断数控机床是否发生的故障,并推理出发生故障的元件。并且全文中以一个四轴联动桥式切割机为例子,将文章中的方法加以使用和验证。与文献[2~3]相比,本文中采用构建标签Petri网模型的方法,对系统中所有信号贴上标签,通过观察标签序列来判断是否有故障发生;与文献[7~8]相比,本文针对所有由传感器信号引起的故障类型,采用不可观测变迁模拟故障,建立了故障Petri网模型,最终根据该模型得到了相应的故障诊断算法;而与文献[11~12]对比,本文对数控机床控制系统内部的各个工作单元进行建模,能准确判断发生故障的元件。
1 基本概念
普通P e t r i网可以用一个五元组N=(P, T, Pre, Post, m0)来表示,其中:P是一个有限的非空库所(place)集合;T是一个有限的非空变迁(transition)集合;Pre:(P× T)→{0,1,…}是输入关联函数,定义了从库所到变迁的有向弧的权值;Post:(T×P)→{0,1,…}是输出关联函数,定义了从变迁到库所的有向弧的权值;m0:P→{0,1,…}是初始标识,对应初始时刻下各个库所持有的托肯数。
Petri网的激发规则:在某一标识m下,如果一个变迁的所有输入库所中包含的托肯数大于等于这些库所指向该变迁的有向弧的权值,则称该变迁是使能的。即当且仅当,∀pi∈•tj,都满足m(pi)≥Pre(pi,tj)时,变迁tj在标识m下是使能的。
标签Petri网可用一个三元组(N,Σ,L)来表示,其中:N=(P,T,Pre,Post,m0)为普通Petri网;Σ={a,b,…}是一个标签(label)集合;L:T→Σ∪{λ}为标记函数,能够将系统中任意的变迁贴上标签集合Σ中的一个标签或空标签λ。值得注意的是,一个标签可以同时标记一个或多个可观测变迁,而不可观测的变迁用空标签λ来标记。如果任意一个标签a(a∈Σ)同时标记了Petri网中的多个变迁,我们将这种类型的标签称为不确定性标签,反之则称为确定性标签。当贴有标签a(a∈Σ)的变迁激发后,我们能够观测到标签a。相应的,当变迁的激发序列为S=t1t2…tk时,我们观测到的标签序列为
2 问题描述
如图1所示,一个典型的数控机床控制系统可以分成驱动装置模块、限位保护模块、报警模块和上位装置模块。数控机床同时拥有多个独立的轴,但每一轴的工作原理都相同,并且其中的驱动装置和限位传感器也都相互独立,因此本文只对数控机床的其中一轴进行研究。
图1 数控机床控制系统的分块示意图
在一般的数控机床控制系统中,伺服电机构成该系统中的驱动装置模块,限位传感器构成该系统中的限位保护模块,报警模块也是由传感器构成,而上位装置模块则是由PLC或运动控制卡构成的。通过编写上位机指令,上位装置发送脉冲和方向信号给驱动装置,使伺服电机开始运动。脉冲信号决定电机运行的距离,方向信号决定电机运行的方向。
数控机床的每一轴的两端都有一个极限位置,在伺服电机运行的过程中,可能会达到某一个极限位置,此时限位传感器会发送限位信号,使伺服电机停止运行。在每一轴的中点处也有一个传感器,初始时刻伺服电机位于该中点处,即原点位置。每一台伺服电机的后端都有一个编码器,其作用是用来反馈伺服电机的位置和速度信号。在数控机床中,可以将伺服电机运动的距离,转换为用脉冲个数来表示。因此可以假设数控机床的某一轴的轴长转换为脉冲数2y,即电机从原点位置到任意一端极限位置所需要的脉冲个数为y,且从原点位置到达警报位置所需要的脉冲个数为0.9y,即电机运行到此处时,数控机床会一直发出警报信号;电机反方向离开此处后,警报信号消失。在这里,y和0.9y的值都取为整数。
根据数控机床控制系统的工作原理,其工作过程中能检测到限位信号、警报信号和上位指令信号,其中上位指令信号包括脉冲信号和方向信号。同时,在其工作过程中也可能会出现各种故障类型,如表1所示。
表1 数控机床控制系统的故障类型
接下来,将给出数控机床控制系统的Petri网建模以及故障诊断的相关算法,并以一个四轴联动桥式切割机为例子进行验证其可行性。
3 数控机床控制系统的Petri网建模
本节主要考虑对数控机床控制系统工作过程的Petri网建模,采用分块建模的思想,分别对上述4个模块进行建模,最后通过组合得到完整的数控机床控制系统的Petri网模型。
定义1:给定数控机床控制系统的一个工作单元x,其Petri网模型为其中,库所集合表示休息状态,表示工作状态;变迁集合表示使工作单元由休息状态到工作状态的事件,表示使工作单元由工作状态到休息状态的事件;有向弧集合初始标识
考虑到数控机床控制系统的工作单元包括:伺服电机、限位传感器、警报传感器和上位装置,其中上位装置包括输出脉冲信号和方向信号的端口,因此设定这些工作单元的变量名(如表2所示)。根据定义1,以限位传感器s为例,其Petri网模型可表示为如图2所示。
图2 限位传感器的Petri网模型
表2 工作单元的变量名
对于给定的数控机床控制系统,上位装置能接收到限位信号,使其不再发送脉冲信号,伺服电机也随之停止。可以将上述事件分别模拟为变迁和,其中n=1或2,1代表的是由正向限位信号引起的事件,2代表的是由反向限位信号引起的事件。
定义2:对于一台伺服电机的编码器,其Petri网模型可以表示为N={P,T,F}。其中,库所集合表示伺服电机到轴正端的距离,表示伺服电机到轴负端的距离;变迁集合表示伺服电机正向运行的事件,表示伺服电机反向运行的事件;而有向弧集合为初始标识为
下面我们在上述内容的基础上给出具体的建模算法——算法1。
算法1:数控机床控制系统的Petri网建模算法。
输入:数控机床控制系统的所有工作单元和编码器。
输出:数控机床控制系统的Petri网模型。
Step 1 根据定义1,对数控机床控制系统的各个工作单元进行Petri网建模;
Step 2 上位装置接收到限位信号,使其不再发送脉冲给伺服电机,据此添加相应的有向弧;
Step 2.1 添加库所指向变迁的双向弧和库所指向变迁的有向弧,再添加变迁指向库所的有向弧;
Step 2.2 添加库所指向变迁的双向弧和库所指向变迁的有向弧,再添加变迁指向库所的有向弧;
Step 3 根据定义2,对伺服电机的编码器进行Petri网建模;
Step 4 在伺服电机运动的过程中,编码器能够反馈伺服电机的运动状态和位置信息,添加编码器与各个工作单元间的双向弧;
Step 4.1 分别添加库所、指向变迁的双向弧,而方向信号决定伺服电机运行的方向,分别添加库所指向变迁的双向弧,和库所指向变迁的双向弧;
Step 4.2 当伺服电机到达极限位置时,限位传感器发出限位信号;往反方向运行,限位信号消失。添加库所指向变迁的双向弧,其权值为2y;添加库所指向变迁的双向弧;
Step 4.2 当伺服电机到达警报位置时,警报传感器发出警报信号;直到伺服电机往反方向离开该位置,警报信号消失。添加库所指向变迁的双向弧,其权值为1.9y;添加库所指向变迁的双向弧,其权值为0.1y;
Step 5为工作单元x的Petri网模型中的变迁和分别贴上标签rx和fx,为编码器的Petri网模型中的变迁分别贴上标签re和fe,为变迁和
分别贴上标签fc1和fd;
Step 6 退出算法。
因此,根据算法1,我们可以得到一个四轴联动桥式切割机其中一轴的控制系统的Petri网模型,如图3所示。
图3 数控机床控制系统的Petri网模型
4 数控机床控制系统的故障诊断方法
根据数控机床控制系统可能出现的所有故障类型,在由算法1得到的Petri网模型的基础上,针对每一种故障类型,逐个添加故障变迁,从而获得该系统的故障Petri网模型。故障变迁用τin来表示,其中i表示故障类型,n=1或2,1代表的是由正向限位信号引起的事件,2代表的是由反向限位信号引起的事件。在图中,用黑色实心的变迁表示故障变迁。
故障类型1:伺服电机未运行到极限位置,限位开关发出限位信号。针对该类型故障,添加库所指向故障变迁τ1n的双向弧,和库所指向故障变迁τ1n的有向弧,最后添加故障变迁τ1n指向库所的有向弧,并为故障变迁τ1n贴上标签rsn,如图4所示。
故障类型2:伺服电机运行到极限位置,限位开关没有发出限位信号。针对该类型故障,添加库所指向故障变迁τ2n的有向弧,和库所指向故障变迁τ2n的双向弧,且其权值为2y,最后添加故障变迁τ2n指向库所的有向弧,并为故障变迁τ2n贴上空标签λ,如图5所示。
故障类型3:伺服电机运行到极限位置,限位开关发出限位信号,但电机不停止。针对该类型故障,首先添加库所指向故障变迁τ的双向弧,再添加库所3n和指向故障变迁τ3n的有向弧,最后添加故障变迁τ3n分别指向库所和的有向弧,为故障变迁τ3n贴上空标签λ,如图6所示。
图4 故障类型1的故障Petri网模型
图5 故障类型2的故障Petri网模型
图6 故障类型3的故障Petri网模型
故障类型4与故障类型5分别于故障类型1与故障类型2相类似,故不再说明。
将上述得到的所有故障类型的Petri网模型与通过算法1得到的四轴联动桥式切割机控制系统的Petri网模型进行结合,可以得到完整的该系统的故障Petri网模型,如图7所示。
针对数控机床控制系统中可能出现的故障类型,下面给出其基于故障Petri网模型的数控机床控制系统故障诊断算法——算法2。
算法2:基于故障Petri网模型的数控机床控制系统故障诊断算法。
输入:数控机床控制系统故障Petri网,系统信号序列。
输出:故障变迁。
Step 1 求出故障Petri网的关联矩阵C;
Step 2 由系统的初始状态获得初始标识m0;
Step 3 令mk-1=m0,k=1,2,…;
Step 5 令µ=1;
Step 6 判断µ>η是否成立,若成立,执行Step 4;否则执行Step 7;
Step 7 判断标签序列ω中第µ个标签前是否存在使能的空标签λ。根据Petri网的激发规则,对所有贴有空标签的故障变迁τ的输入库所进行判断,即是否满足其中mµ(p)表示信号序列
i中第µ个信号发生前库所pi中的托肯数。若满足,说明此时贴有空标签λ的故障变迁τ使能,执行Step 8;否则,
执行Step 9;
Step 8利用Petri网的状态方程计算出第µ个信号发生后系统的到达标识mk,即且并再次对使能的故障变迁τ进行判断。如果故障变迁τ依旧保持着使能状态,说明该故障变迁τ激发,执行Step 12;否则,执行Step 9;
Step 9 判断标签序列ω中第µ个标签是否为不确定性标签。若是不确定性标签,执行Step 10;否则,执行Step 11;
Step 10 对所有的正常变迁的输入库所进行如下判断,即是否都满足若满足,说明此时系统无故障,执行Step 11;否则,说明有故障变迁τ发生,执行Step 12;
Step 11 利用Petri网的状态方程计算出信号序列第µ个信号发生后系统的到达标识mk,其中mk=mk-1+C.µ,且满足令mk-1=mk,µ=µ+1,执行Step 6;
图7 数控机床控制系统故障Petri网模型
Step 12 判断出具体发生的故障变迁τ和该变迁对应的故障类型,令执行Step 6。
5 示例分析
根据算法2,我们可以对图7中系统进行故障诊断。首先,从图7中得出标签集合其中x对应该系统中的工作单元。通过标记函数我们可以得到:
其中,n=1或2,1代表的是由正向限位信号引起的事件,2代表的是由反向限位信号引起的事件。从这里,我们可以知道故障变迁τ2n、τ3n和τ5n贴有空标签λ,标签rsn和ran是不确定性标签,而系统中其他的标签都属于确定性标签。
根据图7中的四轴联动桥式切割机的故障Petri网模型,我们可以得到其初始标识并可求得其关联矩阵C如图8所示。
数控机床控制系统从初始时刻开始运行,令mk−1=m0,并检测系统是否有新的信号序列发生。若假设检测到的信号序列为其中,连续检测到的个数为y个。将信号序列转换为标签序列得到,其中表示有连续y个re标签。标签序列ω中的信号个数为y+5个,即η==y+y5+。5
图8 Petri网模型的关联矩阵
6 结束语
本文首先对数控机床控制系统进行了Petri网建模,然后针对该系统可能由传感器所引起的故障类型,添加故障变迁,从而获得了该系统的故障Petri网模型,并再利用该系统内的信号,针对这些故障类型提出了相应的故障诊断方法,从而能够判断系统出现故障的原因。考虑到已有相应的故障诊断算法,因此在接下来的研究中可以通过编写相应的上位机软件,使其不仅能够实时监控机床的状态,还能在故障发生时及时正确的判断故障的原因,并给出相应的解决方案。
[1] Isermann R. Fault diagnosis of machine tools[M].Springer Berlin Heidelberg,2011.
[2] Hiraoka Y,Murakami T,Yamamoto K, et al. Method of Computer-Aided Fault Tree Analysis for High-Reliable and Safety Design[J]. IEEE Transactions on Reliability,2016,65(2):687-703.
[3] 黄江涛,王家海,剑飞,等.基于故障树的数控机床故障诊断算法设计的研究[J].机床与液压,2014(06):32-36.
[4] Zhang C,Yang Z,Liu Z, et al. Research on intelligent fault diagnosis method for complex equipment based on decisionlevel fusion.[C].International Conference on Machine Learning and Cybernetics,ICMLC 2010,Qingdao, China, July 11-14, 2010, Proceedings.2010:805-809.
[5] 赵利美.基于小波和神经网络的旋转机械故障诊断研究[D].西安科技大学,2012.
[6] Nie X, Yang Y.Application of neural network for thermal errorcompensation in CNC machine tool[J].Manufacturing Automation, 2011,70:211-215.
[7] 叶丹丹,罗继亮.部分可观Petri网结构信息在故障诊断中的应用[J].控制理论与应用,2015,32(3):366-373.
[8] 刘久富,刘文良,周建勇,等.改进的部分可观Petri网系统在线故障诊断器设计[J].控制理论与应用,2015,32(7):866-872.
[9] David R, Alla H.Discrete, Continuous and Hybrid Petri Nets[M]. Berlin: Springer,2005.
[10] Baruwa O, Piera M, Guasch A. Deadlock-Free Scheduling Method for Flexible Manufacturing Systems Based on Timed Colored Petri Nets and Anytime Heuristic Search[J]. IEEE Transactions on Systems Man & Cybernetics Systems,2015,45(5):831-846.
[11] 黄波.基于Petri网的FMS建模与调度研究[D].南京理工大学, 2006.
[12] Cabral F.G, Moreira M.V, Diene O,et al. A Petri Net Diagnoser for Discrete Event Systems Modeled by Finite State Automata[J]. IEEE Transactions on Automatic Control,2015,60(1):59-71.
Fault diagnosis method of CNC machine tool control system based on Petri net
CHI Zheng, LUO Ji-liang, SHAO Hui
TP277
A
1009-0134(2017)04-0059-06
2016-12-20
国家自然科学基金项目(61573158);福建省自然科学基金项目(2014J01241)
池正(1993 -),男,硕士研究生,主要从事离散事件系统和Petri网理论与应用等研究。