摘要:在分布式車間層控制系統(tǒng)開放式平臺的基礎(chǔ)上,采用面向?qū)ο蠓椒▽NC系統(tǒng)進(jìn)行詳細(xì)功能分析和類層次設(shè)計,最終在Orbix平臺上實現(xiàn)了三層客戶服務(wù)器結(jié)構(gòu)的DNC系統(tǒng)應(yīng)用程序。
關(guān)鍵詞:CORBA;車間層控制系統(tǒng);DNC
1引言
DNC(Distributed Numerical Control)稱為分布式數(shù)控,是實現(xiàn)CAD/CAM和計算機(jī)輔助生產(chǎn)管理系統(tǒng)集成的紐帶,是機(jī)械加工自動化的又一種形式。
目前,DNC系統(tǒng)的研究尚存在以下有待解決的技術(shù)問題:①DNC系統(tǒng)體系結(jié)構(gòu)的開放性不強(qiáng)。國內(nèi)大部分DNC系統(tǒng)局限于單一供應(yīng)商的制造設(shè)備,平臺之間可移植性差,不同應(yīng)用程序互操作能力有待提高,不利于系統(tǒng)集成;②DNC系統(tǒng)通信結(jié)構(gòu)多為點對點式,或采用局域網(wǎng)加點對點式,不能很好地解決通信競爭問題;③DND系統(tǒng)與NCP和CAD的接口功能還很弱;④DNC系統(tǒng)控制軟件可重用性不強(qiáng),需要進(jìn)行面向?qū)ο笤O(shè)計和實現(xiàn)。本文提出了基于CORBA(通用對象請求代理結(jié)構(gòu))的車間層控制系統(tǒng)中DNC系統(tǒng),給上述問題以很好的解答,并實現(xiàn)了軟件的編制及聯(lián)機(jī)調(diào)式。
2控制系統(tǒng)體系的結(jié)構(gòu)
本文提出的DNC系統(tǒng)是基于CORBA車間層控制系統(tǒng)的一個功能單元,現(xiàn)在的企業(yè)面對的是一個多變的需求環(huán)境,因而車間層控制系統(tǒng)面對的加工任務(wù)也是多變的。這種變化包括生產(chǎn)零件的品種、類型、規(guī)格、產(chǎn)量和交貨期等多個因素的變化以及加工工藝路線隨生產(chǎn)任務(wù)的不同而變化等。這就需要一個在時間和空間上都開放的車間層控制系統(tǒng)體系結(jié)構(gòu),以運(yùn)行于不同硬件環(huán)境的異構(gòu)計算機(jī)系統(tǒng)中,同時又能適應(yīng)新技術(shù)的發(fā)展,容納新設(shè)備的增加。
在本文的基于CORBA的車間層控制系統(tǒng)中,構(gòu)造車間信息集成和共享的公共平臺是核心問題之一,我們采用基于客戶/服務(wù)器結(jié)構(gòu)的分布式控制平臺(如Orbix),既可以將傳統(tǒng)的遞階控制結(jié)構(gòu)變換成更適合信息集成的分布或控制結(jié)構(gòu),又可適應(yīng)不同產(chǎn)品制造過程(離散制造或連續(xù)制造)中統(tǒng)一的生產(chǎn)管理和組織要求。
我們將該車間層控制系統(tǒng)總體結(jié)構(gòu)分為三層:底層為系統(tǒng)支持層,由分布式計算環(huán)境和異構(gòu)網(wǎng)絡(luò)集成系統(tǒng)兩個子層構(gòu)成,提供底層的計算機(jī)系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)和數(shù)據(jù)系統(tǒng)等系統(tǒng)級功能;中間層為開放式分布處理層,提供統(tǒng)一的集成通信服務(wù),由開放式分布處理平臺和應(yīng)用程序接口組成,最上層為信息集成層,支持多客戶/服務(wù)器的分布式多數(shù)據(jù)庫集成系統(tǒng),將現(xiàn)有的應(yīng)用和數(shù)據(jù)信息集成到系統(tǒng)中。為實現(xiàn)控制結(jié)構(gòu)的分布、數(shù)據(jù)庫的分布以及系統(tǒng)功能的分布,提出的車間層控制系統(tǒng)軟件采用基于CORBA規(guī)范的分布式對象體系結(jié)構(gòu)。
CORBA規(guī)范主要特點是實現(xiàn)軟件總線結(jié)構(gòu)。所謂軟件總線的功能,就是起到類似于計算機(jī)系統(tǒng)硬件總線的作用,只要將應(yīng)用模塊按總線規(guī)范作成軟插件,插入總線即可實現(xiàn)集成運(yùn)行。實現(xiàn)軟件總線的核心系統(tǒng)稱為ORB(對象請求代理器),它不僅支持標(biāo)準(zhǔn)的OMG對象模型,還具有分布進(jìn)程管理和通信管理功能。此外,CORBA定義了IDL(Interface Definition Language)語言,以描述軟件總線上的插銷。IDL提供了對成員系統(tǒng)的封裝和成員系統(tǒng)之間隔離,任何成員系統(tǒng)作為一個對象,通過IDL對其接口參數(shù)進(jìn)行定義和說明,就可接到ORB上,為其它系統(tǒng)提供服務(wù)或向其它系統(tǒng)提出請求,達(dá)到即插即用效果。
將車間層控制系統(tǒng)劃分為許多獨(dú)立的功能單元,每個功能單元對應(yīng)于一個包含功能接口定義和實體的抽象對象,每類對象的接口由屬性和操作組成,由IDL定義的其它功能單元可以透明訪問的服務(wù)以調(diào)用該對象的私有數(shù)據(jù),具體功能的實現(xiàn)被封裝在實體里。我們將每類對象按照功能劃分成若干個子對象,將其設(shè)計成為可以直接插在CORBA軟件總線上的對象插件。這些對象插件按照各層客戶/服務(wù)器結(jié)構(gòu)組成整個平臺系統(tǒng)。這種結(jié)構(gòu)可以帶來長遠(yuǎn)的利益,既能迅速增加對新的DBMS的應(yīng)用、增加新的用戶界面,又能升級支持各種新功能。其體系結(jié)構(gòu)如圖1所示。
圖1車間層系統(tǒng)體系結(jié)構(gòu)示意圖
3DNC系統(tǒng)的地位及功能
DNC系統(tǒng)作為車間層控制系統(tǒng)的一個功能單元。它在車間層控制系統(tǒng)模型中的位置如圖2所示。
圖2DNC系統(tǒng)在車間層控制系統(tǒng)中的地位
DNC系統(tǒng)功能包括①NC程序及數(shù)據(jù)的傳遞,以某種通信協(xié)議(如Philip532等)實現(xiàn)通信功能;②機(jī)床狀態(tài)采集和上報;③根據(jù)工序計劃,自動分配NC程序及數(shù)據(jù)到相應(yīng)機(jī)床;④刀具數(shù)據(jù)的分配與傳遞。
圖3為DNC系統(tǒng)軟件的功能模型,其中NC數(shù)據(jù)管理的主要功能是對數(shù)控數(shù)據(jù)進(jìn)行管理,主要有數(shù)控數(shù)據(jù)的顯示、插入、修改、刪除、更新、鎖定(不允許更改)和打印等操作;NC數(shù)據(jù)執(zhí)行的主要功能有:數(shù)控數(shù)據(jù)在計算機(jī)和機(jī)床之間的傳送、刪除機(jī)床上的數(shù)控數(shù)據(jù)、啟動機(jī)床上的數(shù)控程序、隨時從機(jī)床設(shè)備獲得工作狀態(tài)信息并存入數(shù)據(jù)庫,作為運(yùn)行數(shù)據(jù)采集模塊評價加工過程的根據(jù);DNC通訊接口通過DNC協(xié)議和數(shù)據(jù)鏈路協(xié)議建立單元控制系統(tǒng)和CNC的連接。
圖3DNC系統(tǒng)軟件的功能模型(IDEF0)
4DNC系統(tǒng)軟件體系結(jié)構(gòu)
DNC系統(tǒng)體系結(jié)構(gòu)簡圖如圖4所示。基于CORBA的DNC系統(tǒng)軟件的實現(xiàn)平臺建立在車間層控制系統(tǒng)平臺的基礎(chǔ)上。我們將DNC系統(tǒng)體系結(jié)構(gòu)劃分為三層的客戶/服務(wù)器結(jié)構(gòu),以將表示邏輯、業(yè)務(wù)邏輯和數(shù)據(jù)處理邏輯明確劃分開來。為此,表示層用來表示信息和收集數(shù)據(jù),此處為由VB實現(xiàn)的可移植的DNC人機(jī)接口;業(yè)務(wù)層響應(yīng)用戶(或其它的業(yè)務(wù)服務(wù))發(fā)來的請求,執(zhí)行某種業(yè)務(wù)任務(wù),此處為由VC++來實現(xiàn)DNC應(yīng)有程序及NC數(shù)據(jù)管理應(yīng)用程序;數(shù)據(jù)層包括數(shù)據(jù)的定義、維修、訪問和更新以及管理,并響應(yīng)業(yè)務(wù)服務(wù)的數(shù)據(jù)請求,此處為經(jīng)IDL功能接口定義封裝的NC局部數(shù)據(jù)庫(Access)服務(wù)器。這些層并不一定與網(wǎng)絡(luò)上的具體物理位置相對應(yīng),它們只是概念上的層,借助這些概念可以開發(fā)出健壯的、基于組件的應(yīng)用程序。
使用圖3所示模型,可以把應(yīng)用程序的需求分解成明確定義的服務(wù)。在定義了服務(wù)之后,需要進(jìn)一步創(chuàng)建具體的物理組件來實現(xiàn)它們。根據(jù)性能和維護(hù)的需求、工作量、網(wǎng)絡(luò)帶寬以及其它因素,可以在網(wǎng)絡(luò)上靈活地部署這些組件。
圖4DNC系統(tǒng)體系結(jié)構(gòu)簡圖
5DNC系統(tǒng)軟件的數(shù)據(jù)模型
本文DNC系統(tǒng)軟件中涉及到數(shù)據(jù)實體包含四類:①與制造設(shè)備硬件相關(guān)的數(shù)據(jù)實體(如機(jī)床等);②與人機(jī)通訊相關(guān)的數(shù)據(jù)實體(如通訊協(xié)議實體和串口通訊實體);③數(shù)控數(shù)據(jù)實體(如NC程序號、刀具號、工序號);④輸入操作指令或派工單實體。采用面向?qū)ο蠓椒▽⑸鲜鰧嶓w抽象成為類,可分為能力單元類、NC機(jī)床類、NC控制器類、通訊協(xié)議類、終端服務(wù)器類、串口通訊類、NC程序類等。這些類之間的關(guān)系如圖5所示。