1.算法的设计
(1)从上分析可知,该实例为四角圆角过渡的型腔铣削加工,需要考虑以下方面:
1)和第2章实例2-1相比,要求内容多,主要区别在于进刀方式和加工路径选择上有所不同。
2)采用中心垂直进刀(螺旋方式进刀、Z字斜线进刀等方式),依次沿着+X、+Y、-X、-Y、+X、Y10的路径进给,形成环切轮廓一周的进给路径,如图3-20所示。如果铣削型腔的宽度大于刀具直径,则需要多次环切才能加工成形。
图3-20 精加工进给路径轨迹示意图
(2)四周圆角成形问题。在本实例中四周圆角半径为R5mm,在铣削中采用了半径为5mm的刀具来进行加工,很显然,圆角半径大小由刀具半径来保证。但是,四周过渡圆角不相等或相对于刀具半径过大的情况下,需要考虑刀具半径在型腔运动时的最大回转半径,此时圆角的加工需要采用G02/G03圆弧插补指令来完成。
(3)铣削次数的控制问题:在每一层铣削中,设置#100号变量控制每次铣削的步距,通过采用FIX(最大毛坯余量除以步距)来控制环切的次数。
(4)铣削方式:采用分层加工,本实例中设置#103号变量控制铣削深度的变化,通过语句#103=#103-2、IF[#103 GE-20]GOTO n实现铣削循环。
(5)在实际编程中,既可以采用刀具半径补偿G42/G41进行轮廓编程,也可以采用刀心进行编程。若采用刀具半径补偿G41/G42进行轮廓编程,需要设置#104号变量控制每次刀补的位移量。
(6)为了简化编程,可以采用增量值指令方式(G91)。
图3-21 多次环切进给路径轨迹示意图
2.程序流程框图设计
根据以上算法设计分析,规划型腔铣削的精加工刀路轨迹如图3-20所示,进行多次环切刀路轨迹如图3-21所示,精加工的程序流程设计如图3-22所示,多次环切实现粗加工的程序流程设计如图3-23所示。
图3-22 精加工的程序流程框图
图3-23 粗加工的程序流程框图
3.根据算法以及流程框图编写加工的宏程序代码
程序1:铣削四角圆角过渡矩形型腔的精加工宏程序代码
实例3-3 程序1编程要点提示:
(1)本程序适用于已经去除大量余量的精加工程序。
(2)本程序的编程思路、逻辑关系并不复杂,采用环切法加工矩形型腔,体现出型腔(凹槽)加工中重要而有效的加工路线。
型腔加工中,切入和切出无法外延。实际加工尽量安排由圆弧过渡的方式切入和切出工件,这样可以避免在工件切入、切出处产生加工痕迹。
若无法实现圆弧过渡,可以沿着工件轮廓的法向方向切入和切出工件,并将其切入、切出选择在轮廓两侧几何元素的交点处,下面是凹槽加工的三种常见加工路线:
图3-24所示为凹槽行切加工,适用于毛坯粗加工。从图中可以看出,其加工路径和环切法相比较短,但是路径之间会留下凹凸不平的残留余量,残留高度与步距大小有关。
图3-25所示为凹槽环切加工,适用于工件的精加工。加工余量均匀稳定,有利于改善工件表面质量,但进给路径相对较长,不利于提高加工效率。
图3-26所示为凹槽先行切、后环切加工。把Z字形运动和环切加工结合起来,用同一把刀进行粗加工、半精加工是一个很好的方法,集中了行切法和环切法两者的优点。在实际加工中,根据工件精度要求,合理规划加工路线和进给路径,以提高效率。
(3)四角圆角半径为5mm,在实际加工中采用直径φ10mm的刀具,圆角半径由刀具半径来保证,参见程序中的语句Y[#101]F100、X-[#100]、Y-[#101]、X[#100],并没有采用G02/G03等圆弧插补指令。如果圆弧半径相对于刀具半径要大,则需要采用过渡圆弧或G02/G03等圆弧插补指令来完成圆角的加工。
图3-24 凹槽行切加工
(www.xing528.com)
图3-25 凹槽环切加工
图3-26 凹槽先行切、后环切加工
(4)带有圆角型腔加工,加工刀具半径要小于或等于最小的圆角半径。
程序2:粗铣轮廓四角圆角的铣削加工宏程序代码
实例3-3 程序2编程要点提示:
(1)本程序为粗加工轮廓,采用环切法加工路线。
(2)#103号变量用来控制深度的变化,通过#103=#103-2、IF[#103GT-20]GOTO 10语句实现分层铣削四角圆角过渡型腔。
(3)通过设置#100=15、#101=5控制每层第一次铣削X、Y轴移动目标的绝对值;通过#100=#100+5、#101=#101+5变量的逐渐增加,控制进行下一圈铣削轮廓的X、Y移动目标的绝对值;通过控制语句IF[#100 LT 30]GOTO 20来实现最后一圈铣削的X、Y轴移动目标的绝对值。
(4)设置#102=0.5控制粗铣轮廓,相当于在粗铣时工件轮廓向外平移#102余量的值;精加工时,通过语句#102=#102-0.5把工件轮廓移到原位置。
(5)GOTO 20语句为无条件跳转语句(也称绝对跳转语句)。不管给定的条件是否满足,程序都跳转到标号为20的程序段处执行。这是本书中出现的第一个采用GOTO语句进行编程的实例,在此做几点补充说明:
1)程序O3022中,GOTO(绝对跳转语句)也可以用IF…GOTO…条件跳转语句来替换,它们都是用来改变控制的流向。而本实例可以编写成WHILE…DO循环格式的精加工程序。
2)GOTO 20无条件跳转语句。只要程序执行到该语句就会跳转到N20处,执行轮廓加工的程序,会出现无数次(死循环)加工型腔轮廓过程,因此,需要合理地设置变量,使程序及时结束加工型腔轮廓过程。
3)IF[#102 LT-0.1]GOTO 30语句的作用是使程序及时结束加工型腔轮廓。具体执行过程请读者自行分析。
4)GOTO(绝对跳转语句)初学者要慎用,避免出现无限循环现象,建议改用IF…GOTO…条件跳转语句来替换,同样能实现GOTO语句的功能。
程序3:采用图3-23所示流程框图编程的宏程序代码
实例3-3 程序3编程要点提示:
(1)本程序为粗铣轮廓程序,程序设计的刀路轨迹如图3-21所示,程序设计流程如图3-23所示。
(2)程序O3022和程序O3023的区别在于控制铣削的循环条件不同:程序O3022采用判断X、Y向移动目标的绝对值是否达到型腔尺寸作为循环结束的条件;程序O3023采用铣削次数作为循环结束的条件。关于铣削次数补充几点说明:
1)次数的计算:采用铣削的总余量除以步距得出总的铣削次数,利用FIX函数取整。
2)FIX函数为取整函数,在实际加工中,由于省略了小数部分导致第一次铣削步距大于其他铣削的步距。
3)本程序是利用X向铣削次数来控制循环过程。计算出铣削每圈相对应的X、Y移动的目标绝对值,也可通过计算Y向铣削次数,来换算铣削每圈相对应的X、Y移动的目标绝对值。
(3)WHILE[#107LE#105]DO1语句中的判断条件是LE(小于或等于)而不能是LT。
(4)本程序采用刀心编程,也可以采用刀具半径补偿(G41或G42)方式来编写宏程序代码。但要注意刀具半径补偿要在Z向进刀之前建立,铣削一层后,要在Z向抬刀到安全高度,再取消刀具半径补偿,程序代码见程序O3024。
程序4:采用刀具半径补偿方式编写的代码
实例3-3 程序4编程要点提示:
(1)程序O3024利用X向的铣削次数来控制循环过程。通过计算X向的铣削次数来算出铣削每圈相对应的X、Y向移动的目标绝对值。
(2)请读者思考:是不是也可以通过计算Y向铣削次数,来计算铣削每圈相对应的X、Y向移动的目标绝对值呢?
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。