數(shù)控系統(tǒng)的開放性和可靠性是目前計算機數(shù)控系統(tǒng)(CNC)研究的焦點與熱點解決開放問題的措施主要集中于體系結(jié)構(gòu)的開放性研究而可靠性問題則包括硬件可靠性和軟件可靠丨性以往研究的思路更多地局限性于提高硬件的可靠性。但是,作為系統(tǒng)核心的軟件部分,其可靠性同樣值得重視,在微電子技術(shù)、大規(guī)模超大規(guī)模集成電路和大規(guī)模生產(chǎn)飛速發(fā)展的今天,硬件可靠性得到了較好的解決,軟件的可靠性則顯得更加重要因而在軟件工程研究領(lǐng)域,出現(xiàn)了軟件復(fù)用技術(shù)(又稱軟件重用技術(shù)),該技術(shù)除能較好地提高系統(tǒng)的可靠性外,在提高生產(chǎn)效率減少重復(fù)勞動、降低能耗方面也都具有非常重要的意義它通??煞譃楫a(chǎn)品復(fù)用和過程復(fù)用兩條途徑基于構(gòu)件的復(fù)用是產(chǎn)品復(fù)用的主要形式,也是當前復(fù)用研究的焦點。同時,在分布對象研究領(lǐng)域,軟件構(gòu)件技術(shù)也是一個重要內(nèi)容當前軟件構(gòu)件技術(shù)被視為實現(xiàn)成功復(fù)用的關(guān)鍵因素之一。軟件復(fù)用技術(shù)的廣泛應(yīng)用將促進軟件產(chǎn)業(yè)的變革,其重組分工,軟件構(gòu)件生產(chǎn)必將成為獨立的行業(yè)而存在將軟件復(fù)用技術(shù)應(yīng)用于數(shù)控系統(tǒng)的研究還比較少見目前國內(nèi)在該方面開展研究的還只有為數(shù)不多的幾個單位,如華中科技大學(xué)、浙江大學(xué)等>4浙江大學(xué)提出了基于軟件構(gòu)件技術(shù)的可重構(gòu)虛擬數(shù)控系統(tǒng)的思路,并開發(fā)出系統(tǒng)原型華中科技大學(xué)提出了可重用的數(shù)控軟件芯片的開發(fā)思想,并成功研制出軟件芯片這種開發(fā)思想認基金項目:浙江省自然科學(xué)基金資助項目(599026);浙江省科技計劃重點項目(001101061-為,“具有標準化接口的基本類稱為軟件芯片”
并把面向?qū)ο蟮腃NC軟件模塊化描述和實現(xiàn)分為系統(tǒng)、控制單元、基本類3個層次這種開發(fā)思想充分利用了面向?qū)ο笳Z言的一些特性,如容易表示可面向?qū)ο笤O(shè)計、可繼承和派生等,從而滿足軟件重用的要求,且使數(shù)控芯片易于擴充和修改,因此,軟件具有一定的開放性。
基于構(gòu)件技術(shù)的開發(fā)方法正在對傳統(tǒng)的軟件開發(fā)方法產(chǎn)生了革命性的影響,利用產(chǎn)品化的軟件構(gòu)件來集成系統(tǒng)軟件,可以很好地發(fā)揮面向?qū)ο笳Z言的優(yōu)勢,同時還可以彌補面向?qū)ο笳Z言的一些不足1構(gòu)件技術(shù)與開放式數(shù)控系統(tǒng)11構(gòu)件的概念構(gòu)件是一種能夠提供某種功能的自包含軟件模塊,它封裝了一定的數(shù)據(jù)和方法,并提供特定接口開發(fā)人員可利用特定接口來使用構(gòu)件,并使其與其它構(gòu)件通訊,以此構(gòu)造應(yīng)用程序構(gòu)件與類比較,一個顯著不同點是構(gòu)件封裝了相關(guān)的類,而類封裝了相關(guān)的數(shù)據(jù)和實現(xiàn)函數(shù)。
12構(gòu)件的特點構(gòu)件具有很強的封裝性構(gòu)件可以將其功能細化為許多子功能,每個子功能對應(yīng)一個對象,對象由數(shù)據(jù)描述和功能實現(xiàn)組成,構(gòu)件對外只提供一系列接口,用戶只需要了解構(gòu)件的整體功能和其接口用法即可,而不需了解構(gòu)件內(nèi)部的詳細封裝情況。
構(gòu)件獨立于編程語言構(gòu)件開發(fā)可采用可視化編程語目,如VisualC++、VisualBasic +BuilderDelphi等。而用戶使用的構(gòu)件集成系統(tǒng)所采用的語言可以和構(gòu)件開發(fā)使用的語言不同,因為構(gòu)件開發(fā)和使用只要遵循相同的接口協(xié)議,不同語言間就可以協(xié)同工作構(gòu)件可以跨網(wǎng)絡(luò)運行構(gòu)件可以部署在不同的計算機上,通過某種網(wǎng)絡(luò)協(xié)議實現(xiàn)通訊,從而構(gòu)建基于網(wǎng)絡(luò)環(huán)境的分布式應(yīng)用程序構(gòu)件升級容易只要保證構(gòu)件對外的接口不變,開發(fā)者可以單獨升級構(gòu)件功能,而不影響其它構(gòu)件和整個應(yīng)用程序的運行。用戶也可以通過繼承和派生來升級構(gòu)件的功能,從而使構(gòu)件具有很強的開放性可充分利用面向?qū)ο笳Z言的功能支持具體針對一個構(gòu)件內(nèi)部的實現(xiàn),完全可以發(fā)揮面向?qū)ο笳Z言的數(shù)據(jù)抽象、功能抽象繼承派生多態(tài)性等特性,從而使構(gòu)件本身的開發(fā)具有很強的重用性。
1.3開放式數(shù)控系統(tǒng)的概念I(lǐng)EEE關(guān)于開放式系統(tǒng)的定義是,能夠在多種平臺上運行,可以和其它系統(tǒng)互操作,并能給用戶提供一種統(tǒng)一風(fēng)格的交互方式根據(jù)這一定義,開放式數(shù)控系統(tǒng)應(yīng)具有以下基本特征:可互操作性通過提供標準化接口、通信和交互機制,使不同功能模塊能以標準的應(yīng)用程序接口運行于系統(tǒng)平臺之上,并獲得平等的相互操作能力,協(xié)調(diào)工作可移植性系統(tǒng)的功能軟件與設(shè)備無關(guān),即應(yīng)用統(tǒng)一的數(shù)據(jù)格式、交互模型、控制機理,使構(gòu)成系統(tǒng)的各功能模塊可來源于不同的開發(fā)商,并且通過一致的設(shè)備接口,使各功能模塊能運行于不同供應(yīng)商提供的硬件平臺之上檔次皆宜性CNC系統(tǒng)的功能規(guī)??梢造`活設(shè)置,方便修改,既可以增加硬件或軟件構(gòu)成功能更強的系統(tǒng),也可以裁減其功能以適應(yīng)低端應(yīng)用。
可互補性指構(gòu)成系統(tǒng)的各硬件模塊、功能軟件的選用不受單一供應(yīng)商的控制,可根據(jù)其功能可靠性及性能要求相互替換,而不影響系統(tǒng)整體的協(xié)調(diào)運行。
將以上特征與構(gòu)件技術(shù)的特點進行比較,可以發(fā)現(xiàn)兩者有很多相似之處2基于軟件構(gòu)件的數(shù)控系統(tǒng)開發(fā)2.1數(shù)控軟件構(gòu)件的定義基于構(gòu)件技術(shù)的數(shù)控軟件構(gòu)件是指能夠完成數(shù)控系統(tǒng)某個模塊功能的ActiveX部偉它提供對象時遵循COM協(xié)議,外部具有統(tǒng)一、開放的接口,內(nèi)部封裝了功能實現(xiàn)的細節(jié)通過ActiveX技術(shù),程序員或用戶能夠把這些可復(fù)用的軟件部件組裝到應(yīng)用程序或者服務(wù)程序中。
22數(shù)控軟件構(gòu)件的描述通過可以較清楚地理解數(shù)控軟件構(gòu)件的概念與功能數(shù)控軟件構(gòu)件可以理解為是多個軟件芯片集成后的功能強大的構(gòu)件(類似于硬件組件),與只具備單一功能的芯片相比,其功能更具多樣化、功能更強大但如同硬件芯片一樣,同樣也具有地址引腳輸入媛出接口、信息反饋狀態(tài)設(shè)置和控制、狀態(tài)獲取以及觸發(fā)開關(guān)等基本接口,而其內(nèi)部則封裝了具體細節(jié),對于用戶來說是一個黑箱,用戶只需通過接口來使用它。地址引腳對應(yīng)于軟件構(gòu)件在計算機中的**標識,輸入媛出接口對應(yīng)于輸入媛出方法函數(shù)。如果將輸入方法函數(shù)的返回值設(shè)定為整型、或布爾型變量,就可以作為輸入方法函數(shù)的信息反饋黑箱封裝的是描述對象的一些抽象類,每個類有一組相關(guān)的抽象數(shù)據(jù)和問題實現(xiàn)組成,不同的類之間可以通訊,從而可以完成一個復(fù)雜的模塊功能用戶通過接口方法屬性函數(shù)和消息獲得軟件構(gòu)件提供的功能,而且可以跨網(wǎng)絡(luò)運行,不受某一開發(fā)語言的限制,具有很好的移植性。
為了規(guī)范數(shù)控軟件構(gòu)件的開發(fā),結(jié)合微軟的MIDL語言及BNF巴科斯范式可將數(shù)控軟件構(gòu)件描述如下:別〉,〈關(guān)聯(lián)性〉,〈功能描述〉,(存放路徑),〈研制情況〉,〈構(gòu)件接口〉,〈內(nèi)部封裝〉,〈運行環(huán)境〉,(相關(guān)算法),(可擴充信息));(描述文檔));〈研制情況〉:=((研制單位),(研制者),(開發(fā)工具),(版本號),(開發(fā)時間));〈屬性〉,〈消息〉);這些描述可分為主要信息描述和輔助信息描述其中構(gòu)件名、關(guān)聯(lián)性、功能描述及接口為主要信息描述,而其余為輔助信息描述2.3數(shù)控軟件構(gòu)件重用性分析基于上述規(guī)范化的數(shù)控軟件構(gòu)件描述,可對一個存入數(shù)控軟件構(gòu)件庫的構(gòu)件進行重用性分析。具體方法是,按照描述建立數(shù)據(jù)庫表,每一個數(shù)控軟件構(gòu)件在研制成功后,填寫此表,將表(可按照關(guān)鍵字、多面分類、超文本組織等方法加以構(gòu)建)的信息注冊到數(shù)控構(gòu)件庫管理系統(tǒng)中。以后需使用時,可依靠軟件庫管理系統(tǒng)完備的搜索功能(如關(guān)鍵字檢索多面檢索、超文本檢索等)對庫存的構(gòu)件進行訪問通過查找主要描述信息得出相關(guān)匹配或相似統(tǒng)計結(jié)果,如果統(tǒng)計結(jié)果表明完全匹配或功能相似,則可進一步查找其他輔助描述信息,同樣得到相關(guān)匹配或相似統(tǒng)計結(jié)果結(jié)合統(tǒng)計結(jié)果,便可確定構(gòu)件的重用性。
2.4數(shù)控軟件構(gòu)件的開發(fā)原則通過多個接口實現(xiàn)多態(tài)性,提供增量式或漸進式開發(fā)的方法,在發(fā)生改動時不必重新編譯系統(tǒng)中的所有構(gòu)件。由密切相關(guān)的函數(shù)組成的接口方式定義功能,就可只實現(xiàn)構(gòu)件所需的功能,需要時再通過附加的接口來擴展其它功能構(gòu)件的新版本在添加新接口或增強接口時,可以繼續(xù)提供原有的接口,簡化了保持兼容的問題如果必要,客戶端應(yīng)用程序的后續(xù)版本就可以使用它可以通過多個構(gòu)件集成一個更強大的構(gòu)件,但是為了保證性能穩(wěn)定性、運行安全性可重用性以及降低單個構(gòu)件測試的復(fù)雜度,應(yīng)該減少構(gòu)件之間的相互依賴接口定義應(yīng)該規(guī)范、統(tǒng)一、簡單,要減少接口函數(shù)的個數(shù)和傳遞參數(shù)的個數(shù)。
內(nèi)部封裝要充分利用面向?qū)ο笳Z言的優(yōu)點,對于已驗證的基本類可進行代碼重用,從而加快開發(fā)進程內(nèi)部封裝的基本類要求具有完整的功能和獨立性為了方便調(diào)試,對內(nèi)部封裝的類*好經(jīng)測試合格,再添加到構(gòu)件中;為了保證構(gòu)件在不同語言環(huán)境中運行的可靠性,應(yīng)盡量在不同的語言環(huán)境中進行測試25基于構(gòu)件技術(shù)的軟件型數(shù)控系統(tǒng)開發(fā)流程采用構(gòu)件技術(shù)開發(fā)數(shù)控系統(tǒng)時,軟件分為系統(tǒng)、軟件構(gòu)件、膠水代碼3個層次。系統(tǒng)是滿足某一類機床數(shù)控加工要求的數(shù)控應(yīng)用程序軟件構(gòu)件如上面所定義,它內(nèi)部有許多基本類組成,每一基本類完成某一項功能膠水代碼即連接多個數(shù)控構(gòu)件的程序或模塊,甚至是幾行代碼,而且程序設(shè)計語言可以是支持COM協(xié)議的任何一種。針對構(gòu)件技術(shù)的特點和上述軟件層次的劃分,可將軟件型數(shù)控系統(tǒng)的開發(fā)流程(見)針對用戶需求,并在遵循數(shù)控系統(tǒng)一般性要求和考慮其它技術(shù)要求或限制的基礎(chǔ)上,提出數(shù)控系統(tǒng)解決方案如在系統(tǒng)分析的基礎(chǔ)上,確定有那些功能模塊,分析這些模塊的通用性及針對具體數(shù)控系統(tǒng)要求而具有的特殊性,然后確定需要那些數(shù)控軟構(gòu)件,并列寫構(gòu)件清單,清單要反映各構(gòu)件之間的關(guān)聯(lián)性數(shù)據(jù)流向、消息環(huán)實時性、協(xié)同性等網(wǎng)狀聯(lián)系。
訪問數(shù)控軟件構(gòu)件庫,查找是否有類似構(gòu)件,如果有類似的構(gòu)件庫存,則通過上述的重用性分析方法加以分析。對于可完全重用的構(gòu)件可不再開發(fā),而重用性差的構(gòu)件可以考慮重新開發(fā)大多數(shù)構(gòu)件具有較強的重用性,只需要進行升級或少許的修改。
件的開發(fā)或修改。對于一個全新數(shù)控軟件構(gòu)件的研制的步驟見至于構(gòu)件的修改則依據(jù)通用性分析結(jié)果進行相應(yīng)的操作單,將所需構(gòu)件采用一些“膠水代碼”進行無縫集成,從而組裝成一個完整的數(shù)控系統(tǒng)但這種連接不可能一蹴而就,較安全的集成方法是先局部組裝,再系統(tǒng)集成(5)系統(tǒng)集成后要試運行,并將運行的反饋結(jié)果同技術(shù)要求進行比較,得出系統(tǒng)評價如果未達到預(yù)定要求,則返回系統(tǒng)分析步驟以分析不足之處,并進行修改,直到滿足技術(shù)要求為止從用戶的角度來看,數(shù)控系統(tǒng)的構(gòu)建過程較以往有很大的不同。以往只能從數(shù)控系統(tǒng)開發(fā)商購買整套數(shù)控系統(tǒng),由于受數(shù)控系統(tǒng)硬件和軟件的限制,數(shù)控系統(tǒng)的升級困難,并且同其它CADCAM軟件的集成也出現(xiàn)問題現(xiàn)在,用戶完全可以集成出符合自己要求的數(shù)控系統(tǒng)/獲得編譯結(jié)果信息輸出方法函數(shù)雖然較多,但接口統(tǒng)一、規(guī)范,方便與下接構(gòu)件相連屬性設(shè)置首先提出自己的技術(shù)要求,然后進行系統(tǒng)分析,列出所要求的數(shù)控軟件構(gòu)件,并同構(gòu)件開發(fā)商進行溝通,需求信息可以反饋到開發(fā)商,有助于開發(fā)商開發(fā)出符合市場要求的數(shù)控軟件構(gòu)件,而用戶也知道有那些數(shù)控軟構(gòu)件可以購買。如果用戶想對一些構(gòu)件進行自主開發(fā),則可以遵循同開放商一樣的開發(fā)流程然后,用戶可將自主開發(fā)的和購買的構(gòu)件采用類似的組裝方法加以組裝,并進行系統(tǒng)評價等其它操作(見)由上述過程可I構(gòu)件開發(fā)I~丨系統(tǒng)評價丨購買數(shù)控構(gòu)件開發(fā)商晷用戶開發(fā)基于軟件構(gòu)件的數(shù)控系統(tǒng)流程知,基于構(gòu)件技術(shù)的軟件型數(shù)控系統(tǒng)具有較好的開放性。
以數(shù)控編譯構(gòu)件的開發(fā)為實1例輸入方法函數(shù)輸出方法函數(shù)/放大比例系數(shù)BooleanmLineTail;/代碼結(jié)束方式內(nèi)部封裝/存放所有行數(shù)控代碼GValue;/存放所有行的G代碼/存放編譯結(jié)果信息CStringArraymMValue;//存放所有行的M代碼/傲控程序代碼行數(shù)BOOLmCompileSuccess;/只要有一處錯誤則為//呆存各行上述的數(shù)控編譯構(gòu)件設(shè)計、調(diào)試完成后,按照數(shù)控軟構(gòu)件的描述規(guī)范,將其加以描述,同時把相關(guān)信息添加到數(shù)控軟構(gòu)件庫中,以備訪問和重用性分析786.基于神經(jīng)網(wǎng)絡(luò)的冗余度機器人動態(tài)*優(yōu)化控制一一馬光蔡鶴皋文章編號:1004-13X(2001)07-0787-03基于神經(jīng)網(wǎng)絡(luò)的冗余度機器人動態(tài)*優(yōu)化控制馬光蔡鶴皋有一定的局限性,研究中采用了全局優(yōu)化方法?;谌謨?yōu)化的思想,提出了一種冗余度機器人的動態(tài)優(yōu)化控制算法。由于控制算法在數(shù)值求解時的困難性,在算法中應(yīng)用了神經(jīng)網(wǎng)絡(luò),用其來逼近復(fù)雜的非線性函數(shù),使問題求解得以簡化通過仿真驗證,此控制算法能夠獲得良好的動態(tài)性能,運算速度快,具有工程應(yīng)用的可行i性冗余度機器人的運動控制一直是研究的熱點問題對于機器人控制系統(tǒng),*優(yōu)控制問題則絕大多數(shù)為*優(yōu)路徑規(guī)劃問題(OPPP)冗余度機器人的優(yōu)化有局部優(yōu)化和全局優(yōu)化兩種,從完整的軌跡跟蹤來看,局部優(yōu)化的方案在全局上并非一定*優(yōu),有的引起一系列嚴重的問題甚至導(dǎo)致后續(xù)優(yōu)化失敗因此,對全局優(yōu)化進行研究就具有重要意義,特別是在重復(fù)性工作的場合更具實際意義在全局優(yōu)化的方法中,多數(shù)是基于關(guān)節(jié)角及關(guān)節(jié)角速度為狀態(tài)變量的控制方程,求優(yōu)化控制序列使積分型性能指標達到極值由于狀態(tài)和協(xié)狀態(tài)向量是*優(yōu)解中的一對孿生的連體向量,因此,兩點邊界值問題(TPBVP)在數(shù)值求解中具有相當?shù)睦щyOika提出初值調(diào)節(jié)法,需對n基金項目:國家863高技術(shù)研究發(fā)展計劃資助項目(863-51220-07)