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