C620普通車床進行數(shù)控改造【說明書+CAD】
C620普通車床進行數(shù)控改造【說明書+CAD】,說明書+CAD,C620普通車床進行數(shù)控改造【說明書+CAD】,c620,普通,車床,進行,數(shù)控,改造,說明書,仿單,cad
基于構(gòu)架/構(gòu)件復(fù)用的開放式數(shù)控系統(tǒng)研究
李斌,周云飛,唐曉琪
中國武漢華中科技大學(xué)工程技術(shù)研究中心
2003年2月12日接收;2003年10月25日修正;2003年10月25日接受;2004年6月9日在線使用
摘要
通過對開放式數(shù)控系統(tǒng)和構(gòu)架/構(gòu)件復(fù)用技術(shù)當(dāng)前形勢發(fā)展的分析, 本文主要研究基于這一技術(shù)的開放式數(shù)控系統(tǒng)。 采用域工程方法,數(shù)控系統(tǒng)通常通過起著關(guān)鍵作用的數(shù)據(jù)通信組織起來。 此外,構(gòu)件也被引以為例到可以再度使用的數(shù)據(jù)通信組件中,這不同于一般的構(gòu)件。推出了數(shù)控系統(tǒng)的刻面模塊分揀、表達、存儲和檢索系統(tǒng)。 結(jié)合上述各種有用信息,綜合開發(fā),構(gòu)建出開放式數(shù)控系統(tǒng)平臺。 支持這個平臺的開放式數(shù)控系統(tǒng)的開發(fā)流程包括兩個相關(guān)課程: 數(shù)控重用組件開發(fā)、這些重用組件與應(yīng)用系統(tǒng)的建設(shè)。 此外,數(shù)控應(yīng)用系統(tǒng)在MS-Windows上的實時應(yīng)用能力可以通過這個平臺檢驗。
關(guān)鍵詞: 數(shù)控, 開放式, 組件, 軟件重用, 域工程
1.簡介
由于硬件技術(shù)的雙快速發(fā)展, 電腦數(shù)值控制(CNC)系統(tǒng)的復(fù)雜性提高,與第三方軟件提高的要求相適應(yīng), 開發(fā)商頻繁的跳槽,及技工兄弟間割喉式的競爭等原因,數(shù)控系統(tǒng)的制造商不得不盡力去不斷提高自己系統(tǒng)的質(zhì)量和縮短該產(chǎn)品的開發(fā)時間,因此,開放架構(gòu)正成為數(shù)控技術(shù)當(dāng)前的發(fā)展趨勢,且其主要目標(biāo)是要建立一個統(tǒng)一的識別系統(tǒng)平臺。與開放式平臺的發(fā)展相比,CNC應(yīng)用系統(tǒng)將更加模塊化和靈活化,因此,這一系統(tǒng)的使用者將可以選擇功能模塊,甚至整合、修改、拓展系統(tǒng)功能,以滿足不同的應(yīng)用要求。關(guān)于開放式數(shù)控系統(tǒng)一系列意見可以總結(jié)如下[1-4]:
(1)開放式數(shù)控系統(tǒng)具有靈活的硬件和軟件。 因此,它不僅允許硬件改變其基本配置而且也允許軟件修改各級控制。
(2)一個開放式數(shù)控系統(tǒng)提供了即插即用兼容的真正意義。
(3)一個開放式數(shù)控系統(tǒng)的標(biāo)準(zhǔn)化,允許第三方開發(fā)能滿足其要求的新的硬件和軟件。
(4)開放式數(shù)控系統(tǒng)有能力融入與這個標(biāo)準(zhǔn)相同水平的其他成分, 還可以共享數(shù)據(jù)中的主要成分。
(5)開放式數(shù)控系統(tǒng)可以同其他系統(tǒng)在系統(tǒng)水平上一致。
鑒于上述原因, 我們把為專用數(shù)控域建立開放式數(shù)控系統(tǒng)模型作為可行的方法視為自然,但在另一方面,軟件重用是應(yīng)用軟件開發(fā)過程中, 特別是在同一領(lǐng)域更深程度的應(yīng)用,因為新的制度一向與前一期關(guān)系非常緊密[5]。它逐漸確信整個體系結(jié)構(gòu)的設(shè)計和規(guī)格比軟件系統(tǒng)的規(guī)模和復(fù)雜性日益升級的公司內(nèi)的選擇算法和數(shù)據(jù)結(jié)構(gòu)更為重要。所以軟件構(gòu)架的重要性正在得到承認(rèn)。近年來建筑/組件技術(shù)在眾多的軟件重用技術(shù)中發(fā)展迅速[6,7]?;谏鲜鲇^點,本文主要對開放式數(shù)控系統(tǒng)及軟件構(gòu)架/構(gòu)件復(fù)用技術(shù), 開放式數(shù)控系統(tǒng)的結(jié)構(gòu)和開發(fā)的數(shù)控系統(tǒng)的集成平臺進行研究。
2. 基于構(gòu)架/構(gòu)件的軟件復(fù)用技術(shù)的開放式數(shù)控系統(tǒng)
2.1. 軟件重用和構(gòu)件/組件技術(shù)
軟件架構(gòu)是指總體結(jié)構(gòu)設(shè)計和抽象的系統(tǒng)說明的劃定。這是一個對軟件系統(tǒng)的組成,結(jié)構(gòu)和工作方式的宏觀描述。簡而言之,軟件構(gòu)架描述了組件及系統(tǒng)中組件間的的內(nèi)在聯(lián)系。軟件開發(fā)基于構(gòu)架把其重點從典線轉(zhuǎn)向較大粒度的建筑元素(例如, 組件),以及整體結(jié)構(gòu)相互之間的這些元素。發(fā)展的基調(diào)是構(gòu)筑重用的軟件體系結(jié)構(gòu); 它強調(diào)分析與設(shè)計的重用,而不是限制代碼的重用。
組件是一個功能上相對獨立的單位。它可以清晰分辨, 在軟件系統(tǒng)中可重復(fù)使用。這可能是一類,一類樹、框架、或普通艙。 隨著對軟件重用概念的嵌入式理解,組件成分已不再局限于代碼組件 ,而是擴展到需求、結(jié)構(gòu)、文件、測試計劃、測試用例和數(shù)據(jù), 以及其他有關(guān)開發(fā)激活的有用信息。
基于構(gòu)架/構(gòu)件技術(shù)的軟件重用包括兩個相關(guān)過程:可重用組件的開發(fā)和包含可重用組件的應(yīng)用系統(tǒng)的開發(fā)。軟件體系結(jié)構(gòu)/組件技術(shù)在發(fā)展的過程的功能可以表示成圖1。首先,通過域工程方法可以分析特殊領(lǐng)域,并且能得到這個特殊域的軟件架構(gòu)。然后組件開發(fā)的進程、 分揀和存儲,都可用這個架構(gòu)來引導(dǎo)。當(dāng)一個新的應(yīng)用系統(tǒng)需要發(fā)展的時候, 一些相關(guān)組件被從領(lǐng)域構(gòu)件庫或其他一般組件庫中搜出和提取出來,緊接著那些合適的組件將通過挑選和改良以適應(yīng)系統(tǒng),最后,這些組件被組裝在一個新的應(yīng)用系統(tǒng)中。
2.2.特殊領(lǐng)域的軟件復(fù)用技術(shù)需要數(shù)控系統(tǒng)的開放
開放系統(tǒng)技術(shù)的第一條原則是在系統(tǒng)開發(fā)過程中應(yīng)用接口標(biāo)準(zhǔn), 在此時按接口標(biāo)準(zhǔn)去實現(xiàn)。這為系統(tǒng)開發(fā)的設(shè)計決策和系統(tǒng)演化提供了一個穩(wěn)定的基礎(chǔ), 同時還保證了系統(tǒng)間的相互操作[8]。
從20世紀(jì)80年代起,開放式數(shù)控系統(tǒng)的研究項目已在世界各國紛紛展開研究,其中一些還具有很大的影響力,美國的OMAC,歐洲的OSACA和日本的OSEC。OSACA通過通信系統(tǒng)實現(xiàn)工作領(lǐng)域間的數(shù)據(jù)通信,其系統(tǒng)模型是基于分層結(jié)構(gòu), ,每一個功能模塊的應(yīng)用系統(tǒng)和內(nèi)部運行機制的所有數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)上, 該模塊的這些數(shù)據(jù)結(jié)構(gòu)必須定義徹底 它需要復(fù)雜的配置系統(tǒng),以建立并維持松散的應(yīng)用系統(tǒng)的拓撲結(jié)構(gòu)。
應(yīng)用系統(tǒng)開發(fā)
圖1.軟件構(gòu)件/組件在開發(fā)過程中的功能
組件開發(fā)者
裝配
域分析
軟件構(gòu)件
基于組件的
域
基于組件的其他
管理
分類,貯存
參考
搜索并吸取
搜索并吸取
適應(yīng)性修正
現(xiàn)在,軟件復(fù)用技術(shù)能最好的支持開放式體系, 尤其是符合接口標(biāo)準(zhǔn)的部件,可以利用“插頭發(fā)揮”法容易地集成到系統(tǒng),這是一個重新利用的黑匣子。 這樣,元件可以獨立發(fā)展,根據(jù)接口標(biāo)準(zhǔn)。
這就是有名的實現(xiàn)數(shù)控系統(tǒng)的開放即基于構(gòu)架/構(gòu)件技術(shù)的軟件重用的潛在途徑。數(shù)控系統(tǒng)的開放與軟件的重新利用出現(xiàn)的偶然性可見如下三個方面:
(1)在舊版本的基礎(chǔ)上, 加入了新功能,產(chǎn)生了新的數(shù)控系統(tǒng)的版本,適應(yīng)了一些新的要求。
(2)修正部分以適應(yīng)運行平臺,讓軟件可以在另一個系統(tǒng)平臺上運行……
(3)將數(shù)控系統(tǒng)的軟件(或其組成部分)應(yīng)用到另一個數(shù)控應(yīng)用系統(tǒng),使舊系統(tǒng)演變成具有不同的功能和用途的新系統(tǒng)。
3. 基于域工程的數(shù)控系統(tǒng)結(jié)構(gòu)的分析和建模
為設(shè)計系統(tǒng)得到正確的結(jié)構(gòu)是非常重要的。而域工程的方法[9-12]必須采取對數(shù)控系統(tǒng)進行分析,以便獲得正確的系統(tǒng)結(jié)構(gòu)。領(lǐng)域指一套被具有類似的要求的應(yīng)用系統(tǒng)覆蓋的功能區(qū)。領(lǐng)域工程包含三個主要階段:領(lǐng)域分析,領(lǐng)域設(shè)計和領(lǐng)域?qū)崿F(xiàn)。 在域分析和建模這一進程中,主要的問題是要實現(xiàn)開放式數(shù)控系統(tǒng)的關(guān)鍵環(huán)節(jié)。
3.1. 數(shù)據(jù)通信在組織開放式數(shù)控系統(tǒng)中起關(guān)鍵作用
通過用領(lǐng)域工程方法分析典型數(shù)控系統(tǒng),我們可以發(fā)現(xiàn)數(shù)控系統(tǒng)的進程和線程可以和在一些功能部件起關(guān)鍵作用的數(shù)據(jù)通信組織起來 。這種組織形式的優(yōu)點如下所示:
(1) 鑒于組件集成軟件的發(fā)展方向,數(shù)據(jù)通訊模塊可作為骨架去組織系統(tǒng); 這使得系統(tǒng)的組織較前者容易。
(2) 以數(shù)據(jù)通信作為關(guān)鍵環(huán)節(jié)的該系統(tǒng)已不再是一個層次結(jié)構(gòu)。 每一個模塊都有一個只與數(shù)據(jù)通信模塊連接的接口。 開發(fā)商只需要注意這個接口,而不需考慮其他模塊的組織模式。
(3)為一個系統(tǒng)詳細的定義數(shù)據(jù)通信模塊的接口是足夠的,與接口相一致,開發(fā)商需要做的,是發(fā)展其中有沒有必要界定的內(nèi)部數(shù)據(jù)結(jié)構(gòu)和建立有效的完全基于這些數(shù)據(jù)結(jié)構(gòu)的內(nèi)部運行機制的個體模塊。
(4)如果系統(tǒng)的數(shù)據(jù)通訊是確定的,整個系統(tǒng)的拓撲關(guān)系將嚴(yán)格界定。它確保了軟件零件間的互互操作性。
我們強調(diào)系統(tǒng)中每模塊的自主性。所謂自主意思是每一個模塊都是一個獨立的個體, 每個單元的目標(biāo)和目標(biāo)值都是獨立的,甚至可以自己做出決定,制定計劃, 采取行動去實現(xiàn)本身的目標(biāo),以及應(yīng)付任何意外,因為它的行為是可控的。自治模塊間毫無功能聯(lián)系和記憶分享。所有信息通信都通過數(shù)據(jù)通信模塊實現(xiàn)。 每個模塊只能處于可選擇狀態(tài):運行或睡眠。模塊本身控制這兩個狀態(tài)。 關(guān)鍵環(huán)節(jié)-數(shù)據(jù)通信模塊-具有相同的特性。
數(shù)據(jù)/
控制
數(shù)據(jù)/
控制
數(shù)控組件1
數(shù)控組件2
數(shù)控系統(tǒng)
內(nèi)在的通
信處理機
制
數(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)的功能型號如圖2所示。數(shù)據(jù)通信的功能模塊有幾個組件接口. 這些接口,可與其他功能部件,如G代碼譯員組成 刀具補償元件和插補元件等相聯(lián)系。每個部件的輸入和輸出數(shù)據(jù)都通過其接口以交換關(guān)鍵環(huán)節(jié)來實現(xiàn);數(shù)據(jù)通信模塊從每一個接口讀取數(shù)據(jù),并自主送回。
只有兩種基于功能模式的域行為: (1)傳送/接收數(shù)據(jù)信息和控制信息; (2)配套活動,如PLC編程,G代碼檔案的管理和編輯, 參數(shù)設(shè)定等。
3.2.從數(shù)據(jù)通信模塊中提取系統(tǒng)建筑
通過對部件實現(xiàn)的系統(tǒng)功能和組件必須自主化的強調(diào),我們可以從開放數(shù)控系統(tǒng)的關(guān)鍵環(huán)節(jié)--數(shù)據(jù)通信模塊開始分析數(shù)控系統(tǒng)的結(jié)構(gòu)。劃分組件的原則是實現(xiàn)最少功能耦合和組件間最可能獨立, 要努力使部件功能的業(yè)務(wù)數(shù)據(jù)流獨立。組件的設(shè)計應(yīng)遵循領(lǐng)域的普通技術(shù)標(biāo)準(zhǔn)。
例如,基于MS-Windows2000的數(shù)控系統(tǒng)的結(jié)構(gòu)和高性能運動控制卡的分析如下。整個系統(tǒng)通過數(shù)據(jù)通信模塊組織起來。建筑描述了全球系統(tǒng)組織,該系統(tǒng)的控制了部件的結(jié)構(gòu)、部件間的通信及其部件間的協(xié)議、 元件的同步化、元件的功能分配元件的實物分配、元件的集成、 整個系統(tǒng)的伸縮性等等。
首先,對域和接口的關(guān)系如經(jīng)營環(huán)境和數(shù)據(jù)要求進行分析。變異也將進行鑒定。在領(lǐng)域范圍被確定之后,跨社區(qū)和不同領(lǐng)域的應(yīng)用將予以分析,它包括域特點,要求在領(lǐng)域中實現(xiàn)應(yīng)用的領(lǐng)域知識信息和資料的需求信息, 數(shù)據(jù)和控制流的操作。在此基礎(chǔ)上,后續(xù)工作就是對并行進程和單位域?qū)ο?,定義過程,這些進程和模塊的后天分布特征,功能和數(shù)據(jù)對象進行識別,為在領(lǐng)域中應(yīng)用提供解決軟件,最后開發(fā)出域的建筑模型。
被提取的開放式數(shù)控系統(tǒng)的結(jié)構(gòu)見 圖3。數(shù)控系統(tǒng)軟件可分為兩部分:在電腦CPU上運行的上部和在高表現(xiàn)運動控制卡的DSP上運行的下部。它是一個多程序和多線的多任務(wù)系統(tǒng)。該系統(tǒng)的結(jié)構(gòu)可以分為四種類型:設(shè)備驅(qū)動組件,基本組件,數(shù)控領(lǐng)域的普通組件及特殊應(yīng)用組件。
數(shù)控系統(tǒng)硬件的設(shè)備驅(qū)動程序被標(biāo)準(zhǔn)化到組件,這樣使用者可以像操作其他一般組件一樣選擇和安裝設(shè)備驅(qū)動組件。
基本組件就是那些實現(xiàn)計算機系統(tǒng)共同的功能的組件,例如多媒體通信組件,檔案管理組件和奇異硬件測試組件。
域的共性成分就是那些有條件實現(xiàn)數(shù)控系統(tǒng)的域通用功能的成分。這些成分就是數(shù)控系統(tǒng)中通過域工程分析所獲得的最重要的成就。通常,它包含了數(shù)據(jù)通信組件、人機界面組成、任務(wù)調(diào)度組件、G代碼編譯組件、插補組件、刀具補償元件、運動控制組件、診斷組件、PLC程序解讀和編輯組成、PLC的執(zhí)行組件、參數(shù)設(shè)定組成、數(shù)據(jù)庫操作組件、實時誤差補償元件等。
特殊應(yīng)用構(gòu)件就是為某些特殊應(yīng)用開發(fā)的組件,如螺旋圓錐齒輪的計算組件。
Windows 2000
PLC程序解讀和編輯
外部網(wǎng)絡(luò)
數(shù)據(jù)通信
系統(tǒng)檢測
系統(tǒng)設(shè)定
誤差處理
檔案管理
G代碼編譯
人機交接
刀具補償
數(shù)據(jù)庫操作
......
高性能運動
控制卡
設(shè)備驅(qū)動程序
任務(wù)調(diào)度
運動軸
……
控制終端
輸入/輸出端口
PLC邏輯
運動控制
誤差補償
差補
數(shù)
據(jù)
通
信
圖3. 基于windows 2000 和運動控制的 CNC 系統(tǒng)的構(gòu)件
3.3.對數(shù)據(jù)通信組件的開放式數(shù)控系統(tǒng)的構(gòu)件的例示
目前,世界上有四種描述和表示軟件體系的類型:(1)繪畫矩形定向線段的數(shù)字表達; (2)模塊中連接傳統(tǒng)的編程語言模塊的路徑語言;(3) 結(jié)合面向?qū)ο蠹夹g(shù)與傳統(tǒng)程序設(shè)計語言的發(fā)展經(jīng)驗的特殊軟件構(gòu)架描述語言(SADL); (4)基于組件的系統(tǒng)描述語言。
第一類是通常采用的方法。但這種方法的“圖案和注釋”始終是隨機的并沒有正式確定的,就是不嚴(yán)格的。彌補了其他種類的缺點并不是偶然的。通過我們對每種有關(guān)的系統(tǒng)數(shù)據(jù)通信組件的構(gòu)件的例示,致使軟件構(gòu)件不再是抽象意義上的概念模型,但是程序代碼按照宇宙法能被其他組件所重復(fù)使用。 由于開發(fā)環(huán)境的不同,每個系統(tǒng)結(jié)構(gòu)都最少符合一個數(shù)據(jù)通信元件,而每個數(shù)據(jù)通信組件僅符合一個獨特系統(tǒng)抽象體系結(jié)構(gòu)。
4.數(shù)控系統(tǒng)組件的類和檢索
4.1.數(shù)控系統(tǒng)組件的分類
4.1.1. 組件的關(guān)節(jié)分類模型
組件分類是構(gòu)建和維護組件的目錄信息的活動,且構(gòu)件檢索方法取決于元件的表達和分類,因此構(gòu)件的分類將有利于部件的管理,存儲,檢索和理解。組件分類有大量的分類方式,其中刻面分類方法有廣泛的應(yīng)用[13,14]。
面分類模式是由一套描述組件的基本特征的面組成。組件庫中根據(jù)不同的方面劃分成各個面組件。通常所說的面是由一套基本的術(shù)語(即關(guān)鍵詞)組成的術(shù)語空間。每個組件能被一或者較多術(shù)語用每個面 (面術(shù)語是一確定的聚集) 描述,而且每個面反映一個方法在庫中分類成份。為何, 使用者能夠直覺地指定成份被從不同的視野取回。 結(jié)果,這一個程序也將會促進使用者了解組件。
據(jù)組合可知刻面分類具有以下特征:
(1)一個面必須充分肯定的表達組件庫中的所有組件,也就是每個組件可以通過面來區(qū)分。
(2)每個面都有與之相關(guān)聯(lián)的術(shù)語空間。任何兩個術(shù)語空間間都是正交的,這就意味著其中一面術(shù)語的改變不會影響其他面中的術(shù)語空間。
(3)刻面的術(shù)語空間是一個有限而模糊的空間,術(shù)語可以被動的增加或刪除。
(4)每個組件的所有刻面必須預(yù)先被定義,它不允許當(dāng)區(qū)別組件的時候,那里存在不確定的刻面。但是當(dāng)質(zhì)疑的時候,使用者可根據(jù)刻面的隨機數(shù)質(zhì)疑。
(5)當(dāng)一位組件庫經(jīng)理對組件進行分類的時候,他應(yīng)該瞄準(zhǔn)每個刻面選擇來自術(shù)語空間的適當(dāng)?shù)?(一個或者更多) 術(shù)語, 如此同樣地完成組件的封包工作。
(6)術(shù)語空間中的術(shù)語按照從一般到特別的關(guān)系呈樹狀階層結(jié)構(gòu)分布。每個術(shù)語都有著不定數(shù)目的同義詞。
4.1.2用刻面模式給數(shù)控系統(tǒng)組件分類
根據(jù)上述的刻面分類方法,將其運用于數(shù)控系統(tǒng)中,本文提出以下的刻面分類,用BNF巴科斯范式表示如下:
::=(組件標(biāo)識,組件類別,組件實現(xiàn),組件信息,組件運行環(huán)境,組件版本關(guān)系)。
(1)組件標(biāo)識:用于惟一標(biāo)識某一數(shù)控組件,主要包含以下屬性:①組件號:區(qū)別其他的數(shù)控性同組件。②組件名字:相同的類型的 CNC組件無法擁有相同的名字,但是不同類型的能擁有相同的名字。③組件實體類型:用于標(biāo)識組件的實體類型,即源代碼文件、目標(biāo)文件、庫文件等類型。
(2) 組件功能性: 組件功能性是由在它的最初而可能軟件系統(tǒng)種組件提供的軟件功能聚集。組件庫中的任何組件一定具備一個或多個功能。功能刻面的術(shù)語大部分由從組件的制作者/提供者提供的組件功能關(guān)鍵字組成。由于術(shù)語的一致,功能術(shù)語應(yīng)該試著使來自一個比較高的抽象水平的組件用法具體化。
數(shù)控系統(tǒng)根據(jù)功能劃分可分為G代碼編譯組件、刀補半徑組件、速度預(yù)處理組件、插補組件、位置控制組件、人機交互組件、故障診斷處理組件等等。那么,“功能”就可以作為一個刻面。關(guān)于插補組件,依照不同的運算法則,他們能采用直線插補、圓弧插補、以符合高的精密需求拋物線插補、橢圓插補等等。 不同的組件能采用一種或多種的運算法則。
(3) 組件應(yīng)用環(huán)境: 組件應(yīng)用環(huán)境是當(dāng)使用 (包括了解/集合/修正) 組件時所必須提供的硬件和軟件平臺。只有當(dāng)依賴特定的應(yīng)用環(huán)境的時候, 組件庫中的每個組件才能被重復(fù)使用。甚至原始碼水平的通用組件也必須仰賴特別的編譯系統(tǒng)。應(yīng)用環(huán)境大概包含以下屬性::(i) 組件硬件環(huán)境。 (ii) 組件操作系統(tǒng)環(huán)境。 (iii) 數(shù)據(jù)庫平臺。(iv) 網(wǎng)絡(luò)環(huán)境。 (v) 編譯而且連接環(huán)境
(4)組件實現(xiàn):描述CNC組件的功能及與實現(xiàn)有關(guān)的一些信息,主要包含以下屬性:(Ⅰ)開發(fā)語言:實現(xiàn)CNC組件所用的程序設(shè)計語言。(Ⅱ)組件參數(shù)類型:描述CNC組件參數(shù)的類型是否可選,接口參數(shù)及引用方法的具體描述。(Ⅲ)上下文環(huán)境: 即如果組件被裝配從系統(tǒng)中得到的程序水平上的上下文環(huán)境。(Ⅳ)形式:組件的合成和他們的相互關(guān)系, 像是類別、類別樹、框架、模塊。(Ⅴ)表示法: 它是過去一直描述組件內(nèi)容, 像是輪廓、本文、中文、英語的形式。
(5) 組件階級體系: 組件階級體系是與軟件發(fā)展程序聯(lián)系緊密的處于抽象水平的組件。因為階級體系刻面的術(shù)語比較簡單, 組件庫經(jīng)理通常列舉它們。目前的階級體系術(shù)語包括: (i) 分析; (ii) 設(shè)計; (iii) 編碼; (iv) 測試
(6)組件信息:組件信息描述了數(shù)控組件的一些特定歷史信息,如當(dāng)它們被產(chǎn)生的時候,且這個數(shù)據(jù)大體包含以下屬性:(i) 關(guān)于組件的資訊開發(fā)者和發(fā)展部門。 (ii) 組件生產(chǎn)數(shù)據(jù)。 (iii) 成份儲入倉庫資料。 (iv)組件尺寸。
(7)組件版本關(guān)系:描述功能相似的同一系列CNC組件之間的關(guān)系,主要包含以下屬性:(i)相關(guān)版本。 (ii) 提倡版本。
上述的刻面完全地與彼此分開,因此,他們完全具體表達了與重新利用相關(guān)聯(lián)的組件特性,而且是能適應(yīng)開放 CNC 系統(tǒng)的組件庫的發(fā)展。
被包含在每個刻面的屬性是他們的第一個水平術(shù)語; 術(shù)語和他們的下級術(shù)語之間的關(guān)系是一個從一般到特別的樹形結(jié)構(gòu)。舉個例子來說,“開發(fā)語言”的術(shù)語在組件實現(xiàn)刻面是第一水平術(shù)語(概要),歸納開發(fā)數(shù)控組件所用的語言,可以是C、C++、Java、Foaran、ASM 等,這些要素構(gòu)成了“開發(fā)語言”屬性的值。
對于這樣一個主題:“用C++語言開發(fā)的有拋物線插補算法的插補組件”。通過對它的分析,可提取它在功能刻面內(nèi)的元素:采用拋物線算法的插補組件,在組件實現(xiàn)刻面內(nèi)的元素:C++語言。
4.2. 組件恢復(fù)
在組件重用的過程中,首先我們應(yīng)當(dāng)吸取來自所給定需要的功能的規(guī)格的一組關(guān)鍵字。然后按照這些關(guān)鍵字從已有組件中搜尋所需的候選組件。如果只發(fā)現(xiàn)一個組件符合所有的需求, 那么就選擇它。但是通常有不止一個候選組件,而且每個備用組件只有一部分符合使用者的需求。在這情況下,存在多個候選組件,但每個候選組件都只能部分地滿足用戶要求。在這樣的情況下,就要對候選組件滿足用戶的要求程度和為滿足要求而需做的適應(yīng)性修改的工作量進行評價,并以此對候選組件進行排序。有了排好序的組件清單后,用戶即可選定需最少工作量即可完成修改并重用的組件。
下列的運算法則解釋重復(fù)使用的過程:
開始
在一個相配方法的組件庫中搜尋
歸還滿足配對要求的一組組件
計算與每個組件相配的水平
選擇最佳組件
為適應(yīng)性修正挑選的組件 結(jié)束
當(dāng)檢索組件的時候(包括在組件庫中搜索,計算匹配水平),我們可用由Zaremski 和 Wing首次提出的簽名匹配方法來對組件進行匹配:把從組件中抽取出的特征信息稱為簽名,檢索時把用戶的檢索要求和組件的簽名相匹配。
簽名匹配定義如下:
簽名匹配
給定一個簽名查詢q,匹配謂詞M,組件庫C,經(jīng)簽名匹配處理返回滿足匹配謂詞條件的組件集合。
適應(yīng)性修正就是修正不與使用需求一致的經(jīng)挑選的組件,比如原始碼組件的修正,二進位組件接口的修正,組件的再包裝等等。
5. 基于建筑/組件重復(fù)使用技術(shù)的整合發(fā)展平臺和開放式 CNC 系統(tǒng)的工作流程
發(fā)展開放式數(shù)控系統(tǒng)的工作流程如圖4所示。整個的流程包括兩個有相互聯(lián)系的過程:可以再度使用的 CNC 系統(tǒng)組件的發(fā)展和可再用組件的應(yīng)用系統(tǒng)的構(gòu)造。應(yīng)用系統(tǒng)的即時能力能被由整合的發(fā)展平臺所提供的 ''Cnc 視野''軟件檢測。
5.1. 可以再度使用 CNC 系統(tǒng)組件發(fā)展的過程
第一, CNC 領(lǐng)域采用領(lǐng)域工程方法分析,而且 CNC 系統(tǒng)建筑被萃取。然后, CNC 系統(tǒng)的建筑將會被作為數(shù)據(jù)通信組件的例示。這一個過程將詳細地定義數(shù)據(jù)通信組件的接口和它的內(nèi)部運行控制運算法則。數(shù)據(jù)通信組件能被要求約束、文件、原始碼、二進位的密碼 等等來表達。
數(shù)據(jù)通信組件的詳細被定義的接口擔(dān)任了主要的技術(shù)規(guī)格并產(chǎn)生其他的組件, 同時被文件、原始碼和數(shù)據(jù)結(jié)構(gòu)等來表達。
在這個過程中形成的所有的建筑和組件被分類而且被儲存在組件庫中。
系統(tǒng)常規(guī)管理和維護包括組件的疑問、劃除、修正,購買, 創(chuàng)造新的組件。
5.2.含有可以再度使用組件的數(shù)控應(yīng)用系統(tǒng)的發(fā)展
應(yīng)用上述的 CNC 系統(tǒng)整合的發(fā)展平臺去發(fā)展一個 CNC 應(yīng)用系統(tǒng)的過程能被區(qū)分為二個階段:
第一個階段是框架產(chǎn)生,也就是說,依照新的系統(tǒng)的要求最適當(dāng)?shù)南到y(tǒng)構(gòu)件被選擇和被組件庫支持的系統(tǒng)構(gòu)件選擇,而且數(shù)據(jù)通訊組件被吸取。如果需要,構(gòu)件和對應(yīng)的數(shù)據(jù)通信組件必須被修正。過程可見如下所示:
NC域分析
2
3
1
組件提取
新系統(tǒng)要求
構(gòu)
件
/
組
件
庫
NC域分析
新組件倉庫儲存
新構(gòu)件倉庫儲存
組件提取
構(gòu)件提取
分類,儲存
分類,儲存
儲存
用作為規(guī)格的數(shù)據(jù)通信組件的指導(dǎo)
構(gòu)件例示
起關(guān)鍵作用的數(shù)據(jù)通信
NC系統(tǒng)構(gòu)架
數(shù)據(jù)通信組件
其他組件開發(fā)
選擇系統(tǒng)構(gòu)件
通信組件的獲得
構(gòu)件適應(yīng)性修正
通信組件適應(yīng)性修正
其他組件的獲得
基于當(dāng)前管理和維持的構(gòu)件/構(gòu)架(組件質(zhì)疑、刪除、修正、購買、創(chuàng)造新的組件等等)
新組件倉庫儲存
4
其他組件適應(yīng)性修正
結(jié)合、裝配、
成形
新系統(tǒng)
1.重用組件的開發(fā)過程
2.有重用組件的應(yīng)用系統(tǒng)的開發(fā)過程
3.框架產(chǎn)生階段 4.結(jié)合裝配階段
圖4.開放式數(shù)控系統(tǒng)的結(jié)合開發(fā)平臺和工作流程
(1) 分析新的系統(tǒng)要求,獲得關(guān)鍵字且用組件庫的對應(yīng)術(shù)語更換。
(2) 根據(jù)從第一步驟獲得的期限聚集,從組件庫中搜尋和取回適當(dāng)?shù)臉?gòu)件。
(3) 如果構(gòu)件集中只有一種元素,就選擇它,而且如果有不止一種元素,每種元素必須被評估, 并能獲得最好的一個。
(4) 如果從第二步驟獲得的構(gòu)件集是無效的,新的構(gòu)件將會被產(chǎn)生,而且將加入組件庫。
(5) 依照術(shù)語集檢索, 一筆數(shù)控系統(tǒng)的數(shù)據(jù)通信組件集就能被得到。
(6) 如果數(shù)據(jù)通訊構(gòu)件集中只有一種元素,就選擇它,而且如果有不止一種元素,每種元素必須被評估, 并能獲得最好的一個。
(7) 如果從第五步驟獲得的數(shù)據(jù)通信構(gòu)件集是無效的,新的數(shù)據(jù)通信構(gòu)件將會被產(chǎn)生,而且將加入組件庫。
(8) 依照適應(yīng)性構(gòu)件和組件被修正,而且新的被修正的構(gòu)件和新的組件也將會被增加到構(gòu)件/組件庫。
第二個階段是整合和裝配。 將所獲得的通信組件的接口需求作為規(guī)格, 其他的功能組件能被檢索而且可以被從構(gòu)件/組件庫中吸取。除此之外,一些組件可能被發(fā)展或者為如此的一個應(yīng)用被購買。 在所有獲得的組件被修正后,他們被整合和裝配。最后,獲得一個新的系統(tǒng)。這個過程可以表示如下:
開始
為每個接口提供所需的數(shù)據(jù)通信組件
吸取從接口聚集中取回的術(shù)語
取回與術(shù)語聚集一致的功能組件
獲得功能成份聚集
如果那聚集是無效的
發(fā)展或者購買新組件
新的組件存入倉庫
另外
評估功能聚集
吸取唯一的功能元素
結(jié)束如果
修正挑選的組件以適應(yīng)新要求
結(jié)束
整合,集合, 配置。 然后獲得一個新的應(yīng)用系統(tǒng)
結(jié)束
從上述的運算法則中,可以發(fā)現(xiàn)CNC應(yīng)用系統(tǒng)的發(fā)展課程包括CNC組件的發(fā)展的一些工作。
5.3. CNC應(yīng)用系統(tǒng)的即時能力分析
CNC系統(tǒng)的組件之間存在嚴(yán)格時間的關(guān)系。 一些模塊一定定期地運行,當(dāng)其他的模塊一定“及時”運行的時候為其他的模塊提供數(shù)據(jù)或者接受來自其他的模塊的數(shù)據(jù)。運行序列在單一工作操作系統(tǒng)環(huán)境之下一定被預(yù)先定義,但是現(xiàn)代的CNC應(yīng)用系統(tǒng)通常是一個多工作系統(tǒng),它的即時能力被工作優(yōu)先購買和同步控制確定。
通常,一個 CNC 系統(tǒng)的組件被定義為一項工作。 舉例來說,在窗口 2000 操作系統(tǒng)下面的一個簡單的 CNC 系統(tǒng)能被分為位置控制工作、可設(shè)計的工作母機控制 (PMC) 工作、數(shù)據(jù)通信工作、插補工作、刀具補償工作、G代碼編譯工作、 使用者接口 (UI) 等等的工作。 這些工作包括兩方面:周期的工作和無周期的工作。像是位置控制和 PMC 這樣的工作通常被設(shè)計如周期的工作。另一方面,根據(jù)回應(yīng)時間的需求,工作能被分為即時的工作和非即時的工作,進一步說,即時的工作包括硬的即時和軟的即時。一項難的即時工作時常有比較高的優(yōu)先, 而且需要比較短運行時間。一件不能夠被打斷的工作能受到使用工作優(yōu)先鎖定的保護。一件非即時的工作能被即時者優(yōu)先占有。在那上述的CNC 系統(tǒng)中,位置控制、插補和 PMC工作屬于難的即時; 數(shù)據(jù)通信、刀具補償和 G代碼編譯工作屬于軟的即時; 而且 UI工作能被看作非即時的。
在開放式 CNC 系統(tǒng)的整合發(fā)展平臺中,我們了解了在MS窗口下核心物體技術(shù)工作運
行狀態(tài)的監(jiān)視功能,藉此檢測一個 CNC 系統(tǒng)是否能達成即時的需求。這個軟件叫做 “CncView”. 上述 CNC 系統(tǒng)的結(jié)果如圖5所示。工作從上到下根據(jù)優(yōu)先權(quán)排列,其'' 空轉(zhuǎn)'' 表示 CNC 系統(tǒng)的所有工作沒有運行,和圖像同步的時間是毫秒。一項在運行狀態(tài)下的工作用純粹的水平線表示,優(yōu)先鎖定的工作周期用一條正方形的線表示,一件懸而未決的工作用跨線表示,而三角形標(biāo)記表示工作給予了信號。數(shù)控系統(tǒng)使用一個附加的硬件定時器引起難的即時工作。
空轉(zhuǎn)
編譯
通信
刀具補償
插補
PLC
狀態(tài)控制
圖5. 使用 CncView 軟件檢測 CNC 系統(tǒng)的即時能力
UI
6. 結(jié)束語
隨著數(shù)控技術(shù)朝著開放性不斷發(fā)展和組件技術(shù)的成熟,兩者的結(jié)合成為當(dāng)今數(shù)控系統(tǒng)發(fā)展的趨勢。組件重用技術(shù)大大減少了開發(fā)人員的工作量,使得數(shù)控系統(tǒng)的開發(fā)周期縮短,效率提高,穩(wěn)定性增強。
應(yīng)用領(lǐng)域工程方法分析 CNC 系統(tǒng),本文首先提出數(shù)據(jù)通信是連接整個數(shù)控系統(tǒng)得關(guān)鍵,隨后吸取來自數(shù)據(jù)通信的開放式數(shù)控系統(tǒng)的構(gòu)件,最后例示對數(shù)據(jù)通信組件的構(gòu)件。此外組件正在分類;表達、儲藏和檢索被深深地分析?;谶@個基礎(chǔ)上,開發(fā)出開放式數(shù)控系統(tǒng)的整合發(fā)展平臺。了解了諸如產(chǎn)生且維持組件目錄的信息,質(zhì)疑情況的建筑等一些視覺功能。有刻面分類模態(tài)、相配的簽字的檢索,組件提取, 即時的能力監(jiā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.
[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.
19
收藏