西门子刀库管理指南
为了达到一次装夹实现多工序加工的目的,现在的数控机床大部份配备了交换刀具系统,这样数控系统需要知道这些刀具的几何尺寸,还有刀具在刀库里的具体位置。为了适用工厂自动化生产的更高要求,有时还需要对刀具的加工时间或者是加工工件数进行监控,当达到刀具的加工寿命时,系统会提示操作者更换刀具,避免因为刀具的磨损而造成批量废品。在自动化程度更高的机床上,还可以为一些刀具配备一把或几把类似的刀具,叫做姊妹刀,当某把刀具达到加工寿命时,系统会自动挑选它的姊妹刀来代替,这样能保证加工的连续运行,上述这些功能统称为刀库管理功能,西门子840D系统可以选配刀库管理功能。
在没有刀库管理功能时,系统只是管理刀具数据,主要是刀具的几何尺寸,当需要交换刀具时,系统会通过通道的接口信号通知PLC需要更换的新刀具号,PLC控制刀具换刀动作,当动作完成后,通知NC。具体接口信号如下:
DB21.DBX61.0 T码改变,当NC遇到一个新的T指令时,该信号有效,信号只
持续一个 PLC周期。
DB21.DBW118 T码的值,也就是要交换的新刀号的值,该信号在新的刀号来之
前一直有效
对于机床来说,一般有一个实际存在的刀库,同时根据实际情况,可能有一到两个机械手,至少一个主轴,有的刀库还需要用来装卸刀具的装卸站,系统把实际存在的刀库定义为刀库1,这个刀库里有定义好的刀座数,机械手和主轴定义为虚拟的缓存刀库,刀库号为9998,一般定义主轴为这个刀库里的第一个刀座,其它依次为机械手1,机械手2.....等等,对于装/卸刀具站而言,定义为另外一个虚拟的刀库,刀库号为9999,依据实际情况定义里面的刀座数,一般主轴都能用来装/卸刀具,所以至少算一个刀座。 如下图所示:
错误!未指定书签。
这台机床有一个实际的链式刀库,刀库号为1,里面有16个刀座,有一个主轴和两个机械手卡爪,它们都属于一个虚拟的刀库9998,分别对应为这个刀库里面的刀座1,2和3,还有一个装/卸刀具站,它的刀库号为9999,加上主轴也是一个装/卸刀站,这个刀库有两个刀座,分别为刀座1和2,下面以这个示例来说明刀库管理功能的调试。
刀库管理功能的调整
HMI的调整
对于新版本的HMI,不需要对刀库管理进行特殊的设置,只要系统刀库管理功能生效以后,系统会自动用带刀库管理功能的操作画面来代替标准的刀具参数显示画面,在这个画面里既能显示刀库里刀具的情况,也能显示缓冲区里面的刀具情况,还可以选择显示所有的刀具列表,可以对刀具进行管理,比如装载和卸载,是定点换刀还是随机换刀,常规的刀沿尺寸修改,刀具位置的重新分配等。
NCK的调整
840D的刀库管理是一个选项,需要激活该选项功能。
由于刀库管理需要占用一些内存,需要在系统里面预留相应的内存,主要相关参数如下:
MD18080 系统刀库管理参数,对整个系统而言
MD20310 通道刀库管理参数,仅对相应通道而言,一般设置成和MD18080一样 比较重要的设置位 Bit 0 刀库管理功能是否有效
Bit 1 刀具监控功能是否有效 Bit 3 是否考虑邻近刀座
Bit 4 PLC是否能要求新的修改参数后的预选刀具指令
一般的刀库管理功能,这四位都需要置上,所以至少为BH。
MD18084 系统管理刀库数量,要包含虚拟刀库,所以至少为3 MD18086 系统管理刀座数量,要包含虚拟刀座,>=实际刀座数+5 MD18082 系统管理的刀具数,一般要大于实际的刀座数 MD18100 系统管理的刀沿数,一般要大于系统管理的刀具数
以上参数的修改都会涉及到内存的重新分配,所以修改后要立即(不要下电和NCK复位)做一个NC数据的备份,再回装回来,这样NCK的刀库管理功能就急活了。
刀库的建立
通过以上参数的设定,系统只是为刀库管理预留了相应的空间,但对于刀库的特征(比如刀库的类型,实际刀座的数量,虚拟刀座的数量等)需要通过对刀库管理系统变量来定义,系统可以通过传输一个刀库定义文件来对系统变量赋值,也可以通过执行一个子程序来对这些变量赋值,对于HMI_ADVACED来说,可以在启动菜单里通过图形交互形式生成一个刀库的配置文件,对PCU20而言,只能通过编辑器来编辑刀库定义文件,附件里有一个刀库定义文件,里面主要包含以下几个信息: $TC_MAP1[0]=0 删除原来有关刀库的数据 $TC_DP1[0,0]=0 删除原来有关刀具的数据
$TC_MAP1[n] 刀库 的类型 实际的刀库类型一般有两种,链式刀库和车床用的刀塔 $TC_MAP7[n] 刀座的数量 n表示刀库号 $TC_MAMP2 刀具和空刀座的搜索策略
$TC_MAP3[1] 实际刀库状态,只有激活后该刀库才能使用
$TC_MP1[n,m] ,$TC_MP2[n,m] ,$TC_MP3[n,m],$TC_MP4[n,m] ,$TC_MP5[n,m] 定义刀座状态 $TC_MLSR[n,m] 把缓存刀库的刀座分配给相应的主轴
$TC_MDP1[n,m] ,$TC_MDP2[n,m] 定义虚拟刀座和换刀点的偏置量,这个参数对装/卸刀具点才有
用,对其它虚拟刀座来说,这个值为0。
错误!未指定书签。
当这些系统参数正确定义以后,在刀库管理显示画面里就可以看见刀库的情况了,可以依照操作说明 书来建立新刀具。
PLC的调整
PLC主要要处理刀库管理发送过来指令的应答信号,PLC必须知道有关刀库的一些情况,根据这些情况生成相应的DB数据块,在HMI_ADVANCED里,配置刀库管理的菜单里,有一个软键能根据刀库的具体配置文件生成相应的数据块DB71-DB74,对PCU20而言,只能通过系统数据块DB4来生成。在DB4里面定义刀库的特征,这些定义在OB100里面调用一次就行了,附件有一个常用刀库的数据块定义文件FC100,如果刀库类型一样,调用时只要输入相应的刀座数即可。 DB4.DBW64 刀库数量 DB4.DBW65 刀库号 DB4.DBW67 刀库类型
DB4.DBW68 刀库的刀座数
DB4.DBW65 到DB4.DBW68要根据刀库的数量挨个定义,包含虚拟刀库
DB4.DBBn 主轴数量 n的数值为 DB4.DBW64的值*5+65
下面介绍PLC里面常用的一些应答方式。
加工中心的换刀指令一般是用TxxM06来实现的, 执行T指令时,刀库管理把要更换的新刀具的刀座号和主轴上的刀具要送回的刀座号发送到刀库管理专用接口信号,对应加工中心是DB72,而对应车床刀塔是DB73,以下是经常涉及到的几个接口信号(以DB72为例):
DB72.DBB0,DBB1 刀具交换接口生效信号,由于刀库管理可以同时管
理多主轴换刀,因而有多个接口,一般的加工中心是一个主轴,也就是DBX0.0有效。
DB72.DBX(N+0).1 刀具交换信号,其中N与DBB0和DBB1的接口
信号有关,第一个接口,N为4,即为DB72.DBX4.1。
DB72.DBX(N+0) .2 刀具交换准备信号。 DB72.DBX(N+0).3 执行T0指令时的接口信号。 DB72.DBW(N+20) 新刀具的刀库号。 DB72.DBW(N+22) 新刀具的刀座号。
DB72.DBW(N+24) 旧刀具(即要从主轴送回刀库的刀具)的刀库
号。
DB72.DBW(N+26) 旧刀具将要送回的刀座号。
与原来信号比较 没有刀库管理
有刀库管理
换刀有效 DB21.DBX61.0
DB72.DBX0.0和DBX4.1
新刀具的刀座号 DB21.DBW118
DB72.DBW24
主要区别在下面几个方面:
? 刀库管理不只在执行T码时有信号,刀具交换时还有信号。
? 刀库管理只提供给PLC刀具的刀座信息,而不像原来提供T码后的值
? 刀库管理不只提供“新刀具“的刀座信息,还提供要返回的“旧刀具”的刀座信息
错误!未指定书签。
下面举例来说这些接口信号:
假设主轴上刀具是2号刀,假设要换5号刀具上去,假设它们都是定点换刀。
T5 DB72.DBX0.0和 DB72.DBX4.2同时为1
G00 DB72.DBW24 1; 新刀具在1号刀库
DB72.DBW26 5; 新刀具在5号刀座
DB72.DBW28 1; 旧刀具放回1号刀库
DB72.DBW30 2; 旧刀具放回1号刀库2号刀座
G00 ?. ???.
M06 DB72.DBX0.0和 DB72.DBX4.1同时为1
其它信号不变
在刀库管理中,刀具交换时要等待PLC的刀具准备应答信号,由于刀库管理需要知道刀具离开刀库后的临时存放位置,比如是在主轴上还是在机械手上,刀具准备和刀具交换是否完成,这些都需要PLC来应答,PLC是通过调用FC8来应答刀具管理。
调用FC8时需要提供这几个参数
CALL \启动信号,当该信号为1时,系统调用FC8 Start :=#Start 任务号 ,刀具准备和刀具交换任务号是2 TaskIdent :=#TaskIdent 任务索引号,指要交换刀具的主轴号,一般为1 TaskIdentNo:=#TaskIdentNo NewToolMag :=#NewToolMag 新刀具现在位置的刀库号 NewToolLoc :=#NewToolLoc 新刀具现在位置的刀座号 OldToolMag :=#OldToolMag 旧刀具所在位置的刀库号 OldToolLoc :=#OldToolLoc 旧刀具所在的位置的刀座号
Status :=#Status 执行该指令时的状态字 Ready :=#Ready FC8是否完整执行 Error :=#Error 指令执行时是否有错误
有时一个换刀过程需要刀具经过几个过渡状态才能完成,这时候常需要多次调用FC8来及时更新刀具的位置信息。
当上例中的T5指令执行完毕时,2号刀具还在主轴上,5号刀具移动到刀具交换位置,这时候需要调用FC8来应答刀具准备信号。
CALL \ FC8启动条件,当T码执行完后应为1 Start :=M100.2 TaskIdent :=B#16#2 TaskIdentNo:=B#16#1 NewToolMag :=1 NewToolLoc :=5 要换下来的“旧刀具”还在主轴上 OldToolMag :=9998 OldToolLoc :=1 要换上去的“新刀具”还在刀库里 Status :=1
Ready :=M100.0 状态1表示为该任务已经完成,如果为过度状态,则为105 Error :=M100.1
错误!未指定书签。
当PLC接到换刀指令时,PLC执行换刀动作,把2号和5号刀具同时拔出来,这时候刀具信息又发生了变化,应该及时通知刀库管理。
CALL \ Start :=M100.3 参数和上次调用FC8差不多,区别是2号刀具已经从主轴移动到机械 TaskIdent :=B#16#2 TaskIdentNo:=B#16#1 手2,5号刀具已经转移到机械手1上面。 NewToolMag :=9998 NewToolLoc :=3 OldToolMag :=9998
OldToolLoc :=2 Status :=105 状态105表示该换刀任务还未完成,系统还需要等待 Ready :=M100.0 Error :=M100.1
PLC执行相应的动作,机械手旋转180度,在把5号刀具插进主轴,2号刀具送回刀库的2号刀座
CALL \ Start :=M100.4
TaskIdent :=B#16#2 TaskIdentNo:=B#16#1
新刀具(5号刀)已经被送到主轴上 NewToolMag :=9998 NewToolLoc :=1 OldToolMag :=1 旧刀具(2号刀)已经送回到刀库的5号刀座中 OldToolLoc :=5 Status :=1 Ready :=M100.0
Error :=M100.1
这次刀具交换已经结束,系统接到该次应答以后,认为换刀已经完成成,除了更新刀库表以外,程序继续执行。
如果执行T0M06时,系统会把主轴上的刀具(5号刀具)送回到刀库的五号刀座中。
对于刀具准备来说,因为没有新刀具要交换,所以没有什么刀具准备动作,PLC接到刀具准备信号后,就立即应答,在刀具交换时,刀具的状态要经过两次变换,第一次是把刀具抓到机械手中,这时候需要调用一次FC8,告诉系统旧刀具已经在机械手上,而没有新刀具,故新刀具的刀库号和刀刀座号都为0,因为这个任务还没有完成,状态字是中间状态105。第二次是把刀具从机械手上送回到刀库中,还需要调用一次FC8,告诉系统旧刀具已经送回到刀库的5号刀座中,而新刀具的刀库号和刀座号都为0,换刀已经结束,状态字为1,对应主轴上没有刀具时的换刀,这时候由于没有“旧刀具”,故调用FC8应答时旧刀具的信息为0。
错误!未指定书签。