① 數控銑削宏程序
數控銑削加工宏程序的編制與應用
在數控編程中,宏程序編程靈活、高效、快捷。宏程序不僅可以實現象子程序那樣,對編制相同加工操作的程序非常有用,還可以完成子程序無法實現的特殊功能,例如,型腔加工宏程序、固定加工循環宏程序、球面加工宏程序、錐面加工宏程序等。
一、FANUC宏程序的理論基礎
(一)FANUC宏程序的構成
1)包含變數
2)包含算術或邏輯運算(=)的程序段
3)包含控制語句(例如:GOTO,DO,END)的程序段
4)包含宏程序調用指令(G65,G66,G67或其他G代碼,M代碼調用宏程序)的程序段
(二)FANUC宏程序的變數
FANUC數控系統變數表示形式為# 後跟1~4位數字,變數有四種:
1、FANUC宏程序的變數Ⅰ
變數號
變數類型
功能
#0
空變數該變數總是空
沒有任何值能賦給該變數
2、FANUC宏程序的變數Ⅱ
變數號
變數類型
功能
#1——#33
局部變數
局部變數只能用在宏程序中存儲數據,例如運算結果。當斷電時局部變數被初始化為空,調用宏程序時自變數對局部變數賦值。
3、FANUC宏程序的變數Ⅲ
變數號
變數類型
功能
#100—#199
#500—#999
公共變數
公共變數在不同的宏程序中的意義相同當斷電時變數#100 #199初始化為空變數
#500 #999 的數據保存即使斷電也不丟失
4、FANUC宏程序的變數Ⅳ
變數號
變數類型
功能
#1000——
系統變數
系統變數用於讀和寫CNC 運行時各種數據的變化例如刀具的當前位置和補償值等
(三)刀具補償存儲器C用G10指令進行設定
H代碼的幾何補償值
G10L10P R ;
D代碼的幾何補償值
G10L12P R ;
H代碼的磨損補償值
G10L11P R ;
D代碼的磨損補償值
G10L13P R ;
P:刀具補償號
R:絕對值指令(G90)方式時的刀具補償值。增量值指令(G91)方式時的刀具補償值為該值與指定的刀具補償號的值相加。
用G10改變工件坐標系零點偏移值
格式:G10L12PpIP ;
P=0:外部工件零點偏移值
P=1:工件坐標系G54的零點偏移值
P=2:工件坐標系G55的零點偏移值
P=3:工件坐標系G56的零點偏移值
P=4:工件坐標系G57的零點偏移值
P=5:工件坐標系G58的零點偏移值
P=5:工件坐標系G59的零點偏移值
IP: 對於絕對值指令(G90),為每個軸的工件零點偏移值。
對於增量值指令(G91),為每個軸加到設定的工件零點偏移值。
(四)FANUC宏程序運算符Ⅰ
1、FANUC宏程序運算符Ⅰ
功能
格式
備注
定義
#i=#j
加法
#i=#j+#k
減法
#i =#j- #k
乘法
#i =#j*#k
除法
#i=#j/#k
2、FANUC宏程序運算符Ⅱ
功能
格式
備注
正弦
#i=SIN[#j]
角度以度指定,如90º30』表示為90.5度
反正弦
#i=ASIN[#j]
餘弦
#i=COS[#j]
反餘弦
#i=ACOS[#j]
正切
#i=TAN[#j]
反正切
#i=ATAN[#j]
3、FANUC宏程序運算符Ⅲ
功能
格式
備注
平方根
#i=SQRT[#j]
絕對值
#i=ABS[#j]
舍入
#i=ROUND[#j]
上取整
#i=FIX[#j]
下取整
#i=FUP[#j]
自然對數
#i=LN[#j]
指數函數
#i=EXP[#j]
4、FANUC宏程序運算符Ⅳ
功能
格式
備注
或
#i=#j OR #k
邏輯運算一位一位的按二進制數執行
異或
#i=#j XOR #k
與
#i=#j AND #k
從BCD轉為BIN
#i=BIN[#j]
用於與PMC的信號交換
從BIN轉為BCD
#i=BCD[#j]
(五)FANUC宏程序的轉移和循環
1、FANUC宏程序的轉移和循環Ⅰ
無條件轉移:GOTOn
(n為順序號,1——99999)
例:GOTO10為轉移到N10程序段
2、FANUC宏程序的轉移和循環Ⅱ
條件轉移:(IF語句)
IF [條件表達式] GOTOn
當指定的條件表達式滿足時,轉移到標有順序號n的程序段,如果指定的條件表達式不滿足時,執行下個程序段
3、FANUC宏程序的轉移和循環Ⅲ
條件轉移:(IF語句)
IF [條件表達式] GOTOn
如果變數#1的值大於10,轉移到順序號N20的程序段。
如果條件不滿足 IF [#1 GT 10] GOTO 2
如果條件滿足
程 序
程程序序
N20 G00 G90 X100. Y20.
:
4、FANUC宏程序的轉移和循環Ⅳ
IF [條件表達式] THEN
當指定的條件表達式滿足時,執行預先決定的宏程序語句。
例:IF [#1EQ #2] THEN #3=0;
(六)FANUC宏程序的循環
FANUC宏程序循環Ⅰ
WHILE [條件表達式] Dom;
(m=1,2,3)
條件不滿足 條件滿足
ENDm
註:循環允許嵌套,最多3層,但不允許交叉;
FANUC宏程序循環Ⅱ
FANUC宏程序循環Ⅲ
(七)FANUC宏程序的條件表達式運算符
運算符
含義
EQ
等於
NE
不等於
GT
大於
GE
大於或等於
LT
小於
LE
小於或等於
(九)FANUC宏程序的調用Ⅰ
FANUC宏程序的調用Ⅰ
非模態調用G65:
格式: G65PpLl<自變數指定>
其中
p:要調用的程序號
L:調用次數(默認為1)
自變數:數據傳遞到宏程序
FANUC宏程序的調用Ⅱ
模態調用(G66):
G66PpLl<自變數指定>;
程序點
G67;(取消模態)
其中
p:要調用的程序號
L:調用次數(默認為1)
自變數:數據傳遞到宏程序
(十)FANUC宏程序的自變數指定
1、FANUC宏程序的自變數指定I
地址
變數
地址
變數
地址
變數
A
#1
I
#4
T
#20
B
#2
J
#5
U
#21
C
#3
K
#6
V
#22
D
#7
M
#13
W
#23
E
#8
Q
#17
X
#24
F
#9
R
#18
Y
#25
H
#11
S
#19
Z
#26
2、FANUC宏程序的調用II
地址
變數
地址
變數
地址
變數
A
#1
K3
#12
J7
#23
B
#2
I4
#13
K7
#24
C
J4
#14
I8
#25
I
#4
K4
#15
J8
#26
J
#5
I5
#16
K8
#27
K
#6
J5
#17
I9
#28
I2
#7
K5
#18
J9
#29
J2
#8
I6
#19
K9
#30
K2
#9
J6
#20
I10
#31
I3
#10
K6
#21
J10
#32
J3
#11
I7
#22
K10
#33
二、FANUC宏程序的應用
(一)宏程序示例(銑圓)
#1=圓心坐標X值
#2=圓心坐標Y值
#3=園孔最終Z值
#4=圓孔直徑
#5=刀具直徑
#6=[#4+#5]/4 (進刀半徑)
#7= #3+50 (進刀高度)
#8= [#1+#4]/2-#6(進刀圓弧起點X值)
#9 = #2 - #6 (進刀圓弧起點Y值)
#10= #1+#4/2 (銑圓起點X值)
#11= -#4/2 (I矢量)
#12= #2+#6(退刀圓弧Y值)
%
O100
M03S1000
G00G90G54G43H01Z100.
X#1Y#2
Z#7
G01Z#3 F100
G41D02X#8Y#9
G03X#10Y#2R#6
G03X#10Y#2I#11J0
G03X#8Y#12R#6
G01G40X#1Y#2
G00Z100.
M30
%
(二)宏程序示例(銑半圓球)
自上而下等角度水平圓弧環繞球面精加工
#1=(A)球面的圓弧半徑
#2=(B)球頭銑刀刀具半徑
#3=(C)球面的起始角度
#4= (I)球面的終止角度,#4≤90°
#17=(Q)Z坐標每次遞減量
#24=(X)球心坐標X值
#25=(Y)球心坐標Y值
#26=(Z)球心坐標Z值
%
O200
M03S1000
G00G90G541Z100.
G00X0Y0
G65P1912X Y Z A B C I Q
M30
%
O1912 (宏程序)
G52X#24Y#25Z#26
G00X0Y0Z[#1+30]
#12=#1+#2
WHILE [#3LT#4]DO1
#5 = #12*COS[#3]
#6 = #12*SIN[#3]
X[#5+#2] Y#2
G03X#5Y0R#2F1000
G02 I-#5
G03X[#5+#2]Y-#2R#2
G00Z[#7+1]
Y#2
#3 = #3 + #17
END 1
GOO Z[#1+30]
G52 X0 Y0 Z0
M99
%
注釋說明
(主程序)
調用宏程序O1912
(空格處為變數賦值)
在球心處建立局部坐標
球心與刀心連線距離
如果#3<#4,循環1繼續
任意角度刀心X坐標值
任意角度刀心Y坐標值
G00定位於下刀點
圓弧進刀
沿球面切削
圓弧退刀
提刀1
移到進刀點
角度#3每次遞增#17
循環1結束
提刀
恢復G54坐標
宏程序結束返回
(三) 宏程序示例Ⅰ
採用Φ20R4銑刀加工SR30的球,已知球心坐標為(X0Y0Z-5.)
宏程序示例Ⅱ
1、分析:銑球程序一般採用自動編程來實現,但是,利用宏程序強大的功能同樣也可以實現,而且程序更加簡潔。
2、編程思路:
銑球可以認為是多個銑圓的組合。
3、排刀分布:
有兩種方案,一是按Z向分布,二是按圓心角分布。從保證表面質量來看,最佳方案為按圓心角分布。
圓弧起點計算,從X正向開始起刀。
刀具根部R4的圓心在XZ平面的運動軌跡為與R30等距的圓R34(見圖示中紅色軌跡),刀尖點上4mm處的軌跡(即褐色軌跡)為紅色軌跡沿X正向平移6毫米,刀尖點坐標為褐色軌跡沿Z軸向下平移4mm(即綠色軌跡)。
起始角度=ARCSIN((5+4)/34)=15.349º
起始位置X值=34*COS(15.349)+6=38.787
起始位置Z值=0 (通用表達式=34*sin(15.349)-5-4)
4、變數定義:
#1為圓心角,范圍由(15.349,90)
#2為刀尖中心X值,#2=34*COS[#1]+6
#3為刀尖中心Z值,#3=34*SIN[#1]-5-4
%
O300
M03S3000;
G00G90G54Z100.;
#1=15.349
X50.Y0;
Z10.;
WHILE[#1 LE 90] DO1;
#2=34*COS[#1]+6;
#3=34*SIN[#1]-5-4;
G01Z#3F900;
X#2;
G02X#2Y0I-#2J0;
#1=#1+1;
END1;
G00Z100.;
M30;
%
(四)宏程序示例II
用Φ20R10銑刀加工輪廓處R5圓角
下面為銑外形的一段程序,採用刀具半徑補償
G00X2.5Y26.664
G01G41D01X-8.991Y2.023
G03X2.5Y-3.336I11.491J9.641
X32.969Y-.208I0.J150.
G02X44.955Y-10.952I2.031J-9.792
G03Y-49.048I199.09J-19.048
G02X33.452Y-59.88I-9.955J-.952
G03X-28.452I-30.952J-197.59
G02X-39.922Y-48.75I-1.548J9.88
G03Y-11.25I-148.823J18.75
G02X-27.969Y-.208I9.922J1.25
G03X2.5Y-3.336I30.469J146.872
X13.991Y2.023I0.J15.
G40G01X2.5Y26.664
編程思路:
利用G10指令修改刀具半徑偏置值來實現倒圓角。
G10格式為G10L12P1R ,其中,P1表示修改D01,R後為刀具半徑偏置值。
設定倒角的圓心角為變數#1,取值范圍為0-90º
設定#2為刀具半徑偏置值,取值=COS[#1]*15-5
設定#3為Z值,取值=SIN[#1]*[5+10]-5-10
%
O400
M03S3000
G00G90G54Z100.
#1=0
X2.5Y26.64
Z5.
WHILE [#1 LE 90] DO1
#2= COS[#1]*15-5
#3= SIN[#1]
*[5+10]-5-10
G10L12P1R#2
G01Z#3F900
G00X2.5Y26.664
G01G41D01X-8.991Y2.023
G03X2.5Y-3.336I11.491J9.641
X32.969Y-.208I0.J150.
G02X44.955Y-10.952I2.031
J-9.792
G03Y-49.048I199.09J-19.048
G02X33.452Y-59.88I-9.955J-.952
G03X-28.452I-30.952J-197.59
G02X-39.922Y-48.75I-1.548J9.88
G03Y-11.25I-148.823J18.75
G02X-27.969Y-.208I9.922J1.25
G03X2.5Y-3.336I30.469J146.87
X13.991Y2.023I0.J15.
G40G01X2.5Y26.664
#1=#1+5
END1
G00Z100.
M30
%
三、小結
隨著現代製造技術的發展和數控機床的日益普及,數控加工得到廣泛應用。對於加工形狀簡單的零件,計算比較簡單,程序不多,採用手工編程較容易完成。因此,在點定位加工及由直線與圓弧組成的輪廓加工中,手工編程仍廣泛應用。但對於形狀復雜的零件,特別是具有非圓曲線、列表曲線及曲面的零件,用一般的手工編程就有一定的困難,且出錯機率大,有的甚至無法編出程序。在CAD/CAM軟體普遍應用的今天,手工編程的應用空間日趨縮小。但手工編程是自動編程的基礎。宏程序的運用,其最大的特點就是將有規律的形狀或尺寸用最短的程序段表示出來,具有極好的易讀性和易修改性。
② 加工中心銑整圓弧怎麼編程
1、圓弧插補指令:
G02順時針圓弧插補:沿著刀具進給路徑,圓弧段為順時針。
G03逆時針圓弧插補:沿著刀具進給路徑,圓弧段位逆時針。
2、圓弧半徑編程
格式:G02/G03X_Y_Z_R_F;
移到圓弧初始點;
G02/G03+圓弧終點坐標+R圓弧半徑。(圓弧<或=半圓用+R;大於半圓(180度)小於整圓(360度)用-R。圓弧半徑R編程不能用於整圓加工。)
數控編程的優缺點:
1、優點
主要用於點位加工(如鑽、鉸孔)或幾何形狀簡單(如平面、方形槽)零件的加工,計算量小,程序段數有限,編程直觀易於實現的情況等。
2、缺點
對於具有空間自由曲面、復雜型腔的零件,刀具軌跡數據計算相當繁瑣,工作量大,極易出錯,且很難校對,有些甚至根本無法完成。
③ 加工中心分層銑圓用宏程序怎麼編程
關於宏程序編程,步驟細致復雜,要對宏程序有相當的了解。
舉一個例題如下:
1、例如加工一個長半軸30,短半軸20一個橢圓,橢圓不是圓弧,所以我們不能用圓弧的方式來加橢圓,這里我們用一小段一小段的直線來拼接這個橢圓。
④ 加工中心怎麼用宏程序編凹圓球 球半徑是20 用R3的球頭刀從上往下銑
不需要宏程序也能銑的,只要改變平面做圓弧就行,比如在G18或者G19平面,
用宏一層一層往下銑的話用勾股定律就行,A*A+B*B=C*C
⑤ 西門子840d系統 落地式鏜銑床用宏程序銑球形圓弧
看到這回答我才知道什麼叫天外有天,時間過了這么久,但不說就是對你不負責任。
假設這個圖是一個直徑100的孔和一個長100寬60拐角是R10的圓弧角的長方形,圓心到長方形的一條長邊距離160,主程序跑坐標子程序加工。下面用最簡單的宏程序說明一下:
零點放直徑100圓心,用直徑20刀,銑100圓和R10的圓弧角省換刀。此為一刀切,子程也沒功夫編。
G54G64G90G0Z50
R1=100/2-10 R2=60/2-10 R3=1
S500M03F1000
AA:
X0Y0
Z=R3
L1 調用子程序
G0Z50 提刀至安全高度
TRANS X190 坐標系絕對平移,坐標軸X有效
X0 X軸重定位,用G111也可以。
Z1
L2 子程序加工長方形
G0Z50
M30 程序結束
⑥ 加工中心銑面宏程序編程
1.編宏程序時,循環控制變數一般採用單獨的一個參數,這樣方便以後調機不會出差錯。
2.半徑沒有50是因為沒有添加刀補,但是不是差一個刀具半徑,在半球的每個深度上它的刀具補償數值是不一樣的(因為你是用的球刀),具體可通過2d看得出來。
3.z軸進刀每次0.5,進刀量太大,最好取0.1-0.15之間(當然越小越光滑)。
4.xz平面有一個圓弧====》你設定的下刀深度不夠。
5.每次進刀量越小當然表面越光滑,數控車加工的表面質量比加工中心好是因為它的進刀量是取小數點後三位開始的(0.001mm),也就是數控車床的絕對坐標的最小精度(xxx.xxx),而且是g2連接的。
6.編這個程序最好用編程軟體mastercam/ug,一分鍾搞定,而且加工出來的面又光又亮。