一个陌生换刀宏程序以及PMC程序的解读过程
说明:换刀类型:机械手随机换刀
不同厂家不同人编写的程序是不同的,我们不可能对程序全部理解,但是我们可以利用自己的知识去把握一些关键的信息,对于维修以及遇到问题的解除都是有帮助的,以下是个人关于这个PMC和宏程序的阅读过程,希望学习的人可以看下我解读的步骤和应用到知识,关键是将知识应用起来。
1、换刀宏程序
N1 #1103=0
N2 IF[#1002EQ1]GOTO19
N3 G91 G30 02 Z0
N4 M19
N5 N1100=1
N6 IF[#1000EQ1]GOTO8
N7 GOTO4
N8 M93
N9 M95
N10 M91
N11 M96
N12 M92
N13 M97
N14 #1102=1
N15 M94
N16 #1101=1
N17 IF[#1001EQ1]GOTO 19
N18 GOTO15
N19 #1100=0
N20 #1101=0
N21 #1102=0
N22 #1103=1
G90
N23 M99
因为此换刀是PMC与换刀宏程序结合用的,宏程序有很多M代码,拿到一个陌生的PMC和宏程序,我们要明白程序表达什么意思,需要明白M代码的意思。
根据机械手换刀步骤是 倒刀–第一次扣刀–主轴松刀—第二次扣刀—主轴拉刀–机械手返回原点—回刀
如果使用M代码控制以上动作,需要7个M代码,根据以上信息我们大概可以推测以下信息:
N8 M93 //倒刀
N9 M95 //第一次扣刀
N10 M91 //主轴松刀
N11 M96 //第二次扣刀
N12 M92 // 主轴拉刀
N13 M97 //机械手返回原点
N14 #1102=1
N15 M94 // 回刀
N16 #1101=1
具体是否正确,我们可以结合梯形图的逻辑进行确认即可。
其次我们需要理理解#1001 这样的信号到底起到什么作用? #1101=1 是 干啥用的?这些事PMC中的信号,所以要明白它们什么作用,只能够看PMC程序。不过通过阅读宏程序,此宏程序有一个很大的BUG,就是程序的结尾使用了G90。
更多详细内容,请付费后查阅分享解读知识:
假如换刀前的系统模态是G91,换完刀系统的模态编程G90,这样的话会引起撞刀,如何解决此类问题呢?我们需要在换刀前将G90 G91的模态保存下来,然后在换刀宏程序结束时恢复即可。那么如何通过程序实现呢?
保存G90 G91模态:#3=#4003
恢复模态:G#3
修改宏程序如下:
#3=#4003 // 增加
N1 #1103=0
N2 IF[#1002EQ1]GOTO19
N3 G91 G30 02 Z0
N4 M19
N5 N1100=1
N6 IF[#1000EQ1]GOTO8
N7 GOTO4
N8 M93
N9 M95
N10 M91
N11 M96
N12 M92
N13 M97
N14 #1102=1
N15 M94
N16 #1101=1N17 IF[#1001EQ1]GOTO 19
N18 GOTO15
N19 #1100=0
N20 #1101=0
N21 #1102=0
N22 #1103=1
G90 //修改成G#3
N23 M99
2、PMC程序M代码解读
如果我们对M代码的意义推测是正确的话,我们可以通过这么M代码推测出很多东西,让我们对这个PMC换刀程序部分有更好的理解。
对于如何查看梯形图的M代码可以参考如下文章:如何查看FANUC PMC梯形图中对应的M代码
在梯形图中搜索F10,找到如下梯形图:
通过以上指令,我们得出如下结论:
M90 | R40.0 | M91 | R40.1 |
M92 | R40.2 | M93 | R40.3 |
M94 | R40.4 | M95 | R40.5 |
M96 | R40.6 | M97 | R40.7 |
因为梯形图中没有任何注释,不方便搜索,所以我们先将我们知道的信号注释下:
3、宏变量的解读
简单的说就是G54.0 对应#1000 G54.1对应#1001 #1100 对应F54.0 #1101对应F54.1 以此类推。
(1)#1103对应的PMC信号为F54.2 宏变量用在宏程序的开始和结尾,可以作为换刀宏程序的开始和结尾的标识使用,当然也可以通过2个M代码实现。
IF[#1002EQ1]GOTO19
#1002 对应的信号为G54.2 ,如果该信号为1,跳转换刀结束,所以该信号应该为判断选的刀是否在主轴上,如果在主轴上直接结束。
N5 #1100=1对应F54.0 结合PMC程序 应该为倒刀使能条件。
IF[#1000EQ1]GOTO8 对应G54.0 判断是否选刀到位
N14 #1102=1 对应F54.2 为回刀使能
N15 M94
N16 #1101=1 对应F54.1 为数据交换条件
IF[#1001EQ1]GOTO 19 对应G54.1 判断是否执行数据交换。
N19 #1100=0
N20 #1101=0
N21 #1102=0
N22 #1103=1
信号清零,恢复换到前状态。
4、刀库目前问题
(1)开机刀库计数自动+1,修改刀库计数部分,需要实际测试
(2)执行的刀在主轴上时,第一次跳过,第二次又交换一次。需要检查G54.2的信号状态,在出现换刀的时候监控该信号是否变为1了?或者在判断语句前增加G31测试下。
G31
N2 IF[#1002EQ1]GOTO19
(3)执行M70刷刀表:
此部分需要另外增加PMC程序,需要刀库有原点信号开关,如果没有,需要手动移动到1号到位执行刷刀表程序。
修改后的程序如下:1556723029-8
共享屋个人能力提升群:
序号 | 群名称 |
---|---|
1 | 快速掌握数控技术 – 数控学习网站简介 |
2 | 秒懂FANUC PMC入门基础课程介绍 |
3 | 咨询报名参加学习PMC课程必看 |
暂无评论内容