卧式加工中心工件坐标系自动补偿的研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
卧式加工中心工件坐标系自动补偿的研究
肖庆和
(中原工学院机械系,河南郑州 450007)
摘要:通过分析卧式加工中心机床坐标系与工件坐标系、工作台旋转中心之间的关系,并利用FANUC系统中的宏指令及参变量,开发数控系统功能。实现卧式加工中心机床在零件加工过程中,工作台任意角度旋转后,工件坐标系原点得到自动补偿与设定。
关键词:工件坐标系;自动补偿;FANUC;宏功能
中图分类号:TG659 文献标识码:A 文章编号:1672-1616(2006)07-0045-04
数控卧式加工中心机床在加工零件时,由于零件加工部位的需要,通常要求工作台能旋转任意角度。当工件坐标系原点与工作台的旋转中心重合时,工作台的旋转不会给加工过程带来影响。但由于工件坐标系原点的选择是根据零件结构的特点、编程的需要而确定的,通常被加工零件无法与工作台的旋转中心重合,工件坐标系原点的位置随着工作台的旋转,在机床坐标系中发生变化。因此,要重新设定工件坐标系原点的位置。在实际生产中通常的做法是,借助于计算机,根据旋转角度计算出工件坐标系原点的变化量,在初始工件坐标系原点设定值的基础上进行补偿计算,然后人工设定新的工件坐标系原点的位置。这种人工补偿计算、设定的方法效率低,且容易出现错误。能否找到一种方法,尽量减少人为干预,由系统根据初始工件坐标系原点设定值及工作台旋转角度,自动进行补偿计算并设定新的工件坐标系原点的位置,达到开发数控系统功能的目的。
1 工件坐标系原点与工作台旋转中心的关系
当工件随夹具在工作台上安装后,初始工件坐标系原点经测量、设定后,在机床坐标系中即被确定。工件坐标系原点与工作台旋转中心的关系如图1所示。
图中#110、#111表示工作台旋转中心O在机床坐标系中的坐标X,Z值(机床安装、调试后的定值)。#101、#103为初始工件坐标系原点A
的
图1 工件坐标系原点与工作台
旋转中心关系图
测量设定值X,Z。由上述已知条件即可以确定A 点相对于工作台旋转中心O的增量值A E,O E,根据几何关系计算出A点的旋转半径OA及初始角α。工作台旋转后,初始工件坐标系原点A旋转到新点B的位置。如果能计算出新点B相对于工作台旋转中心的增量值HB,O H,就可以在初始工件坐标系原点A的基础上进行补偿,确定新的工件坐标系原点B的坐标值。#106、#107表示B点的X,Z坐标。
2 初始工件坐标系所在象限的确定工件随夹具在机床工作台上定位、夹紧,具体位置的确定是根据零件的结构、加工的需要任意确定的。因此,为了能够准确地确定工件在加工过程中,工作台旋转任意角度后,工件坐标系原点的变
收稿日期:2006-02-20
作者简介:肖庆和(1960-),男,天津人,中原工学院高级工程师,主要研究方向为先进制造技术、CAD/CAM等。
化位置,首先就要确定初始工件坐标系原点在机床
工作台上的位置。在机床坐标系中,将工作台划分为4个象限,如图2所示。
经分析可得出结论,初始工件坐标系原点
A
图2 工作台象限划分图
在工作台上的位置可分为9种情况。可分别位于
第一至第四象限中,位于四象限坐标轴上,或与工作台旋转中心重合。
在宏程序设计中,由数控系统根据初始工件坐标系原点设定值,自动对上述9种情况进行判断,确定初始工件坐标系原点在机床工作台上的位置。它是计算变化后工件坐标系原点的增量坐标值,并进行补偿的基准位置。
3 自动补偿宏程序设计
操作人员测出工件初始工件坐标系原点A 的
坐标值,可任意在G 54~G 59或G 54.1P1~P48中设定。运行自动补偿程序取出A 点坐标值,判断A 点在机床工作台上的初始位置,计算A 点相对工作台旋转中心的增量值、A 点的旋转半径及初始角度α。
当工作台旋转角度为B 时,则计算出新坐标
系原点的绝对旋转角度为(B +α
),并算出相对工作台旋转中心的增量值,经补偿计算后,由数控系统自动完成新坐标系原点B 的设定。采用FANUC 系统宏指令及参变量编写的工件坐标系自动补偿宏程序O7999如下所示:O7999
#110=-525.(X -CEN TER ) 工作台旋转中心的坐标值(由具体机床确定)#111=-1030.(Z -CEN TER )
IF[#1L T1]G O TO 3000 判断工件初始工件坐标
系设定地址
IF[#1GT60]G O TO 3000IF[#1EQ49]G O TO 3000IF[#1EQ50]G O TO 3000IF[#1EQ51]G O TO 3000IF[#1EQ52]G O TO 3000IF[#1EQ53]G O TO 3000IF[#1L E48]G O TO 20
#101=#[5221+[#1-54]320](X ) 取出设
定在G 54~G 59中初始
#102=#[5222+[#1-54]320](Y ) 工件坐标系原点的设定值
#103=#[5223+[#1-54]320](Z )G O TO 30
N20#101=#[7001+[#1-1]320](X ) 取出设定在G 54.1P1~48中初始
#102=#[7002+[#1-1]320](Y ) 工件坐
标系原点的设定值
#103=#[7003+[#1-1]320](Z )G O TO 30
N30#21=#101-#110#22=#103-#111#30=ABS[#21]#31=ABS[#22]IF[#2GT0]G O TO 40
#2=#2+360 工作台负方向旋转角度的处理N40IF[#21EQ0]G O TO50 判断初始工件坐标系原点所在象限
IF[#22EQ0]G O TO60
IF[#21GT0]G O TO70
IF[#22L T0]G O TO80
IF[#22GT0]G O TO90
N50IF[#22EQ0]G O TO100
IF[#22GT0]G O TO200
IF[#22L T0]G O TO300
N60IF[#21GT0]G O TO400
IF[#21L T0]G O TO500
N70IF[#22GT0]G O TO600
IF[#22L T0]G O TO700
N80#120=A TAN[#30]/[#31] 位于第一象限初始角度计算
G O TO1000
N90#120=A TAN[#31]/[#30]+90 位于第二象限初始角度计算
G O TO1000
N100#101=#110 位于工作台旋转中心
#103=#111
G O TO1010
N200#120=180 位于Z轴负半轴上初始角度180°
G O TO1000
N300#120=0 位于Z轴正半轴上初始角度0°G O TO1000
N400#120=270 位于X轴负半轴上初始角度270°
G O TO1000
N500#120=90 位于X轴正半轴上初始角度90°
G O TO1000
N600#120=A TAN[#30]/[#31]+180 位于第三象限初始角度计算
G O TO1000
N700#120=A TAN[#31]/[#30]+270 位于第四象限初始角度计算
G O TO1000
N1000#18=SQR T[(#101-#110)3(#101-#110)+(#103-#111)3(#103-#111)]
#24=#183SIN[#120+#2] 新坐标系原点增量值计算
#26=#183COS[#120+#2]
#106=#110+#24 新坐标系原点的补偿计算#107=#111+#26
G O TO2000
N1010#106=#110
#107=#111
N2000IF[#3L T1]G O TO3000 判断新坐标系原点设定位置
IF[#3GT60]G O TO3000
IF[#3EQ49]G O TO3000
IF[#3EQ50]G O TO3000
IF[#3EQ51]G O TO3000
IF[#3EQ52]G O TO3000
IF[#3EQ53]G O TO3000
IF[#3L E48]G O TO2200
N2100#[5221+[#3-54]320]=#106 设定新坐标系原点(设定在G54~G59)
#[5222+[#3-54]320]=#102
#[5223+[#3-54]320]=#107
G O TO9000
N2200#[7001+[#3-1]320]=#106 设定新坐标系原点(设定在G54.1P1~P48)
#[7002+[#3-1]320]=#102
#[7003+[#3-1]320]=#107
M99
N3000#3000=21(#AC DA TD ERROR)上述程序中#1(A)表示指定初始工件坐标系原点设定地址号(54~59或1~48);#2(B)表示工作台旋转角度,顺时针为正,逆时针为负(B0~B360);#3(C)表示指定新工件坐标系原点设定地址号(54~59或1~48)。
4 应用举例
图3是纺织机械梳棉机边板零件的示意图,在MAZA K640M卧式加工中心机床上加工5-<20H7圆周分度孔,工作台尺寸630mm×630mm,工件坐标系原点选在零件的圆弧中心。显然该零件装夹时工件坐标系原点与工作台旋转中心无法重合。这样,5-<20H7圆周分度孔加工时,初始设定的工件坐标系原点随工作台旋转,位置发生变化。通常需要手工计算各角度的原点差值,在初始设定的工件坐标系原点的基础上进行补偿。
我们采用O7999自动补偿宏程序可以轻而易举地解决这类问题。