制造執(zhí)行系統(tǒng)(ManufacturingExecutionSystem,簡稱MES)是現(xiàn)代集成制造系統(tǒng)中制造管理自動化的一項重要技術(shù)。它定位于企業(yè)上層管理和底層設(shè)備之間,面向車間層的管理控制,收集生產(chǎn)過程中的大量的實時數(shù)據(jù),反饋處理結(jié)果和生產(chǎn)指令,對生產(chǎn)過程中發(fā)生的事件及時進(jìn)行處理,保持計劃層與生產(chǎn)控制層的信息通暢。可以說,MES是制造企業(yè)生產(chǎn)管理控制信息集成的樞紐,而其中生產(chǎn)過程狀態(tài)信息又是MES得以正常運行的重要信息來源。
1 車間制造執(zhí)行系統(tǒng)構(gòu)建
為應(yīng)對當(dāng)代車輛關(guān)鍵零部件研制提出的周期短、交貨期緊、批量品種變化的挑戰(zhàn),提高車輛關(guān)鍵零部件快速研制能力和自主創(chuàng)新能力。針對某車輛關(guān)鍵零部件車間的實際需求,設(shè)計并開發(fā)車輛關(guān)鍵零部件車間制造執(zhí)行系統(tǒng),該系統(tǒng)面向車輛關(guān)鍵零部件制造車間,有效地儲存和傳遞生產(chǎn)信息,監(jiān)控生產(chǎn)狀態(tài)及計劃信息執(zhí)行情況、產(chǎn)品質(zhì)量情況、資源配置情況等,優(yōu)化車間的生產(chǎn)過程。實現(xiàn)車間級制造信息的管理與集成,利用計算機(jī)輔助進(jìn)行信息管理、生產(chǎn)工藝計劃制定和生產(chǎn)過程控制,完成車間內(nèi)的信息集成,驅(qū)動生產(chǎn)的有序、高效運行。該系統(tǒng)的軟件架構(gòu)如下圖所示:
圖1 車間制造執(zhí)行系統(tǒng)軟件架構(gòu)
本系統(tǒng)采用基于WEB 的多層技術(shù)架構(gòu)。為了滿足系統(tǒng)的實際功能及性能需求并適應(yīng)車間管理的業(yè)務(wù)模式,本系統(tǒng)特別采用了ZK框架來實現(xiàn)其表現(xiàn)層。ZK是一個事件驅(qū)動(event-driven)的,基于組件(component-based)的,用以豐富網(wǎng)絡(luò)程序中用戶界面的框架。利用ZK框架,不需撰寫JavaScript,即可開發(fā)出具有Ajax豐富互動效果的網(wǎng)頁型應(yīng)用程序。即軟件系統(tǒng)的結(jié)構(gòu)是B/S 的,而軟件的操作風(fēng)格是C/S 的,把兩種軟件結(jié)構(gòu)的特點有機(jī)的結(jié)合了起來,且不增加系統(tǒng)的開發(fā)難度。
2 制造執(zhí)行系統(tǒng)狀態(tài)監(jiān)控技術(shù)整體架構(gòu)
車間制造執(zhí)行系統(tǒng)需要對底層設(shè)備生產(chǎn)狀態(tài)進(jìn)行采集和監(jiān)控,生產(chǎn)狀態(tài)是車間制造執(zhí)行系統(tǒng)得以正常運行的主要信息和數(shù)據(jù)來源。本車間是數(shù)控機(jī)加車間,生產(chǎn)設(shè)備主要是離散的數(shù)控機(jī)床,數(shù)控機(jī)床生產(chǎn)狀態(tài)信息采集技術(shù)難題的解決是制造執(zhí)行系統(tǒng)實現(xiàn)的關(guān)鍵。數(shù)控機(jī)床的參數(shù),生產(chǎn)狀態(tài),刀具信息,主軸信息,NC程序信息等都是需要重點進(jìn)行監(jiān)控的。機(jī)床狀態(tài)監(jiān)控功能主要是在制造執(zhí)行系統(tǒng)的機(jī)床狀態(tài)監(jiān)控模塊中實現(xiàn)的。
本系統(tǒng)是基于Web的制造執(zhí)行系統(tǒng),要實現(xiàn)對底層數(shù)控機(jī)床的狀態(tài)監(jiān)控需要解決兩個層面的技術(shù)難題。一個是軟件架構(gòu)的,一個是狀態(tài)采集技術(shù)的。第一個問題就是如何在本系統(tǒng)的軟件架構(gòu)下實現(xiàn)基于Web的狀態(tài)監(jiān)控軟件設(shè)計與開發(fā),另一個問題是如何實現(xiàn)對車間內(nèi)各種類型的數(shù)控機(jī)床進(jìn)行采集,并最終把采集到設(shè)備狀態(tài)信息集成到軟件系統(tǒng)中,從而達(dá)到對車間數(shù)控機(jī)床的狀態(tài)監(jiān)控。
為解決實時顯示生產(chǎn)狀態(tài)信息的問題,在軟件實現(xiàn)方面采用ZK框架的服務(wù)器推(Server-push)技術(shù),負(fù)責(zé)對狀態(tài)信息的處理。狀態(tài)信息由負(fù)責(zé)狀態(tài)采集的軟硬件采集到,存儲在生產(chǎn)狀態(tài)數(shù)據(jù)庫中。制造執(zhí)行系統(tǒng)實時監(jiān)控數(shù)據(jù)庫中狀態(tài)信息的變化,并實時根據(jù)數(shù)據(jù)的變化把狀態(tài)數(shù)據(jù)推到每個ZK頁面中去。這樣車間工作人員就能及時掌握到各機(jī)床狀態(tài)信息的變化。
根據(jù)數(shù)控機(jī)床種類的不同,主要是FANUC數(shù)控機(jī)床和西門子數(shù)控機(jī)床,采用不同的狀態(tài)采集技術(shù)。對于FANUC數(shù)控機(jī)床使用串口宏技術(shù)采集機(jī)床狀態(tài),對于西門子數(shù)控機(jī)床采用PLC接口技術(shù)進(jìn)行采集。圖2為機(jī)床狀態(tài)監(jiān)控的整體軟硬件技術(shù)架構(gòu)。
圖2 機(jī)床狀態(tài)監(jiān)控的整體架構(gòu)
3 ZK框架服務(wù)器推(Ser ver-pu sh)技術(shù)
ZK框架是一個支持推模式的框架,即服務(wù)器推(Server-push)技術(shù)。服務(wù)器推技術(shù)是說一種基于網(wǎng)絡(luò)的交流,其請求是由中央服務(wù)端發(fā)起。與之相對應(yīng)的是拉模式,拉模式是一種請求由接受方或者說客戶端發(fā)起的。這種技術(shù)也可以叫作反向Ajax(reverse-Ajax)。所謂推模式,就是服務(wù)器把數(shù)據(jù)推到每個ZK頁面上,而不是客戶端請求后的響應(yīng),并且可以實時地反映數(shù)據(jù)的變化。它的這種特性使得以它為表現(xiàn)層框架的軟件系統(tǒng)具備了特殊的功能。利用ZK框架的這一特點,再輔以相應(yīng)的機(jī)床數(shù)據(jù)采集技術(shù),以數(shù)據(jù)庫集成接口,即狀態(tài)采集軟硬件將機(jī)床狀態(tài)存入生產(chǎn)狀態(tài)數(shù)據(jù)庫,ZK框架通過把數(shù)據(jù)庫中的機(jī)床狀態(tài)數(shù)據(jù)推到任意的訪問機(jī)床狀態(tài)監(jiān)控模塊的頁面上,就可以實現(xiàn)機(jī)床狀態(tài)實時監(jiān)控。
通過使用服務(wù)器推技術(shù),需要啟動一個工作線程對相應(yīng)的數(shù)據(jù)進(jìn)行不間斷地查詢,當(dāng)預(yù)先定義的條件滿足時,則可以在工作線程內(nèi)將內(nèi)容發(fā)至客戶端或更新客戶端的內(nèi)容。服務(wù)器推技術(shù)最適合應(yīng)用于需要實時動態(tài)更新數(shù)據(jù)的應(yīng)用場景。機(jī)床狀態(tài)實時監(jiān)控使用該項技術(shù)是再恰當(dāng)不過的了。在ZK框架下使用服務(wù)器推技術(shù)很簡單,僅需要如下的三步,(1)使用Desktop.enableServERPush(booleanbool)為桌面調(diào)用啟用服務(wù)器推動。( 2 ) 將需要更新的組件、數(shù)據(jù)傳遞至工作線程。( 3 ) 在桌面內(nèi)調(diào)用工作線程。
遵照這3 個步驟,就可以實現(xiàn)狀態(tài)監(jiān)控頁面的開發(fā)。服務(wù)器推機(jī)制是使用客戶端輪詢(client-polling)技術(shù)實現(xiàn)的,即客戶端將會反復(fù)詢問服務(wù)器以調(diào)用工作線程完成其工作,詢問的頻率可以調(diào)用Executions.setDelay(intmin,intmax,intfactor )手動調(diào)整。
4 FANUC機(jī)床串口宏狀態(tài)采集技術(shù)
本車間內(nèi)共有4 種類型的FANUC 機(jī)床,分別為FANU C0i、FANUC 16i、FANUC 18i、和FANUC 31i。通過硬件接線引出機(jī)床狀態(tài)信號的技術(shù)方式涉及硬件改造,容易破壞數(shù)控設(shè)備,技術(shù)風(fēng)險大,實施周期長。對于FANUC系統(tǒng),我們通過FANUC的B 類宏程序進(jìn)行機(jī)床狀態(tài)采集。FANUC的這些種類的數(shù)控系統(tǒng)提供了機(jī)床狀態(tài)的輸出功能,可以編寫專用的數(shù)控機(jī)床狀態(tài)串口采集軟件,通過計算機(jī)串口與數(shù)控系統(tǒng)的串口硬件連接,完成機(jī)床狀態(tài)信息采集。
通過串口采集機(jī)床狀態(tài)信息的原理是在機(jī)床執(zhí)行的NC程序中加入宏指令,宏指令打開串口,向串口輸出信息,再關(guān)閉串口,上位機(jī)通過串口監(jiān)聽線程解析接到的機(jī)床狀態(tài)信息,并把該信息存儲到數(shù)據(jù)庫中,從而實現(xiàn)對機(jī)床狀態(tài)信息的實時采集,車間生產(chǎn)管理系統(tǒng)的機(jī)床狀態(tài)監(jiān)控模塊通過實時查詢存儲在數(shù)控庫中的機(jī)床狀態(tài)信息,并對其進(jìn)行解析處理,就實現(xiàn)了對機(jī)床的狀態(tài)監(jiān)控。下面為各宏指令的含義:
打開指令:POPEN ,建立與外部輸入輸出設(shè)備的連接。
數(shù)據(jù)輸出指令:BPR NT或DPRNT指定需要輸出的數(shù)據(jù),包括系統(tǒng)地址變量、字符等。
關(guān)閉指令:PCLOS,解除與外部輸入輸出設(shè)備的連接。
這些宏指令將系統(tǒng)的地址變量的值從串口輸出,而這些變量對應(yīng)數(shù)控機(jī)床的狀態(tài)信息。表1為部分FANUC的系統(tǒng)變量地址 :
表1 FANUC部分系統(tǒng)變量地址
如果要采集NC程序的程序號,只要把如下語句加入NC 程序就可以采集到程序號了。
…
POPEN
DPRNT[NUM#4115[40]]
PCLOS
…
針對不同的要采集的機(jī)床狀態(tài)信息,通過數(shù)據(jù)輸出指令,就可以把機(jī)床狀態(tài)信息傳送到上位機(jī),進(jìn)而由狀態(tài)監(jiān)控模塊發(fā)布到網(wǎng)絡(luò)上。
5 西門子機(jī)床PLC接口狀態(tài)采集技術(shù)
本車間大部分的數(shù)控機(jī)床都是西門子840D或810D數(shù)控系統(tǒng),對于西門子數(shù)控系統(tǒng),由于其采用的PLC 是通用的PLC系統(tǒng),因此可以通過采集數(shù)控系統(tǒng)PLC的狀態(tài)寄存器的值來實現(xiàn)狀態(tài)信息采集的目的。
由于西門子840D或810D數(shù)控系統(tǒng)采用的PLC是西門子的S7-300PLC,故采用Prodave接口開發(fā)采集監(jiān)控軟件對其進(jìn)行狀態(tài)監(jiān)控。采集用的硬件是大連德嘉公司ETH _ MPI轉(zhuǎn)換器。將西門子S7-300PLC的MPI接口通過ETH_MPI轉(zhuǎn)換器轉(zhuǎn)換成Profinet協(xié)議(TCP/IP),然后用以太網(wǎng)與上位機(jī)相連。ETH_MPI轉(zhuǎn)換器與西門子以太網(wǎng)通訊處理器CP343功能相同,可替代西門子CP5611 ,CP5613 通訊卡。
通過查閱數(shù)控機(jī)床的資料,找到需要監(jiān)控的狀態(tài)所在的寄存器地址,通過Prodave接口的編程實現(xiàn)對這些寄存器地址位的讀取,同時將這些狀態(tài)數(shù)據(jù)寫入生產(chǎn)狀態(tài)數(shù)據(jù)庫,再通過車間制造執(zhí)行系統(tǒng)的機(jī)床狀態(tài)監(jiān)控模塊發(fā)布給局域網(wǎng)上的所有用戶。
6 總結(jié)
在進(jìn)行類似上述離散型制造執(zhí)行系統(tǒng)的開發(fā)過程中,數(shù)控機(jī)床的狀態(tài)監(jiān)控是實現(xiàn)狀態(tài)監(jiān)控模塊開發(fā)的主要組成部分。為了降低技術(shù)風(fēng)險、工程造價,縮短工作周期,我們往往采用數(shù)控機(jī)床原有的狀態(tài)采集接口,如串行口、MPI 接口等。只有在不得以的情況下才會通過硬件連接的方式采集機(jī)床的狀態(tài)信息。但不論何種狀態(tài)信息采集模式,ZK框架的服務(wù)器推(Server-push)技術(shù)都可以把狀態(tài)信息發(fā)布到整個系統(tǒng)網(wǎng)絡(luò)上。這種結(jié)合網(wǎng)絡(luò)數(shù)據(jù)庫、信息采集、服務(wù)器推等相關(guān)技術(shù)的模式,可以很好地指導(dǎo)未來基于Web 的制造執(zhí)行系統(tǒng)狀態(tài)監(jiān)控模塊的構(gòu)建,而ZK 框架結(jié)合Spring框架、Hibernate框架也為制造執(zhí)行系統(tǒng)軟件的實現(xiàn)提供了有力的支撐。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://m.kaqidy.com/
本文標(biāo)題:基于ZK框架的MES狀態(tài)監(jiān)控技術(shù)研究
本文網(wǎng)址:http://m.kaqidy.com/html/consultation/1083939080.html