多数加工中心对刀库的每一个刀座(套)进行了编号,放入刀具后,刀具所在刀座号自动成为该刀具的刀号,刀具参数表中仅有对应于每一个补偿号的长度、半径补偿值;加工程序运行期间,遇到换刀指令(一般为T××M06或M06T××),即根据程序刀号(××)从刀库相应编号的刀座选取刀具进行换刀,执行刀具补偿命令,根据程序中的补偿号(长度、半径)所对应的刀具参数表中补偿值,由数控系统实现刀具运行轨迹(沿轴向/径向)偏离编程轨迹相应的量来完成加工。这样,即使由于刀具的制造误差、加工磨损及加工中途换刀误差等因素存在,造成加工时刀具长度值或半径值偏离了编程时的理想值,也不必修改加工程序,仅修改刀具参数表中补偿号对应的补偿值,仍然能够保证正确的加工轨迹,这大大方便了数控编程工作。
然而,在多品种小批量的生产模式下,机床刀库的存刀状况会经常变化,也很有可能需要更换同类机床进行加工,甚至于刀具磨损后需启用备份刀具进行加工,导致加工中常常遇到程序刀号、补偿号与刀库现有存刀状况不匹配情况。因此,每次加工都要逐个程序、逐个刀号补偿号进行匹配检查,发现不匹配就要修改各个程序或将刀具换到相应刀座和修改刀具参数表。这些工作都既费时又很容易发生错误,轻则造成停机、废品,严重的会发生重大的生产事故。
此外,刀库的实际刀座数量是很有限的,且刀座的编号和刀具参数表的补偿号厂家都已规定好了,故刀号、补偿号的数量是很有限的,无法直接表达重要刀具信息(刀具类型、物理、几何参数等信息),而且刀具参数表仅表示了刀具的长度、半径补偿值,直接造成操作者对机床刀库现有存刀状况辨识困难,影响工作效率。同时也造成了程序的刀号补偿号不代表刀具自身的信息,导致程序可读性差,影响了刀具信息传递、准备、管理的工作效率。
针对以上问题,本文通过设计宏程序在加工中心实现了虚拟刀库,操作者在“扩展刀具表”中记入虚拟刀号,方便了对刀库存刀的辨识;程序刀号改为虚拟刀号,提高了程序可读性;程序运行自动完成刀号补偿号的匹配工作,不需要进行匹配检查、修改程序或改变刀具的刀座和参数,工作更可靠,方便了操作者和编程者,以及刀具信息的交流与管理工作。该技术可推广应用到其他加工中心。
1 虚拟刀库技术实现
下面本文就以Fanuc16i系统的五轴五联动机床为例具体讲解如何实现。机床刀库允许装刀容量为24把,即机床本身可用刀号仅有24个,为1-24,补偿号是1-32,补偿号可以和刀号不一样,但安全操作起见,特别是用UG等软件进行数控编程时,往往采用刀号和补偿号一样或对应。本文就按补偿号和刀号一样处理,但也支持不一样(不讨论)。
1.1 虚拟刀号
为便于编程者和操作者理解和使用,且虚拟刀号仅反映刀具自身的重要信息(刀具类型、直径、特殊信息等),制定7位的虚拟刀号编码规则如图1(考虑到Fanuc16i系统宏程序变量值最多可保证精确到8位数字,根据需要,本规则最多可采用8位)。
为方便理解,这里再举两个实例来说明如下:①1245100倒角45°直径10mm倒角铣刀;②1680180刃长8.0mm直径18mmT型槽铣刀。
1.2 扩展刀具表
建立扩展刀具表程序如下:
程序中#1~#24为Fanuc系统局部变量,分别用于记人1~24号刀座放入刀具的虚拟刀号。操作者装入刀具时,就在刀具参数中记人刀具补偿值,在扩展刀具表中记入虚拟刀号。刀座没有装刀时,虚拟刀号记入0;刀座中刀具磨损或有问题,来不及更换时,虚拟刀号前加一负号,若相同虚拟刀号的备份刀具同时在刀库中,即可启用。本程序后半部分用于循环查找与加工程序中的虚拟刀号相匹配的刀座号,从24号刀座开始循环递减查找,#101、#102为公共变量,注意避开机床厂家程序已采用的公共变量。