池 正,羅繼亮,邵 輝
(華僑大學 信息科學與工程學院,廈門 361021)
數(shù)控機床控制系統(tǒng)的Petri網(wǎng)故障診斷方法
池 正,羅繼亮,邵 輝
(華僑大學 信息科學與工程學院,廈門 361021)
針對數(shù)控機床控制系統(tǒng)中傳感器和執(zhí)行機構故障,給出了一種基于Petri網(wǎng)的故障診斷方法:首先,根據(jù)數(shù)控機床各單元之間的運行邏輯和動態(tài)特性,得到了數(shù)控機床控制系統(tǒng)的標簽Petri網(wǎng)模型;其次,根據(jù)各故障類型的行為特征,采用不可觀變遷模擬故障;再次,給定任何傳感器信號序列,利用Petri網(wǎng)的狀態(tài)方程推理全部可能的系統(tǒng)行為,從而判斷系統(tǒng)是否可能發(fā)生故障,并推理故障元件;最后利用一個示例演示驗證了本文的方法。
Petri網(wǎng);數(shù)控機床控制系統(tǒng);傳感器;故障診斷;故障變遷
數(shù)控機床是數(shù)字控制機床的簡稱,是一種裝有程序控制系統(tǒng)的自動化機床,廣泛運用于各種行業(yè)的生產(chǎn)加工中。隨著制造系統(tǒng)的規(guī)模與結構性復雜性迅速增長,數(shù)控機床控制系統(tǒng)也面臨著越來越多的故障問題。一旦數(shù)控機床出現(xiàn)故障,就將影響加工的效率和準確度。
針對數(shù)控機床的故障診斷問題[1],學界已經(jīng)開展了卓有成效的研究工作。文獻[2~3]采用了故障樹分析方法,對數(shù)控機床的故障進行診斷。但在構建故障樹時的工作量相當繁重,難度也較大,不能夠及時判斷并解決故障問題。文獻[4]采用了粗糙集和證據(jù)理論的研究方法,提出了一種智能故障診斷方法。但該方法過分依賴自身知識庫,且對數(shù)據(jù)噪聲過分敏感。文獻[5,6]則采用了人工神經(jīng)網(wǎng)絡的分析方法,模仿人類專家的聯(lián)想和直覺,為數(shù)控機床故障診斷提供了一條新的路徑。然而其理論尚未完善,目前還不能夠達到人類專家的水準,因此該方法可靠性較低。
然而在數(shù)控機床可能出現(xiàn)的故障[7,8]中,由限位傳感器等引起的故障是最致命的,有可能導致整個機床的破壞,甚至更加嚴重的后果。數(shù)控機床所進行的任何工作,都必須在確保安全的條件下進行,因此保證數(shù)控機床每一軸限位傳感器的正常工作是首要任務。而Petri網(wǎng)[9]是研究離散事件動態(tài)系統(tǒng)的一種很重要的工具,一些學者[10]就運用了Petri網(wǎng)對柔性制造系統(tǒng)進行建模和分析[11,12],而數(shù)控機床是柔性制造系統(tǒng)中的一部分,因此將Petri網(wǎng)理論與數(shù)控機床控制系統(tǒng)相結合,能夠簡潔、深刻的刻畫出數(shù)控機床控制系統(tǒng)各個部分的動態(tài)性質(zhì)。
為此,本文首先根據(jù)數(shù)控機床各單元之間的運行邏輯和動態(tài)特性,采用分塊建模的思想,建立數(shù)控機床控制系統(tǒng)的Petri網(wǎng)模型;然后根據(jù)各故障類型的行為特征,采用不可觀變遷模擬故障,獲得該系統(tǒng)的故障Petri網(wǎng)模型;最后提出相應的故障診斷算法,來判斷數(shù)控機床是否發(fā)生的故障,并推理出發(fā)生故障的元件。并且全文中以一個四軸聯(lián)動橋式切割機為例子,將文章中的方法加以使用和驗證。與文獻[2~3]相比,本文中采用構建標簽Petri網(wǎng)模型的方法,對系統(tǒng)中所有信號貼上標簽,通過觀察標簽序列來判斷是否有故障發(fā)生;與文獻[7~8]相比,本文針對所有由傳感器信號引起的故障類型,采用不可觀測變遷模擬故障,建立了故障Petri網(wǎng)模型,最終根據(jù)該模型得到了相應的故障診斷算法;而與文獻[11~12]對比,本文對數(shù)控機床控制系統(tǒng)內(nèi)部的各個工作單元進行建模,能準確判斷發(fā)生故障的元件。
普通P e t r i網(wǎng)可以用一個五元組N=(P, T, Pre, Post, m0)來表示,其中:P是一個有限的非空庫所(place)集合;T是一個有限的非空變遷(transition)集合;Pre:(P× T)→{0,1,…}是輸入關聯(lián)函數(shù),定義了從庫所到變遷的有向弧的權值;Post:(T×P)→{0,1,…}是輸出關聯(lián)函數(shù),定義了從變遷到庫所的有向弧的權值;m0:P→{0,1,…}是初始標識,對應初始時刻下各個庫所持有的托肯數(shù)。
Petri網(wǎng)的激發(fā)規(guī)則:在某一標識m下,如果一個變遷的所有輸入庫所中包含的托肯數(shù)大于等于這些庫所指向該變遷的有向弧的權值,則稱該變遷是使能的。即當且僅當,?pi∈?tj,都滿足m(pi)≥Pre(pi,tj)時,變遷tj在標識m下是使能的。
標簽Petri網(wǎng)可用一個三元組(N,Σ,L)來表示,其中:N=(P,T,Pre,Post,m0)為普通Petri網(wǎng);Σ={a,b,…}是一個標簽(label)集合;L:T→Σ∪{λ}為標記函數(shù),能夠?qū)⑾到y(tǒng)中任意的變遷貼上標簽集合Σ中的一個標簽或空標簽λ。值得注意的是,一個標簽可以同時標記一個或多個可觀測變遷,而不可觀測的變遷用空標簽λ來標記。如果任意一個標簽a(a∈Σ)同時標記了Petri網(wǎng)中的多個變遷,我們將這種類型的標簽稱為不確定性標簽,反之則稱為確定性標簽。當貼有標簽a(a∈Σ)的變遷激發(fā)后,我們能夠觀測到標簽a。相應的,當變遷的激發(fā)序列為S=t1t2…tk時,我們觀測到的標簽序列為
如圖1所示,一個典型的數(shù)控機床控制系統(tǒng)可以分成驅(qū)動裝置模塊、限位保護模塊、報警模塊和上位裝置模塊。數(shù)控機床同時擁有多個獨立的軸,但每一軸的工作原理都相同,并且其中的驅(qū)動裝置和限位傳感器也都相互獨立,因此本文只對數(shù)控機床的其中一軸進行研究。
圖1 數(shù)控機床控制系統(tǒng)的分塊示意圖
在一般的數(shù)控機床控制系統(tǒng)中,伺服電機構成該系統(tǒng)中的驅(qū)動裝置模塊,限位傳感器構成該系統(tǒng)中的限位保護模塊,報警模塊也是由傳感器構成,而上位裝置模塊則是由PLC或運動控制卡構成的。通過編寫上位機指令,上位裝置發(fā)送脈沖和方向信號給驅(qū)動裝置,使伺服電機開始運動。脈沖信號決定電機運行的距離,方向信號決定電機運行的方向。
數(shù)控機床的每一軸的兩端都有一個極限位置,在伺服電機運行的過程中,可能會達到某一個極限位置,此時限位傳感器會發(fā)送限位信號,使伺服電機停止運行。在每一軸的中點處也有一個傳感器,初始時刻伺服電機位于該中點處,即原點位置。每一臺伺服電機的后端都有一個編碼器,其作用是用來反饋伺服電機的位置和速度信號。在數(shù)控機床中,可以將伺服電機運動的距離,轉換為用脈沖個數(shù)來表示。因此可以假設數(shù)控機床的某一軸的軸長轉換為脈沖數(shù)2y,即電機從原點位置到任意一端極限位置所需要的脈沖個數(shù)為y,且從原點位置到達警報位置所需要的脈沖個數(shù)為0.9y,即電機運行到此處時,數(shù)控機床會一直發(fā)出警報信號;電機反方向離開此處后,警報信號消失。在這里,y和0.9y的值都取為整數(shù)。
根據(jù)數(shù)控機床控制系統(tǒng)的工作原理,其工作過程中能檢測到限位信號、警報信號和上位指令信號,其中上位指令信號包括脈沖信號和方向信號。同時,在其工作過程中也可能會出現(xiàn)各種故障類型,如表1所示。
表1 數(shù)控機床控制系統(tǒng)的故障類型
接下來,將給出數(shù)控機床控制系統(tǒng)的Petri網(wǎng)建模以及故障診斷的相關算法,并以一個四軸聯(lián)動橋式切割機為例子進行驗證其可行性。
本節(jié)主要考慮對數(shù)控機床控制系統(tǒng)工作過程的Petri網(wǎng)建模,采用分塊建模的思想,分別對上述4個模塊進行建模,最后通過組合得到完整的數(shù)控機床控制系統(tǒng)的Petri網(wǎng)模型。
定義1:給定數(shù)控機床控制系統(tǒng)的一個工作單元x,其Petri網(wǎng)模型為其中,庫所集合表示休息狀態(tài),表示工作狀態(tài);變遷集合表示使工作單元由休息狀態(tài)到工作狀態(tài)的事件,表示使工作單元由工作狀態(tài)到休息狀態(tài)的事件;有向弧集合初始標識
考慮到數(shù)控機床控制系統(tǒng)的工作單元包括:伺服電機、限位傳感器、警報傳感器和上位裝置,其中上位裝置包括輸出脈沖信號和方向信號的端口,因此設定這些工作單元的變量名(如表2所示)。根據(jù)定義1,以限位傳感器s為例,其Petri網(wǎng)模型可表示為如圖2所示。
圖2 限位傳感器的Petri網(wǎng)模型
表2 工作單元的變量名
對于給定的數(shù)控機床控制系統(tǒng),上位裝置能接收到限位信號,使其不再發(fā)送脈沖信號,伺服電機也隨之停止。可以將上述事件分別模擬為變遷和,其中n=1或2,1代表的是由正向限位信號引起的事件,2代表的是由反向限位信號引起的事件。
定義2:對于一臺伺服電機的編碼器,其Petri網(wǎng)模型可以表示為N={P,T,F}。其中,庫所集合表示伺服電機到軸正端的距離,表示伺服電機到軸負端的距離;變遷集合表示伺服電機正向運行的事件,表示伺服電機反向運行的事件;而有向弧集合為初始標識為
下面我們在上述內(nèi)容的基礎上給出具體的建模算法——算法1。
算法1:數(shù)控機床控制系統(tǒng)的Petri網(wǎng)建模算法。
輸入:數(shù)控機床控制系統(tǒng)的所有工作單元和編碼器。
輸出:數(shù)控機床控制系統(tǒng)的Petri網(wǎng)模型。
Step 1 根據(jù)定義1,對數(shù)控機床控制系統(tǒng)的各個工作單元進行Petri網(wǎng)建模;
Step 2 上位裝置接收到限位信號,使其不再發(fā)送脈沖給伺服電機,據(jù)此添加相應的有向弧;
Step 2.1 添加庫所指向變遷的雙向弧和庫所指向變遷的有向弧,再添加變遷指向庫所的有向?。?/p>
Step 2.2 添加庫所指向變遷的雙向弧和庫所指向變遷的有向弧,再添加變遷指向庫所的有向?。?/p>
Step 3 根據(jù)定義2,對伺服電機的編碼器進行Petri網(wǎng)建模;
Step 4 在伺服電機運動的過程中,編碼器能夠反饋伺服電機的運動狀態(tài)和位置信息,添加編碼器與各個工作單元間的雙向??;
Step 4.1 分別添加庫所、指向變遷的雙向弧,而方向信號決定伺服電機運行的方向,分別添加庫所指向變遷的雙向弧,和庫所指向變遷的雙向??;
Step 4.2 當伺服電機到達極限位置時,限位傳感器發(fā)出限位信號;往反方向運行,限位信號消失。添加庫所指向變遷的雙向弧,其權值為2y;添加庫所指向變遷的雙向?。?/p>
Step 4.2 當伺服電機到達警報位置時,警報傳感器發(fā)出警報信號;直到伺服電機往反方向離開該位置,警報信號消失。添加庫所指向變遷的雙向弧,其權值為1.9y;添加庫所指向變遷的雙向弧,其權值為0.1y;
Step 5為工作單元x的Petri網(wǎng)模型中的變遷和分別貼上標簽rx和fx,為編碼器的Petri網(wǎng)模型中的變遷分別貼上標簽re和fe,為變遷和
分別貼上標簽fc1和fd;
Step 6 退出算法。
因此,根據(jù)算法1,我們可以得到一個四軸聯(lián)動橋式切割機其中一軸的控制系統(tǒng)的Petri網(wǎng)模型,如圖3所示。
圖3 數(shù)控機床控制系統(tǒng)的Petri網(wǎng)模型
根據(jù)數(shù)控機床控制系統(tǒng)可能出現(xiàn)的所有故障類型,在由算法1得到的Petri網(wǎng)模型的基礎上,針對每一種故障類型,逐個添加故障變遷,從而獲得該系統(tǒng)的故障Petri網(wǎng)模型。故障變遷用τin來表示,其中i表示故障類型,n=1或2,1代表的是由正向限位信號引起的事件,2代表的是由反向限位信號引起的事件。在圖中,用黑色實心的變遷表示故障變遷。
故障類型1:伺服電機未運行到極限位置,限位開關發(fā)出限位信號。針對該類型故障,添加庫所指向故障變遷τ1n的雙向弧,和庫所指向故障變遷τ1n的有向弧,最后添加故障變遷τ1n指向庫所的有向弧,并為故障變遷τ1n貼上標簽rsn,如圖4所示。
故障類型2:伺服電機運行到極限位置,限位開關沒有發(fā)出限位信號。針對該類型故障,添加庫所指向故障變遷τ2n的有向弧,和庫所指向故障變遷τ2n的雙向弧,且其權值為2y,最后添加故障變遷τ2n指向庫所的有向弧,并為故障變遷τ2n貼上空標簽λ,如圖5所示。
故障類型3:伺服電機運行到極限位置,限位開關發(fā)出限位信號,但電機不停止。針對該類型故障,首先添加庫所指向故障變遷τ的雙向弧,再添加庫所3n和指向故障變遷τ3n的有向弧,最后添加故障變遷τ3n分別指向庫所和的有向弧,為故障變遷τ3n貼上空標簽λ,如圖6所示。
圖4 故障類型1的故障Petri網(wǎng)模型
圖5 故障類型2的故障Petri網(wǎng)模型
圖6 故障類型3的故障Petri網(wǎng)模型
故障類型4與故障類型5分別于故障類型1與故障類型2相類似,故不再說明。
將上述得到的所有故障類型的Petri網(wǎng)模型與通過算法1得到的四軸聯(lián)動橋式切割機控制系統(tǒng)的Petri網(wǎng)模型進行結合,可以得到完整的該系統(tǒng)的故障Petri網(wǎng)模型,如圖7所示。
針對數(shù)控機床控制系統(tǒng)中可能出現(xiàn)的故障類型,下面給出其基于故障Petri網(wǎng)模型的數(shù)控機床控制系統(tǒng)故障診斷算法——算法2。
算法2:基于故障Petri網(wǎng)模型的數(shù)控機床控制系統(tǒng)故障診斷算法。
輸入:數(shù)控機床控制系統(tǒng)故障Petri網(wǎng),系統(tǒng)信號序列。
輸出:故障變遷。
Step 1 求出故障Petri網(wǎng)的關聯(lián)矩陣C;
Step 2 由系統(tǒng)的初始狀態(tài)獲得初始標識m0;
Step 3 令mk-1=m0,k=1,2,…;
Step 5 令μ=1;
Step 6 判斷μ>η是否成立,若成立,執(zhí)行Step 4;否則執(zhí)行Step 7;
Step 7 判斷標簽序列ω中第μ個標簽前是否存在使能的空標簽λ。根據(jù)Petri網(wǎng)的激發(fā)規(guī)則,對所有貼有空標簽的故障變遷τ的輸入庫所進行判斷,即是否滿足其中mμ(p)表示信號序列
i中第μ個信號發(fā)生前庫所pi中的托肯數(shù)。若滿足,說明此時貼有空標簽λ的故障變遷τ使能,執(zhí)行Step 8;否則,
執(zhí)行Step 9;
Step 8利用Petri網(wǎng)的狀態(tài)方程計算出第μ個信號發(fā)生后系統(tǒng)的到達標識mk,即且并再次對使能的故障變遷τ進行判斷。如果故障變遷τ依舊保持著使能狀態(tài),說明該故障變遷τ激發(fā),執(zhí)行Step 12;否則,執(zhí)行Step 9;
Step 9 判斷標簽序列ω中第μ個標簽是否為不確定性標簽。若是不確定性標簽,執(zhí)行Step 10;否則,執(zhí)行Step 11;
Step 10 對所有的正常變遷的輸入庫所進行如下判斷,即是否都滿足若滿足,說明此時系統(tǒng)無故障,執(zhí)行Step 11;否則,說明有故障變遷τ發(fā)生,執(zhí)行Step 12;
Step 11 利用Petri網(wǎng)的狀態(tài)方程計算出信號序列第μ個信號發(fā)生后系統(tǒng)的到達標識mk,其中mk=mk-1+C.μ,且滿足令mk-1=mk,μ=μ+1,執(zhí)行Step 6;
圖7 數(shù)控機床控制系統(tǒng)故障Petri網(wǎng)模型
Step 12 判斷出具體發(fā)生的故障變遷τ和該變遷對應的故障類型,令執(zhí)行Step 6。
根據(jù)算法2,我們可以對圖7中系統(tǒng)進行故障診斷。首先,從圖7中得出標簽集合其中x對應該系統(tǒng)中的工作單元。通過標記函數(shù)我們可以得到:
其中,n=1或2,1代表的是由正向限位信號引起的事件,2代表的是由反向限位信號引起的事件。從這里,我們可以知道故障變遷τ2n、τ3n和τ5n貼有空標簽λ,標簽rsn和ran是不確定性標簽,而系統(tǒng)中其他的標簽都屬于確定性標簽。
根據(jù)圖7中的四軸聯(lián)動橋式切割機的故障Petri網(wǎng)模型,我們可以得到其初始標識并可求得其關聯(lián)矩陣C如圖8所示。
數(shù)控機床控制系統(tǒng)從初始時刻開始運行,令mk?1=m0,并檢測系統(tǒng)是否有新的信號序列發(fā)生。若假設檢測到的信號序列為其中,連續(xù)檢測到的個數(shù)為y個。將信號序列轉換為標簽序列得到,其中表示有連續(xù)y個re標簽。標簽序列ω中的信號個數(shù)為y+5個,即η==y+y5+。5
圖8 Petri網(wǎng)模型的關聯(lián)矩陣
本文首先對數(shù)控機床控制系統(tǒng)進行了Petri網(wǎng)建模,然后針對該系統(tǒng)可能由傳感器所引起的故障類型,添加故障變遷,從而獲得了該系統(tǒng)的故障Petri網(wǎng)模型,并再利用該系統(tǒng)內(nèi)的信號,針對這些故障類型提出了相應的故障診斷方法,從而能夠判斷系統(tǒng)出現(xiàn)故障的原因??紤]到已有相應的故障診斷算法,因此在接下來的研究中可以通過編寫相應的上位機軟件,使其不僅能夠?qū)崟r監(jiān)控機床的狀態(tài),還能在故障發(fā)生時及時正確的判斷故障的原因,并給出相應的解決方案。
[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] 黃江濤,王家海,劍飛,等.基于故障樹的數(shù)控機床故障診斷算法設計的研究[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] 趙利美.基于小波和神經(jīng)網(wǎng)絡的旋轉機械故障診斷研究[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網(wǎng)結構信息在故障診斷中的應用[J].控制理論與應用,2015,32(3):366-373.
[8] 劉久富,劉文良,周建勇,等.改進的部分可觀Petri網(wǎng)系統(tǒng)在線故障診斷器設計[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網(wǎng)的FMS建模與調(diào)度研究[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 -),男,碩士研究生,主要從事離散事件系統(tǒng)和Petri網(wǎng)理論與應用等研究。