在FANUC系统上M代码使用的比较多,不同功能的M代码设计和使用方法不同,以下是常见的几种M代码的使用方法介绍。
1 控制外围辅助动作的M代码,比如冷却、换刀、主轴正转、定向、刚性攻丝等。 这种M代码每台机床都会有,是通过PMC功能实现的,在梯形图汇中一般是通过译码指 令—按照一定逻辑控制输出—执行动作—M代码结束,M代码执行的时序如下:
在M代码执行的过程中,涉及到的信号如下有F7.0 F10 F1.3 G4.3 先说下NC系统编程的M代码怎么和PMC关联起来,以下只是个人的理解,仅供参考。 以冷却控制为例说明: 编程为M08,当系统读入到M08这种格式的指令的时候,系统是分别译码的,其中M格式会输出F7.0,08数字会寄存在特殊寄存器F10的四个字节中,如果梯形图中不处理的话,会出现在读到这条指令的时候一直在循环启动中,循环启动指示灯一直点亮,下面说下梯形图处理的部分。PMC会根据F7.0的信号进行译码,使用译码指令,对应的梯形图如下:
译码格式具体的使用方法可以参见PMC编程手册,使用译码指令的主要作用就是将每一个M代码与中间一个变量进行对应,比如上面的一条指令就是将M08-M15与R421.0-R421.7进行一一对应,对应关系如下:
M08 | M09 | M10 | M11 |
R421.0 | R421.1 | R421.2 | R421.3 |
M12 | M13 | M14 | M15 |
R421.4 | R421.5 | R421.6 | R421.7 |
对于这条指令的使用可能有的人会有如下疑问: R421是怎么规定的,有特殊说明么? 不同厂家定义不同,可以自己任意定义,只要和使用的地址不冲突即可。 有的人可能对如下这个地址表不理解,为什么这个表格只有M31,那我编程的时候怎么会有M32以上的M代码呢?
首先说下上个表格中的M00-M31只是个符号,和实际编程的M代码是两回事,按照这个表格中可以编写的最大的M代码为2的32次方减1 这么大即可以实现M(232-1),这个时候M00-M31的32个符号位全为1,这个只是理论上,但是实际上M代码的位数是受参数3030控制的,即最大只能是8位,也即最大是M99999999。
好了,这个只是扩展部分,那将M08(R421.0)译码出来后就可以用这个信号来处理冷却电机的输出了。
然后当冷却电机启动后,PMC就要通知系统冷却电机已经启动,可以执行下条指令,这个是通过辅助M代码完成信号G4.3来处理的,只需要在梯形图中增加如下一条指令即可。
可能以上写的很简单,只是程序的一个框架,实际机床的程序串入的信号比较多,比如复位冷却要停,急停冷却要停、M02 M30 冷却要停,液位低冷却要停,等等,但是大的框架离不开上面说的步骤,你理解了么? 2 利用M代码调用子程序。 这个常用的是加工中心中,利用M06进行换刀,这类的M代码是调用宏程序的M代码,值执行这类M代码的时候NC程序是不进行译码的,是通过在NC设定参数来实现的,相关的参数如下: P6080 设置为6 在O9001中编写换刀的宏程序即可,其中在O9001的宏程序中还可以编写M06,此时的M06的是普通的M代码,是需要进行译码的。
6071 | 6072 | 6073 | 6074 | 6075 | 6076 | 6077 | 6078 | 6079 |
O9001 | O9002 | O9003 | O9004 | O9005 | O9006 | O9007 | O9008 | O9009 |
3 利用M代码进行宏程序的调用 此类M代码使用方法和2相似,对应的调用关系如下:
6080 | 6081 | 6082 | 6083 | 6084 | 6085 | 6086 | 6087 | 6088 | 6089 |
O9020 | O9021 | O9022 | O9023 | O9024 | O9025 | O9026 | O9027 | O9028 | O9029 |
此处宏程序的调用格式同G65格式调用,具体方法可以参考宏程序相关说明书。
4 利用M代码调用用户宏程序(具体可 以参考功能手册说明)
5、缓冲类型的M代码。
参数3411-3420设定M代码数值,比如设定70,可以机型系统预读。
暂无评论内容