數(shù)控技術(shù)無疑是現(xiàn)代先進制造技術(shù)中最重要的技術(shù)基礎(chǔ),從某種意義上說,數(shù)控技術(shù)的水平已成為衡量一個國家制造業(yè)水平的重要標志之一。出于技術(shù)壟斷及獨占市場等原因,各個廠家生產(chǎn)的數(shù)控系統(tǒng)在體系結(jié)構(gòu)上大多是封閉的,不能進行高可*性的軟件擴展。近年來,國內(nèi)外眾多的數(shù)控軟件開發(fā)者都在重復(fù)研究、開發(fā)相同或相似的數(shù)控系統(tǒng),反復(fù)設(shè)計若干基本模塊,造成了人力、物力和財力的巨大浪費,而且由于缺乏統(tǒng)一的標準,不同的數(shù)控軟件開發(fā)者開發(fā)的軟件不能互相替換,缺乏兼容性,阻礙了數(shù)控軟件的升級換代,同時也阻礙了數(shù)控機床生產(chǎn)者對市場和用戶的快速響應(yīng)能力。 通過對數(shù)控系統(tǒng)軟件體系結(jié)構(gòu)的分析,我們設(shè)想如果把數(shù)控系統(tǒng)軟件中相同或類似的部分做成類似于硬件電子芯片的軟件芯片(Software IC,SIC)[1,2],每一個軟件芯片具有高度的功能獨立性、易移植性、易組裝性及易擴充性。這樣,當我們建立新的數(shù)控系統(tǒng)時,只需從芯片庫中取出所需的芯片進行組合即可,必要時加以擴充,使數(shù)控系統(tǒng)能夠重用,而不必從頭開發(fā)整個軟件系統(tǒng)。這樣就能改變目前數(shù)控系統(tǒng)的封閉型設(shè)計,為適應(yīng)未來車間面向任務(wù)和訂單的生產(chǎn)組織模式奠定良好的基礎(chǔ),使底層生產(chǎn)控制系統(tǒng)的集成更為簡便和有效,從而大大提高數(shù)控軟件的生產(chǎn)力和可*性,減少生產(chǎn)成本及開發(fā)周期。這是增強數(shù)控系統(tǒng)對市場的快速響應(yīng)能力,促進數(shù)控產(chǎn)業(yè)快速、高效發(fā)展的必然之路。
1 數(shù)控系統(tǒng)軟件芯片的劃分
合理的芯片劃分,是開發(fā)軟件芯片的首要步驟。數(shù)控系統(tǒng)軟件芯片庫中的各芯片以界面的方式開放,通過接口參數(shù)和界面信息的提示,用戶可掌握芯片的啟動、結(jié)束和運作。不同芯片的內(nèi)部為黑箱封裝,外部接口開放,并在此基礎(chǔ)上實現(xiàn)新系統(tǒng)的構(gòu)建。因此,如何定義出合理的數(shù)控系統(tǒng)軟件芯片,使芯片的外部接口易于標準化、規(guī)范化,內(nèi)部易于進行黑箱封裝,是我們開發(fā)數(shù)控系統(tǒng)軟件芯片庫的關(guān)鍵步驟。
目前,盡管數(shù)控系統(tǒng)從系統(tǒng)的設(shè)計方法到系統(tǒng)的實現(xiàn)方式千差萬別,但是其基本原理和軟件的組成都是類似的。在對現(xiàn)有的數(shù)控系統(tǒng)[3]和用戶需求進行仔細而全面分析的基礎(chǔ)上,同時,在總結(jié)現(xiàn)有系統(tǒng)控制結(jié)構(gòu)的共有特征,并對其進行適當?shù)臍w類和抽象的基礎(chǔ)上,將數(shù)控系統(tǒng)劃分為以下幾個基本的功能模塊。
(1)人機交互界面模塊 此模塊主要完成在系統(tǒng)運行前和運行中系統(tǒng)參數(shù)的修改和設(shè)定,如設(shè)定系統(tǒng)工作模式(自動、手動、點動等),圖形顯示模式,系統(tǒng)初始化設(shè)定,坐標偏置設(shè)定,G代碼程序的編輯等。 (2)零件代碼解釋模塊 負責根據(jù)用戶的系統(tǒng)配置,以及零件程序的語法規(guī)則對用戶編寫的零件程序進行語法檢查,并進行解釋譯碼,將源代碼指令中給出的各種信息進行分離提取,變成各種狀態(tài)和數(shù)據(jù),為預(yù)處理芯片提供語法上正確的零件程序的中間代碼。 (3)刀補預(yù)處理模塊 負責對解釋后的數(shù)據(jù)進行預(yù)處理及插補前的準備工作。 (4)軌跡插補模塊 負責加減速的控制、插補、終點判別等工作,向位置控制器輸出通過軌跡運算后的進給量。 (5)軸伺服控制模塊 在從I/O及插補運算得到的信息的幫助下,通過精插補控制機床執(zhí)行機構(gòu)按NC指令指定的路徑和速度運動。 (6)I/O模塊 負責控制器的輸入和輸出(包括機床檢測信號及位置和相關(guān)反饋信息的輸入、控制指令的輸出等)。 以上這幾個模塊間具有互操作性、可移植性和可擴展性,因而可作為數(shù)控軟件芯片庫的基本芯片的劃分。
2 數(shù)控系統(tǒng)軟件芯片的構(gòu)建及工作原理 軟件芯片概念的提出是軟件重用發(fā)展過程中的里程碑。開發(fā)軟件芯片就是采用面向?qū)ο蠹夹g(shù)把特定類中的一些通用模塊做成獨立的可重用的對象類。由于面向?qū)ο缶哂蟹庋b、分類、消息響應(yīng)和繼承等很有價值的特點,使得軟件芯片和系統(tǒng)其它部分的耦合度得到盡可能的降低,這為軟件芯片的開發(fā)和使用提供了可*保證。同時,由于芯片都是對較成熟的技術(shù)進行封裝而實現(xiàn)的,在實踐上是經(jīng)過了驗證的,也就是說一個成熟的芯片已經(jīng)將錯誤率降到了最低點,所以可以利用數(shù)控軟件芯片來構(gòu)造新的數(shù)控系統(tǒng)能最大程度地保證系統(tǒng)的可*性。 軟件芯片的構(gòu)建就是將功能模塊的本體部分進行黑箱封裝,使之輸入接口和輸出接口盡量簡單、規(guī)范。由于C++語言的面向?qū)ο筇匦院头庋b性較好[4],所以在本系統(tǒng)中將VC作為編程環(huán)境來 |