加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

基于NX/post的5轴联动机床后置处理技术研究

(2011-08-29 15:33:34)
标签:

杂谈

随着零件复杂程度不断增加,产品精度不断提高,CAD/CAM技术的不断发展,自动编程以其自身的优点(计算精度高,出错机会少)将会越来越多地应用到实际加工中。自动编程实际上就是CAD/CAM应用,其工作过程是将CAD设计的模型,通过CAM模块计算出刀位轨迹,再由刀位轨迹生成刀位文件(CLS),由CLS文件给出切削点数据,还有控制机床的其他信息。但刀位文件并不是数控程序,要获得数控机床加工程序,还需要将CAM软件生成的刀位轨迹转化为适合数控系统加工的NC程序,该过程称为后置处理(Post-Processing)。为了完成后置处理过程,要针对相应机床构建合适的后置处理器,后置处理器通过读取刀位文件,根据机床运动结构及控制指令格式,进行坐标运动变换和指令格式转换,最终生成机床可用的数控加工程序,因此编制正确的后置处理器是数控编程与加工的前提条件之一,而5坐标加工中心因其结构的复杂性,其后置处理器更是我们急需解决的技术关键。

5轴联动机床而言,可概括为3种基本形式:机床的2个旋转坐标都由刀具摆动实现;②机床的2个旋转坐标都由工作台回转实现;③机床的2个旋转坐标一个由刀具摆动实现,另一个由工作台回转实现。本文以本公司使用的5坐标加工中心STC1000为对象,基于NX/PostBuilder,研究其后置处理器的开发。该5坐标加工中心是由刀具摆动和工作台回转来实现5轴联动加工的。

  一、机床数据的收集

  在笔者所在公司,数控加工多采用NX软件进行编程,因为NX不仅是CAD/CAM集成系统,还提供了很好的后置处理器开发工具NX/PostBuilder,这样就可以根据不同的机床开发不同的后置处理器。

  针对不同数控机床创建其合适的后置处理器,首先要做的就是收集该机床的基本信息,如机床控制系统类型、坐标轴的数量、旋转轴的类型和数控程序的格式等信息。本文要研究的机床是一台带有2个旋转坐标的5轴联动机床,一个旋转轴由刀具摆动实现,为A轴,行程序为-100°~60°,另一个由工作台回转实现,为B轴,可任意角度回转。控制系统为sin840d,以加工汽车叶轮为例,所用的数控加工程序格式如下。

  ;%_N_AS90263_MPF

  ;Rev.-

  ;PATH=F:\zch\pro\123_d.prt

;---------------------------

DEF INT NUM,TIME,TN 定义数据类型

TIME=3 循环加工次数为3

;---------------------------

N03 T=”T_B8” 刀具名称

N04L700 调刀指令

  D1

  N05M73

  N07M21 M53

  N08G642

  TRAORI(2) FGROUP(X,Y,Z,A,B) G54

;---------------------------

TRANS B=-1*360/57 B轴初始加工角度

;---------------------------

N09G00

  N10 G90G0Z800 S2000M03

  N20 G90G0X0Y100A0B0

  N11G93

  N12M11

  N13M16

;---------------------------

FOR NUM=1 TO TIME 循环加工开始

  ;---------------------------

  N0040 G0 A9.009 B11.562

  N0050 G0 X-41.945 Y-39.155

  N0060 G0 Z460

  ;---------------------

  N0016 G1 G90 X-41.945 Y-39.155 Z345.632 A9.009

  B11.562 F7.1 M8

  N0017 Y-27.959 Z275.014 F34.965

  N0018 Y-26.714 Z267.167 F44.318

  ……

  ……

  N4840 Y-29.559 Z273.082 F122.955

  N4841 Y-41.012 Z345.385 F34.151

;---------------------

N106 G0Z800

  ATRANS B=-360/57 B轴零点偏移角度 N108 G90

  ENDFOR 循环加工结束 ATRANS

;---------------------

TRANS

  N130 G0Z800

  N140 B0

  N150 X0Y0M09

  N0185 TRAFOOF N0186 M5

  N0187 M30

  从上面的程序行中我们可以看到,程序头既有注释语句,又有用于循环加工的定义语句,还有零点偏移语句。为了实现循环加工,在利用NX编程时,就要针对所生成的操作添加循环次数(如例中TIME=3中的3)及叶片总数(如例中B=-1*360/57中的57)的用户自定义参数,而且开发后置处理器时,也要定义相应的用户自定义事件,以便生成的数控程序可以自动提取CAM中用户自定义的参数。

  二、NX/PostBuilder参数定义

  采用NX/PostBuilder构建后置处理器,系统会产生3个文件,一个是事件定义文件(.def),一个是事件处理文件(.tcl),还有一个后处理用户界面文件(.pui)。使用NX/PostBuilder构建后置处理器主要就是在界面文件(.pui)中进行所需参数的定义。

  打开界面文件,包括5项基本参数页,MachineTool(机床)ProgramandToolPath(程序和刀轨)NCDataDefinition(数据格式)ListingFile&OutputControl(列表文件和输出控制)FilesPreview(文件预览),在每页主参数里有许多子项参数设定。根据机床所用的数控程序格式,常会对机床参数页、程序和刀轨参数页和数据格式参数页进行设置。

  1.机床参数设定

新建一个机床的后置处理器,如图1所示是以STC1000机床为例,要根据收集到的机床数据进行机床基本信息的选择,如输出单位、机床类型和控制系统等选择。完成机床类型的选择后,就可以根据收集到的数据资料在PostBuilder中进行更深入的设置,如坐标轴行程极限、圆弧刀轨输出和直线插补最小分辨率等,图2就是在对STC1000进行的机床参数设定。

http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/201108/20110829121002657.jpg

  2.程序和刀轨参数的设置

在程序和刀轨参数页,包括了多个子项参数页,如数控程序(program)G代码(GCodes)M代码(MCodes)和用户命令等参数页,如图3所示。在这里,可以进行程序头尾、操作头尾和刀轨等设置。

http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/201108/20110829121012118.jpg

  图3程序和刀轨参数的设置

  (1)程序头尾的定义。数控程序头尾中,经常会包含许多文本格式的说明性语言,如上例中的“;%_N_AS90263_MPF;Rev.-”。当数控程序中有注释或说明性语言时,建议以用户命令的形式定义,不要直接在程序头尾中添加“NewBlock”中的Text字地址。定义程序头尾的用户命令是用TCL语言写的程序,由事件来处理执行。本例中,程序头的用户命令是在用户命令参数页下新建一个“PB_CMD_Program_header”命令,再将此命令添加到程序页下的“StartofProgram”标记中,即可完成程序头的定义。用户命令定义的操作步骤如图4所示,定义程序尾的操作和定义程序头的相同,此处不再详述。

http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/201108/20110829121042786.jpg

  图4程序头的定义

  (2)操作头尾的定义。

;---------------------------

DEF INT NUM,TIME,TN

  TIME=3

  ;---------------------------

上述程序中的这段语言是在后置处理操作头中定义的,其内容是在“PB_CMD_start_of_operation_force_addresses”命令中所写的TCL语言。其方法同程序头的定义。而其中的“TIME=3”中的常数“3”是在NX中添加的用户自定义参数,为了后置处理可识别在NX中定义的循环次数及叶片总数的用户自定义参数,在操作头尾增加了”PB_CMD_Repeat””PB_CMD_Blade”2个用户命令,其定义方法如上述“PB_CMD_Program_header”用户命令的定义步骤。TCL语言内容如图5。然后将3个用户命令添加到“Operation StartSequence”下的“StartofPath”标记中,如图6所示。

http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/201108/20110829121056239.jpg

5循环次数及叶片总数的用户命令

http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/201108/20110829121109484.jpg

6操作头的定义

  操作尾的定义同操作头的定义,同时,需要在操作尾输出的内容用TCL语言写到“PB_CMD_operation_end”命令中,再将此命令添加到“OperationEndSequence”下的“EndofPath”标记中,即完成了操作尾的定义。

  如上述程序头尾、操作头尾的定义,在构建后置处理器时,可利用用户命令生成符合机床控制系统的数据格式,以便NX/PostBuilder能够生成符合机床控制系统要求的NC程序。这些用户命令可以放在任何标记和事件中,且能够以文件形式输出,以便为其他类似后置处理器引用。

  三、用户自定义事件的设置

  用户自定义事件(UserDefinedEvents)允许用户自行定义机床控制事件结构,一旦用户自定义被建立,它们就像标准的机床控制事件一样,可以被使用在“StartofPath”“EndofPath”“InPath”等任何位置。所有用户自定义参数都是在相应的事件对话框中设置。上述程序段中,有2个需在CAM环境中用事件对话框设置的用户自定义参数:即“TIME=3”中的“3”“B=-360/57”中的“57”

  UDEs的所有定义和说明都被保存在系统安装目录下的“ude.cdl”文件中,同时在加工配置文件中,也指定该文件为默认的用户自定义文件。

CAM环境中就可以实现用户自定义参数的设置,为了在CAM中实现上述两个参数的定义,要在“ude.cdl”文件中进行循环次数及叶片总数的定义。在用户自定义事件“ude.cdl”文件中的名称及参数等信息如图7所示。

http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/201108/20110829121121377.jpg

  图7循环次数及叶片总数用户自定义事件

  四、后置处理在NX中的验证

  后置处理器及“ude.cdl”文件构建完成后,就可以通过汽车叶轮为例来验证其正确性。在CAM环境下,以精铣叶身型面的刀具轨迹(8)为例,生成NC程序,为了在程序头就能够读取RepeatBlade事件所定义的内容,需选择程序节点来定义用户事件。

因为每一个用户自定义事件输出顺序是固定不变的,在构建后置处理器时,为了满足数控程序的格式需求,我们将UDEs事件放在了程序头的节点,这样我们在CAM环境下就必须选择程序节点来定义用户事件。定义循环次数参数的操作步骤如图9,定义叶片总数参数的过程重复步骤47即可。

http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/201108/20110829121133113.jpg

  将所需的参数定义完成后,就可以用所构建的后置处理器,即选择STC1000.pui文件生成NC程序,查看是否满足机床控制系统的数据格式。生成的数控程序代码如下。

  ;%_N_PROGRAM_MPF

  ;Rev.-

  ;PATH=F:\zch\ pro\ 123_d.prt

;-------------------------

DEF INT NUM,TIME,TN

  TIME=3

;-------------------------

N0008 T=”BM12”

  N0009 L700

  N0010 M73

  N0011 D1

  N0015 M21 M53

  N0016 G642

  TRAORI(2) FGROUP(X,Y,Z,A,B) G54

;-------------------------

TRANS B=-0*360/57

;-------------------------

N0017 G00

  N0018 G90G0Z800 S0 M03

  N0019 G90G0X0Y100A0B0

  N0020 G93

  N0021 M11

  N0022 M16

;-------------------------

FOR NUM=0 TO TIME

;-------------------------

N0023 G0 A-1.032 B2.560

  N0024 G0 X-37.785 Y13.120

  N0025 G0 Z460

  ;-------------------------

  N0026 G90 G64 X-37.785 Y13.12 Z349.327 A-1.032

  B2.56

  N0027 G64 Y12.688 Z325.331

  N0028 G1 X-37.697 Y12.785 Z324.162 F212.528

  N0029 X-37.477 Y13.065 Z323.041 F212.549

  …………………………………………

  …………………………………………

  N0997 X-19.204 Y24.035 Z293.728 F212.555

  N0998 G0 G64 Y26.67 Z317.583

;-------------------------

N0999 G0Z800

  ATRANS B=-360/57

  N1000 G90

  ENDFOR ATRANS

;-------------------------

TRANS

  N1001 G0Z800

  N1002 B0

  N1003 X0Y0M09

  N1004 TRAFOOF N1005 M5

  N1006 M30

  ;-------------------------

  ;Total Machine Time: 18.2 Min

  经仿真验证及实际加工验证,该后置处理能够完成叶轮叶身型面铣加工的处理工作。

  五、结束语

  后置处理是数控编程中非常重要的环节,后置处理质量的好坏直接影响数控程序的质量。通过本文研究,实现了该加工中心加工叶轮的后置处理器,也为构建其他机床的后置处理器提供了经验。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有