宏程序实用例集范本模板.docx
《宏程序实用例集范本模板.docx》由会员分享,可在线阅读,更多相关《宏程序实用例集范本模板.docx(38页珍藏版)》请在冰豆网上搜索。
宏程序实用例集范本模板
1。
毛坯为四方块,分粗加工(椭圆柱)和精加工(椭圆半球体);
2。
粗加工以椭圆轮廓自上而下分层加工,刀具为平底立铣刀;
3.精加工时,加工路线,以自下而上0-90间等角度分层。
每层以圆弧切入切出,根据当前层的长短半轴以椭圆轮廓水平环绕加工,直至椭圆球顶完成椭圆球面加工.
工件坐标系原点设在椭圆球体的中心,以球头刀的球心轨迹编程(不用刀具半径补偿),球头铣刀加工,对刀点为球刀底平面(非球心)。
O2003;椭圆柱台阶粗加工程序
FANUC0I系统B类宏程序
SIEMENS系统R参数程序
G28;
T02M06;
G54;
G90G00X48。
Y50。
M03S800;
G43Z50。
H02;
G01Z15。
F200;
#1=40.;
#2=30。
;
#3=15。
;
N50G00Z[#3-5.];
G01G41X#1Y0D02;
#103=360。
;
N100#104=#1*COS[#103];
#105=#2*SIN[#103];
G01X#104Y#105;
#103=#103-1。
;
IF[#103GE0]GOTO100;
G00Z20.;
G40X48。
Y50。
;
#3=#3-5。
;
IF[#3GE-8。
]GOTO50;
G00Z50.;
M05;
M30;
T01M06;
G54;
G90G00X48.Y50.M03S800;
Z50。
;
G01Z15.F200;
R1=40.;
R2=30.;
R3=15.;
XN50:
G00Z=R3—5.;
G01G41X=R1Y0D01;
R103=360。
;
XN100:
R104=R1*COS(R103);
R105=R2*SIN(R103);
G01X=R104Y=R105;
R103=R103—1.;
IFR103〉=0GOTOBXN100;
G00Z20。
;
G40X48.Y50.;
R3=R3-5。
;
IFR3〉=—8。
GOTOBXN50;
G00Z50.;
M05;
M30;
(直径24mm)
G54;
工件外加工起点
长半轴(X)
短半轴(Y)
工件上平面坐标
每层下刀5mm
建立半径补偿至X半轴顶点
角度变量赋初值360
X坐标值变量
Y坐标值变量
椭圆加工
角度每次增量为1度
如果角度大于0,循环继续
回到加工起点
每层平面坐标值减5mm
未到Z-8。
循环继续
1。
变量符号为#
2。
表达式用[]括号
3.循环(跳转)标志为段号
4。
循环判断语句IFGOTO
5。
运算符:
EQ等于、NE不等于、GT大于、GE大于或等于、LT小于、LE小于或等于
1。
变量符号为R
2.表达式用()括号
3.循环(跳转)标志为两个字母加数字加冒号
4.循环判断语句IFGOTOB
5。
运算符:
=、<〉、〉、>=、<、<=
6。
R2中的2不能带小数点
7。
IFGOTO语句字符间必空格
椭圆半球体精加工宏程序(变量参数设计见零件图)
O1032;
#1=40。
;椭圆球面在X方向上的半轴长度a为40
#2=30。
;椭圆球面在Y方向上的半轴长度b为30
#3=15.;椭圆球面在Z方向上的半轴长度c为15
#4=4.;刀具半径(球头铣刀)为4
#17=2。
;环绕椭圆一周时的角度递增量为2
#18=1.5。
;自下而上分层时角度递增量为1.5(能整除)
M03S1500;
N05G00X0Y0Z[#3+15.];快速移到椭圆球面中心上方
#11=#1+#4;刀具中心在椭圆球面X方向上的最大半轴长度a’
#12=#2+#4;刀具中心在椭圆球面Y方向上的最大半轴长度b’
#13=#3+#4;刀具中心在椭圆球面Z方向上的最大半轴长度c’
#6=0;自下而上分层时角度自变量,赋初始值为0(起点与X轴重合,终点为90度)
WHILE[#6LT90]DO1;当#6小于或等于90,即还没到Z向椭圆顶时,循环1继续
#9=#11*COS[#6];根据椭圆参数方程,计算任意层时(随#6的角度变化)刀心在X向上的半轴长度
#7=#13*SIN[#6];任意层时(刀具中心在Z方向上的半轴长度
#8=[1-[#7*#7]/[#13*#13]];#8的表达式是为了简化计算Y向半轴#10而设
#10=SQRT[#8*#12*#12];任意层时刀具中心在Y方向上的半轴长度
N10G00X[#9+#4]Y#4;XY轴移到切入起点坐标
N20Z[#7—#4];Z轴移到层的加工平面
N30G03X#9Y0R#4F300;圆弧切入
#5=0;圆周初始角赋值
WHILE[#5LE360]DO2;当#5小于360度,循环2继续,完成一周的铣削
#15=#9*COS[#5];根据椭圆方程序计算X坐标值
#16=-#10*SIN[#5];计算Y坐标值
N40G01X#15Y#16F2000;直线拟合插补段
#5=#5+#17;圆周角度递增量赋值
END2;椭圆每层圆周加工循环结束
N50G03X[#9+#4]Y—#4R#4;圆弧切出
N60G00Z[#7-#4+1.];Z轴提刀
N70Y#4;Y轴从切出点移到切入起点
#6=#6+#18;分层角度递增量赋值
END1;循环1结束
N80G00Z[#3+30。
];提刀至安全高度
M05;主轴停
M30;程序结束
第二种方法:
1206;高20,原点在—20mm.球刀半径4,自上而下
#1=0
#2=20;短半轴
#3=30;长半轴
#4=1
#5=90
WHILE[#5GE#1]DO1
#6=#3*COS[#5]+4
#7=#2*SIN[#5]
G01X#6
Z#7
#8=360
#9=0
WHILE[#9LE#8]DO2
#10=#6*COS[#9]
#11=#6*SIN[#9]*2/3
G01X#10Y#11
#9=#9+1
END1
#5=#5—#4
END2
M30
正多边形外轮廓宏程序
编制正多边形外轮廓加工宏程序,能实现边数为n边(n=3,4,5,6,8,9,10,12等,n能被360整除即可)的外轮廓自上而下环绕分层加工,同时通过控制多边形中心与其中一顶点的连线与水平方向的夹角,加工出不同摆放位置的正多边形(如图5-24所示,为编程方便,我们将编程起始点,即多边形的一个顶点A放在X水平轴上,要加工出所要求的摆放位置,需用G68指令进行坐标系旋转,旋转角度为OA与OA’的夹角)。
图5-24
现以五边形为例,如图5—25所示,工件坐标系设在多边形中心的上平面,以刀具中心点编程(不用半径补偿功能),编程起始点为X轴上的A点,以顺铣方式(顺时针方向),根据标准正多边形的各边长总是相等,边长之间的夹角也相同的规律,用极坐标编程方式,循环完成每一边的加工。
多边形宏程序的加工路线和变量设计如下:
图5-25
1)初始变量的设置:
#1=__;正多边形的边数
#2=__;正多边形外接圆的直径
#3=__;轮廓加工的高度尺寸值
#4=__;刀具半径(平底立铣刀)
#5=__;Z向加工起始点坐标,设为自变量,赋初始值Z0(工件上平面)
#15=__;分层加工的层间距
#23=__;正多边形旋转角度(正三角形为90,正四边形为45)
2)宏程序中变量及表达式
要应用极坐编程,需计算极半径和极角,如图5—25所示。
(1)#10,夹角β。
在多边形中心与某边中点做一连线OC,OC与OD之间的夹角β设为变量#10,赋值表达式为:
#10=180/#1;(180除以边数)
(2)我们以刀具中心点编程,要计算出极半径OA,需确定△AOB中OB的边长,计算OB边长首先要确定OC边长:
①在△OCD中,已知∠β(#10),边长OD(外接圆半径,#2/2),根据三角函数定义,余弦COS等于邻边比斜边,即COSβ=OC/OD,那么:
OC=OD*COSβ=#2/2*COS[#10]
②#11,OB边长.
在△AOB中,OB=OC+BC(刀具半径r为#4),设OB边长为变量#11,赋值表达式为:
#11=#2/2*COS[#10]+#4;
③#12,极半径OA边长。
那么在△AOB中,已知OB和∠β,余弦COS等于邻边比斜边的定义,即COSβ=OB/OA,那么:
OA=OB/COSβ,设OA变量#12,赋值表达式为:
#12=#11/COS[#10];
(3)转移循环设计
①以极角变化次数循环加工边数
#17=1;极角变化次数,初始值为1
WHILE[#17LE#1]DO2;当极角变化次数小于正多边形边数,循环2继续
G01Y[—#17*[#10*2]];极坐标,旋转编程顺时加工正多形的一个边长,Y为极角,每加工一边极角依次递减2β
#17=#17+1;极角变化次数递增到边数即结束循环
END2;
②深度分层加工循环次数
WHILE[#5LE#3]DO1;加工深度循环判断
……
#5=#5+#15;每层加工坐标递增层间距值
END1;
现以边数为5边形,外接圆的直径为80,五边形轮廓台阶高为6mm,用刀具半径为8mm的平底立铣刀,每层加工间距为2mm,编程加工旋转18°后的正五边形宏程序。
O0004;
G15G69G17;
#1=5;正多边形的边数
#2=80.;正多边形外接圆的直径
#3=6.;轮廓加工的高度尺寸值
#4=8。
;刀具半径(平底立铣刀)
#5=0;Z向加工起始点坐标,设为自变量,赋初始值Z0
#15=2.;分层加工的层间距
#23=18;OA与水平X轴的正向夹角(正三角形为90,正四边形为45,正六边形为0)
G54G90X0Y0Z30。
M03S800;移动工件原点
G68X0Y0R#23;以多边形中心为中心进行坐标系旋转#23的角度
G16;极坐标编程
#10=180/#1;计算角度β,180除以边数
#11=#2/2*COS[#10]+#4;计算OB边长,(计算OA的条件)
#12=#11/COS[#10];计算加工起点的极半径,OA边长
X#12Y0;快速移到加工起点A
WHILE[#5LE#3]DO1;加工深度循环判断
G00Z[—#5+1];下刀到加工平面上方1mm处
G01Z—#5F200;刀具进给移到加工平面坐标位置(初始起点Z0,自上而下)
#17=1;极角变化次数,初始值为1
WHILE[#17LE#1]DO2;当极角变化次数小于正多边形边数,循环2继续
G01Y[-#17*[#10*2]];极坐标,X极径不变,Y为极角(每加工一边极角依次递减2β)
#17=#17+1;极角变化次数递增到边数即结束循环
END2;
#5=#5+#15;每层加工坐标递增层间距值
END1;到达Z向加工深度,跳出循环1
G00Z30。
;提刀
G15;取消极坐标方式
G69;取消坐标系旋转
M30;
正多边形外轮廓铣斜面、倒角、锥台宏程序
设计正多边形外轮斜面、倒角和锥台的加工宏程序,以立铣刀实现边数为n边的外轮廓自下而上环绕分层加工出周边斜面,如图5-26所示。
图5—26正多边形斜面加工
同时能通过控制多边形中心与其中一顶点的连线与水平方向的夹角,加工出不同摆放位置的正多边形,为编程方便,我们将编程起始点,即多边形的一个顶点A放在X水平轴上,要加工出所要求的摆放位置,需用G68指令进行坐标系旋转,旋转角度为OA与OA’的夹角).
现以五边形为例,如图5-27所示,工件坐标系设在多边形中心的上平面,以刀具中心点编程,编程起始点为X轴上的A点,用G68指令进行坐标系旋转。
以顺铣方式(顺时针方向)由下而上分层加工.
图5-27多边形斜面宏程序
1)初始变量的设置,与多边形外轮廓宏程序中一样,各参数号相对应,仅增加斜面与垂直面的夹角α,设变量为#7。
#1=__;正多边形的边数
#2=__。
;正多边形外接圆的直径
#3=__;周边斜面的高度尺寸值
#4=__;刀具半径(平底立铣刀)
#5=__;Z向加工起始点坐标,设为自变量,赋初始值Z0
#7=__;斜面与垂直面的夹角
#15=__。
;分层加工的层间距
#23=__;OA与水平X轴的正向夹角(正三角形为90,正四边形为45,正六边形为0)
2)宏程序中变量及表达式
在正多边形周边斜面宏程序中,完成一圈(首办加工最外圈)的#10、#11、#12变量的含义与计算表达式与正多边形轮廓加工宏程序中一样。
要实现正多边形周边斜面的加工,关键点是每层的正多边形外接圆随着高度的上升而缩小,即每层的极半径OA在变化,极角不变.如图5—28所示,计算每层多边形的极半径OA'的表达式如下:
图5-28
①#18,OB’边长。
首先确定OB'边长,OB’边长等于OB(#11)减去图中的BC边长,在△ABC中,已知∠α(#7)和AC(#5)边长,根据正切函数TAN等于对边比邻边定义,即BC=AC*TANα,那么OB’边长赋值表达式为:
#18==#11—#5*TAN[#7];
②#19,每层多边形的极半径OA’的赋值表达式为:
#19=#18/COS[#10];
(3)转移循环设计
①每层以极角变化次数循环加工边数
#17=1;极角变化次数,初始值为1
WHILE[#17LE#1]DO2;当极角变化次数小于正多边形边数,循环2继续
G01X#19Y[0—#17*[#10*2]];极坐标,每加工一边极角依次递减2β
#17=#17+1;极角变化次数递增到边数即结束循环
END2;
②深度分层加工循环次数
WHILE[#5LE#3]DO1;加工高度循环判断
……
#5=#5+#15;每层加工坐标递增层间距值
END1;
O5016;宏程序名
#1=5;正多边形的边数赋值
#2=80。
;正多边形外接圆的直径赋值
#3=6.;周边斜面的高度尺寸值赋值
#4=8。
;刀具半径(平底立铣刀)赋值
#5=0;Z向加工起始点坐标,设为自变量,赋初始值Z0
#7=15;斜面与垂直面的夹角赋值
#15=2。
;分层加工的层间距赋值
#23=18;正多边形旋转角度赋值
S1000M03;
G54G90G00X0Y0Z30.;
G68X0Y0R#23;坐标系旋转
G17G90G16;极坐标编程
#10=180/#1;计算角度β,180除以边数
#11=#2/2*COS[#10]+#4;计算最外圈正多边形OB边长
#12=#11/COS[#10];计算最外圈加工起点的极半径OA边长
N11G00X#12Y0;快速移到最外圈加工起始点A
N12Z2.;接近加工平面
N13G01Z—#3;进给下刀到斜面底部(自下而上)
WHILE[#5LE#3]DO1;当分层加工还未到斜面顶部时,循环1继续
#18=#11—#5*TAN[#7];计算每层加工的OB’边长(计算OA的条件,随#5变化)
#19=#18/COS[#10];计算每层加工的极半径OA’边长
N21G01Z[—#3+#5]F1000.;进给上升到上一层的起始点Z坐标(随#5变化)
N22X#19Y0;进给移到当前层的XY平面起始点
#17=1;极角变化次数,初始值为1
WHILE[#17LE#1]DO2;当极角变化次数小于正多边形边数,循环2继续
N23G01X#19Y[0—#17*[#10*2]];X极径,Y为极角(每加工一边极角依次递减2β)
#17=#17+1;极角变化次数递增到边数即结束循环
END2;
#5=#5+#15;层加工Z向加工起始点坐标依次增加层间距
END1;
G00Z30.;
G15;
M30;
铣圆孔
使用平底铣刀,以螺旋铣削方式在实体上粗、精加工圆孔内型腔。
工件原点为圆孔中心上平面,绝对值编程。
循环加工路线为:
根据圆孔直径、刀具直径及步距所计算的螺旋加工次数确定每次螺旋下刀坐标,每次从1处以开始螺旋铣削一周,每一周螺旋下刀进给一个深度,到达预定孔深度后,刀具向中心移动1mm后快提刀,再移到2处开始螺旋铣削,依次类推,直到完成精加工。
O5018;
G54;
G00X0Y0Z10.;
M03S800;
#1=100;圆孔直径
#2=15;圆孔深度
#3=16;刀具直径
#4=0;Z向下刀起始点坐标
#17=2;每次螺旋Z向切深,即层间距
#5=0。
8*#3;以刀具直径计算步距(12.8)
#6=#1—#3;精加工时刀具中心回转直径(最大直径84)
#7=FIX[#6/#5];在XY平面内螺旋次数,刀具中心最大回转直径#6除以步距#5,并上取整数(84/12.8=6.5625,取整为7)
#8=FIX[#7/2];以半径计算坐标时的加工次数,取上整数(7/2=3.5,取整为4次)
WHILE[#8GE0]DO1;判断加工次数是否#8≥0,即还没完成精加工,则循环1继续,(在循环最后要对#8进行递减,#8=#8-1)
#10=#6/2—#8*#5;XY平面内每次螺旋加工时在X向的起点坐标值(绝对值,分别是X3。
6,X16.4,X29.2,X42,)
G00X#10;快速移到每次螺旋加X坐标起点
Z1.;快速定位到工件上平面1mm处
G01Z0。
F[#9*0。
2];工进速度接近加工平面
#4=0;Z向加工坐标初始值。
一定要放在循环语句之前
WHILE[#4LT#2]DO2;判断Z向坐值变量#4是否小于孔深#2的值,如还没到孔底则循环2继续
#4=#4+#17;依次递增Z向切深#17的值,重新对Z向坐标赋值。
G03I—#10Z—#4F#9;螺旋铣削程序段,G03逆时针螺旋加工至下一层
END2;循环2结束,当螺旋加工到孔底时,继续执行该段后的程序
G03I—#10;到达圆孔深度逆时针整圆铣削,平整加工孔底
G01X[#10-1。
];沿X向圆孔中心移动1mm
G00Z30.;快速提刀
#8=#8-1.;XY平面内螺旋加工次数依次减至0
END1;循环1结束,加工次数依次减至0则加工完成
M30;
铣内孔圆弧角
O5020;
G54G90G40G49;
G43G00Z10。
H3M03S800;
X0Y0M08;
G01Z0;
#1=100;圆孔直径
#3=16;刀具直径
#17=5;圆弧角半径
#16=[#1-#3]/2+#17;加工圆弧角上平面最大外圈时刀中心X坐标
G01X#16F60;XY平面定位倒角的加工起点
#11=0;Z轴起始深度赋值,工件上平面,自上而下分层加工
#12=—#17;Z轴最终深度赋值(圆角Z向终点,值为圆角半径)
N20#13=#17+#11;每层的高度值(半径值加上#11,#11随层变化)
#14=SQRT[#17*#17—#13*#13];每层刀尖接点X方向到圆角圆心的值
#15=#16-#14;刀中心每层X方向绝对坐标值
G01X#15Y0Z#11F1000;进给至每层圆弧面的X、Y、Z轴起点,
G02I-#15J0;G02整圆铣削加工一层
#11=#11—0。
05;Z坐标每次下降层间距0.05mm
IF[#11GE#12]GOTO20;当深度未到时,转移到N20程序段
G00G49Z50;
M30;
华中倒圆角宏程序:
(通过)项目:
华中M铣孔R圆角
CHEHELAN
O5020;
G54G90G40G49;
G00Z10。
M03S800;
X0Y0M08;
G01Z0;
#1=50
#3=16
#17=5
#16=[#1-#3]/2+#17
G01X[#16]F60
#11=0
#12=—#17
WHILE#11GE#12
N20#13=#17+#11
#14=SQRT[#17*#17-#13*#13]
#15=#16—#14
G01X[#15]Y0Z[#11]F1000
G02I[-#15];
#11=#11-0。
05;
ENDW;
G00G49Z50;
M30;
%1205
G54;华中项目(华中椭圆和半径补偿)
G90G00X48。
Y50。
M03S800;
G43Z50.H02;
G01Z15.F200;
#1=40.;
#2=30。
;
#3=15。
;工件原点离上平面15mm
G00Z[#3-5.];
G01G41X[#1]Y0D01;
#103=360。
;
N100WHILE#103GE0;
#104=#1*COS[#103*PI/180];
#105=#2*SIN[#103*PI/180];
G01X[#104]Y[#105];
#103=#103-1.;
ENDW;
G00Z20.;
G40X48.Y50.;
G00Z50.;
M05;
M30;
%8002;项目(华中宏M四方斜台)
#10=10。
华中圆和与X轴成10度角的四方宏程序
#11=10.0
#12=124.0
#13=124.0
N01G54
N05G00Z10。
0
#0=0
N06G00X[—#12]Y[—#13]
N07Z[—#10]M03S600
WHILE#0LT3
N[08+#0*6]G01G42X[-#12/2]Y[—175/2]F280。
0D[#0+1];可分别调D01D02D03半径值
N[09+#0*6]X[0]Y[—175/2]
N[10+#0*6]G03J[175/2]
N[11+#0*6]G01X[#12/2]Y[—175/2]
N[12+#0*6]G40X[#12]Y[-#13]
N[13+#0*6]G00X[-#12]Y[-#13]
#0=#0+1
ENDW
N100Z[-#10-#11]
#2=175/SQRT[2]*COS[55*PI/180]
#3=175/SQRT[2]*SIN[55*PI/180]
#4=175*COS[10*PI/180]
#5=175*SIN[10*PI/180]
#0=0
WHILE#0LT3
N[101+#0*6]G01G90G42X[-#2]Y[-#3]F280。
0D[#0+1]
N[102+#0*6]G91X[+#4]Y[+#5]
N[103+#0*6]X[—#5]Y[+#4]
N[104+#0*6]X[-#4]Y[-#5]
N[105+#