西门子网线电缆代理商西门子电缆6XV1840-2AH10代理商
西门子网线电缆代理商
西门子模块6ES7512-1DM03-0AB0
西门子模块6ES7510-1SK03-0AB0
西门子模块6ES7512-1SM03-0AB0
西门子模块6ES7511-1FL03-0AB0
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的值传送到中间变量后再比较。
西门子电缆6XV1840-2AH10代理商6XV1840-2AH10代理6XV1840-2AH10代理6XV1840-2AH10代理6XV1840-2AH10代理6XV1840-2AH10代理西门子网线电缆代理商西门子网线电缆代理商西门子网线电缆代理商西门子网线电缆代理商