三軸多功能位置卡是實(shí)現(xiàn)數(shù)控系統(tǒng)速度和位置控制的關(guān)鍵硬件,它具有如下功能:三軸可完全獨(dú)立伺服控制、三軸線性插補(bǔ)控制、二軸圓弧插補(bǔ)控制、DDA插補(bǔ)時(shí)間為2ms至2s、伺服參數(shù)更新為1ms時(shí)間、能用C和其它高級(jí)的語(yǔ)言編程、可對(duì)寄存器進(jìn)行直接操作、對(duì)計(jì)數(shù)脈沖有2、4倍頻設(shè)置選擇功能、內(nèi)置F/V轉(zhuǎn)換器、輸出電壓10V(12位D/A)以及回原點(diǎn)等數(shù)控伺服功能。每一軸都有專用位置芯片控制,構(gòu)成一個(gè)伺服位置環(huán)和一個(gè)速度環(huán)。位置卡和計(jì)算機(jī)間的通信,通過(guò)ISA數(shù)據(jù)和控制總線進(jìn)行。
為了使各軸聯(lián)動(dòng)保持同步,各軸在T1時(shí)刻同時(shí)發(fā)送位置脈沖,并且在T2時(shí)刻同時(shí)完成輸出。這段時(shí)間被定義為插補(bǔ)時(shí)間或DDA周期。DDA周期長(zhǎng)短,可以通過(guò)軟件設(shè)置。
位置卡以插補(bǔ)時(shí)間為周期連續(xù)發(fā)出中斷,請(qǐng)求CPU在緩沖區(qū)中放置下一周期輸出的脈沖數(shù)。連續(xù)的脈沖序列輸出給伺服電機(jī)驅(qū)動(dòng)器,以得到光滑的位置響應(yīng)。位置卡利用位置和速度雙閉環(huán)控制系統(tǒng),來(lái)保證各軸運(yùn)動(dòng)平穩(wěn)和定位準(zhǔn)確。它提供兩個(gè)中斷信號(hào),DDA中斷即插補(bǔ)中斷。插補(bǔ)中斷發(fā)生,表示下一中斷時(shí)間開(kāi)始。溢出中斷(OV中斷)發(fā)生,說(shuō)明位置誤差反饋計(jì)數(shù)超過(guò)閾值。位置卡發(fā)出溢出中斷報(bào)警,表示光電碼盤脈沖測(cè)量回路有問(wèn)題。
三軸多功能位置卡DDA插補(bǔ)周期3軟件設(shè)計(jì)此數(shù)控系統(tǒng),是針對(duì)各個(gè)專用設(shè)備設(shè)計(jì)的,而各個(gè)專用設(shè)備的要求又不一樣,所以該系統(tǒng)主要是為用戶提供底層軟件,而控制軟件是針對(duì)各個(gè)設(shè)備編寫的。底層軟件主要有多軸線性插補(bǔ)控制、多軸圓弧插補(bǔ)控制、DDA插補(bǔ)時(shí)間設(shè)定、各軸Gain增益等參數(shù)的設(shè)定、用Visual和其它高級(jí)語(yǔ)言編程。
該模塊主要包括了以下幾個(gè)子模塊:找原點(diǎn)模塊;狀態(tài)顯示模塊;參數(shù)設(shè)定、修正模塊;指令解釋執(zhí)行模塊,指令編輯模塊以及任務(wù)文件編輯模塊。這些模塊的相互獨(dú)立性較強(qiáng),在程序的實(shí)現(xiàn)上,每個(gè)模塊都對(duì)應(yīng)了一個(gè)或多個(gè)C的類。
(1)找原點(diǎn)子模塊原點(diǎn)是數(shù)控機(jī)床的參考點(diǎn),原點(diǎn)定位的準(zhǔn)確與否直接影響到數(shù)控系統(tǒng)的精度,因此找原點(diǎn)是一個(gè)非常重要的過(guò)程。找原點(diǎn)程序的主要功能是,驅(qū)動(dòng)各軸回到機(jī)械零位及光電碼盤零位處。
?。?)當(dāng)前狀態(tài)子模塊數(shù)控系統(tǒng)軟件結(jié)構(gòu)關(guān)系圖當(dāng)前狀態(tài)模塊提供了數(shù)控系統(tǒng)各軸運(yùn)動(dòng)狀態(tài)信息。該模塊由一個(gè)CSTATUSWND類來(lái)實(shí)現(xiàn)和管理。CSTATUSWND是MFC類中對(duì)話框類CDIALOG的派生類。在對(duì)應(yīng)的資源窗口中,顯示運(yùn)行情況的提示信息和錯(cuò)誤信息。對(duì)狀態(tài)窗口的及時(shí)刷新,運(yùn)用了Windows95下的線程技術(shù)。在狀態(tài)刷新線程的處理函數(shù)中,系統(tǒng)一直監(jiān)視數(shù)控系統(tǒng)的運(yùn)動(dòng)狀況。
?。?)參數(shù)設(shè)定、修正子模塊該模塊由兩個(gè)模式對(duì)話框和幾個(gè)相應(yīng)的VC類組成,使用戶能夠修改各種參數(shù)。該模塊利用標(biāo)簽式屬性表類CPROPERTYSHEET實(shí)現(xiàn)了多對(duì)話框頁(yè)(多類參數(shù)集)的維護(hù)和管理。
標(biāo)簽式屬性表類是一種在Windows風(fēng)格的軟件系統(tǒng)中很常見(jiàn)的用戶接口形式,包括在WINDOW95和WindowsNT等操作系統(tǒng)中大量運(yùn)用了這一接口技術(shù)。它的表達(dá)形式清晰簡(jiǎn)潔,用戶使用非常方便,而且各標(biāo)簽屬性頁(yè)共用一塊窗體,能有效地精簡(jiǎn)和清晰化窗口界面。從繼承關(guān)系來(lái)看,屬性表類并非是從CDIALOG類派生出來(lái)的,而是窗口類CWND的直接派生類,表明了屬性表類是管理模式對(duì)話框類的概念。從組成結(jié)構(gòu)上看,一張屬性表(CPROPERTRSHEET)由一張或多張屬性頁(yè)對(duì)象(CPROPERTYPAGE)組成,主要的數(shù)據(jù)交換工作集中在屬性頁(yè)類進(jìn)行。這些屬性頁(yè)實(shí)際就是模式對(duì)話框。從使用方法上看,屬性表的創(chuàng)建和管理卻和對(duì)話框類有比較相似的地方。值得注意的是,在每一張屬性表中,系統(tǒng)都自動(dòng)設(shè)置了確定、取消、應(yīng)用和幫助四個(gè)公用按鈕,簡(jiǎn)潔明了。另外,把屬性表定制成平時(shí)經(jīng)??吹降南?qū)J?。這時(shí),它提供各頁(yè)面的瀏覽及前進(jìn)、后退順序。把一些參數(shù)分類集成到幾個(gè)相對(duì)獨(dú)立性較強(qiáng)的模式對(duì)話框類中(如速度類、加速度類等),然后用一個(gè)屬性表類來(lái)管理這些對(duì)話框類。這樣,無(wú)論在程序的結(jié)構(gòu)上,還是在界面上,都非常清晰。
?。?)指令解釋執(zhí)行子模塊該子模塊是系統(tǒng)的關(guān)鍵部分之一。主要功能是解釋執(zhí)行數(shù)控指令的加工零件文件。在文件執(zhí)行的過(guò)程中,用戶可以隨時(shí)停止、中斷和繼續(xù)指令的運(yùn)行。該子模塊再次運(yùn)用了Windows95的線程技術(shù),程序開(kāi)設(shè)了兩道線程輔之以多種事件
結(jié)束采用工控機(jī)為機(jī)器人控制器的硬件平臺(tái),以Windows95作為軟件平臺(tái)來(lái)研制數(shù)控系統(tǒng),這將是一條快捷可行的方案。通用的平臺(tái)將使數(shù)控系統(tǒng)具有多用途,結(jié)構(gòu)緊湊,通用性和擴(kuò)展性強(qiáng)的特點(diǎn)。