同标题
G00 G90 X1=-45. X2=-5.;
Y1=-150. Y2=-110.
N100 G01 G91 Y1=-2 F500.;G91 增量
N200 G01 G91 Y2=-2 F500.;G91 增量
R1=$A_DBR[0]; ;A_DBR[0] DB4900.DBD0
R2=$A_DBR[4];
STOPRE ;
IF R1<0.5 GOTO N100;
IF R2<0.5 GOTO N200;
G00 G91 Y1=R1+6. Y2=R2+7.5
M60; ;关门
M62M64 ;吹气
这是部分NC程序,我想问一个问题
STOPRE这个语句执行以后,是否是从它所在的位置到文件末尾,都不进行预读?
最后能不能解释这个指令的手册,给我个联接。还有就是这个预读功能是啥?
钻石用户推荐最佳答案
预读的行数是可以设定的,预读从字面就可以理解,预先读取,NC预先读取还没有执行的行,但是预读会影响一些赋值,
比如:
R1=$A_DBR[0]; ;A_DBR[0] DB4900.DBD0
R2=$A_DBR[4];
STOPRE ;
IF R1<0.5 GOTO N100;
IF R2<0.5 GOTO N200;
R1=100
R2=100;
如果再IF之前没有STOPRE,而程序预读到了R2-100这里,当执行IF时,R1=R2-100,而不是上面的R1=$A_DBR[0]这个数值了,这个数值被预读覆盖了,导致判断错误。
而STOPRE预读停止,就不会读取下面的数值,当程序执行完R2=$A_DBR[4]这句以后,再次开始预读。
提问者对于答案的评价:
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc369617.html