关于SCL中比较指令的问题

在SCL中写   IF db1.dbb3=16#8 THEN 就可以通过编译,但是如果写  IF db1.dbb3<16#8 THEN 就提示编译错误Invalid types of addresses ,请问是为什么呢?我想用>或<做逻辑该这么写呢?

问题补充:
不是符号的问题,我将db1.dbb3 MOVE 到其他DB块的DINT中再比较就可以通过编译了,请教下为什么呢?

最佳答案

在IF语句中有数据类型是BYTE、WORD、DWORD的变量进行比较时,只能使用=或<>,其他比较指令不能使用。如果一定要使用其他指令,先把数据类型转为INT。
加个INT型的中间变量,把db1.dbb3的值传送到中间变量后再比较。

提问者对于答案的评价:
谢谢!了解了!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 下午1:32
下一篇 2018年12月1日

相关推荐