引言
近年來,計算機在大型制造業(yè)中使用的范圍越來越廣,已經(jīng)深入到了企業(yè)核心的制造過程中。伴隨信息化程度的提高,不同部門問的協(xié)同制造越來越被企業(yè)所需要,而原先部署在企業(yè)各部門的系統(tǒng)都是分割獨立的,僅僅能夠從數(shù)據(jù)庫的層次上進行信息的交互而無法從業(yè)務流程上達到互相的協(xié)作。傳統(tǒng)的項目管理系統(tǒng)和ERP系統(tǒng)雖然可以在一定程度上解決不同部門間業(yè)務的協(xié)作,但是針對如航空、航天、軍工、船舶等工藝復雜且多品種小批量的生產(chǎn)模式上很難發(fā)揮其作用。這些行業(yè)產(chǎn)品工藝路線復雜,涉及的資源多,如船舶產(chǎn)品的BOM表通常有數(shù)萬條至數(shù)十萬條記錄之多。因此在企業(yè)制定生產(chǎn)任務時難以兼顧到所有生產(chǎn)車間的任務安排和資源狀況,在企業(yè)戰(zhàn)略層對生產(chǎn)目標產(chǎn)生了偏差。對此需要對企業(yè)內的生產(chǎn)任務進行跟蹤和及時的反饋,根據(jù)各部門和車間的生產(chǎn)能力和生產(chǎn)目標制定任務以及任務的調度。
在這方面國內外進行了大量的研究,如應用分布式人工智能中的多Agent技術和CORBA分布式對象技術與規(guī)范,對車間各種異構制造資源進行建模和封裝設計。通過對目標的分析,建立了一種考慮成本、交付期和項目優(yōu)先權的伙伴選擇模型。在業(yè)務決策上通過描述敏捷虛擬企業(yè)伙伴選擇群體決策問題中項目之間的聯(lián)系因素,應用多維決策模型對伙伴選擇方案的整體規(guī)劃,從全局上指導參與企業(yè)決策方向,減少冗余環(huán)節(jié),提高群體決策效率。
本文針對大型重工企業(yè)在多品種小批量的生產(chǎn)模式,提出了基于SOA的生產(chǎn)任務管理模型集成框架,利用SOA在可擴展性、柔性以及分布式上的優(yōu)勢,對不同生產(chǎn)部門中的系統(tǒng)進行任務和資源的服務封裝,提供一個組件式的生產(chǎn)任務制定和管理方式。該模型主要體現(xiàn)在對現(xiàn)有企業(yè)生產(chǎn)流程的協(xié)調處理,可以從不同的企業(yè)層次對計劃任務進行不同目標的調度,控制的任務粒度細,根據(jù)生產(chǎn)目標從生產(chǎn)依賴的資源出發(fā)協(xié)調生產(chǎn)任務。
1 基于SOA的資源驅動工作流集成框架
為了支持網(wǎng)絡環(huán)境下多部門的協(xié)同制造,本文采用了SOA技術,通過SOA把各個部門的生產(chǎn)業(yè)務封裝成各種服務,同時對相應的資源也進行封裝,然后把服務和資源進行發(fā)布和注冊。企業(yè)計劃管理部門通過整合各部門間的服務來制定相應的生產(chǎn)任務,并引入工作流管理機制對其任務進行調度和執(zhí)行控制舊。,逐步建立起一個以服務和資源為基礎,由資源狀態(tài)驅動的協(xié)同制造生產(chǎn)模式。本文提出的生產(chǎn)任務管理集成框架在現(xiàn)有的工作流的執(zhí)行過程模塊上進行改進,使其能夠提供SOA服務調度的功能。其結構可以用圖1來表示。
圖1 基于SOA的資源驅動工作流集成框架
(1)基礎數(shù)據(jù)層
提供制造過程中的各種資源,包括物質數(shù)據(jù)庫、人力數(shù)據(jù)庫、設備數(shù)據(jù)庫、生產(chǎn)工藝數(shù)據(jù)庫等。由于各個部門都存在遺留系統(tǒng),因此基礎數(shù)據(jù)通常存在于各種異構的數(shù)據(jù)庫中,并且由遺留系統(tǒng)進行管理。
(2)生產(chǎn)過程層
該模塊提供生產(chǎn)部門對自身生產(chǎn)過程和資源的封裝以及發(fā)布,同時通過Web服務負責接受服務調用,執(zhí)行服務所描述的生產(chǎn)過程,對其所管理的資源進行狀態(tài)跟蹤,及時反饋給服務調度層,為其調度提供資源基礎。
對資源和服務進行封裝主要為了解決制造資源的異構性問題,根據(jù)生產(chǎn)目標著重描述其主要關注的資源信息,并精確描述生產(chǎn)任務對資源的需求,實現(xiàn)資源在動態(tài)變化環(huán)境中的可跟蹤性。
(3)服務調度層
提供靈活的服務獲取、組合及調度的功能。從UDDI中獲取生產(chǎn)部門提供的服務,快速制定新的生產(chǎn)任務。當生產(chǎn)任務發(fā)生變化時,把其中的服務進行替換以完成對任務的修訂。同時在任務的具體執(zhí)行過程中,由依賴的資源執(zhí)行對任務的調度,通過資源驅動的機制來滿足不同生產(chǎn)任務的生產(chǎn)目標,通過工作流的執(zhí)行對具體服務的調用來實現(xiàn)對生產(chǎn)過程的控制。其資源管理可以識別不同部門間的相同資源,并對其進行整合,消除資源信息的冗余,優(yōu)化資源分配。在該模塊中還提供了服務組件管理、資源管理、任務管理、日志管理、工作流監(jiān)控等API,可以進行多種具體應用的操作。
(4)應用層
主要是進行生產(chǎn)任務的制定以及對生產(chǎn)任務進度的跟蹤,根據(jù)系統(tǒng)外部的變化及時調整企業(yè)生產(chǎn)任務,并反在該框架下,任務的生命周期可以描述為:基本操作過程描述一制定生產(chǎn)任務一模擬調度計算一執(zhí)行任務。在系統(tǒng)中,用戶對各個過程進行監(jiān)控,通過消息訂閱機制完成不同系統(tǒng)間的消息傳遞過程。本文第二部分就這些方面進行論述。
2集成框架主要技術
2.1資源和服務模型
在實施該系統(tǒng)前,必須對企業(yè)內分布在各個部門系統(tǒng)中的資源建立統(tǒng)一的抽象模型。本文結合船舶制造業(yè)的特點,對企業(yè)生產(chǎn)部門中的資源、服務和生產(chǎn)任務建立了抽象模型,并且可以根據(jù)實際車間的生產(chǎn)情況對模型的中的資源和服務進行目標評價。首先做如下定義:
定義1資源R(Resource) 是生產(chǎn)任務的參與者,包含了人員、設備、原桔料或其集合等具有獨占性的資源,他們提供了生產(chǎn)所需要的必要條件,是企業(yè)生產(chǎn)車間的制造實體。
定義2服務S(Service) 是對具體車間零部件生產(chǎn)任務的抽象描述,是生產(chǎn)工藝完成具體零部件的加工任務中不可分割的最小單元。對S可以形式化描述為S={T,RI,R0}。其中T為過程所需要的時間;RI為過程中依賴或者消耗的資源;RO為過程生成的資源。企業(yè)內部各個組織的生產(chǎn)過程通過服務來表現(xiàn)。
s和R之間存在著對資源的候選關系,不同s對不同的候選R根據(jù)車間的制作能力對目標的執(zhí)行能力不同,因此對RI可以用集合來表示RI1={R11...R12...,R1n}。R1n表示為RI1的第n個候選資源。對不同的候選資源進行指標因素評價(采用層次分析法,確定每種候選資源的優(yōu)先級,從高到低分為ABC三等。
通過以上的模型就可以在生產(chǎn)車間原有的信息系統(tǒng)之上,獲取生產(chǎn)過程和資源進行服務和資源建模,把服務依賴的資源進行等級評判,通過SOA的XML描述方法對原有的系統(tǒng)進行功能擴展。XML描述通過制定的Schema文件即可獲取需要的資源和服務,并且發(fā)布該信息,圖2和圖3分別為資源和服務的Schema文件。對資源和服務的描述中使用資源統(tǒng)一標識符(UUID)進行標示,實現(xiàn)服務和資源的統(tǒng)一管理,為后續(xù)的資源和服務調用提供基礎平臺。
圖2 service的Schema文件
圖3 Resource的Schema文件
2.2生產(chǎn)任務的制定
通過框架的UDDI注冊模塊,企業(yè)各個車間的生產(chǎn)功能都已經(jīng)以服務的方式集中到一塊,計劃管理部門通過對車間提供的服務進行組件式的組合來制定任務,并根據(jù)產(chǎn)品生產(chǎn)的工藝路線對其服務進行進一步的封裝和描述,對生產(chǎn)任務定義如下:
定義3任務T(Task) 是根據(jù)產(chǎn)品的生產(chǎn)工藝制定的服務執(zhí)行路線以及相互的資源。T={S,R,L},其中S為包含的服務的集合,表示為S={s1,s2,...,sn};R為協(xié)調所有服務需要額外付出的資源,表示為R={R1,R2,...,Rn};L為各個服務間的業(yè)務邏輯關系,L={[s1,(s2,s3),s4,...,sn]}。在任務T中的s同時也可以為某個子任務T,因此任務T可以為一個多層嵌套的任務和服務的集合。
加工工藝規(guī)則:業(yè)務邏輯由[]和()兩種符號表示,[]內的服務si和sj的執(zhí)行路線根據(jù)其在[]中出現(xiàn)的次序決定,()內表示其內的服務不存在次序問題,在滿足生產(chǎn)資源的條件下可以由任何一個先執(zhí)行。
用戶在制定生產(chǎn)任務時只需要在服務組件中選擇服務并提供服務的執(zhí)行次序。在創(chuàng)建新任務時可以使用其他任務正在使用的服務并把它加入到新的任務中,并且可以采用獨立運行和合并運行兩種模式。如圖4所示。
圖4服務運行模式
獨立運行模式中,原先任務不會受到新任務的影響,新任中相應的服務只是使用了一套相同的流程,在任務執(zhí)行過程中對資源的需求相互獨立,相同的服務對不同的任務形成資源的沖突。
合并運行模式中,兩個任務共用其中某一服務,使服務為不同的任務提供具體操作,對資源不存在沖突,并且在合理調度下滿足不同任務的需要,通過服務的合并提高了業(yè)務的整合性。
該任務模型可以通過靈活地增加和刪除其中的組件來改變任務的執(zhí)行過程,這種模型特別適合于柔性的生產(chǎn)任務管理任務制定人員不必太關注每一個服務組件具體的生產(chǎn)過程,通過組件間的相互關系就可以創(chuàng)建一個新的生產(chǎn)任務,并且可以為此開發(fā)出不同的生產(chǎn)任務模板,對于相同的生產(chǎn)任務直接使用任務模型就可以創(chuàng)建一個具體的任務。這樣從生產(chǎn)任務的不同層次上對任務進行指定,保證了任務制定的正確性和任務執(zhí)行的及時性。
2.3生產(chǎn)任務的執(zhí)行
生產(chǎn)任務的執(zhí)行即是其服務的執(zhí)行過程.該過程由工作流來管理,主要是管理和控制工作流過程并且根據(jù)事先設置的運行次序進行服務調用。運行最初由用戶制定生產(chǎn)任務并通過任務分解過程,提取任務中包含的服務以及資源轉化成工作流實例,通過調度算法對實例中的服務進行資源分配計算設置服務的優(yōu)先級。
在服務等待隊列中放置接下來要激活的服務,獲取其依賴的資源置于資源依賴隊列中,依賴資源通過對資源監(jiān)控模塊進行實時監(jiān)控,發(fā)現(xiàn)服務執(zhí)行所依賴的資源處于“可使用”狀態(tài)后激活服務等待隊列中的相應服務,使服務進入到執(zhí)行過程,通過執(zhí)行過程調用服務,同時把下一個任務放入到服務等待隊列中,任務執(zhí)行過程中生產(chǎn)出的資源通過資源監(jiān)控提供給其他服務使用。其運行過程可以通過預先的模擬過程進行模擬,修改其中不合理的調度次序最后交由執(zhí)行調度中心執(zhí)行。其過程可用圖5來表示。
圖5任務執(zhí)行運作圖
由于每一個服務都有依賴的資源及需要的數(shù)量,根據(jù)實際資源的具體數(shù)量依賴資源可處于“可使用”和“補充中”兩個狀態(tài)。不同的服務對同一資源的需求量不同,同一資源針對不同的服務會處于不同的狀態(tài),因此資源的狀態(tài)由資源本身數(shù)量和具體服務來決定,不同服務根據(jù)其優(yōu)先級來爭奪資源。服務對不同候選資源的選擇在滿足調度情況下使用優(yōu)先級高的資源。
2.4 消息交互模型
工作流執(zhí)行過程中需要使用的服務和資源同各個部門或車間系統(tǒng)進行服務的調用完成數(shù)據(jù)的交互,最終使服務正確的執(zhí)行。在服務調用中采用了SOA中的標準SOAP協(xié)議,它是一種輕量的、簡單的、基于XML的協(xié)議,它被設計成在Web上交換結構化的和固化的信息。
本文中以SOAP為消息載體采用Publish/Subscriber(發(fā)行訂閱)的方式處理,生產(chǎn)部門發(fā)行自身的資源和服務信息,同時訂閱所擁有的服務調用信息。服務調度層訂閱調度過程中服務等待隊列里所依賴的資源信息。
3驗證
Microsoft.NET 3.5平臺對SOA提供了良好的技術支持,WCF(Windows Communication Foundation)是Microsoft為構建面向服務的應用程序而提供的統(tǒng)一編程模型。借助這一模型,開發(fā)人員可以構建既能跨平臺與現(xiàn)有投資集成又能與現(xiàn)有投資交互的安全、可靠的事務處理解決方案。同時,NET 3.5平臺還提供了工作流引擎模板,WWF(Windows Workflow Foundation)是編程模型、引擎和工具,提供了可擴展模型和設計器,用于生成為最終用戶或跨多個項目重用封裝工作流功能的自定義活動,支持面向服務應用程序的復合工作流。
本文論述的基于SOA的生產(chǎn)任務管理集成框架在此基礎上進行了系統(tǒng)開發(fā),并且利用上海某造船廠的生產(chǎn)任務案例進行了驗證。在船舶的分段制造過程中需要多個組件的加工然后把這些組件焊接成一個完整的分段,如雙底層分段制造過程,其主要的流程一般為:胎架制造一安裝外板一劃縱橫構架線一安裝縱橫構架一安裝內底板一劃分中心與肋骨檢驗線一吊環(huán)的裝焊一火工矯正一密性試驗驗收,在流程中“劃分中心與肋骨檢驗線”和“吊環(huán)的裝焊”可以同步進行。在任務的生產(chǎn)過程中需要使用到多個組件,這些組件的加工也可以同步進行。圖6為該任務的XML描述片段和項目界面。
圖6 XML描述片段和系統(tǒng)界面圖
在系統(tǒng)的運行過程中,用戶可以隨時查看當前任務的進程,在必要的時刻可以進行認為的干預使之適應臨時的任務變動。在系統(tǒng)運行過程中對各部門內部的運行過程進行了指導,充分驗證了本框架的可行性。
4結束語
本文提出的基于SOA的資源驅動工作流集成框架對現(xiàn)有制造業(yè)中服務和資源的整合進行了研究,為構建一個柔性好、可擴展性強、重用性高、支持分布式的任務協(xié)調的制造系統(tǒng)提供了一個新的解決方案,在企業(yè)的多個系統(tǒng)中搭建了一座信息的橋梁,為企業(yè)的協(xié)同作業(yè)和企業(yè)整體計劃的實現(xiàn)提供了技術支持,該系統(tǒng)在企業(yè)的驗證過程申得到了用戶的好評。但同時該框架在企業(yè)資源的模型以及和服務的關系、服務質量的管理、服務調度算法上還需要有進一步的深入研究,在企業(yè)信息化的推進過程中該框架也會得到進一步的完善。
轉載請注明出處:拓步ERP資訊網(wǎng)http://www.oesoe.com/