1077-C620普通車床進(jìn)行數(shù)控改造
1077-C620普通車床進(jìn)行數(shù)控改造,c620,普通,車床,進(jìn)行,數(shù)控,改造
1基于構(gòu)架/構(gòu)件復(fù)用的開(kāi)放式數(shù)控系統(tǒng)研究李斌,周云飛,唐曉琪中國(guó)武漢華中科技大學(xué)工程技術(shù)研究中心2003 年 2 月 12 日接收;2003 年 10 月 25 日修正;2003 年 10 月 25 日接受;2004 年 6 月 9 日在線使用摘要通過(guò)對(duì)開(kāi)放式數(shù)控系統(tǒng)和構(gòu)架/構(gòu)件復(fù)用技術(shù)當(dāng)前形勢(shì)發(fā)展的分析, 本文主要研究基于這一技術(shù)的開(kāi)放式數(shù)控系統(tǒng)。 采用域工程方法,數(shù)控系統(tǒng)通常通過(guò)起著關(guān)鍵作用的數(shù)據(jù)通信組織起來(lái)。 此外,構(gòu)件也被引以為例到可以再度使用的數(shù)據(jù)通信組件中,這不同于一般的構(gòu)件。推出了數(shù)控系統(tǒng)的刻面模塊分揀、表達(dá)、存儲(chǔ)和檢索系統(tǒng)。 結(jié)合上述各種有用信息,綜合開(kāi)發(fā),構(gòu)建出開(kāi)放式數(shù)控系統(tǒng)平臺(tái)。 支持這個(gè)平臺(tái)的開(kāi)放式數(shù)控系統(tǒng)的開(kāi)發(fā)流程包括兩個(gè)相關(guān)課程: 數(shù)控重用組件開(kāi)發(fā)、這些重用組件與應(yīng)用系統(tǒng)的建設(shè)。 此外,數(shù)控應(yīng)用系統(tǒng)在 MS-Windows 上的實(shí)時(shí)應(yīng)用能力可以通過(guò)這個(gè)平臺(tái)檢驗(yàn)。關(guān)鍵詞: 數(shù)控, 開(kāi)放式, 組件, 軟件重用, 域工程 1.簡(jiǎn)介由于硬件技術(shù)的雙快速發(fā)展, 電腦數(shù)值控制(CNC)系統(tǒng)的復(fù)雜性提高,與第三方軟件提高的要求相適應(yīng), 開(kāi)發(fā)商頻繁的跳槽,及技工兄弟間割喉式的競(jìng)爭(zhēng)等原因,數(shù)控系統(tǒng)的制造商不得不盡力去不斷提高自己系統(tǒng)的質(zhì)量和縮短該產(chǎn)品的開(kāi)發(fā)時(shí)間,因此,開(kāi)放架構(gòu)正成為數(shù)控技術(shù)當(dāng)前的發(fā)展趨勢(shì),且其主要目標(biāo)是要建立一個(gè)統(tǒng)一的識(shí)別系統(tǒng)平臺(tái)。與開(kāi)放式平臺(tái)的發(fā)展相比,CNC 應(yīng)用系統(tǒng)將更加模塊化和靈活化,因此,這一系統(tǒng)的使用者將可以選擇功能模塊,甚至整合、修改、拓展系統(tǒng)功能,以滿足不同的應(yīng)用要求。關(guān)于開(kāi)放式數(shù)控系統(tǒng)一系列意見(jiàn)可以總結(jié)如下[1-4]:2(1)開(kāi)放式數(shù)控系統(tǒng)具有靈活的硬件和軟件。 因此,它不僅允許硬件改變其基本配置而且也允許軟件修改各級(jí)控制。(2)一個(gè)開(kāi)放式數(shù)控系統(tǒng)提供了即插即用兼容的真正意義。(3)一個(gè)開(kāi)放式數(shù)控系統(tǒng)的標(biāo)準(zhǔn)化,允許第三方開(kāi)發(fā)能滿足其要求的新的硬件和軟件。(4)開(kāi)放式數(shù)控系統(tǒng)有能力融入與這個(gè)標(biāo)準(zhǔn)相同水平的其他成分, 還可以共享數(shù)據(jù)中的主要成分。(5)開(kāi)放式數(shù)控系統(tǒng)可以同其他系統(tǒng)在系統(tǒng)水平上一致。鑒于上述原因, 我們把為專用數(shù)控域建立開(kāi)放式數(shù)控系統(tǒng)模型作為可行的方法視為自然,但在另一方面,軟件重用是應(yīng)用軟件開(kāi)發(fā)過(guò)程中, 特別是在同一領(lǐng)域更深程度的應(yīng)用,因?yàn)樾碌闹贫纫幌蚺c前一期關(guān)系非常緊密[5]。它逐漸確信整個(gè)體系結(jié)構(gòu)的設(shè)計(jì)和規(guī)格比軟件系統(tǒng)的規(guī)模和復(fù)雜性日益升級(jí)的公司內(nèi)的選擇算法和數(shù)據(jù)結(jié)構(gòu)更為重要。所以軟件構(gòu)架的重要性正在得到承認(rèn)。近年來(lái)建筑/組件技術(shù)在眾多的軟件重用技術(shù)中發(fā)展迅速[6,7]。基于上述觀點(diǎn),本文主要對(duì)開(kāi)放式數(shù)控系統(tǒng)及軟件構(gòu)架/構(gòu)件復(fù)用技術(shù), 開(kāi)放式數(shù)控系統(tǒng)的結(jié)構(gòu)和開(kāi)發(fā)的數(shù)控系統(tǒng)的集成平臺(tái)進(jìn)行研究。2. 基于構(gòu)架/構(gòu)件的軟件復(fù)用技術(shù)的開(kāi)放式數(shù)控系統(tǒng)2.1. 軟件重用和構(gòu)件/組件技術(shù)軟件架構(gòu)是指總體結(jié)構(gòu)設(shè)計(jì)和抽象的系統(tǒng)說(shuō)明的劃定。這是一個(gè)對(duì)軟件系統(tǒng)的組成,結(jié)構(gòu)和工作方式的宏觀描述。簡(jiǎn)而言之,軟件構(gòu)架描述了組件及系統(tǒng)中組件間的的內(nèi)在聯(lián)系。軟件開(kāi)發(fā)基于構(gòu)架把其重點(diǎn)從典線轉(zhuǎn)向較大粒度的建筑元素(例如, 組件),以及整體結(jié)構(gòu)相互之間的這些元素。發(fā)展的基調(diào)是構(gòu)筑重用的軟件體系結(jié)構(gòu); 它強(qiáng)調(diào)分析與設(shè)計(jì)的重用,而不是限制代碼的重用。組件是一個(gè)功能上相對(duì)獨(dú)立的單位。它可以清晰分辨, 在軟件系統(tǒng)中可重復(fù)使用。這可能是一類,一類樹(shù)、框架、或普通艙。 隨著對(duì)軟件重用概念3的嵌入式理解,組件成分已不再局限于代碼組件 ,而是擴(kuò)展到需求、結(jié)構(gòu)、文件、測(cè)試計(jì)劃、測(cè)試用例和數(shù)據(jù), 以及其他有關(guān)開(kāi)發(fā)激活的有用信息?;跇?gòu)架/構(gòu)件技術(shù)的軟件重用包括兩個(gè)相關(guān)過(guò)程:可重用組件的開(kāi)發(fā)和包含可重用組件的應(yīng)用系統(tǒng)的開(kāi)發(fā)。軟件體系結(jié)構(gòu)/組件技術(shù)在發(fā)展的過(guò)程的功能可以表示成圖 1。首先,通過(guò)域工程方法可以分析特殊領(lǐng)域,并且能得到這個(gè)特殊域的軟件架構(gòu)。然后組件開(kāi)發(fā)的進(jìn)程、 分揀和存儲(chǔ),都可用這個(gè)架構(gòu)來(lái)引導(dǎo)。當(dāng)一個(gè)新的應(yīng)用系統(tǒng)需要發(fā)展的時(shí)候, 一些相關(guān)組件被從領(lǐng)域構(gòu)件庫(kù)或其他一般組件庫(kù)中搜出和提取出來(lái),緊接著那些合適的組件將通過(guò)挑選和改良以適應(yīng)系統(tǒng),最后,這些組件被組裝在一個(gè)新的應(yīng)用系統(tǒng)中。2.2.特殊領(lǐng)域的軟件復(fù)用技術(shù)需要數(shù)控系統(tǒng)的開(kāi)放開(kāi)放系統(tǒng)技術(shù)的第一條原則是在系統(tǒng)開(kāi)發(fā)過(guò)程中應(yīng)用接口標(biāo)準(zhǔn), 在此時(shí)按接口標(biāo)準(zhǔn)去實(shí)現(xiàn)。這為系統(tǒng)開(kāi)發(fā)的設(shè)計(jì)決策和系統(tǒng)演化提供了一個(gè)穩(wěn)定的基礎(chǔ), 同時(shí)還保證了系統(tǒng)間的相互操作[8]。從 20 世紀(jì) 80 年代起,開(kāi)放式數(shù)控系統(tǒng)的研究項(xiàng)目已在世界各國(guó)紛紛展開(kāi)研究,其中一些還具有很大的影響力,美國(guó)的 OMAC,歐洲的 OSACA 和日本的OSEC。OSACA 通過(guò)通信系統(tǒng)實(shí)現(xiàn)工作領(lǐng)域間的數(shù)據(jù)通信,其系統(tǒng)模型是基于分層結(jié)構(gòu), ,每一個(gè)功能模塊的應(yīng)用系統(tǒng)和內(nèi)部運(yùn)行機(jī)制的所有數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)上, 該模塊的這些數(shù)據(jù)結(jié)構(gòu)必須定義徹底 它需要復(fù)雜的配置系統(tǒng),以建立并維持松散的應(yīng)用系統(tǒng)的拓?fù)浣Y(jié)構(gòu)。4裝配域分析軟件構(gòu)件基于組件的域基于組件的其他管理 分類,貯存參考搜索并吸取搜索并吸取適應(yīng)性修正現(xiàn)在,軟件復(fù)用技術(shù)能最好的支持開(kāi)放式體系, 尤其是符合接口標(biāo)準(zhǔn)的部件,可以利用“插頭發(fā)揮”法容易地集成到系統(tǒng),這是一個(gè)重新利用的黑匣子。 這樣,元件可以獨(dú)立發(fā)展,根據(jù)接口標(biāo)準(zhǔn)。這就是有名的實(shí)現(xiàn)數(shù)控系統(tǒng)的開(kāi)放即基于構(gòu)架/構(gòu)件技術(shù)的軟件重用的潛在途徑。數(shù)控系統(tǒng)的開(kāi)放與軟件的重新利用出現(xiàn)的偶然性可見(jiàn)如下三個(gè)方面:(1)在舊版本的基礎(chǔ)上, 加入了新功能,產(chǎn)生了新的數(shù)控系統(tǒng)的版本,適應(yīng)了一些新的要求。 (2)修正部分以適應(yīng)運(yùn)行平臺(tái),讓軟件可以在另一個(gè)系統(tǒng)平臺(tái)上運(yùn)行…… (3)將數(shù)控系統(tǒng)的軟件(或其組成部分)應(yīng)用到另一個(gè)數(shù)控應(yīng)用系統(tǒng),使舊系統(tǒng)演變成具有不同的功能和用途的新系統(tǒng)。3. 基于域工程的數(shù)控系統(tǒng)結(jié)構(gòu)的分析和建模 組件開(kāi)發(fā)者 應(yīng)用系統(tǒng)開(kāi)發(fā)圖 1.軟件構(gòu)件/組件在開(kāi)發(fā)過(guò)程中的功能5為設(shè)計(jì)系統(tǒng)得到正確的結(jié)構(gòu)是非常重要的。而域工程的方法[9-12]必須采取對(duì)數(shù)控系統(tǒng)進(jìn)行分析,以便獲得正確的系統(tǒng)結(jié)構(gòu)。領(lǐng)域指一套被具有類似的要求的應(yīng)用系統(tǒng)覆蓋的功能區(qū)。領(lǐng)域工程包含三個(gè)主要階段:領(lǐng)域分析,領(lǐng)域設(shè)計(jì)和領(lǐng)域?qū)崿F(xiàn)。 在域分析和建模這一進(jìn)程中,主要的問(wèn)題是要實(shí)現(xiàn)開(kāi)放式數(shù)控系統(tǒng)的關(guān)鍵環(huán)節(jié)。3.1. 數(shù)據(jù)通信在組織開(kāi)放式數(shù)控系統(tǒng)中起關(guān)鍵作用 通過(guò)用領(lǐng)域工程方法分析典型數(shù)控系統(tǒng),我們可以發(fā)現(xiàn)數(shù)控系統(tǒng)的進(jìn)程和線程可以和在一些功能部件起關(guān)鍵作用的數(shù)據(jù)通信組織起來(lái) 。這種組織形式的優(yōu)點(diǎn)如下所示:(1) 鑒于組件集成軟件的發(fā)展方向,數(shù)據(jù)通訊模塊可作為骨架去組織系統(tǒng); 這使得系統(tǒng)的組織較前者容易。(2) 以數(shù)據(jù)通信作為關(guān)鍵環(huán)節(jié)的該系統(tǒng)已不再是一個(gè)層次結(jié)構(gòu)。 每一個(gè)模塊都有一個(gè)只與數(shù)據(jù)通信模塊連接的接口。 開(kāi)發(fā)商只需要注意這個(gè)接口,而不需考慮其他模塊的組織模式。(3)為一個(gè)系統(tǒng)詳細(xì)的定義數(shù)據(jù)通信模塊的接口是足夠的,與接口相一致,開(kāi)發(fā)商需要做的,是發(fā)展其中有沒(méi)有必要界定的內(nèi)部數(shù)據(jù)結(jié)構(gòu)和建立有效的完全基于這些數(shù)據(jù)結(jié)構(gòu)的內(nèi)部運(yùn)行機(jī)制的個(gè)體模塊。 (4)如果系統(tǒng)的數(shù)據(jù)通訊是確定的,整個(gè)系統(tǒng)的拓?fù)潢P(guān)系將嚴(yán)格界定。它確保了軟件零件間的互互操作性。 我們強(qiáng)調(diào)系統(tǒng)中每模塊的自主性。所謂自主意思是每一個(gè)模塊都是一個(gè)獨(dú)立的個(gè)體, 每個(gè)單元的目標(biāo)和目標(biāo)值都是獨(dú)立的,甚至可以自己做出決定,制定計(jì)劃, 采取行動(dòng)去實(shí)現(xiàn)本身的目標(biāo),以及應(yīng)付任何意外,因?yàn)樗男袨槭强煽氐?。自治模塊間毫無(wú)功能聯(lián)系和記憶分享。所有信息通信都通過(guò)數(shù)據(jù)通信模塊實(shí)現(xiàn)。 每個(gè)模塊只能處于可選擇狀態(tài):運(yùn)行或睡眠。模塊本身控制這兩個(gè)狀態(tài)。 關(guān)鍵環(huán)節(jié)-數(shù)據(jù)通信模塊-具有相同的特性。6數(shù)據(jù)/控制數(shù)據(jù)/控制數(shù)控組件 1數(shù)控組件 2數(shù)控系統(tǒng)內(nèi)在的通信處理機(jī)制數(shù)控組件 m數(shù)控組件 n數(shù)據(jù)/控制數(shù)據(jù)/控制...... ……圖 2. 有起關(guān)鍵作用的數(shù)據(jù)溝通的 CNC 領(lǐng)域功能的模型將數(shù)據(jù)通信模塊作為關(guān)鍵環(huán)節(jié)的數(shù)控系統(tǒng)的功能型號(hào)如圖 2 所示。數(shù)據(jù)通信的功能模塊有幾個(gè)組件接口. 這些接口,可與其他功能部件,如 G 代碼譯員組成 刀具補(bǔ)償元件和插補(bǔ)元件等相聯(lián)系。每個(gè)部件的輸入和輸出數(shù)據(jù)都通過(guò)其接口以交換關(guān)鍵環(huán)節(jié)來(lái)實(shí)現(xiàn);數(shù)據(jù)通信模塊從每一個(gè)接口讀取數(shù)據(jù),并自主送回。只有兩種基于功能模式的域行為: (1)傳送/接收數(shù)據(jù)信息和控制信息; (2)配套活動(dòng),如 PLC 編程,G 代碼檔案的管理和編輯, 參數(shù)設(shè)定等。3.2.從數(shù)據(jù)通信模塊中提取系統(tǒng)建筑 通過(guò)對(duì)部件實(shí)現(xiàn)的系統(tǒng)功能和組件必須自主化的強(qiáng)調(diào),我們可以從開(kāi)放數(shù)控系統(tǒng)的關(guān)鍵環(huán)節(jié)--數(shù)據(jù)通信模塊開(kāi)始分析數(shù)控系統(tǒng)的結(jié)構(gòu)。劃分組件的原則是實(shí)現(xiàn)最少功能耦合和組件間最可能獨(dú)立, 要努力使部件功能的業(yè)務(wù)數(shù)據(jù)流獨(dú)立。組件的設(shè)計(jì)應(yīng)遵循領(lǐng)域的普通技術(shù)標(biāo)準(zhǔn)。例如,基于 MS-Windows2000 的數(shù)控系統(tǒng)的結(jié)構(gòu)和高性能運(yùn)動(dòng)控制卡的分析如下。整個(gè)系統(tǒng)通過(guò)數(shù)據(jù)通信模塊組織起來(lái)。建筑描述了全球系統(tǒng)組織,該系統(tǒng)的控制了部件的結(jié)構(gòu)、部件間的通信及其部件間的協(xié)議、 元件的同步化、元件的功能分配元件的實(shí)物分配、元件的集成、 整個(gè)系統(tǒng)的伸縮性等等。7首先,對(duì)域和接口的關(guān)系如經(jīng)營(yíng)環(huán)境和數(shù)據(jù)要求進(jìn)行分析。變異也將進(jìn)行鑒定。在領(lǐng)域范圍被確定之后,跨社區(qū)和不同領(lǐng)域的應(yīng)用將予以分析,它包括域特點(diǎn),要求在領(lǐng)域中實(shí)現(xiàn)應(yīng)用的領(lǐng)域知識(shí)信息和資料的需求信息, 數(shù)據(jù)和控制流的操作。在此基礎(chǔ)上,后續(xù)工作就是對(duì)并行進(jìn)程和單位域?qū)ο?,定義過(guò)程,這些進(jìn)程和模塊的后天分布特征,功能和數(shù)據(jù)對(duì)象進(jìn)行識(shí)別,為在領(lǐng)域中應(yīng)用提供解決軟件,最后開(kāi)發(fā)出域的建筑模型。被提取的開(kāi)放式數(shù)控系統(tǒng)的結(jié)構(gòu)見(jiàn) 圖 3。數(shù)控系統(tǒng)軟件可分為兩部分:在電腦 CPU 上運(yùn)行的上部和在高表現(xiàn)運(yùn)動(dòng)控制卡的 DSP 上運(yùn)行的下部。它是一個(gè)多程序和多線的多任務(wù)系統(tǒng)。該系統(tǒng)的結(jié)構(gòu)可以分為四種類型:設(shè)備驅(qū)動(dòng)組件,基本組件,數(shù)控領(lǐng)域的普通組件及特殊應(yīng)用組件。數(shù)控系統(tǒng)硬件的設(shè)備驅(qū)動(dòng)程序被標(biāo)準(zhǔn)化到組件,這樣使用者可以像操作其他一般組件一樣選擇和安裝設(shè)備驅(qū)動(dòng)組件。基本組件就是那些實(shí)現(xiàn)計(jì)算機(jī)系統(tǒng)共同的功能的組件,例如多媒體通信組件,檔案管理組件和奇異硬件測(cè)試組件。域的共性成分就是那些有條件實(shí)現(xiàn)數(shù)控系統(tǒng)的域通用功能的成分。這些成分就是數(shù)控系統(tǒng)中通過(guò)域工程分析所獲得的最重要的成就。通常,它包含了數(shù)據(jù)通信組件、人機(jī)界面組成、任務(wù)調(diào)度組件、G 代碼編譯組件、插補(bǔ)組件、刀具補(bǔ)償元件、運(yùn)動(dòng)控制組件、診斷組件、PLC 程序解讀和編輯組成、PLC 的執(zhí)行組件、參數(shù)設(shè)定組成、數(shù)據(jù)庫(kù)操作組件、實(shí)時(shí)誤差補(bǔ)償元件等。特殊應(yīng)用構(gòu)件就是為某些特殊應(yīng)用開(kāi)發(fā)的組件,如螺旋圓錐齒輪的計(jì)算組件。8外部網(wǎng)絡(luò)數(shù)據(jù)通信系統(tǒng)檢測(cè)系統(tǒng)設(shè)定誤差處理檔案管理G 代碼編譯人機(jī)交接刀具補(bǔ)償數(shù)據(jù)庫(kù)操作......高性能運(yùn)動(dòng)控制卡Windows 2000 設(shè)備驅(qū)動(dòng)程序數(shù)據(jù)通信差補(bǔ)誤差補(bǔ)償運(yùn)動(dòng)控制任務(wù)調(diào)度PLC 邏輯PLC 程序解讀和編輯輸入/輸出端口控制終端…… 運(yùn)動(dòng)軸圖 3. 基于 windows 2000 和運(yùn)動(dòng)控制的 CNC 系統(tǒng)的構(gòu)件93.3.對(duì)數(shù)據(jù)通信組件的開(kāi)放式數(shù)控系統(tǒng)的構(gòu)件的例示目前,世界上有四種描述和表示軟件體系的類型:(1)繪畫(huà)矩形定向線段的數(shù)字表達(dá); (2)模塊中連接傳統(tǒng)的編程語(yǔ)言模塊的路徑語(yǔ)言;(3) 結(jié)合面向?qū)ο蠹夹g(shù)與傳統(tǒng)程序設(shè)計(jì)語(yǔ)言的發(fā)展經(jīng)驗(yàn)的特殊軟件構(gòu)架描述語(yǔ)言(SADL); (4)基于組件的系統(tǒng)描述語(yǔ)言。 第一類是通常采用的方法。但這種方法的“圖案和注釋”始終是隨機(jī)的并沒(méi)有正式確定的,就是不嚴(yán)格的。彌補(bǔ)了其他種類的缺點(diǎn)并不是偶然的。通過(guò)我們對(duì)每種有關(guān)的系統(tǒng)數(shù)據(jù)通信組件的構(gòu)件的例示,致使軟件構(gòu)件不再是抽象意義上的概念模型,但是程序代碼按照宇宙法能被其他組件所重復(fù)使用。 由于開(kāi)發(fā)環(huán)境的不同,每個(gè)系統(tǒng)結(jié)構(gòu)都最少符合一個(gè)數(shù)據(jù)通信元件,而每個(gè)數(shù)據(jù)通信組件僅符合一個(gè)獨(dú)特系統(tǒng)抽象體系結(jié)構(gòu)。4.數(shù)控系統(tǒng)組件的類和檢索4.1.數(shù)控系統(tǒng)組件的分類 4.1.1. 組件的關(guān)節(jié)分類模型組件分類是構(gòu)建和維護(hù)組件的目錄信息的活動(dòng),且構(gòu)件檢索方法取決于元件的表達(dá)和分類,因此構(gòu)件的分類將有利于部件的管理,存儲(chǔ),檢索和理解。組件分類有大量的分類方式,其中刻面分類方法有廣泛的應(yīng)用[13,14]。面分類模式是由一套描述組件的基本特征的面組成。組件庫(kù)中根據(jù)不同的方面劃分成各個(gè)面組件。通常所說(shuō)的面是由一套基本的術(shù)語(yǔ)(即關(guān)鍵詞)組成的術(shù)語(yǔ)空間。每個(gè)組件能被一或者較多術(shù)語(yǔ)用每個(gè)面 (面術(shù)語(yǔ)是一確定的聚集) 描述,而且每個(gè)面反映一個(gè)方法在庫(kù)中分類成份。為何, 使用者能夠直覺(jué)地指定成份被從不同的視野取回。 結(jié)果,這一個(gè)程序也將會(huì)促進(jìn)使用者了解組件。據(jù)組合可知刻面分類具有以下特征:(1)一個(gè)面必須充分肯定的表達(dá)組件庫(kù)中的所有組件,也就是每個(gè)組件可以通過(guò)面來(lái)區(qū)分。10(2)每個(gè)面都有與之相關(guān)聯(lián)的術(shù)語(yǔ)空間。任何兩個(gè)術(shù)語(yǔ)空間間都是正交的,這就意味著其中一面術(shù)語(yǔ)的改變不會(huì)影響其他面中的術(shù)語(yǔ)空間。(3)刻面的術(shù)語(yǔ)空間是一個(gè)有限而模糊的空間,術(shù)語(yǔ)可以被動(dòng)的增加或刪除。(4)每個(gè)組件的所有刻面必須預(yù)先被定義,它不允許當(dāng)區(qū)別組件的時(shí)候,那里存在不確定的刻面。但是當(dāng)質(zhì)疑的時(shí)候,使用者可根據(jù)刻面的隨機(jī)數(shù)質(zhì)疑。(5)當(dāng)一位組件庫(kù)經(jīng)理對(duì)組件進(jìn)行分類的時(shí)候,他應(yīng)該瞄準(zhǔn)每個(gè)刻面選擇來(lái)自術(shù)語(yǔ)空間的適當(dāng)?shù)?(一個(gè)或者更多) 術(shù)語(yǔ), 如此同樣地完成組件的封包工作。(6)術(shù)語(yǔ)空間中的術(shù)語(yǔ)按照從一般到特別的關(guān)系呈樹(shù)狀階層結(jié)構(gòu)分布。每個(gè)術(shù)語(yǔ)都有著不定數(shù)目的同義詞。4.1.2 用刻面模式給數(shù)控系統(tǒng)組件分類根據(jù)上述的刻面分類方法,將其運(yùn)用于數(shù)控系統(tǒng)中,本文提出以下的刻面分類,用 BNF 巴科斯范式表示如下:::=(組件標(biāo)識(shí),組件類別,組件實(shí)現(xiàn),組件信息,組件運(yùn)行環(huán)境,組件版本關(guān)系)。(1)組件標(biāo)識(shí):用于惟一標(biāo)識(shí)某一數(shù)控組件,主要包含以下屬性:①組件號(hào):區(qū)別其他的數(shù)控性同組件。②組件名字:相同的類型的 CNC 組件無(wú)法擁有相同的名字,但是不同類型的能擁有相同的名字。③組件實(shí)體類型:用于標(biāo)識(shí)組件的實(shí)體類型,即源代碼文件、目標(biāo)文件、庫(kù)文件等類型。(2) 組件功能性: 組件功能性是由在它的最初而可能軟件系統(tǒng)種組件提供的軟件功能聚集。組件庫(kù)中的任何組件一定具備一個(gè)或多個(gè)功能。功能刻面的術(shù)語(yǔ)大部分由從組件的制作者/提供者提供的組件功能關(guān)鍵字組成。由于術(shù)語(yǔ)的一致,功能術(shù)語(yǔ)應(yīng)該試著使來(lái)自一個(gè)比較高的抽象水平的組件用法具體化。11數(shù)控系統(tǒng)根據(jù)功能劃分可分為 G 代碼編譯組件、刀補(bǔ)半徑組件、速度預(yù)處理組件、插補(bǔ)組件、位置控制組件、人機(jī)交互組件、故障診斷處理組件等等。那么,“功能”就可以作為一個(gè)刻面。關(guān)于插補(bǔ)組件,依照不同的運(yùn)算法則,他們能采用直線插補(bǔ)、圓弧插補(bǔ)、以符合高的精密需求拋物線插補(bǔ)、橢圓插補(bǔ)等等。 不同的組件能采用一種或多種的運(yùn)算法則。(3) 組件應(yīng)用環(huán)境: 組件應(yīng)用環(huán)境是當(dāng)使用 (包括了解/集合/修正) 組件時(shí)所必須提供的硬件和軟件平臺(tái)。只有當(dāng)依賴特定的應(yīng)用環(huán)境的時(shí)候, 組件庫(kù)中的每個(gè)組件才能被重復(fù)使用。甚至原始碼水平的通用組件也必須仰賴特別的編譯系統(tǒng)。應(yīng)用環(huán)境大概包含以下屬性::(i) 組件硬件環(huán)境。 (ii) 組件操作系統(tǒng)環(huán)境。 (iii) 數(shù)據(jù)庫(kù)平臺(tái)。(iv) 網(wǎng)絡(luò)環(huán)境。 (v) 編譯而且連接環(huán)境(4)組件實(shí)現(xiàn):描述 CNC 組件的功能及與實(shí)現(xiàn)有關(guān)的一些信息,主要包含以下屬性:(Ⅰ)開(kāi)發(fā)語(yǔ)言:實(shí)現(xiàn) CNC 組件所用的程序設(shè)計(jì)語(yǔ)言。(Ⅱ)組件參數(shù)類型:描述 CNC 組件參數(shù)的類型是否可選,接口參數(shù)及引用方法的具體描述。(Ⅲ)上下文環(huán)境: 即如果組件被裝配從系統(tǒng)中得到的程序水平上的上下文環(huán)境。(Ⅳ)形式:組件的合成和他們的相互關(guān)系, 像是類別、類別樹(shù)、框架、模塊。(Ⅴ)表示法: 它是過(guò)去一直描述組件內(nèi)容, 像是輪廓、本文、中文、英語(yǔ)的形式。(5) 組件階級(jí)體系: 組件階級(jí)體系是與軟件發(fā)展程序聯(lián)系緊密的處于抽象水平的組件。因?yàn)殡A級(jí)體系刻面的術(shù)語(yǔ)比較簡(jiǎn)單, 組件庫(kù)經(jīng)理通常列舉它們。目前的階級(jí)體系術(shù)語(yǔ)包括: (i) 分析; (ii) 設(shè)計(jì); (iii) 編碼; (iv) 測(cè)試(6)組件信息:組件信息描述了數(shù)控組件的一些特定歷史信息,如當(dāng)它們被產(chǎn)生的時(shí)候,且這個(gè)數(shù)據(jù)大體包含以下屬性:(i) 關(guān)于組件的資訊開(kāi)發(fā)者和發(fā)展部門。 (ii) 組件生產(chǎn)數(shù)據(jù)。 (iii) 成份儲(chǔ)入倉(cāng)庫(kù)資料。 (iv)組件尺寸。(7)組件版本關(guān)系:描述功能相似的同一系列 CNC 組件之間的關(guān)系,主要包含以下屬性:(i)相關(guān)版本。 (ii) 提倡版本。上述的刻面完全地與彼此分開(kāi),因此,他們完全具體表達(dá)了與重新利用相關(guān)聯(lián)的組件特性,而且是能適應(yīng)開(kāi)放 CNC 系統(tǒng)的組件庫(kù)的發(fā)展。12被包含在每個(gè)刻面的屬性是他們的第一個(gè)水平術(shù)語(yǔ); 術(shù)語(yǔ)和他們的下級(jí)術(shù)語(yǔ)之間的關(guān)系是一個(gè)從一般到特別的樹(shù)形結(jié)構(gòu)。舉個(gè)例子來(lái)說(shuō),“開(kāi)發(fā)語(yǔ)言”的術(shù)語(yǔ)在組件實(shí)現(xiàn)刻面是第一水平術(shù)語(yǔ)(概要),歸納開(kāi)發(fā)數(shù)控組件所用的語(yǔ)言,可以是 C、C++、Java、Foaran、ASM 等,這些要素構(gòu)成了“開(kāi)發(fā)語(yǔ)言”屬性的值。對(duì)于這樣一個(gè)主題:“用C++語(yǔ)言開(kāi)發(fā)的有拋物線插補(bǔ)算法的插補(bǔ)組件” 。通過(guò)對(duì)它的分析,可提取它在功能刻面內(nèi)的元素:采用拋物線算法的插補(bǔ)組件,在組件實(shí)現(xiàn)刻面內(nèi)的元素:C++語(yǔ)言。4.2. 組件恢復(fù)在組件重用的過(guò)程中,首先我們應(yīng)當(dāng)吸取來(lái)自所給定需要的功能的規(guī)格的一組關(guān)鍵字。然后按照這些關(guān)鍵字從已有組件中搜尋所需的候選組件。如果只發(fā)現(xiàn)一個(gè)組件符合所有的需求, 那么就選擇它。但是通常有不止一個(gè)候選組件,而且每個(gè)備用組件只有一部分符合使用者的需求。在這情況下,存在多個(gè)候選組件,但每個(gè)候選組件都只能部分地滿足用戶要求。在這樣的情況下,就要對(duì)候選組件滿足用戶的要求程度和為滿足要求而需做的適應(yīng)性修改的工作量進(jìn)行評(píng)價(jià),并以此對(duì)候選組件進(jìn)行排序。有了排好序的組件清單后,用戶即可選定需最少工作量即可完成修改并重用的組件。下列的運(yùn)算法則解釋重復(fù)使用的過(guò)程:開(kāi)始在一個(gè)相配方法的組件庫(kù)中搜尋歸還滿足配對(duì)要求的一組組件計(jì)算與每個(gè)組件相配的水平選擇最佳組件為適應(yīng)性修正挑選的組件 結(jié)束當(dāng)檢索組件的時(shí)候(包括在組件庫(kù)中搜索,計(jì)算匹配水平) ,我們可用由Zaremski 和 Wing首次提出的簽名匹配方法來(lái)對(duì)組件進(jìn)行匹配:把從組件中抽取出的特征信息稱為簽名,檢索時(shí)把用戶的檢索要求和組件的簽名相匹配。13簽名匹配定義如下:簽名匹配 )},(:{),(qCMq??給定一個(gè)簽名查詢q,匹配謂詞M,組件庫(kù)C,經(jīng)簽名匹配處理返回滿足匹配謂詞條件的組件集合。適應(yīng)性修正就是修正不與使用需求一致的經(jīng)挑選的組件,比如原始碼組件的修正,二進(jìn)位組件接口的修正,組件的再包裝等等。5. 基于建筑/組件重復(fù)使用技術(shù)的整合發(fā)展平臺(tái)和開(kāi)放式 CNC 系統(tǒng)的工作流程發(fā)展開(kāi)放式數(shù)控系統(tǒng)的工作流程如圖4所示。整個(gè)的流程包括兩個(gè)有相互聯(lián)系的過(guò)程:可以再度使用的 CNC 系統(tǒng)組件的發(fā)展和可再用組件的應(yīng)用系統(tǒng)的構(gòu)造。應(yīng)用系統(tǒng)的即時(shí)能力能被由整合的發(fā)展平臺(tái)所提供的 ''Cnc 視野''軟件檢測(cè)。5.1. 可以再度使用 CNC 系統(tǒng)組件發(fā)展的過(guò)程第一, CNC 領(lǐng)域采用領(lǐng)域工程方法分析,而且 CNC 系統(tǒng)建筑被萃取。然后, CNC 系統(tǒng)的建筑將會(huì)被作為數(shù)據(jù)通信組件的例示。這一個(gè)過(guò)程將詳細(xì)地定義數(shù)據(jù)通信組件的接口和它的內(nèi)部運(yùn)行控制運(yùn)算法則。數(shù)據(jù)通信組件能被要求約束、文件、原始碼、二進(jìn)位的密碼 等等來(lái)表達(dá)。數(shù)據(jù)通信組件的詳細(xì)被定義的接口擔(dān)任了主要的技術(shù)規(guī)格并產(chǎn)生其他的組件, 同時(shí)被文件、原始碼和數(shù)據(jù)結(jié)構(gòu)等來(lái)表達(dá)。在這個(gè)過(guò)程中形成的所有的建筑和組件被分類而且被儲(chǔ)存在組件庫(kù)中。系統(tǒng)常規(guī)管理和維護(hù)包括組件的疑問(wèn)、劃除、修正,購(gòu)買, 創(chuàng)造新的組件。5.2.含有可以再度使用組件的數(shù)控應(yīng)用系統(tǒng)的發(fā)展應(yīng)用上述的 CNC 系統(tǒng)整合的發(fā)展平臺(tái)去發(fā)展一個(gè) CNC 應(yīng)用系統(tǒng)的過(guò)程能被區(qū)分為二個(gè)階段:14第一個(gè)階段是框架產(chǎn)生,也就是說(shuō),依照新的系統(tǒng)的要求最適當(dāng)?shù)南到y(tǒng)構(gòu)件被選擇和被組件庫(kù)支持的系統(tǒng)構(gòu)件選擇,而且數(shù)據(jù)通訊組件被吸取。如果需要,構(gòu)件和對(duì)應(yīng)的數(shù)據(jù)通信組件必須被修正。過(guò)程可見(jiàn)如下所示:新組件倉(cāng)庫(kù)儲(chǔ)存新構(gòu)件倉(cāng)庫(kù)儲(chǔ)存組件提取構(gòu)件提取分類,儲(chǔ)存分類,儲(chǔ)存儲(chǔ)存用作為規(guī)格的數(shù)據(jù)通信組件的指導(dǎo)構(gòu)件例示起關(guān)鍵作用的數(shù)據(jù)通信NC 系統(tǒng)構(gòu)架數(shù)據(jù)通信組件其他組件開(kāi)發(fā)選擇系統(tǒng)構(gòu)件通信組件的獲得構(gòu)件適應(yīng)性修正通信組件適應(yīng)性修正1.重用組件的開(kāi)發(fā)過(guò)程2.有重用組件的應(yīng)用系統(tǒng)的開(kāi)發(fā)過(guò)程3.框架產(chǎn)生階段 4.結(jié)合裝配階段圖4.開(kāi)放式數(shù)控系統(tǒng)的結(jié)合開(kāi)發(fā)平臺(tái)和工作流程(1) 分析新的系統(tǒng)要求,獲得關(guān)鍵字且用組件庫(kù)的對(duì)應(yīng)術(shù)語(yǔ)更換。2431新組件倉(cāng)庫(kù)儲(chǔ)存組件提取構(gòu)件/組件庫(kù)NC 域分析基于當(dāng)前管理和維持的構(gòu)件/構(gòu)架(組件質(zhì)疑、刪除、修正、購(gòu)買、創(chuàng)造新的組件等等)新系統(tǒng)要求其他組件的獲得其他組件適應(yīng)性修正結(jié)合、裝配、成形新系統(tǒng)域分析15(2) 根據(jù)從第一步驟獲得的期限聚集,從組件庫(kù)中搜尋和取回適當(dāng)?shù)臉?gòu)件。(3) 如果構(gòu)件集中只有一種元素,就選擇它,而且如果有不止一種元素,每種元素必須被評(píng)估, 并能獲得最好的一個(gè)。(4) 如果從第二步驟獲得的構(gòu)件集是無(wú)效的,新的構(gòu)件將會(huì)被產(chǎn)生,而且將加入組件庫(kù)。(5) 依照術(shù)語(yǔ)集檢索, 一筆數(shù)控系統(tǒng)的數(shù)據(jù)通信組件集就能被得到。(6) 如果數(shù)據(jù)通訊構(gòu)件集中只有一種元素,就選擇它,而且如果有不止一種元素,每種元素必須被評(píng)估, 并能獲得最好的一個(gè)。(7) 如果從第五步驟獲得的數(shù)據(jù)通信構(gòu)件集是無(wú)效的,新的數(shù)據(jù)通信構(gòu)件將會(huì)被產(chǎn)生,而且將加入組件庫(kù)。(8) 依照適應(yīng)性構(gòu)件和組件被修正,而且新的被修正的構(gòu)件和新的組件也將會(huì)被增加到構(gòu)件/組件庫(kù)。第二個(gè)階段是整合和裝配。 將所獲得的通信組件的接口需求作為規(guī)格, 其他的功能組件能被檢索而且可以被從構(gòu)件/組件庫(kù)中吸取。除此之外,一些組件可能被發(fā)展或者為如此的一個(gè)應(yīng)用被購(gòu)買。 在所有獲得的組件被修正后,他們被整合和裝配。最后,獲得一個(gè)新的系統(tǒng)。這個(gè)過(guò)程可以表示如下:開(kāi)始為每個(gè)接口提供所需的數(shù)據(jù)通信組件吸取從接口聚集中取回的術(shù)語(yǔ)取回與術(shù)語(yǔ)聚集一致的功能組件獲得功能成份聚集如果那聚集是無(wú)效的發(fā)展或者購(gòu)買新組件新的組件存入倉(cāng)庫(kù)另外評(píng)估功能聚集16吸取唯一的功能元素結(jié)束如果修正挑選的組件以適應(yīng)新要求結(jié)束整合,集合, 配置。 然后獲得一個(gè)新的應(yīng)用系統(tǒng)結(jié)束從上述的運(yùn)算法則中,可以發(fā)現(xiàn)CNC應(yīng)用系統(tǒng)的發(fā)展課程包括CNC組件的發(fā)展的一些工作。5.3. CNC 應(yīng)用系統(tǒng)的即時(shí)能力分析CNC系統(tǒng)的組件之間存在嚴(yán)格時(shí)間的關(guān)系。 一些模塊一定定期地運(yùn)行,當(dāng)其他的模塊一定“及時(shí)”運(yùn)行的時(shí)候?yàn)槠渌哪K提供數(shù)據(jù)或者接受來(lái)自其他的模塊的數(shù)據(jù)。運(yùn)行序列在單一工作操作系統(tǒng)環(huán)境之下一定被預(yù)先定義,但是現(xiàn)代的CNC應(yīng)用系統(tǒng)通常是一個(gè)多工作系統(tǒng),它的即時(shí)能力被工作優(yōu)先購(gòu)買和同步控制確定。通常,一個(gè) CNC 系統(tǒng)的組件被定義為一項(xiàng)工作。 舉例來(lái)說(shuō),在窗口 2000 操作系統(tǒng)下面的一個(gè)簡(jiǎn)單的 CNC 系統(tǒng)能被分為位置控制工作、可設(shè)計(jì)的工作母機(jī)控制 (PMC) 工作、數(shù)據(jù)通信工作、插補(bǔ)工作、刀具補(bǔ)償工作、G代碼編譯工作、 使用者接口 (UI) 等等的工作。 這些工作包括兩方面:周期的工作和無(wú)周期的工作。像是位置控制和 PMC 這樣的工作通常被設(shè)計(jì)如周期的工作。另一方面,根據(jù)回應(yīng)時(shí)間的需求,工作能被分為即時(shí)的工作和非即時(shí)的工作,進(jìn)一步說(shuō),即時(shí)的工作包括硬的即時(shí)和軟的即時(shí)。一項(xiàng)難的即時(shí)工作時(shí)常有比較高的優(yōu)先, 而且需要比較短運(yùn)行時(shí)間。一件不能夠被打斷的工作能受到使用工作優(yōu)先鎖定的保護(hù)。一件非即時(shí)的工作能被即時(shí)者優(yōu)先占有。在那上述的CNC 系統(tǒng)中,位置控制、插補(bǔ)和 PMC工作屬于難的即時(shí); 數(shù)據(jù)通信、刀具補(bǔ)償和 G代碼編譯工作屬于軟的即時(shí); 而且 UI工作能被看作非即時(shí)的。在開(kāi)放式 CNC 系統(tǒng)的整合發(fā)展平臺(tái)中,我們了解了在MS窗口下核心物體技術(shù)工作運(yùn)行狀態(tài)的監(jiān)視功能,藉此檢測(cè)一個(gè) CNC 系統(tǒng)是否能達(dá)成即時(shí)的需求。這17個(gè)軟件叫做 “CncView”. 上述 CNC 系統(tǒng)的結(jié)果如圖5所示。工作從上到下根據(jù)優(yōu)先權(quán)排列,其'' 空轉(zhuǎn)'' 表示 CNC 系統(tǒng)的所有工作沒(méi)有運(yùn)行,和圖像同步的時(shí)間是毫秒。一項(xiàng)在運(yùn)行狀態(tài)下的工作用純粹的水平線表示,優(yōu)先鎖定的工作周期用一條正方形的線表示,一件懸而未決的工作用跨線表示,而三角形標(biāo)記表示工作給予了信號(hào)。數(shù)控系統(tǒng)使用一個(gè)附加的硬件定時(shí)器引起難的即時(shí)工作。圖5. 使用 CncView 軟件檢測(cè) CNC 系統(tǒng)的即時(shí)能力6. 結(jié)束語(yǔ)隨著數(shù)控技術(shù)朝著開(kāi)放性不斷發(fā)展和組件技術(shù)的成熟,兩者的結(jié)合成為當(dāng)今數(shù)控系統(tǒng)發(fā)展的趨勢(shì)。組件重用技術(shù)大大減少了開(kāi)發(fā)人員的工作量,使得數(shù)控系統(tǒng)的開(kāi)發(fā)周期縮短,效率提高,穩(wěn)定性增強(qiáng)。應(yīng)用領(lǐng)域工程方法分析 CNC 系統(tǒng),本文首先提出數(shù)據(jù)通信是連接整個(gè)數(shù)控系統(tǒng)得關(guān)鍵,隨后吸取來(lái)自數(shù)據(jù)通信的開(kāi)放式數(shù)控系統(tǒng)的構(gòu)件,最后例示對(duì)數(shù)據(jù)通信組件的構(gòu)件。此外組件正在分類;表達(dá)、儲(chǔ)藏和檢索被深深地分析?;谶@個(gè)基礎(chǔ)上,開(kāi)發(fā)出開(kāi)放式數(shù)控系統(tǒng)的整合發(fā)展平臺(tái)。了解了諸如產(chǎn)生且維持組件目錄的信息,質(zhì)疑情況的建筑等一些視覺(jué)功能。有刻面分類模態(tài)、相插補(bǔ)通信PLC狀態(tài)控制刀具補(bǔ)償編譯UI空轉(zhuǎn)18配的簽字的檢索,組件提取, 即時(shí)的能力監(jiān)控等方面的組件儲(chǔ)藏的功能目前受平臺(tái)的支持。參考文獻(xiàn)[1] Paul Wright, Everybody’s open-the view from academia: no compromise on plug-and play, Manufacturing Engineering 121 (1998) 84–85.[2] Jean V. Owen, Tomorrow’s machines in Paris, Manufacturing Engineering 123 (1999) 118–129.[3] Patrick Waurzyniak, Machine controls opening up, Manufacturing Engineering 129 (2002) 71–80.[4] Robert Hillaire, Whatever happened to open controls? A manufacturing research engineer looks at today’s open controls and suggests new directions for controls makers, Manufacturing Engineering 124 (2000) 80–89.[5] Hafedh Mili, Fatma Mili, Aili Mili, Reusing software: issues and research directions, IEEE Transactions on Software Engineering 21 (6) (1995) 528–562.[6] D. Garlan,M. Shaw, An Introduction to Software Architecture: Advances in Software Engineering and Knowledge Engineering, World Scientific Publishing Company, Pittsburgh, 1993.[7] P.A.V. Hall, Architecture-driven component reuse, Information and Software Technology 41 (1999) 963–968.[8] Yang Fuqing, Mei Hong, Software reuse and software component technology, Electronics Acta (P.R. China) 27 (1999) 68–75.[9] Gregory W. Hislop, Analyzing existing software for software reuse, Journal of Systems and Software 41 (1998) 33–40.[10] Alistair Sutcliffe, Domain analysis for software reuse, Journal of Systems and Software 50 (2000) 175–199.[11] Karma Sherif, Ajay Vinze, Domain engineering for developing software repositories: a case study, Decision Support System 33 (2002) 55–69.[12] G.L. Kova′cs, S. Kopa′csi, J. Nacsa et al., Application of software reuse and object-oriented methodologies for the modelling and control of manufacturing systems, Computers in Industry 39 (1999) 177–189.19[13] Ruben Prieto-Diaz, Peter Freeman, Classifying software for reusability, IEEE Software 4 (1987) 6–16.[14] A.M. Zaremski, J.M. Wing, Signature matching: a tool for using software libraries, ACM Transaction of Software Engineering and Methodology 4 (1995) 146–170.[15] A.M. Zaremski, J.M. Wing, Signature matching: a key to reuse, ACM Sigsoft Software Engineering Notes 18 (1993) 182–190.[16] J. Richter, Programming Applications for Microsoft Windows,Microsoft Press, Washington, 1999.[17] W. Oney, Programming the Microsoft Windows Driver Model, second ed., Microsoft Press, Washington, 2002.
收藏