FANUC-0i系統中宏程序編程
所謂用戶宏程序是將某種持定的功能或加工循環象子程序一樣事先輸入到存儲器中,調用時利用一條指令即可代表其全部功能,我們將這一組程序或命令稱為宏程序本體,簡稱用戶宏程序。
調用用戶宏程序稱為宏程序調用,又稱宏程序呼叫。
編程人員不必記憶用戶宏程序本體,只要記住作為代表命令的用戶宏指令就行了。模態調用用戶宏程序用G66來指定,指令格式:G66Pxxxx,P後面緊跟的是被呼叫的宏程序本體的程序號。G67用來取消宏程序模態調用。G65Pxxxx為非模態調用用戶宏程序。
現在我們來編制一個均勻分佈的圓周孔排列宏程序,編制如下:
O9100 程序名
N10 #3= #4003
N20 G81 Z#26 R#18 F#9 K0
N30 IF [#3 EQ 90 ] GOTO60
N40 #24= #5001+#24
N50 #25= #5002+#25
N60 WHILE [#11 GT 0] DO 1
N70 #5= #24+#4*COS[#1]
N80 #6= #25+#4*SIN[#1]
N90 G90 X#5 Y#6
N100 #1= #1+#2
N110 #11= #11-1
N120 END 1
N130 G#3 G80
N140 M99
在主程序中我們只需調用就可以來加工均勻分佈的圓周孔,主程序編制如下:
O1200 主程序名
N10 G00 G54 G17 G90
N20 G00 G43 Z100 H1
N30 S600 M3 F120
N40 G65 P9100 X200 Y200 R5 Z-20 I150 A0 B45 H8
N50 M30
程序段N40句的註釋如下:
G65 P9100 宏程序調用P9100子程序
XxxYxx 圓心位置座標
Rxx 安全位置
Zxx 最後鑽削深度
Ixx 圓周半徑
Axx 起始角度
Bxx 角度增量
Hxx 加工的所有孔數
在FANUC-0i系統中參數編程用#xxx表示,如:#1=#1+1,在SIEMENS系統中參數編程用Rxxx表示,如:R1=R1+1,因此不同CNC家廠生產的數控系統編程格式也就有所差異,我們千萬不能將兩種系統混合使用。
FANUC-0i系統中的參數編程所使用的算術和邏輯運算如下:
加法 #i= #j+#k
減法 #i= #j-#k
乘法 #i= #j*#k
除法 #i= #j/#k
正弦 #i=SIN[#j]
餘弦 #i=COS[#j]
反正弦 #i=ASIN[#j]
反餘弦 #i=ACOS[#j]
正切 #i=TAN[#j]
餘切 #i=ATAN[#j]/ #k
平方根 #i=SQRT[#j]
絕對值 #i=ABS[#j]
比較語句中所使用的符號如下:
EQ 等於 =
NE 不等於 ≠
GT 大於 >
GE 大於等於 ≥
LT 小於 <
LE 小於等於 ≤
比較語句的編程格式有幾種表達方法,在此列舉兩種常用的格式表示如下:
a) WHILE [條件表達式] DO m(m=1、2、3)
… 如果程序滿足條件就執行
END m
或
b) N10 G54 G90 …
… 如果程序滿足條件就執行
N100 IF [條件表達式] GOTO10
在編制比較語句時,根據每個人的編程風格,可以隨便選擇任意一種。
下面的程序計算數值從1到10的總和
編程示例:
O1000
N10 #1=0 #1賦初始值為0
N20 IF [#1 GT 10] GOTO50 當#1大於10時程序就跳躍到N50句
N30 #1=#1+1 計算變量值
N40 GOTO20 程序跳躍到N20句
N50 M30 程序結束
或
O1000
N10 #1=0
N20 WHILE [#1 LE 10 ] DO 1
N30 #1= #1+1
N40 END 1
N50 M30
比較語句在使用中還可以進行嵌套,嵌套格式如下:
#1=0
#2=0
WHILE [#1 LE 10 ] DO 1
…
WHILE [#2 LE 10 ] DO 2
…
#2=#2+1
END 2
#1= #1+1
END 1
注:比較語句嵌套級別可為4級
下面我們編制一個由我公司生產的TH6363臥式加工中心換刀宏程序編制如下:
N10 IF [#1000 EQ 1] GOTO100
N20 G00 G40 G61 G49 G80 G15
N30 #149= #403
N50 G91 G30 Z0 M19
N60 G91 G30 Y0
N70 G04 X1
N80 M69
N90 G04 X1
N100 G#149
N110 M99
閱讀更多 機加工人員 的文章