在数控机床上检测形位公差并自动校正工件的方法

   2019-04-20 100
核心提示:[db:简介]

【摘要】本文介绍了在数控机床上用寻边器测量工件尺寸及形位公差,同时快速设定工件零点的方法。它的成功应用不仅为众多的中小企业充分利用数控机床的先进功能、节约购置专用检测设备的投入提供了经验,同时为一些特殊及相似零件的编程加工及检测打开了思路。FANUC和SINUMERIK数控系统是当今应用范围最广泛的两类数控系统,虽然在操作方式上有所差异,但其基本方法是一致的,以下分别做出说明。
【关键词】形位公差   寻边器   检测

LILi_li
(SJ Petroleum Machinery Co. Sinopec Corp.  Jingzhou Hubei, 434024,   China)
【Keywords】tolerance of form and position ; detecting ; the edge finder

引言

数控机床和三坐标测量机均是机电一体化的自动化机械,数控机床是将被加工对象进行数字化处理,然后利用数字信息进行控制,从而加工出合格产品。而三坐标测量机则是在已加工好的产品上,利用测头与工件型面接触测得一系列点的坐标值,进而计算出尺寸、形位误差值的测量设备,数控机床与三坐标测量机均是利用坐标轴的移动实现自身功能。基于这一共同点,该方法在不改变数控机床CNC控制系统的条件下 ,将数控机床原有的功能加以扩展,通过宏程序实现在数控机床上测量工件尺寸及形位公差等多项功能。

1 硬件部分

寻边器上测头的基本功能是触发和瞄准。测头分为机械式、光电式、电气式三种。测头性能的好坏,决定着测量方式的难易、测量精度的高低。这次选用我国生产的应用极为广泛的硬线连接光电式测头,它属于接触式测头,为通用型球头测头,直径6毫米,能测定高度、槽宽、孔径和轮廓形状等。

2 软件部分

2.1   SIEMENS系统中的宏程序
;%_N_WORKPIECE  ZERO  AUTO  SET_MPF (主程序名)
;$PATH=/_N_MPF_DIR
IF R20<=0 GOTOF _L
IF R20>4 GOTOF ERROR
AAA:R20=R20
CASE R20 OF 1 GOTOF _A 2 GOTOF _AA  3 GOTOF _B 4  GOTOF _BB  DEFAULT  GOTOF  _E
_A:  R[R20]=$AA_IM[X]
记录当前X轴机床坐标系的值,其结果保存在变量R1中
MSG("RECORD  R" <<R20<<" POINT  X  AXIS  AND  THEN PRESS  BUTTON [RESET]")
提示用户X轴方向的R1点坐标已经记录,按下复位键
R20=R20+1
M0
_AA: R[R20]=$AA_IM[X]
记录当前X轴机床坐标系的值,结果保存在变量R2中
MSG("RECORD  R" <<R20<<"  POINT  X  AXIS  AND  THEN  PRESS BUTTON [RESET] ")
提示用户X轴方向的R2点坐标已经记录,按下复位键
M0
R20=R20+1
M0
_B: R[R20]=$AA_IM[Y]
记录当前Y轴机床坐标系的值,其结果保存在变量R3中
MSG("RECORD  R"<<R20<<" POINT  Y  AXIS  AND THEN PRESS  BUTTON  [RESET]")
提示用户Y轴方向的R3点坐标已经记录,按下复位键
R20=R20+1
M0 
_BB: R[R20]=$AA_IM[Y]
记录当前Y轴机床坐标系中的值, 其结果保存在变量R4中
MSG("RECORD  R"<<R20<<" POINT  Y  AXIS  THEN PRESS CYCLE START ")
提示用户Y轴方向的R4点坐标已经记录,按循环启动键
R20=R20+1
M0
_E:
R15=(R1+R2)/2 ;                     计算工件中心的X轴坐标
R16=(R3+R4)/2 ;                     计算工件中心的Y轴坐标
$P_UIFR[1,X,TR]=R15;
表示将产品中心的X轴坐标输入到G54零点偏置中;表达式中的 1代表G54; 如有必要可以改为2(代表G55)等等
$P_UIFR[1,Y,TR]=R16;
表示将产品中心的Y轴坐标输入到G54的零点偏置中,表达式中的 1代表G54; 如有必要可以改为2(代表G55)等等
R14=2*SQRT(POT(R1-R15)+POT(R3-R16))+6 ;       
R17=ABS(R2-R1)-6                    R18=ABS(R4-R3)-6;                                       
注意这三个表达式中的数值“6” 代表寻边器测头的直径。
MSG("D="<<R14<<" L="<<R17<<"  W="<<R18<<"")
在控制面板上显示出工件的直径(长度、宽度尺寸)       
M0
GOTOF END
_L: R20=1
GOTOB AAA
ERROR:  MSG(“ FIRST ENTER PART NUMBER 0 OR 1 TO &R20”)  ;    
提示用户修改变量R20的值,首先将数值0或1填入变量R20中。
END:
MSG()       清除所有信息
M30         程序结束并返回程序开头

2.2   FANUC系统中的宏程序
O0999                                      (宏程序名)
N1                                
#1 =54.0                              (选择坐标系 G54)
#2 =0.1                         (塞尺厚度)可根据实际情况改变该数值
IF [#2 LT 0 ] GOTO2
IF [#2 GT 1 ] GOTO2                (若塞尺厚度大于1mm,小于0mm则程
                                    序跳转到N2,面板上显示报警信息)
IF [#1 EQ 54 ] GOTO54                   (选择G54零点偏置)
IF [#1 EQ 55 ] GOTO55                   (选择G55零点偏置)
#3000 =1(YOU INPUT ERR, INPUT 54-55)           (机床报警)
N2
#3000=2(YOU INPUT ERR,INPUT 0.0-1.0)
                (机床报警:提示输入错误,请输入正确的塞尺厚度0-1.0)
N54
M3S60                  (转换至手动状态,并沿水平方向缓慢移动产品,
                        直至寻边器上的测头刚刚与孔壁(或者工件边沿)
                           接触,此时寻边器上的指示灯会发光;)
M0
#501 =#5021        (读取当前X方向上X1点的机床坐标值;)
M00            (转换至手动状态,启动主轴旋转,仅在水平方向缓慢移
                     动产品,直至寻边器上的测头刚刚与孔壁接触,指示灯亮;)
#502 =#5021         (读取当前X方向上X2点的机床坐标值;)
#503 =[#501+#502]/2       (计算工件X方向中心点的坐标;)
#801 =#5221           (记录G54零偏区中 X方向的中心;)
#5221 =#503     (将X方向中心点坐标赋值到G54零偏区中;)
M00       (如果工件是圆形的,则不移动机床;如果工件是矩形的,则
                转换至手动状态,启动主轴旋转;在竖直方向移动产品,直至
                寻边器上的测头刚刚与工件侧壁接触,如图2所示Y1点的位置;)
#504 =#5022            (读取当前Y方向Y1点的机床坐标;)
M00              (仅在竖直方向缓慢移动产品,直至寻边器上的测头刚
                          刚与孔壁(或者工件边沿)接触(水平方向不动),);
#505=#5022            (读取当前Y方向Y2点的机床坐标;)
#506 =[#504+#505]/2              (计算工件Y方向的中心;)
#802 =#5222             (记录G54 零偏区中Y轴的中心;)
#5222 =#506           (设置G54 零偏区中Y轴的中心;)
M00            (暂停,转换至手动状态,取下寻边器,将刀具装入主轴,移
                       动刀具到刚好和塞尺接触的位置;准备测量该刀具Z轴零位;)
#508 =#5023               (读取当前Z方向机床坐标;)
#509 =#508-#2-#[11000+#4120]       (计算Z轴零位;) (注:#4120为当前主轴上刀具号,
                                    #11001、#11002、#11003......依次为1号刀的刀具
                                    长度补偿值,2号刀、3号刀......,值为正,若刀具
                                    补偿内存形式是B 类,则系统变量从#2001开始,同
                                                 时此处11000可以改为2000)
#803 =#5223               (记录当前G54 零偏区中Z轴的零点;) 
#5223 =#509               (设置当前G54 零偏区中Z轴的零点;)
M00
#510=2*SQRT[[#5021-#5221]*[#5021-#5221]+[#5022-#5222]*[#5022-#5222]]+ 6
     (计算工件直径尺寸;)
   #511=ABS[#502-#501]-6             (计算工件长度尺寸;)
#512=ABS[#505-#504]-6              (计算工件宽度尺寸;) 注意表达式中
                                     的数值 “6” 代表寻边器测头的直径。
N100  #3006=1(D=#510  L=#511  W=#512 )
(在控制面板上显示工件直径(长度、宽度)各自所对应的变量名)
GOTO 200
M00
N55 M3S60
M00
(G55 X POS AUTO SET)   (以下G55的程序与上面相同,已省略;)
N200 M30                                  程序结束

3 项目的理论依据

3.1   假设坐标轴上A B两点坐标分别为( xA , yA ,zA ) ( xB , yB , zB),根据坐标轴上两点间的距离、中点计算公式及圆的标准方程 (其中 圆心O点坐标为(a,b),半径为r)可求得圆的半径尺寸和A  B两点间的距离 ,其中x=xA - xB;y=yA - yB;z=zA – zB,中点的坐标随之求得。

3.2   如果要检查产品的形状及位置公差,依据的原则为最小条件及最小二乘法。就是利用离散采样数据点的集合,将一定的数学模型进行计算以获得测量结果的过程。由于应用本测量方法测得的值均为一些要素表面离散点的坐标,因此要测出需要的几何元素误差值,还要进行相应的数学推导。对于形位误差的测量,只需用增加工件上的几个测量点,即可完成产品的直线度、圆度、同轴度等检测项目。测量精度可以达到0.003毫米,较常规检测更为精确。下面以测量图1中孔轴线的直线度为例做简要说明:(公式推导过程省略)

           公式(1)

将该直线方程化为一般式:

 ax + b - y = 0           公式(2)

然后,求得各个测量点到该最小二乘线的距离:

d =(axi - yi + b)/            公式(3)

设待测公差项目是孔轴线的直线度,公差为小于0.005mm。
先将孔沿轴向划分为N 个截面(本例取N = 4) , 测得每一截面上孔内表面上任意三个点的坐标(见下表) ,根据数学定理:不在同一条直线上的三点确定一个圆, 可求得各截面圆对应的孔中心坐标, 将此N 个孔中心的坐标xi 、 yi 代入式公式(1) ,拟合最小二乘直线y = ax + b,再将各圆心点的坐标代入式(3) ,可求出各个孔的中心点到该直线的距离;误差值为2dmax。

表 寻边器测量孔内4个截面上任意三点的坐标值 

normal style="TEXT-ALIGN: left" align=left>

normal style="TEXT-ALIGN: center" align=center>第一点坐标

normal style="TEXT-ALIGN: center" align=center>第二点坐标

第三点坐标

normal style="TEXT-ALIGN: left" align=left>第1截面

normal style="TEXT-ALIGN: left" align=left>(-6.096, 24.249)

normal style="TEXT-ALIGN: left" align=left>(22.578, 10.784)

normal style="TEXT-ALIGN: left" align=left>(12.465,-21.678)

normal style="TEXT-ALIGN: left" align=left>第2截面

normal style="TEXT-ALIGN: left" align=left>(23.99,-7.346)

normal style="TEXT-ALIGN: left" align=left>(20. 880, 13.749)

normal style="TEXT-ALIGN: left" align=left>(-23.388,8.859)

normal style="TEXT-ALIGN: left" align=left>第3截面

normal style="TEXT-ALIGN: left" align=left>(5.675, 24.341)

normal style="TEXT-ALIGN: left" align=left>(-24.71, -3.748)

normal style="TEXT-ALIGN: left" align=left>(23.78, - 7.699)

normal style="TEXT-ALIGN: left" align=left>第4截面

normal style="TEXT-ALIGN: left" align=left>(-12.55, 21.611)

normal style="TEXT-ALIGN: left" align=left>(-6.82, -24.059)

normal style="TEXT-ALIGN: left" align=left>(23.699, 7.911)

此为任意方向上孔的直线度误差:计算结果Δ = 2dmax = 0.0082mm。该数值大于设定的公差值0.005mm,因此该检测项目不合格。

图1

图2 圆形工件

 

图3 矩形工件

图2、图3中红色粗实线代表工件轮廓,黑色细实线小圆圈代表寻边器上测头的不同位置。以水平方向作为X轴方向,以竖直方向作为Y轴方向设定坐标系。按照宏程序中的说明,先将寻边器装入主轴,使主轴低速(一般取60-80转/分钟)旋转,然后转换至JOG方式,找到X1点的坐标,然后依次是X2点,Y1点,Y2点,注意矩形工件与圆形工件在Y1点的位置选择上有区别(如图所示),其余操作相同,可在20秒钟之内让系统自动记录并在指定的零点偏置区(G54或G55等)中输入工件(X、Y轴)中心点坐标和Z轴的零点,如果是FANUC系统的机床,则会显示出圆形工件的直径(和矩形工件的长度、宽度)所对应的参数号:#510、#511、#512等,这些变量对应的数值保存在OFFSET界面下。查看时先按功能【OFFSET  SETTING】 键,按下继续菜单键 , 再按下章节选择软键[MACRO](宏);用翻页键或数值键及软键[NO.SRH](NO.搜索)选择参数号,即可显示每一个参数所对应的具体数值。如果是在SIEMENS系统的机床上,则会直接在控制面板上显示出圆形工件的直径(和矩形工件的长度、宽度)尺寸。

4 结束语

通过一段时间的使用测试,该方法完全满足了实际加工和检测过程的需要,可以即时检测产品同轴度、直线度等项目,免去了转运到三坐标测量仪上进行检测的时间和费用,体现出较明显的高效性、实用性和稳定性。尽管如此,上述方法仍有诸多不足;这里仅提出个人的一点经验,不妥之处还请各位专家批评、指正。

 
举报收藏 0打赏 0
 
更多>同类数控技术
推荐图文
推荐数控技术
点击排行
网站首页  |  关于我们  |  升级会员  |  联系客服  |  广告合作  |  广告位图  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  RSS订阅  |  违规举报  |  蜀ICP备2021024440号