timertask到时怎么执行_FANUC篇:M代码是怎么来的?它是如何和PMC协同作战的?

若你我之间有缘,关注作者又何妨?

两情若是久长时,又岂在朝朝暮暮。

大家好!我是江郎,一个勤勤恳恳的#数控#维修工。

有些粉丝问到过:“M代码是怎么来的?它在PMC中是如何运作的”。很多朋友也会有疑惑,在数控机床中的M代码是怎么定义的吗?在PMC中凭什么那个R地址就可以代表这个M代码?

3c2aa8f2-e017-eb11-8da9-e4434bdf6706.png

本期江郎就带各位“机友们”来一窥门径,结合自己的理解来解答一下这个问题。如有不同观点,欢迎大家留言指正。

概述

我们FANUC数控机床上,都会有很多的M代码,它可以控制外围辅助动作。例如:冷却(M08)、换刀(M06)、主轴正反转(M03、M04)、主轴定向(M19)等等,当然也可以控制一些气缸的动作,电磁阀,只是需要在PMC中编写程序。

3e2aa8f2-e017-eb11-8da9-e4434bdf6706.png

由于数控机床应用广泛,经常会根据夹具的实际控制要求来进行PMC程序编写,以达到生产需要的控制。所以,我们编写的PMC程序也经常会用到M代码,例如M87、M88控制治具气缸压爪,M71、M72控制四轴夹紧松开等。

412aa8f2-e017-eb11-8da9-e4434bdf6706.png

机床PMC中的M代码是怎么来的?凭什么这个R地址就是这个M代码

其实,这主要涉及到了PMC编程中的一个功能指令:“DECB译码”。

江郎以“M08”代码为例:

442aa8f2-e017-eb11-8da9-e4434bdf6706.png

截选PMC1中内置程序,当运行M08代码指令时,系统首先会进行译码,其中M格式会输出F7.0,08数字会寄存在特殊寄存器F10的4个字节中,PMC会根据F7.0的信号进行译码指示。

452aa8f2-e017-eb11-8da9-e4434bdf6706.png

如上表中M08对应R130.5,最后通过辅助M代码完成信号G4.3来处理,如果PMC不处理的话,这个指令会一直执行而不结束,你会看到三色灯一直亮绿灯但是就卡在M08上,就是不完成。

厂家在PMC1中编写相关程序,将M08(R130.5)地址给到外部地址(Y5.2)接触器线圈就可以控制冷却水泵电机了。

482aa8f2-e017-eb11-8da9-e4434bdf6706.png

M代码是如何和PMC协同作战的

举一个例子来重点详细说明,如“启动自动加工程式”,信号的执行过程:

  1. 启动自动加工程式,PMC接收到机床操作者的X信号要CNC实现某一操作;
  2. 在梯形图中就把该X信号送到G7.2(ST自动加工程序启动信号);
  3. CNC收到该指令G7.2后,知道是执行自动循环启动程序,即立即执行;
  4. 执行过程中输出F0.5(STL自动循环启动状态),通知PMC,CNC正处于运行加工程序状态;
  5. 如果CNC在执行加工程序时候,发现程序中有M等指令,即将该指令译码后以F信号地址送往PMC,例如:M代码,送到F10-F13;
  6. PMC处理(译码,顺序和互锁)后,经某一Y地址送到电柜,由执行元件(继电器等)执行所需的控制动作;
  7. PMC在执行M、T等指令时必须返回一个完成信号G4.3(FIN辅助指令运行结束);
  8. CNC收到该信号G4.3时,即可读下一段,执行下一个程序段。
4d2aa8f2-e017-eb11-8da9-e4434bdf6706.png

小结

以上的内容需要认真“琢磨”,江郎认为其实信息量很大的,理解后自然就会明白M代码是怎么来的?M代码是如何和PMC协同作战的?

可以简要概括为:M代码→PMC译码指令→按照一定的逻辑输出→执行动作→M代码结束。

522aa8f2-e017-eb11-8da9-e4434bdf6706.png

江郎是一个普通维修工,希望在“修行”的道路上能与你携手而行,互相学习。古人云“三人行必有我师焉”,或许你一直都在找我,而我一直都在等你……

(感谢阅读!喜欢的朋友记得关注、转发、点赞哦!)

——END——

预知更多内容,【关注作者】,且听下回分解!

作者:江郎才尽还复来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值