菜鸟对NC程序的执行顺序一头雾水。下列程序请大家帮忙解释一下:
N10 G01 G90 X=R10 F=R50
N20 WHEN $A_IN[1]==1 DO DELDTG
N30 G01 G90 Z=R30 F=R50
N40 R1=R10+20 R2=R30+10
N50 G01 G90 X=R1 Z=R2 F=R50
N60 IF $A_IN[2]==1 GOTOF N200
N70 G01 G90 X=1000 Z=2000 F=200
N200 G01 G90 X=0 Z=0 F=200
问题1:N20 WHEN $A_IN[1]==1 DO DELDTG 在什么时间点对$A_IN[1]==1进行判断。是在N10之执行期间,还是在N30执行期间,还是在N10完成后?
问题2:N40 R1=R10+20 R2=R30+10
的执行时间是在N30执行期间还是在N30执行完成后?
问题3:N60 IF $A_IN[2]==1 GOTOF N200 中对$A_IN[2]==1进行判断的时间点。
自己说的不太专业,不知大家是否明白,还请包涵
最佳答案
问题1:在N30执行期间检测$A_IN[1]==1进行判断;
问题2:在N40前加段STOPRE指令,不然在程序启动时就执行了N40
问题3:在N50执行完后检测$A_IN[2]==1进行判断;另GOTOF后最好不要跟段号,可以改为标记如:GOTOF MA
将下面改为 N200 MA:G01 G90 X0 Z0 F200
提问者对于答案的评价:
very good
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc254421.html