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