IF 语句的用法

G53
G0X0
N10 R1=0 R2=0
N20 MA1:G00G91 X10
N40 R1=R1+1  R2=R2+1
N50 IF  R1<5  GOTOB MA1
M30

这个程序X可以走到X50。

但是如果程序变成

G53
G0X0
N10 R1=0 R2=0
N20 MA1:G00G91 X10
N40 R1=R1+1  R2=R2+1
N50 IF  R1<5 AND R2<4   GOTOB MA1
M30

X轴无限往下走。

目前想实现IF 后面条件是两个条件,and或者OR的关系。有没有遇到过的?

版主推荐答案

 就是运算优先级的问题,可以在编程手册上搜一下。你所理解然后交个程序处理时产生错位。

如果没有加括号结果是这样运算的(R1<(5 AND R2))<4,每次判断之前你可以用一个变量来保存这个结果以便于查看,可以发现都是1

西门子NC运算优先级.JPG

各个系统厂家优先级可能都不一样。一些系统像你之前那样编也可以得到正确的结果。括号一般具有最高优先级,当不确定时就加个括号吧

查看完整帖子:
http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1481119&bid=20

提问者对于答案的评价:

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc303966.html

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日 下午3:20
下一篇 2020年10月31日

相关推荐