基于SOA的MES系統(tǒng)及其應用
隨著MES的深入應用,制造型企業(yè)對系統(tǒng)集成的要求也越來越高。據(jù)統(tǒng)計,全球40%的IT預算是應用于系統(tǒng)集成的,而系統(tǒng)集成問題在MES方面顯得更為突出,這是因為,MES是一個將企業(yè)的ERP系統(tǒng)和底層的自動化系統(tǒng)集成在一起的中間層管理軟件,主要用于對車間的生產(chǎn)、質(zhì)量、設備等方面進行詳細計劃、信息反饋和數(shù)據(jù)分析,是一個承上啟下的軟件,需要與ERP系統(tǒng)和自動化系統(tǒng)實現(xiàn)雙向的信息集成,接收ERP下達的車間生產(chǎn)計劃,并進行詳細計劃和任務分配,向ERP系統(tǒng)反饋生產(chǎn)、質(zhì)量等信息,對自動化系統(tǒng)進行控制,讀取相應的數(shù)據(jù),并進行分析。MES涉及底層的硬件系統(tǒng)、實時數(shù)據(jù)庫等專業(yè)技術,屬于一種復雜的集成技術。由于數(shù)據(jù)結(jié)構和信息系統(tǒng)的異構性,離散的制造車間信息和控制流程管理仍然十分困難。從高層次的ERP系統(tǒng)到底層的控制系統(tǒng)之間的縱向集成較難實現(xiàn)?,F(xiàn)有的解決方案可以在MES系統(tǒng)中通過靜態(tài)的過程邏輯編程來實現(xiàn)集成,但是這種集成方法往往缺乏適應性和可拓展性。因而,這種集成方式不能滿足當今動態(tài)制造環(huán)境的需求。
面向服務的體系結(jié)構或面向服務架構SOA是指為了解決在Internet環(huán)境下業(yè)務集成的需要,通過連接能完成特定任務的獨立功能實體實現(xiàn)的一種軟件系統(tǒng)架構。SOA(面向服務的體系)采用面向服務的商業(yè)建模技術和Web服務技術,實現(xiàn)系統(tǒng)之間的松耦合,實現(xiàn)系統(tǒng)之間的整合與協(xié)同。Web服務和SOA的本質(zhì)思路在于使得信息系統(tǒng)個體在能夠溝通的基礎上形成協(xié)同工作。因而,融合SOA的基于Internet的制造可以實現(xiàn)分布式的信息系統(tǒng),這種解決方案可能使靜態(tài)的或動態(tài)的車間管理系統(tǒng)集成進人整個企業(yè)架構。將MES系統(tǒng)構建在SOA架構的基礎上,不但使整個企業(yè)應用系統(tǒng)緊密集成在一起,而且可以實現(xiàn)動態(tài)的應用組合,從而滿足當前動態(tài)制造的環(huán)境的需求。羅克韋爾自動化的FactoryTalk集成化生產(chǎn)與績效套件正是提供了基于SOA的MES解決方案,通過應用SOA架構將所有通用需求因素集中起來放到FactoryTalk服務平臺上,成為一個統(tǒng)一的工廠生產(chǎn)模式。本文介紹了SOA相關的關鍵技術,并結(jié)合這些技術描述了如何應用SOA實現(xiàn)可集成的、可擴展和通用的MES系統(tǒng),并以九江昌河汽車總裝MES系統(tǒng)為例,介紹了MES系統(tǒng)的應用。
關鍵技術
1. SOA
SOA服務具有平臺獨立的自我描述XML文檔。Web服務描述語言WSDL是用于描述服務的標準語言。SOA服務用消息進行通信,該消息通常使用XML Schema來定義,也叫做XSD(XML schema definITion)。消費者和提供者或消費者和服務之間的通信多見于不知道提供者的環(huán)境中。服務間的通信也可以看作企業(yè)內(nèi)部處理的關鍵商業(yè)文檔。在一個企業(yè)內(nèi)部,SOA服務通過一個扮演目錄列表(directory listing)角色的注冊中心(registry)來進行維護。應用程序在注冊中心尋找并調(diào)用某項服務。
統(tǒng)一描述、發(fā)現(xiàn)和集成UDDI(universald escription,discovery,and integration)是服務登記的標準。每項SOA服務都有一個與之相關的服務品質(zhì)QoS(qualITy of service)。QoS的一些關鍵元素包括安全需求(例如認證和授權)、可靠通信、以及誰能調(diào)用服務的策略。如圖1所示,基本的SOA架構包含了SOAP、WSDL、UDDI等支持服務請求者和服務提供者進行交互,以及用于Web服務發(fā)現(xiàn)的規(guī)范。服務提供者通常用WSDL來描述它所提供的Web服務,然后將該WSDL描述發(fā)布;服務請求者可以通過UDDI或者其他注冊中心來獲取WSDL描述,請通過向服務提供者發(fā)送一個SOAP消息來請求執(zhí)行服務?;赟OA的MES系統(tǒng)的關鍵是如何對服務進行合理描述,描述后發(fā)不到UDDI中,服務的請求者則要調(diào)用服務發(fā)現(xiàn)引擎找到需要使用的服務。
2. ESB
企業(yè)服務總線ESB(enterprise service bus)是一種可以提供可靠的、有保證的消息技術的新方法。ESB中間件產(chǎn)品利用的是Web Service標準和公認的可靠消息接口協(xié)議MOM。ESB產(chǎn)品的共有特性包括連接異構的MOM、利用Web Service描述語言接口WSDL封裝MOM協(xié)議,以及在MOM傳輸層上傳送簡單對象應用協(xié)議(SOAP)傳輸流的能力。大多數(shù)ESB產(chǎn)品支持在分布式應用之間通過中間層如集成代理實現(xiàn)直接對等溝通。
ESB的出現(xiàn)改變了傳統(tǒng)的軟件架構,可以提供比傳統(tǒng)中間件產(chǎn)品更為廉價的解決方案。同時它還可以消除不同應用之間的技術差異,讓不同的應用服務器協(xié)調(diào)運作,實現(xiàn)了不同服務之間的通信與整合。從功能上看,ESB提供了事件驅(qū)動和文檔導向的處理模式,以及分布式的運行管理機制,它支持基于內(nèi)容的路由和過濾,具備了復雜數(shù)據(jù)的傳輸能力,并提供了一系列的標準接口。
ESB不是一個應用程序框架,也不是一個企業(yè)應用的解決方案,它只是一個基于消息的調(diào)用企業(yè)服務的通信模塊,它可以嵌入到應用程序框架中,例如嵌入到spring容器里面,或者嵌入到工作流系統(tǒng)中。ESB為實現(xiàn)可集成的MES系統(tǒng)提供了一個框架和簡便的方法。
3. BPEL
面向Web服務的業(yè)務流程執(zhí)行語言BPEL(或BPEL4WS)是一種使用Web服務定義和執(zhí)行業(yè)務流程的語言。BPEL使您可以通過組合、編排和協(xié)調(diào)Web服務自上而下地實現(xiàn)SOA。BPEL提供了一種相對簡單易懂的方法,可將多個Web服務組合到一個新的復合服務(稱作業(yè)務流程)中。
BPEL基于XML和Web服務構建,它使用一種基于Web的語言,該語言支持Web服務技術系列,包括SOAP、WSDL、UDDI、Web服務可靠性消息、Web服務尋址、Web服務協(xié)調(diào)以及Web服務事務。
在企業(yè)內(nèi)部,BPEL用于標準化企業(yè)應用程序集成以及將此集成擴展到先前孤立的系統(tǒng)。在企業(yè)之間,BPEL使與業(yè)務合作伙伴的集成變得更容易、更高效。BPEL激發(fā)企業(yè)進一步定義它們的業(yè)務流程,從而導致業(yè)務流程的優(yōu)化、重新設計以及選擇最合適的流程,進而實現(xiàn)了組織的進一步優(yōu)化。BPEL中描述的業(yè)務流程定義并不影響現(xiàn)有系統(tǒng),因此,對升級產(chǎn)生了促進作用。在已經(jīng)或?qū)⒁ㄟ^Web服務公開功能的環(huán)境中,BPEL是一項重要的技術。隨著Web服務的不斷普及,BPEL的重要性也隨之提高。
由此可見,為了實現(xiàn)可集成的、通用的MES系統(tǒng),BPEL的重要性是顯而易見的。以生產(chǎn)任務分排為例,簡單介紹BPEL在MES系統(tǒng)中的應用。ERP系統(tǒng)只制定生產(chǎn)計劃,而沒有將具體的生產(chǎn)執(zhí)行計劃制定出來,MES系統(tǒng)得到ERP系統(tǒng)的生產(chǎn)計劃后,需要對生產(chǎn)計劃進行分解,將其分解為若干個生產(chǎn)請求。因此可以將生產(chǎn)任務分派的流程描述為:
計劃分解—→預定生產(chǎn)產(chǎn)品需要的資源—→更新處理的狀態(tài)—→開始生產(chǎn)
而這個流程可以通過應用BPEL來進行描述,從而可以實現(xiàn)現(xiàn)有Web服務的重用。
#p#
基于SOA的MES系統(tǒng)
隨著Web服務技術的發(fā)展,控制層的供應商以及標準制定者逐漸遵循基于服務的體系結(jié)構,典型代表是OPC組織推出了基于Web服務的OPC XML-DA,并于2003年的7月份發(fā)布了OPC XML-DA的說明文檔1.0。OPC XML DA用基于XML的Web服務概念,用SOAP(簡單對象訪問協(xié)議)作為對應用程序共享消息進行包裝的標準協(xié)議。OPC客戶端和服務器之間通過HTTP協(xié)議傳輸Web服務。OPC XML提供一種比較容易的方式用于通過Internet發(fā)布OPC數(shù)據(jù)信息,為企業(yè)自動化過程控制系統(tǒng)集成提供廣泛的連接特性。最新定義的OPC UA更是通過應用SOA,定義了一套集成的服務集,解決了現(xiàn)有的OPC規(guī)范在應用時服務重疊的問題。而所有的這些都為實現(xiàn)基于SOA的MES系統(tǒng)提供了可能。因此,圖2描述了在企業(yè)不同層次(企業(yè)層、車間層和控制層)的服務提供者,應用他們提供的服務,可以構建動態(tài)的應用系統(tǒng),而用戶則需要業(yè)務流程的建模。在車間層,實際上這里就是MES系統(tǒng),包含了多個模塊,如車間數(shù)據(jù)采集SFDC(shop floor data collection)、庫存管理、有限資源計劃、工作單元控制、運輸、工具管理和工廠監(jiān)控系統(tǒng)(FMCS)等,通過應用SOA的架構,這些模塊都可以由Web服務接口、ESB消息傳輸機制以及應用BPEL動態(tài)建模來創(chuàng)建一個上與企業(yè)層系統(tǒng)(ERP、數(shù)據(jù)倉庫或MIS)、與控制層系統(tǒng)(PLC、SCADA、RFID或HMI等)集成的MES系統(tǒng)。如圖2把MES系統(tǒng)放到整個企業(yè)環(huán)境中,描述了基于SOA的系統(tǒng)架構是如何實現(xiàn)整個企業(yè)應用系統(tǒng)的集成。企業(yè)的供應商提供了維護、培訓、維護計劃或者設備故障診斷等服務,在客戶需求方面,客戶要求企業(yè)提供產(chǎn)品追蹤和回溯的服務,此外客戶服務方面還要求企業(yè)提供可承諾量ATP(available to promise)服務,而企業(yè)內(nèi)部本身也包含了很多私有服務。通過將這些服務組合在一起,則可以創(chuàng)建符合企業(yè)業(yè)務流程的MES應用系統(tǒng)。同時,采用Web服務適配器可以使得Web服務可以與沒有用Web服務開發(fā)的系統(tǒng)相通信。以下幾種示例系統(tǒng)可以用Web適配器:內(nèi)部開發(fā)的系統(tǒng)、打包的軟件、數(shù)據(jù)庫系統(tǒng)、CORBA和DCOM。如圖3所示,當消息路由使用Web服務的時候,消息路由只需要和Web服務連接而不需要和每一個系統(tǒng)連接。由于目前企業(yè)內(nèi)部有可能實施了部分的MES功能,這是因為企業(yè)是功能型驅(qū)動的業(yè)務模式,企業(yè)不可能在一開始就完全規(guī)劃好整個MES的系統(tǒng),如企業(yè)發(fā)現(xiàn)需要將內(nèi)部的工具包括切削刀具等進行管理,從而實施了刀具管理,但隨著業(yè)務需求的增加,企業(yè)有可能需要實施其他的功能模塊,這個時候原有的系統(tǒng)模塊就需要與整個MES系統(tǒng)集成。為了保護原有的投資,則可以將刀具管理系統(tǒng)應用Web服務適配器封裝工具(如iWay軟件的通用適配器套件)封裝成Web服務,從而可以將已有的應用系統(tǒng)集成到整個SOA架構的應用系統(tǒng)中。
羅克韋爾自動化提供的MES系統(tǒng),應用FactoryTalk應用服務平臺,運行在FactoryTalk/SOA上,F(xiàn)actoryTalk/SOA服務平臺提供一套通用的軟件服務程序,包括安全控制、診斷、審計、數(shù)據(jù)模型、授權、實時數(shù)據(jù)采集、歷史數(shù)據(jù)記錄、配置、報警和事件等服務,這些通用的服務可以為工作訂單、物料管理、工作流、追蹤與回溯、異常處理、測試與采集、SPC等MES應用模塊所重用。這樣做的好處是,這些服務只需一次部署,以后可多次重復使用,大大節(jié)省了用戶的培訓和學習時間。由于所有的產(chǎn)品都使用SOA使能的功能,因此,這些功能包括了通用的組件、應用界面等。同時對于軟件供應商來說,采用這種架構可以縮短軟件開發(fā)周期并提高上市速度。在部署MES應用的時候,MES系統(tǒng)應用相關的服務與通用服務一起動態(tài)地構建滿足企業(yè)需求的MES應用系統(tǒng),其體系結(jié)構如圖4所示。
應用實例
江西九江昌河汽車有限責任公司總裝車間采用了羅克韋爾的MES(制造執(zhí)行系統(tǒng)),該系統(tǒng)是昌河汽車總裝車間進行生產(chǎn)管理的重要系統(tǒng)。它接收上層ERP系統(tǒng)的計劃數(shù)據(jù),監(jiān)控整車在線狀態(tài),控制生產(chǎn)進程,提供物料需求信息;反映各種設備運行狀態(tài),提供生產(chǎn)數(shù)據(jù)的統(tǒng)計與查詢。該MES系統(tǒng)主要分為ANDON系統(tǒng)、AVI系統(tǒng)和物料呼叫系統(tǒng)。
以ANDON系統(tǒng)為例,介紹基于SOA的MES系統(tǒng)在汽車總裝車間的應用。安裝在汽車生產(chǎn)線上的ANDON系統(tǒng),是用來幫助流水線上的工人在一定生產(chǎn)節(jié)拍內(nèi),完成質(zhì)量可靠的汽車裝配任務,起到了在生產(chǎn)流水線上傳遞信息、提高生產(chǎn)效率的作用。
在由傳送帶控制的流水線上,各個工位上應安裝拉繩,每條生產(chǎn)線段安裝一塊ANDON顯示板。當操作工發(fā)現(xiàn)質(zhì)量問題或需要請求班組長的幫助時,操作工拉下拉繩。此時ANDON顯示板上的指示燈應點亮,ANDON系統(tǒng)會播放音樂來提示班組長。如果這個質(zhì)量問題在給定的生產(chǎn)節(jié)拍時間內(nèi)還無法解決,ANDON系統(tǒng)應向傳送帶控制裝置發(fā)出聯(lián)鎖信號,要求傳送帶停送,以獲得足夠的時間來解決問題。
ANDON系統(tǒng)將一些重要的生產(chǎn)數(shù)據(jù),如目標產(chǎn)量、上線產(chǎn)量、下線產(chǎn)量等顯示在LED型ANDON顯示板上。ANDON系統(tǒng)中會記錄每個工位發(fā)出的質(zhì)量報警,上位計算機還應提供生產(chǎn)報表供用戶作質(zhì)量問題匯總和進一步的分析。
ANDON系統(tǒng)的工作流程是:首先裝配制造工人根據(jù)經(jīng)驗發(fā)現(xiàn)裝配問題從而按了急停按鈕,按鈕發(fā)送信號給Flex I/0,F(xiàn)lex I/0進而發(fā)送信號給ANDON PLC,PLC立即發(fā)送信號使得工作站燈開始閃爍,進而工作站的燈開始閃爍。與此同時,PLC發(fā)送“Super Point”消息給ANDON PDU,而ANDON軟件則將錯誤登記到DTR并生成消息發(fā)送到電子顯示板上,顯示板接收到消息,將消息進行顯示。
為了實現(xiàn)上述ANDON系統(tǒng),采用基于SOA的MES系統(tǒng)結(jié)構,應用BPEL設計業(yè)務流程圖,根據(jù)BPEL的流程圖調(diào)用相應的Web服務,系統(tǒng)根據(jù)BPEL的流程圖在UDDI中發(fā)現(xiàn)相關的服務(WSDL),通過調(diào)用Web服務實現(xiàn)ANDON系統(tǒng)的業(yè)務流程。
小結(jié):
本文主要描述了如何應用SOA及其相關技術如ESB、BPEL、Web服務適配器等構建可集成的、通用的和可擴展MES系統(tǒng)。應用這樣的系統(tǒng),其好處在于不但可以使得MES系統(tǒng)本身能夠動態(tài)配置,滿足當今動態(tài)的制造環(huán)境的要求,而且可以使得MES系統(tǒng)能夠與上層企業(yè)管理系統(tǒng)(如ERP或MIS)無縫集成,并與底層控制系統(tǒng)有效集成,從而實現(xiàn)企業(yè)內(nèi)部以及外部信息流、資金流的暢通。隨著SOA技術以及Web服務在自動控制行業(yè)中日漸流行,這種基于SOA的MES系統(tǒng)必將大放異彩。
【編輯推薦】