基于NX/post的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程序,为了在程序头就能够读取Repeat及Blade事件所定义的内容,需选择程序节点来定义用户事件。
因为每一个用户自定义事件输出顺序是固定不变的,在构建后置处理器时,为了满足数控程序的格式需求,我们将UDEs事件放在了程序头的节点,这样我们在CAM环境下就必须选择程序节点来定义用户事件。定义循环次数参数的操作步骤如图9,定义叶片总数参数的过程重复步骤4~7即可。
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
经仿真验证及实际加工验证,该后置处理能够完成叶轮叶身型面铣加工的处理工作。
五、结束语
后置处理是数控编程中非常重要的环节,后置处理质量的好坏直接影响数控程序的质量。通过本文研究,实现了该加工中心加工叶轮的后置处理器,也为构建其他机床的后置处理器提供了经验。