pg7499
级别: 探索解密
精华主题: 0
发帖数量: 59 个
工控威望: 114 点
下载积分: 828 分
在线时间: 15(小时)
注册时间: 2022-11-03
最后登录: 2022-12-23
查看pg7499的 主题 / 回贴
楼主  发表于: 2022-11-16 10:39
IF (M1=1 OR Y1=1 AND M3=1 AND Y2=0) THEN
    Y1:=1;
END_IF;
IF (m2=1 OR Y2=1 AND m3=1 and y1=0) THEN
    Y2:=1;
END_IF;

为什么M1为true ,M3为false Y1会为true

这个要怎么解决
松下全系产品
电话:15565565172
微信:pg990601
pg7499
级别: 探索解密
精华主题: 0
发帖数量: 59 个
工控威望: 114 点
下载积分: 828 分
在线时间: 15(小时)
注册时间: 2022-11-03
最后登录: 2022-12-23
查看pg7499的 主题 / 回贴
1楼  发表于: 2022-11-16 10:40
图片:
测试是这样
松下全系产品
电话:15565565172
微信:pg990601
pg7499
级别: 探索解密
精华主题: 0
发帖数量: 59 个
工控威望: 114 点
下载积分: 828 分
在线时间: 15(小时)
注册时间: 2022-11-03
最后登录: 2022-12-23
查看pg7499的 主题 / 回贴
2楼  发表于: 2022-11-16 11:15
引用
引用第6楼hansir于2022-11-16 11:10发表的  :
AND的优先级高于OR,程序中是先执行AND,后执行OR,相当于
IF M1=1 OR (Y1=1 AND M3=1 AND Y2=0)THEN
    Y1:=1;
END_IF;
另外你的括号等于没加,IF判断条件整体不需要加括号
.......


明白了,感谢感谢
松下全系产品
电话:15565565172
微信:pg990601