王琨琦 劉穎 陳世杰 林錦超
【摘 要】全軟件數(shù)控系統(tǒng)是一種新型的數(shù)控機床控制系統(tǒng)。該方法充分利用PC機的資源,采用軟件進行數(shù)控插補,靈活性更強,是數(shù)控系統(tǒng)的發(fā)展方向。在文中,采用軟件插補代替?zhèn)鹘y(tǒng)的硬件插補,使得系統(tǒng)更具開放性;采用修改系統(tǒng)時鐘端口的時鐘初值改變時鐘周期,作為插補的時鐘周期,滿足了插補的實時性要求;采用前后臺的工作模式,將實時性任務與非實時性任務分開執(zhí)行,以降低實時性任務的時鐘周期,提高系統(tǒng)實時性。
【關鍵詞】全軟件數(shù)控系統(tǒng);實時控制;系統(tǒng)時鐘
0 背景
數(shù)控技術的問世已有40多年的歷史,它由機械學、控制論、電子學、計算機科學四大基礎學科發(fā)展起來的一門綜合性的新型學科,是一門發(fā)展十分迅速的高新技術,對機電工業(yè)及國民經(jīng)濟的發(fā)展具有十分重要的作用[1]。
西安交通大學提出了一種前瞻式自適應速度優(yōu)化算法[2],避免了傳統(tǒng)控制方法的頻繁啟停,提高了加工效率。南京航空航天大學采用可編程邏輯器件FPGA實現(xiàn)高速精插補器,充分發(fā)揮了FPGA速度快、設計靈活、集成度高、性能可靠、開發(fā)成本低等一系列優(yōu)點[3]。西南交通大學運用硬件上的時鐘電路和軟件上的設備驅動程序實現(xiàn)了實時控制,并采用事件同步機制解決了中斷問題[4]。中科大研究了基于PC和運動控制器的開放式數(shù)控系統(tǒng),采用了粗插補和精插補兩種插值算法,提高了數(shù)控系統(tǒng)的功能[5]。燕山大學在分析Windows實時性能的基礎上,針對其弱實時性,引入了強實時擴展RTX[6],可以在1ms的插補周期內(nèi)完成數(shù)控系統(tǒng)的實時控制功能。
目前,國際上與開放式數(shù)控研究相關的報導不少,最有代表性的仍是美國的NGC和OMAC計劃、歐盟的OSACA計劃以及日本的OSEC計劃,這三個計劃的發(fā)展基本上反映了國外開放性數(shù)控的發(fā)展現(xiàn)狀。
本文主要對全軟件數(shù)控系統(tǒng)的整體方案、插補過程和外部中斷的設計,用軟件插補代替硬件插補,實現(xiàn)硬件功能軟件化,提高數(shù)控系統(tǒng)的開放性和靈活性。
1 全軟件數(shù)控系統(tǒng)整體方案設計
本文主要研究如何提高全軟件數(shù)控系統(tǒng)的實時性和加減速控制的精度。針對以上問題,主要從兩個方進行考慮,即操作系統(tǒng)和插補及速度控制算法的選擇。
1.1 操作系統(tǒng)的選擇
所謂實時性系統(tǒng),就是系統(tǒng)能夠及時的響應外界發(fā)來的信號,并在嚴格的時間內(nèi)完成對該事件的響應。實時性操作系統(tǒng)應用于工業(yè)控制、金融等領域。主要條件是:響應時間短,系統(tǒng)可靠性高。按任務類型可以分為周期性實時任務和非周期實時任務。
操作系統(tǒng)選擇DOS(Disk Operating System,磁盤操作系統(tǒng))系統(tǒng)。DOS是個人計算機上的一類操作系統(tǒng),是一個單用戶、單任務的操作系統(tǒng),采用的是字符操作,是一種面向磁盤的操作系統(tǒng)軟件。而Windows是多任務的操作系統(tǒng),采用的是非搶先的多任務調(diào)度機制,利用事件的驅動機制,實時性不能達到很高的水平,無法滿足數(shù)控加工中高定時精度響應的要求。基于以上各種原因,在實際的控制應用中,必須根據(jù)對定時精度的要求采取一些措施,來解決對實時控制的要求。對此,有以下四種方案:
方案一:利用Windows系統(tǒng)提供的常規(guī)定時器及多媒體定時器:由于系統(tǒng)時鐘周期的限制和定時信息的優(yōu)先權很低,所以,利用此方法只能處理一些對定時精度、實時控制要求不高的情況。
方案二:利用系統(tǒng)的定時時鐘:通過修改中斷服務程序地址的方法來獲得高精度的時鐘時序。因為涉及到系統(tǒng)工作的定時中斷源,一旦處理不當,很容易使系統(tǒng)工作不穩(wěn)定。
方案三:通過修改CMOS實時時鐘的方法來獲得高精度的定時時鐘。因為這種方法不僅可以達到預定的實時性要求,而且不需要外加任何電路,容易實現(xiàn),且工作穩(wěn)定。
方案四:引入外部定時中斷:采用這種方法有兩點好處:首先,利用外部提供的時鐘,其時鐘的頻率可以根據(jù)實際的需要提供。其次,利用外部定時中斷提供高精度的定時時鐘與利用PC機系統(tǒng)提供的定時時鐘相比較,可避免使用不當而導致的系統(tǒng)工作不穩(wěn)定。它的缺點就是,增加了電路的設計,也就引入不必要的誤差。
綜上所述,操作系統(tǒng)選擇DOS系統(tǒng),通過修改CMOS定時時鐘的方法來獲得高精度的定時時鐘。
1.2 方案確定
為了實現(xiàn)全軟件數(shù)控系統(tǒng)的高實時性、高開放性,以及編程的簡易性,選擇在DOS下,采用數(shù)據(jù)采樣插補(時間分割法)原理進行直線插補,用逐點比較法進行圓弧插補,通過修改CMOS定時時鐘的方法來獲得高精度的定時時鐘,通過使用C語言編寫直線和圓弧插補程序。
系統(tǒng)的工作分為實時性和非實時性工作。在正常情況下,系統(tǒng)執(zhí)行非實時性任務,當有中斷信號傳來時,系統(tǒng)進行中斷判斷,如果是有效中斷,就進入中斷程序,執(zhí)行相應的任務。在進入中斷程序之前,需要對中斷現(xiàn)場進行保護,即把當前的地址指針存在寄存器中,當中斷程序執(zhí)行完之后,再返回中斷現(xiàn)場,并恢復現(xiàn)場,取出寄存器中的地址指針,繼續(xù)執(zhí)行非實時性任務。集體流程如圖1所示。
2 全軟件數(shù)控系統(tǒng)插補過程設計
在數(shù)控系統(tǒng)中,零件數(shù)控程序經(jīng)過編譯,譯碼和其它的預處理以后,接下來就是插補計算和位置控制,其作為數(shù)控系統(tǒng)中的主要任務之一,而且數(shù)控系統(tǒng)對實時性的要求非常高,插補計算中算法的優(yōu)化對數(shù)控系統(tǒng)的實時性起著重要的作用,在其中的插補計算中涉及到直線和圓弧插補,那么合適的選擇插補算法是很重要的。
插補程序設計主要包括直線插補和圓弧插補,而這兩種插補需要分別進行。當系統(tǒng)初始化插補程序后,需要進行一次判斷,是進行直線插補,還是進行圓弧插補,然后再去執(zhí)行具體的插補程序。圖2是數(shù)控系統(tǒng)插補總流程圖。
圖1 系統(tǒng)工作流程圖 ? ? ? ? ? ? 圖2 插補總流程圖
直線插補采用數(shù)字積分法又稱數(shù)字微分分析器(Digital Differential Analyzer,DDA),利用了數(shù)字積分的原理,計算刀具沿坐標軸的位移,使刀具沿著所加工的軌跡運動。采用數(shù)字積分法進行插補,運行速度快、脈沖分配均勻、易于實現(xiàn)多坐標聯(lián)動或多坐標空間曲線的插補,所以在輪廓控制數(shù)控系統(tǒng)中得到廣泛的應用。并且可通過左移規(guī)格化來提高進給速度的均勻性;采用余數(shù)寄存器預置數(shù)提高插補精度。
圓弧插補采用逐點比較法的基本原理,在刀具按要求軌跡運動加工零件輪廓的過程中,不斷比較刀具與被加工零件輪廓之間的相對位置,并根據(jù)比較結果決定下一步的進給方向,使刀具向減小偏差的方向進給(始終只有一個方向)。
3 結論
通過直接修改硬件初值設置的特點,修改其系統(tǒng)中斷口的初始變量,來改變系統(tǒng)的定時時鐘,可以達到0.0125ms的時鐘周期,并且采用前后臺的工作模式,把實時性和非實時性任務分開執(zhí)行,可以滿足插補運算所需要的實時性。并且采用數(shù)據(jù)采樣插補和逐點比較法進行直線插補和圓弧插補,用軟件插補代替?zhèn)鹘y(tǒng)的硬件插補,大大改善了數(shù)控系統(tǒng)的開放性,同時提高整個數(shù)控系統(tǒng)的經(jīng)濟效益。
【參考文獻】
[1]楊逍.基于 Windows 實時擴展的全軟件數(shù)控系統(tǒng)程序結構設計[D].黑龍江:哈爾濱工業(yè)大學,2009.
[2]汪霖,曹建福.高速裝備前瞻自適應速度優(yōu)化算法[J].計算機集成制造系統(tǒng),2010,16(5):998-1005.
[3]胡細東,游有鵬,繆群華.基于USB的高速硬件精插補器設計[J].微計算機信息,2006,2(6):247-249.
[4]范克東,肖世德.Windows平臺數(shù)控系統(tǒng)的實時控制[J].機械與電子,2006(1):62-64.
[5]XU Xiaoming, LI Yi, Wang Shuogui. Research and Development of Open CNC System Based on PC and Motion Controller [J]. Procedia Engineering, 2012(29):1845-1850.
[6]王普,張蕾,都立偉.基于RTX的全軟件數(shù)控系統(tǒng)的研究[J].燕山大學學報,2007,31(6):513-516.
[責任編輯:湯靜]