1,
L DB1.DBW0 // 1.7............0.0 00000000 00000000
A W#16#FF // W#16#FF与上面“00000000 00000000”如何对应, 与高有效字节相与还是低有效字节相与 ,麻烦使用2进制表示一下
2,
下面是W#16#FF00
L DB1.DBW0 // 1.7............0.0 00000000 00000000
A W#16#FF00 // W#16#FF00与上面如何对应, 与高字相与还是低字相与 麻烦使用2进制表示一下
3,
和 W#16#FF00 相与的意义是?
最佳答案
首先你的指令 “A W#16#FF”是错误的,A是逻辑运算指令,W#16#FF是WORD数据类型,不匹配的。
如果作为“字与”指令要写为"AW W#16#FF"。
1、
按照更改后的指令结果应该是这样的
L DB1.DBW0 //假设值为 2#0010 1000 1010 0101
AW W#16#FF //转换2进制为 2#0000 0000 1111 1111 此指令等同于AW W#16#00FF
结果为 2#0000 0000 1010 0101
这个结果不难看出,字与的目的是使值的高8位为0,低8位不变。
2、
下面的指令就不详细说了,和上面的指令相反,使值的低8位为0,高8位不变。
补充一点:由于字格式有2个字节组成,排位的顺序是低字节在前,高字节在后。
就你的DB1.DBW0而言,最高位是DB1.DBX0.7,最低位是DB1.DBX1.0。这点很重要!
提问者对于答案的评价:
好,谢谢
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc228977.html