一、编程思路
行切法的实际加工过程为在X方向往复切削,在Y方向不断偏移。可以将一次往复切削过程编成子程序,在这一次切削过程中,刀具沿着X的正向切削一次后要在Y向偏移一个步距,刀具沿着X的负向切削一次后也要在Y向偏移一个步距。
由于行切最后一刀总是只有进刀动作,并没有实际切削,所以假设总进刀次数为n,子程序重复次数为m,总的实际进刀次数为w,由于每调用子程序执行一次要进刀两次,则w=2m-1,很显然实际的进刀次数总是为奇数,这样当总进刀次数n为奇数时,不存在问题,而当总进刀次数n为偶数时,需要再补一刀,让n成为奇数,这样子程序重复次数也要增加一次。
根据前面的行切区域计算数据,总进刀次数n=总进刀距离/步距=360/50=7.2,取整为7次,则总的切削次数为8刀,进刀7次。子程序重复次数m=n/2=7/2=3.5,取整为4,则在整个切削过程中实际进刀次数w=2m-1=7次。
当步距取为50mm,从计算的总进刀次数可以看出,最后一刀实际不够一次切削,从使得实际切削量不均衡,这样可以将步距调整为:步距=总进刀距离/进刀次数,即实际切削步距为360/7≈52mm。
从上面的分析可以看出,行切加工要不断调用子程序,使用宏程序的循环功能进行编程。将循环调用次数定义为变量#1,#1每变化一次,调用一次子程序。子程序循环调用的判定条件为:当#1小于等于4时,进行循环调用,当#1大于4时,循环调用结束。
二、编程
编程原点(工件原点)设在工件上表面中心,假设上表面的铣削深度为4mm,下刀点选在工件左下角点,程序编写如下;
O1000;主程序
G54G90G17G40;
M03S800;
G00Z50.;
G00X-300.0Y-180.0;定位到下刀点
Z5.;
G01Z-4.F60;
#1=1;子程序调用次数
WHILE[#1LE4]DO1;循环判定条件
M98P1001;调用子程序
#1=#1+1;调用次数不断加1
END1;循环结束
G01Z5.;
G00Z100.;
X0Y0;
M05;
M30;主程序结束并复位
O1001;子程序
G91G01X300.F100;增量坐标编程
Y10.;
X-300.;
Y10.;
G90;绝对坐标编程
M99;子程序结束
领取专属 10元无门槛券
私享最新 技术干货