在数控编程的教学中,我们一般较少涉及宏程序,见到一大堆的井号,我们不免生畏,但一些车削循环指令在具体应用时出现一些问题,很多教材交待不清,交待不够。比如:华中数控G71指令中A、B点X坐标的确定问题。一些参数的确定的方法运用的效果不好。比如:华中数控G80、G81指令中的I、K的正负号的确定,学生运用起来,总是容易糊涂。
近日来,既是网上下载,又是到数控车间联接机床电脑上拷贝文件、打印,忙得不亦乐乎,研究了一些车削循环的宏程序实现源代码。虽然颇费了一番力气,但也颇有收获。宏程序源代码将循环指令执行过程中的许多秘密,一览无佘展现在你的眼前,解开了以往的许多疑虑。现细说一、二,与大家分享。
车削循环的宏程序实现源代码来源于网上华中世纪星车床数控系统HNC-21/22T编程说明书,或数控车间联接机床电脑上的STATICCY文件,提供了G80、G81、G82、G71、G72、G73、G76指令的宏程序实现源代码。这些指令分别与FANUC系统的G90、G94、G92、G71、G72、G73、G76指令相对应。
下面仅以华中G80、G81、G71、G72指令为例进行说明,并不直接描述宏程序,只是讲一讲宏程序给我们的一些启发。
图1 G80、G81路线图
1、 华中G80指令(见图1上半部)
程序为;G00 XA ZA
G80 XC ZC I F
I的正负号按教材上的判定方法不好用,省略。G80执行路线为:
A(XA,ZA)——B(XB,ZA)——C(XC,ZC)——D(XA,ZC)——A(XA,ZA)。其中XB=XC+I,指令中的I用以确定B点位置,XB是用B相对C的X向的位置I来确定的,沿着这一思路,XB=XC+I,B相对C而言,往主轴中心线里面走,XB相对XC减小了,则I为负号,反之为正。这样确定I的符号非常直观。不容易忘记和混淆。
G82中的I 值同G80中的I值的分析。
2、 华中G81指令(见图1的下半部)
程序为;G00 XA ZA
G81 XC ZC K F
同理,ZB=ZC+K,ZB是用B相对C的Z向位置K来确定的,B在C的左边,ZB相对ZC减小了,K为负,反之为正。
3、 华中G71指令(见图2上半部)
图2 G71、G72路线中A、B、C的位置关系图
程序为;G00 XA ZA
G71 U(Δd)R(r)P(ns) Q(nf) X(Δx) Z(Δz) F
讨论XA、XB的确定问题:
原先存在的两个错误是:
(1)第一刀粗切线位置与XB无关,只与XA有关。
(2)XC=XA+ΔX,若XC-2(Δd+r)-2(N-1)Δd >XB’=X毛坯,则开头N次粗切为空切,即A点
到毛坯的X向距离很大时,开始会有较多的空走的粗切刀。
但实际情况是XB=X毛坯,若XB
多段线B1——B向右偏Δz,向中心线外偏ΔX/2,得多段线B1’——B’, 同理,A偏到C,若XC-2(Δd+r)>XB’则第一刀切到直线X=XB’
若XC-2(Δd+r)≤XB’则第一刀切到直线X= XC-2(Δd+r)位置。
第一刀线X1MIN=X毛坯-2Δd,
则XCMIN=X毛坯+2r,
XAMIN=X毛坯+2r-ΔX,计算见图3的上半部。
若2r-ΔX很小,主要是r值取得小,XAMIN≈X毛坯=XB,此式在r稍大时不合适,如果这样的话,
第一刀切深(Δd+r)- ΔX/2会比Δd大。
4、华中G72指令(见图2的下半部)
程序为;G00 XA ZA
G72 W(Δd)R(r)P(ns) Q(nf) X(Δx) Z(Δz) F
同理,ZB=Z毛坯右,ZC-2(Δd+r)>ZB’则第一刀切到直线Z=ZB’
若ZC-2(Δd+r)≤ZB’则第一刀切到直线 Z= ZC-2(Δd+r)位置。
第一刀线Z1MIN=Z毛坯右-Δd,
则ZCMIN=Z毛坯+r,
ZAMIN=Z毛坯右+r-ΔZ,计算见图3的下半部。
若r-ΔZ很小,主要是r值取得小,ZAMIN≈Z毛坯右=XB,此式在r稍大时不合适,如果这样的话,第一刀切深(Δd+r)- ΔZ会比Δd大。
图3 XA、ZA的计算图
以上所分析的思路,对其他相关指令仍然适用,读者可自行总结。众所周知,由于宏程序中使用了各种变量、运算指令和控制指令,从而大大的简化了程序,而且可以通过设置不同的变量,实现粗、精加工和达到所要求的加工精度,所以宏程序在数控加工中有着广泛的应用。
参考文献:
1、 华中世纪星车床数控系统HNC-21/22T编程说明书,华中数控公司,2002年。
2、 华中数控车削系统提供的STATICCY文件。