一、问题的提出
北方奔驰重庆变速器公司承接了如图1所示的链轮加工,铣削外形安排在引进的辛辛那提马刀750型立式加工中心上进行。分析零件图可以看出,该零件在圆周上均匀分布了8个相同的槽,全部是圆弧连接。如果按照直接编程方法,则要计算大量的圆弧切点坐标。虽然可以用绘图软件用作图法求这些切点的坐标,但在没有自动编程软件的情况下,这些点的坐标数据量还是比较大的。如果全部用手工编制,不但费时,而且容易出错。能不能利用机床数控系统自身的功能来简化编程,提高工作效率呢?
图1 链轮的零件图
马刀750加工中心采用辛辛那提的ACRAMATIC 850MC数控系统。虽然该系统开发时间较早,但其辅助编程功能还是很强的,有多种算数运算、函数运算、顺序控制、坐标系旋转等丰富的编程功能。灵活运用这些功能,应该是能够实现简化编程的目的的。
二、相关指令介绍
以下主要介绍850MC数控系统的有关指令,对FANUC 0系统的相应指令也作简要介绍。实际上,现代数控系统基本上都具备这些功能,只是表示方法有所不同。
1.赋值指令
850MC系统的赋值指令为G10,其格式为:
G10=[T1] V123.45;将值123.45存储于临时变量T1中,即[T1]=123.45
G10=[T2] V[T1]+1.23;将临时变量T1的值与数值1.23之和存储于临时变量T2中,即[T2]=124.68
G10=[T3] V[T1]+[T2];将临时变量T1加上T2之和存储于临时变量T3中
850MC数控系统共有从T1至T32共32个临时变量。
FANUC 0系统也有若干公共变量(#100~#149、#500~#531)。赋值指令更容易理解,如 #100=123.45 或 #101=#102等。
2.转移指令
G11 转移指令,可分为带条件转移指令和无条件转移指令。
(1)无条件转移
G11 L100是无条件转移指令,L后的值为转移标号,转移之处使用Q带标号,如Q100。若向G11程序段之后转移,L后不带符号;若向前转移,则L后要带“-”号。Q标号不带符号。例如,向后转移:
N1210 …………
N1220 G11 L100;
N1230 …………
N1240 …………
N1250 Q100;
向前转移:
N1410 Q200;
N1420 …………
N1430 …………
N1440 …………
N1450 G11 L-200;
标号的值可为任意整数。
FANUC 0系统使用“GOTO nnnn”指令,其中“nnnn”为程序顺序号,不带符号,如“GOTO 1000”表示转移至N1000程序段。
(2)条件转移
G11 E[T1]<8 L100是条件转移指令,L100的意义同上。其中的E[T1]<8为条件测试表达式,E为关键字。关系运算符共有“>”、“<”、“=”及“<>”四种,分别表示大于、小于、等于和不等于。
G11 E[T1]<8 L100表示:如果临时变量T1的值小于8,则向后转移至标号Q100之程序段。
FANUC 0系统使用“IF [#100 LT 8] GOTO 1000”来进行条件转移。其中的关系运算符用“GT”、“GE”、“LT”、“LE”、“EQ”和“NE”分别表示大于、大于等于、小于、小于等于、等于和不等于。
3.循环指令
850MC系统没有循环指令,但可以使用条件转移指令来实现循环功能。
FANUC 0系统使用“WHILE .... DOn”加上“ENDn”实现循环功能。其中的n=1~3,可以理解为循环体标号,“DOn”和“ENDn”必须配对使用。循环结构可以嵌套至多三层,但不能交叉。例如:
WHILE[#100 LE 8] DO1
…………
END1
表示当#100变量的值小于等于8时则执行循环体中的程序段。
4.坐标系旋转
850MC系统使用如下指令来进行坐标系旋转(其中的左右括号是必需的):
(ROT,G0 X0 Y0 A45)
其中,ROT为坐标系旋转指令;G0表示旋转角度为增量方式,G1表示旋转角度为绝对方式;X、Y为旋转中心坐标,A为旋转角度。
坐标系旋转的取消可用指令(ROT,G1 A0)、程序中带“:”的同步段或按操作面板上“数据恢复”键。程序结束也自动取消坐标系旋转。
FANUC 0系统使用G68 X_ Y_ R_指令实现坐标系旋转功能。X_、Y_为旋转中心坐标,R_为旋转角度,而旋转角度的增量方式、绝对方式的选择则在系统参数#041的第0位(最低位)中设定,若该位设为1,则旋转角度为绝对方式;若为0,则用G90/G91方式决定。G69指令取消坐标系旋转。
三、解决方案
由于零件8个槽在圆周上均匀分布,我们可以考虑只编写其中一个槽的程序,然后使用循环结构,8次旋转零件坐标系,就可加工出零件的全部轮廓了。
如图2所示,求出第一个槽的所有点坐标值,编写该部分的轮廓铣削程序。再综合运用上述相应指令,生成的零件加工程序如下。
图2 第一个槽坐标
N10 T3 M6;
N20 G00 X200 Y-50 S200 F70 M13;
N30 Z-40;
N40 G0 G42 X160 Y-15;
N50 G01 X160 Y0;
N60 G10=[T1] V1;
N70 Q100;
N80 G03 X159.496 Y12.689 I0 J0;
N90 X147.957 Y26.106 R15;
N100 G02 X123.081 Y86.162 R40;
N110 G03 X121.753 Y103.808 R15;
N120 X113.137 Y113.137 I0 J0;
N130 (ROT,G0 X0 Y0 A45);
N140 G10=[T1] V[T1]+1;
N150 G11 E[T1]<9 L-100;
N160 G01 X160 Y10;
N170 G00 G40 X200 Y50 M9;
N180 M2;
注:刀具切入、切出部分的程序放在循环体之外。本程序用850MC数控系统编写(程序中I、J为圆心坐标)。
四、一点体会
数控技术的进步和数控机床的普及,要求数控工程技术人员更深刻地理解和掌握数控编程指令,充分利用技术给我们带来的方便,从而在更高的水平上使用数控机床,这对于提高企业的竞争力有着重要的意义。本文介绍的方法对于在圆周或直线方向均匀分布的元素均可适用。另外,坐标系旋转除在编程时使用外,还可方便快捷地找正零件。如图3所示,两个大孔ΦD与Φd已经加工,现要加工外围孔系。找正零件时,要将两个大孔找正,在X轴方向是非常麻烦费时的。我们可以直接将零件压紧后,建立以大孔中心为原点的零件坐标系,再打表找正小孔,利用数控系统自身的计算功能,用反正切求出角度,然后使用坐标系旋转功能即可。这样每次装夹零件时,只需将小孔中心的坐标值输入程序即可加工零件。总之,灵活运用数控系统的功能,对简化编程、提高工作效率是很有帮助的。
图3 又一实例的零件图
以上只是笔者在实际工作中的一些经验总结,有不当之处,恳请读者给予批评指正。