例1:用宏程序和子程序功能顺序加工圆周等分孔。设圆心在O点,它在机床坐标系中的坐标为(X0,Y0),在半径为r的圆周上均匀地钻几个等分孔,起始角度为α,孔数为n。以零件上表面为Z向零点。见图4.35。
|
图4.35 等分孔计算方法 |
使用以下保持型变量:
#502:半径r;
#503:起始角度α;
#504:孔数n,当n>0时,按逆时针方向加工,当n<0时,按顺时针方向加工;
#505:孔底Z坐标值;
#506:R平面Z坐标值;
#507:F进给量。
使用以下变量进行操作运算:
#100:表示第i步钻第i孔的记数器;
#101:记数器的最终值(为n
的绝对值);
#102:第i个孔的角度位置θi的值;
#103:第i个孔的X坐标值;
#104:第i个孔的Y坐标值;
用用户宏程序编制的钻孔子程序如下:
O9010
N110 G65 H01 P#100 Q0 //#100 = 0
N120 G65 H22 P#101 Q#504 //#101 = │#504│
N130 G65 H04 P#102 Q#100 R360 //#102 = #100
×360o
N140 G65 H05 P#102 Q#102 R#504 //#102 = #102
/ #504
N150 G65 H02 P#102 Q#503 R#102 //#102 = #503 + #102当前孔角度位置θi
=α+
(360o×i) / n
N160 G65 H32 P#103 Q#502 R#102 //#103 = #502
×COS(#102)当前孔的 X坐标
N170 G65 H31 P#104 Q#502 R#102 //#104 = #502
×SIN(#102) 当前孔的Y坐标
N180 G90 G00 X#103 Y#104 //定位到当前孔(返回开始平面)
N190 G00 Z#506 //快速进到R平面
N200 G01 Z#505 F#507 //加工当前孔
N210 G00 Z#506 //快速退到R平面
N220 G65 H02 P#100 Q#100 R1 //#100 =
#100+1孔计数
N230 G65 H84 P-130 Q#100 R#101 //当#100 <
#101时,向上返回到130程序段
N240 M99 //子程序结束
调用上述子程序的主程序如下:
O0010
N10 G54 G90 G00 X0 Y0 Z20 //进入加工坐标系
N20 M98 P9010 //调用钻孔子程序,加工圆周等分孔
N30 Z20 //抬刀
N40 G00 G90 X0 Y0 //返回加工坐标系零点
N50 M30 程序结束
设置G54:X=-400,Y=-100,Z=-50。
变量#500~#507可在程序中赋值,也可由MDI方式设定。
例2:根据以下数据,用用户宏程序功能加工圆周等分孔。如图4.36:在半径为50mm的圆周上均匀地钻8个ф10的等分孔,第一个孔的起始点角度为30o,设圆心为O点,以零件的上表面为Z向零点。
|
图4.36 等分孔应用举例 |
首先在MDI方式中,设定以下变量的值:
#502:半径r为50;
#503:起始角度α为30;
#504:孔数n为8;
#505:孔底Z坐标值为-20;
#506:R平面Z坐标值为5;
#507:F进给量为50。
加工程序为:
O6100
N10 G54 G90 G00 X0 Y0 Z20
N20 M98 P9010
N30 G00 G90 X0 Y0
N40 Z20
N50 M30
设置G54:X=-400,Y=-100,Z=-50。
|