西门子DWord 中的位存储顺序

已锁定

1Shadow1

  • 帖子

    155
  • 精华

    6
  • 被关注

    72

论坛等级:侠士

注册时间:2013-12-11

钻石 钻石 如何晋级?

西门子DWord 中的位存储顺序

3313

4

2023-07-14 17:12:37

位操作对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.

 

推荐用这种,因为规律好找。基本符合高位在前,低位在后,顺序排列。但是一些老程序的话,第一种用的比较多。




西门子DWord 中的位存储顺序 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有10587条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。