基于Fanuc系统的加工中心虚拟刀库技术
2011-10-18郭拥军黎月明
郭拥军 黎月明
(北京控制工程研究所,北京100190)
多数加工中心对刀库的每一个刀座(套)进行了编号,放入刀具后,刀具所在刀座号自动成为该刀具的刀号,刀具参数表中仅有对应于每一个补偿号的长度、半径补偿值;加工程序运行期间,遇到换刀指令(一般为T××M06或M06T××),即根据程序刀号(××)从刀库相应编号的刀座选取刀具进行换刀,执行刀具补偿命令,根据程序中的补偿号(长度、半径)所对应的刀具参数表中补偿值,由数控系统实现刀具运行轨迹(沿轴向/径向)偏离编程轨迹相应的量来完成加工。这样,即使由于刀具的制造误差、加工磨损及加工中途换刀误差等因素存在,造成加工时刀具长度值或半径值偏离了编程时的理想值,也不必修改加工程序,仅修改刀具参数表中补偿号对应的补偿值,仍然能够保证正确的加工轨迹,这大大方便了数控编程工作。
然而,在多品种小批量的生产模式下,机床刀库的存刀状况会经常变化,也很有可能需要更换同类机床进行加工,甚至于刀具磨损后需启用备份刀具进行加工,导致加工中常常遇到程序刀号、补偿号与刀库现有存刀状况不匹配情况。因此,每次加工都要逐个程序、逐个刀号补偿号进行匹配检查,发现不匹配就要修改各个程序或将刀具换到相应刀座和修改刀具参数表。这些工作都既费时又很容易发生错误,轻则造成停机、废品,严重的会发生重大的生产事故。
此外,刀库的实际刀座数量是很有限的,且刀座的编号和刀具参数表的补偿号厂家都已规定好了,故刀号、补偿号的数量是很有限的,无法直接表达重要刀具信息(刀具类型、物理、几何参数等信息),而且刀具参数表仅表示了刀具的长度、半径补偿值,直接造成操作者对机床刀库现有存刀状况辨识困难,影响工作效率。同时也造成了程序的刀号补偿号不代表刀具自身的信息,导致程序可读性差,影响了刀具信息传递、准备、管理的工作效率。
针对以上问题,本文通过设计宏程序在加工中心实现了虚拟刀库,操作者在“扩展刀具表”中记入虚拟刀号,方便了对刀库存刀的辨识;程序刀号改为虚拟刀号,提高了程序可读性;程序运行自动完成刀号补偿号的匹配工作,不需要进行匹配检查、修改程序或改变刀具的刀座和参数,工作更可靠,方便了操作者和编程者,以及刀具信息的交流与管理工作。该技术可推广应用到其他加工中心。
1 虚拟刀库技术实现
下面本文就以1台Fanuc16i系统的五轴五联动机床为例具体讲解如何实现。机床刀库允许装刀容量为24把,即机床本身可用刀号仅有24个,为1~24,补偿号是1~32,补偿号可以和刀号不一样,但安全操作起见,特别是用UG等软件进行数控编程时,往往采用刀号和补偿号一样或对应。本文就按补偿号和刀号一样处理,但也支持不一样(不讨论)。
1.1 虚拟刀号
为便于编程者和操作者理解和使用,且虚拟刀号仅反映刀具自身的重要信息(刀具类型、直径、特殊信息等),制定7位的虚拟刀号编码规则如图1(考虑到Fanuc16i系统宏程序变量值最多可保证精确到8位数字,根据需要,本规则最多可采用8位)。
为方便理解,这里再举两个实例来说明如下:①1245100 倒角45°直径10 mm倒角铣刀;②1680180
刃长8.0 mm直径18 mm T型槽铣刀。
1.2 扩展刀具表
建立扩展刀具表程序如下:
程序中#1~#24为Fanuc系统局部变量,分别用于记入1~24号刀座放入刀具的虚拟刀号。操作者装入刀具时,就在刀具参数中记入刀具补偿值,在扩展刀具表中记入虚拟刀号。刀座没有装刀时,虚拟刀号记入0;刀座中刀具磨损或有问题,来不及更换时,虚拟刀号前加一负号,若相同虚拟刀号的备份刀具同时在刀库中,即可启用。本程序后半部分用于循环查找与加工程序中的虚拟刀号相匹配的刀座号,从24号刀座开始循环递减查找,#101、#102为公共变量,注意避开机床厂家程序已采用的公共变量。
1.3 虚拟刀号换刀指令
虚拟刀号换刀指令——M450T×××××××(T后是7位的虚拟刀号)
Fanuc系统已规定了宏程序M调用功能所调用程序号和参数的对应关系,这里设置参数6084的值为450,即可用M450(注意避开机床已有M代码)调用宏程序O9024,程序如下:
这里有2点需要说明:
(1)通常程序号9000~9999是处于读写保护状态,需要设定参数写入允许(PARAMETER WRITE=1),并设置参数3202的第4位(NE9=0),才可将程序O9024存入机床,然后设置NE9=1恢复程序的读写保护状态,并设定参数写入禁止。
(2)程序中可以通过读取系统变量获得刀具当前位置坐标和补偿值,计算出一坐标值,使建立或取消刀具长度补偿时主轴不产生移动,适应刀长变化,避免设定固定坐标可能会出现扎刀或超程现象。而使用五轴机床的斜面加工指令(G432H#4120)来实现,会更加简单。
1.4 对编制加工程序的影响
手动编程时,采用虚拟刀号换刀指令就不用再进行长度补偿,半径补偿号全部采用#4120即可。
采用UG软件进行编程时,刀号要改为虚拟刀号,还需要对后处理文件做一次适应性简单修改。有2种方法可以实现这种修改:
方法一:用UG/GPM(Graphics Postprocessor Module)做后处理,可以通过UG工具 MDFG对此前的MDF(即机床数据文件)做出修改:换刀M代码M06改为M450,刀号的最大值改为9999999;取消长度补偿代码的产生;同时半径补偿代码字D改为D#4120,半径补偿号产生的总位数设定为0,保存就完成了的修改。
方法二:用UG/Post做后处理,可以通过UG工具POST BUILDER对此前的.tcl文件和.def文件做出修改:换刀M代码M06改为M450,刀号的最大值改为9999999;取消长度补偿代码的产生;同时半径补偿代码字D格式由数字改为字符串(String),字D的表达式(Expression)改为#4120,保存就完成了修改。
此外,由于虚拟刀号对刀具直径(通常是刀具名义直径尺寸)表达的比较精确,可以直接用其表达的刀具直径值作为编程刀具直径值,通过软件很容易生成理想的刀具中心轨迹,这样刀具的半径补偿值就可以控制到较小的数值(同时不影响刀库中刀具的辨识),减小了应用刀具半径补偿可能产生过切的几率和过切量值。
2 结语
虚拟刀库技术在五轴加工中心的实际应用表明,其应用有以下优点:
(1)使加工程序独立于刀具实际放入刀座的编号,使得费时且易出错的程序刀号补偿号匹配工作变成了简单可靠的自动实现。
(2)由于虚拟刀号换刀指令已包含了与换刀有关的安全(复位)操作,使加工程序得到简化,可读性增强,运行更可靠(如刀具补偿的应用),同时实现了规范数控编程工作,提高了编程工作效率。
(3)方便了操作者对刀库存刀的快速准确识别,也加快了刀具信息的交流。
[1]GE Fanuc automation europe.series 16i/18i/160i/180i 160is/180is-MA operator's manual[M],2000.