文章:发那科FANUC M代码的处理方法

所有者:信仰(呢称); 发布时间:2017-07-27 06:16:03; 更新时间:2023-05-14 18:50:47

阅读所需积分:0; 

简介:发那科FANUC M代码的处理方法

M代码是系统加工程序中对梯形图信号进行处理的手段,在处理外围动作以及系统功能中涉及到梯形图G信号切换时极为常用。一个M代码如要正常使用需要经过三个方面的处理,分别是:

1)  M代码的译码

2)  M代码的动作处理

3)  M代码的结束信号处理

下面我们就为大家分开介绍各个部分的处理方法。

 

1译码处理部分

 

M代码译码阶段主要起到沟通加工程序中的M代码与梯形图中的中间地址,达到M代码执行,中间地址被使能的目的。使用自定义的M代码首先需要译码。

本次向大家介绍常见的2种译码格式。

 

译码处理方法1


使用SUB 14(DCNV)进行二进制BCD格式转换,然后使用SUB 4(DEC)进行译码。


第一步进行二进制到BCD转化,SUB14 的功能使用方法如上图,除转化后地址(E0000)可以使用任何未被占用地址外,固定不变。


上图例子是对M25进行译码,需要使用到第一步中转化地址(E0000)。当需要译码Mxx时,SUB4(DEC)中参数输入xx11,此时Mxx译码地址就是右端输出地址。


译码处理方法2


使用SUB 25(DECB)进行译码。


此功能模块完成一次性译码多个M代码,译码个数中设定一次性译码n个字节(可以设定1、2、4,1个字节即8个M代码);固定系统M代码输出地址固定不变(第一路径F10,第二路径F1010等);起始M代码号中设定起始的M代码号;译码地址即设定对应的译码地址。

上图中例子:译码个数1个字节——8个M代码,起始地址号为3,即次模块实现了M3~M10的译码,对应的译码地址为R10.0~R10.7。

 

注:以上2种译码方法得到的译码地址在整个M代码执行阶段始终为高电平,当M代码结束后变为低电平。


2M代码动作处理部分

 

代码动作处理部分,完成M代码实际使用功能。利用译码阶段得到的译码地址,处理实际外围地址或者G信号。此阶段需要编写者根据M代码实际使用要求进行逻辑编写。下例中为触发一个Y地址。


此部分的处理与常规的PMC逻辑处理无异,不再具体说明。


3结束信号处理部分

 

当M代码功能执行完毕时,我们需要结束M代码,执行下一条加工程序。M代码结束需要触发信号G4.3(2个扫描周期以上)。

因G4.3信号是M代码、S代码、T代码、B代码通用信号,因此通常编程时使用下述格式进行编程。


当需要结束M代码,导通G4.3,即需要导通R1039.0(此信号为中间地址根据实际编写而定)即可。

另外,如果将M、S、T、B信号的选通和结束信号改为高速信号时,结束代码的处理就不再需要导通G4.3,而是导通相应的MFIN(G5.0)、SFIN(G5.2)、TFIN(G5.3)和BFIN(G5.7)信号。


4M代码处理样例


本次以一个主轴定向的PMC程序作为样例,来说明M代码具体的处理方法:

1)主轴定向使用M19作为触发代码,并进行译码


2)主轴定向的动作处理


3)M19结束代码的处理


注意,如果机床在执行一个代码时停在该程序无法继续执行,且屏幕下方状态栏显示“FIN”,就是M代码没有正常结束,可能的原因一般就是两种,其一是该M代码未译码,其二就是该代码的结束信号未完成,如果遇到这样的问题,请按照上述M代码的处理方式进行排查。