隨著計(jì)算機(jī)語(yǔ)言從過程型語(yǔ)言發(fā)展到面向?qū)ο蟮恼Z(yǔ)言,已在一定層次上實(shí)現(xiàn)了軟件的可重用性-而OLE/COM /DCOM/ActiveX概念的提出和普及,才使計(jì)算機(jī)語(yǔ)言實(shí)現(xiàn)了真正意義下的基于二進(jìn)制標(biāo)準(zhǔn)的代碼重用-因此,采用OPC(OLEforprocess基金項(xiàng)目:中國(guó)-新加坡“中新聯(lián)合研究計(jì)劃‘’、國(guó)家教育部”網(wǎng)上合作研究中心“、國(guó)防預(yù)研基金項(xiàng)目(9918-1-3WW526);武漢市科委國(guó)際合作研究項(xiàng)目資助(997002065)module)/ActiveX組件技術(shù)進(jìn)行開發(fā),是實(shí)現(xiàn)軟件系統(tǒng)開放互操作的基礎(chǔ)-數(shù)控系統(tǒng)的軟件組件,即通過對(duì)數(shù)控系統(tǒng)的功能劃分,建立類似集成電路芯片的數(shù)控系統(tǒng)軟件芯片庫(kù)-當(dāng)建立新的數(shù)控系統(tǒng)時(shí),只需從軟件芯片庫(kù)中提取相應(yīng)的功能芯片加以組合即可-必要時(shí)可對(duì)軟件芯片庫(kù)加以擴(kuò)充,而無(wú)需從頭開發(fā)整個(gè)系統(tǒng)-這樣便改變了目前數(shù)控系統(tǒng)的封閉式設(shè)計(jì),大大提高整個(gè)系統(tǒng)的靈活性,很好地實(shí)現(xiàn)了數(shù)控系統(tǒng)開放性設(shè)計(jì)及資源重用,對(duì)數(shù)控系統(tǒng)的及時(shí)升級(jí)換代和對(duì)市場(chǎng)的及時(shí)響應(yīng),都具有很好的開發(fā)前景- 1虛擬CNC系統(tǒng)虛擬制造技術(shù)是在計(jì)算機(jī)中實(shí)現(xiàn)制造過程的一種行之有效的方法-虛擬CNC系統(tǒng)是虛擬制造系統(tǒng)的總體規(guī)劃,它由兩大子系統(tǒng)組成:虛擬數(shù)控系統(tǒng)和虛擬機(jī)床庫(kù)-虛擬機(jī)床庫(kù)主要由機(jī)床零部件庫(kù)夾具庫(kù)、工件庫(kù)機(jī)床附件庫(kù)和材料庫(kù)組成-虛擬數(shù)控系統(tǒng)由六個(gè)功能模塊組成,分別為可定制的控制面板組件顯示管理組件數(shù)控代碼解釋組件、預(yù)處理組件、插補(bǔ)組件、軟PLC組件- a可定制的控制面板組件-用軟件把數(shù)控系統(tǒng)的硬件面板虛擬化,生成各種虛擬按鈕、開關(guān)虛擬圖形顯示區(qū)等逼真的圖形組件,并有標(biāo)準(zhǔn)接口,可以根據(jù)要求定制- b.數(shù)控代碼解釋組件-對(duì)零件圖生成的數(shù)控代碼進(jìn)行語(yǔ)法檢查,并解釋譯碼,為預(yù)處理組件提供正確的中間代碼- c-預(yù)處理組件-完成插補(bǔ)前的預(yù)處理任務(wù),如英制轉(zhuǎn)換坐標(biāo)轉(zhuǎn)換刀具補(bǔ)償及系統(tǒng)模態(tài)值的處理-d-插補(bǔ)組件-負(fù)責(zé)加減速控制插補(bǔ)、終點(diǎn)判別等工作,包括直線圓弧和螺旋線的插補(bǔ)以及對(duì)橢圓、拋物線、正弦線和一些專用線的插補(bǔ)等工作,計(jì)算出各軸的位置信息。
顯示管理組件。其內(nèi)部封裝的任務(wù)有零件程序、參數(shù)、刀具位置機(jī)床狀態(tài)、刀具加工軌跡的靜態(tài)、動(dòng)態(tài)圖形以及在線編程時(shí)的圖形顯示。
軟PLC組件。由其完成本系統(tǒng)的邏輯運(yùn)算處理和順序控制流程。
2數(shù)控(NC)代碼解釋組件運(yùn)用COM技術(shù)和OPC規(guī)范,用戶可根據(jù)所用數(shù)控系統(tǒng)的實(shí)際情況,交互地建立一個(gè)數(shù)控系統(tǒng)的代碼對(duì)應(yīng)庫(kù)。由該NC代碼解釋組件可實(shí)現(xiàn)NC代碼的翻譯,用于指揮加工器的動(dòng)作和狀態(tài)。
NC代碼解釋組件的主要工作是檢錯(cuò)和翻譯。
檢錯(cuò),即按照數(shù)控系統(tǒng)編程規(guī)定和有關(guān)數(shù)控加工的常識(shí),對(duì)NC代碼進(jìn)行語(yǔ)法分析、詞法分析、語(yǔ)義分析,從而檢查出NC代碼的詞法錯(cuò)誤、語(yǔ)法錯(cuò)誤、邏輯錯(cuò)誤。數(shù)控代碼解釋組件工作原理圖如所示。
其中,詞法分析的主要任務(wù)是從左到右逐個(gè)字符對(duì)程序進(jìn)行掃描,從輸入的數(shù)控代碼字符串中識(shí)別一個(gè)個(gè)具有獨(dú)立意義的*小語(yǔ)法單位。語(yǔ)法分析的主要任務(wù)是根據(jù)語(yǔ)法規(guī)則進(jìn)行數(shù)控代碼分析,來(lái)確定整個(gè)輸入代碼段在語(yǔ)法上是否構(gòu)成完整正確的指令代碼段。語(yǔ)義分析是解釋器中具體實(shí)現(xiàn)各類數(shù)控代碼指令的操作和執(zhí)行的部分,它根據(jù)不同的要求,將從語(yǔ)法分析中得出的中間代碼,轉(zhuǎn)換為相應(yīng)的數(shù)據(jù)狀態(tài)信號(hào)和控制信號(hào),送給插補(bǔ)組件,或者由軟件模擬機(jī)床運(yùn)動(dòng)來(lái)完成加工運(yùn)動(dòng)軌跡仿真。
通過對(duì)現(xiàn)有數(shù)控車銑床各種指令代碼進(jìn)行收集歸納總結(jié),結(jié)合數(shù)控系統(tǒng)的實(shí)際情況與要求,則在NC代碼解釋組件需要處理的數(shù)據(jù)有:G代碼功能S指令(S0-S9999)刀具功能T指令(T0000 -T3232)輔助功能M指令(MOO-M99)及其它特殊指令(這可以通過添加特殊功能解釋組件來(lái)實(shí)現(xiàn))。而在編制NC代碼解釋組件時(shí),用到的有關(guān)數(shù)據(jù)結(jié)構(gòu)如下:區(qū)程序調(diào)用時(shí)備份模態(tài)值/坐標(biāo)系旋轉(zhuǎn)用的緩沖區(qū)structscaled" /礦放用的緩沖區(qū)結(jié)構(gòu)構(gòu)結(jié)構(gòu)頭在該組件的編制過程中,利用C+ +面向?qū)ο蠛皖悗?kù)編程的特點(diǎn)開發(fā)了一個(gè)數(shù)控語(yǔ)言編譯系統(tǒng),采用COM技術(shù),使用OPC技術(shù)規(guī)范,來(lái)解決內(nèi)存占用和系統(tǒng)重組等問題,并可對(duì)系統(tǒng)進(jìn)行封裝。同時(shí),采用解釋控制方法實(shí)現(xiàn)加工過程控制,即在零件代碼譯碼檢查后就啟動(dòng)系統(tǒng),邊解釋邊執(zhí)行。在加工過程中,解釋程序可預(yù)解釋下一條程序。該方法可滿足封裝性及外部低耦合的要求。
3組件接口的設(shè)計(jì)與實(shí)現(xiàn)3.1COM接口ID的生成COM指定接口和對(duì)象用全局**標(biāo)識(shí)符128位數(shù)字)來(lái)標(biāo)識(shí)。GUID用于標(biāo)識(shí)兩種類型的項(xiàng)目:接口標(biāo)識(shí)符D(interfacidentifier)和類標(biāo)識(shí)符CLASID(ClassID)。運(yùn)用VisualC++編譯器包含的GUIDGEN.EXE,就可以在安裝了網(wǎng)絡(luò)接口卡的計(jì)算機(jī)上獲得一個(gè)****的GUID(類以如5254AB20A6D9)。若沒有安裝網(wǎng)絡(luò)接口卡,則用戶得到的是一個(gè)合成的偽隨機(jī)GUID. 3.2創(chuàng)建對(duì)象8)><函數(shù)是替代匚++構(gòu)造函數(shù)的更強(qiáng)有力的工具,利用CoGetClassObect函數(shù),可以在獲得對(duì)象的同時(shí),加上所選擇的接口,并且用這個(gè)接口為這個(gè)對(duì)象獲取其它的接口。CoGetClas-sObect原型如下:數(shù)是指向類對(duì)象示例所在地機(jī)器指針。類型REF-CLSID和REFID是對(duì)128位GUIDS(globallyu-niqueindentifiersforCOMclassesandinterfaces,COM類和接口的全局**的標(biāo)識(shí)符)的引用。STDAPI表示函數(shù)將返回類型為HRESULT的32位有效值。標(biāo)準(zhǔn)的GUID是定義在能夠動(dòng)態(tài)鏈接到程序的Windows函數(shù)庫(kù)中的。而用于用戶定做的類和接口的GUID必須按特定的格式定義。當(dāng)用戶調(diào)用CoGetClassObect時(shí),COM加入進(jìn)來(lái),它在Windows注冊(cè)表中搜尋組件的**的128位類ID號(hào)碼,找到磁盤上相應(yīng)的組件。實(shí)際上,當(dāng)在WinNT或Win98/2000運(yùn)行regedit,在其鍵值中隨便就可+中的ATLCOMAppWizard是創(chuàng)建COM項(xiàng)目*方便的方法。這樣可以向項(xiàng)目中添加對(duì)象或控件,然后可以向已有的對(duì)象或控件添加新接口。
/COM+的一條核心原則是位置透明(locationtranspanrency),所以它不能夠判斷客戶程序是進(jìn)程間、本地還是遠(yuǎn)程的組件,這個(gè)問題由IclassFactory來(lái)解決。,它是由COM/COM+對(duì)象實(shí)現(xiàn)的接口。用來(lái)生成其它的COM對(duì)象。它有兩個(gè)方法:CreateInstance和LockServer.其中Lock-Server方法防止對(duì)象卸載出錯(cuò)。
3.4部分程序?qū)嵗?結(jié)束語(yǔ)利用組件的二進(jìn)制兼容性、平臺(tái)的獨(dú)立性和網(wǎng)絡(luò)的透明性,可以設(shè)計(jì)分布式、不同語(yǔ)言兼容的虛擬數(shù)控系統(tǒng)軟件,為虛擬數(shù)控系統(tǒng)的軟件開發(fā),增添組件,更新組件提供了方便。本文在提出虛擬數(shù)控機(jī)床系統(tǒng)組件化的思路,對(duì)系統(tǒng)進(jìn)行了比較完整的分析,并在對(duì)COM組件技術(shù)進(jìn)行介紹的基礎(chǔ)上,對(duì)組件接口技術(shù)進(jìn)行了研究。在實(shí)際開發(fā)工作中,已經(jīng)初步面向敏捷制造的產(chǎn)品數(shù)據(jù)管理框架研究薛善良,葉文華,王寧生(南京航空航天大學(xué)CIMS工程研究中心,江蘇南京210016)捷制造,分析面向敏捷制造的PDM功能需求,構(gòu)建面向敏捷制造的PDM集成框架,并詳細(xì)介紹面向敏捷制造PDM框架的功能模型和信息模型。
0引言收穡日期:2001-隨著網(wǎng)絡(luò)技術(shù)、數(shù)據(jù)庫(kù)技術(shù)等信息技術(shù)的發(fā)展以及Client/ServerBrowser/Server體系結(jié)構(gòu)和0-0技術(shù)的應(yīng)用,*近幾年P(guān)DM技術(shù)產(chǎn)生了突飛猛進(jìn)的發(fā)展-其功能已突破當(dāng)初單一產(chǎn)品圖檔管理的局限,幾乎滲透到與產(chǎn)品有關(guān)的全部信息和過程中,成了企業(yè)實(shí)現(xiàn)信息集成的不可缺少的環(huán)境平臺(tái)。
國(guó)際上提出了許多面向21世紀(jì)的新的制造企業(yè)哲理和發(fā)展模式。敏捷制造因其強(qiáng)調(diào)企業(yè)的敏捷性而倍受人們的關(guān)注,必將成為21世紀(jì)制造企業(yè)的主要模式-新的制造企業(yè)哲理和發(fā)展模式的提出,使人們更加關(guān)注作為企業(yè)信息集成環(huán)境平臺(tái)的PDM研究- 1面向敏捷制造的PDM速響應(yīng)市場(chǎng)的制造概念,它是圍繞著新的市場(chǎng)機(jī)遇通過建立動(dòng)態(tài)聯(lián)盟來(lái)實(shí)現(xiàn)的-動(dòng)態(tài)聯(lián)盟是指企業(yè)群體為了贏得某一機(jī)遇性市場(chǎng)競(jìng)爭(zhēng),把復(fù)雜產(chǎn)品迅速開發(fā)、生產(chǎn)出來(lái)并推向市場(chǎng),他們從各自公司中選出開發(fā)生產(chǎn)新產(chǎn)品的優(yōu)勢(shì)部分,然后綜合成一個(gè)單一的經(jīng)營(yíng)實(shí)體-敏捷制造和動(dòng)態(tài)聯(lián)盟是跨機(jī)構(gòu)、跨地區(qū)的全球企業(yè)組織方式,這就要求作為企業(yè)集成環(huán)境平臺(tái)的PDM突破單個(gè)企業(yè)范圍的限制,從以產(chǎn)品為核心開發(fā)出NC代碼解釋組件,并與其他研究人員所開發(fā)組件進(jìn)行了鏈接,也體現(xiàn)出了組件化軟件的優(yōu)點(diǎn)-