828D中的Stopre指令怎么用?能给我解释一下执行顺序么?

同标题 

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午3:43
下一篇 2021年7月5日 下午3:43

相关推荐

发表回复

登录后才能评论