在数控程序编制中如何巧妙地使用宏程序取决于编程人员的思路,在切削加工中凡是存在一定逻辑关系且这种关系能用数学公式所表达的都可以使用宏程序编制。现在计算机在车间很普及,在我们学习编程时能用上计算机编程是件很奢侈的事情,我记得当初光把电脑中的程序导入到机床中,我就折腾里一个星期才搞明白,不好意思啊,有点暴露年龄了。

言归正传,今天为大家分享几个在实际加工中应用宏程序的案例,希望借助案例增加大家对宏程序的理解,并能通过练习达到熟练使用。

案例1、矩阵孔加工练习。

钻削下图中99个Ø3孔,我们把G54X0Y0设立在红色孔的圆心处,看看程序是怎么编制的。

12立加编程宏程序的编制与应用(12立加编程宏程序的编制与应用)(1)

12立加编程宏程序的编制与应用(12立加编程宏程序的编制与应用)(2)

图示(1)

程序如下; (以FANUC程序为例)

O1

G91G28Z0;

T1M6;

G90 G54G0G40G49G80 X0Y6;

G43H01Z100;

M3S1000;

#1=0 ; (将X轴移动量设为变量)

WHILE[#1LE192]DO1 ; (X轴变量控制在小于等于192时)

G98G81X[#1]Y6R5Z-10F150 ; (将变量运用在钻孔循环中)

Y0;

Y-6;

#1=#1 6 ; (X轴每次增量为6mm)

END1;

G80;

G49;

M05

M30

%

怎么样,没想到只使用这几行程序就把所有孔位搞定了吧!这就是宏程序的魅力所在,把复杂、重复且存在逻辑关系的程序简单化。

在实际钻削小直径矩阵孔时经常会出现加工中途刀具折断的问题,遇到这种问题时很麻烦,更换新钻头后程序还要重新执行,之前加工过的孔还要再加工一便,要不就得重新编制程序,很麻烦。现在的部分数控系统有了“程序断点恢复“功能还好一些,15年前的设备可没这么人性化,出现这种情况我们就会利用”公共变量#500-#999“编制宏程序,下面我将上图中的程序改动以下,看看我们是如何使用”公共变量“来编程的。

程序如下; (以FANUC系统为例)

O1

G91G28Z0;

T1M6;

G90 G54G0G40G49G80 X0Y6;

G43H01Z100;

M3S1000;

#501=0 ; (#501等于多少取决于系统参数中所保留的数字

WHILE[#501LE192]DO1 ;

G98G81X[#501]Y6R5Z-10F150 ;

Y0;

Y-6;

#501=#501 6 ;

END1;

G80;

G49;

M05

M30

%

我们利用#500-#999为公共变量且在机床断电后数据不会丢失的特点,当程序中刀具折断或机床突然断电,我们只要重新启动机床,在机床的参数界面找到#501中所保留的数值(如何查看此界面后续视频教学中会涉及),将此数值代入到程序#501=0中,用保存的数值替换掉0,重新执行程序即可。

案例2、椭圆加工练习。

加工图示(2)中长半轴为50,短半轴为25的椭圆台阶,看看程序是如何编制的:

12立加编程宏程序的编制与应用(12立加编程宏程序的编制与应用)(3)

图示(2)

程序如下; (以FANUC系统为例)

O1

G91G28Z0;

T1M6;

G90 G54G0G40G49G80 X60Y0;

G43H01Z100;

M3S1000;

Z5M8;

G01Z-10F200

G42D1X50Y0

#1=0;(将#1设为角度变量,起始角度为0)

WHILE[#1LE360]DO1; (限定角度变量从0至360)

#2=COS[#1]*50;(X点坐标运算公式)

#3=SIN[#1]*25;(Y点坐标运算公式)

G01X#2 Y#3;

#1=#1 2;(角度递增量,每次增加2度)

END1;

G1G40X60Y0;

G0Z100M9;

G49;

M5;

M30;

%

讲解程序之前先帮大家回忆一下初中数学知识(也可能是小学知识,记不清了):

正弦:在直角三角形中,任意一锐角∠A的对边与斜边的比叫做∠A的正弦,记作sinA,即sinA=∠A的对边/斜边,sin[0°]=0,sin[90°]=1。

余弦:在直角三角形中,任意一锐角∠A的临边与斜边的比叫做∠A的余弦,记作cosA,即cosA=∠A的临边/斜边,cos[0°]=1,cos[90°]=0。

很久没用过了吧?哈哈,咱们在椭圆上取一点,如图示(3):

当#1=0时,带入程序中X=COS[0]*50=1*50=50;Y=SIN[0]*25=0*25=0 ,就发现当起始角度#1=0时,程序起始点为:X50Y0.

当#1=90时,带入程序中X=COS[90]*50=0*50=0;Y=SIN[90]*25=1*25=25 ,就发现当角度变量#1=90时,程序点为:X0Y25.

12立加编程宏程序的编制与应用(12立加编程宏程序的编制与应用)(4)

图示(3)

随着角度变量#1的递增0-360,X、Y点坐标不断变换,相当于用180(360/2)段直线插补出来了一个椭圆,这也就是为什么我们管G02、G03叫做圆弧插补指令,其实G02、G03也是系统通过X、Y点位的不断变换,用无数直线来模拟出的圆弧。

理解完椭圆宏程序的编制方法后,我们在将难度提升一下,顺便介绍以一下“系统变量“是如何使用的。

案例3、任意形状倒圆角练习。

我们在图示(2)中的椭圆外形上增加个R6圆弧倒角,见图示(4),用R4球头铣刀进行加工,看看如何用宏程序编制程序的。

12立加编程宏程序的编制与应用(12立加编程宏程序的编制与应用)(5)

图示(4)

程序如下; (以FANUC系统为例)

O1

G91G28Z0;

T1M6;

G90 G54G0G40G49G80 X60Y0;

G43H01Z100;

M3S1000;

Z5M8;

G01Z0F200

#4=0;(将#1设为角度变量,起始角度为0)

WHILE[#4LT90]DO1; (限定角度变量从0至90)

#4=#4 5; (角度递增量,每次增加5度)

#5=SIN[#4]*10; (X点坐标运算公式)

#6=COS[#4]*10; (Z点坐标运算公式)

#13001=[#2-6]; (D01刀补数据)

G01Z[#6-10]; (Z点坐标)

G42D1X50Y0;

#1=0;(将#1设为角度变量,起始角度为0)

WHILE[#1LE360]DO2; (限定角度变量从0至360)

#2=COS[#1]*50;(X点坐标运算公式)

#3=SIN[#1]*25;(Y点坐标运算公式)

G01X#2 Y#3;

#1=#1 2;(角度递增量,每次增加2度)

END2;

G1G40X60Y0;

END1;

G0Z100M9;

G49;

M5;

M30;

%

以上程序属于双层嵌套,程序中出现的#13001系统变量,#13001对应的是D01号刀具半径补偿数据,什么意思呢,就是当你在MDI模式下执行“#13001=10“后,你会发现,刀具半径补偿数据中D01位置变成了10,就是这么神奇。

理解完#13001后我们来讲解R4球头铣刀是如何加工R6圆弧的,见图示(5)

12立加编程宏程序的编制与应用(12立加编程宏程序的编制与应用)(6)

图示(5)

在这段宏程序中我们将#4定义为角度变量,从0°递增至90°。R4球头铣刀从A点开始、B点结束,我们选择其中一个点位C进行计算,确定了刀具X与Z的运算关系,将X值转换为刀具半径补偿值。从整个程序来看就相当于,刀具下降一个Z值,带着D01号刀补切割一个椭圆,然后再下降一个Z值,带着D01号刀补切割一个椭圆,只是Z值与D01是不断变化的,变化关系如程序所示,直至R6倒角加工完成,程序结束。

以上案例就是手工编程中宏程序使用方法,希望大家能消化吸收。掌握了上述编程方法后可以自己练习一下如何编制螺纹铣刀的加工程序,检验一下自己的学习成果。以上就是今天所讲内容,如在机床上切削实验,需做好安全防护,有其它见解或疑问欢迎老铁留言讨论,下节我们将讲解旋转指令G68的使用方法,敬请关注!

,