大家好,床子里有个M55的指令,用来打开释放空气的阀门。
我看了下PLC程序(如图),有点困惑的是:
DB22。DBX200.7 和DB122.DBX7.6 都注释成了M55。
我们做了个试验,如果输入在机床上运行M55的话,
DB22。DBX200.5 会瞬间ON一下;
但DB122。DBX7.6 是ON还是OFF,取决于 I73.4 (主轴里有没有气压)。
所以想问一下,M55的指令是只执行一个脉冲,还是执行到状态完成?
比如说:
N2340 WHEN TRUE DO H3=200 M55 ;
N2350 G4 F0.5
是DB22。DBX200.7 从on 变成 off (即一个脉冲)后,就会执行 N2350;
还是说要等 DB122。DBX7.6从on 变成 off (释放完空气)后,再执行 N2350?
谢谢。
图片说明:
最佳答案
1:M指令都是动态指令,即NC程序扫描到该M55指令时,对应的PLC位DBX200.5 执行一次
就是你说的瞬间ON一下,可以理解为一个脉冲信号
2:就你列举的例子
N2340 WHEN TRUE DO H3=200 M55 ;
N2350 G4 F0.5
如果PLC程序没有对DB122.DBX7.6进行处理的话,M55执行之后是会直接执行下一步的
你可以看一看你的PLC程序DB122.DBX7.6 应该是关联到DB22.DBX6.1这个位上了的,
DB22.DBX6.1是通道的read-indisable,当这个位为1时,NC程序是不会往下执行!
NC程序M代码与PLC之间是靠这个位来确认动作有没有执行完成!
提问者对于答案的评价:
谢谢。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc180258.html