摘要:断刀检测功能主要用于加工过程中一些小刀容易出现断刀,不能及时发现导致产品不合格,为了避免出现此类情况,增加断刀检测功能,在每把刀加工完后进行检测,如果没有断刀继续加工,检测出如果出现断刀系统报警停止加工。
一、用M代码进行断刀检测:
1.硬件配置
只需要一个简易的开关就行,做好防水处理,现场实体如图(1-1-1)
图1-1-1
2.接线方式 开关有两条线,一端接系统IO的X1.7,另为一端接0V.
3.系统调试 —在PLC子程序里添加如图(1-3-1)如图(1-3-2)
注:报警方式是报警后保持,复位消除,将报警文档G3013.10备注《有刀具破损》
图1-3-2
4.客户加工程序如下:
M6T— (需要检测刀具号)
G0G90G54.1P33X0Y0 (快速定位到断刀检测仪上方)
G43H—Z30 (调用检测刀具的刀补值)
M19 (主轴定向)
G0Z15 (Z轴定位到安全高度)
G1Z-0.05F1500 (Z轴慢速触碰断刀检测仪。
注:出现又是没有断刀报警,可以将此处Z值加大到-0.1)
M89 (进行断刀检测。
注:如果没有断刀程序继续运行,如果断刀Z轴停在断刀检测上方,系统报警)
G91G28Z0 (Z轴回到零点)
G40G49
注:1.前需要坐标设定G54P33中X,Y值为刀尖在断刀仪正上方的机床的机械值,Z值为断刀仪触点位置与夹具的落差值,
2.确定断刀仪的触点位置:系统选测手摇模式,用手摇慢慢去压断刀仪,系统出现报警的位置为触点位置。
5.优点与缺点
5.1优点:检测速度快,安装调试简单,设备价格便宜。
5.2 缺点: 检测精度底,故障率高设备容易进水短路,触电不灵敏易出现误报警。
一、用宏程序进行断刀检测
1.硬件配置
用市场常见的对刀仪即可,实物如图(2-1-1)
2.接线方式 一组触电开关,一端接系统IO的X2.6,另为一端接0V.另一组行程保护开关,一端接系统IO的X2.5,另为一端接0V.
3.系统调试 —在PLC子程序里添加如图(2-3-1)如图(2-3-2)
图2-3-1
图2-3-1

4.优点与缺点
4.1优点:编程方式灵活,故障率底,加工程序条用方便
4.2 缺点: 编程采用宏语句需要专业人士编程,仪器加工高
5.加工前坐标设定
#650 对刀仪X向中心位置
#651 对刀仪Y向中心位置
#652 对刀仪绝对安全高度(加上最长刀时 仍高于对刀仪表面)
#680=57.04 断刀检测仪有夹具表面的落差值
注:使用时在相应的位置调用O9502即可
6.加工程序为O9502
%
(O9502) ;刀具断刀检测
#680=57.04;断刀检测仪有夹具表面的落差值
IF[#7EQ14]
#648=300
ENDIF
IF[#7NE14]
#648=900
ENDIF
;#0 字母A 所测刀是否为标准刀
;#1 字母B 是否为检测刀具磨损
;#5 第一次下刀速度
;#7 需要测量刀的刀号
;#30 Z轴快速接近位置(工件坐标系下)
;#31 Z轴测量移动终点位置(工件坐标系下)
;#32 Z轴碰触位置
;#48
;#650 对刀仪X向中心位置
;#651 对刀仪Y向中心位置
;#652 对刀仪绝对安全高度(加上最长刀时 仍高于对刀仪表面)
;#653 断刀检测最大允许值
;#654 标刀刀号
;#660 标刀刀长–相对对刀仪表面
;#661-#681 1-21号刀长–相对对刀仪表面
G10L53P102007R28 ;获取Z轴负限位极限坐标
G11
#7 = FIX[#7] ;刀号转为整型值
#670=#[69806+#7*200] ; 记录当前刀具长度值
#671=#[69829+#7*200] ;记录当前刀具磨损值
#38 =FIX[69806+#7*200] ;目标刀号的刀具长度补偿值地址
#39 =FIX[69829+#7*200] ;目标刀号的刀具长度磨损值地址
;#40 = 5000 ;快速移动速度
;#41 = 500 ;第一次测量速度
;#42 = 100 ;第二次测量速度
#43 = 1 ;回退距离
#44 = 3 ;测量已知刀长刀具时的避开距离
;#653=2
IF [AR[#0] NE 0] AND [AR[#1] NE 0] ;AB不能同时生效
G110 P-8070
ENDIF
IF [#650 EQ 0] OR [#651 EQ 0] OR [#652 EQ 0] ;对刀仪位置参数未设置
G110 P-8071
ENDIF
IF [#647 EQ 0]
#40= 5000
ELSE
IF[#647 GT 8000]
G110 P-8058
ELSE
#40=#647
ENDIF
ENDIF
IF [#648 EQ 0]
#41= 500
ELSE
IF[#648 GT 2500]
G110 P-8058
ELSE
#41=#648
ENDIF
ENDIF
IF [#649 EQ 0]
#42= 100
ELSE
IF[#649 GT 150]
G110 P-8058
ELSE
#42=#649
ENDIF
ENDIF
G91G28Z0 ;Z轴回零
M6T#7
;换刀至目的刀号
G04P20
;IF [#7 NE #170003] ;当前刀号不等于目的刀号
; G110 P-8072
;ENDIF
IF [AR[#1] EQ 0] ;是否已知刀具长度
#[#38] = 0. ;第一次测量前刀补值清0
#[#39] = 0.
#30 = #652-#1032-#1382 ;绝对安全高度转化为当前工件坐标系下的值
#31 = #28-#1032-#1382+6 ;Z轴负向限位在当前工件坐标系下的值
ELSE
#48=#[660+#7]
#46=#[#38]
#49=#[#39]
#47=ABS[#46+#49+#660-#48]
IF [#47 GT 0.01]
G110 P-8076 ;已知刀具长度未经检测发生变化
ENDIF
#30 = #48-#1032-#1382+#44 ;已知刀具长度
#31 = #48-#1032-#1382-#44
IF [#7 EQ #654]
G110 P-8073 ;不允许更改标刀刀长
ENDIF
ENDIF
M63 ;开启吹气
G53G90G0X[#650]Y[#651] ;快速定位XY轴至对刀仪中心位置
G08
G90G1G31L4Z[#30]F[#40] ;快速移动至安全高度
M90
IF #1190 & 32
G110 P-8052 ;碰撞到非预期的障碍物
ENDIF
G08
G90G01G31L4Z[#31]F[#41] ;定位测量移动
G08
M90
IF #1190 & 32
G53G90G01Z[#1362+#43] ;从碰触位置回退
ELSE
G110 P-8055 ;未能检测到对刀仪
ENDIF
G08
G90G01G31L4Z[#31]F[#42] ;慢速精准测量移动
G08
M90
IF #1190 & 32
#32 = #1362
G53G90G01Z[#1362+#43] ;从碰触位置回退
ELSE
G110 P-8055
ENDIF
IF [AR[#1] NE 0] ;所测刀具为已知长度刀具
#33 = #32 – #[660+#7] ;刀具长度变化值
IF [ABS[#33] GT #653]
G110 P-8074 ;刀具长度变化超出公差范围,已破损
ENDIF
#[#39] = #33+#[#39]
#[660+#7]=#32
ELSE
IF [AR[#0] NE 0] ;所测刀为标刀
#660 = #32 ;标刀相对于对刀仪表面的长度
#654 = #7 ;记录标刀刀号
#[#38] = 0.
ELSE
#[660+#7] = #32 ;所测刀具相对于对刀仪表面的长度
#[#38] = #32 – #660
#[#39]=0.
ENDIF
ENDIF
G91G28Z0
#681=#[69806+#7*200]
#672=#681+#680
#673=#[69829+#7*200]
#674=ABS[#670+#671]
#675=ABS[#672+#673]
#676=ABS[#674-#675]
#[69806+#7*200]=#670
#[69829+#7*200]=#671
IF[#676 GT0.06]
G110 P-8074
ENDIF
M83 ;关闭吹气
G91G28Z0
M99
本文转载来自【公众号:菱克助手】,仅供大家学习交流,如侵权请联系站长删文。