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