1. 首页
  2. 技术文章
  3. 其它数控

KND凯恩帝|如何不借助PLC只用宏程序实现直线刀库换刀

凯恩帝数控公众号曾对于如何用宏程序实现雕刻机刀库换刀做过介绍,文章是通过宏程序+系统PLC共同实现刀库换刀,感兴趣的朋友可以点击下方链接阅读学习:

了解宏程序,10分钟玩转雕刻机刀库!

看完凯恩帝数控公众号里面的上述文章后,文章结尾有个疑问就是是否可以用宏来实现刀库换刀。针对提出的问题我们要介绍是更方便的一种实现刀库换刀方便,方便原因是可以不借助PLC仅用宏程序直接实现刀库换刀,对于不会编写梯图人来说很是方便,简介如下:

换刀主程序示例:

 

%
O0001
T1 M6
T2M6
T3 M6
T4 M6
T5 M6
T6 M6
T7 M6
%

变量定义示例:

 

宏变量号 变量注释 宏变量号 变量注释
#900 总刀数 #912 未定义
#901 主轴有无刀 #913 未定义
#902 换刀标志 #914 未定义
#903 Z向抬高值 #915 1号刀X机床坐标
#904 XY速度 #916 1号刀Y机床坐标
#905 Z速度 #917 1号刀Z机床坐标
#906 Y轴出刀和还刀速度 …… 2-21号刀X/Y/Z机床坐标
#907 刀库推出功能 #978 22号刀X机床坐标
#908 换刀预停止位置 #979 22号刀Y机床坐标
#909 换刀完成后的刀号 #980 22号刀Z机床坐标
#910 换刀前Z向安全位置设定
#911 暂停时间设定
    1. 刀调用子程序O9006:

       

程序 注解
%
O9006
#100=1 开始判断#900及以后变量是否赋值 为空报警
N2 IF[[ISNULL[#[899+#100]]]EQ1]GOTO1
#100=#100+1
IF[#100LE[#900*3+15]]GOTO2 结束判断#900及以后变量是否赋值判断
IF[[#4119LT1]OR[#4119GT#900]]GOTO3 指令刀号不合理 跳转N3
IF[[#4119EQ#909]&&[#902EQ1]]GOTO260 首次调试将位置页面显示刀号输入至#909 指令刀号等于目标刀号跳转
G90 G49 G15
M5
M19
#500=#4119 #500读取当前刀号
IF[#901EQ0]GOTO200 主轴无刀,跳转
#902=0 清空换刀标志
G90 G53 G1 Z#913 F#904 换刀前回到安全Z机床坐标位置#913 默认0 位置依据实际可自定义
N61 IF[#907EQ1] GOTO75 刀库有推出功能,跳转至75
IF[[#901EQ0]&&[#902EQ0]]GOTO200
N70 G53 G01 X# [915+3*[#909-1]] Y[#[916+3*[#909-1]]+#908] F#904 计算当前刀还刀XY坐标
N71 IF[#907==0] GOTO 80 如果刀库无推出功能,跳转至80
N75 G53 G01 X# [915+3*[#909-1]] F#904 有推出功能时,X定位
N80 G53 G01 Z# [917+3*[#909-1]] F#905 执行Z轴还刀定位
N81 IF[#907==1] GOTO 86 刀库有推出功能,跳转至86
N85 G53 G01 Y# [916+3*[#909-1]] F#906 刀库无推出功能,Y轴移动到还刀位置
N86 IF[#907EQ0] GOTO 100 刀库无推出功能,跳转至100
N90 #1132=4 梯图中将F14.2作为输出直接触发刀库推出Y
G4 X#911 #911 暂停时间设定 单位秒 默认0.5
N100 #1132=1 松刀 梯图中只需将F14.0作为条件直接触发松刀输出Y即可
G4 X#911 ;
N105 #901=0 主轴无刀置位
N106 G91 G01 Z#903 主轴抬起
GOTO4 ;
N200 #902=0 ;
#1132=1 松刀 梯图中只需将F14.0作为条件直接触发松刀输出Y即可 为主轴抓刀做准备
N4 IF[#907==0] GOTO 2000 刀库无推出功能,跳转至2000
N2001 G90 G01 G53 X# [915+3*[#4119-1]] F#904 X轴移动到取刀位置
N2002 IF[#907==1] GOTO 201 刀库有推出功能,跳转至201
N2000 G90 G01 G53 X# [915+3*[#4119-1]]
 G90 G01 G53Y# [916+3*[#4119-1]] F#904 XY轴移动到取刀位置
N201 G53 G01 Z# [917+3*[#4119-1]] F#905 主轴下落扣刀
N210 #1132=2 拉刀 梯图中将F14.1作为条件直接触发拉刀输出Y
G4 X#911
N215 IF[#907==0] GOTO 230 刀库无推出功能,跳转至230
N220 #1132=8 梯图中将F14.2作为输出直接触发刀库拉回Y
N225 IF[#907==1] GOTO 205 刀库有推出功能,跳转至205
N230 G53 Y[#[916+3*[#4119-1]]+#908] F#906 Y轴移动,将刀具取出
G4 X#911 ;
N205 #909=#4119 #909目标刀号,换刀完成后更新
#901=1 主轴有刀置位
#902=1 换刀完成置位
G90 G53 G1 Z#913 F#904 换刀前回到安全Z机床坐标位置#913 默认0 位置依据实际可自定义
N260 M99 ; 换刀结束
N1 ERR[1,”#900及之后变量未赋值,请按变量下方汉字提示正确赋值”] ; 触发报警
N3 ERR[3,”指令刀具号不合理”] ; 触发报警
N4 ERR[4,”#901赋值错误,首次调试赋值为0,有刀时赋值为1″] ; 触发报警
%

当将程序输入系统,正式换刀前还需要对梯图做简单处理,处理就是切断当刀库没有用时出现的T代码错误报警,以及短接换刀完成标志使得G26.3换刀时候一直为1

 

以上程序均可通过网盘加载直接输入系统就可使用,长按下方链接地址,选择“选择复制”,再点击“打开”即可下载:

https://pan.baidu.com/s/1hUP6MfDbXj0CalKbnPva6A

 
问答社区  发起问答  报警查询  技术文章  维修服务  资料下载  加交流群  申请 VIP   

本文转载来自【公众号:knd1993】,仅供大家学习交流,如侵权请联系站长删文。

发表评论

登录后才能评论

联系我们

在线咨询:点击这里给我发消息

联系微信:QQ594673193

联系邮箱:594673193@qq.com

工作时间:08:00~20:00

QR code