王 興,吳明明,張 芹,王建國
(安徽三聯(lián)學(xué)院 機(jī)械工程學(xué)院,安徽 合肥 230601)
基于VB的數(shù)控插補(bǔ)軌跡仿真教學(xué)軟件設(shè)計(jì)
王 興,吳明明,張 芹,王建國
(安徽三聯(lián)學(xué)院 機(jī)械工程學(xué)院,安徽 合肥 230601)
文章重要剖析了逐點(diǎn)比較法和數(shù)字積分法在直線和圓弧中插補(bǔ)軌跡運(yùn)算。根據(jù)插補(bǔ)原理,給出流程圖,編輯插補(bǔ)軟件,設(shè)計(jì)插補(bǔ)程序代碼,最后生成插補(bǔ)仿真結(jié)果。通過靈活運(yùn)用VB可視化、交互式的軟件設(shè)計(jì)優(yōu)勢(shì),制做出形象的插補(bǔ)軟件,提高了高校授課質(zhì)量和效率,具有操作方便和成本低廉等優(yōu)點(diǎn)。
數(shù)控;插補(bǔ)原理;軟件仿真
文章通過闡述數(shù)控插補(bǔ)原理,探究如何運(yùn)用VB程序編寫數(shù)控插補(bǔ)軌跡仿真軟件。主要研究內(nèi)容有數(shù)控插補(bǔ)原理,逐點(diǎn)比較法四象限直線插補(bǔ)、順逆圓弧插補(bǔ)和數(shù)字積分器法四象限直線插補(bǔ)、順逆圓弧插補(bǔ)軌跡仿真。利用VB設(shè)計(jì)數(shù)控插補(bǔ)動(dòng)態(tài)模擬仿真軟件,制作成可視化交互式人機(jī)界面,對(duì)不同數(shù)據(jù)的輸入進(jìn)行插補(bǔ)方法選擇、象限區(qū)域判斷、插補(bǔ)進(jìn)給方向和改善插補(bǔ)算法的多種選擇,通過動(dòng)態(tài)模擬仿真的形式將軟件運(yùn)行的結(jié)果展現(xiàn)在用戶面前。通過軟件操作,增強(qiáng)學(xué)生對(duì)《數(shù)控技術(shù)》插補(bǔ)知識(shí)的運(yùn)用,有效培養(yǎng)學(xué)生對(duì)技術(shù)實(shí)驗(yàn)的興趣。所設(shè)計(jì)的插補(bǔ)軌跡仿真軟件還擁有容易操縱和價(jià)格低廉等優(yōu)勢(shì)。
插補(bǔ)是指已知曲線上的某些數(shù)據(jù),按照某種運(yùn)算方法在直線和圓弧的起點(diǎn)和終點(diǎn)之間各按其自身規(guī)律進(jìn)行數(shù)據(jù)的密化。在數(shù)控插補(bǔ)系統(tǒng)中,插補(bǔ)過程是根據(jù)曲線段已知的幾何數(shù)據(jù)以及相應(yīng)工藝數(shù)據(jù)中的速度信息,計(jì)算出曲線起、終點(diǎn)之間的一系列中間點(diǎn),分別向各個(gè)坐標(biāo)軸發(fā)出方向、大小和速度都確定的運(yùn)動(dòng)序列命令,通過各個(gè)軸運(yùn)動(dòng)的合成,產(chǎn)生數(shù)控加工程序要求的工件輪廓的刀具運(yùn)動(dòng)軌跡。數(shù)控插補(bǔ)分為數(shù)字脈沖增量法與數(shù)據(jù)采樣法兩種,文章論述了數(shù)字脈沖增量中的逐點(diǎn)比較與數(shù)字積分器法兩個(gè)子插補(bǔ)方法。
2.1 逐點(diǎn)比較法插補(bǔ)原理
逐點(diǎn)比較法插補(bǔ)運(yùn)算通常運(yùn)用以下四個(gè)循環(huán)步驟進(jìn)行,如圖1所示。①偏差判別。按照刀具開始的位置,來決定刀具按給定軌跡的走步方向。②坐標(biāo)進(jìn)給。按照偏差判別結(jié)果,使接下來刀具的每一步走向靠被加工軌跡進(jìn)行逼近,即向減少誤差方向進(jìn)行移動(dòng)。③偏差計(jì)算。計(jì)算刀具當(dāng)前移動(dòng)到的軌跡點(diǎn)與指定路線點(diǎn)的差值比較,為接下來判斷提供根據(jù)。④終點(diǎn)判別。判別刀具運(yùn)動(dòng)軌跡是不是已經(jīng)抵達(dá)終點(diǎn),一經(jīng)抵達(dá)終點(diǎn),則立即停止軌跡運(yùn)動(dòng);否則重復(fù)以上4個(gè)過程。
(1)逐點(diǎn)比較法直線插補(bǔ)。運(yùn)用逐點(diǎn)比較法插補(bǔ)原理來完成直線插補(bǔ),首先要明確直線的起點(diǎn)與終點(diǎn)坐標(biāo)值,其次判斷坐標(biāo)值所在象限區(qū)域,并以此來斷定插補(bǔ)進(jìn)給方向。也就是,加工刀具每移動(dòng)一個(gè)步長的瞬時(shí)值必須與原加工軌跡相對(duì)比,計(jì)算瞬時(shí)坐標(biāo)值在圖像中的位置,進(jìn)而確定下一步走向。如此便得到一個(gè)進(jìn)似度極高的插補(bǔ)路線,而且偏差值在允許范圍以內(nèi)。
由圖1所示,在直角坐標(biāo)系的第一象限中O(0,0)為直線OA的出發(fā)點(diǎn),A(xe,ye)為結(jié)束點(diǎn),Pi(xi,yi)為刀具動(dòng)點(diǎn)。
圖1 逐點(diǎn)比較直線插補(bǔ)
可得:
當(dāng)Fi,j≥0,刀具向+x方向進(jìn)給一個(gè)脈沖當(dāng)量,即所加工
的動(dòng)點(diǎn)從Pi(xi,yi)點(diǎn)走到一個(gè)新的動(dòng)點(diǎn),動(dòng)點(diǎn)坐標(biāo)為Pi+1,j(xi+1,yi+1),xi+1=xi+1,yi+1=yi。則新點(diǎn)的偏差函數(shù)為:
當(dāng)Fi,j<0,刀具向+y方向進(jìn)給一個(gè)脈沖當(dāng)量,即所加工的動(dòng)點(diǎn)從Pi(xi,yi)點(diǎn)走到一個(gè)新的動(dòng)點(diǎn),動(dòng)點(diǎn)坐標(biāo)為Pi+1,j(xi+1,yi+1),xi+1=xi,yi+1=yi+1。則新點(diǎn)的偏差函數(shù)為:
(2)逐點(diǎn)比較法圓弧插補(bǔ)。運(yùn)用逐點(diǎn)比較法來完成圓弧插補(bǔ),即將刀具軌跡動(dòng)點(diǎn)到圓心的距離與被加工圓弧軌跡半徑相比較,以此來將動(dòng)點(diǎn)走向靠圓弧方向靠近。如圖2所示,以X-Y坐標(biāo)系中第一象限的逆時(shí)針圓弧AE插補(bǔ)為例,起點(diǎn)坐標(biāo)為A(xo,yo),加工點(diǎn)坐標(biāo)為M(xi,yi),終點(diǎn)坐標(biāo)為E(xe,ye),且圓弧半徑為R。設(shè)偏差函數(shù)。由于插補(bǔ)過程中是邊運(yùn)行軌跡點(diǎn)邊計(jì)算偏差值,即求出Fi,j來判斷目前插補(bǔ)的運(yùn)動(dòng)方向,形成刀具軌跡進(jìn)給有所停滯。并且每一次在求Fi,j時(shí),都要作平方和減法運(yùn)算,而運(yùn)用VB語言來計(jì)算這些運(yùn)算方法還會(huì)增加計(jì)算機(jī)的運(yùn)算時(shí)間。所以實(shí)際使用時(shí)用以下的偏差計(jì)算遞推公式來進(jìn)行:
圖2 圓弧插補(bǔ)判別
當(dāng)偏差Fi,j<0,此時(shí)刀具向+Y的方向進(jìn)給一個(gè)脈沖當(dāng)量,從而形成一個(gè)新的坐標(biāo)點(diǎn)Pi,j+1,所以新點(diǎn)的偏差函數(shù)為:
當(dāng)偏差Fi,j≥0,此時(shí)刀具向-X的方向進(jìn)給一個(gè)脈沖當(dāng)量,從而形成一個(gè)新的坐標(biāo)點(diǎn)Pi-1,j,所以新點(diǎn)的偏差函數(shù)為:
2.2 數(shù)字積分法插補(bǔ)原理
數(shù)字積分法又稱數(shù)字微分分析法也叫(DDA算法)。它是運(yùn)用數(shù)字積分的要領(lǐng),計(jì)算動(dòng)點(diǎn)的移動(dòng)方向,使動(dòng)點(diǎn)沿圖像軌跡進(jìn)行插補(bǔ)運(yùn)動(dòng)。而且該插補(bǔ)運(yùn)算,特別適用于多軸坐標(biāo)聯(lián)動(dòng)插補(bǔ)控制,在平面直線和圓弧插補(bǔ)中經(jīng)常運(yùn)用,也可以在空間曲線中進(jìn)行插補(bǔ)運(yùn)算,并在輪廓控制數(shù)控系統(tǒng)中得到廣泛應(yīng)用。因此DDA方式以被廣泛的應(yīng)用。
(1)數(shù)字積分法直線插補(bǔ)。如圖3所示,加工直線OE的終點(diǎn)坐標(biāo)為A(xe,ye),起點(diǎn)坐標(biāo)為O(0,0)。
圖3 直線插補(bǔ)進(jìn)給方向
把動(dòng)點(diǎn)從起始點(diǎn)移動(dòng)到終點(diǎn)的軌跡,可看做成是每通過一個(gè)單位時(shí)間段以Δx和Δy進(jìn)行累加的過程,即:
(2)數(shù)字積分法圓弧插補(bǔ)。如圖4所示,加工一段圓弧,設(shè)半徑為R的第一象限順時(shí)針圓弧AB,圓心定在坐標(biāo)原點(diǎn)O(0,0)上。
圖4 圓弧插補(bǔ)進(jìn)給方向
設(shè)時(shí)間ΔT=1,K=1/2n,從而可以獲得第一象限順時(shí)針插補(bǔ)公式如下:
因此可知,在進(jìn)行數(shù)字積分順圓弧插補(bǔ)時(shí),不僅對(duì)坐標(biāo)xi的值進(jìn)行累加,還需對(duì)yi的值同時(shí)進(jìn)行累加,一旦有一個(gè)積分器累加有溢出,則刀具點(diǎn)向?qū)?yīng)的坐標(biāo)軸移動(dòng)一步。
3.1 圖文交互模塊的設(shè)計(jì)
(1)動(dòng)態(tài)模擬仿真坐標(biāo)系的設(shè)計(jì)。如圖5所示首先在窗體指定位置建立一個(gè)圖片框,根據(jù)圖片框的屬性,進(jìn)行圖片框內(nèi)網(wǎng)絡(luò)格的設(shè)計(jì),由于坐標(biāo)參數(shù)輸入的大小不同,網(wǎng)絡(luò)格的格數(shù)也因此改變,在x、y坐標(biāo)軸不大于50的情況下坐標(biāo)單位為1,超過50時(shí),由于屏幕大小限制,坐標(biāo)格數(shù)單位為5。直線和圓弧插補(bǔ)軌跡在圖片框的網(wǎng)絡(luò)格中以動(dòng)態(tài)模擬仿真形式展現(xiàn)在學(xué)生面前。
圖5 動(dòng)態(tài)模擬仿真坐標(biāo)系
(2)手工參數(shù)的輸入。如圖6所示首先通過設(shè)計(jì)一個(gè)下拉式的列表框,用于選擇兩種不同的插補(bǔ)算法,即逐點(diǎn)比較法和數(shù)字積分法。再設(shè)計(jì)兩個(gè)單選按鈕用于曲線類型的判斷,不同的單選按鈕對(duì)應(yīng)著直線和圓弧插補(bǔ)相關(guān)參數(shù)的輸入。對(duì)于逐點(diǎn)比較和數(shù)字積分法插補(bǔ)坐標(biāo)參數(shù)的輸入,它們都有直線不同象限的終點(diǎn)坐標(biāo)值A(chǔ)(xe,ye)輸入文本框,和圓弧的起點(diǎn)坐標(biāo)值A(chǔ)(xO,yO)、終點(diǎn)坐標(biāo)值B(xe,ye)輸入文本框。但對(duì)于圓弧插補(bǔ)算法還需要設(shè)計(jì)兩個(gè)單選按鈕用于圓弧方向控制,選擇
是順圓弧還是逆圓弧方向之分。
圖6 手工參數(shù)的輸入
(3)插補(bǔ)類型判斷:無論逐點(diǎn)比較法插補(bǔ)還是數(shù)字積分法插補(bǔ)對(duì)于直線和圓弧軌跡來說,不同象限的插補(bǔ)對(duì)象存在不同的插補(bǔ)計(jì)算方法。直線插補(bǔ)有4種不同的情況,即:第一、二、三、四象限4種不同直線插補(bǔ)。而圓弧插補(bǔ)除了這4個(gè)象限不同情況外,每個(gè)象限還分順逆2種情況不同的插補(bǔ)類型,所以圓弧共8種不同的插補(bǔ)情況。對(duì)于每種不同的情況,都需要編輯不同的子程序模塊,程序系統(tǒng)會(huì)根據(jù)用戶參數(shù)輸入的不同會(huì)自動(dòng)選擇什么類型情況,然后直接調(diào)用其對(duì)應(yīng)子程序模塊進(jìn)行插補(bǔ)運(yùn)算。
(4)坐標(biāo)的平移:由于文章設(shè)計(jì)在插補(bǔ)系統(tǒng)計(jì)算中,直線插補(bǔ)的起點(diǎn)和圓弧插補(bǔ)的圓心都設(shè)置為了坐標(biāo)原點(diǎn)O(0,0),所以相對(duì)于坐標(biāo)平移沒有過多的要求。
(5)跨象限點(diǎn)的判斷:由于在做圓弧插補(bǔ)時(shí),有時(shí)候圓弧會(huì)跨象限進(jìn)行插補(bǔ),對(duì)于不同的象限圓弧插補(bǔ)的算法也不盡相同,所以要對(duì)圓弧插補(bǔ)的跨象限問題進(jìn)行判定,文章對(duì)跨象限點(diǎn)的判斷沒有過深入研究。
圖7 插補(bǔ)計(jì)算及其仿真
(6)插補(bǔ)計(jì)算及其仿真:如圖7所示逐點(diǎn)比較法狀態(tài)顯示和數(shù)字積分法狀態(tài)顯示,對(duì)于本次所設(shè)計(jì)的插補(bǔ)軌跡仿真系統(tǒng),除了需要完成插補(bǔ)軌跡的動(dòng)態(tài)仿真顯示外,還需要對(duì)應(yīng)完成給定的插補(bǔ)計(jì)算。讓學(xué)生不僅可以通過圖文交互的動(dòng)態(tài)仿真直觀的認(rèn)識(shí)到插補(bǔ)原理,還可以通過每走一步的狀態(tài)顯示,清楚理解插補(bǔ)原理的每一步計(jì)算方法。
3.2 程序運(yùn)行界面設(shè)計(jì)
如圖8所示為第一象限數(shù)字積分法逆時(shí)針圓弧插補(bǔ)程序界面:
圖8 第一象限數(shù)字積分法逆時(shí)針圓弧插補(bǔ)
該第一象限數(shù)字積分法逆時(shí)針圓弧插補(bǔ)程序代碼設(shè)計(jì)為
文章提出了利用計(jì)算機(jī)動(dòng)態(tài)模擬仿真插補(bǔ)運(yùn)算的方法,在充分利用VB程序語言設(shè)計(jì)簡單、直觀的基礎(chǔ)上,使數(shù)控插補(bǔ)原理更加形象化和生動(dòng)化,幫助學(xué)生深入直觀的理解插補(bǔ)原理。對(duì)于那些學(xué)習(xí)程度較高的人,該方法可以讓他們直接參與編程、界面設(shè)計(jì)和重新定義變量接口設(shè)施,也可根據(jù)自己的思路結(jié)合插補(bǔ)原理設(shè)計(jì)出自己的插補(bǔ)程序。
Design of NC Interpolation Trajectory Sim ulation Teaching Software Based on VB
WANG Xing,WU M ing-m ing,ZHANG Qin,WANG Jian-guo
(School of Mechanical Engineering in Anhui Sanlian University,Hefei,Anhui 230601,China)
This paper focuses on comparison of calculation of pointby pointmethod and digital integrationmethod in linear and circular interpolation.According to the interpolation principle,itshows flow chart,edits system interpolation software,provides interpolation code design,and finally gets interpolation simulation results.It creates image interpolation software through flexible useofsoftware design advantagesofVB visualization and interaction,which enhances the teachingquality and efficiency,with advantagesofconvenientoperation and low cost,etc.
CNC;The interpolation principle;Simulation software
TP391.9
A
2095-980X(2016)11-0054-03
2016-10-11
安徽三聯(lián)學(xué)院校級(jí)科研項(xiàng)目《基于VISUAL BASIC的插補(bǔ)原理實(shí)驗(yàn)軟件開發(fā)》(編號(hào):2012Z006);安徽三聯(lián)學(xué)院示范實(shí)驗(yàn)實(shí)訓(xùn)中心《機(jī)械工程實(shí)驗(yàn)中心》(編號(hào):15zlgc021)。
王興(1982-),男,安徽銅陵人,碩士研究生,講師,主要研究方向:機(jī)械CAD/CAM。