0 引 言 數(shù)控車間是一個信息流和物質(zhì)流交匯的復雜生產(chǎn)系統(tǒng),其生產(chǎn)活動涉及到人、過程、信息、技術(shù)、資源、管理等多個層面的相互服務和制約,作用方式不同于普通的機加車間。因此,傳統(tǒng)的管理模式不適應現(xiàn)代化數(shù)控設(shè)備加工環(huán)境,并制約了數(shù)控加工效率的提高,而實現(xiàn)數(shù)控車間管理的信息化則是提高生產(chǎn)效率的有效途徑。數(shù)控車間數(shù)字化改造是信息化的一個重要研究方向,其中的關(guān)鍵技術(shù)之一就是數(shù)控車間的信息集成?! ≤囬g數(shù)字化信息集成因信息的多領(lǐng)域性、信息的不確定性和信息來源的多樣性,給信息集成帶來了一定的難度?;诠矊ο笳埱蟠眢w系結(jié)構(gòu)(Common Objcct Request Broker Architecture,CORBA)和分布式組件對象模型(Distributed Component Object Model,DCOM)等組件技術(shù)的信息集成,對車間內(nèi)的信息集成而言,因環(huán)境可控,具有速度快等優(yōu)點,但對車間與企業(yè)其他部門,甚至企業(yè)外部的集成來說,就存在許多缺點。如在與其他協(xié)議進行交互時,它們都不能很好地發(fā)揮作用,使用DCOM無法調(diào)用Java組件,無法通過遠程方法調(diào)用(Remote Method Invocation,RMI)調(diào)用組件對象模型(Component Object Model,COM)對象,防火墻常常阻礙TCP/IP對端口請求的訪問等。而基于Web服務的集成對于車間內(nèi)部對象之間的集成沒有太大的意義,它沒有組件技術(shù)(如DCOM)快速高效的特點?! ∧壳?,針對數(shù)控車間生產(chǎn)的特點,提出的整體集成解決方案還不是很多。因此,本文在分析數(shù)控車間數(shù)字化硬件集成特點和業(yè)務活動的基礎(chǔ)上,提出了基于DCOM組件和Web服務的數(shù)控車間信息混合集成的方法,構(gòu)建了集成框架,有效地解決了數(shù)控車間內(nèi)外部的信息集成問題。1 數(shù)控車間整體業(yè)務流程 數(shù)控車間硬件環(huán)境涉及到多種異構(gòu)的數(shù)字化功能實體,如數(shù)控機床、數(shù)字測量設(shè)備(三坐標測量機)、運輸設(shè)備(自動導引小車、機器人)及存儲設(shè)備(自動化立體倉庫)等。由于這些實體的分布環(huán)境和組合形式不同,需要為其提供一系列使能服務(信息交互、功能集成),以支持異構(gòu)環(huán)境下不同功能實體之間的互操作和協(xié)作,實現(xiàn)高效運作、因此,決定了其業(yè)務活動不同于普通的機械加工車問,信息描述、信息載體和傳輸,如工藝制定、數(shù)字控制(Numerical Control,NG)程序編制和傳輸、生產(chǎn)輔助保障等?! ∧壳?,多數(shù)企業(yè)的工藝部門只承擔工藝文件的審批,工藝設(shè)計任務下放到車間技術(shù)部門完成,車間活動應包含計算機輔助工藝設(shè)計(Computer Aided Process Planning,CAPP)。此處的LAPP不同于傳統(tǒng)的CAPP,它要求其底層數(shù)據(jù)(如工裝、設(shè)備等資源信息)均來自車問系統(tǒng)集成平臺,通過工藝資源組件來獲取,同時又要集成在企業(yè)級的產(chǎn)品數(shù)據(jù)管理(Product Data VIanagement,PDM)平臺,實現(xiàn)零件設(shè)計信息、工藝知識獲取和工藝文件存儲。而車間生產(chǎn)任務管理系統(tǒng)不僅需要從企業(yè)資源管理系統(tǒng)獲得生產(chǎn)計劃信息,從工藝設(shè)計系統(tǒng)獲得零件加工工藝路線和所用資源信息,還要從車間資源管理系統(tǒng)獲得資源使用狀況信息。因此,車間整體業(yè)務流程需要各單項業(yè)務間的信息交互。數(shù)控生產(chǎn)車間的生產(chǎn)模式是面向任務的,車間通過工三藝編制、訂單接收、計劃管理、任務分配、生產(chǎn)準備、生產(chǎn)調(diào)度、信息采集、成品人庫、成本核算等聯(lián)結(jié)活動,在集成制造資源管理的支持下,實現(xiàn)生產(chǎn)目標。如圖1所示為數(shù)控車間業(yè)務執(zhí)行流程圖。
圖1 車間業(yè)務執(zhí)行流程圖
本文根據(jù)車間業(yè)務的執(zhí)行流程,考慮數(shù)控車間活動域及數(shù)據(jù)冗余度等要求,把數(shù)控車間生產(chǎn)業(yè)務分為以下幾個主要執(zhí)行功能系統(tǒng),分別為CAPP、NC、加工仿真、生產(chǎn)過程管理、生產(chǎn)準備、資源管理、現(xiàn)場信息采集、設(shè)備管理與能力評價、信息導航顯示等;另外,集成系統(tǒng)還有一些輔助子系統(tǒng),如系統(tǒng)用戶管理、基礎(chǔ)數(shù)據(jù)管理等。2系統(tǒng)集成設(shè)計 數(shù)控車間信息集成的核心是內(nèi)容的集成。通過接口實現(xiàn)內(nèi)部各功能系統(tǒng)之間的數(shù)據(jù)交換和功能互連,將分散的功能部件聯(lián)合在一起,形成一個協(xié)同的整體,以實現(xiàn)車間的整體業(yè)務功能。根據(jù)以上數(shù)控車間數(shù)字化的功能域劃分和相互之間信息交換的需要,設(shè)計了如圖2所示數(shù)控車間內(nèi)部各子系統(tǒng)之間的信息流程圖。根據(jù)信息流程圖,設(shè)計了如圖3所示的數(shù)控車間數(shù)字化信息系統(tǒng)集成框架。
圖2 車間內(nèi)部信息集成流程圖
圖3 數(shù)控車間數(shù)字化信息集成框架
整個系統(tǒng)集成在統(tǒng)一的信息基礎(chǔ)平合上,達到信息的可控和可跟蹤。系統(tǒng)數(shù)據(jù)根據(jù)屬性劃歸不同的子系統(tǒng)管理,其生成、修改和維護都由該子系統(tǒng)完成,做到數(shù)據(jù)一次輸入全局使用,源頭產(chǎn)生源頭維護,以保證數(shù)據(jù)的唯一性和部門間良好的協(xié)同性。通過車間執(zhí)行軟件平臺系統(tǒng),實現(xiàn)信息的重用,并借此進行功能重疊,整合、規(guī)范車間管理的業(yè)務流程,劃清各個部分的功能界限,以實現(xiàn)生產(chǎn)管理的流程優(yōu)化。系統(tǒng)數(shù)據(jù)源存放在統(tǒng)一的數(shù)據(jù)庫中,各個子系統(tǒng)分配不同的用戶存取權(quán)限。底層數(shù)據(jù)庫表的設(shè)計根據(jù)E-R關(guān)系圖,采用第三范式。不同子系統(tǒng)的數(shù)據(jù)采用關(guān)系數(shù)據(jù)庫的表視圖(view)來達到數(shù)據(jù)共享,該方式可保證數(shù)據(jù)的一致性和同步性。車間系統(tǒng)一與外部環(huán)境的數(shù)據(jù)集成可采用中間件技術(shù),各自開發(fā)相應的接口程序,讀取中間數(shù)據(jù),如文件(*.txt,*.xls)、可擴展標記語言(eXtensible Markup Language,XML),以及中間數(shù)據(jù)表,以保證系統(tǒng)間數(shù)據(jù)的安全性?! ?shù)控車間數(shù)字化很重要的一點是對車間制造資源的信息描述和集成,以便支持異構(gòu)環(huán)境下不同功能實體之間的互操作和協(xié)作,以及集成管理系統(tǒng)對其調(diào)度和使用。首先根據(jù)集成制造系統(tǒng)對車間硬件的要求,應用國際萬維網(wǎng)聯(lián)盟的資源描述方法,對數(shù)控車間硬件進行本體建模,構(gòu)建制造資源本體庫,將制造資源本體實例存人庫中;然后,設(shè)計生產(chǎn)資源管理子系統(tǒng),對制造資源本體庫進行統(tǒng)一管理,并向集成系統(tǒng)提供制造資源的信息服務。所建立的資源本體模型包括資源本體、資源類別、資源集合、資源視圖、資源能力和資源狀態(tài)等,上述均可組合為不同的視圖,使用在不同的場合,如工藝設(shè)計時用資源類別和生產(chǎn)過程管理的資源狀態(tài)等。制造資源本體模型如圖4所示。
圖4 制造資源本體模型
2.1 基于分布式組件對象模型的車間系統(tǒng)內(nèi)部集成 各子系統(tǒng)按功能構(gòu)件的方式實現(xiàn),功能構(gòu)件首先封裝成具有DCOM接口的組件:對各個子系統(tǒng)進行統(tǒng)一對象建模與結(jié)構(gòu)設(shè)計,有關(guān)的決策模型和控制算法封裝在相應的知識庫和數(shù)據(jù)庫中;應用DCOM技術(shù),通過對系統(tǒng)功能模型分析,規(guī)范業(yè)務構(gòu)件和構(gòu)件的邊界;設(shè)計各功能子組件,然后將各功能子組件相關(guān)的生產(chǎn)業(yè)務活動封裝起來,構(gòu)成了一個功能構(gòu)件,以便具體實現(xiàn)車間活動的某一項業(yè)務,如設(shè)備管理構(gòu)件將設(shè)備添加、設(shè)備維修和設(shè)備報廢,以及設(shè)備查詢、設(shè)備狀態(tài)發(fā)布等過程封裝起來,同時用接口描述語言(Interface Definition Language,IDL)描述該功能組件,得到IDL接口文件。各功能組件采用一種動態(tài)客戶端/服務器(Client/Server,C/S)結(jié)構(gòu),即每個功能組件既可以作為客戶端應用程序來調(diào)用DOOM對象提供的服務,亦可作為服務器來為其他成員提供透明服務。對現(xiàn)有的應用系統(tǒng),如CAPP等也設(shè)計了接口文件,按DCOM組件的設(shè)計要求進行封裝,從而實現(xiàn)系統(tǒng)的集成?! 「鞴δ苣K設(shè)置信息訪問器(信息訪問組件)和信息發(fā)布器(信息發(fā)布組件)。利用信息訪問器查詢和獲取其他模塊所發(fā)布的信息,如API-FiudXXX實現(xiàn)信息的查詢,API-GetXXX實現(xiàn)信息的獲?。欢畔l(fā)布器將本模塊管轄部分所產(chǎn)生的車間公開信息對系統(tǒng)內(nèi)發(fā)布,供系統(tǒng)內(nèi)其他功能模塊使用,如API-PutXXX實現(xiàn)信息的發(fā)布。需要發(fā)布消息的格式按事先定義好的方式進行,格式包括消息名稱、消息說明、消息獲取方式和注意事項等,而信息的內(nèi)容則如圖2所示。 本文提出的信息發(fā)布器和信息訪問器的工作原理類似于發(fā)布:訂閱中間件,當木組件內(nèi)有某類事件發(fā)生時(如設(shè)備故障的發(fā)生),該組件的信息發(fā)布器向訂閱這類事件的組件發(fā)布通知(觸發(fā)一個事件),接受方組件的信息訪問器在收到通知后決定是否對通知做出回應。而信息發(fā)布器同時將信息保存在集成平臺的信息隊列(臨時數(shù)據(jù)庫)中,等待信息接受方的信息訪間器將信息取出。信息發(fā)布器和信息訪問器的通信是異步的,事件的訂閱方在訂閱了事件后,可以著手去做別的事情,而發(fā)布方在發(fā)布了通知后,也不必等到訂閱方給出回應信息。 具體實現(xiàn)時,功能構(gòu)件的IDL文件經(jīng)IDL編譯器進行編譯后,產(chǎn)生了給客戶端應用程序使用的Stub原始程序(信息訪問器),以及給服務器端使用的Skeleton原始程序(信息發(fā)布器);然后,編寫客戶端程序來激發(fā)和處理對已定義對象上操作的請求,為服務器編寫能響應并實現(xiàn)客戶端請求的代碼;最后,分別把Stub原始程序包含在客戶端應用程序的項目中,聯(lián)編生成可執(zhí)行的客戶端程序,把Skeleton原始程序包含在DCOM服務器的項目中,聯(lián)編生成可執(zhí)行的服務器程序。通過對象適配器將Server對象類注冊進現(xiàn)實庫。這樣,當客戶使用Server對象時,服務器能自動運行。采用DCOM規(guī)范建立了功能構(gòu)件的模型后,各成員構(gòu)件、系統(tǒng)管理構(gòu)件和其他構(gòu)件分別被封裝成具有IDL接口的DCOM應用對象,利用DCOM規(guī)范提供的“軟總線”結(jié)構(gòu)和系統(tǒng)管理構(gòu)件提供的網(wǎng)絡(luò)注冊功能,各成員構(gòu)件以即插即用的方式連接到整個系統(tǒng)集成框架中,從而實現(xiàn)各類功能構(gòu)件的快速集成。當運行環(huán)境發(fā)生變化時,根據(jù)環(huán)境的要求對成員構(gòu)件進行增加和刪除,從而實現(xiàn)系統(tǒng)的重構(gòu)?! ?.2 基于Web服務的車間系統(tǒng)與外部相關(guān)系統(tǒng)的集成 車間內(nèi)部信息和外部信息的集成因一般不在同一地域,而且有可能需要通過Internet來實現(xiàn)通訊,所以使用組件技術(shù)就不再合適,可以通過Web Service、技術(shù)來實現(xiàn)信息的集成,通過在超文本傳輸協(xié)議(HyperText Transfer Protocol,HTTP)上便用簡單對象訪問協(xié)議(Simple Object Access Protocol,SUAP)來進行。對系統(tǒng)所要訪問的各個車間外的系統(tǒng),如企業(yè)資源計劃(Enterprise Resource Planning,ERP), PDM等,設(shè)置ERP訪問器和PDM訪問器,來獲得車間所需生產(chǎn)計劃和產(chǎn)品信息。同時,對車間需要發(fā)布的信息,設(shè)置信息發(fā)布器向車間外部發(fā)布系統(tǒng)信息。訪問器采用標準的Web服務接口,根據(jù)企業(yè)ERP, PDM具體定制。訪問器可實現(xiàn)ERP , PDM的信息查詢和獲取,如信息查詢API-FindXXX,信息獲取API-GexXXX(XXX代表企業(yè)信息,如生產(chǎn)計劃,本月生產(chǎn)計劃等);發(fā)布器同樣用標準的W eb服務接口來實現(xiàn),將系統(tǒng)需要發(fā)布的信息發(fā)布出去,如API-PutXXX(生產(chǎn)進度,設(shè)備狀況等)。Web服務就是通過Web接口提供的某個功能程序段?! ⊥獠考傻木唧w實現(xiàn)如下:首先在企業(yè)服務器中設(shè)立不同的統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議(Universal Description,Discovery and Integration,UDDI)注冊中心,負責管理注冊企業(yè)內(nèi)外各部門的Web服務,即定位與所需要功能匹配的Web服務;而外部各系統(tǒng)(如ERP,PDM等)編寫各自的Web服務接口,充當服務器功能,在系統(tǒng)訪間器端編寫相應的代碼,使用Internet進行遠程過程調(diào)用(Remote Procedure Call,RPC)操作,對Internet上的服務器進行請求,并接收以XML格式的返回響應(服務內(nèi)容),此時系統(tǒng)為客戶端。該過程實現(xiàn)了信息從系統(tǒng)外部到系統(tǒng)內(nèi)部的交流。如系統(tǒng)需向外部提供信息時則反過來,在系統(tǒng)發(fā)布器端編寫相應的服務接口及服務說明,并到UDDI中心注冊,外部各系統(tǒng)讀取該服務接日,完成信息從系統(tǒng)內(nèi)部到系統(tǒng)外的流動。這些在客戶機和服務器之間來回傳遞的消息被編碼到一個特殊的XML語句中,這些語句稱為SOAP。例如,系統(tǒng)需要外部服務(如來自ERP的當月生產(chǎn)計劃等),則首先到注冊中心查找相應服務,然后在系統(tǒng)訪問器中編寫相應的訪問代碼,通過標準的Internet協(xié)議(如HTTP)訪問所需要的服務,實現(xiàn)訪問功能。當然,還可以根據(jù)企業(yè)間動態(tài)聯(lián)盟的情況,建立企業(yè)聯(lián)盟中的UDDI注冊中心,提供企業(yè)間的信息交互集成。如圖5所示為車間系統(tǒng)與外部信息的集成邏輯圖。
圖5 車間外部信息的集成邏輯圖
3 集成系統(tǒng)的體系結(jié)構(gòu)及實現(xiàn)方法 系統(tǒng)采用C#在Microsoft的Visual.NET環(huán)境下開發(fā),構(gòu)建了數(shù)控車間數(shù)字化軟、硬件集成執(zhí)行平臺,并進行了信息的集成。實現(xiàn)方式上采用瀏覽器/服務器(Browser/Server, B/S)和C/S混合的方法。因為NC加工程序可行性驗證需要在客戶端運行仿真軟件,所以將其設(shè)計成C/S結(jié)構(gòu),系統(tǒng)內(nèi)其余部分設(shè)計成B/S結(jié)構(gòu),充分利用B/S模式強大的可擴充性、跨平臺性和廣泛的可訪問性,客戶端基本不用維護。采用B/S三層應用結(jié)構(gòu)。利用中間件將應用分為表示層、業(yè)務邏輯層和數(shù)據(jù)存儲層三個不同的處理層次,使系統(tǒng)具有穩(wěn)定、安全和處理能力強等特性,同時擁有開放系統(tǒng)成本低、可擴展性好等優(yōu)點。B/S結(jié)構(gòu)實現(xiàn)了系統(tǒng)的隨時接入性,即在車間內(nèi)部只要能上網(wǎng)就可以使用本系統(tǒng)。系統(tǒng)的安全性則通過系統(tǒng)安全權(quán)限來管理。采用組件設(shè)計的結(jié)構(gòu)可實現(xiàn)系統(tǒng)的即插即用,便于系統(tǒng)重構(gòu)。 系統(tǒng)數(shù)據(jù)庫采用Orcale 9i作為后臺數(shù)據(jù)集成存儲支持。根據(jù)數(shù)據(jù)庫的角色管理,設(shè)計了不同用戶的數(shù)據(jù)存取權(quán)限,以保證數(shù)據(jù)的安全性。采用ASP.NET Web服務模板設(shè)計了系統(tǒng)的信息訪問器,并采用DCOM技術(shù)設(shè)計了各子系統(tǒng)的接口。4 應 用 上述執(zhí)行系統(tǒng)及信息集成解決方案在某企業(yè)的數(shù)控車間中得到了應用。該數(shù)控車間屬于典型的多品種、小批量生產(chǎn),30%以上結(jié)構(gòu)復雜、精度高的零件需要數(shù)控精加工,因此需要生產(chǎn)系統(tǒng)具備快速響應能力。而目前的車間管理方式不能滿足企業(yè)生產(chǎn)的需求,表現(xiàn)在:①CAPP的編制缺乏制造資源的有力支持,多數(shù)憑經(jīng)驗知識;②車間資源管理不系統(tǒng)、不規(guī)范,導致生產(chǎn)準備時問長,生產(chǎn)效率低下;③生產(chǎn)管理方式落后,計劃、調(diào)度、生產(chǎn)狀態(tài)不能有機銜接,不能動態(tài)反饋實時信息;④車問信息不能共享,車間內(nèi)的各應用軟件(如LAPP、立體倉庫管理軟件等)孤立運行,僅靠人工方式進行信息交互的手段落后,信息滯后且二次輸人易造成人為差錯?! ♂槍@種狀況,設(shè)計了數(shù)控車間制造執(zhí)行系統(tǒng)。通過系統(tǒng)訪問器直接獲得ERP對車間下達的生產(chǎn)計劃,結(jié)合CAPP可分解為各相應加工單元的生產(chǎn)任務;通過遍布車間的觸摸杳詢一體機及信息采集終端,可實現(xiàn)數(shù)控設(shè)備、自動化立體倉庫、對刀儀等與集成系統(tǒng)網(wǎng)絡(luò)的連接,傳輸NC程序,采集加工任務進度、設(shè)備狀態(tài)和資源使用狀況等;信息經(jīng)模擬導航系統(tǒng)的統(tǒng)計分析后用大屏幕發(fā)布顯示;同時調(diào)度子系統(tǒng)對臨時狀況,如急插件、設(shè)備故障等進行調(diào)度,通過系統(tǒng)發(fā)布指令。集成系統(tǒng)實現(xiàn)廠車間信息的全面采集和綜合分析、各層管理人員及操作員之間信息實時交互等,提高了車間的數(shù)字化管理水平和生產(chǎn)效率。經(jīng)過一段時間的運行,證實了該系統(tǒng)的有效性。據(jù)統(tǒng)計,車間設(shè)備平均利用率從20%提高至60%,如車間數(shù)控設(shè)備加工效率從25%提高至60%。如圖6所示為系統(tǒng)的部分應用頁面。
圖6 車間執(zhí)行功能集成系統(tǒng)主頁面
5 結(jié)束語 本文所提出的數(shù)控車間信息集成方法,能夠支持車間內(nèi)外部信息的集成。通過標準的Web服務接口可支持車間外部跨Internet的信息集成,而基于DCOM的組件技術(shù)可實現(xiàn)車問內(nèi)部信息的快速高效集成,使得信息集成具備良好的可擴展性、可重構(gòu)性和易集成性。面對動態(tài)多變的車間信息和用戶變化,只要對部分模塊進行擴充和再定義,整個系統(tǒng)就可以重新組合裝配。因此,本系統(tǒng)具有普遍性。
(審核編輯: 智匯張瑜)
分享