关于SCL中比较指令的问题
刘玉蓉
发布于2014-11-19 17:28
27
0
标签:
在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的值传送到中间变量后再比较。