張 政 侍守創
(連云港杰瑞深軟科技有限公司 江蘇 連云港 222006)
?
基于消息中間件的制造執行系統的設計與實現
張政侍守創
(連云港杰瑞深軟科技有限公司江蘇 連云港 222006)
通過分析傳統離散型制造的生產特點以及國內外制造執行系統(MES)在自定義程度和開放性等方面的優缺點,結合消息中間件原理機制,提出基于消息中間件的MES體系結構。該MES可實現分布式部署、消息服務代理和消息統一管理等功能,具有報表自定義、流程自定義、產線虛擬化及生產看板自定義等關鍵技術。通過對發動機前蓋板零部件加工生產車間的生產看板信息的測試獲取,證明基于消息中間件的MES設計能夠為多品種小批量的生產模式提供高效可靠的解決方案。
消息中間件制造執行系統(MES)離散型制造
隨著智能制造的發展,越來越多的國內企業開始重視生產車間與其他環節之間的協同聯系,制造執行系統MES是生產車間執行的重要載體,負責連接上層的計劃管理和底層的控制設備[1]。目前我國的離散型制造業具備“多品種、小批量”的生產特點,計劃變更較為頻繁,生產過程存在的臨時問題因素也不確定,生產管理還多數處于原始的憑經驗、人工干預的方式,人員、設備不能最大程度地發揮各自潛能,經常導致交貨期延誤,產品質量無法有效控制,生產成本居高不下,給企業整體發展帶來一定的阻礙與影響。而MES主要解決生產車間的生產任務的執行與管理問題,是生產企業信息化、自動化以及智能化發展過程中關鍵的組成部分。國外研究MES較早,且已經形成一套比較成熟的理論模型和標準,比較知名的廠商有美國蓋普勒MES系統和德國西門子MES系統,其系統功能豐富,在排產計算方面作用突出,但價格相對較高。國內MES的理論體系和標準研究較晚,隨著研究的深入,MES研究取得長足進步,如在鋼鐵行業的MES、石化行業的MES以及航空制造的MES,其優點在于能夠對特定行業進行深入應用,但在一定程度上不適用跨行業的制造需求,而且多數是對行業的定制開發,開放性和擴展性受到影響。離散型制造企業面臨價格、系統通用性、自定義程度等方面的選擇,當前MES定制化開發無法滿足企業不斷變化的生產需求和產線調整,尤其在報表自定義、流程自定義以及產線虛擬化方面。如何構建可快速配置、自定義程度高、通用性強和安全性可靠的MES成為當前生產企業關注的重點。通過引入消息中間件技術[2],設計了一個可面向離散制造業的多車間、客戶端/服務器架構的開放式MES,最大程度的實現數據的集中管理和數據安全。該系統可進行分布式異構環境搭建,可實現消息服務代理、消息統一管理等功能,具有報表自定義、流程自定義、產線虛擬化、看板自定義等關鍵技術,對提高企業生產效率、降低生產成本、快速響應生產任務計劃等具有重要影響,為企業實現智能制造奠定堅實基礎。
消息中間件是一種消息代理,是統一消息收發的接口,通過高效可靠的消息傳遞機制可跨平臺、跨語言進行數據交換[3],消除各種平臺及協議之間的特性。企業可通過消息中間件接入所有的信息系統,實現信息系統之間的集成,減少開發平臺和開發語言帶來的困擾。通過消息中間件進行客戶端與服務端的連接,不同的對象之間通過傳遞消息來激活對方的事件,從而使MES具有開放性高、擴展性強等特點,其中客戶端負責業務數據顯示和功能操作,服務端負責統一的業務邏輯處理。同時MES服務器端也可接收來自其他信息系統的服務調用。
消息中間件支持主題和消息隊列兩種消息模式,目前主流的MES只支持隊列模式的訪問,而在實際應用中主題也是比較常使用的消息模式,如發布通知消息、系統更新提醒等。利用主題消息模式,可以產生更靈活、更松散耦合的系統。消息中間件支持的兩種消息模式如圖1所示。

圖1 消息中間件消息模式圖
主題模式:發布消息的應用程序將消息以主題方式發送出去,通過消息管理器將消息傳遞給訂閱該主題的接收應用程序,實現一對多的消息傳輸特點。
隊列模式:發布消息的應用程序將消息放入消息隊列中,由消息路由將消息異步的方式傳遞給相應的接收應用程序,實現一對一的消息傳輸特點。
消息中間件主要由接口處理、消息管理器、消息通道代理等部分組成。其中接口處理負責處理來自客戶端的服務請求,將數據進行封裝處理和將數據轉換成消息;消息管理器是消息中間件核心,負責創建和刪除消息隊列/消息主題,控制隊列/主題的行為和調整優先級;消息通道代理負責將消息傳送給響應的消息隊列/主題。
客戶端通過調用消息中間件的統一接口,實現與服務端的通信。首先是客戶端發起請求信息,經消息中間件封裝成統一服務請求,此后消息進入消息管理器,由管理器進行消息的寫入、發送和封裝,并由消息通道代理發送模塊將消息發送至服務端進行解析應答。當服務器接收到請求消息后,進行相應的業務處理,將應答包通過消息通道代理接收模塊接收應答包,同時由消息管理器進行下一步寫入、接收和讀取,通過消息解包將業務處理結果返回至客戶端,最終完成數據的請求和應答。
通過消息中間件兩種消息模式的使用,進一步提升MES的擴展性和實用性,同時消息中間件支持異步傳輸和負載均衡,并且在任何時刻都可以將消息進行傳送或者存儲轉發,可以在分布式環境下擴展進程間的通信[4]。MES的分布式部署,使其處理能力得到大幅提升,為MES作為數據集中采集器提供了支持,基于消息中間件的MES架構如圖2所示。

圖2 基于消息中間件MES架構圖
在MES架構設計中,采用了服務端代理模式,分離了業務處理和操作調用,所有相同的業務使用統一的方法,保證業務結果一致性。服務器端代理封裝了消息中間件,透明化消息中間件的調用。在服務端標注服務方法,通過服務端代理程序自動產生客戶端代碼,客戶端調用生成的代碼即可實現與服務端的通信和服務調用,其他應用程序同樣可以通過公開的服務端方法調用服務。服務端代理模式的使用,減少了程序開發量,使服務接口管理操作更簡便。
美國先進制造研究機構AMR(AdvancedManufacturingResearch)將企業集成模型分為計劃層、執行層和控制層[5],而MES是執行層的載體,負責連接計劃層和控制層。MES一方面將計劃層的生產計劃根據車間實際情況進行最小單元分解;另一方面通過實時獲取控制層設備狀態和反饋數據進一步指導計劃層對任務的安排,從而實現生產的閉環控制。
設計的MES采用C/S架構,通過消息中間件處理業務邏輯,MES客戶端通過相應模塊的服務代理將請求發送至消息中間件,經過消息中間件內部處理后將請求傳遞給模塊解析服務,再次將請求通過相應模塊服務的服務接口進行MES服務端處理,處理完成后將應答信息按照相反順序依次傳遞直至MES客戶端,完成一次請求和應答,其體系結構如圖3所示。
MES除了圖中包含的工藝流程模塊、報表模塊、權限模塊、產品-標簽模塊、產線-看板模塊外,還包括基礎數據模塊、排產模塊、設備模塊、警報模塊、質量模塊、數據采集模塊等。所有模塊的業務請求和應答均由消息中間件統一管理和處理。
MES是企業實現精益生產的主要信息載體,是企業向智能工廠轉變必不可少的關鍵環節。MES根據計劃層相關信息以及控制層生產設備、智能裝備的狀態進行作業排產計劃,將生產任務具體分配到每一個設備上。生產任務開始后,MES可實時監控到當前生產設備的狀態、生產任務進度以及對產品的質量追溯。計劃層、執行層和控制層的相互配合,打通了數據流轉的空間界限,使整個生產過程無縫對接起來。

圖3 MES體系圖
傳統MES在報表設計、流程設計、產線顯示、看板定義等方面的自定義程度和開放性程度上受到了定制化的影響,因此在MES設計開發中采用了報表自定義、流程自定義、虛擬化產線和看板自定義等關鍵技術[6-8]。MES客戶端負責自定義(如報表/看板SQL語句編寫、工藝流程圖繪制和產線虛擬繪制)請求,MES服務端負責應答并將所需數據傳回,消息中間件負責將請求和應答內部處理后進行消息傳遞,其優點在于通過消息中間件的統一管理和處理,一方面保證自定義消息的持久化以及服務請求的負載均衡,不會因某一請求中斷而導致其他請求不可用;另一方面可允許其他應用程序(如OA、信息門戶等)直接調用自定義服務,獲取相應業務數據。系統在權限管理、產品追蹤、SQL微型ORM等功能方面也進行進一步優化和性能提升,保證MES在應用過程中的時效性和實用性。
(1) 報表自定義
Excel的操作靈活性和強大的功能性使Excel成為報表廣泛開發使用的工具,但是在系統集成方面有很大的缺點,數據源不能直接有效地傳遞到Excel中,而且在導出報表時出現數字、文本、日期、公式等在轉換時出現的錯誤以及訪問權限控制的問題。因此,在MES開發過程中,將Excel報表直接嵌入程序中,使報表與程序之間無縫對接。
通過引入Excel報表模板和數據引擎,將報表樣式、格式和數據進行徹底分離,報表模板負責數據顯示,數據引擎負責數據采集,用戶在自定義報表時,可先用Excel設計報表模板,然后在數據引擎中定義數據源(通過編寫SQL查詢)即可完成表報的設計,無需重新進行程序開發,運行顯示如圖4所示。

圖4 報表自定義運行顯示圖
(2) 流程自定義
在傳統的產品工藝流程設計過程中,往往單獨對工藝流程進行編制,以紙質的方式下發給生產人員,而在離散型制造過程中,工藝流程變更頻繁,傳統的編制方式已無法滿足生產需求,大大降低了生產效率。
通過系統“類組態”可視化的方式對工藝流程進行自定義設計,使用簡單的拖拽及屬性設置即可完成工藝流程的編制,生產人員通過系統可以實時產看到工藝流程的更改,也更加直觀的體現產品的加工路線,大大簡化了用戶編制工藝流程的方式,也便于發現設計中存在的問題。運行顯示如圖5所示。

圖5 流程自定義運行顯示圖
(3) 虛擬化產線
虛擬化產線是將真實的生產產線映射到虛擬環境中,是對真是產線的實際仿真模擬,包括設備形狀、設備運行狀態、設備所屬工位、設備加工信息等,通過虛擬化將實際生產過程中的各個環節在系統中實時體現。
通過自定義的圖形繪制和產品圖庫,將產線、設備等按照等同效果繪制,并可動態對應顯示PLC實時采集的設備狀態和反饋數據。同時物料接收、批次進出站等事件產生的物料信息、生產信息也相應體現在虛擬產線中。通過鼠標懸停操作可以實時查看生產線當前的批次信息、設備當前使用的物料信息以及設備運行的必要參數信息等。運行顯示如圖6所示。

圖6 虛擬化產線運行圖
(4) 權限管理
現有權限管理往往通過單一的授權方式(如人員職能)進行權限分配,而且需要在管理后臺進行功能菜單的逐一添加。隨著企業精益生產的細化分工,要求對系統權限的設置越來越靈活,用戶的自定義管理程度不斷提高。
通過將功能菜單在程序發布時自動存儲于數據庫中來減少管理人員在后臺進行配置的操作步驟以及因缺少配置引發的功能錯誤;同時可根據用戶本身、用戶角色、用戶權限等不同的方式進行功能菜單的權限分配,大大提高管理人員在系統配置時的使用效率。
(5) 產品追蹤
在生產時對產品追蹤成為當前離散型中小企業面臨的一個難題,“多品種、小批量”的生產特點決定了產品的追蹤和管理困難。通過標簽及隨工單的追蹤模式來解決產品的追蹤問題。使用標簽打印和隨工單打印功能對物料及產品本身、產品外包裝、產品箱號、產品批次等進行標簽貼入,并與工藝流程、生產產線進行綁定處理,實現逆向追溯產品加工過程、使用的物料信息、工位生產人員信息、訂單的生產信息、當前所在生產線、當前生產數量、當前不合格數量及原因、當前訂單交貨日期等,確保產品能夠追溯到每一個環節。
(6) SQL微型ORM
通過采用輕型對象關系映射器微型ORM的方式進行SQL語句的編寫和封裝,即簡單又高效,其優點如下:
? 沒有依賴性,單個的C#文件可以方便的添加到任何項目中;
? 支持參數替換,包括從對象屬性中抓取命名的參數;
? 性能高效,通過Dynamic方法快速為屬性賦值;
? 自動生成T4模板;
? 低耦合的SQLBuilder類,讓內聯的SQL更容易編寫;
? 為異常記錄、值轉換器安裝和數據映射提供鉤子;
? 支持單元測試。
通過編寫代碼段,在服務端編寫業務邏輯時可以自動生成所需服務,只需根據實際需要進行部分的業務邏輯的編寫。
(7) 生產看板自定義
生產看板是生產過程動態監控的重要輔助手段,生產人員和管理可以通過生產看板實時看到生產信息。生產看板內容的產生與計劃層、執行層和控制層均有關聯,因此動態生成看板內容成為當前車間生成關注的重點。采用與報表自定義的相同原理,使用Excel設計模板和數據引擎的模式進行看板動態的生成,用戶可根據不同的需求來重新定義顯示內容,解決看板內容難以自定義的問題。
MES測試主要針對某廠制造的發動機前蓋板零部件加工生產車間的管控測試。該廠已上線ERP系統和機床聯網系統,但車間生產流程中生產計劃的排產、產品加工和質量信息的傳遞、工序、工藝卡以及加工信息統計等均是由人工完成的,生產人員及主管部門無法及時了解生產實時情況,只能通過人工紙質統計進行查看,效率低下。通過MES的應用,連接ERP和機床聯網系統,可通過生產看板查看當前生產信息,實現對車間生產任務的實時監控。
通過獲取當前車間蓋前板生產的批次、當前工位、投產數量、當前加工數量以及生產良率來驗證MES的功能效果,并將獲取的信息顯示在生產看板上,如圖7所示。通過MES客戶端發起當前車間蓋前板不同批次的生產信息請求,消息中間件服務監控到請求的生產看板服務類SignBoardServer中SignBoardView方法,將其解析后把消息傳遞給MES服務端,MES服務端通過請求將相應數據返回至MES客戶端來填充生產看板相應的生產信息內容,消息中間件并以True的狀態來標識MES客戶端與MES服務端的請求-應答消息通信機制的正確性,同時通過消息中間件可以查看當前服務端的連接狀態是否正常。通過對MES的測試,證明其能夠完全滿足生產車間生產任務的執行。

圖7 MES測試實際效果圖
隨著“互聯網+中國制造2025”的開展,對企業生產車間的MES提出了更高的要求。以離散型制造企業需求為出發點,通過消息中間件技術的使用,使MES具有高度的開放性,能夠與其他信息系統高效集成。同時報表自定義、流程自定義、虛擬化產線和生產看板自定義的應用讓MES更加適應于離散型制造企業,為解決“多品種、小批量”的生產難題提供了良好的解決途徑。
當然,MES要想得到更好的應用,還有大量工作要做,如基于智能算法的排產、工作流技術的使用以及知識庫的構建等。
[1] 魏樂,舒紅平.基于中間件的可配置MES平臺的設計與實現[J].四川理工學院學報,2008,21(6):56-59.
[2]IbrahimNajhanM,HassanMohdFadzil.Agent-basedMessageOrientedMiddleware(MOM)forcross-platformcommunicationinSOAsystems[C]//2012InternationalConferenceonComputerandInformationScience,2012,1:547-552.
[3] 徐晶,許煒.消息中間件綜述[J].計算機工程,2005,31(16):73-76.
[4] 王重楠,王宗陶,鮑忠貴,等.發布/訂閱模式測控消息中間件系統設計[J].計算機應用,2015,35(3):878-881.
[5] 張德勝,馬正元,王偉玲.多品種小批量機械制造企業MES的研究[J].控制工程,2005,12(3):210-212.
[6] 宋曉宇,劉蔚然,劉天波.基于組件的自定義報表系統的設計與實現[J].計算機工程與設計,2008,29(11):2963-2966.
[7] 王琳,梁平,劉明周,等.基于MES的可視化生產監測與控制平臺設計[J].合肥工業大學學報,2013,36(11):1304-1308.
[8]GaoF,ShaoZ,WangXJ.AnalysisanddesignofcuttingstockoptimizationsystemofMESindiscretemanufacturingenterprisebasedoncloudcomputing[J].JournalofHefeiUniversityofTechnology,2013,36(1):104-108.
DESIGNANDIMPLEMENTATIONOFMESSAGE-ORIENTEDMIDDLEWARE-BASEDMANUFACTURINGEXECUTIONSYSTEM
ZhangZhengShiShouchuang
(LianyungangJariDeepSoftTechnologyCo.,Ltd,Lianyungang222006,Jiangsu,China)
Throughanalysingthecharacteristicsoftraditionaldiscretemanufacturingproductionandtheadvantages&disadvantagesofmanufacturingexecutionsystem(MES)athomeandabroadinitsuser-defineddegreeandopenness,combiningtheprincipleandmechanismofmessage-orientedmiddlewareweproposedthemessage-orientedmiddleware-basedMESarchitecture.TheMEScanrealisefunctionssuchasdistributeddeployment,messageserviceagentandunifiedmessagingmanagement.Besides,ithasthekeytechnologiesincludingreportself-defining,processself-defining,productionlinesvirtualisationandmanufacturingKanbanself-defining,etc.ThroughtestingandacquiringthemanufacturingKanbaninformationintheworkshopmanufacturingandprocessingsparepartsofaheadblindflangeofengines,itisprovedthatthedesignofMESbasedonmessage-orientedmiddlewarecanprovideefficientandreliablesolutionfortheproductionmodewithmultiplevarietiesandsmallbatch.
Message-orientedmiddlewareManufacturingexecutionsystem(MES)Discretemanufacturing
2015-07-07。張政,工程師,主研領域:軟件工程,室內定位。侍守創,工程師。
TP
ADOI:10.3969/j.issn.1000-386x.2016.10.026