恭喜,你发布的帖子
发布于 2016-05-06 12:46:08
27楼
db1.dbw20=(MB1 AND 16#0F)+(MB2 AND 16#0F)*16+(MB3 AND 16#0F)*256+(MB3 AND 16#0F)*4096
用数学方法代替了部分逻辑指令,其实做的事是一样的
4个字节分别AND 16#0F,就是高4位清零
*16 相当于SLW4 SHL(IN:="Tag_5", N:=4)
*256 相当于SLW8 SHL(IN:="Tag_8", N:=8)
*4096 相当于SLW12 SHL(IN :="Tag_9" ,N:=12)
然后都加起来,就相当于把4个字节OR
用SCL一行就实现了,好方法
db1.dbw20 := (MB1 AND 16#0F)+(MB2 AND 16#0F)*16+(MB3 AND 16#0F)*256+(MB3 AND 16#0F)*4096
请填写推广理由:
分享
只看
楼主