刘 萍,梅晓妍,王民权
(宁波职业技术学院 机电工程系,浙江 宁波 315800)
制造业的迅猛发展,在汽车、航空、航天、模具制造等领域对复杂曲线类的零件应用越来越广泛。数控系统中通常只提供直线、圆弧插补,而不提供复杂曲线的插补如椭圆、双曲线、变半径螺旋线等。
在FANUC 系统中,变半径螺旋线的插补主要用于锥螺纹的铣削加工。对于非圆零件或大型盖板等箱体类的内锥螺纹加工,在车床上加工时,需要相应的平衡装置和专用的夹具,增加了加工难度与加工成本,难以保证加工质量。因此这类零件可以采用在数控机床上进行铣削加工,通常锥螺纹的铣削加工采用的方法有:
(1)将螺旋的一周进行若干等分,均匀递增轴向进给与径向进给的方法进行铣削。即将锥螺旋线的路径用微小的直线段或圆弧段逼近,在逼近的过程中,为达到零件的精度,直线或圆弧要足够小,但是在机床的控制系统计算速度一定的情况下,机床会发生抖动[1];
(2)在FANUC 系统中,按锥度要求利用人为修改#3410 系统参数,实现锥螺纹铣削的加工[2],但是这种加工方法必须对系统的参数相当了解才能使用,不利于普通用户的推广使用,通用性较差。
本文利用FANUC 系统宏程序的功能[3-7],对变半径螺旋线插补进行了宏程序的设计与开发,突破原有FANUC 系统提供的G02/G03 螺旋插补的半径/螺距恒定的限制,及沿刀具实际轨迹的进给速度比给定值要大的局限。可进行变半径螺旋线插补,用于锥螺纹的铣削加工。
固定半径螺旋插补是指在圆弧插补时,垂直于插补平面的第三轴(直线轴)同步运动,构成固定半径螺旋线的插补运动[8-9]。其直线轴的进给速度为:
其中:f为直线轴进给速度;α 为直线轴长度;L为圆弧长度;F为指定进给速度,指令指定沿圆弧的进给速度。
可见,刀具实际的进给速度即沿刀具实际轨迹的进给速度大于指定的进给速度,刀具的实际进给速度为:
其中:Ft为刀具的实际进给速度。
以上的阐述表明,在FANUC 系统中利用G02/G03功能实现螺旋插补具有两个局限:
(1)螺旋线的半径和螺距固定不变;
(2)沿刀具实际轨迹的进给速度大于指定的进给速度。
因此,有必要建立变半径螺旋线数学模型,设计变半径螺旋线的插补用户宏程序,消除螺旋插补的局限性,用于锥螺纹的铣削加工。
假设沿轴线的位移速度与角位移同步,即螺距恒定,则变半径螺旋线刀具轨迹的俯视图如图1 所示。起始半径大于终止半径,假设刀具当前位置为变半径螺旋线的起始点,加工完毕刀具最终停在螺旋线的终点。已知变半径螺旋线的起始角和起始半径,则可求螺旋线中心点坐标。螺旋线上的任意一点的坐标可变半径螺旋线的公式表示如下:
图1 变半径螺旋线插补的俯视图
其中:(X0,Y0)为螺旋线中心坐标;T为可变半径螺旋线转数;θ1为起始角(与X轴的夹角,可取负值);R1为起始半径;(X1,Y1,Z1)为起点坐标;d为总深度(可正,可负);X(θ)、Y(θ)、Z(θ)分别为X轴、Y轴、Z轴坐标对变量θ 的参数方程;R(θ)为半径R对变量θ的参数方程。
在宏程序调用中,一个字母地址可以给所调用的宏程序的变量赋初始值的方式命名为自变量指定[10]。自变量指定类型有两种,本文具体介绍自变量指定Ⅰ,在自变量指定Ⅰ能定义除#10,#12,#14,#15 和#16 以外的#1 -#26 的变量,自变量指定Ⅰ与局部变量的对应关系如下表1 所示:
表1 自变量指定Ⅰ地址与局部变量的对应关系
用户宏程序的调用方法有简单调用(G65)、模态调用(G66,G67)、M 代码、T 代码调用子程序、G 代码、M 代码调用宏程序六种形式。其中G65 可用于任何调用没有限制。
用G65 可指定自变量(数据传送到宏程序),可无条件地调用宏程序,也可以改变局部变量的级别。当指定G65 时,地址P 指定的用户宏程序调用的变量中的数据能传递到用户宏程序体中。
本文具体介绍简单调用(G65)调用宏程序的方法:
G65 P <程序号>L <重复次数> <自变量指定参数1 >…<自变量指定参数n >;
例如G65 P8000 L2 A20 B30 表示调用8000 号子程序两次,#1(地址A)和#2(地址B)分别置为20 和30,其余的局部变量为空。
宏程序报警的系统变量是用于显示错误信息,只有纠正问题并按下RESET 键才能进一步操作机床。报警提示的内容是会使当前操作停止执行的错误条件,如表2 为程序系统变量及功能说明。
表2 程序报警的系统变量及功能
即:#3000 功能是给用户自设的报警,在程序里:”#3000 =1,2,3...”则出现No. 3001,3002,3003…报警。
例如:#3000 =1 NEGATICE START RADIUS;报警屏幕上显示“3001 NEGATICE START RADIUS”(初始半径为负值)。
在本文的实例中使用该方法判断半径值与转数是否为负值,如为负值则报警。
在程序中转移和循环操作,使用GOTO 语句和IF语句改变控制的流向有三种方法。分别是:
(1)GOTO 语句无条件转移,该语句程序的可读性较差。
(2)IF 语句条件转移IF[<条件表达式>]THEN[宏语句],该语句具有只能指定一个宏语句及不允许有NC 语句的局限。
(3)WHILE_DO_END 循环语句,其优点是比GOTO 语句快,如果循环的语句多可以提高程序运行的速度。WHILE_DO_END 语句的程序框图如图2 所示。
图2 WHILE_DO_END 语句的程序框图
这里的n 可以是1,2 或3。WHILE_DO_END 的循环,该循环是指在WHILE 后指定一个条件表达式,当指定条件满足要求时,执行从DO 到END 之间的程序,否则执行END 后的程序段。
假设螺旋的螺距不变,半径均匀变化,根据变半径螺旋线的公式设定的变半径螺纹插补参数与所选字母的地址如表3 所示:
表3 变半径螺纹插补参数的地址变量
根据变半径螺旋线方程及参数地址变量设定表,在绝对坐标编程(G90)模式下将刀具移动到起始点,其变半径锥螺纹宏程序编程流程图如图3 所示。其中O8000 为变半径螺旋插补的子程序,利用G65 调用宏程序如下:
图3 变半径锥螺纹宏程序流程图
该程序在具有螺旋插补功能的FANUC 系统中使用,选用配备了FANUC SERIES OI MC 的海天精工HTM-850G 龙门加工中心上进行加工,成功的验证了该宏程序可以按要求加工出符合要求的零件。
本文对变半径螺旋线插补铣削宏程序进行了参数化设计,该方案有效克服了FANUC系统中G02/G03 螺旋插补的半径/螺距恒定、刀具实际进给速度大于给定进给速度的两个局限。在给出变半径螺旋线插补铣削的通用子程序后,可根据需要对参数的地址变量赋值,即能加工出相同形状不同尺寸的变半径螺旋线,以此作为固定循环,可在加工内置锥螺纹时进行调用,增加了程序的可移植性。通过在HTM-850G 龙门加工中心使用,较好的解决了在数控车床上难以加工的非圆零件或大型盖板等箱体类的内锥螺纹铣削加工等一系列问题。
[1]邵伟平.内锥螺纹的数控铣削分析[J].制造技术与机床,2009(1):24 -25.
[2]焦立涛. 用FANUC 的螺旋插补功能(G02/G03)实现锥螺纹铣削加工的方法[J]. 制造技术与机床,2004(3):80-81.
[3]刘萍,林国勇. 基于FANUC 系统的等距型面粗铣宏程序开发[J]. 工具技术,2011(3):52 -55.
[4]郭德桥. 基于球头铣刀在斜面加工中的参数编程研究[J].组合机床与自动化加工技术,2013(5):98 -100.
[5]刘萍,王劲. 轴向车铣等距型面的宏程序开发[J]. 机床与液压,2011(2):25 -27.
[6]吴金会,刘越,王祥祯,等.基于宏程序的方形体斜角面铣削加工应用研究[J].组合机床与自动化加工技术,2012(5):94 -96.
[7]刘萍,王民权,范进桢,等. FANUC 系统中实时前瞻的NURBS 插补研究与实现[J]. 机械科学与技术,2012(5):791 -795.
[8]陈海舟.数控铣削加工宏程序及应用实例[M].北京:机械工业出版社,2006.
[9][印]S. K. Sinha. FANUC 数控宏程序编程技术[M]. 北京:科学出版社,2011.
[10]BEIJING-FANUC.BEIJING-FANUC 0i-MA 系统操作说明书B-63514C/01.2003,06.