首页 理论教育 换刀程序分析在9.2.2二级程序中的作用

换刀程序分析在9.2.2二级程序中的作用

时间:2023-07-02 理论教育 版权反馈
【摘要】:图9-27 刀库反转2.换刀时刀具表的处理刀具表的处理流程如图9-28所示。1)刀具检索使能处理:检索使能条件包括刀套在抬起位R0539.4、刀库停止状态R0532.1、刀库没有报警R0536.5、换刀没有报警R0544.2。图9-42 刀具代码转换BIN—BCD码转换图9-43 刀具检索程序块图9-44所示为随机换刀事例,所谓随机换刀,刀套号与刀具号不是一一对应的。

换刀程序分析在9.2.2二级程序中的作用

1.刀库手动旋转控制

包括刀库准备处理、手动正转/反转。

刀库准备好信号条件包括:机床准备好F0001.7、急停信号G0008.4、刀库错误条件R0536.5、刀库换刀位置刀套在抬起位R0539.3,如图9-24所示,如图9-25所示。

刀库手动正、反转控制条件包括:不在刀具检索过程中R0534.2,在手动方式R0513.1、按刀库旋转按钮R0584.3、按刀库正转按钮R0577.0,如图9-25所示。

刀库正转启动程序,按刀库手动启动按钮,刀库正转;当刀库电动机开始正转后,R0530.4被复位。执行的结果是按刀库正转按钮,刀库转位;松开按钮后,刀库再转一个刀套位,如图9-26所示。

978-7-111-32289-4-Chapter09-24.jpg

图9-23 刀库反转控制

978-7-111-32289-4-Chapter09-25.jpg

图9-24 刀库准备好信号

978-7-111-32289-4-Chapter09-26.jpg

图9-25 手动方式下刀库正、反转控制

978-7-111-32289-4-Chapter09-27.jpg

图9-26 刀库正转

刀库反转启动程序,按刀库手动反转按钮,刀库反转;当刀库电动机反转运行后,R0530.4被复位。执行的结果是按刀库反转按钮,刀库转位;松开按钮后,刀库再转一个刀套位,如图9-27所示。

978-7-111-32289-4-Chapter09-28.jpg

图9-27 刀库反转

2.换刀时刀具表的处理

刀具表的处理流程如图9-28所示。

978-7-111-32289-4-Chapter09-29.jpg

图9-28 刀具表处理流程

1)刀具容量赋值:K0008.5、K0005.1用于设定刀库容量:K0008.5=0、K0005.1=0,刀库容量为20;K0008.5=0、K0005.1=1,刀库容量为24;K0008.5=1,K0005.1=0,刀库容量为30;K0008.5=1,K0005.1=1,刀库容量为32。NUMEB为定义进制常数指令,在程序中指定数据格式为2B,将指定的数据赋值到D0110,D0110存储刀库容量数据,如图9-29~图9-32所示。

978-7-111-32289-4-Chapter09-30.jpg

图9-29 刀库容量20把刀设定

978-7-111-32289-4-Chapter09-31.jpg

图9-30 刀库容量24把刀设定

978-7-111-32289-4-Chapter09-32.jpg

图9-31 刀库容量30把刀设定

978-7-111-32289-4-Chapter09-33.jpg

图9-32 刀库容量32把刀设定

2)刀具表的赋值:D0110定义刀库容量,D0112定义为刀库容量+1,其作用是为刀具表容量赋值,D0112为刀具表长度,这样在刀具表D0112中,D0000可存储主轴刀号,D0001存储一号刀套的刀具号。以此类推,直到最后一个刀套。刀库容量+1如图9-33所示。

978-7-111-32289-4-Chapter09-34.jpg

图9-33 刀库容量+1

3)数据转换:进行BIN—BCD(二进制-BCD码)的转换,主要用于COIN(一致性比较)指令,COIN指令只能进行BCD码的一致性判别。D0125的数据是刀具表的最大值,用来判别主轴刀号、待位刀号是否为空刀号,如图9-34所示。

4)对当前刀套号D0100进行BCD码转换成D0120,用于对当前刀套号内刀具号码的检索判别,如图9-35所示。

978-7-111-32289-4-Chapter09-35.jpg

图9-34 刀库容量+1代码转换

978-7-111-32289-4-Chapter09-36.jpg

图9-35 当前刀号(刀库换刀位的刀号)代码转换

5)读出当前刀套内的刀具号:XMOVE指令为二进制编址数据传送指令,在这里这条指令从刀套表里读出当前刀套安装的刀具号,D0112是刀套表的容量,D0000是刀套表的首地址,D0100是当前刀套号码,按照此号码,在刀套表中找出对应的刀具号,写到R0587,如图9-36所示。

6)判断主轴刀具号、指令刀具号、刀库刀套号的关系,再换刀时,使用到这些判断条件,如图9-37~图9-39所示。

978-7-111-32289-4-Chapter09-37.jpg

图9-36 从D0100中读出当前刀具号并写到中间存储器R0587中

978-7-111-32289-4-Chapter09-38.jpg

图9-37 判断主轴是否是空刀

978-7-111-32289-4-Chapter09-39.jpg

图9-38 判断主轴刀具号是否等于指令刀具号

978-7-111-32289-4-Chapter09-40.jpg

图9-39 判断刀套内是否有刀

3.刀具检索处理

当执行T指令时,PMC首先在刀具表内检索出T指令的刀具存放在哪一个刀套内,刀具检索处理的流程如图9-40所示。

1)刀具检索使能处理:检索使能条件包括刀套在抬起位R0539.4、刀库停止状态R0532.1、刀库没有报警R0536.5、换刀没有报警R0544.2。数控发出T指令F0007.3后,启动R0534.0并保持住,当检索的刀具在刀库换刀位刀套位置R0535.4或指令刀具在主轴上时,检索使能复位,如图9-41所示。

978-7-111-32289-4-Chapter09-41.jpg

图9-40 刀具检索处理流程

978-7-111-32289-4-Chapter09-42.jpg

图9-41 刀具检索使能条件

2)T代码的转换,该条指令完成刀具指令代码的BIN(二进制)到BCD码的转换,为后面进行指令刀具与检索到的刀具进行一致性判别指令做准备,如图9-42所示。

3)DSCHB为二进制检索指令,在程序中检索指令刀具所在的刀套号,D0112指定刀具表的大小,D0000定义刀具表的首地址,F0026指定刀具号,R0690存储检索出指令刀具所在的刀套号码,如图9-43所示。

978-7-111-32289-4-Chapter09-43.jpg

图9-42 刀具代码转换BIN—BCD码转换

978-7-111-32289-4-Chapter09-44.jpg

图9-43 刀具检索程序块

图9-44所示为随机换刀事例,所谓随机换刀,刀套号与刀具号不是一一对应的。但是通过刀具表管理,可以随时找到需要的刀具号,这一工作就是通过图9-43中的DSCHB程序块完成的,具体执行如下:

例如,指令输入T5,希望调用5#刀,从图9-44左图可以看出,5#刀在3#刀套中,根据图9-43二进制数据检索程序块在刀具数据表中进行检索(参照图9-44后侧),检索数据在以D0000为首的地址表里,并且地址表长度=12(在D0112中定义=12),即D0000~D0011。开始执行检索后(需要激活图9-43中的ACT R0534.3),程序在表中检索到5#刀存放在3#刀套中(地址表地址为D0002),并将3#刀套的信息存放在寄存器R0690中作为目标刀套号。参照图9-44左侧图示,可以知道当前刀套号=6,而希望调用的5#刀在3#刀套中,下一步需要将刀库从目前的6#刀套经5#刀套、4#刀套转到目标刀套——3#刀套,这样机械手就可以取出3#刀套中的5#刀具,完成换刀动作。转动刀库的程序块参见图9-46和图9-50所示两个模块的介绍。

4)DCNV数据转换:进行数据BIN—BCD码的转换,转换的数据用于判断指令刀具所在的刀套号与待位的刀套号是否一致,即为一致性判断作准备,如图9-45所示。

978-7-111-32289-4-Chapter09-45.jpg

图9-44 随机换刀刀具表

978-7-111-32289-4-Chapter09-46.jpg

图9-4 5数据转换——为一致性判断作准备

5)采用旋转指令通过二进制方向判断:D0110为刀库容量,D0100为当前刀库计数值,R0690为目标刀套地址,也就是在图9-43和图9-44中,根据T指令找到的目标刀套号。R0689为刀具刀套号的前一个刀具号地址,R0534.7为刀具检索启动信号,如图9-46所示。

实际运行时,图9-46中的D0110为数据表容量,也即刀库容量。D0100为当前刀套号,每转动一个刀具位置,该数据就会刷新一次,从图9-44的举例可以看出,D0100中的数据应该从6→5→4→3的顺序变化。ROTB指令输出R0535.0=0时,刀库正转;R0535.0=1时,刀库反转,如图9-47所示。

978-7-111-32289-4-Chapter09-47.jpg

图9-46 旋转指令控制

978-7-111-32289-4-Chapter09-48.jpg

图9-47 刀库旋转指令输出

6)数据转换:用于判断指令刀具所在的刀套号的前一个刀具号与计数刀套号是否一致,如图9-48所示。

978-7-111-32289-4-Chapter09-49.jpg

图9-48 当前刀套号转换至BCD码

7)判断刀库实际计数刀套号与指令刀具刀套号的前一个刀号是否一致,如果一致刀库开始减速,如图9-49所示。

978-7-111-32289-4-Chapter09-50.jpg

图9-49 刀库每旋转一位进行一次一级性判断

8)刀库旋转减速保持,由刀库旋转到位(指令与实际刀具一致)断开,如图9-50所示。

978-7-111-32289-4-Chapter09-51.jpg

图9-50 刀具寻找完成

上面3.中1)~8)详细介绍了刀具检索的过程,也即刀库找刀的过程,这种检索寻找的方式是与其他PLC程序最大不同之处,也是初学FANUC系统的学员最困惑的地方,所以正确理解这些内容是非常重要的,应正确理解FANUC检索刀具程序的关键——理解FANUCPMC程序块SUB34-DSCHB(程序块说明参照第3章3.2.34节相关内容)以及程序块SUB26-ROTB(程序块说明参照第3章3.2.13节相关内容)。

下面介绍机械手换刀的过程,这部分程序与其他PLC没有本质的区别。

4.换刀过程

换刀过程是一个顺序动作的过程,换刀程序是按照顺序程序编程的格式进行编程的。先将整个换刀过程进行分析,分成7个过程,这7个过程依次进行,相互衔接。当前过程进行时,为下一个过程作准备;当前过程的任务完成,作为下一个过程的触发条件,触发下一个过程,同时断开上一个过程。整个换刀的流程如图9-51所示。

978-7-111-32289-4-Chapter09-52.jpg

图9-51 机械手换刀7个步骤流程

各步骤执行的触发条件及动作分析见表9-1。

表9-1 各步骤执行的触发条件及动作分析一览表

978-7-111-32289-4-Chapter09-53.jpg

(续)

978-7-111-32289-4-Chapter09-54.jpg

注:刀套抬起落下使用双向电磁阀控制,主轴刀具夹紧使用单向电磁阀控制。

程序分析如下:

1)换刀准备:换刀启动,PMC程序对M代码进行译码,执行M06代码启动换刀,R0500.7是对M06译码后的信号,执行M06指令时,R0500.7为1。图9-52所示是换刀使能信号处理程序。

978-7-111-32289-4-Chapter09-55.jpg(www.xing528.com)

图9-52 换刀使能信号处理

图9-53所示为刀库准备信号处理程序,这些信号包括:没有换刀报警R0544.2——没有机械手错误;R0536.5——没有刀库报警;F0045.0——数控系统准备好;R0518.0——齿轮换挡OK;R0516.0——NC准备好;R0538.1——刀库没有旋转;R0543.6——刀库到位;R0535.5——没有指令刀号与主轴刀号不一致现象。

978-7-111-32289-4-Chapter09-56.jpg

图9-53 刀库准备信号处理

当ATC(Automatically Tool Change自动换刀)OK后说明刀库准备好了,如图9-54所示。

978-7-111-32289-4-Chapter09-57.jpg

图9-54 刀库准备好——ATC OK

图9-55所示为换刀准备条件之一,机床回到刀具换刀点确认(只有当机床回到第一或第二参考点时才可以执行换刀操作)。

K0016.1设定使用第一或第二参考点作为换刀点,K0001.1可设定是否使用X/Y参考点。

978-7-111-32289-4-Chapter09-58.jpg

图9-55 刀库是否在参考点

2)换刀开始,以顺序编程的方式编写各个换刀步骤,具体如下:

①步骤一:刀套下R0540.0(A1)。R0539.7为换刀的启动条件,包括换刀的准备内容、ATC在待位状态,当R0539.7条件满足,为1时,R0540.0为1,并自锁。当第一个环节完成后,R0540.1(A2)、R0540.0被复位。R0545.3刀套落下到位为第二个环节的触发条件,如图9-56和图9-57所示。

②步骤二:机械手旋转60°R0540.1(A2)。R0540.0为第一个环节,作为第二个环节的准备条件,R0545.3为触发条件,如图9-58和图9-59所示。

978-7-111-32289-4-Chapter09-59.jpg

图9-56 换刀动作第一步——刀套下

978-7-111-32289-4-Chapter09-60.jpg

图9-57 刀套下条件——PMC程序处理

978-7-111-32289-4-Chapter09-61.jpg

图9-58 换刀动作第二步——机械手旋转60°

978-7-111-32289-4-Chapter09-62.jpg

图9-59 机械手旋转60°条件——PMC程序处理

③步骤三:主轴刀具松开R0540.3(A3)。R0540.1为第二个环节,作为第三个环节的准备条件,R0533.3机械手中间点保持,为该环节的触发条件,此时两只机械手(主轴侧和刀库侧)都已经抓住刀具,如图9-60所示。

978-7-111-32289-4-Chapter09-63.jpg

图9-60 主轴刀具拉钉松开——PMC程序处理

④步骤四:机械手旋转180°旋转R0540.4(A4)=1。注意此时机械手转动180°时,双手是带刀的,另外由于该机床是凸轮式换刀,机械手在转动180°的时候,大臂也在带刀下降,之后再上升,如图9-61~图9-64所示。

作为机械手旋转180°时的PMC程序,参见图9-65及其说明。

R0540.3为步骤三,是步骤四的准备条件,F0045.7主轴定向、R0539.6主轴刀具松开、R0539.1机床在刀具交换点作为这个过程的触发条件。另外,R0540.3及R0540.1作为第一环节和第二环节完成的条件,制约R0540.4的输出。也就是说如果前两个动作的记忆丢失了(R0540.3及R0540.1断开),步骤四不能够执行,保证了换刀步进的完整性和安全性。

978-7-111-32289-4-Chapter09-64.jpg

图9-61 机械手旋转180°第一个环节——拔刀

978-7-111-32289-4-Chapter09-65.jpg

图9-62 机械手旋转180°第二个环节——旋转180°

978-7-111-32289-4-Chapter09-66.jpg

图9-63 凸轮式换刀机械手结构

1—刀套2—十字轴3—电动机4—圆柱槽凸轮机构(手臂上下)5—杠杆6—锥齿轮7—凸轮滚子(手臂旋转)8—主轴箱9—换刀手臂

978-7-111-32289-4-Chapter09-67.jpg

图9-64 机械手旋转180°第三个环节——装刀

978-7-111-32289-4-Chapter09-68.jpg

图9-65 机械手带刀转180°——PMC程序处理

该步骤中有两个动作:R0543.7机械手旋转180°和主轴吹气清洁。

其中K地址作为机床厂的选项,根据不同的机床型号可以略有不同的处理。或者在安装调试人员调试时,可以临时“短路”或是“断开”,方便灵活调试。

⑤步骤五:主轴刀具夹紧R0540.7(A5)。R0540.6为步骤四的一个动作,是步骤五的准备条件,R0533.3机械手在中间点作为这个过程的触发条件,如图9-66所示。

978-7-111-32289-4-Chapter09-69.jpg

图9-66 步骤五——主轴拉钉拉紧PMC程序处理

⑥步骤六:机械手60°返回,如图9-67所示。

978-7-111-32289-4-Chapter09-70.jpg

图9-67 步骤六——机械手60°返回

对于R0541.0(A6),R0540.7为步骤五,是步骤六的准备条件,R0539.5主轴刀具夹紧作为这个过程的触发条件,如图9-68所示。

⑦步骤七:刀套抬起R0541.1(A7)=1,如图9-69所示。

978-7-111-32289-4-Chapter09-71.jpg

图9-68 机械手60°返回——PMC程序处理

978-7-111-32289-4-Chapter09-72.jpg

图9-69 步骤七——刀套抬起

R0541.0=1为步骤六完成,是步骤七的准备条件,R0533.7机械手到达返回点作为这个过程的触发条件。换刀完成R0542.0作为步骤七的复位条件,如图9-70所示。

978-7-111-32289-4-Chapter09-73.jpg

图9-70 刀套抬起——PMC程序处理

⑧换刀执行的处理:按照各步骤执行的触发条件及动作分析一览表,结合控制部件的特点,编写各动作的控制。

主轴刀具夹紧:步骤五R0540.7执行主轴刀具夹紧动作,作为启动条件;步骤三R0540.3执行刀具松开动作,停止主轴刀具夹紧,如图9-71所示。

978-7-111-32289-4-Chapter09-74.jpg

图9-71 主轴夹紧

主轴刀具松开:步骤三R0540.3执行主轴刀具松开动作,作为启动条件;步骤五R0540.7执行刀具夹紧动作,停止主轴刀具松开,如图9-72所示。

978-7-111-32289-4-Chapter09-75.jpg

图9-72 主轴松开

主轴清洁吹气,如图9-73所示。

978-7-111-32289-4-Chapter09-76.jpg

图9-73 主轴清洁吹气

刀库刀套落下:步骤一R0540.0执行刀套落下动作,作为启动条件;步骤七R0541.1执行刀套抬起动作,停止刀套落下动作,如图9-74所示。

978-7-111-32289-4-Chapter09-77.jpg

图9-74 刀套落下

刀套抬起:步骤七R0541.1执行刀套落下动作,作为启动条件;步骤一R0540.0执行刀套落下动作,停止刀套抬起动作,如图9-75所示。

978-7-111-32289-4-Chapter09-78.jpg

图9-75 刀套抬起

盘式刀库各功能部件的时序如图9-76所示,供读者参考。

978-7-111-32289-4-Chapter09-79.jpg

图9-76 盘式刀库各功能部件时序图

5.刀具数据交换处理

当刀具按照3.中的方法转到换刀准备位置时(也称当前位置),机械手将进行换刀处理,当机械手180°旋转换完刀具时,主轴刀具号与刀套的刀具号进行了交换,那么PMC程序也要同时完成刀具号的置换——将原来主轴上的刀号送到刀库当前位的刀套号中,同时将原来刀库当前位中的刀具号送到主轴刀具号中,完成这一过程的PMC操作就是修改刀具表。使用FANUC PMC专用程序块——XMOVB(二进制代码变址修改数据传送)可以方便的完成这一过程。刀具号置换如图9-77所示。

D0112为刀库容量,D0000为数据表初始地址存放主轴刀具,D0100为刀库当前刀套号。R0693存放当前刀套内的刀具号。

PMC程序操作过程如图9-77右侧图所示,具体说明如下:

1)步骤一:D0100→R0693;

978-7-111-32289-4-Chapter09-80.jpg

图9-77 刀具号置换

2)步骤二:D0000→D0100;

3)步骤三:R0693→D0000。

第一步:将原刀库侧当前位置刀具号(要换的刀具号)读出数据表D0100中数据,并送到中间寄存器R0693中,如图9-78所示。

978-7-111-32289-4-Chapter09-81.jpg

图9-78 读出D0100中的数据并送到R0693寄存器中

第二步:将原主轴中的刀具号(数据表D0000中的数据)写入到数据表D0100(当前刀具号)中,注意完成这一步骤后,原D0100中的数据将被刷新,被原主轴刀具号代替,如图9-79所示。

978-7-111-32289-4-Chapter09-82.jpg

图9-79 D0000中的数据写入到D0100数据表中

第三步:将中间寄存器R0693中的刀具号(原刀库当前位置中的数据)传送到D0000主轴刀具号寄存器中,如图9-80所示。

978-7-111-32289-4-Chapter09-83.jpg

图9-80 R0693中的数据传送到D0000数据表中

第一步~第三步完成了刀具表的数据置换。

本节难点是XMOVB程序块的使用,请参考3.2.36节SUB 35二进制代码变址修改数据传送XMOVB内容,这里需要说明图9-78和图9-79中的R0500.0逻辑1控制XMOVB参数RW,当R0500.0为非信号时(见图9-78),表明此时读出数据,即从D0100中读出数据并传送到R0693中。而图9-79中的R0500.0为A类信号,表明此时写入数据,即将D0000中的数据写入到D0100中。

最后一步没有必要使用SUB 35 XMOVB变址传送,可以直接使用逻辑与后数据传送指令SUB8 MOVE即可。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈