位操作对PLC 来说是一个比较方便的操作,而且可以对应到输出的点位,也有各种逻辑或者顺序操作等,但是有时候会需要把一个word 或者 dword 进行赋值或者拆分,赋值或者拆分后的顺序是有规律的,但是不太好记忆,所以整理了一下,下面以移动12345678 为例;
第一种,最常用的是move 指令,下面两种写法结果是一样的,下面是总结的规律。

也就是从12345678,(0001,0010, 0011,0100, 0101,0110, 0111,1000)
正着看就是 21436587(0100,1000, 0010,1100, 0110,1010 ,0001,1110)
位(8 7 6 5 4 3 2 1,16 15 14 13 12 11 10 9, 24 23 22 21 20 19 18 17,32 31 30 29 28 27 26 25)
也就是说从下面看是78563412.
第二种是用scatter 这种指令或者用%按位存取,这会和前面得到的结果不一致的,具体如下。


也就是从12345678,(0001,0010,0011,0100,0101,0110,0111,1000)
正着看就是 87654321(0001,1110,0110,1010,0010,1100,0100,1000)
位(32 31 30 29 28 27 26 25,24,23…)
也就是说从下面看是78563412.
推荐用这种,因为规律好找。基本符合高位在前,低位在后,顺序排列。但是一些老程序的话,第一种用的比较多。
