數(shù)控宏程序基礎

上傳人:仙*** 文檔編號:34718638 上傳時間:2021-10-23 格式:DOC 頁數(shù):13 大小:77KB
收藏 版權(quán)申訴 舉報 下載
數(shù)控宏程序基礎_第1頁
第1頁 / 共13頁
數(shù)控宏程序基礎_第2頁
第2頁 / 共13頁
數(shù)控宏程序基礎_第3頁
第3頁 / 共13頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《數(shù)控宏程序基礎》由會員分享,可在線閱讀,更多相關(guān)《數(shù)控宏程序基礎(13頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、數(shù)控宏程序的編制及應用 默認分類 2008-06-13 16:07:36 閱讀660 評論5 字號:大中小 一、概述現(xiàn)行的數(shù)控程序的編制中,主要有兩種編程方式:手工編程和自動編程。雖然自動編程運用得越來越廣泛,但手工編程在某些領(lǐng)域也是不可或缺的一種編程手段。手工編程至少在此以下幾方面有著自己的優(yōu)勢:其一,熟練的程序員編制的手工程序加工效率高于自動編程;其二,熟悉手工編程,對自動程序的修改是不無裨益的;其三,自動編程的所敲定的走刀路線限制了其加工工藝,通過手工編程能夠得到彌補。在手工編程過程中,用戶宏程序的編制,能極大提高程序編制的效率,因此,我們在數(shù)控教學及訓練過程中,必須把用戶宏程序的編制作

2、為我們數(shù)控教學的重要內(nèi)容之一。從歷年全國數(shù)控大賽的試題中也不難發(fā)現(xiàn),用戶宏程序的編制是運用得極其頻繁的。但是,我們很難在目前的教材中找到完整的宏程序的編寫的方法及思路。為此,筆者提出了一整套設計用戶宏程序的方法,通過利用流程圖來設計用戶宏程序,提高了編程的效率。二、用戶宏程序簡介用戶宏程序有A、B兩種,A類宏程序用G65指令編寫,其格式如下:G65 Hm P#i Q#j R#k其中,m0199表示運算命令或轉(zhuǎn)移命令功能; #i存入運算結(jié)果的變量名; #j進行運算的變量名1,可以是常數(shù),常數(shù)直接表示,不帶#; #k進行運算的變量名2,也可以是常數(shù)。 意義, #i=#j#k,表示運算符號,常用意義

3、如表1表1G代碼H代碼功能定義G65H01賦值#i#jG65H02加法#i#j#kG65H03減法#i#j#kG65H04乘法#i#j#kG65H05除法#i#j#kG65H80無條件轉(zhuǎn)移轉(zhuǎn)向NG65H81條件轉(zhuǎn)移1IF #j#k,GOTO NG65H82條件轉(zhuǎn)移2IF #j#k,GOTO NG65H83條件轉(zhuǎn)移3IF #j#k,GOTO NG65H84條件轉(zhuǎn)移4IF #j#k,GOTO NG65H85條件轉(zhuǎn)移5IF #j#k,GOTO NG65H86條件轉(zhuǎn)移6IF #j#k,GOTO NG65H99產(chǎn)生P/S報警產(chǎn)生500+1號P/S報警除此以外,G65指令還可以實現(xiàn)邏輯運算、開平方、取絕對

4、值、三角運算及復合運算等,相關(guān)指令見有關(guān)書籍,這里不一一介紹。需要指出的是,不同的數(shù)控系統(tǒng),其功能的多少也不一樣,用戶可參考有關(guān)系統(tǒng)的說明書。B類宏程序由控制語句,調(diào)用語句所組成。宏程序可以與主程序做在一起,也可以單獨做成一個子程序,然后用G65指令調(diào)用。調(diào)用方法如下:G65 P(程序號)引數(shù)賦值或G65 P(程序號) L(循環(huán)次數(shù))引數(shù)賦值所謂引數(shù)賦值,是指用A、B、C、D等地址給變量#1、#2、#3、#4等賦值。B類宏程序的控制指令有三類,與C語言等高級程序設計語言的控制指令很類似。一類是IF語句,格式為:IF條件式GOTO n (n即順序號)條件式成立時,從順序號為n的程序段往下執(zhí)行,條

5、件式不成立時,執(zhí)行下一下程序段;第二類是WHILE語句,格式為:WHILE條件式 DO mEND m條件式成立時,從DO m的程序段到END m的程序段重復執(zhí)行,條件式不成立時,則從END m的下一程序段執(zhí)行。第三類是無條件轉(zhuǎn)移指令,格式為:GOTO n。三、運用流程圖編寫用戶宏程序的一般步驟運用流程圖編寫用戶宏程序的一般步驟為:一分析零件結(jié)構(gòu),確定宏程序加工的內(nèi)容,找出加工工藝路線的律;二將零件加工路線規(guī)律用流程圖表達出來,并進一步分清楚哪些是程序編制過程中的變量,哪些是常量,從而將一般的流程變成程序流程圖;三根據(jù)程序流程圖,編寫零件的加工程序。四、應用舉例(一)宏程序應用實例一如圖1所示,

6、在一根軸上加工N個槽,每個槽的寬度為a1,槽的間距為a2,槽底直徑為b1,棒料直徑b2,并且設所給材料足夠長,試編寫程序加工該零件,現(xiàn)有一零件參數(shù)為N100個槽,槽底直徑b130mm,槽寬a15mm,工件直徑b240mm,間隔a22mm,刀寬3mm,現(xiàn)編寫程序加工。 圖11零件工藝過程分析該零件是一個比較簡單的例子,在壓面機械上用得較多。零件的精度要求不高,為了使程序有更廣泛的適應性,將宏程序做成一個子程序,用主程序來調(diào)用實現(xiàn)零件的加工。加工時將坐標原點選擇在如圖所示的位置,X軸離第一個槽的距離為一個間距a2的距離。零件的加工過程如下將:將刀具移至加工起點進刀切削第一個槽計算下一槽的位置并將刀

7、具移到此位置加工下一個槽如此至最后一個槽加工完為止。將此過程畫成流程圖,如圖2(a)所示。(a) (b)圖22零件加工過程中所使用的變量通過分析,要加工該零件,需要如下一些變量:工件直徑#200= b2槽底直徑#201= b1槽寬#202= a1槽間間隔#203= a2切槽刀寬度#204每加工一個槽后,切槽刀在Z軸方向移動的距離#205(等于槽間距加上槽寬)槽的起點坐標Xs=#206,Zs=#207槽加工終點的坐標Xf=#208,Yf=#209計算槽數(shù)目的變量#215加工槽的總數(shù)#216由此畫出編制程序所用的流程圖,如圖2(b)所示。3根據(jù)程序流程圖編制程序宏程序O9061N10 G65 H8

8、3 P160 Q#204 R#202 如果刀寬大于槽完,則結(jié)束N20 G65 H01 P#215 Q0 計數(shù)器變量清零N30 G65 H02 P#205 Q#202 R#203 計算#205N40 G65 H02 P#206 Q#200 R5 工件直徑加上5mm作為X方向起點N50 G65 H02 P#207 Q#203 R#204 槽的間距加上一個刀寬N60 G65 H01 P#207 Q?#207 取負值后作為第一個槽的Z向起點N70 G65 H01 P#208 Q#201 槽底直徑作為槽終點的X坐標N80 G65 H01 P#209 Q?#205 第一個槽終點Z向坐標N90 G00 X#

9、206 Z#207 M08 定位到槽加工的位置N100 G75 R1 N110 G75 X#208 Z#209 P2 Q#204 F20 加工槽N120 G65 H03 P#207 Q#207 R#205 下一個槽起點Z向坐標計算N130 G65 H03 P#209 Q#209 R#205 下一個槽終點Z向坐標計算N140 G65 H02 P#215 Q#215 R1 槽計數(shù)器加1N150 G65 H84 P90 Q#215 R#216 判斷槽是否加工完畢N160 M08N170 M99 結(jié)束主程序 O0001N10 G65 H01 P#200 Q40 工件直徑賦值N20 G65 H01 P#

10、201 Q30 槽底直徑賦值N30 G65 H01 P#202 Q5 槽寬賦值N40 G65 H01 P#203 Q2 槽間間隔賦值N50 G65 H01 P#204 Q3 切槽刀寬賦值N60 G65 H01 P#216 Q100 槽數(shù)賦值N70 G00 X100 Z100 起刀點位置N80 M98 P9061 調(diào)用宏程序N90 M30 程序結(jié)束(二)宏程序應用實例二對于一些大懸伸(加工深度與刀具直徑之比較大)的零件,用普通加工方法總難達到理想效果,此時用插銑法容易保證零件精度,如圖3所示的零件,尺寸80很難保證,用插銑法后獲得了比較好的效果。曾經(jīng)有工廠做過類似的程序,但程序只是針對零件本身,

11、適應性不強,當零件的尺寸發(fā)生變化后,程序還得發(fā)生較大修改。筆者針對這種情況,將程序分為主程序和子程序,當零件的尺寸發(fā)生變化后,只需要修改主程序即可,非常方便。1加工工藝分析傳統(tǒng)加工工藝方法采用多次重復加工。很難消除讓刀,并且造成加工應力,最后由于應力釋放造成零件的內(nèi)腔變小。為了解決這個問題,我們將加工分為粗加工和精加工,粗加工采用普通的工藝方法,精加工采用插銑。建立如圖3所示的坐標系,為了保證加工質(zhì)量,防止劃傷已加工過的表面,編程時避免使用鉆孔循環(huán)指令。加工軌跡如圖4所示,在YZ平面內(nèi)進行以下加工步驟:加工第一刀沿圓弧退刀返回Z=3處沿圓弧進刀沿X方向移動一個步距加工第二刀。加工過程中,粗加工

12、尺寸80按79.6加工,而精加工采用宏程序編制高速插銑程序。精加工的具體參數(shù)如表2所示圖3零件圖及坐標系圖4刀具路徑表2精加工參數(shù)加工方式加工材料刀具步距設置安全高度順銑鋁合金18整體硬質(zhì)合金加長球頭刀005Z=32加工流程圖為增強程序的適應性,本程序刀分為子程序和主程序來編寫,子程序起始位置為(0,0,50),刀具在加工過程中的基本路線是按前面所給出的路線來走刀。由此畫出加工流程圖如圖5(a)所示。(a) (b)圖53程序所使用的變量及程序流程圖本程序中所使用的變量如下:需加工部位X方向的長度:#1;需加工部位Y方向的長度:#2;需加工部位Z方向的深度:#3;X方向的步距:#4;走刀軌跡中,

13、退(或進)刀時的半徑:#5(本例圖4中的R10);中間變量:#6、#7、#8、#9由所確定的變量及加工流程圖,畫出程序流程圖如圖5(b)所示。4編制程序子程序:%9001N10 #1=#1/2 #1變量取1/2作為X坐標N20 #2=#2/2 #2變量取1/2作為Y坐標N30 G00 X#1 X方向定位到加工位置N40 G41 D1 Y#2 Y方向定位到加工位置N50 G01 Z3 F3000 M08 下降下安全高度,開冷卻液N60 #6=(#3#5) 計算加工終點Z向坐標N70 #7=#22*#5 計算退刀終點Y坐標N80 G01 Z#6 插銑加工N90 G02 Y#7 R#5 退刀N100

14、 G01 Z3 返回N110 G02 Y#2 R#5 進刀N120 #8=#8+#4 X方向總加工長度計數(shù)N130 G91 G01 X#4 X方向走一個步距N140 IF #8LE#1 GOTO 80 判別第一側(cè)是否加工完N150 G90 Y#2 移至另一側(cè)N160 G01 Z#6 插銑加工另一側(cè)N180 G02 Y#7 R#5 退刀N190 G01 Z3 返回安全高度N200 G02 Y#2 R#5 進刀N210 #9=#9+#4 X方向總加工長度計數(shù)N220 G91 G01 X#4 X方向移動一個步距N230 IF #9LE#1 GOTO 160 判別另一側(cè)是否加工完N240 G90 G4

15、0 G00 X0 Y0 M09 X、Y方向返回起始點N250 Z50 Z方向返回起始點N260 M99 宏程序結(jié)束主程序:%1010N10 T01 選一號刀N20 M06 換刀N30 G00 G90 G54 G19 X0 Y0 S5000 M03 定位到起始位置,選擇坐標平面及坐標系,啟動主軸。N40 G43 H01 Z50 Z方向補償N60 G65 P9001 A200 B80.05 C90 D0 E0 F0 I0.05 J10 K0 調(diào)用宏程序并給相關(guān)變量賦值N70 M05 停止主軸N80 G49 Z50 Z方向取消補償N90 M30 程序結(jié)束五、結(jié)束語利用流程圖編制用戶宏程序,思路清晰,

16、所編制的程序適應性好,是一種值得推廣的方法。數(shù)控宏程序默認分類 2008-06-13 16:04:36 閱讀136 評論1 字號:大中小 用 戶 宏 程 序 能完成某一功能的一系列指令像子程序那樣存入存儲器,用一個總指令來它們,使用時只需給出這個總指令就能執(zhí)行其功能。 l 所存入的這一系列指令用戶宏程序 l 調(diào)用宏程序的指令宏指令 l 特點:使用變量 一 變量的表示和使用 (一) 變量表示 I(I=1,2,3,)或式子 例:5,109,501,1212 (二) 變量的使用 1 地址字后面指定變量號或公式 格式:地址字I 地址字I 地址字式子 例:F103,設10315則為F15 Z110,設1

17、10250則為Z250 X2418COS1 2 變量號可用變量代替 例:30,設303則為3 3 變量不能使用地址O,N,I 例:下述方法下允許 O1; I26.00100.0; N3Z200.0; 4 變量號所對應的變量,對每個地址來說,都有具體數(shù)值范圍 例:301100時,則M30是不允許的 5 0為空變量,沒有定義變量值的變量也是空變量 6 變量值定義: 程序定義時可省略小數(shù)點,例:123149 MDI鍵盤輸一 變量的種類 1. 局部變量133 一個在宏程序中局部使用的變量 例:A宏程序B宏程序 1020X10不表示X20 斷電后清空,調(diào)用宏程序時代入變量值 2. 公共變量100149,

18、500531 各用戶宏程序內(nèi)公用的變量 例:上例中10改用100時,B宏程序中的 X100表示X20 100149斷電后清空 500531保持型變量(斷電后不丟失) 3. 系統(tǒng)變量 固定用途的變量,其值取決于系統(tǒng)的狀態(tài) 例:2001值為1號刀補X軸補償值 5221值為X軸G54工件原點偏置值入時必須輸入小數(shù)點,小數(shù)點省略時單位為m一 運算指令 運算式的右邊可以是常數(shù)、變量、函數(shù)、式子 式中j,k也可為常量 式子右邊為變量號、運算式 1 定義 Ij 2 算術(shù)運算 I=j+k I=jk I=jk I=jk 3 邏輯運算 IJOKk IJXOKk IJANDk 4 函數(shù) ISINj 正弦 ICOSj

19、 余弦 ITANj 正切 IATANj 反正切 ISQRTj平方根 IABSj絕對值 IROUNDj四舍五入化整 IFIXj下取整 IFUPj上取整 IBINjBCDBIN(二進制) IBCNjBINBCD1 說明 1) 角度單位為度 例:90度30分為905度 2) ATAN函數(shù)后的兩個邊長要用“1”隔開 例:1ATAN11時,1為了350 3) ROUND用于語句中的地址,按各地址的最小設定單位進行四舍五入 例:設112345,223456,設定單位1m G91X1;X1235 X2F300;X2346 X12;X3580 未返回原處,應改為 XROUND1ROUND2; 4) 取整后的絕

20、對值比原值大為上取整,反之為下取整 例:設112,212時 若3FUP#1時,則320 若3FIX#1時,則310 若3FUP#2時,則320 若3FIX#2時,則310 5) 指令函數(shù)時,可只寫開頭2個字母 例:ROUNDRO FIXFI 6) 優(yōu)先級 函數(shù)乘除(,1,AND)加減(,OR,XOR) 例:123SIN4; 7) 括號為中括號,最多5重,園括號用于注釋語句 例:1SIN#2+#3*#4+#5*#6;(3重)一 轉(zhuǎn)移與循環(huán)指令 1無條件的轉(zhuǎn)移 格式:GOTO1; GOTO10; 2條件轉(zhuǎn)移 格式:IF條件式GOTOn 條件式: jEQk 表示 jNEk 表示 jGTk 表示 jL

21、Tk 表示 jGEk 表示 jLEk 表示 例:IF1GT10GOTO100; N100G00691X10; 例:求1到10之和 O9500; 10 21 N1IF2GT10GOTO2 112; 221; GOTO1 N2M301循環(huán) 格式:WHILE條件式DOm;(m1,2,3) ENDm 說明:1條件滿足時,執(zhí)行DOm到ENDm,則從DOm的程序段 不滿足時,執(zhí)行DOm到ENDm的程序段 2省略WHILE語句只有DOmENDm,則從DOm到ENDm之間形成死循環(huán) 3嵌套4EQNE時,空和“0”不同 其他條件下,空和“0”相同 例:求1到10之和 O0001; 10; 21; WHILE2L

22、E10DO1; 112; 221; END1; M30;FANUC系統(tǒng)宏程序編程一 變量普通加工程序直接用數(shù)值指定G代碼和移動距離;例如,GO1和X100.0。使用用戶宏程序時,數(shù)值可以直接指定或用變量指定。當用變量時,變量值可用程序或用MDI面板上的操作改變。#1#2100G01 X#1 F300說明:變量的表示計算機允許使用變量名,用戶宏程序不行。變量用變量符號(#)和后面的變量號指定。例如:#1表達式可以用于指定變量號。此時,表達式必須封閉在括號中。例如:#1+#2-12變量的類型變量根據(jù)變量號可以分成四種類型變量號變量類型功能#0空變量該變量總是空,沒有值能賦給該變量.#1-#33局部

23、變量局部變量只能用在宏程序中存儲數(shù)據(jù),例如,運算結(jié)果.當斷電時,局部變量被初始化為空.調(diào)用宏程序時,自變量對局部變量賦值,#100-#199 #500-#999公共變量公共變量在不同的宏程序中的意義相同.當斷電時,變量#100-#199初始化為空.變量#500-#999的數(shù)據(jù)保存,即使斷電也不丟失.#1000系統(tǒng)變量系統(tǒng)變量用于讀和寫CNC運行時各種數(shù)據(jù)的變化,例如,刀具的當前位置和補償值.變量值的范圍局部變量和公共變量可以有0值或下面范圍中的值:-1047到-10-29或-10-2到-1047如果計算結(jié)果超出有效范圍,則發(fā)出P/S報警NO.111.小數(shù)點的省略當在程序中定義變量值時,小數(shù)點可

24、以省略。例:當定義#1123;變量#1的實際值是123.000。變量的引用為在程序中使用變量值,指定后跟變量號的地址。當用表達式指定變量時,要把表達式放在括號中。例如:G01X#1+#2F#3;被引用變量的值根據(jù)地址的最小設定單位自動地舍入。例如:當G00X#/;以1/1000mm的單位執(zhí)行時,CNC把123456賦值給變量#1,實際指令值為G00X12346.改變引用變量的值的符號,要把負號()放在#的前面。例如:G00X#1當引用未定義的變量時,變量及地址都被忽略。例如:當變量#1的值是0,并且變量#2的值是空時,G00X#1 Y#2的執(zhí)行結(jié)果為G00X0。雙軌跡(雙軌跡控制)的公共變量對

25、雙軌跡控制,系統(tǒng)為每一軌跡都提供了單獨的宏變量,但是,根據(jù)參數(shù)N0.6036和6037的設定,某些公共變量可同時用于兩個軌跡。未定義的變量當變量值未定義時,這樣的變量成為空變量。變量#0總是空變量。它不能寫,只能讀。引用當引用一個未定義的變量時,地址本身也被忽略。 當#1=當#10G90 X100 Y#1 G90 X100G90 X100 Y#1 G90 X100 Y0(b) 運算除了用賦值以外,其余情況下與0相同。當#1=時當#10時#2#1#2#2#1#20#2#*5#20#2#*5#20#2#1+#1#20#2#1+#1#20(c)條件表達式EQ和NE中的不同于0。當#1=時當#10時#

26、1EQ#0 成立#1EQ#0 不成立#1 NE #0 成立#1 NE #0 不成立#1 GE #0 成立#1 GE #0 不成立#1 GT #0 不成立#1 GT #0 不成立限制程序號,順序號和任選程序段跳轉(zhuǎn)號不能使用變量。例:下面情況不能使用變量:0#1;/#2G00X100.0;N#3Y200.0;二 算術(shù)和邏輯運算下面表中列出的運算可以在變量中執(zhí)行。運算符右邊的表達式可包含常量和或由函數(shù)或運算符組成的變量。表達式中的變量#j和#k可以用常數(shù)賦值。左邊的變量也可以用表達式賦值。說明:角度單位函數(shù)SIN ,COS,ASIN,ACOS,TAN和ATAN的角度單位是度。如9030表示為90.5度。ARCSIN # i= ASIN#j(1)取值范圍如下:當參數(shù)(NO.6004#0)NAT位設為0時,27090當參數(shù)(NO.6004#0)NAT位設為1時,9090(2)當#j超出1到1的范圍時,發(fā)出P/S報警NO.111.(3)常數(shù)可替代變量#jARCCOS #iACOS#j 取值范圍從1800 當#j超出1到1的范圍時,發(fā)出P/S報警NO.111. 常數(shù)可替代變量#j

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

相關(guān)資源

更多
正為您匹配相似的精品文檔

相關(guān)搜索

關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!