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