李慧玲 羅敏
【摘要】對(duì)傳統(tǒng)數(shù)控插補(bǔ)原理教學(xué)過程中以課堂講授為主結(jié)合VC、VB等編程語言完成插補(bǔ)過程仿真的教學(xué)方法進(jìn)行改革,創(chuàng)新性地采取讓學(xué)生親自動(dòng)手在實(shí)際的FANUC-0i-mate-C數(shù)控加工中心綜合實(shí)驗(yàn)臺(tái)上,采用調(diào)用用戶宏程序的方法,用畫筆在平鋪于工作臺(tái)面上的白紙上模擬繪制逐點(diǎn)比較法插補(bǔ)或數(shù)字積分法插補(bǔ)的過程的教學(xué)方式,使插補(bǔ)原理及宏程序編程兩部分重要理論密切聯(lián)系,并與實(shí)踐緊密結(jié)合。
【關(guān)鍵詞】插補(bǔ)原理 ?數(shù)控 ?宏程序
【中圖分類號(hào)】G71 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 【文獻(xiàn)標(biāo)識(shí)碼】A ? ? ?【文章編號(hào)】2095-3089(2015)05-0037-03
一、引言
傳統(tǒng)數(shù)控插補(bǔ)原理教學(xué),大多以課堂講授為主,結(jié)合VC、VB等各種編程語言完成插補(bǔ)過程的仿真。這種教學(xué)方法不能將理論知識(shí)與現(xiàn)有實(shí)驗(yàn)教學(xué)設(shè)備有機(jī)結(jié)合,學(xué)生普遍反映內(nèi)容抽象,理解困難,與實(shí)踐脫節(jié)。
為了改革傳統(tǒng)數(shù)控插補(bǔ)原理教學(xué)過程中教師灌輸過多,學(xué)生參與過少;理論性結(jié)論過多,啟發(fā)式問題過少的教學(xué)方式,有針對(duì)性地創(chuàng)新教學(xué)方法:要求學(xué)生在實(shí)際的FANUC-0i-mate-C數(shù)控加工中心綜合實(shí)驗(yàn)臺(tái)上,采用調(diào)用用戶宏程序的方法,用畫筆在平鋪于工作臺(tái)面上的白紙上模擬繪制逐點(diǎn)比較法插補(bǔ)或數(shù)字積分法插補(bǔ)的過程。這樣就將一個(gè)對(duì)插補(bǔ)原理進(jìn)行仿真的演示性實(shí)驗(yàn)改造成了理論上綜合了插補(bǔ)原理及宏程序編程兩部分重要內(nèi)容,實(shí)踐上鍛煉了學(xué)生對(duì)實(shí)際數(shù)控系統(tǒng)的操作及調(diào)試能力的綜合性實(shí)驗(yàn)。
二、插補(bǔ)原理
在數(shù)控機(jī)床實(shí)際加工中,數(shù)控系統(tǒng)根據(jù)輸入的零件程序的信息,按照某種算法將程序段所描述的曲線的起點(diǎn)、終點(diǎn)之間的空間進(jìn)行數(shù)據(jù)密化,從而形成刀具加工軌跡,這種“數(shù)據(jù)密化”機(jī)能就稱為“插補(bǔ)”。按照插補(bǔ)運(yùn)算所采用的基本原理和方法,數(shù)控系統(tǒng)的插補(bǔ)原理通??蓺w納為脈沖增量插補(bǔ)和數(shù)據(jù)采樣插補(bǔ)兩大類。
逐點(diǎn)比較法是脈沖增量插補(bǔ)中最典型的算法,原理是:在控制過程中,逐點(diǎn)計(jì)算和判斷運(yùn)動(dòng)軌跡與給定軌跡的偏差,并根據(jù)偏差控制進(jìn)給軸向給定輪廓靠近,縮小偏差,使加工輪廓逼近給定輪廓。以折線來逼近直線或圓弧,最大誤差不超過一個(gè)脈沖當(dāng)量。
以第一象限逆圓為例:圓弧(AB) ,其圓心在坐標(biāo)原點(diǎn),已知起點(diǎn)為A(X_A,Y_A ),終點(diǎn)為B(X_B,Y_B ),圓弧半徑為R,瞬時(shí)加工點(diǎn)P(X_i,Y_i )與圓心的距離為R_i。取F_i=R_i^2-R^2=X_i^2+Y_i^2-R^2為偏差判別式,若P點(diǎn)在圓弧上或在圓弧外,即F_i≥0時(shí),為了使加工點(diǎn)逼近圓弧,應(yīng)向-X方向進(jìn)給一步。進(jìn)給后的新坐標(biāo)值為:X_(i+1)=X_i-1;Y_(i+1)=Y_i,則新的偏差為:F_(i+1)=R_(i+1)^2-R^2=X_(i+1)^2+Y_(i+1)^2-R^2=(X_i-1)^2+Y_i^2-R^2=F_i-2X_i+1;若P點(diǎn)在圓弧內(nèi),即F_i<0時(shí),應(yīng)向+Y方向進(jìn)給一步。進(jìn)給后的新坐標(biāo)值為:X_(i+1)=X_i;Y_(i+1)=Y_i+1,新的偏差為:F_(i+1)=R_(i+1)^2-R^2=X_(i+1)^2+Y_(i+1)^2-R^2=X_i^2+(Y_i+1)^2-R^2=F_i+2Y_i+1。同時(shí)設(shè)置一終點(diǎn)計(jì)數(shù)器,其初值為∑·〖=|X_B-X_A | 〗+|Y_B-Y_A |,即從起點(diǎn)到終點(diǎn)的總步數(shù),X或Y坐標(biāo)每進(jìn)給一步,∑減去1,直到∑=0時(shí),到達(dá)終點(diǎn)。故逐點(diǎn)比較法圓弧插補(bǔ)計(jì)算過程的每一步分為五拍:偏差判別、坐標(biāo)進(jìn)給、偏差計(jì)算、坐標(biāo)計(jì)算及終點(diǎn)判別。圓弧的象限及順逆不同,則插補(bǔ)計(jì)算公式和進(jìn)給方向也不同,四個(gè)象限的圓弧插補(bǔ)偏差計(jì)算公式和進(jìn)給方向見表1。若圓弧存在過象限的問題,可將圓弧按象限分段處理。
表1 ?四象限圓弧插補(bǔ)的偏差計(jì)算公式及進(jìn)給方向
Fi≥0 Fi<0
圓弧所在象限及方向 進(jìn)給方向 偏差計(jì)算 坐標(biāo)計(jì)算 圓弧所在象限及方向 進(jìn)給方向 偏差計(jì)算 坐標(biāo)計(jì)算
Ⅰ順、Ⅱ逆 -Y Fi+1=Fi-2|Yi |+1 |Xi+1|=|Xi |
|Yi+1|=|Yi |-1 Ⅰ順、Ⅳ逆 +X Fi+1=Fi+2|Xi|+1 |Xi+1|=|Xi|+1
|Yi+1|=|Yi|
Ⅲ順、Ⅳ逆 +Y Ⅲ順、Ⅱ逆 -X
Ⅳ順、Ⅰ逆 -X Fi+1=Fi-2|Xi |+1 |Xi+1|=|Xi|-1
|Yi+1|=|Yi | Ⅱ順、Ⅰ逆 +Y Fi+1=Fi+2|Yi|+1 |Xi+1|=|Xi|
|Yi+1|=|Yi|+1
Ⅱ順、Ⅲ逆 +X Ⅳ順、Ⅲ逆 -Y
三、FANUC宏程序
用戶宏程序是像子程序一樣,在存儲(chǔ)器中存儲(chǔ)一組指令的功能,存儲(chǔ)的這組指令功能用一條指令表示或調(diào)用執(zhí)行。這一組指令稱為用戶宏程序本體,簡稱宏程序;把代表指令稱為用戶宏程序調(diào)用指令,簡稱宏指令。FANUC宏程序具有許多可在計(jì)算機(jī)高級(jí)語言中發(fā)現(xiàn)的特征:算術(shù)和代數(shù)計(jì)算;三角法計(jì)算;變量數(shù)據(jù)存儲(chǔ);邏輯運(yùn)算;分支;循環(huán);錯(cuò)誤檢查;報(bào)警產(chǎn)生;輸入和輸出。
因此,可以利用FANUC宏程序的這些特點(diǎn)進(jìn)行逐點(diǎn)比較法插補(bǔ)模擬程序的模塊化:例如,在主程序中僅完成起點(diǎn)與終點(diǎn)坐標(biāo)的賦值及坐標(biāo)軸的繪制,而將包括偏差判別、坐標(biāo)進(jìn)給、偏差計(jì)算、坐標(biāo)計(jì)算及終點(diǎn)判別的整個(gè)插補(bǔ)過程在宏程序中完成。這樣,只需在主程序中改變起點(diǎn)及終點(diǎn)坐標(biāo),而無需對(duì)宏程序進(jìn)行任何變動(dòng),即可完成所需的插補(bǔ)過程模擬。同時(shí),在宏程序中,利用條件轉(zhuǎn)移指令實(shí)現(xiàn)偏差判別后確定進(jìn)給軸及進(jìn)給方向的分支功能;利用循環(huán)指令或條件轉(zhuǎn)移指令實(shí)現(xiàn)終點(diǎn)判別及終點(diǎn)未到之前,偏差判別、坐標(biāo)進(jìn)給、偏差計(jì)算、坐標(biāo)計(jì)算及終點(diǎn)判別這五拍的迭代進(jìn)行,使宏程序編程得到簡化。
通常宏程序由主程序或其他的宏程序使用G代碼(典型的是G65)調(diào)用。
宏指令的基本格式為:G65 ?P ? L ? <自變量>;其中G65為宏程序調(diào)用命令;P ?為包含宏程序的程序號(hào)。L ?程序循環(huán)次數(shù)(L1為默認(rèn)值);自變量為傳遞給宏程序的局部變量的定義。
四、基于宏程序的逐點(diǎn)比較法第三象限逆圓插補(bǔ)的實(shí)現(xiàn)
這里僅以逐點(diǎn)比較法第三象限逆圓插補(bǔ)(圓心在坐標(biāo)原點(diǎn))為例,介紹使用調(diào)用宏程序完成插補(bǔ)模擬的過程。
首先,在主程序中完成圓弧起點(diǎn)及終點(diǎn)坐標(biāo)的賦值、坐標(biāo)軸的繪制,宏程序的調(diào)用包括表示圓弧起點(diǎn)及終點(diǎn)坐標(biāo)的局部變量的賦值。
在用戶宏程序中完成圓弧起點(diǎn)的快速定位,圓弧插補(bǔ)的偏差判別、坐標(biāo)進(jìn)給、偏差計(jì)算、坐標(biāo)計(jì)算及終點(diǎn)判別等全部插補(bǔ)過程。在這里特別要注意的是:為了清楚地繪制插補(bǔ)過程,需要將各軸的脈沖當(dāng)量進(jìn)行適當(dāng)放大。逐點(diǎn)比較法第三象限逆圓插補(bǔ)流程圖如圖1所示。
圖1 逐點(diǎn)比較法第三象限逆圓插補(bǔ)流程圖
宏調(diào)用格式G65 P8011 X ? Y ? A ? B ? F ?;
有關(guān)自變量定義如下
X(#24):圓弧起點(diǎn)X軸坐標(biāo)X
Y(#25):圓弧起點(diǎn)Y軸坐標(biāo)Y
A(#1):圓弧終點(diǎn)X軸坐標(biāo)A
B(#2):圓弧終點(diǎn)Y軸坐標(biāo)B
F(#9):切削進(jìn)給速度F
主程序:
O1234;
N60 G90 G54 G00 X0 Y-60;采用工件坐標(biāo)系絕對(duì)模式
N70 G01 Y0 F100;繪制Y坐標(biāo)軸
N80 X-60;繪制X坐標(biāo)軸
N90 G65 P8011 X-5 Y0 A0 B-5 F100;調(diào)用用戶宏程序O8011
N100 G00 X0 Y0;回坐標(biāo)原點(diǎn)
N110 M30;主程序結(jié)束
宏程序
O8011;
N200 #33=#4003;保存編程模式
N210 #3=ABS[#24];圓弧起點(diǎn)X軸坐標(biāo)絕對(duì)值|X|
N220 #4=ABS[#25];圓弧起點(diǎn)Y軸坐標(biāo)絕對(duì)值|Y|
N230 #5=ABS[#1-#24]+ABS[#2-#25];終點(diǎn)計(jì)數(shù)器初值,#24=#500,#25=#501,#1=#502,#2=#503
N240 #6=0;設(shè)置插補(bǔ)計(jì)算偏差初值F=0
N250 G00 X[10*#24] Y[10*#25];定位圓弧起點(diǎn),并將坐標(biāo)值放大10倍
N260 G03 X[10*#1] Y[10*#2] R[SQRT[#24*#24+#25*#25]*10] F#9;繪制參考圓弧
N270 G00 X[10*#24] Y[10*#25];再次回到圓弧起點(diǎn)
N280 IF [#6 GE 0] GOTO 310;如果偏差大于等于0,轉(zhuǎn)移到N330
N290 G91 G01 Y-10 F#9;當(dāng)偏差小于0時(shí),向-Y方向進(jìn)給一步(10mm)
N300 #6=#6+2*#4+1;計(jì)算當(dāng)前偏差 F=F+2|Y|+1
N310 #4=#4+1;計(jì)算當(dāng)前坐標(biāo)的絕對(duì)值 |Y|=|Y|+1
N320 GOTO 360
N330 G91 G01 X10 F#9;向+X方向進(jìn)給一步(10mm)
N340 #6=#6-2*#3+1;計(jì)算當(dāng)前偏差 F=F-2|X|+1
N350 #3=#3-1;計(jì)算當(dāng)前坐標(biāo)的絕對(duì)值 |X|=|X|-1
N360 #5=#5-1;終點(diǎn)計(jì)數(shù)器減1
N370 IF[#5 NE 0] GOTO 280;若終點(diǎn)計(jì)數(shù)器不為0,轉(zhuǎn)移到N280繼續(xù)進(jìn)行圓弧插補(bǔ)
N380 G#33;恢復(fù)編程模式
N390 M99;宏程序結(jié)束
FANUC-0i-mate-C數(shù)控加工中心綜合實(shí)驗(yàn)臺(tái)如圖2所示。運(yùn)行結(jié)果如圖3所示。
圖2 FANUC-0i-mate-C數(shù)控加工中心綜合實(shí)驗(yàn)臺(tái) ?圖3 逐點(diǎn)比較法第三象限逆圓插補(bǔ)軌跡
逐點(diǎn)比較法第三象限逆圓插補(bǔ)理論計(jì)算過程如表2。
表2 逐點(diǎn)比較法第三象限逆圓插補(bǔ)理論計(jì)算過程
步數(shù) 偏差判別 坐標(biāo)進(jìn)給 偏差計(jì)算 坐標(biāo)絕對(duì)值計(jì)算 終點(diǎn)判別
0 F0=0 |X0|=5;|Y0 |=0 ∑= 5+5=10
1 F0=0 +X F1=F0-2|X0|+1=-9 |X1|=4;|Y1|=0 ∑= 10-1=9
2 F1<0 -Y F2=F1+2|Y1|+1=-8 |X2|=4;|Y2|=1 ∑= 9-1=8
3 F2<0 -Y F3=F2+2|Y2|+1=-5 |X3|=4;|Y3|=2 ∑= 8-1=7
4 F3<0 -Y F4=F3+2|Y3|+1=0 |X4|=4;|Y4|=3 ∑= 7-1=6
5 F4=0 +X F5=F4-2|X4|+1=-7 |X5|=3;|Y5|=3 ∑= 6-1=5
6 F5<0 -Y F6=F5+2|Y5|+1=0 |X6|=3;|Y6|=4 ∑= 5-1=4
7 F6=0 +X F7=F6-2|X6|+1=-5 |X7|=2;|Y7|=4 ∑= 4-1=3
8 F7<0 -Y F8=F7+2|Y7|+1=4 |X8|=2;|Y8|=5 ∑= 3-1=2
9 F8>0 +X F9=F8-2|X8|+1=1 |X9|=1;|Y9|=5 ∑= 2-1=1
10 F9>0 +X F10=F9-2|X9|+1=0 |X10|=0;|Y10|=5 ∑= 1-1=0
實(shí)際運(yùn)行結(jié)果與理論計(jì)算完全相符。
五、結(jié)論
學(xué)生通過用戶宏程序編程,了解了宏變量和宏指令的應(yīng)用,掌握了用戶宏程序的編程、輸入、編輯、調(diào)試及調(diào)用的方法;并通過數(shù)控插補(bǔ)原理實(shí)驗(yàn),進(jìn)一步理解并掌握了逐點(diǎn)比較插補(bǔ)原理和數(shù)字積分插補(bǔ)原理。故基于宏程序的插補(bǔ)原理實(shí)驗(yàn)教學(xué)方法改革真正做到了以問題為主線,以綜合實(shí)踐為導(dǎo)向,引導(dǎo)學(xué)生掌握科學(xué)的學(xué)習(xí)方式,讓學(xué)生主動(dòng)參與、樂于鉆研、勤于動(dòng)手,極大地提高了學(xué)生的學(xué)習(xí)能力和教學(xué)效果。
參考文獻(xiàn):
[1]羅敏等.數(shù)控原理與編程[M].北京:機(jī)械工業(yè)出版社,2011.
[2]羅敏.FANUC數(shù)控系統(tǒng)設(shè)計(jì)及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2014.