數(shù)控車床由淺入深的宏程序?qū)嵗v
《數(shù)控車床由淺入深的宏程序?qū)嵗v》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)控車床由淺入深的宏程序?qū)嵗v(33頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 宏程序精講實(shí)例 裳華職業(yè)技術(shù)中專 鮑新濤 宏程序概述 其實(shí)說起來宏就是用公式來加工零件的,比如說橢圓,如果沒有宏的話,我們要逐點(diǎn)算出曲線上的點(diǎn),然后慢慢來用直線逼近,如果是個(gè)光潔度要求很高的工件的話,那么需要計(jì)算很多的點(diǎn),可是應(yīng)用了宏后,我們把橢圓公式輸入到系統(tǒng)中然后我們給出Z坐標(biāo)并且每次加10um那么宏就會(huì)自動(dòng)算出X坐標(biāo)并且進(jìn)行切削, 實(shí)際上宏在程序中主要起到的是運(yùn)算作用。.宏一般分為A類宏和B類宏。A類宏是以G65 Hxx P#xx Q#xx R#xx的格式輸入的,而B類宏
2、程序 則是以直接的公式和語言輸入的和C語言很相似在0i系統(tǒng)中應(yīng)用比較廣。 宏程序的作用 數(shù)控系統(tǒng)為用戶配備了強(qiáng)有力的類似于高級(jí)語言的宏程序功能,用戶可以使用變量進(jìn)行算術(shù)運(yùn)算、邏輯運(yùn)算和函數(shù)的混合運(yùn)算,此外宏程序還提供了循環(huán)語句、分支語句和子程序調(diào)用語句,利于編制各種復(fù)雜的零件加工程序,減少乃至免除手工編程時(shí)進(jìn)行繁瑣的數(shù)值計(jì)算,以及精簡程序量。 宏程序指令適合拋物線、橢圓、雙曲線等沒有插補(bǔ)指令的曲線編程;適合圖形一樣,只是尺寸不同的系列零件的編程;適合工藝路徑一樣,只是位置參數(shù)不同的系列零件的編程。較大地簡化編程;擴(kuò)展應(yīng)用范圍。 宏的分類 B類宏 由于現(xiàn)在B類宏程序的大量使用,很多
3、書都進(jìn)行了介紹這里我就不再重復(fù)了,但在一些老系統(tǒng)中,比如發(fā)那科(FANUC)OTD系統(tǒng)中由于它的MDI鍵盤上沒有公式符號(hào),連最簡單的等于號(hào)都沒有,為此如果應(yīng)用B類宏程序的話就只能在計(jì)算機(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ù)值,是以u(píng)m級(jí)的量輸入的,比如你輸入100那就是0.1MM.#xx就是變量號(hào),變量號(hào)就是把數(shù)值代入到一個(gè)固
4、定的地址中,固定的地址就是變量,一般OTD系統(tǒng)中有#0~#100~#149~#500~#531.關(guān)閉電源時(shí)變量#100~#149被初始化成“空”,而變量#500~#531保持?jǐn)?shù)據(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類宏,那么這個(gè)H就是要表示各個(gè)數(shù)值和變量號(hào)內(nèi)的數(shù)值或者各個(gè)變量號(hào)內(nèi)的數(shù)值與其他變量號(hào)內(nèi)的數(shù)值之間要進(jìn)行一個(gè)什么運(yùn)算,可以說你了解了H代碼A類宏程序你基本就可以應(yīng)用了,好,現(xiàn)在說一下H代碼的各個(gè)含義: 應(yīng)用 以下都以#100和#101和#102,
5、及數(shù)值10和20做為例子,應(yīng)用的時(shí)候別把他們當(dāng)格式就行, 基本指令 H01賦值;格式:G65H01P#101Q#102:把#102內(nèi)的數(shù)值賦予到#101中 G65H01P#101Q#10:把#10賦予到#101中 H02加指令;格式G65 H02 P#101 Q#102 R#103,把#102的數(shù)值加上#103的數(shù)值賦予#101 G65 H02 P#101 Q#102 R10 G65 H02 P#101 Q10 R#103 G65 H02 P#101 Q10 R20 上面4個(gè)都是加指令的格式都是把Q后面的數(shù)值或變量號(hào)內(nèi)的數(shù)值加上R后面的數(shù) 值或變量號(hào)內(nèi)的數(shù)值然后等于到P后面的
6、變量號(hào)中. H03減指令;格式G65 H03 P#101 Q#102 R#103,把#102的數(shù)值減去#103的數(shù)值賦予#101 G65 H03 P#101 Q#102 R10 G65 H03 P#101 Q10 R#103 G65 H03 P#101 Q20 R10 上面4個(gè)都是減指令的格式都是把Q后面的數(shù)值或變量號(hào)內(nèi)的數(shù)值減去R后面的數(shù) 值或變量號(hào)內(nèi)的數(shù)值然后等于到P后面的變量號(hào)中. H04乘指令;格式G65 H04 P#101 Q#102 R#103,把#102的數(shù)值乘上#103的數(shù)值賦予#101 G65 H04 P#101 Q#102 R10 G65 H04 P#10
7、1 Q10 R#103 G65 H04 P#101 Q20 R10 上面4個(gè)都是乘指令的格式都是把Q后面的數(shù)值或變量號(hào)內(nèi)的數(shù)值乘上R后面的數(shù) 值或變量號(hào)內(nèi)的數(shù)值然后等于到P后面的變量號(hào)中. H05除指令;格式G65 H05P#101 Q#102 R#103,把#102的數(shù)值除以#103的數(shù)值賦予#101 G65 H05 P#101 Q#102 R10 G65 H05 P#101 Q10 R#103 G65 H05 P#101 Q20 R10 上面4個(gè)都是除指令格式都是把Q后面的數(shù)值或變量號(hào)內(nèi)的數(shù)值除以R后面的數(shù) 值或變量號(hào)內(nèi)的數(shù)值然后等于到P后面的變量號(hào)中.(余數(shù)不存,除數(shù)如
8、果為0的話會(huì)出現(xiàn)112報(bào)警) 三角函數(shù)指令 H31 SIN正玄函數(shù)指令:格式G65 H31 P#101 Q#102 R#103;含義Q后面的#102是三角形的斜邊R后面的#103內(nèi)存的是角度.結(jié)果是#101=#102*SIN#103,也就是說可以直接用這個(gè)求出三角形的另 一條邊長.和以前的指令一樣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,也就是說可以直接用這個(gè)求出三角形的 另一條邊長.和以前的指令一樣Q和
9、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中(這個(gè)指令是非常重要的如果在車橢圓的時(shí)候沒有開平方根的指令是沒可能用宏做到的. 無條件轉(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;大于等
10、于就轉(zhuǎn)的H86; 格式:G65 H8x P10 Q#101 R#102;將#101內(nèi)的數(shù)值和#102內(nèi)的數(shù)值相比較,按上面的H8x的碼帶入H8x中去,如果條件符合就跳到第10程序段,如果不符合就繼續(xù)執(zhí)行下面的程序段. 4B類宏程序 定義 能完成某一功能的一系列指令像子程序那樣存入存儲(chǔ)器,用戶可以設(shè)定M、S、T、G代碼調(diào)用它們,使用時(shí)只需給出這個(gè)指令代碼就能執(zhí)行其功能,也可以像調(diào)用子程序一樣使用。這樣的程序也稱作用戶宏程序 l 調(diào)用宏程序的指令————宏指令 l 特點(diǎn):使用變量 變量的表示和使用 (一) 變量表示 #I(I=1,2,3,…)或#[<式子>] 例:#5,#109
11、,#501,#[#1+#2-12] (二) 變量的使用 1. 地址字后面指定變量號(hào)或公式 格式: <地址字>#I 這里的“I”代表變量號(hào) 例:F#103,設(shè)#103=15 則為F15 Z-#110,設(shè)#110=250 則為Z-250 X[#24+#18*COS[#1]] 2. 變量號(hào)可用變量代替 例:#[#30],設(shè)#30=3 則為#3 3. 變量不能使用地址O,N,I 例:下述方法下允許 O#1; I#2 6.00100.0; N#3 Z200.0; 4. 變量號(hào)所對(duì)應(yīng)的變量,對(duì)每個(gè)地址來說,都有具體數(shù)值范圍 例:#30=1100時(shí),則M#30是不允許的 5
12、. #0為空變量,沒有定義變量值的變量也是空變量 6. 變量值定義: 程序定義時(shí)可省略小數(shù)點(diǎn),例:#123=149 MDI鍵盤輸一. 變量的種類 1. 局部變量#1~#33 一個(gè)在宏程序中局部使用的變量,其運(yùn)算結(jié)果其他程序不可使用。 例: A宏程序 B宏程序 … … #10=20 X#10 不表示X20 … … 斷電后清空,調(diào)用宏程序時(shí)代入變量值 2. 公共變量。早期(#100~#149,#500~#531 )、新系統(tǒng)(#100~#199,#500~#999) 各用戶宏程序內(nèi)公用的變量 ,其運(yùn)算結(jié)果任何程序調(diào)用都相同。 例:上例中#10改用#100時(shí),B宏程序中的
13、X#100表示X20 #100~#149 斷電后清空 #500~#531保持型變量(斷電后不丟失) 3. 系統(tǒng)變量 固定用途的變量,其值取決于系統(tǒng)的狀態(tài) 例:#2001值為1號(hào)刀補(bǔ)X軸補(bǔ)償值 #5221值為X軸G54工件原點(diǎn)偏置值 入時(shí)必須輸入小數(shù)點(diǎn),小數(shù)點(diǎn)省略時(shí)單位為μm 運(yùn)算指令 運(yùn)算式的右邊可以是常數(shù)、變量、函數(shù)、式子 式中#j,#k也可為常量 式子右邊為變量號(hào)、運(yùn)算式 1. 定義 #I=#j 2. 算術(shù)運(yùn)算 #I=#j+#k #I=#j-#k #I=#j*#k #I=#j/#k 3. 邏輯運(yùn)算 #I=#JOK#k #I=#JXOK#k #I=
14、#JAND#k 4. 函數(shù) #I=SIN[#j] 正弦 #I=COS[#j] 余弦 #I=TAN[#j] 正切 #I=ATAN[#j] 反正切 #I=SQRT[#j] 平方根 #I=ABS[#j] 絕對(duì)值 #I=ROUND[#j] 四舍五入化整 #I=FIX[#j] 上取整 #I=FUP[#j] 下取整 #I=BIN[#j] BCD→BIN(二進(jìn)制) #I=BCN[#j] BIN→BCD 1. 說明 1) 角度單位為度 例:90度30分為90.5度 2) ATAN函數(shù)后的兩個(gè)邊長要用“/ ”隔開 例:#1=ATAN[1]/[-1]時(shí),#1為了35.0 3)
15、ROUND用于語句中的地址,按各地址的最小設(shè)定單位進(jìn)行四舍五入 例:設(shè)#1=1.2345,#2=2.3456,設(shè)定單位1μm G91 X-#1;X-1.235 X-#2 F300;X-2.346 X[#1+#2];X3.580 未返回原處,應(yīng)改為 X[ROUND[#1]+ROUND[#2]]; 4) 取整后的絕對(duì)值比原值大為上取整,反之為下取整 例:設(shè)#1=1.2,#2=-1.2時(shí) 若#3=FUP[#1]時(shí),則#3=2.0 若#3=FIX[#1]時(shí),則#3=1.0 若#3=FUP[#2]時(shí),則#3=-2.0 若#3=FIX[#2]時(shí),則#3=-1.0 5) 指令函數(shù)時(shí)
16、,可只寫開頭2個(gè)字母 例:ROUND→RO FIX→FI 6) 優(yōu)先級(jí) 函數(shù)→乘除(*,1,AND)→加減(+,-,OR,XOR) 例:#1=#2+#3*SIN[#4]; 7) 括號(hào)為中括號(hào),最多5重,園括號(hào)用于注釋語句 例:#1=SIN[[[#2+#3]*#4+#5]*#6];(3重) 轉(zhuǎn)移與循環(huán)指令 1.無條件的轉(zhuǎn)移 格式: GOTO 1; GOTO #10; 2.條件轉(zhuǎn)移 格式: IF[<條件式>] GOTO n 條件式: #j EQ#k 表示= #j NE#k 表示≠ #j GT#k 表示> #j LT#k 表示< #j GE#k 表示≥ #j
17、LE#k 表示≤ 例: IF[#1 GT 10] GOTO 100; … N100 G00 G91 X10; 例:求1到10之和 O9500; #1=0 #2=1 N1 IF [#2 GT10] GOTO 2 #1=#1+#2; #2=#2+1; GOTO 1 N2 M30 1.循環(huán) 格式:WHILE[<條件式>]DO m;(m=1,2,3) … … … ENDm 說明:1.條件滿足時(shí),執(zhí)行DOm到ENDm,則從DOm的程序段 不滿足時(shí),執(zhí)行DOm到ENDm的程序段 2.省略WHILE語句只有DOm…ENDm,則從DOm到ENDm之間形成死循環(huán) 3.
18、嵌套 4.EQ NE時(shí),空和“0”不同 其他條件下,空和“0”相同 例:求1到10之和 O0001; #1=0; #2=1; WHILE [#2LE10] DO1; #1=#1+#2; #2=#2+#1; END1; M30 由淺入深宏程序1-宏程序入門基礎(chǔ)之銷軸加工 對(duì)于沒有接觸過宏程序人,覺得它很神秘,其實(shí)很簡單,只要掌握了各類系統(tǒng)宏程序的基本格式,應(yīng)用指令代碼,以及宏程序編程的基本思路即可。 對(duì)于初學(xué)者,尤其是要精讀幾個(gè)有代表性的宏程序,在此基礎(chǔ)上進(jìn)行模仿,從而能夠以此類推,達(dá)到獨(dú)立編制宏程序的目的。本教程將分步由淺入深的將宏程序講解給大家,作者水平有限,也希
19、望各位同仁提供更好的思路。 下面大家先看一個(gè)簡單的車床的程序,圖紙如下: 要求用外圓刀切削一個(gè)短軸,這里只列舉程序的前幾步: T0101 M3S800 G0X82Z5 G0X76 G1Z-40F0.2 X82 G0Z5 G0X72 G1Z-40F0.2 X82 G0Z5 G0X68 G1Z-40F0.2 X82 G0Z5 G0X68 G1Z-40F0.2 X82 G0Z5 ........ G0X40 G1Z-40F0.2 X82 G0Z5 G0X150Z15
20、0 M5 M30 從上面程序可以看出,每次切削所用程序都只是切削直徑X有變化,其他程序代碼未變。因此可以將一個(gè)變量賦給X,而在每次切削完之后,將其改變?yōu)橄麓吻邢魉弥睆郊纯伞? O5679 T0101 M3S800 G0X82Z5 #1=76 賦初始值,即第一次切削直徑 N10 G0X[#1] 將變量賦給X,則X方向進(jìn)刀的直徑則為#1變量中實(shí)際存儲(chǔ)值。N10是程序 G1Z-40F0.2 段的編號(hào),用來標(biāo)識(shí)本段,為后面循環(huán)跳轉(zhuǎn)所用。 X82 G0Z5 #1=#1-4 每行切深為2mm,直徑方向遞減4mm IF [#1GE40] G
21、OTO 10 如果#1 >= 40,即此表達(dá)式滿足條件,則程序跳轉(zhuǎn)到N10繼續(xù)執(zhí)行。 G0X150Z150 當(dāng)不滿足#1 >= 40,即#1<40,則跳過循環(huán)判斷語句,由此句繼續(xù)向后執(zhí)行。 M5 M30 由淺入深宏程序2-宏程序之銷軸粗精加工 本篇文章利用宏程序簡單模仿數(shù)控系統(tǒng)的外圓車削循環(huán)功能。在此用前一篇的圖紙與程序 原程序: O0985 T0101 M3S800 G0X82Z5 粗加工開始 #2=0.05 Z向的加工余量 #3=0.5 外圓方向的加工余量 #4=0.3 每層切削后的回退量 #1=76+2*#3
22、考慮了精加工余量的第一次切削直徑 N10 G0X[#1] 將變量賦給X,則X方向進(jìn)刀的直徑則為#1變量中實(shí)際存儲(chǔ)值。N10是程序 G1Z[-40+#2]F0.2 段的編號(hào),用來標(biāo)識(shí)本段,為后面循環(huán)跳轉(zhuǎn)所用。 X[#1+#4] 每次切削只回退#4的值 G0Z5 #1=#1-4 單邊切深為2mm,直徑方向每次遞減4mm IF [#1GE40] GOTO 10 如果#1 >= 40,即此表達(dá)式滿足條件,則程序跳轉(zhuǎn)到N10繼續(xù)執(zhí)行。 M03S1200 當(dāng)不滿足#1 >= 40,即#1<40,則跳過循環(huán)判斷語句,由此句繼續(xù)向后執(zhí)行。 G0X40
23、 由此開始精加工 G1Z-40F0.1 X82 G0X150Z150 M5 M30 由淺入深宏程序3-宏程序車半球面 在不使用循環(huán)切削加工圓弧時(shí),可以有幾種不同的方式來安排走刀軌跡,本篇文章采用將圓弧段沿X方向偏移,由外籍內(nèi)的加工方式進(jìn)行。如圖所示R20圓弧,假設(shè)刀具每次單邊切深2mm,直徑每刀吃4mm,則由端面切入的位置可以計(jì)算出需要切削: 40/4=10 刀 每條圓弧起點(diǎn)和終點(diǎn)的Z坐標(biāo)不變,但X坐標(biāo)都同時(shí)向+X方向偏移一個(gè)相同的值,因此可設(shè)偏移量為#1,初始值為#1=36 圓弧起點(diǎn) X坐標(biāo)為 #2=0+#1 圓弧終點(diǎn) X坐標(biāo)為 #3=40+
24、#1 宏程序編制如下: O3456 T0101 M3S800 G0X42Z5 #1=36 賦初始值,即第一個(gè)圓弧直徑偏移量 N10 #2=0+#1 計(jì)算圓弧起點(diǎn)的X坐標(biāo) #3=40+#1 計(jì)算圓弧終點(diǎn)的X坐標(biāo) G0X[#2] 快速到達(dá)切削直徑 G1Z0F0.1 直線切至圓弧起點(diǎn) G3X[#3]Z-20R20F0.1 切削圓弧 G1X42 直線插補(bǔ)切削至外圓 G0Z5 退至端面外側(cè) #1=#1-4 直徑方向遞減4mm IF [#1 GE 0] GOTO 10 如果#1 >= 0
25、,即此表達(dá)式滿足條件,則程序跳轉(zhuǎn)到N10繼續(xù)執(zhí)行。 G0X150Z150 當(dāng)不滿足#1 >=0,即#1<0,則最后一條圓弧已經(jīng)切完,跳出循環(huán)。 M5 M30 由淺入深宏程序4-圓的標(biāo)準(zhǔn)方程編制宏程序車半球面 我們知道無論什么樣的曲線,數(shù)控系統(tǒng)都是CAD/CAM軟件在處理時(shí)都會(huì)將其按照內(nèi)部的算法劃分成小段的直線進(jìn)行加工,接下來我們利用圓的方程來將直線劃分成小段直線在利用宏程序?qū)ζ浼庸ぁO聢D為圓的標(biāo)準(zhǔn)方程 X*X+Y*Y=R*R, 若將X和Y用參數(shù)變量代替可改寫為 #1*#1+#2*#2=R*R 圓弧可沿#1方向劃分成無數(shù)小段直線,然后求出其相應(yīng)端點(diǎn)坐標(biāo),再求出相對(duì)的數(shù)控
26、車床中的坐標(biāo),再按直線進(jìn)行編程加工。如下圖所示: 則此段圓弧精加工軌跡為: G0X0 G1Z0F0.1 #1=0 N10 #2=SQRT[20*20-#1*#1] SQRT表示開平方 #3=#1-20 圓的原點(diǎn)在工件坐標(biāo)左側(cè)20,所以圓弧上所有點(diǎn)坐標(biāo)Z要減20 #4=2*#2 圓的方程計(jì)算出的為半徑值,需轉(zhuǎn)化為直徑值才能與直徑編程對(duì)應(yīng)。 G1X[#4]Z[#3]F0.1 沿小段直線插補(bǔ)加工 #1=#1-0.5 遞減一小段距離,此值越小,圓弧越光滑。 IF [#1GE0] GOTO 10 條件判斷是否到達(dá)終點(diǎn)。 G1X
27、42 直線切出外圓 如果要再加上分層的粗加工,設(shè)偏移量為#5,則程序改為 O6789 T0101 M3S800 G0X42Z5 #5=36 N5 G0X[#5] G1Z0F0.1 #1=20 N10 #2=SQRT[20*20-#1*#1] SQRT表示開平方 #3=#1-20 圓的原點(diǎn)在工件坐標(biāo)左側(cè)20,所以圓弧上所有點(diǎn)坐標(biāo)Z要減20 #4=2*#2+#5 圓的方程計(jì)算出的為半徑值,需轉(zhuǎn)化為直徑值才能與直徑編程對(duì)應(yīng)。 G1X[#4]Z[#3]F0.1 沿小段直線插補(bǔ)加工 #1=#1-0.5
28、 遞減一小段距離,此值越小,圓弧越光滑。 IF [#1 GE 0] GOTO 10 條件判斷是否到達(dá)終點(diǎn)。 G1X42 直線插補(bǔ)切出外圓 G0Z5 #5=#5-4 IF [#5 GE 0] GOTO 5 G0X150Z150 M5 M30 以上程序分內(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] #3為參數(shù)方程對(duì)應(yīng)圖紙中角度
29、 #2=20*sin[#3] 使用參數(shù)方程比圓的標(biāo)準(zhǔn)方程具有一個(gè)優(yōu)點(diǎn),從下圖中可以看出,使用標(biāo)準(zhǔn)方程式,在工件最右端,劃分直線坡度較大,從右至左劃分線段不均勻,而使用圓的參數(shù)方程所劃分的直線段是按照?qǐng)A周方向劃分的,因此分布均勻,從而使用零件表面加工質(zhì)量好。 相應(yīng)程序修改如下: O9876 T0101 M3S800 G0X42Z5 #6=36 N5 G0X[#6] G1Z0F0.1 #3=0 N10 #1=20*COS[#3] #2=20*SIN[#3] #4=2*#2+#6 圓的方程計(jì)算出的為半
30、徑值,需轉(zhuǎn)化為直徑值才能與直徑編程對(duì)應(yīng)。 #5=#1-20 G1X[#4]Z[#5]F0.1 沿小段直線插補(bǔ)加工 #3=#3+3 遞減3度,此值越小,圓弧越光滑。 IF [#3 LE 90] GOTO 10 條件判斷是否到達(dá)終點(diǎn)。 G1X42 直線插補(bǔ)切到工件外圓之外 G0Z5 #6=#6-4 IF [#6 GE 0] GOTO 5 G0X150Z150 M5 M30 由淺入深宏程序6-利用橢圓標(biāo)準(zhǔn)方程編制數(shù)控車宏程序 橢圓的標(biāo)準(zhǔn)方程: 橢圓宏程序結(jié)構(gòu)流程: 如果看了前幾篇,那么
31、接下來這兩篇加工橢圓的宏程序應(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)端點(diǎn)坐標(biāo),再求出相對(duì)的數(shù)控車床中的坐標(biāo),再按直線進(jìn)行編程加工。如下圖所示: 假設(shè)橢圓a=30,b=20,只加工半個(gè)橢圓,則此段橢圓精加工軌跡為: G0X0 G1Z0F0.1 #1=30 N10 #2=20*SQRT[1-30*30/#1*#1] SQRT表示開平方 #3=#1-30 橢圓的原點(diǎn)在工件坐標(biāo)左側(cè)
32、30,所以橢圓上所有點(diǎn)坐標(biāo)Z要減20 #4=2*#2 方程計(jì)算出的為半徑值,需轉(zhuǎn)化為直徑值才能按直徑編程。 G1X[#4]Z[#3]F0.1 沿小段直線插補(bǔ)加工 #1=#1-1 遞減一小段距離,此值越小,橢圓越光滑。 IF [#1GE0] GOTO 10 條件判斷是否到達(dá)終點(diǎn)。 G1X42 直線切出外圓 如果要再加上分層的粗加工,設(shè)偏移量為#5,則程序改為 O5678 T0101 M3S800 G0X42Z5 #5=36 N5 G0X[#5] G1Z0F0.1 #1=30 N10 #2=20*SQRT[
33、30*30-[#1*#1]]/30 SQRT表示開平方 #3=#1-30 橢圓的原點(diǎn)在工件坐標(biāo)左側(cè)30,所以橢圓上所有點(diǎn)坐標(biāo)Z要減20 #4=2*#2 方程計(jì)算出的為半徑值,需轉(zhuǎn)化為直徑值才能按直徑編程。 G1X[#4]Z[#3]F0.1 沿小段直線插補(bǔ)加工 #1=#1-1 遞減一小段距離,此值越小,橢圓越光滑。 IF [#1GE0] GOTO 10 條件判斷是否到達(dá)終點(diǎn)。 G1X42 直線插補(bǔ)切出外圓 G0Z5 #5=#5-4 IF [#5 GE 0] GOTO 5 G0X150Z150 M
34、5 M30 以上程序分內(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ù)方程對(duì)應(yīng)的中角度 #2=20*sin[#3] 相應(yīng)程序修改如下: O3456 T0101 M3S800 G0X42Z5 #6=36 N5 G0X[#6] G1Z0F0.1 #3=0 N10 #1=30*COS[#3]
35、 #2=20*SIN[#3] #4=2*#2+#6 計(jì)算出的為半徑值,需轉(zhuǎn)化為直徑值才能與直徑編程對(duì)應(yīng)。 #5=#1-30 G1X[#4]Z[#5]F0.1 沿小段直線插補(bǔ)加工 #3=#3+3 遞減3度,此值越小,工件表面越光滑。 IF [#3 LE 90] GOTO 10 條件判斷是否到達(dá)終點(diǎn)。 G1X42 直線插補(bǔ)切到工件外圓之外 G0Z5 #6=#6-4 IF [#6 GE 0] GOTO 5 G0X150Z150 M5 M30 由淺入深宏程序8-車床任意位置橢圓宏程序的編制 不在軸
36、線上的橢圓宏程序編制也沒有什么特殊的,只是改下偏置的數(shù)值罷了。 橢圓的參數(shù)方程為:X=a*COSθ Y=b*SINθ 可改寫為: #1=30*cos[#3] #3為參數(shù)方程對(duì)應(yīng)的中角度 #2=20*sin[#3] 圖中橢圓長半軸30mm,短半軸20mm,橢圓中心位置如圖所示,不在軸線上,因此在計(jì)算編程所用的坐標(biāo)值時(shí),X方向要再加上40,Z方向要減去30+10=30 相應(yīng)程序如下: O2345 T0101 M3S800 G0X82Z5 #6=36 N5 G0X[#6+40] G1Z-10F0
37、.1 #3=0 N10 #1=30*COS[#3] #2=20*SIN[#3] #4=2*#2+#6+40 計(jì)算出的為半徑值,需轉(zhuǎn)化為直徑值才能與直徑編程對(duì)應(yīng)。 #5=#1-30-10 G1X[#4]Z[#5]F0.1 沿小段直線插補(bǔ)加工 #3=#3+3 遞減3度,此值越小,工件表面越光滑。 IF [#3 LE 90] GOTO 10 條件判斷是否到達(dá)終點(diǎn)。 G1X82 直線插補(bǔ)切到工件外圓之外 G0Z5 #6=#6-4 IF [#6 GE 0] GOTO 5 G0X150Z150
38、 M5 M30 由淺入深宏程序9-車床旋轉(zhuǎn)橢圓宏程序的編制 要對(duì)斜橢圓進(jìn)行編程,首先要知道單個(gè)坐標(biāo)點(diǎn)旋轉(zhuǎn)所用的公式。如下圖所示,單個(gè)點(diǎn)逆時(shí)針旋轉(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
39、(b) + y cos(b) (1.4) 根據(jù)下圖,原來的點(diǎn)(#1,#2),旋轉(zhuǎn)后的點(diǎn)(#4,#5),則公式: #4=#1*COS[30]- #2*SIN[30] #5=#1*SIN[30]+ #2*COS[30] 下圖中橢圓旋轉(zhuǎn)了30度,即#1=30旋轉(zhuǎn)前后的點(diǎn)坐標(biāo)的坐標(biāo)原點(diǎn)都是橢圓中心。 程序如下: O1234 T0101 M3S800 G0X82Z5 #6=16 工件毛坯假設(shè)為90mm,#6為每層切削時(shí)橢圓弧向+X的偏移量。 N5 G0X[#6+30+40] 斜橢圓與端面的交點(diǎn)直徑為70 G1Z0F0.1 #3=0 N10 #1=30*COS[#3]
40、 對(duì)應(yīng)角度#3的橢圓上的一個(gè)點(diǎn)的坐標(biāo),此為未旋轉(zhuǎn)的橢圓的點(diǎn) #2=20*SIN[#3] #4=#1*COS[30]- #2*SIN[30] 旋轉(zhuǎn)30度之后對(duì)應(yīng)的坐標(biāo)值 #5=#1*SIN[30]+ #2*COS[30] #7=2*#4+#6+40 坐標(biāo)平移后的坐標(biāo)。 #8=#1-26 G1X[#7]Z[#8]F0.1 沿小段直線插補(bǔ)加工 #3=#3+3 遞減3度,此值越小,工件表面越光滑。 IF [#3 LE 90] GOTO 10 條件判斷是否到達(dá)終點(diǎn)。 G1X92 直線插補(bǔ)切到工件外圓之外 G0Z5
41、 #6=#6-4 IF [#6 GE 0] GOTO 5 G0X150Z150 M5 M30 橢圓加工:零件材料45鋼,毛坯為φ50mm100mm,按圖要求完成數(shù)控加工程序。 O0001; T0101 ; M03 S800; G0 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
42、-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;(每次遞減2mm) GOTO 30 ;(無條件跳轉(zhuǎn)到30句) N40 G0 X30. Z2.; S1500 F80; #150 =0;(開始精加工橢圓輪廓) M98 P0003; G0 X100. Z5.; M30; O0
43、003;(橢圓加工子程序) #101=20.;(橢圓長半軸) #102=13.;(橢圓短半軸) #103=20.;(起點(diǎn)處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 X[2*#105 + #150] Z[#103 – 20]; (直徑值定義加上加工余量,Z向偏移橢圓長半軸) #10
44、3 = #103 –0.5;(Z坐標(biāo)遞減0.5mm) GOTO 20;(絕對(duì)跳轉(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;(輪廓起點(diǎn)) Z-8.79; #100=-8.79;(橢圓起點(diǎn)Z坐標(biāo)) N15 #102=[#100+44]* [#100+44];
45、 #103=SQRT[36*36-#102];(構(gòu)造 ) #104=10+2/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;
46、 Z100; M05; M30; 參數(shù)方程編寫橢圓宏程序: O0271; T0101; M03 S800; G0 X36 Z26; #20=26;(X向總加工余量) N56 G0 U2; Z26;(Z向加工起點(diǎn)) N100 #20=[#20-2];(X向遞減2mm) #1=12.5;(橢圓短半軸) #2=25;(橢圓長半軸) #3=0.5;(起始處橢圓離心角) #5=90;(終止處橢圓離心角) WHILE [#3 LT #5] DO2;(當(dāng)起始角小于終止角時(shí)執(zhí)行DO2到END2之間的程序段) #6=#2*COS[#3];(構(gòu)造 )
47、#7=2*#1*SIN[#3];(構(gòu)造 ) G1 X[#7+#20] Z#6 F150;(橢圓X坐標(biāo)加余量值) #3=#3+#4;(橢圓離心角遞增) #10=#7+#20;(X向當(dāng)前點(diǎn)坐標(biāo)) IF [#10 GT 26] GOTO 56;(如果X向當(dāng)前點(diǎn)坐標(biāo)大于26跳轉(zhuǎn)到56句從新定起點(diǎn)) END 2 G0 U2; Z26;(退刀) IF [#20 GE 0] GOTO 100;(如果余量大于等于0跳轉(zhuǎn)到100句) G0 X100; M05; M30; 拋物線類零件的宏程序編制
48、 拋物線宏程序編制: O0272; M03 S800; G98; G00 X90 Z100; N10 #24=0;(拋物線頂點(diǎn)處X值) #26=0; (拋物線頂點(diǎn)處Z值) #17=-10;(常量) #22=42;(拋物線開口處直徑) #6=1;(每次步進(jìn)量) #9=100;(進(jìn)給率) G00 X#24 Z[#26+5];(加工起點(diǎn)) G01 Z#26 F[2*#9]; N30 #24=#24+#6;(X向遞增) #26=[#24*#24]/[#17]; (構(gòu)造 ) G01X2*#24 Z#26 F#9; N60 IF [#2
49、4 LT #22/2] GOTO 30;(如果X值小于開口處直徑一半跳轉(zhuǎn)到30句) G01 X#22 Z#26 F[3*#9]; M05; M30; 雙曲線過渡類零件的宏程序編制 焦點(diǎn)在X軸上的雙曲線,其標(biāo)準(zhǔn)方程為 焦點(diǎ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
50、] GOTO 10; G01 X56 Z-56.473; X60; G00 X100; Z100; M05; M30; 焦點(diǎn)在X軸上的雙曲線宏程序編程: O0045; T0101; G98; M03 S500; G00 X60 Z0; G01 X0; #100=0; N15 #101=4/3*SQRT[[#100-6]*[#100-6]-36]; G01 X2*#101 Z#100; #100=#100-1; IF [#100 GT -16.594] GOTO 15; G01 X58 Z-16.594; X
51、60; G00 Z0; G00 X100; Z100; M05; M30; 橢圓輪廓的加工 對(duì)橢圓輪廓,其方程有兩種形式。對(duì)粗加工,采用G71/G72走刀方式時(shí),用直角坐標(biāo)方程比較方便;而精加工(仿形加工)用極坐標(biāo)方程比較方便。 l 極坐標(biāo)方程 a—X向橢圓半軸長; b—Z向橢圓半軸長; θ—橢圓上某點(diǎn)的圓心角,零角度在Z軸正向。 l 直角坐標(biāo)方程: 加工圖7-2所示橢圓輪廓,棒料Φ45,編程零點(diǎn)放在工件右端面。 %200 G50 X100 Z200; T0101; G95 G0 X41 Z2 M03 S800; G1 Z-100 F0.3;
52、 粗加工開始 G0 X42; Z2; #1=20*20*4; 4a2 #2=60; b #3=35 ; X初值(直徑值) WHILE[ #3 GE 0] DO1; 粗加工控制 #4=#2*SQRT[1-#3*#3/#1]; Z G0 X[#3+1] ; 進(jìn)刀 G1 Z[#4-60+0.2] F0.3; 切削 G0 U1; 退刀 Z2; 返回 #3=#3-7;
53、 下一刀切削直徑 END1; #10=0.8; x向精加工余量 #11=0.1; z向精加工余量 WHILE[ #10 LE 0] DO1; 半精、精加工控制 G0 X0 S1500; 進(jìn)刀,準(zhǔn)備精加工 #20=0 ; 角度初值 WHILE [#20 LE 90] DO2; 曲線加工 #3=2*20*SIN[#20]; X #4=60*COS[#20]; Z G1 X[#3+#10] Z[#4+#11] F0.1; #20=#2
54、0+1; END2; G1 Z-100; G0 X45 Z2; #10=#10-0.8; #11=#11-0.1; END1; G0 X100 Z200 T0100; M30; 拋物線加工 示例7-3,加工圖7-3所示拋物線孔,方程為Z=X2/16,換算成直徑編程形式為Z=X2/64,則X=sqrt[Z]/8。采用端面切削方式,編程零點(diǎn)放在工件右端面中心,工件預(yù)鉆有Φ30底孔。 %120 G50 X100 Z200; T0101; G90 G0 X28 Z2 M03 M07 S800; #1=-3; Z WH
55、ILE #1 GE -81 DO1; 粗加工控制 #2=SQRT[100+#1]/8; X G0 Z[#1+0.3]; G1 X[#2-0.3] F0.3; G0 X28 W2; #1=#1-3;; END1; #10=0.2; #11=0.2; WHILE #10 GE 0 DO1; 半精、精加工控制 #1=-81; G0 Z-81 S1500; WHILE #1 LT 0.5 DO2; 曲線加工控制 #2=SQRT[100+#1]/8; X G1 X[#2-#10] Z[#1+#11] F0.1; #1=#1+0.3; END2; G0 X28; #10=#10-0.2; #11=#11-0.2; END1; G0 X100 Z200 M05 M09; T0100; M30;
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識(shí)競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案