APP下载

基于VERICUT的三菱龙门机床(MVR33-39DX)加工仿真环境研究

2016-08-11王泰吉李世涛宋福田

新技术新工艺 2016年7期
关键词:铣头子程序主轴

王泰吉,李世涛,宋福田,徐 鹏

(南车青岛四方机车车辆股份有限公司,山东 青岛 266111)



基于VERICUT的三菱龙门机床(MVR33-39DX)加工仿真环境研究

王泰吉,李世涛,宋福田,徐鹏

(南车青岛四方机车车辆股份有限公司,山东 青岛 266111)

在应用VERICUT软件构建虚拟环境仿真数控程序时,有时会遇到机床厂商为了机床的一些特殊功能而设定的一些特殊指令,这些指令通常需要在VERICUT软件中单独做出定义。介绍了MVR33-39DX数控龙门铣床中一些特殊指令在VERICUT软件中的配置方式。

附件头;VERICUT;数控

VERICUT是一款专为制造业设计的CNC数控机床加工仿真和优化软件。取代了传统的切削试验部件方式,VERICUT软件通过模拟整个机床加工过程和校验加工程序的准确性,来清除编程错误和改进切削效率[1-2]。

MVR33-39DX是三菱重工生产的带有多个附件铣头的龙门铣床。该机床具备功率大、精度高、加工区域大和自动化程度高等特点,适用于多种工况的加工要求。本文主要讨论MVR33-39DX机床在VERICUT仿真中附件铣头的更换和坐标变换指令的实现[3]。

1 附件铣头的更换配置

机床MVR33-39DX共有5个铣头,通过指令“M95”+“T”+“铣头编号”的方式更换。因为更换铣头的过程比较复杂,所里采用定义子程序的方式来实现VERICUT仿真中铣头的更换。首先在机床高级设定里定义“M95”代替为“G65 P9021”,使得指令执行时,可以调用O9021子程序运行(见图1)。然后可以创建子程序O9021并添加到系统中。

图1 铣头更换指令

在VERICUT项目树中对各个铣头的位置进行定义,所有铣头统一配置在“C2”组件下(见图2)。每个铣头都有一个独立的主轴和刀具。如果铣头包含旋转轴,还应对旋转轴做配置。

图2 铣头配置

由于机床有多个铣头,所以每个铣头的刀具组件都要分配给不同的刀具索引号码(见图3),这样在更换铣头时,就可以通过刀具索引激活不同的刀具组件,以确定在换刀时刀具的安装位置。

图3 铣头刀具设定

主轴组件(spindle)的方向要根据各个铣头的真实方向做出定义。如直角铣头,刀具为水平方向安装,那么主轴组件的Z方向应被定义为水平的方向(见图4)。如不能显示组件坐标系的方向,可以在图形区域单击右键,显示所有轴,以勾选组件的方式打开组件坐标系的显示。

图4 主轴组件方向

铣头的更换主要包含如下3个部分。

1)记录更换铣头的编号,并与主轴上现在的铣头号进行对比,以判断更换铣头的动作执行顺序(代码如下)。如主轴上的铣头与更换的铣头相同,则跳转到9000程序段,结束子程序;如不同,则先执行卸载铣头部分,再执行加载新铣头部分;如主轴上没有铣头,则直接执行更换新铣头部分。在该部分还要对主轴上刀具的状态做出相应的处理。如在更换铣头时,主轴上已有刀具的,是发出报警还是执行换刀动作,将刀具送回刀具库。在本例中不做具体判断,而是直接执行“T0 M6”指令,将刀具送回刀具库。

T0 M6

#10100=#20 (T-New head)

IF[#10100 EQ #20100] GOTO 9000

CGTECH_MACRO "CaxisMachineMotion" "" 0.0

CGTECH_MACRO "ProcessMotion"

CGTECH_MACRO "XaxisMachineMotion" "" 0.0

CGTECH_MACRO "ProcessMotion"

CGTECH_MACRO "YaxisMachineMotion" "" -4000

CGTECH_MACRO "ProcessMotion"

(Check which head is loaded)

IF #20100 EQ 1000 GOTO 101000

IF #20100 EQ 1100 GOTO 101100

IF #20100 EQ 1200 GOTO 101200

IF #20100 EQ 1300 GOTO 101300

IF #20100 EQ 1500 GOTO 101500

GOTO 4000

……

N4000

(check for new head)

IF #10100 EQ 1000 GOTO 201000

IF #10100 EQ 1100 GOTO 201100

IF #10100 EQ 1200 GOTO 201200

IF #10100 EQ 1300 GOTO 201300

IF #10100 EQ 1500 GOTO 201500

GOTO 9000

2)卸载主轴上现有的铣头。卸载1000号铣头的代码如下(其他铣头卸载代码仅与卸载1000号铣头的位置和铣头名称不同):

N101000

(Return Head 1000)

CGTECH_MACRO "TurnOnOffGagePivotOffset" "" 0

CGTECH_MACRO "C2AxisMachineMotion" "" 0.0

CGTECH_MACRO "ProcessMotion"

CGTECH_MACRO "WaxisMachineMotion" "" -900

CGTECH_MACRO "ProcessMotion"

CGTECH_MACRO "ZaxisMachineMotion" "" -900

CGTECH_MACRO "ProcessMotion"

CGTECH_MACRO "YaxisMachineMotion" "" -5000

CGTECH_MACRO "ProcessMotion"

CGTECH_MACRO "ConnectCompName" T1000

CGTECH_MACRO "ConnectToCompName" Spindle_holder_T1000

CGTECH_MACRO "ZaxisMachineMotion" "" 0.0

CGTECH_MACRO "ProcessMotion"

CGTECH_MACRO "WaxisMachineMotion" "" 600.

CGTECH_MACRO "ProcessMotion"

3)加载要更换的铣头。更换1000号铣头的代码如下(其他铣头更换代码仅与更换1000号铣头的位置和铣头名称不同)。铣头更换后都要跳转到9000程序行,该程序行后的代码主要用来定位主轴从主轴库更换完毕后移动的位置以及一些机床辅助功能的开启(具体代码略)。

N201000

(Load Head 1000)

CGTECH_MACRO "C2AxisMachineMotion" "" 0.0

CGTECH_MACRO "ProcessMotion"

CGTECH_MACRO "WaxisMachineMotion" "" -900

CGTECH_MACRO "ProcessMotion"

CGTECH_MACRO "ZaxisMachineMotion" "" -785

CGTECH_MACRO "ProcessMotion"

CGTECH_MACRO "YaxisMachineMotion" "" -5000

CGTECH_MACRO "ProcessMotion"

CGTECH_MACRO "ZaxisMachineMotion" "" -900

CGTECH_MACRO "ProcessMotion"

CGTECH_MACRO "ConnectCompName" T1000

CGTECH_MACRO "ConnectToCompName" C

CGTECH_MACRO "ActiveTool" "" 1000

CGTECH_MACRO "PivotOffsetCompName" "C"

CGTECH_MACRO "TurnOnOffGagePivotOffset" "" 1

GOTO 9000

子程序中的VERICUT宏ConnectCompName用来定义连接的铣头。宏ConnectTocompName用来定义铣头与组件连接。在卸载铣头时,将铣头连接到铣头的原组件位置上,加载铣头时,将铣头连接到主轴组件“C”上。宏ActiveTool用来激活对应铣头上的刀具,使得换刀指令能将刀具换到当前使用的铣头上。宏PivotOffsetCompName用来定义计算偏执的组件名称。宏TrunOnOffGagePivotOffset用来打开偏执计算。

2 坐标变换功能的实现

坐标变换主要用于直角铣头和五轴铣头,该功能能通过指令“G65 P9711 X_ Y_ Z_ A_ B_ (X、Y、Z:坐标偏移的位置;A:绕X轴旋转的角度;B:绕Z轴旋转的角度)”来移动、旋转坐标系,并使主轴的方向能自动的定义到旋转坐标系的Z轴方向。首先要定义子程序O9711并将程序添加到VERICUT软件中。子程序O9711的内容如下:

IF #10100 EQ 1000 GOTO 666

IF #10100 EQ 1200 GOTO 666

IF #10100 EQ 1100 GOTO 777

IF #10100 EQ 1300 GOTO 777

IF #10100 EQ 1500 GOTO 888

N666

G68X#24Y#25Z#26I0J0K0

GOTO 999

N777

C=#2

G68X#24Y#25Z#26I0J0K1.0R[-#2+90]

G68X0.Y0.Z0.I1.J0K0R[-#1+90]

GOTO 999

N888

C=#2 A=#1

IF[#1 LT 0] GOTO 775

G68X#24Y#25Z#26I0J0K1.0R[-#2+90]

G68X0.Y0.Z0.I1.J0K0R[#1]

GOTO 999

N775

G68X#24Y#25Z#26I0J0K1.0R[-#2-90]

G68X0.Y0.Z0.I1.J0K0R[-#1]

GOTO 999

N999 M99

程序开始首先要对主轴上的铣头做出判断,加长铣头、直角铣头和五轴铣头分别对应程序段N666、N777和N888。在程序段N666中,加长铣头只对应坐标系的偏移,无旋转动作;在N777程序段中,直角铣头的C轴旋转角度定义为B参数的数值,坐标系在偏移后绕Z轴旋转90°-B的参数值;在程序段N888中,五轴铣头C轴旋转角度定义为B参数的数值,A轴旋转角度定义为A参数的数值,坐标系在偏移后绕Z轴旋转90°-B的参数值,再绕A轴旋转A参数的数值。

3 其他指令

该机床还有G65 P9710 C_ 指令。该指令中的C后面的值为工作偏置的寄存器号码。所以只需创建O9710子程序,子程序内容如下:

O9710

IF #3 EQ 54 GOTO 54

IF #3 EQ 55 GOTO 55

IF #3 EQ 56 GOTO 56

IF #3 EQ 57 GOTO 57

IF #3 EQ 58 GOTO 58

IF #3 EQ 59 GOTO 59

N54 G54

M99

N55 G55

M99

N56 G56

M99

N57 G57

M99

N58 G58

M99

N59 G59

M99

G65 P8100指令使Z轴回机床零点,并取消刀具的半径和长度补偿。创建O8100子程序,子程序内容如下:

O8100

G91 G28 Z0.0

G49 G40

G69 G90

M9

M99

4 变量的使用

在配置如更换铣头等程序时,经常要使用变量对当前的一些状态做出记录和判断。在程序调用时也需要对一些参数进行传递。如在本例的三菱龙门机床中,就使用了#10100来记录要更换的铣头的号码,使用#20100来记录当前机床上正在使用的附件头。通过对这2个变量值进行判断来确定机床的动作。在变量的使用中,应注意和控制系统的变量能够区分开。如三菱的龙门为发那科系统,不仅要避免和用户程序中的变量冲突,而且应注意不能和系统的变量同名。同时变量#1~#33为系统局部变量,这些变量仅仅在当前程序有效,所以不能用来作为状态记录和判断的变量使用。

参数在不同程序之间的传递要使用VERICUT宏MacroVar来实现。该宏可以把程序中A~Z后面对应的数值赋给变量#1~#26(变量的对应关系可参考发那科用户手册中自变量的指定)。这也是上述提到的要把“M95”代替成“G65 P9021”的一个原因。这样执行程序“M95 T1500”就相当于执行了“G65 P9021 T1500”,不但调用了9021子程序,同时也把T后的1500传递给了子程序9021的局部变量#20。所以在9021程序中有#10100=#20这样的赋值,来对要更换的铣头号码做出记录。在铣头更换完毕后,又有#20100=#20(这里也可以使用#20100=#10100)的赋值,来记录当前主轴上的铣头号码。

5 结语

在应用VERICUT软件仿真一些结构特殊的机床时,常会遇到由机床厂商定义的一些特殊指令或子程序。因为这些功能没有包含在标准的控制器中,就需要在配置机床时单独地做出定义。本文通过自行建立的子程序解决了机床更换附件头和坐标变换等问题,使得构建的机床能够仿真该机床的所有加工程序。避免了错误程序在车间的使用,极大地提高了程序的正确性和可靠性。同时,通过VERICUT的仿真,也为合理规划加工流程,改善工艺路线提供了很大的帮助。

[1] 刘东晓,董晓,张传峰. 基于VERICUT的数控加工仿真验证[J]. 新技术新工艺, 2015(12):97-100.

[2] 杨胜群. VERICUT数控加工仿真技术[M].2版.北京:清华大学出版社,2010.

[3] 王启忠. Vericut中构建多铣头龙门铣床[J]. 金属加工(冷加工),2009(5):32-34.

责任编辑郑练

Research of the Processing Simulation Environment with Mitsubishi Gantry Machine Tools (MVR33-39DX) based on VERICUT

WANG Taiji, LI Shitao, SONG Futian, XU Peng

(CSR Qingdao Sifang Locomotive & Rolling Stock Co., Ltd., Qingdao 266111, China)

When building a virtual CNC machine simulation environment in VERICUT, sometimes some machines have a few special commands for special features. These commands need to be configured in the VERICUT control system. Describe how to define special commands in the VERICUT control system for the MVR33-39DX CNC milling machine.

attachments, VERICUT, NC

TG 659

A

王泰吉(1983-),男,工程师,主要从事动车组车体加工工艺等方面的研究。

2015-11-13

猜你喜欢

铣头子程序主轴
基于窄而深内档铣削的扁长型焊接带式角铣头设计
基于Siemens NX和Sinumerik的铣头部件再制造
45 ° 型万能铣头精度特性及其调整计算和研究
双主轴双排刀复合机床的研制
简易双轴立铣头装置设计与应用
基于FANUC-31i外部一转信号在三档主轴定向中的应用
浅谈子程序在数控车编程中的应用
应对最大360mm×360mm的加工物研发了双主轴·半自动切割机※1「DAD3660」
虚拟主轴在无轴印罐机中的应用
子程序在数控车加工槽中的应用探索