在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