华南Siemens(授权)一级经销商---广东省惠州市西门子(授权)总代理

   2024-07-18 200

在S7-1200中创建优化的DB1,并创建3个变量:data,A,B,如图1:

图片

图1.优化访问的DB块变量

在OB1中,位地址“数据块_1”.A和“数据块_1”.B分别串联了片段访问的“数据块_1”.data.%X0和“数据块_1”.data.%X10,并且将“数据块_1”.data传送到MD0中,如图2:

图片

图2. 应用片段访问置位DWord变量的相关bit位

当在S7-1200中修改“数据块_1”.A和“数据块_1”.B为true时,如果按bit位的顺序进行排列,也许你会认为M区中对应的是M0.0和M1.2将被设置为true?

图片

那么结果是不是这样的呢?请继续往下看。

首先,看一下优化数据块中,是如何将存储区(例如Byte,Word或DWord)划分为更小的存储区(例如bit),这种划分方式也称为存储器分片,使用片段访问可方便地对操作数按位、字节、字进行访问。
如图3:

图片

图3.bit位在优化访问的变量中的排布

从图中可见,对于DWord的32个bit位,从右往左依次是X0——>X31。


详细信息可点击阅读原文进行了解。

图片

然后,我们再看一下标准地址的存储顺序,例如MD0,由字节MB0~MB3组成,MB0为最高字节,MB3为最低字节,这是西门子专有的存储方式:“高位低存”(也许,这种存储方式突然就颠覆了您之前的认识!)。


MB0在最左侧,M0.7最高位,往右顺序排列为M0.6……M0.0。
MD0中各bit位的排列顺序如下,M0.7为最高位,M3.0为最低位。
如图4:

图片

图4.bit位在标准地址访问中的排布

通过上述的对应分析,不难看出,优化变量中的X0和X10位,传送到MD0时,应该是M3.0和M2.2。


并且,在监控表中将MD0的32个bit全部展开监视,也验证了这个结果。
如图5:

图片

图5.监视MD0的32个bit位

图片

通过分析可见,标准地址和优化DB存储的bit顺序是有区别的,当使用片段访问时,一定要注意这个规则,小小的片段访问也有大大的智慧啊!

核心提示:华南西门子总代理,华中西门子总代理,华东西门子总代理,华北西门子总代理,西北西门子总代理
 
反对 0举报 0 收藏 0 打赏 0评论 0
 
同类新闻
  • 联系人:董海波
  • 电话:13510737515
  • 地址:惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房(仅限办公)
  • 邮件:857835895@qq.com
  • 手机:13185520415
我们的产品