數(shù)控車床由淺入深的宏程序?qū)嵗齙第1頁
數(shù)控車床由淺入深的宏程序?qū)嵗齙第2頁
數(shù)控車床由淺入深的宏程序?qū)嵗齙第3頁
數(shù)控車床由淺入深的宏程序?qū)嵗齙第4頁
數(shù)控車床由淺入深的宏程序?qū)嵗齙第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、宏程序 裳華職業(yè)技術(shù)中專 鮑新濤宏程序概述 其實說起來宏就是用公式來加工零件的,比如說橢圓,如果沒有宏的話,我們要逐點算出曲線上的點,然后慢慢來用直線逼近,如果是個光潔度要求很高的工件的話,那么需要計算很多的點,可是應(yīng)用了宏后,我們把橢圓公式輸入到系統(tǒng)中然后我們給出Z坐標(biāo)并且每次加10um那么宏就會自動算出X坐標(biāo)并且進(jìn)行切削, 實際上宏在程序中主要起到的是運(yùn)算作用。.宏一般分為A類宏和B類宏。A類宏是以G65 Hxx P#xx Q#xx R#xx的格式輸入的,而B類宏程序則是以直接的公式和語言輸入的和C語言很相似在0i系統(tǒng)中應(yīng)用比較廣。宏程序的作用數(shù)控系統(tǒng)為用戶配備了強(qiáng)有力的類似于高級語言的宏

2、程序功能,用戶可以使用變量進(jìn)行算術(shù)運(yùn)算、邏輯運(yùn)算和函數(shù)的混合運(yùn)算,此外宏程序還提供了循環(huán)語句、分支語句和子程序調(diào)用語句,利于編制各種復(fù)雜的零件加工程序,減少乃至免除手工編程時進(jìn)行繁瑣的數(shù)值計算,以及精簡程序量。宏程序指令適合拋物線、橢圓、雙曲線等沒有插補(bǔ)指令的曲線編程;適合圖形一樣,只是尺寸不同的系列零件的編程;適合工藝路徑一樣,只是位置參數(shù)不同的系列零件的編程。較大地簡化編程;擴(kuò)展應(yīng)用范圍。宏的分類B類宏由于現(xiàn)在B類宏程序的大量使用,很多書都進(jìn)行了介紹這里我就不再重復(fù)了,但在一些老系統(tǒng)中,比如發(fā)那科(FANUC)OTD系統(tǒng)中由于它的MDI鍵盤上沒有公式符號,連最簡單的等于號都沒有,為此如果應(yīng)

3、用B類宏程序的話就只能在計算機(jī)上編好再通過RSN-32接口傳輸?shù)臄?shù)控系統(tǒng)中,可是如果我們沒有PC機(jī)和RSN-32電纜的話怎么辦呢,那么只有通過A類宏程序來進(jìn)行宏程序編制了,下面我介紹一下A類宏的引用;A類宏A類宏是用G65 Hxx P#xx Q#xx R#xx或G65 Hxx P#xx Qxx Rxx格式輸入的,xx的意思就是數(shù)值,是以um級的量輸入的,比如你輸入100那就是0.1MM.#xx就是變量號,變量號就是把數(shù)值代入到一個固定的地址中,固定的地址就是變量,一般OTD系統(tǒng)中有#0#100#149#500#531.關(guān)閉電源時變量#100#149被初始化成“空”,而變量#500#531保持?jǐn)?shù)

4、據(jù).我們?nèi)绻f#100=30那么現(xiàn)在#100地址內(nèi)的數(shù)據(jù)就是30了,就是這么簡單.好現(xiàn)在我來說一下H代碼,大家可以看到A類宏的標(biāo)準(zhǔn)格式中#xx和xx都是數(shù)值,而G65表示使用A類宏,那么這個H就是要表示各個數(shù)值和變量號內(nèi)的數(shù)值或者各個變量號內(nèi)的數(shù)值與其他變量號內(nèi)的數(shù)值之間要進(jìn)行一個什么運(yùn)算,可以說你了解了H代碼A類宏程序你基本就可以應(yīng)用了,好,現(xiàn)在說一下H代碼的各個含義:應(yīng)用以下都以#100和#101和#102,及數(shù)值10和20做為例子,應(yīng)用的時候別把他們當(dāng)格式就行,基本指令H01賦值;格式:G65H01P#101Q#102:把#102內(nèi)的數(shù)值賦予到#101中G65H01P#101Q#10:把

5、#10賦予到#101中H02加指令;格式G65 H02 P#101 Q#102 R#103,把#102的數(shù)值加上#103的數(shù)值賦予#101G65 H02 P#101 Q#102 R10G65 H02 P#101 Q10 R#103G65 H02 P#101 Q10 R20上面4個都是加指令的格式都是把Q后面的數(shù)值或變量號內(nèi)的數(shù)值加上R后面的數(shù)值或變量號內(nèi)的數(shù)值然后等于到P后面的變量號中.H03減指令;格式G65 H03 P#101 Q#102 R#103,把#102的數(shù)值減去#103的數(shù)值賦予#101G65 H03 P#101 Q#102 R10G65 H03 P#101 Q10 R#103G

6、65 H03 P#101 Q20 R10上面4個都是減指令的格式都是把Q后面的數(shù)值或變量號內(nèi)的數(shù)值減去R后面的數(shù)值或變量號內(nèi)的數(shù)值然后等于到P后面的變量號中.H04乘指令;格式G65 H04 P#101 Q#102 R#103,把#102的數(shù)值乘上#103的數(shù)值賦予#101G65 H04 P#101 Q#102 R10G65 H04 P#101 Q10 R#103G65 H04 P#101 Q20 R10上面4個都是乘指令的格式都是把Q后面的數(shù)值或變量號內(nèi)的數(shù)值乘上R后面的數(shù)值或變量號內(nèi)的數(shù)值然后等于到P后面的變量號中.H05除指令;格式G65 H05P#101 Q#102 R#103,把#1

7、02的數(shù)值除以#103的數(shù)值賦予#101G65 H05 P#101 Q#102 R10G65 H05 P#101 Q10 R#103G65 H05 P#101 Q20 R10上面4個都是除指令格式都是把Q后面的數(shù)值或變量號內(nèi)的數(shù)值除以R后面的數(shù)值或變量號內(nèi)的數(shù)值然后等于到P后面的變量號中.(余數(shù)不存,除數(shù)如果為0的話會出現(xiàn)112報警)三角函數(shù)指令H31 SIN正玄函數(shù)指令:格式G65 H31 P#101 Q#102 R#103;含義Q后面的#102是三角形的斜邊R后面的#103內(nèi)存的是角度.結(jié)果是#101=#102*SIN#103,也就是說可以直接用這個求出三角形的另一條邊長.和以前的指令一樣

8、Q和R后面也可以直接寫數(shù)值.H32 COS余玄函數(shù)指令:格式G65 H32 P#101 Q#102 R#103;含義Q后面的#102是三角形的斜邊R后面的#103內(nèi)存的是角度.結(jié)果是#101=#102*COS#103,也就是說可以直接用這個求出三角形的另一條邊長.和以前的指令一樣Q和R后面也可以直接寫數(shù)值.H33和H34本來應(yīng)該是TAN 和ATAN的可是經(jīng)過我使用得數(shù)并不準(zhǔn)確,希望有知道的人能夠告訴我是為什么?開平方根指令H21;格式G65 H21 P#101 Q#102 ;意思是把#102內(nèi)的數(shù)值開了平方根然后存到#101中(這個指令是非常重要的如果在車橢圓的時候沒有開平方根的指令是沒可能用

9、宏做到的.無條件轉(zhuǎn)移指令H80;格式:G65 H80 P10 ;直接跳到第10程序段有條件轉(zhuǎn)移指令H81 H82 H83 H84 H85 H86 ,分別是等于就轉(zhuǎn)的H81;不等于就轉(zhuǎn)的H82;小于就轉(zhuǎn)的H83;大于就轉(zhuǎn)的H84;小于等于就轉(zhuǎn)的H85;大于等于就轉(zhuǎn)的H86;格式:G65 H8x P10 Q#101 R#102;將#101內(nèi)的數(shù)值和#102內(nèi)的數(shù)值相比較,按上面的H8x的碼帶入H8x中去,如果條件符合就跳到第10程序段,如果不符合就繼續(xù)執(zhí)行下面的程序段.4B類宏程序定義能完成某一功能的一系列指令像子程序那樣存入存儲器,用戶可以設(shè)定M、S、T、G代碼調(diào)用它們,使用時只需給出這個指令代

10、碼就能執(zhí)行其功能,也可以像調(diào)用子程序一樣使用。這樣的程序也稱作用戶宏程序l 調(diào)用宏程序的指令宏指令l 特點:使用變量變量的表示和使用(一) 變量表示#I(I=1,2,3,)或#<式子>例:#5,#109,#501,#1+#212(二) 變量的使用1 地址字后面指定變量號或公式格式:<地址字>#I這里的“I”代表變量號例:F#103,設(shè)#103=15則為F15Z#110,設(shè)#110=250則為Z250X#24+#18*COS#12 變量號可用變量代替例:#30,設(shè)#30=3則為#33 變量不能使用地址O,N,I例:下述方法下允許O#1;I#26.00×100.0

11、;N#3Z200.0;4 變量號所對應(yīng)的變量,對每個地址來說,都有具體數(shù)值范圍例:#30=1100時,則M#30是不允許的5 #0為空變量,沒有定義變量值的變量也是空變量6 變量值定義:程序定義時可省略小數(shù)點,例:#123=149MDI鍵盤輸一 變量的種類1. 局部變量#1#33一個在宏程序中局部使用的變量,其運(yùn)算結(jié)果其他程序不可使用。例:A宏程序B宏程序#10=20X#10不表示X20斷電后清空,調(diào)用宏程序時代入變量值2. 公共變量。早期(#100#149,#500#531 )、新系統(tǒng)(#100#199,#500#999)各用戶宏程序內(nèi)公用的變量 ,其運(yùn)算結(jié)果任何程序調(diào)用都相同。例:上例中#

12、10改用#100時,B宏程序中的X#100表示X20#100#149斷電后清空#500#531保持型變量(斷電后不丟失)3. 系統(tǒng)變量固定用途的變量,其值取決于系統(tǒng)的狀態(tài)例:#2001值為1號刀補(bǔ)X軸補(bǔ)償值#5221值為X軸G54工件原點偏置值入時必須輸入小數(shù)點,小數(shù)點省略時單位為m運(yùn)算指令運(yùn)算式的右邊可以是常數(shù)、變量、函數(shù)、式子式中#j,#k也可為常量式子右邊為變量號、運(yùn)算式1 定義#I=#j2 算術(shù)運(yùn)算#I=#j+#k#I=#j#k#I=#j*#k#I=#j/#k3 邏輯運(yùn)算#I=#JOK#k#I=#JXOK#k#I=#JAND#k4 函數(shù)#I=SIN#j 正弦#I=COS#j 余弦#I=

13、TAN#j 正切#I=ATAN#j 反正切#I=SQRT#j平方根#I=ABS#j絕對值#I=ROUND#j四舍五入化整#I=FIX#j上取整#I=FUP#j下取整#I=BIN#jBCDBIN(二進(jìn)制)#I=BCN#jBINBCD1 說明1) 角度單位為度例:90度30分為905度2) ATAN函數(shù)后的兩個邊長要用“/ ”隔開例:#1=ATAN1/1時,#1為了3503) ROUND用于語句中的地址,按各地址的最小設(shè)定單位進(jìn)行四舍五入例:設(shè)#1=12345,#2=23456,設(shè)定單位1mG91X#1;X1235X#2F300;X2346X#1+#2;X3580未返回原處,應(yīng)改為XROUND#1

14、+ROUND#2;4) 取整后的絕對值比原值大為上取整,反之為下取整例:設(shè)#1=12,#2=12時若#3=FUP#1時,則#3=20若#3=FIX#1時,則#3=10若#3=FUP#2時,則#3=20若#3=FIX#2時,則#3=105) 指令函數(shù)時,可只寫開頭2個字母例:ROUNDROFIXFI6) 優(yōu)先級函數(shù)乘除(*,1,AND)加減(+,OR,XOR)例:#1=#2+#3*SIN#4;7) 括號為中括號,最多5重,園括號用于注釋語句例:#1=SIN#2+#3*#4+#5*#6;(3重)轉(zhuǎn)移與循環(huán)指令1無條件的轉(zhuǎn)移格式:GOTO1;GOTO#10;2條件轉(zhuǎn)移格式:IF<條件式>

15、GOTOn條件式:#jEQ#k 表示=#jNE#k 表示#jGT#k 表示>#jLT#k 表示<#jGE#k 表示#jLE#k 表示例:IF#1GT10GOTO100;N100G00G91 X10;例:求1到10之和O9500;#1=0#2=1N1IF#2GT10GOTO2#1=#1+#2;#2=#2+1;GOTO1N2M301循環(huán)格式:WHILE<條件式>DOm;(m=1,2,3)ENDm說明:1條件滿足時,執(zhí)行DOm到ENDm,則從DOm的程序段不滿足時,執(zhí)行DOm到ENDm的程序段2省略WHILE語句只有DOmENDm,則從DOm到ENDm之間形成死循環(huán)3嵌套4E

16、QNE時,空和“0”不同其他條件下,空和“0”相同例:求1到10之和O0001;#1=0;#2=1;WHILE#2LE10DO1;#1=#1+#2;#2=#2+#1;END1;M30由淺入深宏程序1-宏程序入門基礎(chǔ)之銷軸加工對于沒有接觸過宏程序人,覺得它很神秘,其實很簡單,只要掌握了各類系統(tǒng)宏程序的基本格式,應(yīng)用指令代碼,以及宏程序編程的基本思路即可。對于初學(xué)者,尤其是要精讀幾個有代表性的宏程序,在此基礎(chǔ)上進(jìn)行模仿,從而能夠以此類推,達(dá)到獨立編制宏程序的目的。本教程將分步由淺入深的將宏程序講解給大家,作者水平有限,也希望各位同仁提供更好的思路。下面大家先看一個簡單的車床的程序,圖紙如下:要求用

17、外圓刀切削一個短軸,這里只列舉程序的前幾步:T0101 M3S800 G0X82Z5 G0X76 G1Z-40F0.2 X82G0Z5 G0X72 G1Z-40F0.2 X82 G0Z5 G0X68G1Z-40F0.2 X82 G0Z5 G0X68G1Z-40F0.2 X82 G0Z5 . G0X40 G1Z-40F0.2X82 G0Z5 G0X150Z150 M5 M30從上面程序可以看出,每次切削所用程序都只是切削直徑X有變化,其他程序代碼未變。因此可以將一個變量賦給X,而在每次切削完之后,將其改變?yōu)橄麓吻邢魉弥睆郊纯?。O5679T0101M3S800G0X82Z5#1=76 賦初始值,

18、即第一次切削直徑N10 G0X#1 將變量賦給X,則X方向進(jìn)刀的直徑則為#1變量中實際存儲值。N10是程序G1Z-40F0.2 段的編號,用來標(biāo)識本段,為后面循環(huán)跳轉(zhuǎn)所用。X82G0Z5#1=#1-4 每行切深為2mm,直徑方向遞減4mmIF #1GE40 GOTO 10 如果#1 >= 40,即此表達(dá)式滿足條件,則程序跳轉(zhuǎn)到N10繼續(xù)執(zhí)行。G0X150Z150 當(dāng)不滿足#1 >= 40,即#1<40,則跳過循環(huán)判斷語句,由此句繼續(xù)向后執(zhí)行。M5M30由淺入深宏程序2-宏程序之銷軸粗精加工本篇文章利用宏程序簡單模仿數(shù)控系統(tǒng)的外圓車削循環(huán)功能。在此用前一篇的圖紙與程序原程序:O

19、0985T0101M3S800G0X82Z5 粗加工開始#2=0.05 Z向的加工余量#3=0.5 外圓方向的加工余量#4=0.3 每層切削后的回退量#1=76+2*#3 考慮了精加工余量的第一次切削直徑N10 G0X#1 將變量賦給X,則X方向進(jìn)刀的直徑則為#1變量中實際存儲值。N10是程序G1Z-40+#2F0.2 段的編號,用來標(biāo)識本段,為后面循環(huán)跳轉(zhuǎn)所用。X#1+#4 每次切削只回退#4的值G0Z5#1=#1-4 單邊切深為2mm,直徑方向每次遞減4mmIF #1GE40 GOTO 10 如果#1 >= 40,即此表達(dá)式滿足條件,則程序跳轉(zhuǎn)到N10繼續(xù)執(zhí)行。M03S1200 當(dāng)不

20、滿足#1 >= 40,即#1<40,則跳過循環(huán)判斷語句,由此句繼續(xù)向后執(zhí)行。G0X40 由此開始精加工G1Z-40F0.1X82G0X150Z150M5M30由淺入深宏程序3-宏程序車半球面在不使用循環(huán)切削加工圓弧時,可以有幾種不同的方式來安排走刀軌跡,本篇文章采用將圓弧段沿X方向偏移,由外籍內(nèi)的加工方式進(jìn)行。如圖所示R20圓弧,假設(shè)刀具每次單邊切深2mm,直徑每刀吃4mm,則由端面切入的位置可以計算出需要切削:40/4=10 刀每條圓弧起點和終點的Z坐標(biāo)不變,但X坐標(biāo)都同時向+X方向偏移一個相同的值,因此可設(shè)偏移量為#1,初始值為#1=36圓弧起點 X坐標(biāo)為 #2=0+#1圓弧終

21、點 X坐標(biāo)為 #3=40+#1宏程序編制如下:O3456T0101M3S800G0X42Z5#1=36 賦初始值,即第一個圓弧直徑偏移量N10 #2=0+#1 計算圓弧起點的X坐標(biāo)#3=40+#1 計算圓弧終點的X坐標(biāo)G0X#2 快速到達(dá)切削直徑G1Z0F0.1 直線切至圓弧起點G3X#3Z-20R20F0.1 切削圓弧G1X42 直線插補(bǔ)切削至外圓G0Z5 退至端面外側(cè)#1=#1-4 直徑方向遞減4mmIF #1 GE 0 GOTO 10 如果#1 >= 0,即此表達(dá)式滿足條件,則程序跳轉(zhuǎn)到N10繼續(xù)執(zhí)行。G0X150Z150 當(dāng)不滿足#1 >=0,即#1<0,則最后一條圓

22、弧已經(jīng)切完,跳出循環(huán)。M5M30由淺入深宏程序4-圓的標(biāo)準(zhǔn)方程編制宏程序車半球面我們知道無論什么樣的曲線,數(shù)控系統(tǒng)都是CAD/CAM軟件在處理時都會將其按照內(nèi)部的算法劃分成小段的直線進(jìn)行加工,接下來我們利用圓的方程來將直線劃分成小段直線在利用宏程序?qū)ζ浼庸?。下圖為圓的標(biāo)準(zhǔn)方程X*X+Y*Y=R*R, 若將X和Y用參數(shù)變量代替可改寫為 #1*#1+#2*#2=R*R圓弧可沿#1方向劃分成無數(shù)小段直線,然后求出其相應(yīng)端點坐標(biāo),再求出相對的數(shù)控車床中的坐標(biāo),再按直線進(jìn)行編程加工。如下圖所示:則此段圓弧精加工軌跡為:G0X0G1Z0F0.1#1=0N10 #2=SQRT20*20-#1*#1 SQRT

23、表示開平方#3=#1-20 圓的原點在工件坐標(biāo)左側(cè)20,所以圓弧上所有點坐標(biāo)Z要減20#4=2*#2 圓的方程計算出的為半徑值,需轉(zhuǎn)化為直徑值才能與直徑編程對應(yīng)。G1X#4Z#3F0.1 沿小段直線插補(bǔ)加工#1=#1-0.5 遞減一小段距離,此值越小,圓弧越光滑。IF #1GE0 GOTO 10 條件判斷是否到達(dá)終點。G1X42 直線切出外圓如果要再加上分層的粗加工,設(shè)偏移量為#5,則程序改為O6789T0101M3S800G0X42Z5#5=36N5 G0X#5G1Z0F0.1#1=20N10 #2=SQRT20*20-#1*#1 SQRT表示開平方#3=#1-20 圓的原點在工件坐標(biāo)左側(cè)2

24、0,所以圓弧上所有點坐標(biāo)Z要減20#4=2*#2+#5 圓的方程計算出的為半徑值,需轉(zhuǎn)化為直徑值才能與直徑編程對應(yīng)。G1X#4Z#3F0.1 沿小段直線插補(bǔ)加工#1=#1-0.5 遞減一小段距離,此值越小,圓弧越光滑。IF #1 GE 0 GOTO 10 條件判斷是否到達(dá)終點。G1X42 直線插補(bǔ)切出外圓G0Z5#5=#5-4IF #5 GE 0 GOTO 5G0X150Z150M5M30以上程序分內(nèi)外二層循環(huán),外層循環(huán)為分層加工,內(nèi)層循環(huán)為小段直線插補(bǔ)一條圓弧。由淺入深宏程序5-圓的參數(shù)方程編制宏程序車半球面圓的標(biāo)準(zhǔn)方程為:X=R*COS Y=R*SIN可改寫為: #1=20*cos#3 #

25、3為參數(shù)方程對應(yīng)圖紙中角度 #2=20*sin#3使用參數(shù)方程比圓的標(biāo)準(zhǔn)方程具有一個優(yōu)點,從下圖中可以看出,使用標(biāo)準(zhǔn)方程式,在工件最右端,劃分直線坡度較大,從右至左劃分線段不均勻,而使用圓的參數(shù)方程所劃分的直線段是按照圓周方向劃分的,因此分布均勻,從而使用零件表面加工質(zhì)量好。相應(yīng)程序修改如下:O9876T0101M3S800G0X42Z5#6=36N5 G0X#6G1Z0F0.1#3=0N10 #1=20*COS#3 #2=20*SIN#3 #4=2*#2+#6 圓的方程計算出的為半徑值,需轉(zhuǎn)化為直徑值才能與直徑編程對應(yīng)。#5=#1-20G1X#4Z#5F0.1 沿小段直線插補(bǔ)加工#3=#3+

26、3 遞減3度,此值越小,圓弧越光滑。IF #3 LE 90 GOTO 10 條件判斷是否到達(dá)終點。G1X42 直線插補(bǔ)切到工件外圓之外G0Z5#6=#6-4IF #6 GE 0 GOTO 5G0X150Z150M5M30由淺入深宏程序6-利用橢圓標(biāo)準(zhǔn)方程編制數(shù)控車宏程序橢圓的標(biāo)準(zhǔn)方程:橢圓宏程序結(jié)構(gòu)流程:如果看了前幾篇,那么接下來這兩篇加工橢圓的宏程序應(yīng)該很容易理解。橢圓標(biāo)準(zhǔn)方程X*X/a*a+Y*Y/b*b=1,其中a為長半軸,b為短半軸,若將X和Y用參數(shù)變量代替可改寫為#1*#1/a*a+#2*#2/b*b=1橢圓可沿長半軸#1方向劃分成無數(shù)小段直線,然后求出其相應(yīng)端點坐標(biāo),再求出相對的數(shù)

27、控車床中的坐標(biāo),再按直線進(jìn)行編程加工。如下圖所示:假設(shè)橢圓a=30,b=20,只加工半個橢圓,則此段橢圓精加工軌跡為:G0X0G1Z0F0.1#1=30N10 #2=20*SQRT1-30*30/#1*#1 SQRT表示開平方#3=#1-30 橢圓的原點在工件坐標(biāo)左側(cè)30,所以橢圓上所有點坐標(biāo)Z要減20#4=2*#2 方程計算出的為半徑值,需轉(zhuǎn)化為直徑值才能按直徑編程。G1X#4Z#3F0.1 沿小段直線插補(bǔ)加工#1=#1-1 遞減一小段距離,此值越小,橢圓越光滑。IF #1GE0 GOTO 10 條件判斷是否到達(dá)終點。G1X42 直線切出外圓如果要再加上分層的粗加工,設(shè)偏移量為#5,則程序改

28、為O5678T0101M3S800G0X42Z5#5=36N5 G0X#5G1Z0F0.1#1=30N10 #2=20*SQRT30*30-#1*#1/30 SQRT表示開平方#3=#1-30 橢圓的原點在工件坐標(biāo)左側(cè)30,所以橢圓上所有點坐標(biāo)Z要減20#4=2*#2 方程計算出的為半徑值,需轉(zhuǎn)化為直徑值才能按直徑編程。G1X#4Z#3F0.1 沿小段直線插補(bǔ)加工#1=#1-1 遞減一小段距離,此值越小,橢圓越光滑。IF #1GE0 GOTO 10 條件判斷是否到達(dá)終點。G1X42 直線插補(bǔ)切出外圓G0Z5#5=#5-4IF #5 GE 0 GOTO 5G0X150Z150M5M30以上程序分

29、內(nèi)外二層循環(huán),外層循環(huán)為分層加工,內(nèi)層循環(huán)為小段直線插補(bǔ)一條四分之一橢圓弧。由淺入深宏程序7-橢圓的參數(shù)方程編制宏程序車橢球面橢圓的參數(shù)方程為:X=a*COS Y=b*SIN可改寫為: #1=30*cos#3 #3為參數(shù)方程對應(yīng)的中角度 #2=20*sin#3相應(yīng)程序修改如下:O3456T0101M3S800G0X42Z5#6=36N5 G0X#6G1Z0F0.1#3=0N10 #1=30*COS#3 #2=20*SIN#3 #4=2*#2+#6 計算出的為半徑值,需轉(zhuǎn)化為直徑值才能與直徑編程對應(yīng)。#5=#1-30G1X#4Z#5F0.1 沿小段直線插補(bǔ)加工#3=#3+3 遞減3度,此值越小,

30、工件表面越光滑。IF #3 LE 90 GOTO 10 條件判斷是否到達(dá)終點。G1X42 直線插補(bǔ)切到工件外圓之外G0Z5#6=#6-4IF #6 GE 0 GOTO 5G0X150Z150M5M30由淺入深宏程序8-車床任意位置橢圓宏程序的編制不在軸線上的橢圓宏程序編制也沒有什么特殊的,只是改下偏置的數(shù)值罷了。橢圓的參數(shù)方程為:X=a*COS Y=b*SIN可改寫為: #1=30*cos#3 #3為參數(shù)方程對應(yīng)的中角度 #2=20*sin#3圖中橢圓長半軸30mm,短半軸20mm,橢圓中心位置如圖所示,不在軸線上,因此在計算編程所用的坐標(biāo)值時,X方向要再加上40,Z方向要減去30+10=30

31、相應(yīng)程序如下:O2345T0101M3S800G0X82Z5#6=36N5 G0X#6+40G1Z-10F0.1#3=0N10 #1=30*COS#3 #2=20*SIN#3 #4=2*#2+#6+40 計算出的為半徑值,需轉(zhuǎn)化為直徑值才能與直徑編程對應(yīng)。#5=#1-30-10G1X#4Z#5F0.1 沿小段直線插補(bǔ)加工#3=#3+3 遞減3度,此值越小,工件表面越光滑。IF #3 LE 90 GOTO 10 條件判斷是否到達(dá)終點。G1X82 直線插補(bǔ)切到工件外圓之外G0Z5#6=#6-4IF #6 GE 0 GOTO 5G0X150Z150M5M30由淺入深宏程序9-車床旋轉(zhuǎn)橢圓宏程序的編制

32、要對斜橢圓進(jìn)行編程,首先要知道單個坐標(biāo)點旋轉(zhuǎn)所用的公式。如下圖所示,單個點逆時針旋轉(zhuǎn)一定角度,公式推導(dǎo)如下:s = r cos(a + b) = r cos(a)cos(b) r sin(a)sin(b)   (1.1)t = r sin(a + b) = r sin(a)cos(b) + r cos(a) sin(b)  (1.2)其中 x = r cos(a)  , y = r sin(a)代入(1.1), (1.2) ,s = x cos(b) y sin(b)    (1.3)t = x sin(b) + y cos

33、(b)    (1.4)根據(jù)下圖,原來的點(#1,#2),旋轉(zhuǎn)后的點(#4,#5),則公式:#4=#1*COS30- #2*SIN30#5=#1*SIN30+ #2*COS30下圖中橢圓旋轉(zhuǎn)了30度,即#1=30旋轉(zhuǎn)前后的點坐標(biāo)的坐標(biāo)原點都是橢圓中心。程序如下:O1234T0101M3S800G0X82Z5#6=16 工件毛坯假設(shè)為90mm,#6為每層切削時橢圓弧向+X的偏移量。N5 G0X#6+30+40 斜橢圓與端面的交點直徑為70G1Z0F0.1#3=0N10 #1=30*COS#3 對應(yīng)角度#3的橢圓上的一個點的坐標(biāo),此為未旋轉(zhuǎn)的橢圓的點#2=20*SIN

34、#3 #4=#1*COS30- #2*SIN30 旋轉(zhuǎn)30度之后對應(yīng)的坐標(biāo)值#5=#1*SIN30+ #2*COS30#7=2*#4+#6+40 坐標(biāo)平移后的坐標(biāo)。#8=#1-26G1X#7Z#8F0.1 沿小段直線插補(bǔ)加工#3=#3+3 遞減3度,此值越小,工件表面越光滑。IF #3 LE 90 GOTO 10 條件判斷是否到達(dá)終點。G1X92 直線插補(bǔ)切到工件外圓之外G0Z5#6=#6-4IF #6 GE 0 GOTO 5G0X150Z150 M5M30橢圓加工:零件材料45鋼,毛坯為50mm×100mm,按圖要求完成數(shù)控加工程序。O0001;T0101 ;M03 S800;G0

35、 X51. Z2.;G71 U1.5 R1. ;(粗車右端外形輪廓)G71 P10 Q20 U0.5 W0.1 F150 ;N10 G1 X25.966;(橢圓處外徑)Z0.;Z-19.;X35.988 Z-29.;Z-46;X44.;X45.992 Z-47.;N20 Z-55.;G70 P10 Q20 S1000 F120;(精車右端外形輪廓)G00 X100.;Z50.;S800 F150;#150 = 26.;(定義橢圓加工余量)N30 IF #150 LT 1 GOTO 40;(如果余量小于1,跳到40句)M98 P0003;(調(diào)用橢圓加工宏程序)#150 = #150 - 2;(每

36、次遞減2mm)GOTO 30 ;(無條件跳轉(zhuǎn)到30句)N40 G0 X30. Z2.;S1500 F80;#150 =0;(開始精加工橢圓輪廓)M98 P0003;G0 X100. Z5.;M30;O0003;(橢圓加工子程序)#101=20.;(橢圓長半軸)#102=13.;(橢圓短半軸)#103=20.;(起點處Z坐標(biāo))N20 IF #103 LT 1 GOTO 50;(如果Z值小于1跳轉(zhuǎn)到50句)#104 = SQRT#101*#101 - #103*#103;(構(gòu)造 )#105 = #102*#104/#101;(構(gòu)造 )G01 X2*#105 + #150 Z#103 20;(直徑值

37、定義加上加工余量,Z向偏移橢圓長半軸)#103 = #103 0.5;(Z坐標(biāo)遞減0.5mm)GOTO 20;(絕對跳轉(zhuǎn)到20句)N50 G00 U2. Z2.;(退刀)M99;橢圓輪廓編程技巧O0027;T0101 ;G98;M43;M03 S800;G0 X80. Z5.;G73 U25 R25;(調(diào)用粗車循環(huán)加工橢圓輪廓)G73 P10 Q20 U0.5 W0 F150 ;N10 G1 X30 Z0;(輪廓起點)Z-8.79;#100=-8.79;(橢圓起點Z坐標(biāo))N15 #102=#100+44* #100+44; #103=SQRT36*36-#102;(構(gòu)造 )#104=10+2/

38、3*#103;(構(gòu)造 X向半徑偏移10mm)#105=2*#104;G01 X#105 Z#100;#100=#100-2;(Z向遞減2mm)IF #100GT-72.102 GOTO 15(如果Z坐標(biāo)值大于-72.102跳轉(zhuǎn)到15句)G00 U30;N20 X70;G00 X80 Z5;G70 P10 Q20 F100;(精加工橢圓輪廓)G00 X100;Z100;M05;M30;參數(shù)方程編寫橢圓宏程序:O0271;T0101;M03 S800;G0 X36 Z26;#20=26;(X向總加工余量)N56 G0 U2;Z26;(Z向加工起點)N100 #20=#20-2;(X向遞減2mm)#

39、1=12.5;(橢圓短半軸)#2=25;(橢圓長半軸)#3=0.5;(起始處橢圓離心角)#5=90;(終止處橢圓離心角)WHILE #3 LT #5 DO2;(當(dāng)起始角小于終止角時執(zhí)行DO2到之間的程序段)#6=#2*COS#3;(構(gòu)造)#7=2*#1*SIN#3;(構(gòu)造)G1 X#7+#20 Z#6 F150;(橢圓坐標(biāo)加余量值)#3=#3+#4;(橢圓離心角遞增)#10=#7+#20;(向當(dāng)前點坐標(biāo))IF #10 GT 26 GOTO 56;(如果向當(dāng)前點坐標(biāo)大于跳轉(zhuǎn)到句從新定起點)END 2G0 U2;Z26;(退刀)IF #20 GE 0 GOTO 100;(如果余量大于等于跳轉(zhuǎn)到句)

40、G0 X100;M05;M30;拋物線類零件的宏程序編制拋物線宏程序編制:O0272;M03 S800;G98;G00 X90 Z100;N10 #24=0;(拋物線頂點處值)#26=0; (拋物線頂點處值)#17=-10;(常量)#22=42;(拋物線開口處直徑)#6=1;(每次步進(jìn)量)#9=100;(進(jìn)給率)G00 X#24 Z#26+5;(加工起點)G01 Z#26 F2*#9;N30 #24=#24+#6;(向遞增)#26=#24*#24/#17; (構(gòu)造 )G01X2*#24 Z#26 F#9;N60 IF #24 LT #22/2 GOTO 30;(如果X值小于開口處直徑一半跳轉(zhuǎn)到30句)G01 X#22 Z#26 F3*#9;M05;M30;雙曲線過渡類零件的宏程序編制焦點在X軸上的雙曲線,其標(biāo)準(zhǔn)方程為焦點在Y軸上的雙曲線宏程序編制:程序編制:O0273;T0101;M03 S500;G98;G01 X10;Z-5.05;X17.524;#1=20;N10 #2=38-10/SIN#1;#3=-60+20/TAN#1;G01 X2*#2 Z#3;#1=#1+1;IF #1 LT 80 GOTO 10;G01 X56 Z-56.473;X60;G

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論