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