版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第5章宏編程技術(shù)及其應(yīng)用5.1宏編程技術(shù)規(guī)則5.2車削宏編程技術(shù)及其應(yīng)用5.3銑削宏編程技術(shù)及其應(yīng)用5.4系統(tǒng)編程指令功能擴(kuò)展的宏實(shí)現(xiàn)5.1宏編程技術(shù)規(guī)則5.1.1宏編程的概念宏指令編程是指像計(jì)算機(jī)高級(jí)語言一樣,可以使用變量進(jìn)行算術(shù)運(yùn)算、邏輯運(yùn)算和函數(shù)混合運(yùn)算的程序編寫形式。在宏程序形式中,一般都提供順序、選擇分支、循環(huán)三大程序結(jié)構(gòu)和子程序調(diào)用的方法。程序指令的坐標(biāo)數(shù)據(jù)根據(jù)運(yùn)算結(jié)果動(dòng)態(tài)獲得,可用于編制各種復(fù)雜的零件加工程序,特別是在非圓方程曲線的處理上顯示出其強(qiáng)大的擴(kuò)展編程功能。熟練應(yīng)用宏程序指令進(jìn)行編程,可大大精簡(jiǎn)程序量。對(duì)于開放式PC-NC系統(tǒng)來說,還可利用宏指令語言作二次開發(fā),以擴(kuò)展編程指令系統(tǒng),增強(qiáng)機(jī)床的加工適應(yīng)能力。5.1.2宏編程的技術(shù)規(guī)則各種數(shù)控系統(tǒng)的宏程序格式和用法均有所不同。
1.HNC—22數(shù)控系統(tǒng)的變量、函數(shù)及其運(yùn)算規(guī)則
HNC數(shù)控系統(tǒng)中的宏變量都是以帶?#?的數(shù)字作為變量名的,如?#0,#10,#500等。變量不需要進(jìn)行數(shù)據(jù)類型的預(yù)定義,根據(jù)賦值和運(yùn)算結(jié)果決定變量數(shù)據(jù)的類型。變量使用范圍受到系統(tǒng)分配區(qū)段的限制,這主要取決于該變量性質(zhì)是局部變量還是全局變量。局部變量:賦值定義的變量的有效范圍僅局限于本程序內(nèi)使用,同樣的變量名在主、子程序中使用不同的寄存器地址,是互相獨(dú)立的變量。HNC系統(tǒng)中,#0~#49為當(dāng)前局部變量,#200~#899分別為0~7層局部變量。全局變量:同一變量名在主、子程序中使用同一寄存器地址,可任意調(diào)用并因重新賦值而有相互影響的變量。HNC系統(tǒng)中,#50~#199為全局變量。
HNC系統(tǒng)中,#600~#899為刀具補(bǔ)償和刀具壽命使用的變量,#1000以上為系統(tǒng)變量,大多為只讀性質(zhì)的變量。HNC系統(tǒng)定義的常量主要有:PI(圓周率)、TRUE(真值?1)、FALSE(假0)
HNC?系統(tǒng)提供一些常用的函數(shù)供宏編程時(shí)使用,如?SIN、COS、TAN、SQRT、ABS等,三角函數(shù)的自變量以弧度為單位。
HNC?系統(tǒng)變量的賦值與運(yùn)算接近一般的數(shù)學(xué)語言,以“變量名?=?常量或表達(dá)式”的格式將等式右邊的常量或表達(dá)式的運(yùn)算結(jié)果賦給等式左邊的變量。算術(shù)運(yùn)算表達(dá)式:#3=100;#1=50+#3/2;#2=#1+#3*SQRT[#1]/50*SIN[PI/2]關(guān)系運(yùn)算表達(dá)式:#1GT10(表示#1>10);#2LE20(表示#2?≤?20?)
邏輯運(yùn)算表達(dá)式:[#1GT10]AND[#1LE20](表示10<#1?≤20?)作為一套完整的編程語言系統(tǒng),程序流程的結(jié)構(gòu)化控制是不可缺少的,HNC系統(tǒng)也遵循順序結(jié)構(gòu)的運(yùn)行流程,提供簡(jiǎn)單的選擇分支和循環(huán)語句結(jié)構(gòu)。HNC-22系統(tǒng)宏指令運(yùn)算符及其結(jié)構(gòu)語句見表5-1。
2.FANUC數(shù)控系統(tǒng)的宏編程技術(shù)規(guī)則
FANUC—0i數(shù)控系統(tǒng)的宏編程規(guī)則基本與HNC系統(tǒng)相同。在變量規(guī)定方面,F(xiàn)ANUC系統(tǒng)的#0為不能賦值的空變量,#1~#33為局部變量,#100~#199為全局變量且斷電后不保存,#500~#999為斷電也不丟失的全局變量,#1000以上為系統(tǒng)變量。在函數(shù)方面,F(xiàn)ANUC系統(tǒng)提供了ASIN、ACOS的反正弦和反余弦函數(shù),三角函數(shù)的角度以度(°)為單位。變量賦值與運(yùn)算同樣接近一般的數(shù)學(xué)語言,選擇分支與循環(huán)語句格式也和HNC相同。FANUC-3MA數(shù)控系統(tǒng)則使用#100、#101…?等來規(guī)定變量名,用G65指令按一定的格式來設(shè)置變量、賦值及進(jìn)行各種運(yùn)算。其統(tǒng)一格式為
G65HmP#IQ#jR#k其中:m為取01~99,表示宏指令功能,見表5-2;#I為運(yùn)算結(jié)果的變量名;#j為待運(yùn)算的變量名1(或常數(shù));#k為待運(yùn)算的變量名2(或常數(shù))。如:
G65H02P#100Q#102R#103,即表示#100=#102+#103
G65H26P#101Q#102R#103,即表示#101=(#101x#102)/#103由于其表達(dá)方式比較煩雜,不接近數(shù)學(xué)語言,因此掌握起來有一定的難度。5.1.3宏編程的數(shù)學(xué)基礎(chǔ)
1.曲線的標(biāo)準(zhǔn)方程和參數(shù)方程對(duì)于方程曲線類幾何圖素,宏編程時(shí)往往需要將其中一個(gè)坐標(biāo)作為變量,再根據(jù)曲線方程求算另一坐標(biāo)的對(duì)應(yīng)值。雖然都可利用曲線的標(biāo)準(zhǔn)方程來計(jì)算,但有時(shí)采用參數(shù)方程來求算更為方便。表5-3是常見曲線的標(biāo)準(zhǔn)方程和參數(shù)方程。
2.圖素的幾何變換
1)平移變換若m表示X方向的平移向量,n表示Y方向的平移向量,則平移后某點(diǎn)新坐標(biāo)為
2)旋轉(zhuǎn)變換點(diǎn)(X,Y)繞坐標(biāo)原點(diǎn)旋轉(zhuǎn)一θ角后,其新坐標(biāo)為點(diǎn)(X,Y)繞某點(diǎn)(X0,Y0)旋轉(zhuǎn)一θ角后,其新坐標(biāo)為
3)對(duì)稱(鏡像)變換
3.方程曲線的逼近計(jì)算方法
1)等間距直線逼近的節(jié)點(diǎn)計(jì)算等間距法就是將某一坐標(biāo)軸劃分成相等的間距,然后求出曲線上相應(yīng)的節(jié)點(diǎn)。如圖5-1所示,已知曲線方程為,沿X軸方向取Δx為等間距長(zhǎng)。根據(jù)曲線方程,由xi求得yi,xi+1?=?xi?+?Δx,yi+1?=?f(xi?+?Δx),如此求得的一系列點(diǎn)就是節(jié)點(diǎn)。由圖5-1知,Δx取得愈大,產(chǎn)生的擬合誤差愈大。當(dāng)曲線曲率半徑變化較小時(shí)可取較大值,當(dāng)曲線曲率半徑較大時(shí)應(yīng)取較小值。圖5-1等間距直線逼近
2)等步長(zhǎng)直線逼近的節(jié)點(diǎn)計(jì)算這種計(jì)算方法是使所有逼近線段的長(zhǎng)度相等,從而求出節(jié)點(diǎn)坐標(biāo)。如圖5-2所示,計(jì)算步驟如下:
(1)求最小曲率半徑Rmin。曲線上任意點(diǎn)的曲率半徑為取dR/dx=0,即圖5-2等弦長(zhǎng)直線逼近
(2)確定允許的弦長(zhǎng)l。由于曲線各處的曲率半徑不等,等弦長(zhǎng)后,最大擬合誤差必在最小曲率半徑Rmin處,因此步長(zhǎng)應(yīng)為
(3)計(jì)算節(jié)點(diǎn)坐標(biāo)。以曲線的起點(diǎn)為圓心,弦長(zhǎng)l為半徑的圓交于b點(diǎn),求解圓和曲線的方程組:求得b點(diǎn)坐標(biāo)。依次以b、c、…為圓心,即可求得c、d、…各節(jié)點(diǎn)的坐標(biāo)。由于弦長(zhǎng)l取決于最小曲率半徑,致使曲率半徑較大處的節(jié)點(diǎn)過密過多,所以等弦長(zhǎng)法適用于曲率半徑相差不大的曲線。
3)等誤差直線逼近的節(jié)點(diǎn)計(jì)算等誤差法就是使所有逼近線段的誤差相等。如圖5-3所示,其計(jì)算步驟如下。圖5-3等誤差直線段逼近
(1)確定允許誤差的圓方程。以曲線起點(diǎn)為圓心,為半徑作圓,此圓方程式為(2)求圓與曲線公切線PT的斜率k。其中,xT、xP、yT、yP由下面的聯(lián)立方程組求解:
(3)求弦長(zhǎng)ab的方程。過a作直線PT的平行線,交曲線于b點(diǎn),ab的方程為
y=ya=k(x-xa)
(4)計(jì)算節(jié)點(diǎn)坐標(biāo)。聯(lián)立曲線方程和弦長(zhǎng)方程,即可求得b點(diǎn)坐標(biāo):按上述步驟順次求得c、d、e、…各節(jié)點(diǎn)坐標(biāo)。
4)圓弧擬合法圓弧擬合是將曲線用一段段圓滑過渡的圓弧來逼近。因其算法較為煩雜,以下僅簡(jiǎn)單介紹一下采用最簡(jiǎn)近似圓逼近的算法思路。將曲線等分成若干(N-1)段,共有N個(gè)點(diǎn)的坐標(biāo),先用三點(diǎn)定圓的方法計(jì)算第1、2、3點(diǎn)近似圓的圓心和初始角,初設(shè)一個(gè)跨越的點(diǎn)數(shù)M,按相切原理計(jì)算出第1、M+1點(diǎn)的近似圓圓心和半徑,再分別求算2~M各點(diǎn)的誤差,如果其中任一點(diǎn)的誤差超過允差,則令M=M-1,重新進(jìn)行相切近似圓和各點(diǎn)誤差的計(jì)算,如此反復(fù)計(jì)算,直至各點(diǎn)誤差均不大于允差,則此近似圓確立。然后以這一近似圓的末點(diǎn)為下一次計(jì)算的起點(diǎn),重新以初設(shè)M值跨點(diǎn)按前述方法反復(fù)計(jì)算,直至曲線全部點(diǎn)計(jì)算完成。因等間距直線逼近的算法簡(jiǎn)單方便,本章宏編程應(yīng)用例程大多采用此方法處理。5.2車削宏編程技術(shù)及其應(yīng)用5.2.1車削加工的宏編程技術(shù)數(shù)控車削加工編程的對(duì)象是簡(jiǎn)單的二維圖形。車削系統(tǒng)已經(jīng)提供了非常全面的從粗車到精車的各類功能指令,指令格式簡(jiǎn)單且實(shí)用。對(duì)于邊廓以直線、圓弧為主的常規(guī)零件加工,大多采用手工編程的方法,宏編程技術(shù)的優(yōu)勢(shì)在車削加工中主要表現(xiàn)在非圓曲線邊廓的處理上。
FANUC的宏編程只能在非圓曲線輪廓的精車時(shí)獨(dú)立使用,且不能為G71~G73的粗車提供參考邊廓數(shù)據(jù),而HNC精車的程序段若用宏編程,其計(jì)算的數(shù)據(jù)可提供給G71~G73作邊廓參考依據(jù),這使得HNC的車削宏編程技術(shù)更具實(shí)用性。使用主、子程序調(diào)用的宏編程技術(shù),在調(diào)用子程序時(shí)可通過宏變量傳遞參數(shù)的功能,易于實(shí)現(xiàn)子程序的模塊化,整個(gè)程序修改起來更簡(jiǎn)單,程序通用性得到了增強(qiáng)。5.2.2車削的宏編程應(yīng)用實(shí)例例1使用宏編程編制加工如圖5-4所示拋物線輪廓的精車程序。圖示拋物線方程為此處X為半徑值。若X用直徑值,則拋物線方程應(yīng)為圖5-4拋物線精車輪廓加工編程思路:采用循環(huán)程序結(jié)構(gòu),以Z值為循環(huán)變量,循環(huán)間距0.1(等間距直線逼近法),按照來計(jì)算每一步的X值,Z的取值范圍為??40≤Z≤0。參考程序編寫如下(直徑編程):參考程序編寫如下(直徑編程):
O0001
T0101
G90G00X45.0Z5.0S600M3;
G90G0X0Z2 走到右端的起刀點(diǎn)
G1Z0F200 走刀到拋物線的起點(diǎn)
#1=?-0.1 循環(huán)初值,Z右邊界
#2=?-40 循環(huán)終值,Z左邊界
WHILE#1GE#2循環(huán)語句,以Z作循環(huán)變量
#3=SQRT[?-40*#1] 計(jì)算X直徑值
G01X[#3]Z[#1] 加工擬合的小線段#1=#1-0.1 Z變化一個(gè)步長(zhǎng)ENDWG90G0X[#3+0.5] X方向向外退刀0.5Z5 退刀到右端外5mm處M5M30例2利用HNC—22T的宏編程技術(shù)實(shí)現(xiàn)多曲線段車削零件的粗、精加工。如圖5-5所示輪廓,各區(qū)段分別如下。
斜線段(-V≤Z≤-U);
1/4橢圓段(-[V+a]≤Z≤-V):=1;圓柱段(-W≤Z≤-[V+a])。拋物線段擬用等間距直線逼近法,以Z值間距為循環(huán)變量,按標(biāo)準(zhǔn)方程求算;橢圓段擬用參數(shù)方程求算,以接近等步長(zhǎng)直線逼近算法,即以等離心角變化增量為循環(huán)變量;直線段就直接算出端點(diǎn)坐標(biāo)后作直線插補(bǔ)處理。圖5-5多曲線段輪廓車削由于HNC—22T系統(tǒng)在粗車循環(huán)調(diào)用的精車程序段中允許使用宏指令,因此本例參照G71粗、精車加工編程思路,用半徑編程模式。參考程序如下:圓柱段:X=R2,Z向終點(diǎn)為W。
HNC—22T宏程序編寫與調(diào)試技巧:
(1)輪廓尺寸數(shù)據(jù)盡可能用變量代替,且將變量初始賦值安排在程序頭部,以便于統(tǒng)一修改。
(2)由于粗車需多次重復(fù)引用精車輪廓的算法獲取參考邊廓數(shù)據(jù),精車的幾個(gè)輪廓段使用循環(huán)求算時(shí),不同類型的循環(huán)變量最好不要使用同樣的?#?地址,以免交叉賦值后循環(huán)體算法溢出(分母為零或求負(fù)平方根)而出現(xiàn)“非法語句”的錯(cuò)誤警示。
(3)若賦循環(huán)初值的語句安排在精車程序中循環(huán)語句之前,則每次引用精車程序時(shí)系統(tǒng)都會(huì)因?yàn)樽兞恐翟谘h(huán)范圍之內(nèi),認(rèn)為可能會(huì)有其余的邊廓存在而再次進(jìn)入循環(huán)進(jìn)行計(jì)算;若賦循環(huán)初值的語句安排在精車之外,則作過一次循環(huán)后,由于循環(huán)變量已達(dá)極限,下次再引用精車程序時(shí)將會(huì)因?yàn)樽兞恐挡粷M足循環(huán)條件而跳過循環(huán)計(jì)算,這將大大加快程序的運(yùn)行速度。
(4)循環(huán)體中循環(huán)變量遞增或遞減變化的語句建議安排在循環(huán)體語句的最后。若安排在循環(huán)體語句的前部,則循環(huán)終值應(yīng)嚴(yán)格控制。否則,容易出現(xiàn)先執(zhí)行遞變后造成分母為零或求負(fù)平方根的“非法語句”報(bào)警。5.2.3宏編程的子程序調(diào)用及傳值在HNC系統(tǒng)中,通過使用M98PxxxxA…B…C……Z…?指令格式,可在調(diào)用子程序的同時(shí),將主程序A~Z各字段的內(nèi)容拷貝到宏執(zhí)行的子程序?yàn)榫植孔兞?#0~#25預(yù)設(shè)的存儲(chǔ)空間中,從而實(shí)現(xiàn)參數(shù)傳遞。傳值的規(guī)則是:A→#0,B→#1,C→#2,…,X→#23,Y→#24,Z→#25,即A后的值在子程序中可用?#0來調(diào)用,B后的值在子程序中可用?#1來調(diào)用,以此類推,Z后的值在子程序中可用?#25來調(diào)用?;谶@一規(guī)則,可以將加工某類曲線輪廓的宏子程序模塊化,不在子程序中對(duì)輪廓尺寸變量賦值,將其編寫成依賴于變量的標(biāo)準(zhǔn)程序格式,由主程序傳遞不同的參數(shù)調(diào)用即可得到不同的加工結(jié)果。以下是帶臺(tái)階或不帶臺(tái)階的雙曲線輪廓(如圖5-6所示)車削零件的主、子程序宏參數(shù)傳遞調(diào)用的編程示例。圖5-6雙曲線輪廓零件車削帶臺(tái)階偏置的雙曲線;(b)帶臺(tái)階雙曲線;(c)不帶臺(tái)階雙曲線程序計(jì)算說明:雙曲線的標(biāo)準(zhǔn)方程是本例是采用等間距直線逼近的算法,以Z作循環(huán)變量等距變化,按公式來求算對(duì)應(yīng)的X的坐標(biāo)值。若為對(duì)稱偏置的雙曲線、直徑編程模式,則還應(yīng)加上一個(gè)偏置距離d9,即帶臺(tái)階時(shí),雙曲線的起點(diǎn)Z值應(yīng)根據(jù)臺(tái)階的X值由方程求算,即雙曲線偏置時(shí),半徑X應(yīng)按偏置確定,此時(shí)若用參數(shù)方程,需要使用函數(shù)按照X?=?a·sect,Y?=b·tant以t為循環(huán)變量來編寫。本例的宏子程序是綜合考慮是否帶臺(tái)階(d8≠0)、雙曲線是否偏置(d9≠0)等情形而編寫的,具有一定的通用性。主程序傳值時(shí)如果沒有E、F數(shù)據(jù),則d8=d9=0,可得到無臺(tái)階不偏置的雙曲線邊廓(見圖5-6(c));若沒有F數(shù)據(jù),則d9=0,可得到帶臺(tái)階不偏置的雙曲線邊廓(見圖5-6(b));若參數(shù)完整且數(shù)據(jù)不為零時(shí),則可得到帶臺(tái)階且偏置的雙曲線邊廓(見圖5-6(a))。由于程序中有?#0、#1作為分母的語句,且未作錯(cuò)誤預(yù)判斷處理,因此A、B的傳值數(shù)據(jù)一定不能為零或省略,否則運(yùn)行時(shí)系統(tǒng)會(huì)出現(xiàn)“非法語句”的警示。因依賴于主程序而獲得變量賦值,子程序不能單獨(dú)運(yùn)行。5.2.4弧面螺旋線加工的宏編程應(yīng)用對(duì)于圓柱螺紋及錐螺紋的車削加工編程已在第2章進(jìn)行過介紹,但對(duì)于在圓弧面上實(shí)現(xiàn)螺旋線的加工(如圓弧面蝸桿),通常需要借助專用機(jī)床來實(shí)現(xiàn),而采用數(shù)控車床的宏編程功能,亦可實(shí)現(xiàn)弧面螺旋線的加工。在HNC系統(tǒng)的數(shù)控車床中,可利用宏程序功能,將圓弧段以參數(shù)方程的形式轉(zhuǎn)化為一個(gè)個(gè)的小線段,然后對(duì)小線段用G32指令實(shí)施螺紋切削,通過限定范圍的循環(huán)控制即可實(shí)現(xiàn)以圓弧段為母線的螺紋車削。如對(duì)圖5-7所示的弧面蝸桿段,在先車出R65的外圓弧輪廓表面后,再用圓弧車刀以齒型中線為深度分層進(jìn)刀的參考線,對(duì)每深度層的弧面螺旋線實(shí)施小線段螺紋車削即可完成弧面蝸桿段的預(yù)切。以下是使用HNC-22T系統(tǒng)時(shí)編寫的預(yù)切程序(以圓弧車刀弧心為刀位點(diǎn))。圖5-7弧面蝸桿的預(yù)切加工5.3銑削宏編程技術(shù)及其應(yīng)用5.3.1銑削加工的宏編程技術(shù)數(shù)控銑和加工中心都是三坐標(biāo)及三坐標(biāo)以上的編程加工,且都具有鉆鏜循環(huán)的點(diǎn)位加工能力,使用宏編程技術(shù)解決問題的情形就很多。除了非圓曲線邊廓的外形或槽形加工可考慮使用宏編程外,粗銑和精銑的動(dòng)態(tài)刀補(bǔ)實(shí)現(xiàn)、均布孔的鉆鏜加工、三維空間上的斜坡面與曲面銑削加工等等都是展現(xiàn)宏編程優(yōu)勢(shì)的舞臺(tái)。在很多數(shù)控系統(tǒng)中,鉆鏜循環(huán)的編程功能本身就是通過宏編程技術(shù)來拓展的。在實(shí)際生產(chǎn)加工中,往往會(huì)碰到由于刀具限制或者無法用系統(tǒng)提供的有限的指令格式直接編程,但又有規(guī)律可循,通過一定的算法可以處理的一些技術(shù)問題,使用宏編程便可以將數(shù)控機(jī)床的潛力發(fā)揮到極致。5.3.2銑削加工動(dòng)態(tài)刀補(bǔ)的實(shí)現(xiàn)所謂動(dòng)態(tài)刀補(bǔ),是指執(zhí)行G41、G42指令時(shí)所提取的刀補(bǔ)地址Dxx的數(shù)據(jù)是隨著程序進(jìn)程不同而變化的。
1.動(dòng)態(tài)刀補(bǔ)實(shí)現(xiàn)粗、精加工無論是挖槽還是銑外形輪廓,都有從粗切到精切的過程。粗、精切的過程通常都只需要編寫一個(gè)利用刀徑補(bǔ)償進(jìn)行輪廓加工的程序,通過改變刀補(bǔ)來實(shí)現(xiàn)。對(duì)于輪廓中圓弧段可能會(huì)因刀補(bǔ)過大而出現(xiàn)負(fù)半徑的情形,可用選擇分支來進(jìn)行預(yù)處理。例1利用動(dòng)態(tài)刀補(bǔ)方法加工如圖5-7所示的正多邊形槽。圖5-8槽形加工圖例圖示槽形為規(guī)則邊廓,最小圓角半徑為R5,用?
10的刀具直接按正多邊形邊廓編程,多邊形兩個(gè)交點(diǎn)的坐標(biāo)已算出(見右圖),其余各點(diǎn)坐標(biāo)均可方便推算出來。加工編程思路:深度方向共分三層切削,每層下降5mm,由循環(huán)WHILE…DO1實(shí)現(xiàn)。徑向分次由循環(huán)WHILE…DO2控制,僅編寫一個(gè)帶刀補(bǔ)的槽形邊廓的加工程序,刀補(bǔ)地址號(hào)采用系統(tǒng)指定的動(dòng)態(tài)刀補(bǔ)號(hào)D101,其刀補(bǔ)值大小由變量?#101動(dòng)態(tài)計(jì)算得出。已知最大、最小刀補(bǔ)半徑和精修余量,按(0.6~0.8)大小預(yù)設(shè)一個(gè)粗切間距,則:粗切余量?=?最大刀補(bǔ)?-最小刀補(bǔ)?-精修余量粗切次數(shù)≥粗切余量/預(yù)設(shè)粗切間距(圓整為整數(shù))實(shí)際粗切間距?=?粗切余量/圓整后的粗切次數(shù)槽形加工采取由內(nèi)向外環(huán)切的方式,最后一次粗切時(shí)保留一個(gè)精修余量,再以實(shí)際刀具半徑大小作最終刀補(bǔ)繼續(xù)精修一圈。粗、精切由選擇分支判斷后決定刀補(bǔ)算法。當(dāng)粗切一圈后的動(dòng)態(tài)刀補(bǔ)值介于精修刀補(bǔ)半徑和粗切間距之間,即剩最后一次精修時(shí),此時(shí)可直接將精修刀補(bǔ)設(shè)為動(dòng)態(tài)刀補(bǔ),再作一次切削循環(huán)以完成精修;否則視為粗切,按實(shí)際粗切間距來逐步減小動(dòng)態(tài)刀補(bǔ)值,繼續(xù)作粗切循環(huán)。編程如下:
2.動(dòng)態(tài)刀補(bǔ)實(shí)現(xiàn)邊角倒圓工件邊角倒棱和倒圓用相應(yīng)的倒角刀和內(nèi)R系列銑刀直接以輪廓編程加工即可,但無合適刀具時(shí),可考慮使用平刃銑刀或球刀按曲面加工方式分層銑削,利用宏編程的動(dòng)態(tài)刀補(bǔ)可很方便地實(shí)現(xiàn)分層加工。例2利用動(dòng)態(tài)刀補(bǔ)方法加工圖5-8(a)所示R2的圓角面。由圖5-8知,z=r-t則距離頂面為t的高度層的動(dòng)態(tài)刀補(bǔ)為圖5-9倒圓加工圖例編程如下:5.3.3均布孔加工的宏編程實(shí)例在如圖5-9所示零件上鉆6個(gè)均勻分布的孔,需要使用兩把刀具分別進(jìn)行鉆孔和锪孔加工。分別采用FANUC—3MA、HNC—22M、T—600M系統(tǒng)宏指令編程,變量定義見表5-4。圖5-10均布孔加工編圖例表5-4宏?變?量?定?義使用FANUC—3MA數(shù)控系統(tǒng)時(shí),主程序如下:
Z#505R#506F50G65H02P#100Q#100R1
重新賦值?#100=#100+1,計(jì)數(shù)加1
G65H84P200Q#100R#101
條件轉(zhuǎn)移,若孔數(shù)沒加工完,轉(zhuǎn)向N200繼續(xù)鉆孔
M99
若孔數(shù)加工完成,則子程序結(jié)束,返回如果采用HNC-22M系統(tǒng)和T-600M系統(tǒng),則程序編寫如下:HNC-22M系統(tǒng)
O0015
#50=0
#51=0
#52=100.0
#53=0
#54=6
#55=?-41.0
#56=?-25.0
G90G54G0X0Y0S600M3
G43Z10.0H01M98P100G91G28Z0M5T2M6G90G54X0Y0S600M3
G43Z10.0H02M98P100G91G28Z0M5M30子程序如下:
%100
#10=0
#11=ABS[#54]
#57=PI/180
WHILE#10LT#11
#12=[#53+#10*360/#11]*#57
#13=#50+#52*COS[#12]
#14=#51+#52*SIN[#12]G90G00X[#13]Y[#14]
G00Z[#56]
G01Z[#55]F50
G00Z[#56]#10=#10+1
ENDW
M99使用T—600M系統(tǒng)時(shí),主程序如下:
T-600M系統(tǒng)
O0015
G90G54G0X0Y0S600M3
G43Z10.0H01M03
G72O100[V55?=-41.0,V56?=-25.0]
G91G28Z0M5
T2M6
G90G54X0Y0S600M3
G43Z10.0H02
G72O9010[V55?=-41.0,V56?=-25.0]
G91G28Z0M5
M30子程序如下:
O100
N110[V50=0,V51=0,V52=100.0]
N120[V53=0,V11=6,V10=0]
N130[V12=[V53+V10*360/V11]*3.14159/180]
N140[V13=V50+V52*COS[V12]]
N150[V14=V51+V52*SIN[V12]]
N160G90G80G99X[V13]Y[V14]Z[V55]R[V56]
F50
N170[V10=V10+1]
N180[IF,V10<V11,GO,130]
M02本例采用全局變量和局部變量的處理方式,利用全局變量可以在主、子程序中任意引用的性質(zhì),省去了在子程序中再次賦值的過程。如果使用5.2.3節(jié)中所介紹的參數(shù)傳值方法,則程序可以進(jìn)一步簡(jiǎn)化,且加工適應(yīng)性也可以得到擴(kuò)展。只要將子程序編寫成標(biāo)準(zhǔn)模塊的形式,表達(dá)位置關(guān)系的變量可在調(diào)用子程序的語句中由參數(shù)來賦值,對(duì)于均布孔的多次鉆、擴(kuò)、鉸重復(fù)加工,交錯(cuò)排布的均布孔加工等等,在主程序中就可以像調(diào)用鉆鏜固定循環(huán)一樣簡(jiǎn)單。5.3.4空間軌跡的宏編程加工例1編制加工如圖5-10所示兩個(gè)相互垂直橢圓柱面的交線輪廓的程序(不加工柱面)。圖示要加工的是平置橢圓柱A的1/4面與立置橢圓柱面B的1/2面產(chǎn)生的交線,立置橢圓柱的長(zhǎng)、短軸尺寸為d1、d2(XY方向),平置橢圓柱的長(zhǎng)、短軸尺寸為d1、d3(XZ方向),平置橢圓柱軸心到工件下表面的距離為d4。算法思路:以橢圓A用參數(shù)方程的形式,從-90°~90°循環(huán)變化來計(jì)算軌跡點(diǎn)的XY坐標(biāo),再根據(jù)其X坐標(biāo)在XZ面按橢圓B的標(biāo)準(zhǔn)方程計(jì)算出對(duì)應(yīng)點(diǎn)的Z坐標(biāo),以空間(XYZ移動(dòng))的小線段來擬合該交線輪廓。圖5-11橢圓柱交線加工編程如下:例2圖5-11所示曲面由一偏置雙曲線繞板料中心線回轉(zhuǎn)一周形成,試用宏編程編制曲面加工的程序。編程思路:該曲面為一回轉(zhuǎn)面,每層均可由一圈圈的同心圓(整圓)作刀路加工編程。以坯料下表面為Z向原點(diǎn),從高h(yuǎn)的工件表面到雙曲線的下頂點(diǎn)高b?(正好實(shí)半軸處)作分層加工,深度變化作外循環(huán),每次降低0.5mm。以每層上XY方向的分次作內(nèi)循環(huán),按雙曲線方程由Z計(jì)算出雙曲線外廓X1和內(nèi)廓的X2,同心圓的范圍限制在X1→X2之內(nèi),若X2超出回轉(zhuǎn)軸心到另一側(cè)(為負(fù)值),則內(nèi)邊界取為0,循環(huán)方向取由外向內(nèi)。圖5-12雙曲線回轉(zhuǎn)面加工雙曲線的標(biāo)準(zhǔn)方程為則由Z換算X為由于雙曲線偏置,且考慮偏移一個(gè)球刀半徑,其外邊界編程如下:5.4系統(tǒng)編程指令功能擴(kuò)展的宏實(shí)現(xiàn)5.4.1編程指令功能擴(kuò)展的對(duì)象由于數(shù)控機(jī)床能直接進(jìn)行插補(bǔ)控制的主要是直線和圓弧,系統(tǒng)能提供的直接用于軌跡加工的編程指令非常有限,因此尋求合理的算法,利用基本指令來擴(kuò)展系統(tǒng)的編程指令功能,一直是系統(tǒng)開發(fā)人員的研究課題,也是加工編程人員尋求的目標(biāo)。車削固定循環(huán)、鉆鏜固定循環(huán)等都是數(shù)控系統(tǒng)開發(fā)人員對(duì)指令系統(tǒng)擴(kuò)展的典型示例,但不同的系統(tǒng)在這方面開發(fā)的程度是有差異的。比如?SIEMENS?系統(tǒng)已經(jīng)具有直接用于陣列孔加工、規(guī)則形狀的挖槽循環(huán)等擴(kuò)展指令,而HNC、FANUC?系統(tǒng)目前還沒有面向普通用戶提供。對(duì)于非開放式的數(shù)控系統(tǒng),這種指令功能擴(kuò)展只能依賴于系統(tǒng)生產(chǎn)廠家;而對(duì)于開放式的數(shù)控系統(tǒng),普通用戶即可自行編制。HNC是基于PC-NC的開放式數(shù)控系統(tǒng),其用于鉆鏜固定循環(huán)的宏擴(kuò)展程序的源碼已面向廣大用戶公開,即系統(tǒng)BIN目錄下的O0000文件的內(nèi)容,普通用戶只需要按照其中的格式要求自行開發(fā)擴(kuò)展功能指令后,添加到該文件中即可。需要開發(fā)擴(kuò)展的編程指令功能對(duì)于不同的用戶群有著不同的見解,如矩形輪廓銑削、矩形挖槽、橢圓銑削及挖槽、凹凸球面加工、陣列鉆孔等都可能是廣大用戶需要的。由于擴(kuò)展后的指令就像G01、G02等基本指令那樣使用,指令需要的參數(shù)、通用性、各種可能的算法及出錯(cuò)的可能性等都應(yīng)處理完善,因此必須充分了解編程格式和處理對(duì)策,考慮成熟后方可開始編制,驗(yàn)證無誤后才可投入使用。以下是SIEMENS802S數(shù)控銑削系統(tǒng)中提供的LCYC75挖槽循環(huán)指令功能,其格式為:
R101=…R102=…R103=…R104=…R116=…R117=…
R118=…R119=…
R120=…R121=…R122=…R123=…R124=…R125=…R126=…R127=…
LCYC75其中,R101:退回平面(絕對(duì)平面);
R102;安全距離;
R103:參考平面(絕對(duì)平面);
R104:槽深;
R116:橫坐標(biāo)參考點(diǎn);
R117:縱坐標(biāo)參考點(diǎn);
R118:槽的長(zhǎng)度;R120:圓角半徑;R121:最大進(jìn)給深度;R122:深度進(jìn)給的進(jìn)給率;圖5-12矩形槽加工圖例R123:表面加工的進(jìn)給率;R124:表面加工的精加工量,無符號(hào);R125:深度加工的精加工量,無符號(hào);R126:銑削方向(2=G2,3=G3);R127:加工方式(1,2)。若要加工圖5-12所示帶圓角的矩形槽,槽周邊精修余量0.75,深度精修余量0.5,最大進(jìn)刀深度4,分粗、精加工。其部分程序如下:圖5-13矩形槽加工圖例N20…N30R101=5R102=2R103=0R104=?-17.5N60R116=60R117=40R118=60R119=40R120=8N70R121=4R122=120R123=300R124=0.75R125=0.5N80R126=2R127=1N90LCYC75N100…N110R127=2N120LCYC75N130…
R101~R127就是LCYC75需要的宏參數(shù)。LCYC75內(nèi)部將根據(jù)R127賦值的不同,由選擇分支程序結(jié)構(gòu)來調(diào)用粗、精加工的算法及對(duì)應(yīng)的加工處理路線。由以上可以看出,要編制一個(gè)矩形挖槽的宏擴(kuò)展程序,其參數(shù)非常多。我們?cè)贖NC系統(tǒng)中編制這類指令擴(kuò)展的程序(如挖槽循環(huán)、陣列鉆孔等)時(shí),可以參照SIEMENS系統(tǒng)的指令參數(shù)配置。5.4.2擴(kuò)展編程的技術(shù)基礎(chǔ)使用擴(kuò)展指令就像前面所介紹的宏子程序參數(shù)傳值調(diào)用一樣,擴(kuò)展編程處理時(shí)除指令參數(shù)提供的數(shù)據(jù)外,還需要諸如當(dāng)前坐標(biāo)、系統(tǒng)模態(tài)等數(shù)據(jù)。HNC系統(tǒng)調(diào)用宏子程序時(shí),除前面介紹的將主程序A~Z各字段的內(nèi)容拷貝到宏執(zhí)行的子程序?yàn)榫植孔兞?#0~#25預(yù)設(shè)的存儲(chǔ)空間外,還同時(shí)拷貝當(dāng)前通道九個(gè)軸的絕對(duì)位置坐標(biāo)到宏子程序的局部變量#30~#38中,并將固定循環(huán)指令的初始平面Z的模態(tài)值拷貝到?#26中。另外還有一些數(shù)據(jù)需要通過系統(tǒng)變量來訪問。表5-5所示是HNC中一些系統(tǒng)變量的定義。表5-5
HNC系統(tǒng)中部分系統(tǒng)變量的定義在HNC系統(tǒng)中,對(duì)于每個(gè)局部變量,都可用系統(tǒng)宏AR[]來判別該變量是否被定義、是被定義為增量還是絕對(duì)方式。其調(diào)用格式為
AR[#變量號(hào)]返回值含義如下。
0:表示該變量沒有被定義;
90:表示該變量被定義為絕對(duì)方式G90;
91:表示該變量被定義為增量方式G91。以下是HNC系統(tǒng)某版本提供的G81一般鉆孔循環(huán)的宏程序源代碼,我們可以從中了解并學(xué)習(xí)源代碼的編程處理方法。程序如下:系統(tǒng)變量#1120~#1145用來存放A、B、C、…、X、Y、Z26個(gè)地址號(hào)的模態(tài)數(shù)據(jù),像“IF[AR[#23]EQ0]#23=#1143ENDIF”之類的語句是為G81指令行及其省去相關(guān)數(shù)據(jù)的后續(xù)程序行調(diào)用宏子程序時(shí)提取對(duì)應(yīng)模態(tài)數(shù)據(jù)用的;而“IF?[AR[#25]?EQ0]?M-99ENDIF”的語句是對(duì)提取不到Z模態(tài)數(shù)據(jù)(之前未有過Z數(shù)據(jù))時(shí)出錯(cuò)返回處理。5.4.3編程指令功能擴(kuò)展示例
1.圓形陣列鉆孔的擴(kuò)展編程示例我們先由SIEMENS802S數(shù)控銑削系統(tǒng)中提供的LCYC61圓形陣列孔鉆削格式來了解一下圓形陣列鉆孔需要一些什么參數(shù)。
R115=…R116=…R117=…R118=…R119=…R120=…R121=…LCYC61其中:R115:鉆孔循環(huán)號(hào);
R116:陣列中心的X坐標(biāo);
R117:陣列中心的Y坐標(biāo);
R118:孔所在圓周半徑;
R119:孔數(shù);
R120:第一個(gè)孔的起始角度;
R121:孔間角度。和5.3.3節(jié)的均布孔宏編程實(shí)例相比,LCYC61通過給定孔間角度及孔數(shù),可獲得非整周的均布孔加工,指令格式更靈活,并且LCYC61通過給定鉆孔循環(huán)號(hào),能以不同的孔加工固定循環(huán)方式加工孔。此處擬參照上述參數(shù),以G75作為圓形陣列鉆孔的指令,其格式如下:
G90(G91)G99(G98)G75X…Y…Z…R…A…B…C…D…E…孔位關(guān)系如圖5-13所示。其中,
X、Y:陣列中心的X、Y坐標(biāo);圖5-14圓形陣列孔位關(guān)系
Z、R:孔底和R面的Z坐標(biāo);
A:鉆孔循環(huán)號(hào);
B:孔所在圓周半徑;
C:孔數(shù);
D:孔間角度;
E:起始孔角度(與+X的夾角,逆+順-)。
A、B、C、D、E為陣列鉆孔增加的參數(shù),如果循環(huán)號(hào)調(diào)用G73~G89鉆孔方式,需要I、J、K、Q、P等參數(shù),其含義可按G73~G89中對(duì)應(yīng)的定義添加。擴(kuò)展宏編程如下:程序含義%0075IF[AR[#23]EQ0]
IF[AR[#1143]EQ91]
#23=0ELSE
#23=#1143
ENDIFENDIF----圓形陣列鉆孔宏程序---如果沒有定義X且X的模態(tài)為增量則X為增量零值若X的模態(tài)為絕對(duì)值方式則X取當(dāng)前X的模態(tài)值IF[AR[#24]EQ0]
IF[AR[#1144]EQ91]
#24=0ELSE
#24=#1144
ENDIFENDIF如果沒有定義Y且Y的模態(tài)為增量則Y為增量零值若Y的模態(tài)為絕對(duì)值方式則Y取當(dāng)前Y的模態(tài)值IF[AR[#17]EQ0] #17=#1137ENDIFIF[AR[#25]EQ0] #25=#1145ENDIF如果沒有定義R取當(dāng)前R的模態(tài)值如果沒有定義Z取當(dāng)前Z的模態(tài)值IFAR[#25]EQ0 M?-99ENDIFIF[AR[#0]EQ0] #0=#1120ENDIFIF[AR[#1]EQ0] #1=#1121如果沒有定義過Z則返回并提示出錯(cuò)如果沒有定義鉆削循環(huán)模式A取當(dāng)前A的模態(tài)值如果沒有定義孔所在圓周半徑B取當(dāng)前B的模態(tài)值ENDIFIF[AR[#2]EQ0] #2=#1122ENDIFIF[AR[#3]EQ0] #3=#1123ENDIFIF[AR[#4]EQ0] #4=#1124如果沒有定義陣列孔數(shù)C取當(dāng)前C的模態(tài)值如果沒有孔間角度D取當(dāng)前D的模態(tài)值如果沒有初始角度E取當(dāng)前E的模態(tài)值在這里,由于R、Z的模態(tài)被重置,因此需要作備份和恢復(fù)。為防止循環(huán)號(hào)A的模態(tài)?#1120丟失,最好也預(yù)作備份和恢復(fù)。將上述程序內(nèi)容添加到系統(tǒng)BIN\O0000文件中后,對(duì)于如圖5-14所示的陣列孔的加工,若工件零點(diǎn)設(shè)在圖示右下角,則可編程如下:圖5-15陣列孔加工
O0001
G54G90G0X?-240.0Y90.0S500M3
G43Z20.0H1M8
G99G75Z?-25.0R5.0A81B60C6D60E0F60
X?-80.0R15.0A83B50C4D90
Q?-5K3E45
G80M5
G91G28Z0M9
M30
2.矩形挖槽的擴(kuò)展編程示例參照前面介紹的SIEMENS802S數(shù)控銑削系統(tǒng)中提供的LCYC75矩形挖槽循環(huán)參數(shù)設(shè)置,我們擬在HNC—22M中用G78指令作矩形挖槽循環(huán)的擴(kuò)展。其格式如下:
G90(G91)G78X…Y…Z…R…A…B…C…E…I…J…K…Q…P…F…L…槽形幾何關(guān)系如圖5-15所示。其中,
X、Y:矩形中心的X、Y坐標(biāo);圖5-16矩形槽位置關(guān)系
Z:槽底Z坐標(biāo),G91時(shí)為槽口表面到槽底的Z增量距離;
R:安全平面Z坐標(biāo),G91時(shí)為初始高度面到安全面的Z增量距離;
W:槽口表面Z坐標(biāo),G91時(shí)為安全面到槽口表面的Z增量距離;
A:槽的長(zhǎng)度;
B:槽的寬度;
C:矩形轉(zhuǎn)角半徑;
D:刀具半徑;E:最大進(jìn)給深度(參考);I:XY向精修余量;J:Z向精修余量;
K:銑削方向(逆0/順1);Q:加工方式(精0/粗1);
P:Z向進(jìn)給率;F:XY向進(jìn)給率;L:重復(fù)循環(huán)的次數(shù)(用G91)。編程如下:ENDIFG00Z[-#25?-#22?-17?-#16*#9]M99返回初始高度面本程序作精修和粗切時(shí)其深度和動(dòng)態(tài)刀補(bǔ)的計(jì)算利用了加工方式的給定值,以“加工方式值?×?精修余量”來處理余量值,精修時(shí)倍率為0,粗切時(shí)倍率為1。為此,增加了對(duì)加工方式值過濾及圓整處理的語句。對(duì)于順、逆銑削方向,原則上按順時(shí)針方向銑削編程,逆向時(shí)采取鏡像設(shè)定獲得反向加工。5.4.4刀具壽命管理的宏應(yīng)用
1.刀具壽命的宏變量管理思路在FANUC-0i系統(tǒng)的宏變量中,#4001~#4130記錄當(dāng)前模態(tài)信息,如#4120為當(dāng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度美甲產(chǎn)品獨(dú)家代理銷售合同4篇
- 2025年度個(gè)人房產(chǎn)買賣合同物業(yè)交接范本
- 2025年度個(gè)人購(gòu)房合同(含房產(chǎn)市場(chǎng)趨勢(shì)分析)2篇
- 2025年度個(gè)人消費(fèi)借唄貸款合同(智能還款服務(wù)升級(jí)版)4篇
- 2025年度個(gè)人二手汽車轉(zhuǎn)讓與二手車保險(xiǎn)理賠服務(wù)合同
- 美容院?jiǎn)T工2025年度勞動(dòng)合同模板全新修訂版4篇
- 2025年度個(gè)人對(duì)公司文化創(chuàng)意產(chǎn)業(yè)借款合同(文化創(chuàng)意產(chǎn)業(yè)扶持版)4篇
- 2025版民辦學(xué)校教師教學(xué)資源開發(fā)與利用合同4篇
- 二零二五版高速公路電子標(biāo)牌施工及運(yùn)營(yíng)合同3篇
- 2025年度個(gè)人購(gòu)房稅費(fèi)減免服務(wù)合同2篇
- 廣東省潮州市潮安區(qū)2023-2024學(xué)年五年級(jí)上學(xué)期期末考試數(shù)學(xué)試題
- 市政道路及設(shè)施零星養(yǎng)護(hù)服務(wù)技術(shù)方案(技術(shù)標(biāo))
- 藝術(shù)培訓(xùn)校長(zhǎng)述職報(bào)告
- 選擇性必修一 期末綜合測(cè)試(二)(解析版)2021-2022學(xué)年人教版(2019)高二數(shù)學(xué)選修一
- 《論語》學(xué)而篇-第一課件
- 《寫美食有方法》課件
- 學(xué)校制度改進(jìn)
- 各行業(yè)智能客服占比分析報(bào)告
- 年產(chǎn)30萬噸高鈦渣生產(chǎn)線技改擴(kuò)建項(xiàng)目環(huán)評(píng)報(bào)告公示
- 心電監(jiān)護(hù)考核標(biāo)準(zhǔn)
- (完整word版)申論寫作格子紙模板
評(píng)論
0/150
提交評(píng)論