张 华,李增平 ,何世松
(1.南昌大学 机电工程学院,南昌 330000;2.江西交通职业技术学院 机电工程系,南昌 330000)
数控系统一般只能进行直线和圆弧的插补运算,一旦待加工的零件表面存在诸如抛物线、双曲线、椭圆线和渐开线等非圆曲线时,就只能采取自动编程或宏程序编程等方式解决了。
非圆曲面类零件的数控程序编制较难,加工质量难保证,成为了影响生产进度的主导制约因素。回转体零件中存在的非圆曲面,若能用数学方程式表达,则可利用数控系统提供的使用变量编程的功能,以解决由于采用拟合法加工非圆曲线所带来的复杂计算问题,并能有效控制形状与尺寸误差。
随着数控加工技术的发展,数控车床在加工零件的过程中,除了提供一般的准备功能、辅助功能指令和调用子程序指令以外,还出现了允许使用变量并可以进行算术与逻辑运算、循环及转移等功能。这种类加工程序刚好解决了上述问题,使零件的加工质量大大提高。对于不同的数控系统其采用的编程方法有所不同,比如西门子SINUMERIK系统采用R参数编程,FAGOR系统采用计算机高级语言编程,而FANUC系统采用宏程序编程等等。在FANUC数控系统中提供了两类用户宏程序,即A类和B类。FANUC 0系列采用A类型用户宏程序,而FANUC 0i系列则采用B类型的用户宏程序。这里以FANUC 0i数控系统的B类宏程序为例,说明宏程序在抛物面加工中的应用。
与普通程序相比,用户宏程序中是使用变量来代替常量进行编程的,并且还可以使用宏指令对变量进行赋值、运算等处理。变量的表示方式在宏程序中有规定,要求以“#”及后面的变量号组成,如#100等。变量号也可以用表达式指定,但表达式必须用中括号封闭起来,如#[#22+100]等。
其中变量分为四种类型,即空变量、局部变量、公共变量和系统变量。其变量号和功能如表1所示。
表1 变量号及其功能
1.2.1 变量的运算
用户宏程序中,变量可以进行算术运算和逻辑运算。比如赋值、算术运算、函数计算、逻辑运算与各种进制的转换等。
1.2.2 控制指令
控制指令主要是控制用户宏程序主体的程序流程。根据控制方式不同分为条件转移和非条件转移两类。其中条件转移根据条件不同又分为3类,即IF[<条件式>] GOTO n(n为顺序号)、WHILE[<条件式>] DO m(m为顺序号)……END m和IF[<条件式>] THEN。
1)条件转移语法规则
(1)IF[<条件式>] GOTO n(n为顺序号)
如果<条件式>成立,从顺序号为n的程序段以下开始执行;如果<条件式>不成立,则执行下一个程序段。
(2)WHILE[<条件式>] DO m(m为顺序号)
……END m
当<条件式>成立,从DO m的程序段到END m的程序段重复执行;如果<条件式>不成立,则从m的下一个程序段执行。其中DO和END后面的号是指定程序执行范围的标号,标号为1、2、3,若用其他的值会发生P/S报警。
(3)IF[<条件式>] THEN
如果[<条件式>]满足,执行预先决定的宏程序语句,并只执行一个宏程序语句。
2)无条件转移语法规则为:GOTO n。
在用户宏程序中,由于可以使用变量来代替具体数值,因而在加工同一类零件时,如能有一个通用宏程序,用户只需将实际加工零件的值赋予变量即可,而不需要对每一个零件都编一个程序,这样可以极大地提高工作效率。下面以非圆曲面的回转体类零件中抛物面为例来说明如何建立这样的一个宏程序。假设一个加工通用抛物面的宏程序,抛物线的开口距离为V,抛物线方程为X2=-2PZ,如图1所示。
图1 抛物线曲线类零件示意图
车削此回转体零件时,假设工件坐标原点在抛物线顶点上,采用直线逼近法,即在X向分段,以0.2~0.5mm为一个步距,并把X作为自变量,Z作为X的函数。为了编制一个可以适用于加工不同的抛物线、不同起始点和不同步距的零件,在宏程序中只用变量,而不用具体数据。使用时在主程序中调出该宏程序的用户宏指令段内为上述变量赋值,用户就可以加工出不同抛物线、不同起始点和不同步距的抛物面回转体零件,从而大大提高了编程效率和零件的加工生产效率。
根据上述工艺分析,可编制出用户宏程序的流程图,如图2所示。
图2 宏程序编制流程图
零件图如图3所示:毛坯直径为Φ40mm,总长为102mm,材料为45#钢棒料。该零件的编程难点主要在右端抛物线这里,因此我们只分析抛物线的数控加工程序编制。
采用公共变量#101作为X轴变量,#100作为Z轴变量,加工抛物面时,抛物线方程原点与工件零点重合。粗加工刀具路径如图4所示。这种加工方法避免使用G73指令产生的“空切”现象,提高了生产效率。
图3 零件图
图4 粗加工抛物面部分的走刀路径
根据图3,经计算后求得抛物线方程为X2=-15.31Z。该零件的抛物面部分数控加工程序如下:
O0001;
……
#101=17.5;#101为X轴变量,置初始值17.5
#102=1.5;#102X方向步距值变量,设为1.5
#103=0;
WHILE[#101GT#103]DO1;
#101=#101-#102;X方向减去一个步距
IF[#101LT#103]THEN#101=#103;
#104=[#101*#101/15.31];
G01 Z2.0 F1;
G42 X[2*#101] F0.12;
G01 Z[-#104+0.5];留0.5mm精加工余量
G40 U1.0;
END1;
……
这里只给出了粗加工的部分程序,精加工程序简单易编,在此省略。在实际加工前,可应用数控加工仿真软件对上述粗加工程序进行验证,以确保程序正确无误。
借助数控系统提供的宏程序功能编制抛物面回转体零件的数控加工程序,使非圆曲面的数控车削加工零件的表面质量得到提高,加工误差大大减小,从而产品合格率得到极大提升。使用宏程序编程之后,可以在编程中用变量代替具体的数值,这样加工同一类工件时,只需将实际数值赋值给变量即可,而不必对每一个零件编程,因而可极大地提高数控编程与加工效率。
[1] 穆瑞.应用宏程序高速车削梯形螺纹[J].机床与液压,2009(12):248-249,230.
[2] 仲军勇.宏程序及其在椭圆编程加工中的应用[J].CAD/CAM与制造业信息化,2009(11):90-92.
[3] 何世松,贾颖莲.基于Pro/E的模具数控加工的研究与应用[J].煤矿机械,2008(6):97-98.
[4] 韩鸿鸾.数控车削工艺与编程一体化教程[M].北京:高等教育出版社,2009,174-176.
[5] 徐巍,王宇晗.FANUC和SIEMENS的宏程序处理非圆曲线的编译实例[J].组合机床与自动化加工技术,2008(9):72-74.