图3-38是在一长方形零件进行平行四边形网式点阵孔群钻(铣)削加工,假设共有行M(#18)、列H(#9),孔数共有M×H,横向孔距为U(#20),纵向孔距为V(#7),A(#19)为X轴与斜线的夹角,其中X0为工件上左下边第一个孔的横坐标绝对值,Y0为工件上左下边第一个孔的纵坐标绝对值。利用宏变量(或参数)编制此类零件的通用程序。
图3-38 平行四边形网式点阵孔群类零件钻削加工刀具路线示意图
a)平行四边形网式点阵孔群类零件图 b)效果图
由图3-38分析,可画出该宏程序的结构流程框图,如图3-39所示。
1.HNC—21/22M华中世纪星数控系统对平行四边形网式点阵孔群零件的用户宏程序
自变量含义:
#2=X0;X基准点存储
#3=Y0;Y基准点存储
#8=1;取值次数初始值
#17=1;行程次数初始值
#18=M;行孔数M
#19=A;平行四边形起始边与X轴的夹角A
#20=U;孔行间距U
#11=B;平行四边形起始边与终边的夹角B
#9=N;列孔数N
#7=V;孔列距V
%3325;宏程序名
图3-39 平行四边形网式点阵孔群钻削加工用户宏程序结构流程框图
N005#101=#2;X基准点存储值赋给#101
#102=#3;Y基准点存储值赋给#102
#31=#18;行孔数M赋给中间变量#31
#32=#19;平行四边形起始边与X轴的夹角A赋给中间变量#32
#33=#20;孔行间距U赋给中间变量#33
#100=1;计数器置1
N010 WHILE #100LT [#18*#9];如果#100大于M×N,则程序跳转到N095程序段
N020 WHILE #31GT0;如果#31小于0,则程序跳转到N050程序段
N025 G00 X[#101] Y[#102];将刀具移动到孔上方
N030 G98 G81 Z[#26] R[#18] F[#9] K0;调用循环程序钻定位孔
N035 #101=#2+#33*COS[#32*PI/180];计算坐标值X=X0+Tcos(S)
#102=#3+#33*SIN[#32*PI/180];计算坐标值Y=Y0+Tsin(S)
N040 #2=#101;X坐标存储
#3=#102;Y坐标存储
#31=#31-1;孔数减1
#100=#100+1;计数器计数
N045 ENDW;返回循环体2
N050 #8=#8+1;取值次数加1
N055 IF[#8/#17] EQ2;如果(#8/#17)不等于2,则程序转移到N065程序段
N060 #31=1;取第二组数据
#32=#19+#11;平行四边形终边与X轴的夹角
#30=#7:孔列间距V赋给中间变量#30
#17=#17+1;行程次数值+1
ELSE;
N065 IF#30EQ#19;如果#30不等于#19,则程序转移到N070程序段
#31=#18-1;孔数减1
#32=#19;取第一组数据
#33=#20;
#30=0;
ELSE
N070 IF#8EQ[2*#17-1];如果#8不等于(2*#17-1),则程序转移到N075程序
段
#18=#18-1;取第三组数据
#32=#19+180;
#32=#20;
#30=#32-180;
N075 ENDIF;
N080 ENDIF;
N085 ENDIF;
N090 ENDW;返回循环体1
N095 M99;子程序结束并返回主程序
2.SINUMERIK802D数控系统对平行四边形网式点阵孔群零件的用户R参数程序
R参数含义:
R2=X0;X基准点存储
R3=Y0;Y基准点存储
R8=1;取值次数初始值
R17=1;行程次数初始值
R18=M;行孔数M
R19=A;平行四边形起始边与X轴的夹角A
R20=U;孔行间距U
R11=B;平行四边形起始边与终边的夹角B
R9=N;列孔数N
R7=V;孔列间距V
L3325;R参数程序名
N010 R101=R2;X基准点存储值赋给R101
R102=R3;Y基准点存储值赋给R102
R31=R18;行孔数M赋给中间变量R31
R32=R19;平行四边形起始边与X轴的夹角A赋给中间变量R32
R33=R20;孔行间距U赋给中间变量R33
R100=1,计数器置1
R105=R18*R9;孔加工总数
N015 MARKE1:IF R33<=0 GOTOF MARKE0;如果R33小于或等于0,则程序跳转到MARKE0标志符
N025 MARKE7:R101=R2+R33*COS[R32];计算坐标值X=X0+TCOS(S)
R102=R3+R33*SIN[R32];计算坐标值Y=Y0+TSIN(S)
N030 G00 X=R101 Y=R102;指令机床移动X、Y坐标
N032 CLYC81(RTP,REP,SDIS,DP,DPR);调用固定循环程序钻定位孔
N034 R2=R101;X坐标存储
R3=R102;Y坐标存储
R31=R31-1;孔数减1
N035 IF R31>0 GOTOB MARKE7;如果R31大于零,则程序跳转到MARKE7标志符
N040 R8=R8+1;取值次数加1
N045 IF(R8/R17)==2 GOTOF MARKE2;如果(R8/R17)等于2,则程序跳转到MARKE2标志符
N050 IF R30==R19 GOTOF MARKE3;如果R30等于R19,则程序跳转到MARKE3标志符
N055 IF R8==(2*R17-1)GOTOF MARKE4;如果R8等于(2*R17-1),则程序跳转到MARKE4标志符
N060 MARKE3:R31=R8-1;孔数减1
R32=R19 R33=R20 R30=0;取第一组数据
N065 MARKE2:IF R32==R19 GOTOF MARKE5;如果R32等于R19,则程序跳转到MARKE5标志符
N070 R31=1 R32=R19+R11 R30=R7 R17=R17+1;取第二组数据
N075 IF R31==1 GOTOF MARKE5;如果R31等于1,则程序跳转到MARKE5标志符
N080 MARKE4:R31=R18-1 R32=R19+180 R32=R20 R30=R32-180;取第三组数据
N085 IF R33==R20 GOTOF MARKE5;如果R33等于R20,则程序跳转到MARKE5标志符
N090 MARKE5:IF(R8/2)==R9 GOTOF MARKE0;如果(R8/2)等于R9,则程序跳转到MARKE0标志符
N095 R100=R100+1;计数器计数
N100 MARKE0:RET;R参数程序结束并返回调用程序
3.FANUC0i数控系统对平行四边形网式点阵孔群零件的用户宏程序
自变量含义:
#2=X0;X基准点存储
#3=Y0;Y基准点存储
#8=1;取值次数初始值
#17=1;行程次数初始值
#18=M;行孔数M
#19=A;平行四边形起始边与X轴的夹角A
#20=U;孔行间距U
#11=B;平行四边形起始边与终边的夹角B
#9=N;列孔数N
#7=V;孔列间距V
O3325;宏程序名
N005 #101=#2;X基准点存储值赋给#101
#102=#3;Y基准点存储值赋给#102
#31=#18;行孔数M赋给中间变量#31(www.xing528.com)
#32=#19;平行四边形起始边与X轴的夹角A赋给中间变量#33
#33=#20;孔行间距U赋给中间变量#33
#100=1;计数器置1
N010 WHILE [#100LE[#18*#9]] DO1;如果#100大于M×N,则程序跳转到N115程序段
N015 IF[#33LE0] GOTO115;如果#33小于或等于0,则程序跳转到N115程序段
N020 WHILE [#31GE0] DO2;如果#31小于0,则程序跳转到N050程序段
N025 G00 X#101 Y#102;将刀具移动到孔上方;
N030 G98 G81 Z#26 R#18 F#9 K0;调用循环程序钻定位孔
N035 #101=#2+#33*COS[#32];计算坐标值X=X0+TCOS(S)
#102=#3+#33*SIN[#32];计算坐标值Y=Y0+TSIN(S)
N040#2=#101;X坐标存储
#3=#102;Y坐标存储
#31=#31-1;孔数减1
#100=#100+1;计数器计数
N045 END2;返回循环体2
N050 #8=#8+1;取值次数加1
N055 IF [#8/#17EQ2] GOTO80;如果#8/#17等于2,则程序转移到N080程序段
N060 IF [#30EQ#19] GOTO70;如果#30等于#19,则程序转移到N070程序段
N065 IF [#8EQ(2*#17-1)] GOTO90;如果#8等于(2*#17-1),则程序转移到N090 程序段
N070 #31=#18-1;孔数减1
#32=#19;取第一组数据
#33=#20;
#30=0;
N075 IF [#32EQ#19] GOTO100;如果#32等于#19,则程序转移到N100程序段
N080 #31=1;取第二组数据
#32=#19+#11;平行四边形终边与X轴的夹角
#30=#7;孔列间距V赋给中间变量#30
#17=#17+1;行程次数值+1
N085 IF [#31EQ1] GOTO100;如果#31等于1,则程序转移到N100程序段
N090 #31=#18-1;取第三组数据
#32=#19+180;
#33=#20;
#30=#32-180;
N095 IF [#33EQ#20] GOTO100;如果#33等于#20,则程序转移到N100程序段
N100 IF [#8/2EQ#9] GOTO115;如果#8/2等于#9,则程序转移到N115程序段
N110 END1;返回循环体1
N115 M99;子程序结束并返回主程序
4.编程举例
在铣床或加工中心上钻削图3-40所示一长方形零件平行四边形网式点阵孔群。平行四边形网式点阵孔群排列共有5行6列,每行孔数6个,每列孔数5个,相邻各行孔的列距为40.0mm,行距为45.0mm,左下角的第一个孔中心与工件坐标系原点的绝对坐标为(30,20),平行四边形的起始边与X轴的夹角为15°,平行四边形的起始边与终边的夹角为60°。试编写出其宏程序。
图3-40 平行四边形网式点阵孔群编程实例钻削加工走刀路线图
a)平行四边形网式点阵孔群编程实例尺寸图 b)效果图
解:
(1)工艺设计 建立工件坐标系,工件左下角为工件坐标系X、Y轴的零点,工件表面为工件坐标系Z轴的零点,机床坐标系偏置值设置在G54寄存器中。
采用每一行从左至右逐个钻削加工,再逐行递增从左至右逐个钻削加工,这样逐行递增进行平行四边形网式点阵孔群的加工。选择ϕ8mm的麻花钻,取主轴转速为800r/min,钻削进给速度为150mm/min,主轴起始位置在零件上方50.0mm处,刀具起始切削高度为4.0mm,最终钻孔深度Z-20.0mm。根据不同数控系统,运用变量(或参数)直接赋值编制宏程序。
(2)参考程序
1)HNC—21/22M华中世纪星数控系统。
O××××;文件名
%××××;程序号
N05 #2=30.0;X基准点存储
#3=20.0;Y基准点存储
#8=1;取值次数初始值
#17=1;行程次数初始值
#18=6;行孔数
#19=8;平行四边形起始边与X轴的夹角
#20=40;孔行间距
#11=50;平行四边形起始边与终止边的夹角
#9=5;列孔数
#7=45;孔列距
N10 T01 M06;调用1号刀
N15 G17 G90 G21 G94 G54 G40 G49 G80;工艺加工状态设置
N20 G43 G00 Z50.0 H01 S800 M03;建立刀具长度补偿,主轴正转,转速为800r/min
N25 X0 Y0 M07;刀具快速移动到工件坐标零点,打开切削液
N35 M98 P3325;调用钻削平行四边形网式点阵孔群的用户宏程序
N40 G00 Z100.0 M09;刀具退到工件上表面100mm处,切削液关闭
N45 G49;取消刀具长度补偿
N50 X0 Y0 M05;刀具退回工件坐标零点,主轴停止
N55 M30;程序结束并返回程序开头
%3325;平行四边形网式点阵孔群钻削用户宏程序(见前面)
︙
M99;子程序结束,返回主程序
2)SINUMERIK 802D数控系统。
FZG×××××;主程序名
N05 R2=30.0;X基准点存储
R3=20.0;Y基准点存储
R8=1;取值次数初始值
R17=1;行程次数初始值
R18=6;行孔数
R19=8;平行四边形起始边与X轴的夹角
R20=40;孔行间距
R11=50;平行四边形起始边与终止边的夹角
R9=5;列孔数
R7=45;孔列距
N10 T1 D1;调用1号刀,1号刀补
N15 G17 G90 G71 G94 G54 G40;工艺加工状态设置
N20 G00 Z50.0 S800 M03;建立刀具长度补偿,主轴正转,转速为800r/min
N25 X0.0 Y0.0 M08;刀具快速移动到工件坐标零点,打开切削液
N30 L3325;调用钻削平行四边形网式点阵孔群的用户R参数程序
N35 G00 Z100.0 M09;刀具退到工件上表面100mm处,切削液关闭
N40 X0 Y0 M05;刀具退回工件坐标零点,主轴停止
N45 M02;程序结束并返回程序开头
L3325;平行四边形网式点阵孔群钻削用户R参数程序(见前面)
︙
RET;R参数子程序结束,返回主程序
3)FANUC 0i数控系统。
O××××;主程序名
N05 #2=30.0;X基准点存储
#3=20.0;Y基准点存储
#8=1;取值次数初始值
#17=1;行程次数初始值
#18=6;行孔数
#19=8;平行四边形起始边与X轴的夹角
#20=40;孔行间距
#11=50;平行四边形起始边与终止边的夹角
#9=5;列孔数
#7=45;孔列距
N10 T01 M06;调用1号刀
N15 G17 G90 G21 G94 G54 G40 G49 G80;工艺加工状态设置
N20 G43 G00 Z50.0 H01 S800 M03;建立刀具长度补偿,主轴正转,转速为800r/min
N25 X0 Y0 M07;刀具快速移动到工件坐标零点,打开切削液
N35 G65 P3325;调用钻削平行四边形网式点阵孔群的用户宏程序
N40 G00 Z100.0 M09;刀具退到工件上表面100mm处,切削液关闭
N45 G49;取消刀具长度补偿
N50 X0 Y0 M05;刀具退回工件坐标零点,主轴停止
N55 M30;程序结束并返回程序开头
O3325;平行四边形网式点阵孔群钻削用户宏程序(见前面)
︙
M99;子程序结束,返回主程序
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。