制造執行系統(manufacturing execution system,MES)是面向車間層的管理信息系統,其是上層計劃系統和下層生產控制系統的信息鏈路叫.現代企業集成制造、環境中,面對工業生產的多變性,需要MES框架有良好的可擴展性和可重配性,以面對變化能夠做-出迅速的反應,進而實現敏捷和靈活的定制生產.設計一種可重配性高的MES,已經成為現代MES研究的重點.因此,需要一種完整的、高可重配性的MES架構,使系統在穩定完成任務的同時,能夠面對多變的生產而快速變化。
對于可重配MES的研究目前有兩個挑戰,即如何快速構建MES系統初始模型,以及面對變化如何從現有的系統快速得到目標模型.目前MES建模仿真主要有3種方法:DES(discrete event simulation)方法、SD(system dynamics)方法和AB(agent—based)方法,其中,基于DES方法和AB方法的系統有很多研究成果.文獻提出了基于事件系統的制造系統框架.文獻提出了一種對事件(event)的管理方法,并使用CEP(complex event processing)方法對車間進行實時控制.目前,大多的研究基于某種特定的方法進行系統模型及框架的構建,對于基于一個特定的中心結構來構建可重配MES的研究較少.
本文主要針對可重配MES的構建和運行中心的結構進行研究.整個研究重點在于提出一種高內聚的中心,控制MES的流程以及與ERP(entERPrise resource planning)、PCS(process control system)的信息集成,使MES的運行以及變化的執行以一種輕便敏捷的方式進行.本文提出基于事件驅動的MES消息中心,作為可重配MES構建、運行時的中心.通過建立消息中心的模型庫和規則庫并應用CEP方法對系統進行監測和決策,構建敏捷、輕便以及持續可重配的MES.
1 可重配MES的消息中心
可重配MES的構建關注一些指標:系統的柔性、適應性以及可擴展性;同時可重配系統有一些特征:可模塊化、可集成化、用戶可定制性等.通過一個核心,將系統完整聯系起來,構建一種結構松耦合的MES是完成上述指標和特征的關鍵.傳統基于事件的系統結構較松散,但是沒有處理核心,沒有很好的方法管理MES中的邏輯,不能有效處理系統的變化.因此在基于事件驅動系統模型基礎上,應構建核心結構消息中心,作為可重配MES的構建和重配的管理中心.對于MES的消息中心要形成一種高內聚、有獨立消息生成以及規則處理的系統,形成獨立系統而非孤立的處理模塊.
對于消息中心,主要任務是消息的通知,不包括具體業務處理.針對MES的特點,消息中心與業務系統采用消息機制來通知,消息中心與PCS信息的交互采用同步通信.
綜上所述,消息中心要面對的問題為通信以及系統邏輯管理.針對以往遇到的問題以及上述需求,提出集中處理和管理邏輯規則,即基于事件驅動的MES消息中心.消息中心在MES中的位置以及與MES和PCS的關系如圖1所示.
圖1 消息中心在MES中的位置
消息中心嵌入MES中并與其緊密結合.消息中心中采用消息機制及事件驅動方式.消息是一種描述信息的數據結構,在消息機制中,系統所有通知、動作由消息告知.消息中心中使用消息機制與MES和ERP進行信息交互,解決了通信的數據結構耦合的問題.事件驅動方式是一種有很好靈活性和擴展性的信息推動方式,采用發布/訂閱的推送模式,與SOA的拉動模式形成對比,消息中心采用發布/訂閱模式,實現了時間、空間、流程方面的解耦.其中對于異步模式,從長期利益來看,系統和組織的狀態變得更精準,對實時變化的響應接近于同步,因此,發布/訂閱推送模式適合應用于對實時性要求較高的MES消息中心.
消息中心在構建階段,需要建立MES靜態模型和Petri Net模型,并根據Petri Net模型的映射得到消息中心的模型庫與規則庫,即采用Petri Net模型來管理系統的事件和邏輯.在運行階段通信中,消息中心與PCS進行實時的信息交互,與MES業務以及ERP系統進行異步的通信,以事件驅動的異步方式,驅動消息在系統間的交互.在事件的監測及邏輯事件的生成方面,根據建立的規則庫,使用CEP引擎,對消息中心的事件流進行分析和處理,對系統進行監測和決策,產生邏輯事件.
2 消息中心的構建及運作
可重構MES消息中心的研究包括靜態模型的構建和動態的運作,兩者不可分割但描述不同的方面.靜態模型描述系統的結構,動態模型描述系統的運作.采用Petri Net方法能夠將靜態模型和動態模型聯系起來,管理系統的過程,又能通過過程模型得到系統規則和模型的映射.系統過程的修改,通過在Petri Net上的反映,進行規則庫、模型庫的動態修改,完成系統可重配.
2.1 消息中心靜態模型的構建
靜態模型描述消息中心內部以及外部系統的環境,揭示系統的結構,反映各對象間的關系.靜態模型包括設備模型和事件模型,前者描述了PCS中的設備,后者描述了消息中心處理的基本單元.在MES的快速構建以及重配中,消息中心的靜態模型是基礎.
2.1.1 設備模型
設備模型對應于PCS中的實際設備實體.定義設備通用模型,需從屬性到行為完整地對設備進行描述.參考Wonderware Factorysuit系統對設備建立的模型,并根據消息中心應用的機制,得到消息中心的設備模型的定義.
定義1 設備實體(device)的定義:DV={CONN,PROP},其中,CONN代表連接器,PROP代表設備屬性.連接器描述了與PCS通信相關的信息,設備屬性描述設備自身的性質.
定義2 連接器(CONN)的定義:CONN={C_METHOD,C_PROTOCOL),其中,C_METHOD代表連接方式,C_PROTOCOL代表連接協議.連接協議描述了通信的類型以及通信連接中所需要的參數.
定義3 連接方式定義:C_METHOD={C_METHOD_TYPE,C_METHOD PARAMS),其中,C_METHOD_TYPE代表連接方式的類型,C_METHOD-PARAMS代表連接所需的參數.
定義4 連接協議:C_PROTOCOL={C_TIMES,CONFIRM,TIMEOUT,ARRAY C_RWTYPES,LIST PACKAGES,RESULT},其中,C_TIMES代表連接次數,CONFIRM代表連接進行確認的條件,TIMEOUT代表連接超時時間,ARRAY C_RWTYPES代表每次連接的讀寫類型,LIST PACKAGES代表每次連接發送或接收的數據包信息,RESULT代表完成一次通信獲得的數據包.
定義5 設備屬性:PROP={P_DISPLAY,P_PARSE,P_EVENT,P_SAVE),其中,P_DISPLAY代表顯示屬性,P_PARSE代表解析屬性,P_EVENT代表觸發事件屬性,P_SAVE代表存儲屬性.設備的屬性完整地描述了設備數據模型.顯示屬性是設備在前端顯示層所需的屬性.存儲屬性是持久層有關設備數據存儲的屬性,同時也對應數據采集時采集的信息片段.解析屬性是業務層中對采集的信息進行解析所需要的屬性.觸發事件屬性是在解析中判斷事件是否觸發的屬性.
定義6 事件屬性:P_EVENT={P_SAVE,P_PARSE,EVENT}.事件屬性定義了采集的設備信息在經過解析,滿足觸發條件而觸發事件的屬性,綁定了存儲屬性、解析屬性以及事件.
例1 以液晶面板生產線中清洗機來構建設備模型作為實例.其中,連接方式:C_METHOD={TCP/IP,{IP,PORT)),連接協議為C_PROTOCOL,則連接器CONN={C_METHOD,C_PROTOCOL).對于清洗機而言,存儲屬性P_SAVE_{AUTORUN, AUTOMODE,STOP,ALARM,PAUSED,…),解析屬性P_PARSE_{AUTOMODE=1,自動模式;0,手動模式#ALARM=1,報警;0,正常#…),當設備不正常時進行報警,定義事件AlarmEvent為報警事件,事件屬性P_EVENT={ALarm,ALARM=1,AlarmEvent},顯示屬性為P_DISPLAY={displayColor,buttonBlink,…),則清洗機屬性PROP={P_PARSE,P_DISPLAY,P_EVENT,P_SAVE).最終得到清洗機靜態設備模型device_qXj={PROP,CONN}.
2.1.2 事件模型
事件模型定義事件系統處理的實體,包括事件頭(EVENT_HEAD)和事件主體(EVENT-BODY).
事件頭對事件本身信息進行描述,包括事件的標識(EVENT_ID)、事件的產生時間戳(EVENT_TIME)、采集源(EVENT_RID)、事件的發向(EVENT_DIRECT)以及事件的類型(EVENTTYPE).事件主體包含了事件的內容描述,包括發生事件的內容信息(EVENT_CONTENT)以及事件附屬的數據(EVENT_DATA).
例2 以清洗機報警事件AlarmEvent為例.根據例1中清洗機的模型,當ALARM值為1時報警,并停止此工藝運行,事件發向CEP引擎以及PCS控制系統,事件內容信息EVENT_CONTENT=“清洗機報警”,事件發向CEP引擎進行復雜事件的監測,發向PCS控制命令.其中向PCS發送的事件帶有數據,則EVENT_DATA={pcs:STOP=1},數據為通過連接器向PCS發送的控制命令.
2.2 動態模型的構建
動態模型描述了與操作時間和順序有關的系統特征.通過系統Petri Net過程模型與事件模型的對應映射,得到系統規則庫以及模型庫中模型的關系,以使用CEP方法對系統進行監測和決策.在MES的快速構建及重配中,動態模型是紐帶.
2.2.1 系統Petri Net模型映射
在事件驅動的系統中,將狀態的變化看作事件,同樣Petri Net模型描述了系統的狀態變化,也描述了系統的邏輯.通過系統Petri Net過程模型與事件的匹配映射,將事件靜態模型和過程模型聯系起來,得到事件的關系模型,同時也是CEP引擎做決策的規則模型.
圖2 MES生產線的Petri Net建模
圖2為Petri Net對液晶面板生產線一個階段的建模.當3條生產線都完成(S5壓合、S7壓合完成狀態),才可以完成最后的生產(S8測試狀態).將模型中所有的狀態庫和事件一一映射,可得到事件的關系.玻璃清洗E2=SEQ E1,清洗完成E6=NOTE4,E5一E2 OR E3,清洗完成2次E7=Times(E6,2),測試E8=E5 AND E7.根據模型中事件的層次,定義幾種事件類型.
定義7 基本事件BASIC—EVENT:設備與消息中心的通信獲得設備信息的事件.由于與設備通信的實時、采集不問斷的特點,設備信息的采集作為特殊的事件獨立處理,定義為基本事件.
定義8 簡單事件SIMPLE_EVENT:采集的設備信息經過解析而觸發的事件以及業務系統傳入消息中心的事件.在設備的建模中,事件屬性中的事件就是簡單事件.同時,事件建模中可以定義由業務系統發來的事件為簡單事件.
定義9復雜事件COMPLE—EVENT:系統中簡單事件的邏輯組合構成的事件.基本邏輯關系有5種,分別為或關系(OR)、與關系(AND)、非關系(NOT)、事件E的發生次數T的關系(Times(E,T)),以及t時間內發生事件E的關系(WITHIN(E,t)).
根據圖2中的模型,E1,E3,E4為簡單事件,通過簡單事件以一些規則復合在一起產生的事件E2,E5,E6,E7,E8為復雜事件.通過過程模型的映射得到了事件的邏輯關系,并將事件的關系映射到CEP引擎的規則中,CEP引擎根據規則來進行監測和決策.
例3 以一臺清洗機出錯“發生報警”過程為例.生產場地有多臺清洗機,一臺清洗機停止,則此工藝停止,備用工藝中清洗機開始接手后續工作,將此過程的過程模型與事件系統的事件進行映射.系統根據監測,如果一臺清洗機出錯,則生成報警事件AlarmEvent并發出;如果沒有出錯,則發出非邏輯NOT AlarmEvent事件.CEP引擎監測到AlarmEvent事件的發生,進行決策生成BackupStartEvent“啟動備用設備”事件,并派遣此事件到相應目的地.
2.2.2 系統事件的派遣
事件是通過對系統的監測而決策產生的,然后被發送到派遣中心,派遣中心根據規則,對事件進行不同方向的派送.派送的方向有CEP引擎、消息中間件、PCS.發往消息中間件的消息則根據參數發向不同的通道,包括設備通道、顯示通道、業務通道.在事件引擎中對每個設備設有事件通道,方便CEP引擎對事件系統的監測和決策.根據派送的方向,定義兩種事件.
定義10上行事件UP—EVENT:向業務系統、數據庫發送的事件.上行事件產生消息,發往消息中間件,根據消息中間件通道訂閱情況,進行數據的持久化以及發往業務系統的行為.
定義11 下行事件DOWN—EVENT:向PCS發送的事件.下行事件產生行為,與PCS進行信息交換,驅動生產線按照規則運轉.
圖3為事件關系以及事件的派遣機制.上行事件發送至消息中間件,根據訂閱情況,推送消息至訂閱系統,訂閱系統收到消息并進行相應的處理,即采用消息驅動的機制驅動業務的進行.下行事件通過與設備實時通信,直接與控制系統進行信息交換,使PCS聯動運行.發往事件引擎的事件,通過CEP引擎對事件進行監測并進行決策.
圖3 事件關系以及事件派遣機制
其中派遣算法如下:
Void dispatch(EVENT)
If EVENT_TYPE=BASIC—EVENT
dispatchToCEPEngine(EVENT);
If EVENT—TYPE—SIMPLE_EVENT
or COMPLEX—EVENT
If EVENT_DIRECT=Display
dispatchToDisplayMOM(EVENT);
If EVENT—DIRECT=Device
dispatchToDeviceMOM(EVENT);
If EVENT—DIRECT=Engine
dispatchToCEPEngine(EVENT);
If EVENT_DIRECT=Service
dispatchToServiceMOM(EVENT);
If EVENT—DIRECT=PCS
dispatchToPCSConn(EVENT);
2.3 MES的運作及可重配
MES的快速構建階段需對消息中心進行靜態建模,建立設備模型與事件模型,并通過Petri Net建立的過程模型,對事件系統及規則進行映射,得到消息中心的規則庫.在基于事件驅動的消息中心中,通過過程模型的映射形成了MES的完整模擬,構建了MES的驅動中心.
系統運作階段,面對外界環境的變化,需要對MES消息中心進行重配以適應生產.對于PCS設備以及事件模型的變化,修改模型庫中相應的模型.對于系統業務的變化,通過Petri Net過程模型,修改規則庫中的事件以及邏輯,從而得到目標MES模型.CEP引擎根據新規則,動態地進行新規則的監測和決策,并派遣到不同處理程序,驅動生產以及業務的進行.
3 驗證及實現方案
本文以一個太陽能電池液晶面板自動化生產工廠的需求為基礎,構建基于消息中心的可重配MES,并對該系統可重配性的性能指標進行驗證.生產線通過PCS來控制生產,并在PCS之上構建MES,進行協調生產.消息中心作為MES信息采集和消息發送中心,與外部系統進行通信,同時也作為監測和決策中心,根據邏輯進行事件的監測和生成,并派送到生產系統及業務系統,保證生產及業務的持續進行.根據上述需求,構建基于消息中心的MES,系統架構如圖4所示,并以MES中的系統監控模塊以及設備重用流程作為可重用的展示.
圖4 基于消息中心的MES架構圖
首先在消息中心中根據生產線的環境以及業務的邏輯,建立生產線設備模型以及事件及規則模型,完成系統的快速構建.消息中心持續與建立的外部系統進行通信,推動生產和業務的進行.其中與PCS的通信,采用TCP/IP協議與控制器的路由,由其采集PCS信息,并根據模型對采集的數據進行分析,產生事件,驅動業務、生產的進行.
在系統搭建上,前臺使用flex3技術,后臺使用Java語言,并使用struts2,spring,hibernate框架.監控程序以及設備重用流程運行結果如圖5所示.
圖5 基于消息中心可重配MES運行結果
由圖5可知,當一個設備出現問題,消息中心監測到此事件,并發出報警事件通知業務系統,在監控界面進行顯示,同時向事件引擎發出事件通知,引擎根據系統過程邏輯,通知PCS選用后備工藝的運行,變更生產流程,輕便地完成流程的重配,得到目標流程.表1為對不同類型MES的比較.
表1 不同類型MES的比較
通過對表1中不同MES的對比,結合基于消息中心MES實例的運行結果來看,應用事件驅動以及消息機制有很好的靈活性和輕便性,使用Petri Net進行系統的建模,對于系統的規則生成以及管理有較好的可維護性.以事件驅動消息中心為核心的MES有好的適應性、開放性,系統耦合度低,有較好的可重配性,滿足可重配MES的要求.
4 結語
本文提出了一個基于消息中心構建可重配MES的方法,建立了基于消息中心的MES,并將其應用于自動化生產工廠對可重構系統的指標進行了驗證.從實例分析以及對比的結果來看,以消息中心為基礎構建的MES有較好的柔性、適應性以及開放性,解決了快速構建初始模型以及面對變化快速得到目標模型的問題.本文提出的基于事件驅動消息中心的可重配MES框架,較好地解決了集成制造系統中的可重配問題.
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:基于消息中心的可重配MES/ERP的研究
本文網址:http://www.guhuozai8.cn/html/consultation/10820511424.html