ID=60是什么意思,有什么作用,能不能简单举例一下,假如没有这个指令,结果有什么不同
最好能通俗解释一下, 不胜感激。。。
ID=60 WHENEVER($AA_S[1]<5000) DO $AC_OVR=0 FA[X]=0 FA[Y]=0 SET AL(66999,"SPINDLE ROTATION STOP")
最佳答案
ID是NC程序中的同步指令,后面的编号范围为N=1-255,总共有255个可以使用,该指令是对应于实实性较高的场合使用,比如自动模式下只要一次扫描过该程序段,那么该程序段会一直在后台运行,直到退出自动模式。
以你的程序段为例,当该程序被扫描后会一直在后台运行,如果满足WHENEVER($AA_S[1]<5000)条件,那么无论当前在执行那一段程序都会触发 $AC_OVR=0 FA[X]=0 FA[Y]=0 SET AL(66999,"SPINDLE ROTATION STOP") 主轴旋转停止66999报警。
如果前面不加ID=60,那么这个报警只有在执行到该程序时才能触发报警,其他时候起不到报警停止作用。
ID=60(同步动作60号) WHENEVER(判断语句只要条件满足就触发DO里面的动作)($AA_S[1]<5000) DO(DO等于动作指令相当于plc输出) $AC_OVR=0 FA[X]=0 FA[Y]=0 SET AL(66999,"SPINDLE ROTATION STOP") (SET AL触发6开始的NC程序报警指令)
希望能帮助到你
提问者对于答案的评价:
谢谢你的回答,基本解决了我的疑问。
我想再追问一下,若我在一个程序段中采用了ID=60 WHENEVER($AA_S[1]<5000) DO $AC_OVR=0 FA[X]=0 FA[Y]=0 SET AL(66999,"SPINDLE ROTATION STOP"),
在整个automotion 中有效,怎么让他失效呢?
还有ID=1 ID=2。。。。ID=60 效果都是一样的吗? 怎么取消呢?
最佳答案作者回复:
一样的。指令CANCEL(60)可以取消ID=60同步动作
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc299199.html