上面的内容讲解了数控宏程序编程的变量、控制流向的语句(语法)以及编写一个高质量宏程序的算法设计等基础知识,在此将宏程序编制的主要步骤归纳为以下几点:
①分析零件。
②设计算法。
③结合变量和控制流向的语句编制宏程序代码。
④在数控机床上进行宏程序代码的调试。
这4个步骤缺一不可,其中步骤②和步骤④极为关键,一个程序的算法决定这个程序的优劣,同时高质量的程序不是编写出来的,而是调试出来的。
下面演示一个完整数控铣削宏程序的编制过程,分别采用宏程序、G代码以及自动编程软件写出图1-8所示零件铣削加工程序的代码,要求铣削深度为5mm,材质为铝合金。
图1-8 加工零件示意图
(1)先对零件图样进行分析,该案例要求铣削一个长方体的大平面,长度方向(X轴)尺寸为100mm,宽度方向(Y轴)尺寸为60mm,毛坯高度为25mm,铣削深度为5mm,主要步骤如下:
第一步:确定加工机床。本实例选用FANUC系统的数控铣床进行零件的加工。
第二步:选择刀具。该实例铣削平面若选用直径为120mm的面铣刀,其加工的效率最高,理论上只需进行一次行走即可完成铣削。但是不采用φ120mm的面铣刀,而采用φ12mm的平底铣刀来完成铣削任务。
第三步:确定编程原点(包括坐标系的坐标轴方向)。数控铣编程原点的选择,相比数控车要灵活得多。本实例可以选择长方体的上表面中心(O点上方5mm)为编程原点,也可以以长方体左下角的上平面端点(A点上方5mm处)为编程原点,还可以确定在别处(如B点上方5mm处)。编程原点选择的原则为:一是方便数值的计算;二是方便实际操作中工件坐标系的确定。本实例编程原点确定在左下角的上表面端点处。
第四步:确定转速和进给量。根据机床参数、效率要求和工件材料等条件确定转速为600r/min,进给量为100mm/min。
第五步:顺铣和逆铣的选择。
(2)算法和流程控制的设计。
第一步:由于刀具直径为12mm,为减小铣削力需要考虑适合的步距,在此为避免全刃宽度切削,每次控制的步距确定为10mm,切削刀路方式采用平行往复式切削。
第二步:为了方便计算,从A点进刀,X轴采用增量(G91)编程的方式。
第三步:为了减少程序量,引进变量#100作为长方体的宽度,利用控制流向的语句来精简程序(采用宏程序编程),Y轴采用绝对(G90)编程方式。
第四步:结合以上所述,规划出本实例程序设计的流程框图,如图1-9所示。
图1-9 本实例程序设计的流程框图
第五步:根据算法的设计和分析,需要规划的切削刀具路径(简称刀路)轨迹如图1-10所示。
图1-10 刀具路径轨迹示意图(www.xing528.com)
(3)结合变量和控制流向语句,编制本实例的宏程序代码及其注释如下:
本实例编程要点的提示:
1)G91和G90转换问题。在此程序中采用的是往复式切削刀路模式,从坐标系原点出发,第一次X是远离坐标原点(向正方向移动),增量是正值;第二次切削X向是逼近坐标系原点的移动,增量是负值。由此类推发现:奇次切削是远离坐标原点的运动,而偶次切削是逼近坐标原点的运动。
2)#100=-#101的问题。由于奇次切削是远离坐标原点的运动,而偶次切削是逼近坐标原点的运动,所以每次切削完毕后#101要重新赋值为-#101。
3)本实例程序中的IF[#100 LE 60]GOTO 20语句,还可以用以下循环语句来替代。
请读者比较这两个程序中变量的设置方法以及运用条件表达式上的微小区别,变换不同思路就可以用不同的程序来表达,如此反复练习,既可以提高逻辑思维的能力,也可以加深对宏程序编程思路、方法和技巧的理解。
(4)采用G代码调用子程序编程的方法,编写的程序代码如下:
(5)以下程序是利用UG NX CAM自动编程生成的加工程序:
可以看出:自动编程生成的程序量相对较大,如果零件加工型面更加复杂,默认后处理方式生成的程序量还要大。
即使采用调用子程序来编写代码,由程序O1003中的代码可知,每一层铣削就调用3次O1004中的程序。而采用宏程序编程时,只要增加一个深度方向的变量#102和一个判断语句即可,规划的程序流程框图如图1-11所示。
图1-11 增加深度方向变量后的流程框图
(6)根据流程框图1-11编制的宏程序代码及其注释如下:
编程要点提示:
1)此程序双重嵌套,难度相对较大(该程序是与用G代码调用子程序编程以及软件自动编程进行比较)。
2)此程序在深度Z方向设置了一个变量#102,可以实现多重刀路的切削,代码紧凑、逻辑缜密,体现宏程序编程在解决有规律的多重刀路中的强大优势。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。