基于数控铣床的半径补偿算法

2013-10-15 06:10董立岩辛晓华李永丽尹相杰
吉林大学学报(信息科学版) 2013年4期
关键词:圆弧指令刀具

董立岩, 张 亮, 田 耕, 辛晓华, 李永丽, 孙 鹏, 尹相杰

(1. 吉林大学 计算机科学与技术学院, 长春 130012; 2. 东北师范大学 计算机科学与信息技术学院, 长春 130117)

0 引 言

在数控加工过程中, 数控系统的实际控制对象是刀具中心, 数控系统通过直接控制刀具中心的运动轨迹, 间接地实现对实际零件的轮廓加工。由于刀具半径的存在, 刀具的运动轨迹并不等同于所需加工零件的实际轮廓[1,2]。因此, 编程人员需根据零件轮廓并结合刀具半径重新计算编程轨迹, 这种计算过程称为刀具补偿[3]。如果数控机床具备刀具自动补偿的功能, 编程人员只需按照工件的轮廓轨迹编制数控程序, 将补偿值输入CNC系统, 数控系统即可自动进行刀具补偿计算和调整刀具运动轨迹, 加工合格的零件, 既不容易产生错误, 又能提高编程效率。

笔者提出一种通过判断相邻两曲线转接方式实现半径补偿的算法, 实验证明该算法适用于转接方式[4,5]为直线和直线、 直线和圆弧、 圆弧和直线以及圆弧和圆弧相邻的所有半径补偿方式。

1 相关理论基础

1.1 刀具半径补偿分类

刀具半径补偿分为左补偿和右补偿[6](见图1), 沿着刀具进给的方向看, 刀具在加工工件轮廓的左边叫做左补偿, 用G41指令实现; 沿着刀具进给的方向看, 刀具在加工工件轮廓的右边叫做右补偿, 用G42指令实现; 另外, 半径补偿取消用G40指令实现。

图1 半径补偿分类

1.2 编程轨迹转接方式

图2 转接方式

在实际加工过程中, 大多数工件轮廓线是由圆弧和直线组成, 所以在刀具补偿中, 相邻两段编程轨迹在转接处有如下4种转接方式(见图2): 1) 直线转接直线; 2) 直线转接圆弧; 3) 圆弧转接直线; 4) 圆弧转接圆弧。其指令如下:

N1 G54 G90 G00 X0 Y0 Z0 M03 S500

N2 G01 Z-10 F1.0

N3 G41 G01 X10 Y0 D01

N4 G01 X40

N5 G01 X60 Y-30

N6 G02 X40 Y-50 R20

N7 G01 X0 Y-50

N8 G02 X0 Y-10 R20

N9 G03 X10 Y0 R10

N10 G40 G01 X0 Y0 Z0

N11 M30

以工件加工轮廓ABCDEFA为例,A′B′C′D′E′F′A″为带半径补偿的轨迹, 沿着刀具进给的方向看, 刀具在加工工件轮廓的左边, 半径补偿类型左补偿, 补偿从A点开始, 经B、C、D、E、F回到A点, 半径补偿取消; 轮廓中轨迹转接方式: 直线AB转接直线BC、 直线BC转接顺时针圆弧CD、 顺时针圆弧CD转接直线DE、 直线DE转接顺时针圆弧EF、 顺时针圆弧EF转接逆时针圆弧FA。

2 刀具半径补偿的算法设计与分析

2.1 算法思想

算法的基本思想是在原有编程轨迹基础上结合刀具半径补偿值r重新计算编程轨迹。具体过程如下: 半径补偿建立[7], 顺序读取数控指令及其后继行指令, 通过相邻行的指令类型获得编程轨迹的转接方式, 根据指令索引号,分别设所取前后两条指令轨迹为曲线i和曲线i+1, 补偿后轨迹为曲线i′与曲线(i+1)′。若曲线i为直线, 则曲线i′与曲线i平行且距离为r; 若曲线i为圆弧, 则曲线i′与曲线i为半径R+r或R-r和R的同心圆。同理可求得曲线(i+1)′。联立曲线方程, 求得曲线i′与曲线(i+1)′的交点存至当前指令, 并通过曲线(i+1)′求得潜在终点。如果曲线i′与曲线(i+1)′不存在交点, 则需要插入一条过渡指令, 遍历指令直至半径补偿撤消[7], 将潜在终点作为半径补偿的终点, 所求新轨迹即为带半径补偿的编程轨迹。

2.2 算法描述

输入: 无半径补偿的数控指令集InstructionsSet

输出: 带半径补偿的数控指令集NewInstructionsSet

Input(InstructionsSet)//输入数控指令集

Execute(InstructionsSet)//执行数控指令集

if(InstructionType(i)=G41) then//左补偿G41

dor=Read(D), CompensationState=TRUE

else if (InstructionType(i)=G42) then//右补偿G41

dor=Read(D)*(-1), CompensationState=TRUE

if(CompensationState)//半径补偿建立

求解补偿起点Begin

for each instructioni∈InstructionsSet

if (InstructionType(i+1)!=G40) then do

InstructionRead(i), InstructionRead(i+1);//读取第i,i+1条指令

InstructionType(i), InstructionType(i+1)→AdapterType

CrossPoint→InstructionWrite(i)//交点写入指令i

求解潜在终点TempEnd;

else TempEnd→InstructionWrite(i), CompensationState=FALSE

//潜在终点写入指令i, 半径补偿取消

end for

end if

Output(NewInstructionsSet)//输出数控指令集

end Execute//结束

2.3 算法详细实现

2.3.1 半径补偿建立

刀具半径补偿均以直线插补开始, 补偿起点Begin求法如图3所示。

图3 半径补偿建立

G41:

(1)

G42:

(2)

由式(1)和式(2)可知, 左补偿G41与右补偿G42在补偿计算过程中只是r相差了一个符号; 读入指令N3、N4, 判断补偿状态为左补偿G41。已知点A、B, 由式(1)求出A′(补偿起点Begin), 写回指令N4, 半径补偿建立。

2.3.2 基于转接方式判断刀补过程

数控加工过程中, 随着前后两段编程轨迹线形的不同, 相应的刀具中心轨迹有不同的转接形式[8-10]。CNC系统共有4种转接形式。

1) 直线转接直线。以加工图2工件为例, 直线AB转接直线BC。读入指令N4、N5, 判断转接方式为直线转接直线。已知点A、B、C、A′(补偿起点Begin), 利用式(1)求得潜在终点C′, 利用点A、B可求出A′B′的斜率k1。又知A′, 可求出直线A′B′方程y=k1x+b1。同理求出B′C′方程y=k2x+b2, 联立方程即可解出交点B′写回指令N4。

2) 直线转接圆弧。以加工图2工件为例, 直线BC转接顺时针圆弧CD。读入指令N5、N6, 判断转接方式为直线转接圆弧。已知点B、B′、C、D、R(插补半径)、r(补偿半径), 利用点B、C可求出A′B′的斜率k1。又知B′, 可求出直线A′B′方程y=k1x+b1。利用C、D、R、r以及圆弧的插补方向求出圆弧C′D′方程(x-x0)2+(y-y0)2=(R+r)2, 联立方程即可解出交点C′, 写回指令N5。

圆弧插补方式下潜在终点求法。

潜在终点求法如图4所示。

G41:E′点:XE′=Xo+(R+r)cosαYE′=Yo+(R+r)sinα

(3)

G42:E″点:XE″=Xo+(R-r)cosαYE″=Yo+(R-r)sinα

(4)

图4 圆弧潜在终点求解

由式(3)和式(4)知左补偿G41与右补偿G42在补偿计算过程中只是r相差了一个符号, 由式(3)求出潜在终点D′。

3) 圆弧转接直线。以加工图2工件为例, 顺时针圆弧CD转接直线DE。读入指令N6、N7, 判断转接方式为圆弧转接直线。已知点C、C′、D、E、R(插补半径)、r(补偿半径), 利用C、D、R、r以及圆弧的插补方向求出圆弧C′D′方程(x-x0)2+(y-y0)2=(R+r)2, 利用点D、E可求出D′E′的斜率k1。又由式(3)求出潜在终点E′, 可求出直线D′E′方程y=k1x+b1。联立方程即可解出交点D′, 写回指令N6。

4) 圆弧转接圆弧。以加工图2工件为例, 顺时针圆弧EF转接逆时针圆弧FA。读入指令N8、N9, 判断转接方式为圆弧转接圆弧。已知点E、F、A、R(插补半径)、r(补偿半径), 利用E、F、R、r以及圆弧的插补方向求出圆弧E′F′方程(x-x0)2+(y-y0)2=(R+r)2。同理, 求出圆弧F′A″方程(x-x1)2+(y-y1)2=(R-r)2, 联立方程即可解出交点F′, 写回指令N8, 利用式(3)求出潜在终点A′。

2.3.3 半径补偿撤消

读入指令N9、N10, 判断N10指令为G40半径补偿撤消指令, 将潜在终点A″作为半径补偿终点写回N9, 半径补偿撤消。

3 实验结果与分析

按照判断相邻两曲线转接方式的思想编程实现半径补偿功能, 对图2中的工件进行数控编程实验, 选择直径为6 cm的端铣刀, 半径补偿r为3 cm, 加工数据如表1所示。

半径补偿前后的加工效果如图5所示。在未使用半径补偿的情况下, 由于刀具半径的存在, 工件明显过切。该算法通过利用相邻曲线间的转接方式, 巧妙避开了缩短型、 插入型、 伸长型[3]等补偿判断的繁琐, 实验结果表明, 具有误差小, 求解高效等优点。另外当相邻两曲线没有交点时即方程组无解时, 插入一条半径为r的半圆弧过渡指令即可。

a 半径补偿前 b半径补偿后

6 结 语

实际加工过程中, 半径补偿不仅与刀具的真实半径有关, 还与刀具的磨损有关, 在实际加工过程需要根据刀具真实半径与磨损值设置半径补偿值。笔者实现了编程轨迹为直线圆弧组合方式的补偿, 若编程轨迹出现椭圆、 双曲线等复杂曲线, 该算法思想同样适用, 只需做简单改进。

参考文献:

[1] 张臣. 球头铣刀刀具磨损建模与误差补偿 [J]. 机械工程学报, 2008, 44(2): 207-212, 218.

ZHANG Chen. Modeling and Wear-Induced Error Compensation of Ball-End Milling Cutter Wear [J]. Chinese Journal of Mechanical Engineering, 2008, 44(2): 207-212, 218.

[2]张书诚. 基于PC的开放式数控系统研究 [D]. 合肥: 合肥工业大学机械与汽车工程学院, 2008.

ZHANG Shu-cheng. Research on the Open NC Systems Based on PC [D]. Hefei: School of Mechanical and Automotive Engineering, Hefei University of Technology, 2008.

[3]李旭宇. 数控刀具新型半径补偿算法的研究与实现 [D]. 广州: 华南理工大学自动化科学与工程学院, 2010.

LI Xu-yu. Research and Implementation of a Novel Algorithm for Tool Compensation [D]. Guangzhou: College of Antomation Science and Engineering, South China University of Technology, 2010.

[4]卢军霞. 刀具半径补偿算法的研究与实现 [J]. 机床与液压, 2010, 38(12): 9-10.

LU Jun-xia. Research and Implementation of Cutting Tool Radius Compensation Algorithm [J]. Machine Tool and Hydraulics, 2010, 38(12): 9-10.

[5]刘德平. CNC系统刀具半径补偿功能的实现 [J]. 组合机床与自动化加工技术, 2002(2): 18-20.

LIU De-ping. Realization of Cutter Radius Compensation in CNC System [J]. Modular Machine Tool & Automatic Manufacturing Technique, 2002(2): 18-20.

[6]潘冬. FANUC数控系统刀具半径补偿的应用 [J]. 装备制造技术, 2009(4): 137-141.

PAN Dong. Application of Radius Compensation on FANUC NC Systems [J]. Equipment Manufacturing Technology, 2009(4): 137-141.

[7]朱志红. 刀具半径补偿算法研究 [J]. 华中理工大学学报, 1993, 21(2): 99-104.

ZHU Zhi-hong. Research of Cutting Tool Radius Compensation Algorithm [J]. Journal of Huazhong University of Science and Technology, 1993, 21(2): 99-104.

[8]赵亚军. 刀具半径补偿在数控仿真中的应用 [J]. 机械研究与应用, 2007, 20(6): 44-46.

ZHAO Ya-jun. Application of Tool Radius Compensation in Simulation of Numerical Control [J]. Mechanical Research and Application, 2007, 20(6): 44-46.

[9]张丽丽. 刀具半径补偿转接类型的判断方法 [J]. 数字技术与应用, 2012(9): 189.

ZHANG Li-li. Judgment Method on Transfer Type of Tool Radius Compensation [J]. Digital Technology and Application, 2012(9): 189.

[10]胡柳, 赵玉刚, 李海洋, 等. 刀具半径补偿转接类型的判断方法 [J]. 山东理工大学学报: 自然科学版, 2011, 25(1): 84-87.

HU Liu, ZHAO Yu-gang, LI Hai-yang, et al. Judgment Method on Transfer Type of Tool Radius Compensation [J]. Journal of Shandong University of Technology: Natural Science Edition, 2011, 25(1): 84-87.

猜你喜欢
圆弧指令刀具
浅析圆弧段高大模板支撑体系设计与应用
《单一形状固定循环指令G90车外圆仿真》教案设计
外圆弧面铣削刀具
无织构刀具与织构刀具铣削性能对比研究
切削刀具刃口形貌对刀具使用寿命的影响
双圆弧齿同步带的载荷特性研究
六圆弧齿廓螺旋齿轮及其啮合特性
多功能刀具
中断与跳转操作对指令串的影响
一种基于滑窗的余度指令判别算法