在西门子828D系统上,使用辅助功能M代码时,会发现简明调试手册后的PLC接口变量表(如下图)中,M代码对应的接口信号只到M99,M100后就没有了,是不是只能使用到M99,后面就无法使用了呢?
回答是:NO,NO,NO!(重要的事情说三遍!)
你不仅可以使用M100+的M代码,甚至M666,M1000等等都没有问题。原因是在828D上除了有动态的M代码接口信号(一般为脉冲信号,M99以前都为此信号),还包含静态的M代码接口信号(传送相关字节),接口信号如下图所示。
具体如何使用呢?请看以下示例,PLC部分如下:
上述示例中,分别对送入的静态M功能进行判断,比如网络1中的110,111;网络2中的666,667;网络3中的1000,1001;当M功能等于110时,置位,当M功能等于111时,复位;当M功能等于666时,置位,当M功能等于667时,复位;以此类推
首先,检查信号是否正常,在诊断-NC/PLC变量查看;
此时信号全部是0,在执行如下程序;
执行完毕后,再查看信号的变化;
信号全部置位成1;
注意:当在同一行NC程序中使用两个M代码时(同一行NC程序最多支持5个M代码)怎么办呢?还需要可虑如下接口信号如下表,例如要想第二个M代码生效,要考虑和信号。所以,如果只需要在同一行NC程序中,使用一个M100以上的M代码,可以仿照上述示例。