M代码的产生与执行问题

分享到:
443
下一篇 >

菜鸟提问:

各位大侠好,今天突然想起一个问题,想请教一下各位大侠,谢谢!

840D 中执行的M代码:

1.在NC编程时常用的M代码是如何产生的?(例如为什么输入M03就会正转?)

2.如果要需要实现的辅助动作比较多,需要扩展M代码(比如M300、M600等等。),该如何实现?

3.M代码执行的过程是NC输出??信号给PLC,PLC输出Q信号给气缸等执行器,完成工作。当动作执行完以后,检测执行器位置的传感器信号反馈给PLC,此时,这个信号直接给PLC以后,还用不用给NC,如果给,是怎么实现的?

斑竹:

M代码通过NC输出信号给PLC,剩下的就看PLC怎么编。

这个M代码是系统自动生成的,至于具体M代码的作用是用户自定义的。其中,机床还有T/F/H等功能代码。

常用的M代码,M0 ~ M99所对应的PLC地址DB21~30.DBB194 ~ DBB206(动态)

机床代码包含M都是NC向PLC发送指令的,执行是由PLC输出具体操作位,字。

使用动态代码不需要反馈给NC,使用静态代码不需要反馈

1. M辅助功能*大数量是配置数控系统时定义的,其中M00~M99是所谓动态辅助功能代码,即在OB1完成**时钟周期后自动应答(Acknowledge);

2. 一些M辅助功能的含义是系统默认的,例如: M0, M1, M2, M17, M30 M3, M4, M5, M6, M19, M70, M40, M41, M42, M43, M44, M45.等等不允许改变;

3. 所有动态辅助功能在PLC中相应通道数据块中都有相应的位,而静态辅助功能要通过PLC程序进行解码、以便PLC根据辅助功能的位进行相应控制;

4. 所有辅助功能都可以有扩展地址,扩展辅助功能要在PLC中通过PLC程序进行解码并读取参数值(扩展地址),以便PLC根据M功能的位和参数值进行相应控制。

菜鸟:

非常感谢斑竹的解疑,有点明白了。是否可以这理解:1.部分M代码定义在NC系统中,输入相关代码后NC系统会进行识别并输出给PLC,在PLC中这个代码也是预先定义的,比如外部控制水泵、气缸、阀门的电磁阀必须与PLC中的地址对应,当有信号使能时电磁阀动作。2.部分M代码虽然定义在NC中,但并不与PLC通信,比如M03主轴正反转,它直接由NC给了驱动,不知道这样理解是否正确?

斑竹:

没有问题,完全正确。

菜鸟:

还有个问题,希望斑竹解疑:在NC程序中编写M03后,主轴就正转,这个过程又是怎么样进行的?

斑竹:

西门子系统非常强大,诸如M3/M4这种全世界通用代码,只要预定义辅助功能配置好后,数控系统可以直接用M3/M4控制主轴正转/反转,当然,也可以用PLC来控制,就像其它轴可以用PLC控制一样,例如:假如DB45是SP轴控制数据块,PLC通过DB45.DBX4.7/DB45.DBX4.6给系统发出正转/反转指令,同样当主轴正转/反转后,PLC可以通过DB45.DBX64.7/DB45.DBX64.6从数控系统得到主轴是否正转/反转的反馈信息。


你可能感兴趣: 工控菜鸟园 数控系统 SINUMERIK 电磁阀 执行器
无觅相关文章插件,快速提升流量